SE U1 process models
SE U1 process models
The Waterfall Model was first and oldest process model to be introduced. It is also
referred to as a linear-sequential life cycle model or Classic Life Cycle Model.
This begins with communication followed by planning, modeling, construction and
deployment.
Once the requirements are specified in the communication phase, changes cannot be
made. There by, the Product definition is stable.
Each phase must be completed fully before the next phase can begin. So there will be no
overlapping between the phases
Preferable for Small Projects.
Example: Any step by step process
.
Disadvantages of waterfall model:
No working software is produced until late during the life cycle.
High amounts of risk and uncertainty.
Not a good model for complex and object-oriented projects.
Poor model for long and ongoing projects.
Not suitable for the projects where requirements are at a moderate to high risk of changing.
Linear nature of Waterfall model “blocking states”- some team members must wait for other
members to complete dependent tasks.
INCREMENTAL PROCESS MODEL
THE INCREMENTAL MODEL
Combines the elements of waterfall model in an iterative fashion.
Multiple development cycles take place here, making the life cycle a “multi-waterfall”
cycle.
Each increment passes through the communication, planning, modeling, construction and
deployment.
The first increment is called core product which describes the basic requirements but the
supplementary features remain undelivered.
Customer may respond at each increment. The core product is used by the customer and
based on reviews of core product; the plan for the next increment is developed.
Each increment adds function to the previous release. The process continues till the
complete system is achieved.
Advantages of Incremental model:
Generates working software quickly and early during the software life cycle.
This model is more flexible – less costly to change scope and requirements.
It is easier to test and debug during a smaller iteration (small change).
Lowers initial delivery cost.
Disadvantages of Incremental model:
Needs good planning and design.
Needs a clear and complete definition of the whole system before it can be broken down and
built incrementally.
Total cost is higher than waterfall.
When to use the Incremental model:
Major requirements must be defined; however, some details can evolve with time.
When there is a need to get a product early into the market.
Resources with needed skill set are not available
There are some high risk features and goals.
Examples: iPhone, windows
THE RAD MODEL
Rapid Application Development model is a type of incremental model.
In RAD model the components or functions are developed in parallel as if they were mini
projects.
The developments are time boxed, delivered and then assembled into a working prototype.
This can quickly give the customer something to see and use and to provide feedback
regarding the delivery and their requirements.
The phases in the rapid application development (RAD) model are:
1. Communication: Understand the business problem or requirements
2. Planning: It is very essential because multiple software teams work in parallel on
different system functions.
3. Modeling: There are 3 major phases
Business modeling: The information flow is identified between various business
functions.
Data modeling: Information gathered from business modeling is used to define
data objects that are needed for the business.
Process modeling: Data objects defined in data modeling are converted to
achieve the business information flow to achieve some specific business
objective. Description are identified and created for CRUD of data objects.
4. Construction: Reusability of components and automatic code generation, testing.
5. Deployment: Integration, delivery, feedback.
none
rep resent s t he st at e
Under o f a so f t ware eng ineering
act ivit y o r t ask
development
A wait ing
changes
Under review
Under
revision
Baselined
Done
The modeling activity is in NONE state while the initial communication was completed.
Now the software is into UNDER DEVELOPMENT STATE.
1. If the customer indicates that the changes must be made then the software is into
AWAITING CHANGES UNDER REVISION UNDER REVIEW
BASELINED DONE.
2. If no changes to be made then the software is into UNDER REVIEW DONE
AWAITING CHANGES (If the customer wants to make the changes after the
development of the software).