Software Engineering-L2
Software Engineering-L2
7
Software Engineering - Lecture2
Software Lifecycle:
Each software product proceeds to a number of distinct stages, these are:
Requirements engineering
Software design
Software construction
Validation and verification
Software testing
Software deployment
Software maintenance
Depending the software process used for the development of the software product,
these stages may occur in different orders, or frequency.
8
Software Engineering - Lecture2
The waterfall model, sometimes called the classic life cycle, suggests a
systematic, sequential approach to software development that begins with customer
specification of requirements and progresses through planning, modeling,
construction, and deployment, culminating in ongoing support of the completed
software.
the whole process of software development is divided into separate process phases,
these are:
1) Requirement Specifications (analysis and definition).
2) Software Design.
3) Implementation.
4) Testing.
5) Maintenance.
All these phases are cascaded to each other so that second phase is started as and when
defined set of goals are achieved for first phase and it is signed off, so the name
"Waterfall Model".
1. Requirement Analysis & Definition: All possible requirements of the system to
be developed are captured in this phase. Requirements are set of functionalities
and constraints that the end-user (who will be using the system) expects from the
system. The requirements are gathered from the end-user by consultation, these
requirements are analyzed for their validity and the possibility of incorporating
the requirements in the system to be development is also studied. Finally, a
Requirement Specification document is created which serves the purpose of
guideline for the next phase of the model.
2. System & Software Design: Before a starting for actual coding, it is highly
important to understand what we are going to create and what it should look like?
The requirement specifications from first phase are studied in this phase and
system design is prepared. System Design helps in specifying hardware and
9
Software Engineering - Lecture2
2. The problems with one phase are never solved completely during that phase and
in fact many problems regarding a particular phase arise after the phase is
signed off, this results in badly structured system as not all the problems (related
to a phase) are solved during the same phase.
3. The project is not partitioned in phases in flexible way.
4. As the requirements of the customer goes on getting added to the list, not all the
requirements are fulfilled, this results in development of almost unusable
system. These requirements are then met in newer version of the system; this
increases the cost of system development. Figure (1.5) shows the flow diagram
of the waterfall model.
11