Lecture 5 SW
Lecture 5 SW
Software Models
Evolutionary Models
• You need a process model that has been explicitly designed to accommodate a product
that evolved over time.
• It is iterative that enables you to develop increasingly more complete version of the
software.
2
Evolutionary Models: Prototyping
• When to use: Customer defines a set of general objectives but does not
identify detailed requirements for functions and features. Or Developer
may be unsure of the efficiency of an algorithm. Q u ick p lan
Quick
Com m u n ication
plan
communication
• What step: Begins with communication by meeting with stakeholders to
define the objective, identify whatever requirements are known, outline Mo d e lin g
Modeling
Q u ick d e sig n
areas where further definition is mandatory. A quick plan for prototyping Quick design
and modeling (quick design) occur. Quick design focuses on a
representation of those aspects the software that will be visible to end
users. ( interface and output). Design leads to the construction of a
prototype which will be deployed and evaluated. Stakeholderʼs comments
.
will be used to refine requirements Deployment
Deployment
De live ry
delivery &
& Fe e dback Con stru ction
feedback Construction
of
of prototype
prototype
3
Evolutionary Models: The Spiral
• It couples the iterative nature of prototyping with the controlled and systematic aspects of
the waterfall model
• Two main distinguishing features: one is cyclic approach for incrementally growing a systemʼs
degree of definition and implementation while decreasing its degree of risk. The other is a
set of anchor point milestones for ensuring stakeholder commitment to feasible and
mutually satisfactory system solutions.
• The first circuit in the clockwise direction might result in the product specification;
subsequent passes around the spiral might be used to develop a prototype and then
progressively more sophisticated versions of the software. Each pass results in adjustments
to the project plan. Cost and schedule are adjusted based on feedback. Also, the number of
iterations will be adjusted by project manager.
• Good to develop large-scale system as software. Prototyping is used to reduce risk.
4
Evolutionary Models: The Spiral
planning
estimation
scheduling
The Spiral Model is the most flexible risk analysis
5
When to use spiral model
6
Comparison of Evolutionary models
communication Mo d e lin g
Modeling
Q u ick d e sig n
Quick design
modeling
analysis
design
start
Deployment
Deployment
De live ry
delivery &
& Fe e dback Con stru ction
feedback Construction
of
of prototype
prototype
deployment
construction
delivery code
feedback test
7
omparison of Evolutionary models
• In the Prototype model we build a prototype is then we test it and then refined as per customer
needs. so sometimes an initial version is released after first iteration . We use it often when the
customers do not know the exact project. prototype is achieved which forms the basis for
developing the final product.
• However Spiral model is a risk-driven software development model and is made with features of
incremental, we keep enhancing the product for two three sprints or until it is ready for showoff
• This model is usually used when a continuous risk assessment is required and When the project
is huge. When the project is huge project requirements are complex and require continuous
clarification.
• In such a situation software also requires significant changes. So basically we use spiral model
when we have is too much time to collect and analyze end-user experience.
8
Concerns on Evolutionary Processes
9
Agile Software Development
• It’s a division of tasks into short phases of work and frequent reassessment
and adaptation of plans
10
Agile Software Development
Customer Interaction, collaboration and frequent meetings is the backbone of Agile
methodology. Open communication with minimum documentation are the typical features of
Agile development environment.
11
Agile methodology attributes
• The agile process requires teams who focus on the project to meet project
commitments. If team members have multiple projects, it is difficult to make
spare capacity available to help complete the sprint.
• Due to the iterative nature of agile development, multiple rounds of testing for a
project are often needed. Works best for small and medium projects.
12
Unified Process (UP)
• The Unified Process (UP) is a use-case-driven process
1. Inception
2. Elaboration(milestone)
3. Construction(release)
4. Transition(final production release)
13
14
15
17
Unified Process (UP)
18
Questions; Select the best answer
Q01: What is the work product when we use software process models
to design a project
19
Q02: In an evolutionary process flow of Software development each
circuit leads to
20
Q03: Major problems of waterfall model are
21
Q04: Which of the following is the last phase of Unified Process model
A. Inception
B. Transition
C. Elaboration
D. Construction.
22
Q05: Which of the following is an umbrella activity
A. Communication
B. Technical reviews
C. Requirement gathering
D. All of the above
23