411 REFERENCE · Wikibooks
Software Engineers Handbook/Life Cycle/Development Methodologies/Traditional Waterfall
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
When 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:
Requirements Allocation
Preliminary Design (AKA Top Level Design or Architecture)
Detailed design
Code and Unit Test
Integration and Integration test
Scope:
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
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)
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
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.
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.