Software Engineering (ESC501) - Prof. Poulami Dutta
Software Engineering (ESC501) - Prof. Poulami Dutta
Explain why and when a prototype needs to be developed during software development.
State the activities carried out during each phase of a spiral model.
– low reliability,
– inefficient performance.
3
Reasons for developing a prototype
4
Prototyping Model (contd.)
5
Prototyping Model (contd.)
– A function may use a table look-up rather than performing the actual computations.
6
Prototyping Model (contd.)
• The developed prototype is submitted to the customer for his evaluation:
7
Prototyping Model (contd.)
Build Prototype
Customer
Requirements Customer satisfied
Evaluation of Design
Gathering Quick Design Prototype
Refine Implement
Requirements
Test
Maintain
8
Prototyping Model (contd.)
– However, the experience gathered from developing the prototype helps a great
deal while developing the actual product.
9
Prototyping Model (contd.)
• Even though construction of a working prototype model involves additional cost --- overall development
cost might be lower for:
– systems with unclear user requirements,
• Many user requirements get properly defined and technical issues get resolved:
– these would have appeared later as change requests and resulted in incurring massive redesign costs.
10
Evolutionary Model
• Evolutionary model (aka successive versions or incremental model):
11
Evolutionary Model (CONT.)
• Successive version of the product:
12
Evolutionary Model (CONT.)
CC
A AB A
B
13
Advantages of Evolutionary Model
14
Disadvantages of Evolutionary Model
15
Evolutionary Model with Iteration
– existing functionality from the current release may also have been modified.
16
Evolutionary Model with iteration
• Several advantages:
17
Spiral Model
Proposed by Boehm in 1988.
There are no fixed phases in this model, the phases shown in the figure are just
examples.
18
Spiral Model (CONT.)
19
Spiral Model
20
Spiral Model
Spiral Model
Spiral Model (CONT.)
First quadrant (Objective Setting)
the phase.
• Steps are taken to reduce the risks. For example, if there is a risk
developed.
Spiral Model (CONT.)
Third Quadrant (Development and Validation)
• Develop and validate the next level of the product after resolving
the identified risks.
25
Objective Setting
Risk:
any adverse circumstance that might hamper successful completion of a software project.
26
Risk Assessment and Reduction
27
Spiral Model (CONT.)
Review the results achieved so far with the customer and plan the next iteration around the spiral.
28
Spiral Model as a meta model
enables understanding and reacting to risks during each iteration along the
spiral.
uses:
29
Comparison of Different Life Cycle Models
Iterative waterfall model
user requirements
technical aspects
30
Comparison of Different Life Cycle Models (CONT.)
31