+ All Categories

M2-SDLC

Date post: 05-Apr-2018
Category:
Upload: alok-vishwakarma
View: 215 times
Download: 0 times
Share this document with a friend

of 93

Transcript
  • 8/2/2019 M2-SDLC

    1/93

    MODULE:IIMODULE:II

    LIFE CYCLE(SDLC)LIFE CYCLE(SDLC)

    2/21/20122/21/2012 11MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    2/93

    Software Life CycleSoftware Life Cycle Software life cycle (softwareSoftware life cycle (software processprocess):):

    Series ofSeries ofidentifiable stagesidentifiable stages that a softwarethat a software

    product undergoes during its life time:product undergoes during its life time:

    --

    Feasibility study (System Engineering),Feasibility study (System Engineering),

    --Requirements Analysis and specification,Requirements Analysis and specification,

    --Design,Design,

    --

    Coding,Coding,

    -- TestingTesting

    --Maintenance (Deployment)Maintenance (Deployment)2/21/20122/21/2012 22MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    3/93

    Life Cycle ModelLife Cycle Model

    AA softwaresoftware lifelife cyclecycle modelmodel ((oror ProcessProcess ModelModel))::

    aa descriptivedescriptive andand diagrammaticdiagrammatic modelmodel ofof

    softwaresoftware lifelife cyclecycle::identifiesidentifies allall thethe activitiesactivities requiredrequired forfor

    productproduct development,development,

    establishesestablishes aa precedenceprecedence orderingordering amongamong thethedifferentdifferent activities,activities,

    DividesDivides lifelife cyclecycle intointo phasesphases..2/21/20122/21/2012 33MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    4/93

    Life Cycle Model (CONT.)Life Cycle Model (CONT.)

    SeveralSeveral different activitiesdifferent activities may be carried outmay be carried out

    in each life cycle phase.in each life cycle phase.

    For example, theFor example, the designdesign stage mightstage mightconsist of:consist of:

    structured analysis activity followed bystructured analysis activity followed by

    structured design activity.structured design activity.

    2/21/20122/21/2012 44MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    5/93

    Why Model Life Cycle ?Why Model Life Cycle ?

    A written description:A written description:

    Forms a commonForms a common understanding ofunderstanding of

    activitiesactivities among the software developers.among the software developers.Helps in identifyingHelps in identifying inconsistencies,inconsistencies,

    redundancies, and omissionsredundancies, and omissions in thein the

    development process.development process.Helps inHelps in tailoring a process modeltailoring a process model forfor

    specific projects.specific projects.2/21/20122/21/2012 55MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    6/93

    Life Cycle Model (CONT.)Life Cycle Model (CONT.)

    The development team mustThe development team must identify aidentify a

    suitable life cycle modelsuitable life cycle model::

    and then adhere to it.and then adhere to it.Primary advantage of adhering to a lifePrimary advantage of adhering to a life

    cycle model:cycle model:

    Helps development of software in aHelps development of software in asystematicsystematic andand disciplineddisciplined manner.manner.

    2/21/20122/21/2012 66MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    7/93

    Life Cycle Model (CONT.)Life Cycle Model (CONT.)

    When a program is developed byWhen a program is developed by

    a single programmera single programmer ------

    he has the freedom to decide his exact steps.he has the freedom to decide his exact steps.

    2/21/20122/21/2012 77MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    8/93

    Life Cycle Model (CONT.)Life Cycle Model (CONT.)

    When a software product is beingWhen a software product is being

    developed by a team:developed by a team:

    there must be athere must be a precise understandingprecise understandingamong team membersamong team members as to when to doas to when to do

    what,what,

    otherwise it would lead tootherwise it would lead to project failureproject failure..

    2/21/20122/21/2012 88MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    9/93

    Life Cycle Model (CONT.)Life Cycle Model (CONT.)

    A software project will never succeed if:A software project will never succeed if:

    one engineer starts writing code,one engineer starts writing code,

    another concentrates on writing theanother concentrates on writing thetest document first,test document first,

    yet another engineer first defines theyet another engineer first defines the

    file structurefile structureanother defines the I/O for his portion firstanother defines the I/O for his portion first

    2/21/20122/21/2012 99MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    10/93

    Life Cycle Model (CONT.)Life Cycle Model (CONT.)

    A life cycle model:A life cycle model:

    definesdefines entryentry and exitand exit criteriacriteria for everyfor every

    phase.phase.A phase is considered to e complete:A phase is considered to e complete:

    only when all its exit criteria areonly when all its exit criteria are

    satisfied.satisfied.

    2/21/20122/21/2012 1010MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    11/93

    Life Cycle Model (CONT.)Life Cycle Model (CONT.)

    The phase exit criteria for the softwareThe phase exit criteria for the software

    requirements specification phase:requirements specification phase:

    Software Requirements Specification (SRS)Software Requirements Specification (SRS)document isdocument is completecomplete,, reviewedreviewed, and, and

    approvedapproved by the customer.by the customer.

    A phase can start:A phase can start:only if its phaseonly if its phase--entry criteria have beenentry criteria have been

    satisfied.satisfied.2/21/20122/21/2012 1111MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    12/93

    Life Cycle Model (CONT.)Life Cycle Model (CONT.)

    It becomes easier for softwareIt becomes easier for software

    project managers:project managers:

    oo mon ormon or ee progressprogress o e pro ec .o e pro ec .

    2/21/20122/21/2012 1212MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    13/93

    Life Cycle Model (CONT.)Life Cycle Model (CONT.)

    When a life cycle model is adhered to,When a life cycle model is adhered to,

    the project manager can at any timethe project manager can at any time

    fairly accurately tell,fairly accurately tell,

    of the project is.of the project is.

    Otherwise, it becomes very difficultOtherwise, it becomes very difficult

    to track the progress of the projectto track the progress of the project

    the project manager would have to dependthe project manager would have to depend

    on the guesses of the team members.on the guesses of the team members.2/21/20122/21/2012 1313MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    14/93

    Life Cycle Model (CONT.)Life Cycle Model (CONT.)

    This usually leads to a problem:This usually leads to a problem:known as theknown as the 99% complete syndrome99% complete syndrome..

    2/21/20122/21/2012 1414MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    15/93

    Life Cycle Model (CONT.)Life Cycle Model (CONT.)

    Many life cycle models have been proposed.Many life cycle models have been proposed. We will confine our attention to a fewWe will confine our attention to a few

    important and commonly used models.important and commonly used models.

    Classical waterfall modelClassical waterfall model ----RAD ModelRAD ModelIterative waterfall,Iterative waterfall,

    Evolutionary,Evolutionary,

    Prototyping,Prototyping,SpiralSpiral model, andmodel, and

    2/21/20122/21/2012 1515MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    16/93

    Classical Waterfall ModelClassical Waterfall Model

    Classical waterfall model divides life cycleClassical waterfall model divides life cycle

    into phases:into phases:

    Feasibility StudyFeasibility Study equ remen s na ys s an pec ca on,

    Design,

    Coding and Unit Testing,Coding and Unit Testing,

    Integration and System testing,Integration and System testing, Maintenance (Deployment)Maintenance (Deployment)

    2/21/20122/21/2012 1616MODULEMODULE--II SDLCII SDLC

  • 8/2/2019 M2-SDLC

    17/93

    Classical Waterfall ModelClassical Waterfall Model

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 1717

  • 8/2/2019 M2-SDLC

    18/93

    Classical Waterfall ModelClassical Waterfall Model

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 1818

  • 8/2/2019 M2-SDLC

    19/93

    Classical Waterfall ModelClassical Waterfall ModelFeasibility Study:Feasibility Study:Main aim of feasibility study: determine whetherMain aim of feasibility study: determine whether

    developing the productdeveloping the product

    financiallyfinancially worthwhileworthwhile

    technicalltechnicall feasible.feasible.

    FirstFirst roughly understandroughly understand what the customer wants:what the customer wants:

    different data which would bedifferent data which would be inputinput to the system,to the system,

    processingprocessing needed on these data,needed on these data,

    outputoutput data to be produced by the system,data to be produced by the system,

    variousvarious constraintsconstraints on the behavior of the systemon the behavior of the system

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 1919

  • 8/2/2019 M2-SDLC

    20/93

    Classical Waterfall ModelClassical Waterfall ModelActivities during Feasibility StudyActivities during Feasibility Study

    Work out an overall understanding of theWork out an overall understanding of the

    Problem(An abstract problem definition ).Problem(An abstract problem definition ).

    Formulate differentFormulate different solution strategiessolution strategies..

    ExamineExamine alternate solutionalternate solution strategies instrategies in

    terms of:terms of:

    -- resources required,resources required,

    -- cost of development,cost of development,

    -- development time.development time.2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2020

  • 8/2/2019 M2-SDLC

    21/93

    Classical Waterfall ModelClassical Waterfall ModelSystem EngineeringSystem Engineering::

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2121

  • 8/2/2019 M2-SDLC

    22/93

    Classical Waterfall ModelClassical Waterfall Model

    Requirements Analysis and SpecificationRequirements Analysis and Specification

    Aim of this phase:Aim of this phase:

    understand theunderstand the exact requirementsexact requirements ofof

    ,,

    documentdocument them properly.them properly.

    Consists of two distinct activities:Consists of two distinct activities:

    requirementsrequirements gatheringgathering andand analysisanalysis requirementsrequirements specificationspecification..

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2222

  • 8/2/2019 M2-SDLC

    23/93

    Classical Waterfall ModelClassical Waterfall Model

    Goals of Requirements AnalysisGoals of Requirements Analysis

    Collect all related data from the customer:Collect all related data from the customer:

    analyze the collected data toanalyze the collected data to clearlyclearly

    ,,

    find out anyfind out any inconsistenciesinconsistencies andand

    incompletenessincompleteness in the requirements,in the requirements,

    resolve all inconsistencies andresolve all inconsistencies andincompleteness.incompleteness.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2323

  • 8/2/2019 M2-SDLC

    24/93

    Classical Waterfall ModelClassical Waterfall Model

    Requirements GatheringRequirements Gathering

    Gathering relevant data:Gathering relevant data:

    usually collected from theusually collected from the endend--usersusersthroughthrough interviewsinterviews andand discussions.discussions.

    For example, for a business accountingFor example, for a business accounting

    software:software: interviewinterview all theall the accountantsaccountants of theof the

    organization to find out their requirementsorganization to find out their requirements2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2424

  • 8/2/2019 M2-SDLC

    25/93

    Classical Waterfall ModelClassical Waterfall Model

    Requirements AnalysisRequirements Analysis

    The data you initially collect from the users:The data you initially collect from the users:

    would usually contain several contradictionswould usually contain several contradictionsan am gu t es:an am gu t es:

    each user typically has only a partial andeach user typically has only a partial and

    incomplete view of the systemincomplete view of the system

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2525

  • 8/2/2019 M2-SDLC

    26/93

    Classical Waterfall ModelClassical Waterfall Model

    Requirements Analysis (Requirements Analysis (CONTCONT))

    Ambiguities and Contradictions:Ambiguities and Contradictions:

    must be identifiedmust be identifiedresolved by discussions with the customersresolved by discussions with the customers..

    Next, requirements are organized:Next, requirements are organized:

    into ainto a SSoftwareoftware RRequirementsequirements SSpecificationpecification(SRS) document.(SRS) document.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2626

  • 8/2/2019 M2-SDLC

    27/93

    Classical Waterfall ModelClassical Waterfall Model

    Requirements Analysis (Requirements Analysis (CONTCONT))

    Engineers doing requirements analysis andEngineers doing requirements analysis and

    specification:specification: are es gnate asare es gnate as Ana ystsAna ysts..

    Artifacts:Artifacts:

    --Software Requirement SpecificationSoftware Requirement Specification

    --Acceptance Test PlanAcceptance Test Plan

    --System Test PlanSystem Test Plan

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2727

  • 8/2/2019 M2-SDLC

    28/93

    Classical Waterfall ModelClassical Waterfall Model

    Requirement Analysis:Requirement Analysis:

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2828

  • 8/2/2019 M2-SDLC

    29/93

    Classical Waterfall ModelClassical Waterfall Model

    DesignDesign

    Design phase transforms requirementsDesign phase transforms requirements

    specification:specification: nto a ormnto a orm su ta e or mp ementat onsu ta e or mp ementat on nn

    some programming language.some programming language.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2929

  • 8/2/2019 M2-SDLC

    30/93

    Classical Waterfall ModelClassical Waterfall Model

    DesignDesign((CONTCONT))

    In technical terms:In technical terms:

    during design phase,during design phase, software architecturesoftware architecture isiser ve rom t e SRS ocument.er ve rom t e SRS ocument.

    Two design approaches:Two design approaches:

    traditional approach,traditional approach, object oriented approach.object oriented approach.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3030

  • 8/2/2019 M2-SDLC

    31/93

    Classical Waterfall ModelClassical Waterfall ModelDesignDesign(CONT.)(CONT.)

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3131

  • 8/2/2019 M2-SDLC

    32/93

    Classical Waterfall ModelClassical Waterfall Model

    Design(Design(CONTCONT))

    Traditional Design Approach consists ofTraditional Design Approach consists oftwo activities:two activities:

    Structured AnalysisStructured Analysis

    Structured DesignStructured Design

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3232

  • 8/2/2019 M2-SDLC

    33/93

    Classical Waterfall ModelClassical Waterfall ModelStructured DesignStructured Design HighHigh--level design:level design:

    decompose the system into modules,decompose the system into modules,

    represent invocation relationships amongrepresent invocation relationships among

    Detailed design:Detailed design:

    different modules designed in greaterdifferent modules designed in greater

    detail:detail: data structures and algorithms for each moduledata structures and algorithms for each module

    are designed.are designed.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3333

  • 8/2/2019 M2-SDLC

    34/93

    Classical Waterfall ModelClassical Waterfall Model

    Structured Analysis ActivityStructured Analysis Activity

    Identify all the functions to be performed.Identify all the functions to be performed.

    Identify data flow among the functions.Identify data flow among the functions. Decompose each function recursively intoDecompose each function recursively into

    subsub--functions.functions.

    Identify data flow among the subIdentify data flow among the sub--functions as well.functions as well.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3434

  • 8/2/2019 M2-SDLC

    35/93

    Classical Waterfall ModelClassical Waterfall Model

    Structured AnalysisStructured Analysis ((CONT.)CONT.)

    Carried out using Data flow diagrams (DFDs).Carried out using Data flow diagrams (DFDs).

    After structured analysis, carry out structuredAfter structured analysis, carry out structuredes gn:es gn:

    architectural design (or higharchitectural design (or high--level design)level design)

    detailed design (or lowdetailed design (or low--level design).level design).

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3535

  • 8/2/2019 M2-SDLC

    36/93

    Classical Waterfall ModelClassical Waterfall Model

    Object Oriented DesignObject Oriented Design

    First identify various objects (real worldFirst identify various objects (real world

    entities) occurring in the problem:entities) occurring in the problem: identify the relationships among the objects.identify the relationships among the objects.

    For example, the objects in a payFor example, the objects in a pay--roll softwareroll software

    may be:may be: employees, managers, payemployees, managers, pay--roll register, Departments,roll register, Departments,

    etcetc..

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3636

  • 8/2/2019 M2-SDLC

    37/93

    Classical Waterfall ModelClassical Waterfall Model

    DesignDesign(CONT.)(CONT.)

    Artifacts:Artifacts:

    --Detailed Design DocumentDetailed Design Document

    --Integration Test PlanIntegration Test Plan

    --Unit Test PlanUnit Test Plan

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3737

  • 8/2/2019 M2-SDLC

    38/93

    Classical Waterfall ModelClassical Waterfall Model

    ImplementationImplementation

    Purpose of implementation phasePurpose of implementation phase

    ( coding and unit testing phase):( coding and unit testing phase): translate software design into source code.translate software design into source code.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3838

  • 8/2/2019 M2-SDLC

    39/93

    Classical Waterfall ModelClassical Waterfall Model

    ImplementationImplementation(CONT)(CONT)

    During the implementation phase:During the implementation phase:

    each module of the design is coded,each module of the design is coded, each module is unit testedeach module is unit tested

    tested independently as a stand alone unit,tested independently as a stand alone unit,

    and debugged,and debugged, each module is documented.each module is documented.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3939

  • 8/2/2019 M2-SDLC

    40/93

    Classical Waterfall ModelClassical Waterfall Model

    ImplementationImplementation(CONT)(CONT)

    The purpose of unit testing:The purpose of unit testing:

    test if individual modules work correctly.test if individual modules work correctly. The end product of implementation phase:The end product of implementation phase:

    a set of program modules that have beena set of program modules that have been

    tested individually.tested individually.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4040

  • 8/2/2019 M2-SDLC

    41/93

    Classical Waterfall ModelClassical Waterfall Model

    Implementation(Coding)Implementation(Coding)

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4141

  • 8/2/2019 M2-SDLC

    42/93

    Classical Waterfall ModelClassical Waterfall Model

    Integration and System TestingIntegration and System Testing

    Different modules are integrated in a plannedDifferent modules are integrated in a planned

    manner:manner:

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4242

    ..

    Normally integration is carried out throughNormally integration is carried out through

    number of steps.(incremental way)number of steps.(incremental way)

    During each integration step,During each integration step, partially integrated system is tested.partially integrated system is tested.

  • 8/2/2019 M2-SDLC

    43/93

    Classical Waterfall ModelClassical Waterfall Model

    System TestingSystem Testing

    After all the modules have been successfullyAfter all the modules have been successfully

    integrated and tested:integrated and tested: system test ng s carr e out.system test ng s carr e out.

    Goal of system testing:Goal of system testing:

    ensure that the developed system functionsensure that the developed system functionsaccording to its requirements as specified inaccording to its requirements as specified in

    the SRS document.the SRS document.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4343

  • 8/2/2019 M2-SDLC

    44/93

    Classical Waterfall ModelClassical Waterfall ModelTestingTesting(CONT)(CONT)

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4444

  • 8/2/2019 M2-SDLC

    45/93

    Classical Waterfall ModelClassical Waterfall Model

    Artifacts (Coding & Testing):Artifacts (Coding & Testing):

    --Unit Tested CodeUnit Tested Code

    --Test Script for Integration TestingTest Script for Integration Testing--Test logs and reports after TestingTest logs and reports after Testing

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4545

  • 8/2/2019 M2-SDLC

    46/93

    Classical Waterfall ModelClassical Waterfall Model

    DeploymentDeployment

    --This phase mainly deals withThis phase mainly deals with packagingpackaging,,installationinstallation,, deliverydelivery andand supportsupport ofof

    develo ed softwaredevelo ed software..

    --The complete delivery package need to beThe complete delivery package need to beassembled and tested.assembled and tested.

    --Ensure that plan for support is ready.Ensure that plan for support is ready.

    --Early communication to the customers aboutEarly communication to the customers about

    the changes the software will bring about.the changes the software will bring about.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4646

  • 8/2/2019 M2-SDLC

    47/93

    Classical Waterfall ModelClassical Waterfall Model

    MaintenanceMaintenance

    Maintenance of any software product:Maintenance of any software product:

    requires much more effort than therequires much more effort than theeffort to develop the product itself.effort to develop the product itself.

    development effort to maintenance effortdevelopment effort to maintenance effort

    is typically 40:60.is typically 40:60.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4747

  • 8/2/2019 M2-SDLC

    48/93

    Pros and ConsPros and Cons Waterfall ModelWaterfall Model

    The Waterfall Model is very simple as the steps The Waterfall Model is very simple as the stepsare quite logical.are quite logical.

    But the user may not be able to specify all the But the user may not be able to specify all the

    requirements in the beginning itself.requirements in the beginning itself. Moreover, the final product is visible only at a Moreover, the final product is visible only at a

    very later stage.very later stage.

    It does not capture potential risks. It does not capture potential risks. Major errors discovered at later stage leads to Major errors discovered at later stage leads to

    disastrous results.disastrous results.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4848

  • 8/2/2019 M2-SDLC

    49/93

    Iterative Waterfall ModelIterative Waterfall Model

    Classical waterfall model is idealistic:Classical waterfall model is idealistic:

    assumes that no defect is introduced during anyassumes that no defect is introduced during any

    development activity.development activity. n pract ce:n pract ce:

    defects do get introduced in almost everydefects do get introduced in almost every

    phase of the life cycle.phase of the life cycle.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4949

  • 8/2/2019 M2-SDLC

    50/93

  • 8/2/2019 M2-SDLC

    51/93

    Iterative Waterfall ModelIterative Waterfall Model (CONT.)(CONT.)

    Once a defect is detected:Once a defect is detected:

    we need to go back to the phase where it waswe need to go back to the phase where it was

    introducedintroduced redo some of the work done during that andredo some of the work done during that and

    all subsequent phases.all subsequent phases.

    Therefore we need feedback paths in theTherefore we need feedback paths in theclassical waterfall model.classical waterfall model.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5151

  • 8/2/2019 M2-SDLC

    52/93

    Iterative Waterfall ModelIterative Waterfall Model (CONT.)(CONT.)

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5252

  • 8/2/2019 M2-SDLC

    53/93

    Iterative Waterfall ModelIterative Waterfall Model (CONT.)(CONT.)

    Errors should be detectedErrors should be detected in the same phasein the same phasein which they are introduced.in which they are introduced.

    For example:For example:

    if a design problem is detected in the design if a design problem is detected in the designphase itself,phase itself,

    the problem can be taken care of muchthe problem can be taken care of much

    more easilymore easily than say if it is identified at the end ofthan say if it is identified at the end of

    the integration and system testing phase.the integration and system testing phase.2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5353

  • 8/2/2019 M2-SDLC

    54/93

    Iterative Waterfall ModelIterative Waterfall Model (CONT.)(CONT.)

    Phase containment of errorsPhase containment of errors

    Reason: rework must be carried out not only toReason: rework must be carried out not only to

    the design but also to code and test phases.the design but also to code and test phases.

    The principle of detecting errors as close to itsThe principle of detecting errors as close to itspoint of introduction as possible:point of introduction as possible:

    is known as phase containment of errors.is known as phase containment of errors.

    Iterative waterfall model is by far the mostIterative waterfall model is by far the most

    widely used model.widely used model.

    Almost every other model is derived from theAlmost every other model is derived from the

    waterfall model.waterfall model.2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5454

  • 8/2/2019 M2-SDLC

    55/93

    Prototyping ModelPrototyping Model

    Before starting actual development,Before starting actual development,

    a working prototype of the system shoulda working prototype of the system should

    first be built.first be built.

    A rotot e is a to im lementation of aA rotot e is a to im lementation of a

    system:system:

    limited functional capabilitieslimited functional capabilities,,

    low reliabilitylow reliability,,

    inefficient performanceinefficient performance..

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5555

  • 8/2/2019 M2-SDLC

    56/93

    Prototyping ModelPrototyping Model (CONT.)(CONT.)

    Reasons for developing a prototypeReasons for developing a prototype

    Illustrate to the customer:Illustrate to the customer:

    input data formatsinput data formats,, messagesmessages,, reportsreports, or, or

    interactive dialogsinteractive dialogs.. xam ne ec n ca ssues assoc a e w pro ucxam ne ec n ca ssues assoc a e w pro uc

    development:development:

    Often major design decisions depend on issues like:Often major design decisions depend on issues like:

    response time of a hardware controller,response time of a hardware controller, efficiency of a sorting algorithm, etc.efficiency of a sorting algorithm, etc.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5656

  • 8/2/2019 M2-SDLC

    57/93

    Prototyping ModelPrototyping Model (CONT.)(CONT.)

    The third reason for developing a prototype is:The third reason for developing a prototype is:

    it is impossible toit is impossible to ``get it right''``get it right'' the first time,the first time, we must plan to throw away the first productwe must plan to throw away the first product

    if we want to develop a good product.if we want to develop a good product.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5757

  • 8/2/2019 M2-SDLC

    58/93

    Prototyping ModelPrototyping Model (CONT.)(CONT.)

    Start with approximate requirements.Start with approximate requirements.

    Carry out a quick design.Carry out a quick design.

    Prototype model is built using several shortPrototype model is built using several short--cuts:cuts:

    ShortShort--cuts might involve using inefficient,cuts might involve using inefficient,

    inaccurate, or dummy functions.inaccurate, or dummy functions.

    A function may use a table lookA function may use a table look--up ratherup rather

    than performing the actual computations.than performing the actual computations.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5858

  • 8/2/2019 M2-SDLC

    59/93

    Prototyping ModelPrototyping Model (CONT.)(CONT.)

    The developed prototype is submitted toThe developed prototype is submitted to

    the customer for his evaluation:the customer for his evaluation:

    Based on the user feedback, requirementsBased on the user feedback, requirements

    This cycle continues until the user approvesThis cycle continues until the user approves

    the prototype.the prototype.

    The actual system is developed using theThe actual system is developed using the

    classical waterfall approachclassical waterfall approach

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5959

  • 8/2/2019 M2-SDLC

    60/93

    Prototyping ModelPrototyping Model (CONT.)(CONT.)

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6060

  • 8/2/2019 M2-SDLC

    61/93

    Prototyping ModelPrototyping Model (CONT.)(CONT.)

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6161

  • 8/2/2019 M2-SDLC

    62/93

    Prototyping ModelPrototyping Model (CONT.)(CONT.)Requirements analysis and specification phaseRequirements analysis and specification phase

    becomes redundant:becomes redundant:

    final working prototype(with all user feedbacksfinal working prototype(with all user feedbacks

    incorporated)serves as an animated requirementsincorporated)serves as an animated requirementsspec cat on.spec cat on.

    Design and code for the prototype is usuallyDesign and code for the prototype is usually

    thrown away:thrown away:

    However, the experience gathered from developingHowever, the experience gathered from developingthe prototype helps a great deal while developingthe prototype helps a great deal while developing

    the actual product.the actual product.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6262

  • 8/2/2019 M2-SDLC

    63/93

    Prototyping ModelPrototyping Model (CONT.)(CONT.)

    Even though construction of a working prototypeEven though construction of a working prototypemodel involves additional costmodel involves additional cost ------ overalloverall

    development cost might be lower for:development cost might be lower for:

    systems with unclear user requirements,systems with unclear user requirements,

    ..

    Many user requirements get properly definedMany user requirements get properly defined

    and technical issues get resolved:and technical issues get resolved:

    these would have appeared later as changethese would have appeared later as changerequests and resulted in incurring massiverequests and resulted in incurring massive

    redesign costs.redesign costs.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6363

  • 8/2/2019 M2-SDLC

    64/93

    Pros and ConsPros and Cons -- Prototype ModelPrototype Model

    The prototyping model has less technical risks The prototyping model has less technical risks

    There is scope for accommodating new There is scope for accommodating new

    requirementsrequirements

    A part o t e pro uct s v s e at an ear y stage A part o t e pro uct s v s e at an ear y stage

    itselfitself

    This model may lead to indiscipline in software This model may lead to indiscipline in software

    developmentdevelopment

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6464

  • 8/2/2019 M2-SDLC

    65/93

    Evolutionary ModelEvolutionary Model

    Evolutionary model (aka successive versionsEvolutionary model (aka successive versionsor incremental model):or incremental model):

    The system is broken down into severalThe system is broken down into several

    modules which can be incrementallymodules which can be incrementallymp emente an e vere .mp emente an e vere .

    First develop theFirst develop the core modulescore modules of the system.of the system.

    The initial product skeleton is refined intoThe initial product skeleton is refined into

    increasing levels of capability byincreasing levels of capability by adding newadding new

    functionalities in successive versions.functionalities in successive versions.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6565

  • 8/2/2019 M2-SDLC

    66/93

    Evolutionary ModelEvolutionary Model(CONT.)(CONT.)

    Successive version of the product:Successive version of the product:

    functioning systems capable of performingfunctioning systems capable of performing

    some useful work.some useful work.

    A new re ease may nc u e new unct ona ty:A new re ease may nc u e new unct ona ty:

    also existing functionality in the currentalso existing functionality in the current

    release might have been enhanced.release might have been enhanced.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6666

  • 8/2/2019 M2-SDLC

    67/93

    Evolutionary ModelEvolutionary Model(CONT.)(CONT.)

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6767

  • 8/2/2019 M2-SDLC

    68/93

    Evolutionary ModelEvolutionary Model(CONT.)(CONT.)

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6868

  • 8/2/2019 M2-SDLC

    69/93

    Evolutionary ModelEvolutionary Model(CONT.)(CONT.)

    Advantages of Evolutionary ModelAdvantages of Evolutionary Model

    Users get a chance to experiment with a partiallyUsers get a chance to experiment with a partially

    developed system:developed system:

    ,,

    Helps finding exact user requirements:Helps finding exact user requirements:

    much before fully working system is developed.much before fully working system is developed.

    Core modules get tested thoroughly:Core modules get tested thoroughly: reduces chances of errors in final product.reduces chances of errors in final product.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6969

  • 8/2/2019 M2-SDLC

    70/93

    Evolutionary ModelEvolutionary Model(CONT.)(CONT.)

    Disadvantages of Evolutionary ModelDisadvantages of Evolutionary Model

    Often, difficult to subdivide problemsOften, difficult to subdivide problems

    into functional units:into functional units:

    w n n r m n y m m nw n n r m n y m m n

    and delivered.and delivered.

    evolutionary model is useful for very largeevolutionary model is useful for very large

    problems,problems, where it is easier to find modules for incrementalwhere it is easier to find modules for incremental

    implementation.implementation.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7070

  • 8/2/2019 M2-SDLC

    71/93

    Evolutionary Model withEvolutionary Model with

    IterationIterationMany organizations use a combinationMany organizations use a combination

    of iterative and incremental development:of iterative and incremental development:

    a new release may include new functionalitya new release may include new functionality

    existing functionality from the current releaseexisting functionality from the current release

    may also have been modified.may also have been modified.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7171

  • 8/2/2019 M2-SDLC

    72/93

    Evolutionary Model withEvolutionary Model with

    IterationIteration(CONT.)(CONT.)

    Several advantages:Several advantages:

    Training can start on an earlier releaseTraining can start on an earlier release

    customer feedback taken into accountcustomer feedback taken into account Markets can be created:Markets can be created:

    for functionality that has never been offered.for functionality that has never been offered.

    Frequent releases allow developers to fixFrequent releases allow developers to fixunanticipated problems quickly.unanticipated problems quickly.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7272

  • 8/2/2019 M2-SDLC

    73/93

    Spiral ModelSpiral Model

    Proposed by Boehm in 1988.Proposed by Boehm in 1988. Each loop of the spiral represents aEach loop of the spiral represents a phase of thephase of the

    software process:software process:

    the innermost loop might be concerned with systemthe innermost loop might be concerned with system

    feasibilitfeasibilit

    the next loop with system requirements definition,the next loop with system requirements definition,

    the next one with system design, and so on.the next one with system design, and so on.

    There are no fixed phases in this model, the phasesThere are no fixed phases in this model, the phasesshown in the figure are just examples.shown in the figure are just examples.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7373

  • 8/2/2019 M2-SDLC

    74/93

    Spiral ModelSpiral Model(CONT.)(CONT.)

    Spiral model is a meta Spiral model is a meta--model, that is model formodel, that is model forother models.other models.

    Spiral Model gives room for risk analysis also Spiral Model gives room for risk analysis also

    Each phase, let it be Analysis or Design or Each phase, let it be Analysis or Design orCoding should iterate through four activitiesCoding should iterate through four activities

    PlanningPlanning

    Evaluate AlternativesEvaluate Alternatives

    Analyze RisksAnalyze Risks EngineeringEngineering

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7474

  • 8/2/2019 M2-SDLC

    75/93

    Spiral ModelSpiral Model(CONT.)(CONT.)

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7575

  • 8/2/2019 M2-SDLC

    76/93

    Spiral ModelSpiral Model(CONT.)(CONT.)

    Objective Setting (First Quadrant)Objective Setting (First Quadrant)

    Identify objectivesIdentify objectives of the phase,of the phase,

    Examine the risksExamine the risks associated with theseassociated with theseobjectives.objectives.

    Risk:Risk:

    any adverse circumstance that might hamperany adverse circumstance that might hampersuccessful completion of a software project.successful completion of a software project.

    FindFind alternate solutionalternate solutions possible.s possible.2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7676

  • 8/2/2019 M2-SDLC

    77/93

    Spiral ModelSpiral Model(CONT.)(CONT.)

    Risk Assessment and Reduction (Second Quadrant)Risk Assessment and Reduction (Second Quadrant)

    For each identifiedFor each identified project riskproject risk,,

    aa detailed analysisdetailed analysis is carried out.is carried out. Steps are taken toSteps are taken to reduce the riskreduce the risk..

    For example, if there is a risk that theFor example, if there is a risk that the

    requirements are inappropriate or not sufficientrequirements are inappropriate or not sufficient

    enough:enough:

    a prototype system may be developeda prototype system may be developed

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7777

  • 8/2/2019 M2-SDLC

    78/93

    Spiral ModelSpiral Model(CONT.)(CONT.)

    Development and Validation (Third quadrant):Development and Validation (Third quadrant):

    develop and validatedevelop and validate the next level of thethe next level of the

    product.product.

    Review and Planning (Fourth quadrant):Review and Planning (Fourth quadrant):review the resultsreview the results achieved so far with theachieved so far with the

    customercustomer andand plan the next iterationplan the next iteration around thearound the

    spiral.spiral.

    With each iteration around the spiral:With each iteration around the spiral:

    progressively more complete version of theprogressively more complete version of the

    software gets builtsoftware gets built..2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7878

  • 8/2/2019 M2-SDLC

    79/93

    Spiral ModelSpiral Model(CONT.)(CONT.)

    For example, in coding, we can plan who will For example, in coding, we can plan who will

    code what and time required for coding.code what and time required for coding.

    A different algorithm can be considered as an A different algorithm can be considered as an

    alternative.alternative. Risks can be Risks can be nonnon--availability of the latestavailability of the latest

    compilercompiler ororinexperienced developmentinexperienced development

    teamteam..

    The real execution of coding is done only after The real execution of coding is done only after

    considering all these.considering all these.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7979

  • 8/2/2019 M2-SDLC

    80/93

    Spiral ModelSpiral Model(CONT.)(CONT.)

    Spiral Model as a meta modelSpiral Model as a meta model Subsumes all discussed models:Subsumes all discussed models:

    a single loop spiral represents waterfall model.a single loop spiral represents waterfall model.

    uses an evolutionary approachuses an evolutionary approach ----

    iterations throu h the s iral are evolutionar levels.iterations throu h the s iral are evolutionar levels.

    enables understanding and reacting to risks during eachenables understanding and reacting to risks during each

    iteration along the spiral.iteration along the spiral.

    uses:uses:

    prototyping as a risk reduction mechanismprototyping as a risk reduction mechanism retains the stepretains the step--wise approach of the waterfall modelwise approach of the waterfall model

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8080

  • 8/2/2019 M2-SDLC

    81/93

    Pros and ConsPros and Cons Spiral ModelSpiral Model

    The Spiral Model gives room for The Spiral Model gives room forrisk analysisrisk analysis..

    It is more realistic as it is iterative. It is more realistic as it is iterative. It requires It requires good expertise in risk analysisgood expertise in risk analysis andand

    project management.project management.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8181

  • 8/2/2019 M2-SDLC

    82/93

    Comparison of Different LifeComparison of Different Life

    Cycle ModelsCycle Models Iterative waterfall modelIterative waterfall modelmost widely used model.most widely used model.

    But, suitable only for wellBut, suitable only for well--understoodunderstoodproblems.problems.

    Prototype model is suitable for projects notPrototype model is suitable for projects not

    well understood:well understood:

    user requirementsuser requirements

    technical aspectstechnical aspects2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8282

  • 8/2/2019 M2-SDLC

    83/93

    Comparison of Different LifeComparison of Different Life

    Cycle Models..Cycle Models.. Evolutionary model is suitable for largeproblems:

    can be decomposed into a set of modules

    that can be incrementall im lemented incremental delivery of the system is

    acceptable to the customer.

    The spiral model:

    suitable for development of technicallychallenging software products that are

    subject to several kinds of risks..2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8383

  • 8/2/2019 M2-SDLC

    84/93

    RAD MODELRAD MODEL

    A NewA New version of waterfall modelversion of waterfall model

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8484

  • 8/2/2019 M2-SDLC

    85/93

    RAD MODELRAD MODEL(CONT..)(CONT..)

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8585

  • 8/2/2019 M2-SDLC

    86/93

    RAD MODELRAD MODEL(CONT)(CONT)

    RRapidapid AApplicationpplication DDevelopment(RAD) is an incremental s/wevelopment(RAD) is an incremental s/w

    process model that emphasizes a short development cycle.process model that emphasizes a short development cycle.

    It is a high speed adoption of the waterfall model ,in which rapidIt is a high speed adoption of the waterfall model ,in which rapid

    development is achieved by using adevelopment is achieved by using a component basedcomponent based

    approac .approac .

    COMMUNICATIONCOMMUNICATION: Works to: Works to understand the businessunderstand the business

    problemproblem and the information characteristics the s/w mustand the information characteristics the s/w must

    accommodate.accommodate.

    PLANNINGPLANNING : It is essential because multiple s/w team work in: It is essential because multiple s/w team work inparallel on different system functions . It is theparallel on different system functions . It is the estimation ofestimation of

    scheduling trackingscheduling tracking..

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8686

  • 8/2/2019 M2-SDLC

    87/93

    RAD MODELRAD MODEL(CONT)(CONT)

    MODELING :MODELING : There are three types ofThere are three types of

    modelingmodeling

    --business modelingbusiness modeling

    -- ata mo e ngata mo e ng

    --process modelingprocess modeling

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8787

  • 8/2/2019 M2-SDLC

    88/93

    RAD MODELRAD MODEL(CONT)(CONT)

    Business modelingBusiness modeling : In this phase the following: In this phase the following

    question are to be askedquestion are to be asked

    1.What information is required1.What information is required

    2.W at n ormat on s to e generate2.W at n ormat on s to e generate

    3.Who generate the information3.Who generate the information

    4.Where does the information go4.Where does the information go

    5.Who process the information5.Who process the information

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8888

  • 8/2/2019 M2-SDLC

    89/93

    RAD MODELRAD MODEL(CONT)(CONT)

    Data modelingData modeling : The above phase is refined into: The above phase is refined intoa set ofa set ofdata objectsdata objects that are required tothat are required to

    support the business.support the business.

    The characteristics of each object areThe characteristics of each object areidentified and their relationship etweenidentified and their relationship etween

    these objects are identifiedthese objects are identified..

    Process modelingProcess modeling : In this phase: In this phase processingprocessing

    description are createddescription are created for adding ,modifyingfor adding ,modifying, deleting or retrieving data object ., deleting or retrieving data object .

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8989

  • 8/2/2019 M2-SDLC

    90/93

    RAD MODELRAD MODEL(CONT)(CONT) CONSTRUCTION:CONSTRUCTION: It emphasizesIt emphasizes the use ofthe use of

    pre existing s/w componentspre existing s/w components which havewhich have

    already been tested and the application ofalready been tested and the application of

    automatic code generation . it is of 3 stages:automatic code generation . it is of 3 stages:

    omponen reuse ava a eomponen reuse ava a e

    (ii)Automatic code generation ((ii)Automatic code generation ( EclipesEclipes, MS Visual, MS Visual

    Studio)Studio)

    (iii)Testing(iii)TestingSo itSo it minimizes the testing and developmentminimizes the testing and development

    time.time.2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 9090

  • 8/2/2019 M2-SDLC

    91/93

    RAD MODELRAD MODEL(CONT)(CONT)

    DEPLOYMENT :DEPLOYMENT : It is of 3 phasesIt is of 3 phases

    ((ii) Integration of the component developed by) Integration of the component developed byerent RAD team.erent RAD team.

    (ii)Delivery of the s/w to the client and support.(ii)Delivery of the s/w to the client and support.

    (iii)To collect the feedback from the client.(iii)To collect the feedback from the client.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 9191

  • 8/2/2019 M2-SDLC

    92/93

    Disadvantage of RAD ModelDisadvantage of RAD Model

    For large project ,RAD requires sufficientFor large project ,RAD requires sufficient

    resources(resources(manpower and technicalmanpower and technical) to create) to create

    the right no of RAD teams.the right no of RAD teams.

    very high.very high.

    If the system can not be properly modularizedIf the system can not be properly modularized

    building the components necessary for RADbuilding the components necessary for RADwill be problematic.will be problematic.

    2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 9292

  • 8/2/2019 M2-SDLC

    93/93

    The RAD model:The RAD model:

    --It is used in component based s/wIt is used in component based s/w

    engineering and where we need to developengineering and where we need to develop

    ..

    2/21/20122/21/2012 MODULEMODULE II SDLCII SDLC 9393


Recommended