Lecture 2 Process Models
Lecture 2 Process Models
Lecture 2 Process Models
Lucknow
Software Engineering
Module 1: Introduction
1
Topics to be covered
– Waterfall Model
– Prototyping Models
• Rapid Throwaway prototypes
• Evolutionary prototype
• Incremental prototype
• Extreme prototype
2
Waterfall Model
3
Waterfall Model
4
Waterfall Model
5
Waterfall Model
• Some of the major advantages of the Waterfall Model
are as follows −
– Simple and easy to understand and use
– Easy to manage due to the rigidity of the model. Each phase
has specific deliverables and a review process.
– Phases are processed and completed one at a time.
– Works well for smaller projects where requirements are very
well understood.
– Clearly defined stages.
– Well understood milestones.
– Easy to arrange tasks.
– Process and results are well documented.
6
Waterfall Model
• The major disadvantages of the Waterfall Model are as
follows −
• No working software is produced until late during the
life cycle.
• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented
projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at
a moderate to high risk of changing. So, risk and
uncertainty is high with this process model.
7
Waterfall Model
8
Prototyping Model
9
Types of Prototyping Models
10
Rapid Throwaway prototypes
11
Evolutionary prototype
12
Evolutionary prototype
13
Evolutionary prototype
14
Evolutionary prototype
16
Incremental prototype
17
Advantages of Incremental model:
18
Disadvantages of Incremental model:
19
When to use the Incremental
model:
20
Extreme Prototyping
• Extreme prototyping method is mostly
used for web development. It consists of
three sequential phases.
1.Basic prototype with all the existing page is
present in the HTML format.
2.You can simulate data process using a
prototype services layer.
3.The services are implemented and
integrated into the final prototype.
21
Extreme Prototyping
22
Extreme Prototyping
• It is an architectural process for developing
applications, especially web applications, in terms of
increasingly functional prototypes.
• At a high level, it breaks down web development into
three distinct phases.
• The first phase is the static prototype, consisting of
HTML pages and possibly a logical data model
supporting those pages.
• The second phase is a coding process in your chosen
web framework whereby the screens are fully
functional using a simulated services layer.
• The third phase is where the services are
implemented.
23
Extreme Prototyping
• Static Prototype phase
– Static Prototype
– Master or background pages
– CSS, JavaScript
– Business rules, use-cases
• Extended Static Prototype phase
– All of the above
– Logical data model to support the screens
24
Extreme Prototyping
• Dynamic prototype (or Extreme Prototype phase)
– UI recoded/adjusted for the chosen web framework
– Working executable code
– Field validations work
– Navigation of screens will work
– Service signatures solidified
– A complete working UI with no implementation
behind
25
Extreme Prototyping
26
The advantages of the Prototyping
Model are as follows −
29