Life Cy Cycle Model

Embed Size (px)

Citation preview

  • 8/10/2019 Life Cy Cycle Model

    1/19

    Software Life-Cycle Models

    Hans Van Vliet, Software Engineering: Principles and Practices, 3rdedition, Wiley 2008. (Chapter 3)

    Eric J. Braude, Software Engineering, An Object-OrientedPerspective, Wiley, 2001. (Section 2.4. Identifying and retiring risks)

    Roger S. Pressman, Software Engineering, A Practitioners Approach, 6th edition, McGraw Hill, 2005. (Chapter 25. RiskManagement)

  • 8/10/2019 Life Cy Cycle Model

    2/19

    Software Life-Cycle Models

    Life-cycle model (formerly, process model ) The steps through which the product

    progresses Requirements phase Specification phase Design phase Implementation phase Integration phase Maintenance phase Retirement

    Q: In what order to perform these steps?

    2

  • 8/10/2019 Life Cy Cycle Model

    3/19

    Many Life-Cycle Models

    Several dimensions Sequential vs. iterative Whole vs. incremental Elaborative vs. transformational Use of prototype

    Examples Waterfall, Rapid prototyping, Incremental, Spiral,

    Model-driven, Feature-driven, Unified Process(UP), Extreme Programming (XP),

    3

  • 8/10/2019 Life Cy Cycle Model

    4/19

    Build and Fix Model

    Problems No specifications No design

    Totally unsatisfactory Need life-cycle model

    Game plan Phases

    Milestones

    4

  • 8/10/2019 Life Cy Cycle Model

    5/19

    Waterfall Model Characterized by

    Feedback loops Documentation-driven Operational product at end

    Advantages Documentation Maintenance may be easier

    Disadvantages Customer may not be aware of

    what getting Costly when discrepancy found

    in later stages Sometimes freezes part of

    development May lead to badly structured

    systems5

  • 8/10/2019 Life Cy Cycle Model

    6/19

    Rapid Prototyping Model(Throwaway)

    Determine needs ofcustomer

    Refine with interaction ofcustomers

    Experiment with parts notunderstood Prototype system poorly

    structured Operational product at end

    6

  • 8/10/2019 Life Cy Cycle Model

    7/19

    Evolutionary Prototyping

    Process not visible (needdeliverables)

    Need highly skilled team

    Appropriate Small teams Part of system not well

    understood Short lifecycle system

    7

    Problem description(outline)

    Specification Development Validation

    Initial version Intermediate version Final version

    Concurrentactivities

  • 8/10/2019 Life Cy Cycle Model

    8/19

    Incremental Model

    Divide project into builds Operational quality portion

    of product within weeks Smaller capital outlay,

    rapid return on investment Need open architecture

    maintenance implications Requires skilled

    developers

    8

  • 8/10/2019 Life Cy Cycle Model

    9/19

    Incremental Model (Variation)

    More risky version pieces may not fit

    9

  • 8/10/2019 Life Cy Cycle Model

    10/19

    Transformation Model

    Viewed as a sequence of steps that transforms a specificationinto an implementation

    Use of formal specifications/models and transformation rules Correctness by construction program correctness proof E.g., Model-driven development (MDD)

    10

    Transformation/optimization

    Requirementsanalysis andspecification

    Developmenthistory

    Reusablecomponents

    Requirements Formalspecifications

    Formal specifications(lower level)

    Decisions, rationaleand trans. rules

  • 8/10/2019 Life Cy Cycle Model

    11/19

    Spiral Model

    Keys: risk analysis and evaluation Simplified form: Waterfall model

    plus risk analysis

    Precede each phase by Alternatives Risk analysis

    Follow each phase by Evaluation Planning of next phase

    11

  • 8/10/2019 Life Cy Cycle Model

    12/19

    Simplified Spiral Model

    Focus on eliminating errors early Examines level of effort Accommodates growth and

    change (evolution) Restrictions

    In-house development (notcontracted)

    Good for large-scale systems Requires training in risk

    analysis and resolution

    12

  • 8/10/2019 Life Cy Cycle Model

    13/19

    Full Spiral Model (contd)

    13

  • 8/10/2019 Life Cy Cycle Model

    14/19

    Risk

    A risk is something that may occur in the course of aproject, and which, under the worst outcome, would affectit negatively and significantly [Braude 2001, Section 2.4].

    Two types:

    Those that can be avoided or worked around Those cannot be avoided

    Problems are those risks that have not been identified.Risks must be managed!

    Risk retirement is process whereby risks are reduced oreliminated.

    14

  • 8/10/2019 Life Cy Cycle Model

    15/19

    Risk Management Activities

    Identification Mindset: try to continually identify risks Write down concerns and press all team members to think of

    moreRetirement planning Outline the steps that can be taken to retire the risk.Prioritization Options: l ikelihood (10 most likely), i mpact (10 most impact),

    r etirement c ost (10 highest cost)

    Formula: (11 - l ) (11 - i ) rc Lowest is first to addressRetirement or mitigation

    15

  • 8/10/2019 Life Cy Cycle Model

    16/19

    Types of Risks (Pressman 2005, Chapter 25)

    Generic (every project) Product size Business impact (constraints imposed by mgmt) Customer characteristics Process definition Development environment Technology to be built

    Staff size and experience Product-specific (characteristics of product)

    Examples?

    16

  • 8/10/2019 Life Cy Cycle Model

    17/19

    Example Risks

    Underestimation of sizeTime lag in learning new toolsLack of top management commitment

    Personnel resignChanging scope and/or objectivesTechnical breakthroughs change in product

    Unrealistic schedulePersonnel lack required knowledge or skills

    17

  • 8/10/2019 Life Cy Cycle Model

    18/19

    Feature Driven Development (FDD)

    Develop an

    OverallModel

    Build aFeature List Plan by

    Feature

    Design byFeature Build by

    Feature

    1) Selection of domainexperts and development

    teams2) Completion of

    requirements definition byguidance team

    Entry Criteria

    Completion of:

    a) the object model(class, sequencediagrams andexplanatory notes)b) Interview Reportc) Feasibility Reportd) Use case scenarios

    Exit Criteria

    Completion of thedevelop an overall

    model process

    Entry Criteria

    Completion of thebuild a feature list

    process

    Completion of theplan by feature

    process

    Completion of thedesign by feature for

    each of the selectedfeatures

    Entry CriteriaEntry Criteria

    Entry Criteria

    Completion of:

    a) feature list, including alist of major feature setsand a list of featureswithin each feature setb) GUIc) Modelsd) Requirements

    Completion of:

    a) development plan,consisting feature setswith completion dates

    Completion of:

    a) design package,comprising a designdocument, referencedrequirements in the form ofdocuments, memos,supporting documentation,design alternatives, latestobject model, class andmethod prologues, to dotask list on affected classesfor each team members

    Completion of:

    a) development ofone or morefeatures (client-valued functions)

    Exit CriteriaExit Criteria

    Exit CriteriaExit Criteria

    18

  • 8/10/2019 Life Cy Cycle Model

    19/19

    Exam Questions

    What is Extreme Programming? What are the advantages and disadvantages

    of using Extreme Programming as

    development model?

    19