Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Definition
The Waterfall Model assumes that distinct phases of
development of a whole system exist for analysis,
preliminary design, detailed design, coding and unit test,
and system test.
Documentation produced at the end of each phase
provides the basis for work performed in the next phase of
development.
In the Waterfall Model, characterized by a single build of
software (one increment), the software development effort
must return to previous phases of development to fix
misunderstood or unstated requirements, design flaws,
and logical coding errors discovered in later phases of the
model.
Guidelines for selection
1 All capabilities are needed for first delivery
2 Risk of delivery is minimal
3 Requirements are complete, stable, and well understood
4 Technology is well understood
5 This model has its peak loading during the midpoint of the
development activity (the design and coding phase).
6 All funding and staffing are available at the beginning
Waterfall Model
System
Requirements
Analysis
System
Design
Software
Requirements
Analysis
Preliminary
Design
Detailed
Design
Coding and
Unit Test
Integration
and Testing
Formal
Qualification
Testing
10718234.xls Page
Syntel CQA Forum Life Cycle Models CQA Doc No 12
Definition
The Spiral Model adds risk analysis and prototyping
activities at the beginning of each phase defined in the
Waterfall Model to address the perceived risk areas of a
project
The Spiral Model focuses on significant areas of risk,
studies alternative solutions, and develops prototypes and
simulations to explore the strengths and weaknesses of
candidate solutions.
Some implementations of the Spiral Model suggest
incremental development of a system by completing its
component parts in sequence.
Guidelines for Selection
1 Applicable to high-risk programs where prototyping will be used to minimize risk
2 Requirements incomplete, unstable
3 Lack of DemVal Program
4 Applicable to large-scale projects
5 This model has relatively flat loading during the development activities.
Spiral Model
Determine
Objectives, Evaluate Alternatives,
Identify, Resolve Risks
Alternatives,
Constraints
Risk Analysis
Risk Analysis
Risk Analysis
Operational
Prototype
Risk Prototype 3
Analysis
Prototype 2
Commitment Prototype 1
Review
Partition Requirements Plan Simulations, Models, Benchmarks
Life-cycle Plan Concept of
Operation Softw are
Requirements Detailed Design
Softw are
Development
Requirements Product Unit
Plan Code
Validation Design Test
Integration Integration
& Test Plan Design Validation
And Verification & Test
Acceptance
Test
Implementation
Definition
The Rapid Prototyping Model is designed to develop a
complete, unambiguous set of requirements early in the
analysis phase of the lifecycle by conducting frequent
reviews of a functional prototype by customers and users
during the analysis phase.
This approach hopes to avoid delaying the detection of
analysis and design problems to the integration and test
phase of development, where they are more expensive to
fix.
The developers create a prototype that exhibits their
understanding of customer requirements. The customers
and users review the prototype for conformance to their
view of how the system should operate. The prototype is
evolved until it becomes a dynamic operational
specification of the actual requirements.
Guidelines for Selection
1 This model has the highest loading early in the
development cycle, since it involves very intense customer
involvement during the early phases of development with
correspondingly low levels of activity during test and
integration.
2 Lack of DemVal program
3 Customer doesn’t fully understand requirements
Rapid Prototyping Model
Planning Analysis Prototyping Prelim. Detailed Tuning Test
Phases Design Design
Software
Specification
Review
Baselines Allocated Product
Baseline Baseline
10718234.xls Page
Syntel CQA Forum Life Cycle Models CQA Doc No 12
Definition
The Incremental Model determines user needs and
defines the system requirements, then performs the rest of
the development in a sequence of builds.
The first build incorporates a subset of the system’s
planned capabilities; the next build adds more capabilities,
and so on, until the system is complete. This model allows
early delivery of functions to the customer as development
continues on other functions.
Guidelines for Selection
1 Early capability is needed, and not all capabilities are needed at first delivery
2 Requirements are well understood, and complete at the beginning of the program
3 Requirements are stable
4 System functionality breaks naturally into increments
5 Funding and staffing are not all available at beginning
6 This model has its peak loading early in the development cycle
Incremental Model
CSCI Build-1
Requirements
Analysis
System Preliminary
Requirements Design Detail
Analysis Design Software
Implementation
Software
CSCI Build-2 Integration
Software
System Preliminary Qualification
Design Design Detail Test
Design Software
Implementation
Software
CSCI Build-n Integration
Software Release to
Preliminary Qualification
Test
Customer
Design Detail
Design Software
Implementation
Software
Integration
Software
Qualification
Test
Definition
The Evolutionary Model, like the Incremental Model,
develops the system in builds, but differs from the
Incremental Model in acknowledging that the user need (or
some other aspect affecting the generation of system
requirements) is not fully understood and that all
requirements cannot be defined early in the development
cycle.
The system design may be evolving in parallel with the
software activities. In each build, new software
requirements are defined and the existing requirements
are refined. Rapid Prototyping may be used as an early
build with this method.
Guidelines for Selection
1 Early capability is needed
2 Not all capabilities are needed for first delivery
3 Not all requirements can be developed at once
4 Requirements are expected to change
5 User feedback of initial capability is needed to develop requirements
6 Technology development is needed to develop requirements
7 System functionality breaks naturally into increments
8 Funding and staffing are not all available at the beginning of the project
9 Prototyping is needed
10 This model has relatively flat loading during the development activities
Evolutionary Model
CSCI 1-Build 1
System Requirement
Requirements Analysis
Analysis Preliminary
Design
Detailed
Design
CSCI 1-Build 2 Software
Implementation
System Requirement & Integration Formal
Design Analysis
Qualification
Preliminary
Test
Design
Detailed
Design
CSCI 1-Build n Software
Requirement Implementation
Subsystem/
Analysis & Integration
Formal Element/
Preliminary Qualification
Design Segment
Test
Integration
Detailed
Design
Software
Implementation
& Integration
Formal
Qualification
Test
Evolutionary Page
Syntel CQA Forum Life Cycle Models Page
4. This method
allows the
identification of
all types of
objectives and
constraints
during each
round of the
spiral
5. This model
features flexible
management of
the software
lifecycle by
accommodating
a mix of software
development
methodologies
(e.g., structured
analysis, object
oriented,
prototyping, etc.)
6. The
opportunity to
evaluate
progress at each
phase of the
development
process is
provided by
assessing risk
and planning for
the next phase
7. Each round
provides the
opportunity to
use simulations,
system models,
or prototypes to
evaluate system
concepts,
software
requirements,
and software
architectures.
This feature
accommodates
the evolutionary
prototyping
software
lifecycle model
and allows
simulation and
software
modeling tools to
be integrated
into the
development
Evolutionary
1. The
Evolutionary
Model shows
early
capability.
2. This
strategy
anticipates
changes to
the system or
changes
because user
feedback and
monitoring
are necessary
to understand
the full
requirements.
3. This
strategy
models
situations
where the
system breaks
naturally into
increments
4. This model
is appropriate
when the
system is too
large to do all
at once, or
when funding
or staffing will
be
incremental.
5. This model
is able to
utilize a Rapid
Prototyping
capability
effectively.
6. This
strategy
handles
anticipated
changes to
the system or
changes
because user
feedback and
monitoring is
provided to
understand
the full
requirements.
Disadvantages Page
Syntel CQA Forum Life Cycle Models CQA Doc No 12
Disadvantages Page
Syntel CQA Forum Life Cycle Models CQA Doc No 12
Evolutionary
1. The model is
not appropriate
when the
customer wants
the full
capabilities in
the first delivery.
2. Additional
effort must be
spent to ensure
that the
coordination
between the
builds is well
defined.
3. Each
successive build
is dependent
upon the success
of the previous
build.
Disadvantages Page
Syntel CQA Forum Life Cycle Models CQA Doc No 12
Disadvantages Page