Software Development Life Cycle Models - Gujarat · 2011-07-21 · Software Development Life Cycle...

Preview:

Citation preview

© Tata Consultancy Services ltd. 12 October 2006 1Confidential

Software Development Life Cycle Models

2Confidential

ObjectivesOverview of Software Development Life Cycle

Understanding of well known SDLC Models

Guidelines to choose an appropriate SDLC Model

3Confidential

SDLC Overview & Phases (1/4)A software life cycle is the series of identifiable stages that a software product undergoes during its lifetime

Phases of SDLCFeasibility (pre-development)

Establishes a high-level view of the intended project and determines its goals

4Confidential

SDLC Overview & Phases (2/4)Requirements

Refines project goals into defined functions and operation of the intended application. Analyzes end-user information needs.Addresses on “What System should do”

5Confidential

SDLC Overview & Phases (3/4)Design

Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudocode and other documentation.

Coding and Unit testingThe real code is written here

6Confidential

SDLC Overview & Phases (4/4)Testing

Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability.

Maintenance (post-development)Incorporation of changes, corrections, additions.

7Confidential

SDLC Models (1/3)Set of generic development activities to be used on software projects and the order in which they are appliedBring order & structure to software developmentDefine a distinct set of activities, actions, tasks, milestones & work products required to engineer high quality software

8Confidential

SDLC Models (2/3) Some well known life cycle models are

Single version modelWaterfall model

Waterfall model with “back flow”Throwaway Prototype model

Iterative modelEvolutionary Prototype modelSpiral model

9Confidential

Analysis

Design

Implementation

Testing

AnalysisDesignImpln.

TestingAnalysisDesignImpln.

TestingAnalysisDesignImpln.

Testing Scope

Single version model Iterative models

SDLC Models (3/3)

10Confidential

Software Development flows steadily downwards (like a waterfall)Proceeding from one phase to the next is purely in sequential manner

e.g. After completion of Requirement phase only Design phase should start

Waterfall Model (1/7)

11Confidential

Waterfall Model (2/7)PSU

RQA

HLD

LLD

CONSTRUCTION

SYSTEM TEST

ACCEPTANCE TEST

PACKAGE & RELEASE

OPERATIONS & MAINTENANCE

Each phase “pours over” into the next phase.

12Confidential

AdvantagesEach phase has specific deliverables and review process hence easy to managePhases are processed and completed one at a time - Ensures effective resource managementComfortable contract finalization with reference to delivery and payment schedule

Waterfall Model (3/7)

13Confidential

IssuesProduces working Software at later stage during the life cycleLeads to high amount of risk and uncertaintyMandates correction of identified defects in the phase where they are initiated which is difficult in practical scenario

Waterfall Model (4/7)

14Confidential

It is impossible to get one phase of a software product's lifecycle "perfected" before moving on to the next phases

(1) clients may not be aware of exactly what requirements they want before they see a working prototype and can comment upon it - they may change their requirements constantly, and program designers and implementers may have little control over this

Waterfall Model (5/7)

15Confidential

(2) Designers may not be aware of future implementation difficulties when writing a design for an unimplemented software product. That is, it may become clear in the implementation phase that a particular area of program functionality is difficult to implement.

Waterfall Model

16Confidential

Waterfall Model with “back-flow” (5/7)Allows correction of detected defects by going back to the appropriate phase (where the defect got introduced)Principle of “Phase containment of errors”:

If and when errors occur, they should be detected (and corrected) as early as possible

17Confidential

PSU

RQA

HLD

LLD

CONSTRUCTION

SYSTEM TEST

ACCEPTANCE TEST

PACKAGE & RELEASE

OPERATIONS & MAINTENANCE

Waterfall Model with “back-flow” (6/7)

18Confidential

Waterfall Model (7/7)

If software requirements are stable and well understood, then waterfall modelcan be used

19Confidential

Prototyping Model (1/7)Suggests building a prototype before developing the actual software

A prototype is a rudimentary working model of a S/W

Built for demonstration purposes (Throwaway prototype) orAs part of the development process (Evolutionary prototype )

20Confidential

Requirements gathering

Quickdesign

Refine requirements

Prototype evaluation

Buildprototype

DesignDevelopment

TestMaintain

Customer acceptance

Customer suggestions

Throwaway Prototype Model (2/7)

21Confidential

Prototype gives look & feel of the future system to the clientAfter acceptance of the prototype, the development can be done using an iterative waterfall model

Throwaway Prototype Model (3/7)

22Confidential

Development of a user interface prototype

Throwaway Prototype Model (4/7)

23Confidential

