Professional Documents
Culture Documents
Assignment II Software Development Life Cycles Suriyah
Assignment II Software Development Life Cycles Suriyah
SOFTWARE DEVELOPMENT
LIFE CYCLES
SURIYAH M
Roll no: 2009263008
I M.E., C.S.E (SPLN IN
KE&CL)
WATERFALL MODEL
This model was put forth by Winston W. Royce in the year 1970.
This is an activity centered model. It involves sequential phases with no iteration. Each
phase in this model is complete only after documentation. Also the end product of each phase
has to be approved by the Software Quality Assurance group. This end product is used as an
input to the next phase. The goal of this model is to never go back to a phase which has been
completed. There is no separate testing phase in this model. Nor it is done at the end of each
phase. Testing is carried out implicitly in each phase.
Strengths :
• Sequential flow of events.
• Easy to follow and understand.
Weaknesses :
• Rigid to changes and evolutions.
• Does not support software reuse.
• Extensive documentation.
• Takes much time to complete.
• As it does not support iterations it is quite infeasible to use in practical situations.
BOEHM'S SPIRAL MODEL
This methodology was introduced by Barry Boehm in 1988. It combines the positives of the waterfall
model and the prototyping model.
All the activities of the waterfall model are organised as four cycles. Each cycle has four phases. They are
• Determination of objectives, alternatives and constraints.
• Evaluation of alternatives, risks identification and resolution.
• Development and verification of current cycle.
• Planning the next cycle.
In each iteration the radial dimensions represent cumulative cost to date and the angular dimensions
represent progress through the spiral.
This model supports prototyping. A proof of concept prototype is created. It is not a rapid prototype but
more of an engineering prototype to test the feasibility.
Strengths :
• This model emphasizes the reuse of software.
• Enhanced quality of the end product.
• Eliminates the risk of too much or too less testing.
Weaknesses :
• This methodology is much suited for software development for in house needs than to contract
software.
• Suitable for large scale softwares only.
V MODEL
This model is also a refinement of the waterfall model. It is an activity centered sequential model
with each phase being mapped to tests after completion. Each activity has to be completed before
moving to the next activity. The mapping of each activity to tests ensures the dependence between
development and verification.
Strengths :
• Shows exactly in which stage the system is not fulfilling the intended action.
• The design is very high in quality as the end products of each activity are tested and
coding is pushed to the final stages of software development.
• Simple to understand.
Weaknesses :
• The tests can just point out where the problem is.
• Does not deal with iterations.
• Does not support software reuse.
SAWTOOTH MODEL
This model is an extension of the V model. It is a union of V model and prototyping.
Prototypes are created and shown to the client for validation after the analysis phase and in
between the design and implementation phase. These prototypes play the role of checkpoints to
monitor whether the software development is going on in the intended direction.
CLIENT
SIDE
DEVELOPER
SIDE
Strengths :
• As the client is involved in the development process, the probability of success of the
project is high.
• The prototype ensures software reuse.
Weaknesses :
• The cost involved is high since the prototypes have to be presented to the client after
specific stages.
• The time consumption is also a critical factor here for the same reason as the former
weakness.
SHARKTOOTH MODEL
The sharktooth model is a detailed version of the sawtooth model. It takes the manager
also into account. It has some activities added to the sawtooth model by presenting some
abstraction to the manager also.
CLIENT SIDE
MANAGER SIDE
DEVELOPER SIDE
It has to be seen that the strengths and weaknesses of both the sawtooth and sharktooth models
are the same.
Strengths :
• As the client is involved in the development process, the probability of success of the
project is high.
• The prototype ensures software reuse.
Weaknesses :
• The cost involved is high since the prototypes have to be presented to the client after
specific stages.
• The time consumption is also a critical factor here for the same reason as the former
weakness.