s.e chap models

Upload: taqi-shah

Post on 05-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 S.E chap Models

    1/41

    Prescriptive Process Models

  • 8/2/2019 S.E chap Models

    2/41

    Prescriptive Models

    Prescriptive process models advocate an orderly approach tosoftware engineering

    That leads to a few questions

    If prescriptive process models strive for structure and order, are theyinappropriate for a software world that increases on change?

    Yet, if we reject traditional process models (and the order theyimply) and replace them with something less structured, do we makeit impossible to achieve coordination and coherence in softwarework?

  • 8/2/2019 S.E chap Models

    3/41

  • 8/2/2019 S.E chap Models

    4/41

  • 8/2/2019 S.E chap Models

    5/41

    The Waterfall Model

    Communication

    Planning

    Modeling

    ConstructionDeployment

    analysis

    designcode

    test

    project init iat ion

    requirement gat hering estimating

    scheduling

    tracking

    delivery

    supportfeedback

  • 8/2/2019 S.E chap Models

    6/41

    The Waterfall Model

  • 8/2/2019 S.E chap Models

    7/41

  • 8/2/2019 S.E chap Models

    8/41

    The Waterfall Model

    Problems: Sequential flow. Real projects rarely follow the sequential flow

    that the model proposes.

    Requirements. It is often difficult for the customer to state allrequirements explicitly. It has difficulty accommodating the

    natural uncertainty that exists at the beginning of manyprojects.

    Patience. The customer must have patience. A working versionof the programs will not be available until late in the project time-span.

  • 8/2/2019 S.E chap Models

    9/41

  • 8/2/2019 S.E chap Models

    10/41

    1

    Evolutionary Models: Prototyping

    Communication

    Quick plan

    Constructionof

    prototype

    Model ing

    Quick design

    Delivery

    & Feedback

    Deployment

    communication

    Quickplan

    ModelingQuickdesign

    Construction

    of prototype

    Deploymentdelivery &feedback

  • 8/2/2019 S.E chap Models

    11/41

    1

    Prototyping

    Customer is not clear about detailed input, outputrequirements

    Developer is unsure of a particular aspect of the design

    Allows better understanding of what is to be built when

    requirements are fuzzy It can be treated as a standalone process model or

    within the context of any one of the process models

    Serves as a mechanism for identifying software

    requirements.

    Evolutionary Models

  • 8/2/2019 S.E chap Models

    12/41

    Evolutionary Models: Prototyping

    1

  • 8/2/2019 S.E chap Models

    13/41

    Evolutionary Models: Prototyping

    1

  • 8/2/2019 S.E chap Models

    14/41

    Evolutionary Models: Prototyping

    1

  • 8/2/2019 S.E chap Models

    15/41

    1

    Incremental Models

  • 8/2/2019 S.E chap Models

    16/41

    1

    The RAD Model

    Communication

    Planning

    Modelingbusiness modeling

    data modeling

    process modeling

    Constructioncomponent reuse

    auto mat ic codegenerat ion

    test ing

    Deployment

    60 - 90 days

    Team # 1

    Modelingbusiness modeling

    data model ing

    process model ing

    Constructioncomponen t reuse

    autom at ic code

    generat ion

    tes t i ng

    M o d e l i n gbusiness modelingdata modelingprocess modeling

    C o n s t r u c t i o ncomponent reuse

    automatic code

    generationtesting

    Team # 2

    Team # n

    integrat ion

    delivery

    feedback

    Incremental Models

  • 8/2/2019 S.E chap Models

    17/41

    1

  • 8/2/2019 S.E chap Models

    18/41

    1

  • 8/2/2019 S.E chap Models

    19/41

    1

    Incremental Models

  • 8/2/2019 S.E chap Models

    20/41

    2

    The RAD Model

    Short development cycle High-speed adaptation of the waterfall model

    Uses a component-based construction approach

    Uses the generic framework activities

    Multiple software teams work in parallelon differentfunctions

    Drawbacks: May not be appropriate if: System cannot be properly modularized

    Technical risks are high

    High performance is an issue

    Incremental Models

  • 8/2/2019 S.E chap Models

    21/41

    2

  • 8/2/2019 S.E chap Models

    22/41

    2

  • 8/2/2019 S.E chap Models

    23/41

    2

    Th I l M d lIncremental Models

  • 8/2/2019 S.E chap Models

    24/41

    2

    The Incremental Model

    C o m m u n i c a t i o n

    P l a n n i n g

    M o d e l i n g

    C o n s t r uc t i o n

    D e p l o y m e n t

    d e l i v e r y

    f e e d b a c k

    analys is

    design code

    t e s t

    increment # 1

    increment # 2

    delivery of

    1st increment

    delivery of

    2nd increment

    delivery of

    nt h increment

    increment # n

    project calendar t ime

    C o m m u n i c a t i o n

    P l a n n i n g

    M o d e l i n g

    C o n s t r u c t i o n

    D e p l o y m e n t

    d e l i v e r y

    f e e d b a c k

    analys is

    design code

    t e s t

    C o m m u n i c a t i o n

    P l a n n i n g

    M o d e l i n g

    C o n s t r u c t i o n

    D e p l o y m e n t

    d e l i v e r y

    f e e d b a c k

    analys is

    designcode

    t e s t

  • 8/2/2019 S.E chap Models

    25/41

    2

    Incremental Models

  • 8/2/2019 S.E chap Models

    26/41

    2

    The Incremental Model

    Waterfall model applied in an iterative manner Delivery of an operational product with each increment

    Linear sequences in a staggered fashion.

    Each linear sequence produces deliverable increments of

    the software (e.g. word processing software) Increment 1: file management, editing and document production

    Increment 2: More sophisticated editing and production

    Increment 3: Spelling and grammar checking

    Increment 4: Advanced page layout capability

    The first increment is the core product

  • 8/2/2019 S.E chap Models

    27/41

    2

  • 8/2/2019 S.E chap Models

    28/41

    2

    Evolutionary Models: The Spiral

  • 8/2/2019 S.E chap Models

    29/41

    2

    Evolutionary Models: The Spiral

    communication

    planning

    modeling

    constructiondeployment

    deliveryfeedback

    start

    analysisdesign

    code

    test

    estimation

    scheduling

    risk analysis

    Evolutionary Models

  • 8/2/2019 S.E chap Models

    30/41

    3

    The Spiral

    Software is developed in a series of evolutionaryreleases

    First circuit around the spiral: product specification

    The project manager adjusts the number of iterationsrequired to complete the software

    Circuit 1: Product specification

    Circuit 2: Prototype

    Circuit n: More sophisticated versions of the software

    Each pass through the planning region result inadjustments to the project plan

    Evolutionary Models

  • 8/2/2019 S.E chap Models

    31/41

    3

    The Spiral

    It can be adapted to apply throughout the life of software Iterations around the spiral may be used to represent:

    Concept development project

    Product development

    Product enhancement

    Is a realistic approach to the development of large-scalesystems.

    It is not a panacea: it may be difficult to convincecustomers that the approach is controllable

    C M d lEvolutionary Models

  • 8/2/2019 S.E chap Models

    32/41

    3

    Concurrent Model

    Under review

    Baselined

    Done

    Under

    revision

    Awaiting

    changes

    Under

    development

    none

    Modeling act ivity

    represents the state

    of a software engineeringactivity o r t ask

    Evolutionary Models

  • 8/2/2019 S.E chap Models

    33/41

    3

    Concurrent Model

    Also known as concurrent engineering Consist of framework activities, SE actions and tasks,

    and associated states.

    The activity can be in one of the states at a time

    All activities exist concurrently but reside in differentstates. Communication activity: awaiting changes state

    Modeling activity: under development

    Appropriate for system engineering projects where

    different teams are involved

    Evolutionary Models

  • 8/2/2019 S.E chap Models

    34/41

    3

    Final Comment

    A problem to project planning: uncertain number of cycles required

    Most project management and estimation techniques are basedon linear layouts

    Undefined maximum speed:

    If evolution is too fast, the process will fall into chaos

    If evolution is too slow, then productivity could be affected

    Evolutionary Models

  • 8/2/2019 S.E chap Models

    35/41

    3

    Final Comment

    Excessive focus on high quality: We should prioritize the speed of the development over zero

    defects

    Extending the development in order to reach high quality couldresult in late delivery of the product.

    It is possible to use an evolutionary process toemphasize flexibility, extensibility, and speed ofdevelopment.

    The challenge is to establish a proper balance between

    product parameters and customer satisfaction.

    Still Other Process Models

  • 8/2/2019 S.E chap Models

    36/41

    3

    Still Other Process Models

    Component based developmentthe process to apply

    when reuse is a development objective

    Formal methodsemphasizes the mathematicalspecification of requirements

    AOSDprovides a process and methodological

    approach for defining, specifying, designing, andconstructing aspects

    Unified Processa use-case driven, architecture-centric, iterative and incremental software process

    closely aligned with the Unified Modeling Language(UML)

    The Unified Process (UP)

  • 8/2/2019 S.E chap Models

    37/41

    3

    inception

    The Unified Process (UP)

    soft ware increment

    Release

    Inception

    Elaboration

    construction

    transition

    production

    inception

    elaboration

  • 8/2/2019 S.E chap Models

    38/41

    3

    The Unified Process (UP)

    A framework for OO SE using UML Has its roots in the industrial experience within Ericsson

    Successor methodologies led by Rational and Objectory

    Status: a widely adopted industrial standard

    Uses the Unified Modeling Language (UML) Several OOA and OOD methods were proposed during

    the 80s and early 90s

    UP combine the best features of each individual method.

    Rational Corporation developed automated tools tosupport UML methods

  • 8/2/2019 S.E chap Models

    39/41

    3

    The Unified Process (UP) - Phases

    1.

    Inception (feasibility study) Document a vision of the product

    Who are the expected users of the system

    What is the preliminary high-level architecture of the system

    What is the development plan and what are the development costs?

    2. Elaboration Use cases are specified in detail

    Software architecture is developed and specified

    3. Construction developing and testing code

    4. Transition corresponds to beta testing.

    5. Production

    deployment, monitored use of software

    UP Phases

  • 8/2/2019 S.E chap Models

    40/41

    4

    Inception Elab or at io n Co nst r uct ion Tr an sit ion Pr odu ct io n

    UP Phases

    Workflows

    Requirements

    Analysis

    Design

    Implementation

    Test

    Iterations #1 #2 #n-1 #n

    Support

    UP W k P d

  • 8/2/2019 S.E chap Models

    41/41

    4

    UP Work Products

    Inception phase

    Elaboration phase

    Construction phase

    Transit ion phase

    Vision document

    Init ial use-case mod el

    Init ial project glossary

    Init ial business case

    Init ial risk assessment .

    Project plan,

    phases and ite rat ions.

    Business model,

    if necessary.

    One or more prot ot ypesI n c e pt i on

    Use-case mode l

    Supplement ary requirements

    including non-funct ional

    Analysis model

    Software archit ecture

    Descript ion.

    Execut able archit ect ural

    prototype.

    Preliminary design model

    Revised risk list

    Project plan including

    it erat ion plan

    adapt ed workflows

    milest ones

    t echnical work product s

    Preliminary user manual

    Design model

    Soft ware component s

    Integrat ed soft ware

    increment

    Test p lan and procedure

    Test cases

    Support documentat ion

    user manuals

    inst allation manuals

    descript ion of current

    increment

    Delivered soft ware increment

    Bet a t est reports

    Gene ral user feed back