A framework that describes the activities performed at each stage of a software development project. A life-cycle or a software process is the organisational framework for a project A type of SDLC is known as a Development Model. SDLCSDLC
Waterfall Model Specification Design Implementation Validation Maintenance Retirement
3 Advantages This model is simple This model implicitly requires a corresponding verification with each activity This model is best applied to projects whose requirements and implementation are well understood
Waterfall Model Drawbacks sequential nature late tangible product maturity –late feedback to both customer and developer –minimal risk management for both customer and developer late testing maturity
The V-Model Requirements System Design Detailed Design Implementation Acceptance Test Integration Test Module Test
Analysis of the V-Model Improves testing strategies Does not particularly improve: –sequential nature –feedback –developmental risk management
Testing Implementation The Incremental Model Requirements Global System Design Maintenance Detailed design Testing Implementation Detailed design Testing Implementation Detailed design
8 Incremental Model The incremental model uses the waterfall model to develop software systems through incremental releases that provide improved versions of a system at regular intervals User requirements are prioritized and the highest priority requirements are included in early increments
9 Prototyping Model The prototyping model gives more emphasis on the requirement activity of a project This model rapidly builds prototypes that provide a reduced functionality or a limited performance version of the system The prototypes can be used to clarify requirements rapidly
What is Prototyping? A definition (A. Davis) : A prototype is a partial implementation of a system, constructed primarily to enable customer, end-user, or developer to learn about the problem and/or its solution. Types: –evolutionary –throw-away
Decision A Visual Representation of The Throwaway Prototyping Model Requirements specification Some minimal development The prototype Discard prototype not acceptable acceptable Go on with normal system development
A Visual Representation of The Evolutionary Prototyping Model Requirements specification Some initial development Prototype version 1 Some more development Prototype version 2 etc. Continue till prototype is matured
RAD
Formal Methods Formal methods can » Be a foundation for designing safety critical systems » Be a foundation for describing complex systems » Provide support for program development
Formal Specification Languages language having a well defined syntax and semantics which is suitable for describing or specifying a system with mathematical notation non-executable Ex: - Z notation
Component-Based Model Specification Design with reuse Implementation Validation Component analysis Specification modification
The Spiral Model
18 Spiral Model The spiral model combines the features of the previous three models and adds risk assessment as a new feature The risk assessment activity evaluates whether the project should go on or not
19 Phases in Spiral Model Objectives: identify specific objectives and devise alternative approaches Risk assessment: assess risks based on alternatives and decide whether the project goes on or not Development and validation: develop the system Planning: review the system and plan the next phase