1. Software development life cycle models break down the development process into distinct phases to manage complexity. Common models include waterfall, incremental, evolutionary (like prototyping and spiral), and component-based.
2. The waterfall model follows linear sequential phases from requirements to maintenance. Incremental models iterate through phases. Evolutionary models use prototypes to evolve requirements through customer feedback.
3. The spiral model is an evolutionary model representing phases as loops in a spiral, with risk assessment and reduction at each phase. It aims to minimize risk through iterative development and prototyping.
1. Life Cycle Models
Saranya.V
AP/CSE,
Sri Vidya College of Engineering & Technology,
Virudhunagar
2. Need for life cycle models
• Software development phase is a complex
task.
• Break down the development process into
phases.
3.
4. Types of life cycle models
Waterfall Model
Incremental Process Models
Incremental Model
Rapid Application Development Model
Evolutionary Process Model
Prototyping Model
Spiral Model
Component-Based Process Model.
5. 1. Waterfall Model- Royce
• Process of software designing consists of linear
set of distinct phases.
6. • Stage 1: Feasibility Study
– Choose desirable system for designing.
• Technical study
• Economic study
• Schedule study
• Operational study
• Motivational study
• Stage 2: Requirement Analysis and Specifications
– Understand the exact requirements of the customer.
– This stage produces a large document containing a description of what
the system will do without describing bow it will be done. This
document is known as “ Software Document Specification” (SRS).
• Stage 3:Design
– Requirement phase to design phase
– To create a basic structure for a given requirement.
– Product design and detailed design procedures should be noted using
SDD ( Software Design Description).
7. • Stage 4: Coding
– Known as Implementation phase.
– SDD is sufficient to begin coding phase.
– Transform design specification into machine readable
form.
– Code generation can be done easily.
– Design is implemented as a program module
– Each module is tested using unit testing.
• Stage 5: Integration and System Testing
– Modules are integrated in a planned way
– After testing the software is delivered to the customer.
8. • Stage 6: Software Maintenance
– Error correction
– Enhancement of capabilities
– Optimization (minima and maxima of a function)
Advantages:
• Smaller projects can be done easily
• Phase completion one at the time.
Disadvantages:
• Difficult for the customer to state all the requirements
explicitly.
• Sequential flow is difficult to follow.
10. 2.1 Incremental Model
• Combination of linear sequential Model with
the iterative philosophy of prototyping.
11. 2.2 Rapid Application Development (RAD)
Model
• Do construction of prototypes.
• Initiate iterative development.
• Merging various structured techniques(data driven information,
etc).
Phases of RAD:
• Business Modeling: regarding business
functionalities like information and process)
• Data Modeling: information collected from
business modeling is refined into a set of data
objects.
– Attributed identified here.
12. • Process Modeling: data objects defined in the
data modeling phase are transformed to
achieve the information flow.
– Adding, modifying, deleting.
• Application Generation: automated tools are
used to facilitate construction of the software
• Testing and Turn Over: Reduce overall testing
time.
13. Advantages:
• Adaptable to changes
• Reduce the project risk
• Use short development cycle so user can see the RAD product
quickly.
• Giving the chance to users to review the product.
Disadvantages:
• Unknown cost of product.
• Not suitable for large scale projects.
• Not appropriate when technical risks are high.
14. 3. Evolutionary Process Model
• Evolutionary model is designed to
accommodate iterative development of a
software product.
• Requirements may change in subsequent
iterations
(But when details are not known, some product,
functionalities and concept should be
delivered)
16. Steps occurs in evolutionary model
• Listening to the customer to understand the
requirements for the software product.
• Engineering, building and modifying the product
based on the customer requirements.
• Allowing the customer to evaluate the product .
Disadvantages:
• Not possible to develop fixed cost estimates
and static schedules due to uncertainty.
17. 3.1 Prototyping Models
• Provides a reduced functionality
Steps to be followed in prototyping model:
• Requirements gathering:
– Developer and customer meet
– Define overall objective
• Quick Design:
– Objects Visible to user
• Building prototype:
– Leads to construction of a prototype.
• Customer evaluation of prototype:
– Prototype is evaluated by the customer.
• Refining prototyping:
– Refine the requirements to develop the software.
• Engineer Product:
– Prototype serves as a mechanism for identify software requirements.
18.
19. Advantages:
• Misunderstanding between developers and
customers can be identified.
• Confusing user services can be identified.
Disadvantages:
• designing a prototype Quick rather than
quality
20. 3.2 Spiral Model
- Dr. Barry Boehm
• Idea of minimizing risk via the use of
prototypes & other means is the concept of
spiral model.
• Spiral model is a sequence of activities with
backtracking.
– Each loop in the spiral represents a phase in the
process.
– Risks are explicitly assessed and resolved
throughout the process.
21. Spiral Model Sectors
• Objective setting
– Identify the specific objective
• Risk assessment and Reduction
– Assess the risk and Reduce the key risk
• Development and Validation
– Choose development models and do validation
• Planning
– The project is reviewed and the next phase of the
spiral is planned.
24. • This model is iterative, starting from the
innermost point and proceeding radialy
outwards.
• Moving outwards on the spiral means moving
towards more complete versions of the sw
product.
• The spiral model is divided into 4 task regions:
• Planning : project plan
• Risk analysis: identify the risk
• Engineering: Required Technical activities
• Customer evaluation :Get feedback
25. Iteration of Spiral Model
• 1st task region (Planning) : estimation of cost,
schedules, get customer feedback for previous
iteration.
• 2th task region (Evaluating) : go or no-go
decisions
• 3th task region (Engineering) : building the
product based on the end product.
• 4th task region (Customer Evaluation) :
Evaluate the end product
26. Advantages:
• Important issues(cost estimation and schedule) are
discovered earlier.
• Best understanding and high quality
• Supports for dynamically changing requirements.
• Changes made in one module will not have any impact on
another module.
Disadvantages:
• Limiting reusability
• Requirements and designs are not tested
• Different for each application
• Budget and schedule risk.
• Route cause analysis is difficult.
27. 4. Component Based Process Model
• Reuse of Components
• Includes:
– Building components
– Storing
– Incorporate with some modifications
28. Identity
candidate
components
Identify suitable
components
Construct nth Modify
Look up
iteration of Reuse
components
system in library
Put new Extract
components components
in library if available
Build
components
if available
29. Computer Based System
• Implemented within the organization for the
purpose of improving the efficiency of the org.
• Identify:
– Characteristics of the organization
Identify the
– Work systems successful
system
– People
– Development methodologies.
30. • Complexity of the system:
– Due to integration technology
– Human activities
• Engineers with detailed understanding both of
the application domain and computer
electronics, software, human factors and
communication are needed to provide a
holistic approach to system development.
31. Model Based Development
• Models are necessary in system engineering.
• Use of models can reduce the number of
errors in the design and thus the system,
reduce engineering effort and preserve
knowledge.
• Maintaining models with up-to-date
knowledge is a major problem as must
systems are not generated from models.