Sei sulla pagina 1di 37

Seminar on

Software development Life Cycle Models

Submitted to Submitted by
Er. Shashi Prabha Anan Esha Purwar

Mahamaya College of Agricultural Engg.&Technology 1


CONTENT
• SDLC
• WATERFALL MODEL
• V MODEL
• PROTOTYPE MODEL
• INCREMENT MODEL
• SPIRAL MODEL
• AGILE MODEL
2
WHAT IS SDLC?

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

4
• Many life cycle models have been proposed.
• We confine our attention to only a few commonly used models.
–Waterfall
–V model, Life Cycle Model (CONT.)

–Evolutionary, Traditional models


–Prototyping
–Spiral model,
–Agile models

5
Feasibility Study Classical Waterfall Model

Req. Analysis

Design Simplest and most


intuitive
Coding

Testing

Maintenance

6
Waterfall Strengths
• Easy to understand, easy to use, especially by
inexperienced staff
• Milestones are well understood by the team
• Provides requirements stability during development
• Facilitates strong management control (plan, staff, track)

7
Waterfall Deficiencies
• All requirements must be known upfront – in most
projects requirement change occurs after project start
• Can give a false impression of progress
• Little opportunity for customer to pre-view the system.

8
When to use the Waterfall Model?

• Requirements are well known and stable


• Technology is understood
• Development team have experience with similar
projects

9
V Model

10
V Model
• It is a variant of the Waterfall
– emphasizes verification and validation
– V&V activities are spread over the entire life cycle.
• In every phase of development:
– Testing activities are planned in parallel with
development.
11
Production,
Project Planning Operation &
Maintenance

Requirements System Testing


Specification

High Level Design Integration Testing

Detailed Design Unit testing

Coding

12
V Model: Strengths
• Starting from early stages of software development:

– Emphasizes planning for verification and validation of


the software

• Each deliverable is made testable

• Easy to use

13
V Model Weaknesses
• Does not support overlapping of phases
Production,
Project
Operation &
Planning
Maintenance

• Does not handle iterations or phases Requirements


Specification
System Testing

• Does not easily accommodate later


Integration
High Level Design Testing

Detailed Design Unit testing

changes to requirements Coding

• Does not provide support for effective risk handling

14
When to use V Model
• Natural choice for systems requiring high reliability:

– Embedded control applications, safety-critical software

• All requirements are known up-front

• Solution and technology are known

15
Prototyping Model

16
Prototyping Model
• A derivative of waterfall model. Prototype Construction

Design

• Before starting actual development, Coding

– A working prototype of the system should first be built. Testing

Maintenance
• A prototype is a toy implementation of a system:
–Limited functional capabilities,
–Low reliability,
–Inefficient performance.

17
Reasons for prototyping
• Learning by doing: useful where requirements are
Prototype Construction
only partially known
Design
• Improved communication Coding

• Improved user involvement Testing

• Reduced need for documentation Maintenance

• Reduced maintenance costs


18
Build Prototype Prototyping Model (CONT.)

Requirements Customer Customer


Evaluation of Design
Gathering Quick Design Prototype satisfied

Refine
Requirements Implement

Test

Maintain

19
Prototyping: advantages
• The resulting software is usually more usable
• User needs are better accommodated
• The design is of higher quality
• The resulting software is easier to maintain
• Overall, the development incurs less cost

20
Prototyping: disadvantages
• For some projects, it is expensive

21
Incremental Model

22
• Key characteristics Incremental and Iterative
–Builds system incrementally Development (IID)
–Consists of a planned number of iterations
–Each iteration produces a working program
• Benefits
–Facilitates and manages changes
• Foundation of agile techniques and the basis for
–Rational Unified Process (RUP)
–Extreme Programming (XP)

23
Customer’s Perspective
C

A AB A

B B

24
Incremental Model
Requirements Split into
Outline Features Design

Develop Validate Integrate Validate


Increment Increment Increment System Final
System

25
Incremental Model: Requirements Split into
Features
Requirements: High Level Analysis

Slice
Slice
Slice
Slice
Slice
Slice

Slice
Slice
Slice
Slice
Slice
Slice

26
Incremental Model
• Waterfall: single release
• Iterative: many releases (increments)
–First increment: core functionality
–Successive increments: add/fix functionality
–Final increment: the complete product
• Each iteration: a short mini-project with a separate lifecycle
–e.g., waterfall

27
Incremental delivery
increment design build Customer
install
1 Feedback

Customer
increment design build install
Feedback
2

increment design build Customer


install
3 Feedback

28
The
Planned incremental
Identify System Objectives

incremental
process
Plan increments
delivery
Incremental delivery plan

Design increment

Build the increment


Repeat for each Feedback
increment Implement the increment

Evaluate the results

29
Spiral Model
Determine Identify &
Objectives Resolve Risks

Customer
Evaluation of Develop Next
Prototype Level of Product
Agile Models

1/7/2019
31
What is Agile Software Development?
• Agile: Easily moved, light, nimble, active software
processes

• How agility achieved?


– Fitting the process to the project

– Avoidance of things that waste time

32
Agile Model
• To overcome the shortcomings of the waterfall model of
development.
– Proposed in mid-1990s
• The agile model was primarily designed:
– To help projects to adapt to change requests
• In the agile model:
– The requirements are decomposed into many small incremental parts
that can be developed over one to four weeks each.

33
Conclusion
• The structure imposed by SDLC is specifically designed to
maximize the probability of successful software
development effort.
• To accomplish this the SDLC Relies on four primary concept ;
Scope restriction, Progressive enhancement, The defined
Structure, Increment planning.

34
REFERNCE
[1] IanSommerville, SoftwareEngineering, AddisonWesley, 9th ed., 2010.
[2] Comparative Analysis of Different types of Models in Software Development Life Cycle-Ms.Shikha Maheshwari, Prof.
Dinesh Ch. Jain
[3] A Comparison between Five Models of Software Engineering Nabil Mohammed Ali Munassar and A.Govardhan
[4] http://istqbexamcertification.com/what-is iterative- model advantages-disadvantages-and-when-to- use-it/
[5] http://www.tutorialspoint.com/sdlc/sdlc_iterative_mod el.html
6] Raymond Lewallen, “Software Development Life Cycle”, 2005
[7] weblog.erenkrantz.com/~jerenk/phase-ii/Boe88.pdf
[8] www.ccs.neu.edu/home/matthias/670s05/Lectures/2.html
[9] Software Engineering Models Consequences And Alternatives Nitin Mishra, Shantanu Chowdhary, Arunendra Singh,
Anil Sharma
[10] Study & Comparison of Software Development Lifecycle ModelsGourav Khurana, Sachin Gupta
[11] Gray P ilgrim, “Waterfall Model Vs Agile”, Website http://www.b uzzle.com/articles/waterfall- model- vs-
agile.html, Jan,

35
Faculty Name
Department Name 36