AdvantagesEasy to change Prototypes as per client’s suggestionEarly visibility of the prototype gives users an idea of what the final system looks like

This Increases client’s satisfaction and participation

Throwaway Prototype Model (5/7)

24Confidential

AdvantagesMay provide the proof of concept necessary to attract fundingTime/effort spent on prototype is worth it

SRS gets supplemented with prototypeExperience in building prototype is carried forward to development

Throwaway Prototype Model (6/7)

25Confidential

IssuesExtra effort & time is required to build prototypes

When to choose Prototype modelIf software requirements are stable, but not clear, then Throwaway Prototype model can be used

Throwaway Prototype Model (7/7)

26Confidential

Evolutionary Prototype Model (1/7)

Also known as SUCCESSIVE VERSIONS modelAllows

Breaking a system down into several modulesDelivery of modules in an incremental fashion

27Confidential

Core module is developed initiallyRefined by incrementally adding new functionalities

Note: Each successive version of the product is a working version

Evolutionary Prototype Model (2/7)

28Confidential

A A

B

A

B

C

Evolutionary Prototype Model (3/7)

29Confidential

AdvantagesUseful when staffing is unavailable for a complete implementation

Early increments can be implemented by fewer peopleDepending on the acceptability, more resources can be added for subsequent stages

Evolutionary Prototype Model (4/7)

30Confidential

AdvantagesUser gets an opportunity to use the partial system much before the fully developed version is releasedHelps in extracting requirements Core module gets tested very thoroughly (since it gets tested at the time of each release)

Evolutionary Prototype Model (5/7)

31Confidential

IssuesAgreement on the core product is not easyIt is difficult to break down a system into functional units that can be implemented in an evolutionary way

Evolutionary Prototype Model (6/7)

32Confidential

Evolutionary Prototype Model (7/7)Evolutionary prototype model is useful for implementation of large projects in incremental fashion

Note : Customer needs to be agreed upon Incremental delivery

33Confidential

Spiral Model (1/10)The spiral model is an evolutionary software process model that couples

The iterative nature of prototyping andThe controlled and systematic aspects of the waterfall model

34Confidential

Radius indicates the costAngle indicates the Progress

Spiral Model (2/10)1. Determine Objectives and identify alternative solutions

2. Identify and Resolve the risk

3. Develop the next level of product

4. Review and plan for the next phase

35Confidential

Four Quadrants of Spiral ModelPlanning

Objectives, alternatives, and constraints are determined.

Risk AnalysisAlternative solutions and constraints are defined, and risks are identified and analyzed.

Spiral Model (3/10)

36Confidential

RiskA customer not knowing exactly what he/she wantsChanging expectations as project progressesStaff who are inexperienced in the problem domain or with the appropriate implementation techniques

Spiral Model (4/10)

37Confidential

EngineeringActual Development and Testing happens

Customer Evaluation Customer will assess the S/W and suggest changes if necessary

Spiral Model (5/10)

38Confidential

Single loop spiral model represents a Waterfall modelLooping around each cycle represents evolutionary model

More complete version of the product gets built progressively

Spiral Model (6/10)

39Confidential

AdvantagesHigh amount of Risk Analysis1.Allows customer and developer to determine and react to risks at each evolutionary level

2.Direct consideration of risks at all levels greatly reduces problems

Spiral Model (7/10)

40Confidential

AdvantagesS/W is produced early in life cycleGood for large, complex and mission critical projects

Spiral Model (8/10)

41Confidential

DisadvantagesCan be Costly modelRisk analysis requires highly specific expertiseProject’s success is dependent on the risk analysis

Spiral Model (9/10)

42Confidential

Spiral Model (10/10)Spiral model should be used

If the requirements are coupled with the underlying business processes, which are going through a process of changeIf development is for technically challenging products

43Confidential

ETVX Model (1/3)Facilitates Process control and ensures correctness and completeness of each activities

Each Phase in the development process can itself be considered a high level activity with a specific “ETVX

44Confidential

ETVX Model (2/3)

ENTRY CRITERIA

EXIT CRITERIA

TASKS

VERIFICATION

45Confidential

Entry CriteriaChecklist of conditions that must be satisfied before beginning the activity

TasksA set of tasks that needs to be carried out

VerificationA list of tasks to verify the quality of work items produced

Exit CriteriaA checklist of conditions that must be satisfied before each activity is completed

ETVX Model (3/3)

46Confidential

Choosing a model (1/2)

47Confidential

Choosing a model (2/2)Spiral

Evolutionary (Iterative)

WaterfallThrow-Away

&Waterfall

Requirements (Lack of) Clarity

(Un)Stability

Risk

48Confidential

Thank YouThank You