The waterfall model segments the software development process into sequential phases: planning, requirements definition, design, implementation, system testing, and maintenance. Each phase has defined inputs, processes, and outputs. The planning phase involves understanding the problem, feasibility studies, and developing a solution. Requirements definition produces a specification describing the required software functions and constraints. Design identifies software components and their relationships. Implementation translates the design into code. System testing integrates and accepts the software. Maintenance modifies the software after release. While the phases are linear, the development process is not always perfectly sequential.
2. Segments the software life cycles in to series
of successive activities.
Each phase requires
Well defined input information
Well defined processes
Well defined products
Resources are needed for each phase
Each phase utilizes explicit methods, tools
and techniques
4. Consist of two phases
▪ Planning
▪ Requirements Definition
Activities of Planning
▪ Understanding the Problem
▪ Perform a feasibility study
▪ Developing a solution
▪ Determine acceptance criteria
▪ Planning the development process
5. Products
▪ System definition
▪ Project plan
System definition
▪ Expressed in English or in any natural language
▪ May use charts, figures, graphs, tables and equations
▪ Notations used depend upon the problem
Project plan
▪ Life cycle model to be used
▪ Organizational structure
6. ▪ Preliminary development schedule
▪ Preliminary cost schedule
▪ Preliminary resource schedule
▪ Preliminary staffing schedule
▪ Tools and techniques used
Time and cost are basically calculated
because it is not possible to estimate exactly
without doing basic design.
7. PreliminaryCost Estimate – Planning Stage
Refined Cost Estimate – Preliminary Design
Review
FinalCost Estimate – Critical Design Review
Requirements Definition
It includes basic functions of software
components in hardware, software, and people
subsystem.
8. The product of requirements definition
The product of requirements definition is a
specification that describes
▪ The processing environment
▪ The required software functions.
▪ Performance constraints on the software.
▪ Exception handling
▪ Acceptance criteria
9. Design phase:
In the phased model, software design follows analysis
Design phase identified software components
1. Functions.
2. Data streams
3. Data stores
It specifies relationship among components.
It specifies software structures.
Maintains a record of design decision.
Blueprint for the implementation phase.
10. Design phase consist of
1. Architectural design
2. Detailed design
Architectural design:
It involves identifying the software components
dividing them into software modules and
conceptual data structures, specifying
interconnection among components.
11. Detailed design
It is concerned with the details of “how to”
▪ Package the processing modules.
▪ Implement the processing, algorithm, data structures
and interconnection among modules.
12. Implementation phase:
It involves translation of design specification into
source code and debugging, documentation and
unit testing of source code.
Errors:
Implementation phase may include errors in
routines, functions, logical errors,and algorithm,
errors in data structure layout.
13. System testing:
It involves 2 kinds of activities
▪ 1. Integration testing
▪ 2. Acceptance testing
Integration testing:
Developing a strategy for integrating the software
components into a function requires careful
planning so that modules are available for
integration when needed.
14. Acceptance testing:
It involves planning an execution of various type
of test that software system satisfied
requirements documents.
After getting the acceptance from the customer
software system of released for production work
and maintenance phase.
15. Maintenance Phase:
It Includes
▪ the enhancement of capabilities.
▪ Adaptation of software to new processing environment.
▪ correction of software bugs.
16. Phases are Linear
Development Process is not Linear
Development activities never proceed as in
water fall chart
Only possible when it is possible to specify
everything at the beginning itself
Suitable for developers who developed
similar systems