You are on page 1of 22

Lecture no.

2
Software Processes

1
Recap
 What is Software & its Importance
 Types of Software
 What is Software Engineering
 Home Task: Software Crisis & Software
Myths

2
Topics covered
 Software process model
 Different types of process models and when
they may be used
 Process activities
 Strengths and Weaknesses

3
The software process
 A structured set of activities required to develop
a software system
 Specification;

 Design & Development;

 Validation;

 Evolution.

 A software process model is a framework that


describes the activities performed at each stage
of a software development project.

4
SDLC

5
Types of SDLC Models
Waterfall Model
Incremental Model
RAD Model
Spiral Model
Waterfall Model
• The waterfall model is a sequential design process in which
progress is seen as flowing steadily downwards (like a waterfall)
through the phases of Requirement, Analysis, Design,
Construction, Testing, Production/Implementation and
Maintenance
Waterfall Model

 .
Waterfall Model Strengths
Easy to understand, easy to use
Provides structure to inexperienced staff
Milestones are well understood
Waterfall Model Deficiencies
All requirements must be known upfront
Deliverables created for each phase are
considered frozen inhibits flexibility
Integration is one big bang at the end
Little opportunity for customer to preview the
system (until it may be too late)
Not suitable for large and ongoing projects
Waterfall Model: When to Use
Requirements are very well known
Product definition is stable
Technology is understood
New version of an existing product
Porting an existing product to a new platform.
Activity

Library Management System


Incremental Model

13
Incremental Model
 Whole requirement is divided into various builds
 Multiple development cycles take place here, making the life
cycle a “multi-waterfall” cycle.
 A working version of software is produced during the first
module, so you have working software early on during the
software life cycle.
Incremental Model
Incremental Model
Incremental Model
Advantages
Generates working software quickly and early during
the software life cycle.
More flexible – less costly to change scope and
requirements.
Easier to test and debug during a smaller iteration.
Customer can respond to each built.
Lowers initial delivery cost.
Incremental Model
Disadvantages
Needs a clear and complete definition of the
whole system before it can be broken down and
built incrementally.
Needs good planning and design.
Total cost is higher than waterfall.
Incremental Model:
When to use
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
Resources with needed skill set are not available
Incremental Model:
Activity
• Suppose we want to develop a web-based 
social network with the following
functionalities;
• The user should signup for the system.
• The user should log into the system and can
send or accept the friend request.
• How, we can use the incremental model in
this scenario;
Incremental Model:
Activity
The End.

You might also like