A Generic Process Model Session 3
A Generic Process Model Session 3
TOPIC:
A Generic Process Model
AIM OF THE SESSION
This Session is designed to: At the end of this session, you should be able to:
1. Demonstrate A Generic Process Model 1. Define process
2. Describe Prescriptive Process models 2. Describe Prescriptive Process models
3. List out various process models 3. Summarize Prescriptive Process models
2
AGENDA
3
GENERIC PROCESS MODELS
4
A GENERIC PROCESS MODEL
Software process
Process framework
Umbrella activities
6
IDENTIFYING A TASK SET
7
PRESCRIPTIVE PROCESS MODELS
8
Prescriptive Process models
The name 'prescriptive' is given because the model prescribes a set of
activities, actions, tasks, quality assurance and change the mechanism for
every project.
9
PRESCRIPTIVE PROCESS MODELS
• Waterfall Model.
• Incremental Process Model.
• Evolutionary Process Model.
• Concurrent model
10
PRESCRIPTIVE PROCESS MODELS
Waterfall Model
• Oldest software lifecycle model & best understood by upper management
• Used when requirements are well understood and risk is low
• Workflow is in a linear fashion (i.e., sequential)
• Used often with well-defined adaptations or enhancements to current
software
11
Waterfall Model
Communication
Project initiation Planning
Requirement gathering Estimating
Scheduling Modeling
Tracking Analysis Construction
Design Code Deployment
Test Delivery
Support
Feedback
12
Waterfall Model
Problems
• Real projects rarely follow sequential flow.
• Difficult for customers to state all requirements explicitly and up front
• Requires customer patience because a working version of the program doesn't occur
until the final phase
• Doesn't support iteration, so changes can cause confusion and Leads to “blocking
states”.
Useful
• Where requirements are fixed and is to proceed to completion in a linear manner.
13
CONS IN WATER FALL MODEL
• Real projects rarely follow the sequential flow that the model proposes
• The customer must have patience. A working version of the program(s) will not be
available until late in the project time span
14
THE V-MODEL
15
THE V-MODEL
• V- model means Verification and Validation model. Just like the waterfall model,
the V-Shaped life cycle is a sequential path of execution of processes. Each phase
must be completed before the next phase begins
16
THE V-MODEL
Advantages of V-model:
• Simple and easy to use.
• Testing activities like planning, and test designing happen well before coding. This
saves a lot of time. Hence a higher chance of success over the waterfall model.
• Defects are found at an early stage.
• Works well for small projects where requirements are easily understood.
17
THE V-MODEL
Disadvantages of V-model:
18
WHEN TO USE THE V-MODEL:
19
PRESCRIPTIVE PROCESS MODELS-CONT:-
20
INCREMENTAL PROCESS MODEL
Planning
Modeling (analysis, design)
Construction (code, test)
Deployment ( delivery, feedback)
22
INCREMENTAL PROCESS MODEL
23
INCREMENTAL PROCESS MODEL
When to use the Incremental model:
• This model can be used when the requirements of the complete system are clearly defined
and understood.
• Major requirements must be defined; however, some details can evolve with time.
• There is a need to get a product to the market early.
• A new technology is being used
24
Evolutionary Process Model
• Software, like Complex systems evolve over a period of time
-Business and product requirements often change as development proceeds.
- tight market deadlines make completion of a comprehensive software product impossible,
but a limited version must be introduced to meet competitive or business pressure
- a set of core product or system requirements is well understood, but the details of product
or system extensions have yet to be defined.
• Evolutionary models are iterative.
• Evolutionary Process Model produce an increasingly more complete version of the software with
each iteration.
• Specification, development and validation are interleaved.
25
PRESCRIPTIVE PROCESS MODELS
• Prototyping
• Spiral Model
26
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.
27
PROTOTYPING MODEL(DIAGRAM)
Quick
Planning
Communication
Start
Modeling
Quick
Deployment,
Design
Delivery,
and
Feedback
Construction
Of Prototype
28
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.
29
PROTOTYPING MODEL
30
Disadvantages of Prototype model:
• Leads to implementing and then repairing way of building systems.
• Practically, this methodology may increase the complexity of the system as scope of the system may
expand beyond original plans.
• Incomplete application may cause application not to be used as the full system was designed
• Incomplete or inadequate problem analysis.
When to use Prototype model:
• Prototype model should be used when the desired system needs to have a lot of interaction with the end
users.
• Typically, online systems, web interfaces have a very high amount of interaction with end users, are best
suited for Prototype model. It might take a while for a system to be built that allows ease of use and
needs minimal training for the end user.
31
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.
32
SPIRAL MODEL
33
SPIRAL MODEL (DIAGRAM)
Planning
Communication
Start Modeling
Start
Deployment Construction
34
SPIRAL MODEL
35
SPIRAL MODEL
36
SPIRAL MODEL
37
• 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.
38
CONCURRENT MODEL
39
CONCURRENT MODEL CONT…
40
ONE ELEMENT OF THE CONCURRENT PROCESS
MODEL
https://www.1000sourcecodes.com/2012/05/software-engineering-concurrent.html
Under
Development
Awaiting Under
Changes Review
Under
Baselined
Revision
41 Done
SELF-ASSESSMENT QUESTIONS
1. What Classic life cycle model.
2. Disadvantages of Incremental Process Model.
3. Main drawback of Prototyping Model.
4. Speciality in Spiral Model.
5. Need of Process models in Software development.
6. Advantages of Spiral model.
7. Disadvantages of Spiral model.
8. Advantages of Evolutionary model.
9. Disadvantages of Evolutionary model.
10. Specialty of Concurrent model.
11. Difference between Waterfall model and Spiral model.
42
REFERENCES FOR FURTHER LEARNING OF THE
SESSION
TEXTBOOKS:
1. Roger S.Pressman, “Software Engineering – A Practitioner’s Approach” 7th Edition, Mc Graw Hill,(2014).
2. Ian Sommerville, “Software Engineering”, Tenth Edition, Pearson Education, (2015).
3. Agile Software Development Ecosystems, Jim Highsmith, Addison Wesley; ISBN: 0201760436; 1 st edition
Reference Book
Agile Modelling: Effective Practices for Extreme Programming and the Unified Process Scott Amber John Wiley &
Sons; ISBN: 0471202827; 1st edition.
WEB REFERNCES/MOOCS:
https://www.digite.com/kanban/what-is-kanban/
http://www.scaledagileframework.com
https://www.guru99.com/test-driven-development.html
https://junit.org/junit5/
43
THANK YOU
44