Submitted by:
Abdul Malik
Submitted to:
Sir Syed Saqib
Program:
BCs(4rd)
Roll no#:
07th
Date:
02/05/015
Assignment:
Software Engineering
QUSIT DI Khan Campus
Spiral Model :-
The spiral model is similar to the incremental model, with more emphasis placed on risk
analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and
Evaluation. A software project repeatedly passes through these phases in iterations
(called Spirals in this model). The baseline spiral, starting in the planning phase,
requirements are gathered and risk is assessed. Each subsequent spirals builds on the
baseline spiral.
Planning Phase:
Requirements are gathered during the planning phase. Requirements like ‘BRS’ that is
‘Bussiness Requirement Specifications’ and ‘SRS’ that is ‘System Requirement
specifications’.
Risk Analysis:
In the risk analysis phase, a process is undertaken to identify risk and alternate
solutions. A prototype is produced at the end of the risk analysis phase. If any risk is
found during the risk analysis then alternate solutions are suggested and implemented.
Engineering Phase:
In this phase software is developed, along with testing at the end of the phase. Hence in
this phase the development and testing is done.
Evaluation phase:
This phase allows the customer to evaluate the output of the project to date before the
project continues to the next spiral.
Diagram of Spiral model:
Advantages of Spiral model:
High amount of risk analysis hence, avoidance of Risk is enhanced.
Good for large and mission-critical projects.
Strong approval and documentation control.
Additional Functionality can be added at a later date.
Software is produced early in the software cycle.
Disadvantages of Spiral model:
Can be a costly model to use.
Risk analysis requires highly specific expertise.
Project’s success is highly dependent on the risk analysis phase.
Doesn’t work well for smaller projects
.
When to use Spiral model:
When costs and risk evaluation is important
For medium to high-risk projects
Long-term project commitment unwise because of potential changes to economic
priorities
Users are unsure of their needs
Requirements are complex
New product line
Significant changes are expected (research and exploration)
Water Fall Model:-
The Waterfall Model was first Process Model to be introduced. It is also referred to as
a linear-sequential life cycle model. It is very simple to understand and use. In a
waterfall model, each phase must be completed fully before the next phase can begin.
This type of model is basically used for the for the project which is small and there are
no uncertain requirements. At the end of each phase, a review takes place to determine
if the project is on the right path and whether or not to continue or discard the project. In
this model the testing starts only after the development is complete. In waterfall model
phases do not overlap.
Diagram of Waterfall-model:
Advantages of waterfall model:
This model is simple and easy to understand and use.
It is easy to manage due to the rigidity of the model – each phase has specific
deliverables and a review process.
In this model phases are processed and completed one at a time. Phases do not
overlap.
Waterfall model works well for smaller projects where requirements are very well
understood.
Disadvantages of waterfall model:
Once an application is in the testing stage, it is very difficult to go back and change
something that was not well-thought out in the concept stage.
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.
When to use the waterfall model:
This model is used only when the requirements are very well known, clear and fixed.
Product definition is stable.
Technology is understood.
There are no ambiguous requirements
Ample resources with required expertise are available freely
The project is short.
Very less customer enter action is involved during the development of the product.
Once the product is ready then only it can be demoed to the end users. Once the
product is developed and if any failure occurs then the cost of fixing such issues are
very high, because we need to update everywhere from document till the logic.
Comparison between spiral model and water fall model?
Spiral model:
Spiral life cycle mode is one of the most flexible SDLC models in place, development
phases can be determined by the project Manager, according to the complexity of
project.
Project monitoring is very easy to and effective, each phase as well as each loop,
requires a review from concerned people, this makes the model more transparent.
Risk management is one of in built feature of the model which makes it extra
attractive compared to other models.
Change can be introduce later in the life cycle as well, and coping with these
changes is not a very big headache for the project manager.
Project estimate in term of schedule, cost etc become more and more realistic as the
project move forward and loops in spiral get completed.
Water fall model
1. This model is simple and easy to understand me use.
2. It is easy to mange due to the rigidity of the model each phase has
specific deliverable and a review process.
3. In this model phases are processed and completed one at a time. Phase
do not overlap
4. Waterfall model work well for smaller project where requirement are very
well understood
5. Being a linear model it is very simple to implement. The amount of
resource required to implement this model are minimal