0% found this document useful (0 votes)
17 views17 pages

S. Asha: National Institute of Technology Rourkela

Uploaded by

Aayush Thapa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views17 pages

S. Asha: National Institute of Technology Rourkela

Uploaded by

Aayush Thapa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

S.

Asha

CSE Department
National Institute of Technology Rourkela
Software Life Cycle
Conceptualize

Retire Specify

Design
Maintain

Deliver Code

Test
Life Cycle Model

A software life cycle model (also process model or


SDLC):
A descriptive and diagrammatic model of software life cycle:
Identifies all the activities undertaken during product
development,
Establishes a precedence ordering among the different
activities,
Divides life cycle into phases.
Life Cycle Model (CONT.)

Each life cycle phase consists of several activities.


For example, the design stage might consist of:
structured analysis

structured design

Design review
Why Model Life Cycle?

A graphical and written description:


Helps common understanding of activities among the
software developers.

Helps to identify inconsistencies, redundancies, and


omissions in the development process.

Helps in tailoring a process model for specific projects.


Life Cycle Model (CONT.)

The development team must identify a suitable life


cycle model:
and then adhere to it.

Primary advantage of adhering to a life cycle


model:
Helps development of software in a systematic
and disciplined manner.
Life Cycle Model (CONT.)

 When a program is developed by a single programmer ---


 The problem is within the grasp of an individual.

 He has the freedom to decide his exact steps and still succeed ---
called Exploratory model--- One can use it in many ways

 CodeTest Design

 CodeDesign Test  Change Code 

 Specify code Design Test  etc. Fix

Initial
Coding
Test
Do Until
Done
Life Cycle Model (CONT.)

When software is being developed by a team:

There must be a precise understanding among


team members as to when to do what,

Otherwise, it would lead to chaos and project


failure.
Life Cycle Model (CONT.)

A software project will never succeed if:


one engineer starts writing code,
another concentrates on writing the test document first,
yet another engineer first defines the file structure
another defines the I/O for his portion first.
Phase Entry and Exit Criteria
A life cycle model:

defines entry and exit criteria for every


phase.

A phase is considered to be complete:


only when all its exit criteria are satisfied.
Life Cycle Model (CONT.)

 What is the phase exit criteria for the software


requirements specification phase?

Software Requirements Specification (SRS) document is


complete, reviewed, and approved by the customer.

 A phase can start:

Only if its phase-entry criteria have been satisfied.


Life Cycle Model: Milestones
Milestones help software project
managers:
Track the progress of the project.

Phase entry and exit are


important milestones.
Life Cycle and Project Management

When a life cycle model is followed:


The project manager can at any time
fairly accurately tell,

At which stage (e.g., design, code,


test, etc.) the project is.
Project Management Without Life Cycle Model

 It becomes very difficult to track the progress of the project.

 The project manager would have to depend on the guesses of the


team members.

 This usually leads to a problem:

 known as the 99% complete syndrome.


Project Deliverables: Myth and Reality

Myth:

The only deliverable for a successful project is the working


program.

Reality:

Documentation of all aspects of software development


are needed to help in operation and maintenance.
Many life cycle models have been proposed.
We confine our attention to only a few commonly
used models.
 Waterfall
 Iterative waterfall model Life Cycle Model
(CONT.)
 V model
 Prototyping model
 Incremental development model Traditional models
 Evolutionary
 Rapid Application Development
 Agile models
 Spiral model
 Software life cycle (or software process):
Series of identifiable stages that a software product
undergoes during its life time:
Feasibility study
Requirements analysis and specification,
Design,
Coding,
Testing
Maintenance.

You might also like