Transcript
  • 8/9/2019 Software Life Cycle Modells

    1/5

    Life-Cycle Models Build-and-fix model

    Waterfall model

    Rapid prototyping model

    Spiral model

    Build-and-fix model

    Most software is developed using build-and-fix model. Basically there is no model.

    Disadvantages:No specificationsNo design

    Lack of visibility

    Easily leads to poorly structured systemsTotally unsatisfactory

    Need life-cycle model

    Waterfall Model

    The waterfall model is the classic lifecycle model it is widely known, understood

    and commonly used

  • 8/9/2019 Software Life Cycle Modells

    2/5

    Advantages:

    Each phase is well documented.

    Maintenance is easier.Easy to understand and implement.

    Widely used and known

    Disadvantages:

    If there is a mismatch between what the client wanted and was is built this

    will not be known till the product is delivered.Difficult and expensive to make changes to documents,

    Rapid Prototyping Model

    Rapid prototyping emphasizes requirements analysis and validation, also called:

    customer oriented development, evolutionary prototyping

    Advantages:

    Any mismatches between requirement and the product can be found early.Reduces risk of incorrect user requirements

    Good where requirements are changing/uncommitted

    Regular visible progress aids managementSupports early product marketing

    Disadvantages:

    Sometimes the prototype ends up being the final product which results in quality,maintenance problems. An unstable/badly implemented prototype often becomes the final

    product.

    Requires extensive customer collaboration

    Costs customers money Needs committed customers

    Difficult to finish if customer withdraws

  • 8/9/2019 Software Life Cycle Modells

    3/5

    May be too customer specific, no broad marketDifficult to know how long project will last

    Spiral Model

    Since end-user requirements are hard to

    obtain/define, it is natural to develop software

    in an experimental way: e.g.

    Cumulative cost Evaluate alternatives,Identify & resolve risks

    Develop & verify

    next-level productPlan next phase

    Determine objectives,

    alternatives & constraints

    Review &

    commitmen

    t

    Prototypes

    P1 P2 P3

    Operational

    PrototypeStart

    En

    d

    Requirement

    s

    planDevelopmen

    t

    plan

    Integration &

    Test plan

    Requirementsvalidation

    Design,

    Validation

    &

    Verification

    Detailed design

    Coding

    Unit &

    Integration

    TestingAcceptance

    Testing

    Concept

    Of Operation

  • 8/9/2019 Software Life Cycle Modells

    4/5

    1. Build some software2. See if it meets customer requirements

    3. If no goto 1 else stop.

    AdvantagesRealism: the model accurately reflects the iterative nature of software development

    on projects with unclear requirements

    Flexible: incoporates the advantages of the waterfal and rapid prototyping methods

    Comprehensive model decreases riskGood project visibility.

    Disadvantages

    Needs technical expertise in risk analysis to really workModel is poorly understood by non-technical management, hence not so widely used

    Complicated model, needs competent professional management. High administrative

    overhead.

    Incremental model

    Rather than deliver the system as a single delivery, the development and delivery is

    broken down into increments with each increment delivering part of the requiredfunctionality

  • 8/9/2019 Software Life Cycle Modells

    5/5

    Advantages:

    Lower risk of overall project failureCustomer value can be delivered with each increment so system functionality

    is available earlierThe highest priority system services tend to receive the most testing

    Disadvantages:Build-and-fix danger

    Contradiction in terms