1 8/27/2018
Outline
Definition of Process Model
Generic Process Model
Process Flow
Process Model
2 8/27/2018
What SW Model Process?
Software Model Process is an abstract
representation of a software process.
Software Model Process provide a useful roadmap
for software engineering work
All software models can accommodate the generic
framework activity (fundamental activity) in SE,
but each applies different emphasis to these
activities and defines workflow that invokes each
framework activity in different manner
3 8/27/2018
Generic Process Model
Consists of 5 general activities in software development :
Communication
Planning
Modeling
Construction
Deployment.
4 8/27/2018
Process Flow
Linear Process Model
5 8/27/2018
Linear Process Flow
System/Information
Engineering
6 8/27/2018
Iterative Process Flow
Deployment Planning
Construction Modelling
Software Process Model
1. Waterfall Model
2. V Shapes Model
3. Incremental Model
4. Evolutionary Model
a. Prototyping Model
b. Spiral Model
5. Component Based Development
6. The Unified Process
9 8/27/2018
The Waterfall Model
The Oldest paradigm (process model), sometime
called the Classic life cycle
The Principle Stage are
– Requirement analysis and definition
– System and SW design
– Implementation and unit testing
– Integration and system testing
– Operation and maintenance
10 8/27/2018
The Waterfall Model (cont’)
11 8/27/2018
The Waterfall Model (cont’)
The following phase should not start until the
previous phase has finished
– In practice, the stage could overlap
12 8/27/2018
The Waterfall Model (cont’)
Advantages
Simple and easy to 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.
13 8/27/2018
The Waterfall Model (cont’)
Disadvantages
14 8/27/2018
V Shapes Model
The V-Shaped life cycle is a sequential path of
execution of processes
Testing is emphasized in this model in every
stages
15 8/27/2018
V Shapes Model (Cont’)
16 8/27/2018
V Shapes Model (Cont’)
Advantages
Simple and easy to use.
Higher chance of success over the waterfall model due to the development of test
plans early on during the life cycle.
Works well for small projects where requirements are easily understood.
Disadvantages
Very rigid, like the waterfall model.
Model doesn‘t provide a clear path for problems found during testing phases.
17 8/27/2018
The Incremental Model
Combines elements of the waterfall model applied
in an iterative fashion
Applies linear sequences in a staggered fashion as
calendar time progresses
Each linear sequence produces deliverables
‗increments‘ of the software.
When an incremental model is used, the first
increment is often a core product.
18 8/27/2018
The Incremental Model (Cont’)
19 8/27/2018
The Incremental Model (Cont’)
Advantages
It is easier to get customer feedback on the development work that has been done.
More rapid delivery and deployment of useful software to the customer is possible, even if all of the
functionality has not been included.
Easier to manage risk because risky pieces are identified and handled during its iteration.
Disadvantages
The process is not visible. Managers need regular deliverables to measure progress. If systems are developed
quickly, it is not cost-effective to produce documents that reflect every version of the system.
Problems may arise pertaining to system architecture because not all requirements are gathered up front for
the entire software life cycle.
20 8/27/2018
Evolutionary Model
Business and product requirement often change as
development proceed
21 8/27/2018
Evolutionary Model : Prototyping
Customer defines a set of general objectives for
software but doesn‘t identify the detail
Assist the software engineer and the customer to
better understand what is to be built when
requirement are fuzzy
22 8/27/2018
Evolutionary Model : Prototyping (Cont’)
Qu ick p lan
Mo d e lin g
Qu ick d e sig n
Deployment
De live r y
& Fe e dback Const r uct ion
of
pr ot ot ype
23 8/27/2018
Evolutionary Models: The Spiral
Proposed by Boehm
24 8/27/2018
Evolutionary Models: The Spiral (Cont’)
planning
estimation
scheduling
risk analysis
communication
modeling
analysis
design
start
deployment
construction
delivery
code
feedback test
25 8/27/2018
Evolutionary Models: The Spiral(Cont’)
Advantages
Disadvantages
26 8/27/2018
Component – based development
development—the process to apply when reuse is
a development objective
The model composes applications from
prepackage software components
Components can be designed as either
conventional software module or OO classes or
Package of classes.
27 8/27/2018
Component – based development
28 8/27/2018
Component – based development (Step)
29 8/27/2018
The Unified Process
a ―use-case driven, architecture-centric, iterative
and incremental‖ software process closely aligned
with the Unified Modeling Language (UML)
Detail Discussion in OOT
30 8/27/2018
The Unified Process (Cont’)
31 8/27/2018
The Unified Process (Cont’)
32 8/27/2018
References
Roger S. Pressman. Software Engineering, 8th
edition. 2014
Ian Sommerville. Software Engineering, 9th
edition. 2011.
33 8/27/2018
THANK YOU