What methods or tools are you familiar with that facilitate requirements elicitation, specification and decomposition?
The best-known and oldest process is the waterfall model, where developers follow these steps in order:
* state requirements
* analyze requirements
* design a solution approach
* architect a software framework for that solution
* develop code
* test (unit tests then system tests)
* deploy, and
* Post Implementation.
After each step is finished, the process proceeds to the next step.
Iterative and Incremental development model
Iterative and Incremental development is a software development process developed in response to the weaknesses of the more traditional waterfall model. The two most well known iterative development frameworks are the:
- Rational Unified Process and
- Dynamic Systems Development Method.
Iterative and incremental development is also an essential part of:
- Extreme Programming and
- All other agile software development frameworks.
The basic idea behind iterative enhancement is to develop a software system incrementally, allowing the developer to take advantage of what was being learned during the development of earlier, incremental, deliverable versions of the system. Learning comes from both the development and use of the system, where possible. Key steps in the process were to start with a simple implementation of a subset of the software requirements and iteratively enhance the evolving sequence of versions until the full system is implemented. At each iteration, design modifications are made and new functional capabilities are added.
The Procedure itself consists of the Initialization step, the Iteration step, and the Project Control List. The initialization step creates a base version of the system. The goal for this initial implementation is to create a product to which the ...