0% found this document useful (0 votes)
34 views

A Generic Process Model Session 3

The document discusses various prescriptive process models used in software engineering including the Waterfall model, V-model, Incremental process model, and Evolutionary process model. The Waterfall model follows a linear sequential flow but does not support iteration well. The V-model is similar but adds verification and validation activities at each stage. The Incremental process model delivers software in increments that provide increasing functionality, while the Evolutionary model evolves the software over time in response to changing requirements.

Uploaded by

G. Siddardha
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

A Generic Process Model Session 3

The document discusses various prescriptive process models used in software engineering including the Waterfall model, V-model, Incremental process model, and Evolutionary process model. The Waterfall model follows a linear sequential flow but does not support iteration well. The V-model is similar but adds verification and validation activities at each stage. The Incremental process model delivers software in increments that provide increasing functionality, while the Evolutionary model evolves the software over time in response to changing requirements.

Uploaded by

G. Siddardha
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 44

DEPARTMENT OF CSE

COURSE NAME – ADAPTIVE SOFTWARE


ENGINEERING

COURSE CODE – 22CI2001

TOPIC:
A Generic Process Model
AIM OF THE SESSION

To familiarize students with the basic concept of Process Models

INSTRUCTIONAL OBJECTIVES LEARNING OUTCOMES

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

 A Generic Process Model


 Prescriptive  Process models
1. Waterfall Model.
2. Incremental Process Model.
3. Evolutionary Process Model.
Prototyping
Spiral Model
4.  Concurrent model

3
GENERIC PROCESS MODELS

4
A GENERIC PROCESS MODEL
Software process
Process framework
Umbrella activities

framework activity #1 framework activity #2

SE action #1.1 SE action #2.1


 work tasks  work tasks
task  work products task work products
sets QA points sets  QA points
 milestones  milestones

SE action #1.2 SE action #2.2


 work tasks  work tasks
task  work products task  work products
sets QA points sets QA points
 milestones  milestones

The Generic process model is an abstraction of the software development process. It


specifies the stages and order of a process.
5
PROCESS FLOW: HOW THE FRAMEWORK ACTIVITIES, ACTIONS,
AND TASKS OCCUR WITHIN EACH FRAMEWORK ACTIVITY

6
IDENTIFYING A TASK SET

• A task set defines the actual work to be done to accomplish the


objectives of a software engineering action.
• A list of the task to be accomplished
• A list of the work products to be produced
• A list of the quality assurance filters to be applied

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.

What is the prescriptive process model?

A prescriptive process model is a model that describes "how to do"


according to a certain software process system. A prescriptive model
prescribes how a new software system should be developed

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

• It is often difficult for the customer to state all requirements explicitly

• 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

• The V-model provides a way of visualizing how verification and validation


actions are applied to earlier engineering work

• 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:

• Very rigid and least flexible.


• Software is developed during the implementation phase, so no early prototypes of
the software are produced.
• If any changes happen in midway, then the test documents along with requirement
documents has to be updated.

18
WHEN TO USE THE V-MODEL:

• The V-shaped model should be used for small to medium-


sized projects where requirements are clearly defined and
fixed.

• The V-Shaped model should be chosen when ample technical


resources are available with needed technical expertise.

19
PRESCRIPTIVE PROCESS MODELS-CONT:-

Incremental Process Model


• Combines elements of linear and parallel process flows.
• It delivers a series of releases, called increments that provide progressively more
functionality for the customer as each is delivered
• The first increment is often a core product.
• The plan addresses the modification of the core product to better meet the needs of the
customer and the delivery of additional feature and functionality.
• It focuses on the delivery of an operational product with each increment.

20
INCREMENTAL PROCESS MODEL

• It is useful when staffing is unavailable for a complete implementation.


• Increments can be planned to manage technical risks.
Communication
features
Software functionality and

Planning
Modeling (analysis, design)
Construction (code, test)
Deployment ( delivery, feedback)

Delivery of nth Increment

Delivery of 2nd Increment

Delivery of 1st Increment


Project calendar Time
21
INCREMENTAL PROCESS MODEL
Advantages of the Incremental model:
• Generates working software quickly and early during the software life cycle.
• This model is more flexible – less costly to change scope and requirements.
• It is easier to test and debug during a smaller iteration.
• In this model customers can respond to each build.
• Lowers initial delivery cost.
• Easier to manage risk because risky pieces are identified and handled during its iteration.

22
INCREMENTAL PROCESS MODEL

Disadvantages of the Incremental model:


• Needs good planning and design.
• Needs a clear and complete definition of the whole system before it can be broken down
and built incrementally.
• Total cost is higher than waterfall.

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

Two Types of Evolutionary 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

Advantages of Prototype model:


• Users are actively involved in the development
• Since in this methodology a working model of the system is provided, the users get a better understanding
of the system being developed.
• Errors can be detected much earlier.
• Quicker user feedback is available leading to better solutions.
• Missing functionality can be identified easily
• Confusing or difficult functions can be identified

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

• 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.

33
SPIRAL MODEL (DIAGRAM)
Planning

Communication

Start Modeling

Start

Deployment Construction

34
SPIRAL MODEL

Advantages of Spiral model:


• High amount of risk analysis hence, avoidance of Risk is enhanced.
• Good for large and mission-critical projects.
• Strong approval and documentation control.
• Additional Functionality can be added at a later date.
• Software is produced early in the software life cycle.

35
SPIRAL MODEL

Disadvantages of Spiral model:


• Can be a costly model to use.
• Risk analysis requires highly specific expertise.
• Project’s success is highly dependent on the risk analysis phase.
• Doesn’t work well for smaller projects.

36
SPIRAL MODEL

When to use Spiral model:


• When costs and risk evaluation is important
• For medium to high-risk projects
• Long-term project commitment unwise because of potential changes to economic priorities
• Users are unsure of their needs
• Requirements are complex

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

• 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.

39
CONCURRENT MODEL CONT…

Concurrent models are those models within which the various


activities of software development happen at the same time, for
faster development and a better outcome. The concurrent model
is also referred to as a parallel working model

40
ONE ELEMENT OF THE CONCURRENT PROCESS
MODEL
https://www.1000sourcecodes.com/2012/05/software-engineering-concurrent.html

Inactive State of a s/w


Modeling Activity eng. activity

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

Team – ADAPTIVE SOFTWARE ENGINEERING

44

You might also like