Software Engineers Handbook/Life Cycle/Development Methodologies/Traditional Waterfall
< Software Engineers Handbook < Life Cycle < Development MethodologiesWhen it was first created, the Waterfall Model of Software Development presumed that writing software is a linear process, with clearly defined phases. Many experts have come to realize that this is not true in all cases. However, Waterfall is always useful as a checklist, even if it is not followed in a linear, rigorous fashion. A summary follows.
Phases:
1.Requirements Allocation
2.Preliminary Design (AKA Top Level Design or Architecture)
3.Detailed design
4.Code and Unit Test
5.Integration and Integration test
I.Requirements
- Capabilities ā what the software does
- Human interface ā all screens and messages defined
- All interfaces to external hardware and software identified
- Size and timing requirements
II.Preliminary Design
- Structure diagram
- Functional flow diagrams
- All major function prototypes defined and comments for functions written
- All major data structures and data bases defined
- Header files defined
- Sizing and timing estimates (may be deferred to detailed design)
III.Detailed Design
- PDL C Program design language (or pseudo code) written. Rule of thumb: 1 line of pseudo code = 3 to 10 lines of āCā code (approximately).
- Better sizing and timing estimates
IV.Code And Unit Test
- Convert PDL to code
- Design unit test plan and test code. Test Drivers, test stubs, and any special requirements defined (e.g., special test hardware configurations, test software, lab equipment, etc.).
- Better sizing and timing estimates
- Metrics, test coverage tool results, etc.
V.Integration and Integration Test
- Design integration test plan and test code
- Run code on target system and debug
- Take sizing and timing measurements and ensure that you are meeting requirements.
- Line count - Total lines of text, and lines of code.
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.