Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Introduction to
Software Eng
Maryam
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
Introduction to Software Engineering
Prototype Process
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
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
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
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
 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
 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
Spiral Model
 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
 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
 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
 Customers evaluate the software and provide their feedback and approval
 Features implemented document
EVALUATION
 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
 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
 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

More Related Content

Introduction to Software Engineering

  • 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