A Generic Process Model: Session - 3
A Generic Process Model: Session - 3
A Generic Process
Model
A Generic Process Model
Software process
Process framework
Umbrella activities
2
Process Flow: How the framework activities, actions,
tasks occur within each framework activity
3
Prescriptive Process
models
Prescriptive Process models
• Waterfall Model.
• Incremental Process Model.
• Evolutionary Process Model.
• Concurrent model
5
Prescriptive Process models
Waterfall Model
• Oldest software lifecycle model & best understood by
upper management
Communication
Software functionality and features
Planning
Modeling (analysis, design)
Construction (code, test)
Deployment ( delivery, feedback)
12
Evolutionary Process Model
1. Prototyping
• It assists you and stakeholders to better understand what is to
built when requirements are fuzzy.
• Prototyping paradigm
-begins with communication.
- planned quickly and modelling occurs
- quick design focuses on a representation of those aspects of the
software that will be visible to end users.
• It serves as a mechanism for identifying software
requirements.
13
Prototyping Model(Diagram)
Quick
Planning
Communication
Start
Modeling
Quick
Deployment,
Design
Delivery,
and
Feedback
Construction
Of Prototype
14
Prototyping Model
Problems
• Overall software quality or long-term maintainability is
not considered.
• As a Software Engineer make implementation
compromises in order to get a prototype working
quickly.
Useful
• The customer get feel for the actual system and
developers get to build something immediately
• Key here is all the stakeholders should agree that the
prototype is built to serve as a mechanism for defining
requirements.
End of Session 15– 4
Evolutionary Process Model
2. Spiral development
• Originally proposed by Barry Boehm.
• It couples the iterative nature of prototyping with the
controlled and systematic aspects of water fall model.
• Process is represented as a spiral rather than as a
sequence of activities with backtracking.
• Each loop in the spiral represents a phase in the
process.
• No fixed phases such as specification or design - loops
in the spiral are chosen depending on what is required.
• Risks are explicitly assessed and resolved throughout
the process.
16
Spiral model
• It is a realistic approach to the development of large-
scale systems and software.
• The software evolves as the process progresses, the
developer and customer better understand and react
at each evolutionary level.
• It uses prototyping as a risk reduction mechanism.
• It demands considerable risk assessment expertise
and realise on this expertise for success.
17
Spiral Model (Diagram)
Planning
Communication
Start Modeling
Start
Deployment Construction
18
Evolutionary development
• Problems
• Do not establish the max. speed of the evolution.
• Systems are often poorly structured;
• Special skills (e.g. in languages for rapid prototyping) may be
required.
• Project management and estimation technique do not fit
completely.
• Applicability
• For small or medium-size interactive systems;
• For parts of large systems (e.g. the user interface);
• For short-lifetime systems.
19
Concurrent Model
• The concurrent development model sometimes called
Concurrent Engineering.
• It allows team to represent iterative and concurrent elements of
any of the process models.
• All software engineering activities exist concurrently but
reside in different states.
• Concurrent modeling defines a series of events that will trigger
transitions from state to state for each of the activities.
• Concurrent modeling is applicable to all types of software
development and provide an accurate picture of the current
state of a project.
20
One element of the concurrent process model
Under
Development
Awaiting Under
Changes Review
Under
Baselined
Revision
Done
End of Session - 3
Additional topics for Self learning:
V - Model
Requirements Acceptance
Modeling Testing