software development life cycle
TRANSCRIPT
Software Development life
cycle
Dushyant singh
Introduction • It specifies the various phases/workflows of the software process, such as the requirements, analysis (specification), design, implementation, and postdelivery maintenance, and the order in which they are to be carried out.
Choosing Appropriate model • Increased development speed • Increased product quality • Improved tracking & control• Improved client relations • Decreased project risk • Decreased project
management overhead
Common life cycle model
• Waterfall• Prototype • Spiral
Waterfall model
Analysis
DesignDevelopment
Testing
VerificationMAINTENANCE
Waterfall plus points
• Easy to understand, easy to use
• Provides structure to inexperienced staff
• Milestones are well understood
• Sets requirements stability
Waterfall weakness• All requirements must be fully
specified upfront • Can give a false impression of
progress• Does not reflect problem-
solving nature of software development – iterations of phases
• Little opportunity for customer to preview the system (until it may be too late)
Prototype model
DesignImplement
TestMaintain
Requirementsgathering
Quick design
Build prototype Refine requirements incorporating
Customer suggestion
Customer evaluationOf prototype
AcceptanceBy
customer
Prototypedevelopm
ent
Iterativedevelopme
nt
Prototype advantages • Provides a working model to the
user early in the process , enabling early assessment and increasing user confidence.
• The developer gains experience and insight by developing a prototype , thereby resulting in better implementation of requirements.
• Helps in reducing risks associated with the project.
Spiral model
Spiral model is an evolutionary software process model which is a combination of an iterative nature of prototyping and systematic aspects of traditional waterfall model.
When Required ?
• When costs and risk evaluation is important.
• For medium to high-risk projects.
• Users are unsure of their needs.• Requirements are complex.• Significant changes are
expected.
pros • Changing requirements can be
accommodated.• Allows for extensive use of
prototypes• Requirements can be captured more
accurately.• Users see the system early.• Development can be divided into
smaller parts and more risky parts can be developed earlier which helps better risk management.
cons• Management is more complex.• End of project may not be known
early.• Not suitable for small or low risk
projects and could be expensive for small projects.
• Process is complex• Spiral may go indefinitely.• Large number of intermediate
stages requires excessive documentation.
Thank you