The document discusses prototypes and the spiral model of software development. It defines a prototype as a working model built to test design aspects. The spiral model combines prototyping and the waterfall model, with software development occurring in iterative loops or spirals of planning, risk analysis, engineering, and evaluation. Each spiral builds upon the previous one with increasing requirements, reduced risks, and additional features developed. The spiral model is useful for large, risky projects where requirements are unclear.
2. PROTOTYPE MODEL
WHAT IS PROTOYPE?
Prototype is the process of quickly putting
together a working model (a prototype) in
order to test various aspects of a design
A Prototype is an early sample or model built
to test a concept or process or to act as a
thing to be replicated or learned from.
A prototype is a model or a program which is
not based on strict planning, but is an early
approximation of the final product or
software system
5. Advantages of Prototype Model
Misunderstandings between software users
and developers are exposed Missing services
may be detected and confusing services may
be identified
A working system is available early in the
process
The prototype may serve as a basis for
deriving a system specification
The system can support user training and
system testing
6. Advantages
Reduces development time.
Reduces development costs.
Requires user involvement.
Missing functionality can be identified
easily
Encourages innovation and flexible
designs
Results in higher user satisfaction
7. Disadvantages
Insufficient analysis:
The focus on a limited prototype can distract developers from properly
analyzing the complete project. This can lead to overlooking better solutions,
preparation of incomplete specifications or the conversion of limited
prototypes into poorly engineered final projects that are hard to maintain.
User confusion of prototype and finished system:
Users can begin to think that a prototype, intended to be thrown away, is
actually a final system that merely needs to be finished or polished. Users can
also become attached to features that were included in a prototype for
consideration and then removed from the specification for a final system.
Developer misunderstanding of user objectives:
Expense of implementing prototyping:
Excessive development time of the prototype
8. PROTOTYPING TECHNIQUES
The three major kinds of prototyping are
“Throw away” prototyping ( “rapid prototyping”)
used exclusively in requirements gathering are built, tested and
thrown away (useful in early stages)
knowledge gained contributes to final system / next prototype can be
expensive
The prototype is used to get the specs right, then discarded!!
Incremental prototyping
not actually prototyping at all, but the delivery of prioritized
functions incrementally to a single, overall design
final system built as separate components which are released
separately and gradually integrated
Evolutionary prototyping
as for incremental prototyping but with evolving design
are not discarded but serve as basis for next iteration of the design
danger of initially bad designs persisting
The prototype eventually becomes the product
9. The spiral model, also known as the spiral lifecycle model.
This model of development combines the features of the prototyping
model and the systems development life cycle (SDLC).
This model of development combines the features of the prototyping
model and the waterfall model.
The spiral model is similar to the incremental model, with more emphasis
placed on risk analysis.
The spiral model has four phases: Planning, Risk Analysis,
Engineering and Evaluation.
Software project repeatedly passes through these four phases in
iterations (called Spirals).
The baseline spiral, starting in the planning phase, requirements are
gathered and risk is assessed. Each subsequent spirals builds on the
baseline spiral.
Spiral Model
10. A software project repeatedly passes through these phases in iterations
(called Spirals in this model). The baseline spiral, starting in the planning
phase, requirements are gathered and risk is assessed.
Each subsequent spiral builds on the baseline spiral. Requirements are
gathered during the planning phase.
In the risk analysis phase, a process is undertaken to identify risk and
alternate solutions. A prototype is produced at the end of the risk analysis
phase.
Software is produced in the engineering phase, along with testing at the
end of the phase. The evaluation phase allows the customer to evaluate
the output of the project to date before the project continues to the next
spiral.
In the spiral model, the angular component represents progress, and the
radius of the spiral represents cost.
Spiral Model
12. Requirements are studied and gathered.
Feasibility study
Reviews and walkthroughs to streamline the requirements
Requirements understanding document
Finalized list of requirements.
The project is reviewed and a decision made whether to continue with a
further loop of the spiral.
If it is decided to continue, plans are drawn up for the next phase of the
project.
Planning
13. Requirements are studied and brain storming sessions are done to identify
the potential risks
Once the risks are identified , risk mitigation strategy is planned and
finalized
Document which highlights all the risks and its mitigation plans
Risk Analysis
14. Actual development and testing if the software takes place in this phase
Code
Test cases and test results
Test summary report and defect report.
ENGINEERING
15. Customers evaluate the software and provide their feedback and approval
Features implemented document
EVALUATION
16. When the project is large.
Where the software needs continuous risk evaluation.
Requirements are a bit complicated and require continuous
clarification.
Software requires significant changes.
Where enough time frame is their to get end user feedback.
Where releases are required to be frequent.
When costs and risk evaluation is important.
For medium to high-risk projects.
Long-term project commitment unwise because of
potential changes to economic priorities.
New product line.
Users are unsure of their needs.
Requirements are complex.
Significant changes are expected (research and
exploration).
WHEN TO USE
17. Development is fast
Larger projects / software are created and handled in a
strategic way
Risk evaluation is proper.
Control towards all the phases of development.
More and more features are added in a systematic way.
Software is produced early.
Has room for customer feedback and the changes are
implemented faster.
Risk reduction mechanisms are in place.
Supports iteration and reflects real-world practices –
Systematic approach
ADVANTAGES
18. Risk analysis is important phase so requires expert people.
Is not beneficial for smaller projects.
Spiral may go infinitely.
Documentation is more as it has intermediate phases.
Complex, relatively difficult to follow strictly.
Applicable only to large systems
It is costly for smaller projects.
DISADVANTAGES