rup overview presentation 07-14-2006[1]

Upload: johnekadiri

Post on 04-Jun-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    1/27

    IBM Software Group

    2003 IBM Corporation

    Rational Unified Process: A Best

    Practices Approach

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    2/27

    Best PracticesProcess Made Practical

    Best PracticesProcess Made Practical

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

    Best Practices of Software EngineeringBest Practices of Software Engineering

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    3/27

    Best PracticesProcess Made Practical

    Best PracticesProcess Made Practical

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

    Practice 1: Develop IterativelyPractice 1: Develop Iteratively

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    4/27

    Waterfall Development CharacteristicsWaterfall Development Characteristics

    Delays confirmation ofcritical risk resolution

    Measures progress by

    assessing work-productsthat are poor predictors oftime-to-completion

    Delays and aggregatesintegration and testing

    Precludes early

    deployment Frequently results in major

    unplanned iterations

    Delays confirmation ofcritical risk resolution

    Measures progress by

    assessing work-productsthat are poor predictors oftime-to-completion

    Delays and aggregatesintegration and testing

    Precludes early

    deployment Frequently results in major

    unplanned iterations

    Code and unit test

    Design

    Subsystem integration

    System test

    Waterfall ProcessRequirements

    analysis

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    5/27

    Iterative Development Produces an ExecutableIterative Development Produces an Executable

    InitialPlanning

    Planning

    Requirements

    Analysis & Design

    Implementation

    Deployment

    Test

    Evaluation

    ManagementEnvironment

    Each iterationresults in anexecutable release

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    6/27

    Project Schedule

    Reduce Scrap/Rework: Use an Iterative ProcessReduce Scrap/Rework: Use an Iterative Process

    Prototypes Architecture Functional Product

    Releases Release

    Prototypes Architecture Functional Product

    Releases Release

    100%

    WaterfallProject ProfileWaterfallProject Profile

    IterativeProject Profile

    IterativeProject Profile

    DevelopmentProgress(% coded)

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    7/27

    Practice 2: Manage RequirementsPractice 2: Manage Requirements

    Best PracticesProcess Made Practical

    Best PracticesProcess Made Practical

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    8/27

    Requirements ManagementRequirements Management

    Making sure you

    solve the right problem

    build the right systemby taking a systematic approach to

    eliciting

    organizingdocumenting

    managing

    the changing requirements of a software application.

    Making sure you

    solve the right problem

    build the right systemby taking a systematic approach to

    eliciting

    organizingdocumenting

    managing

    the changing requirements of a software application.

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    9/27

    Problem

    SolutionSpace

    ProblemSpace

    Needs

    Features

    SoftwareRequirements

    Test ScriptsDesign User

    Docs

    TheThe

    ProductProduct

    to Beto Be

    BuiltBuilt

    Tra

    ceability

    Map of the TerritoryMap of the Territory

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    10/27

    Practice 3: Use Component ArchitecturesPractice 3: Use Component Architectures

    Best PracticesProcess Made Practical

    Best PracticesProcess Made Practical

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    11/27

    Resilient Component-Based ArchitecturesResilient Component-Based Architectures

    Resilient Meets current and future requirements

    Improves extensibility

    Enables reuse

    Encapsulates system dependencies

    Component-based Reuse or customize components

    Select from commercially available components

    Evolve existing software incrementally

    Resilient Meets current and future requirements

    Improves extensibility

    Enables reuse

    Encapsulates system dependencies

    Component-based Reuse or customize components

    Select from commercially available components

    Evolve existing software incrementally

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    12/27

    Practice 4: Model Visually (UML)Practice 4: Model Visually (UML)

    Best PracticesProcess Made Practical

    Best PracticesProcess Made Practical

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    13/27

    Common Language for Process and DesignCommon Language for Process and Design

    The UML is a common language for Visualizing

    Specifying

    Constructing

    Documenting

    RUP is a common language for Process

    Roles

    Activities

    Workflows

    Iterations

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    14/27

    Visual Modeling Using UML DiagramsVisual Modeling Using UML Diagrams

    Actor A

    Use Case 1

    Use Case 2

    Actor B

    user : Clerk

    mainWnd: MainWnd

    fileMgr: FileMgr

    repository : Repositorydocument : Document

    gFile: GrpFile

    9: sortByName( )

    L1: Docview request( )

    2: fetchDoc()

    5: readDoc( )

    7: readFile( )

    3: create( )

    6: fillDocument( )

    4: create( )

    8: fillFile( )

    Window95

    -.EXE

    WindowsNT

    - .EXE

    WindowsNT

    Windows95

    Solaris

    -.EXE

    AlphaUNIX

    IBMMainframe

    -

    Windows95

    - Document

    FileManager

    GraphicFile

    File

    Repository DocumentList

    FileList

    user

    mainWnd f il eMgr :FileMgr

    repositorydocument :Document

    gFile

    1:Doc view request( )

    2:fetchDoc( )

    3:create( )

    4:create( )

    5:readDoc( )

    6:fillDocument( )

    7:readFile( )

    8:fillFile( )

    9:sortByName( )

    - .

    -- - .

    - -.

    Forward and

    ReverseEngineering

    TargetSystem

    Openning

    Writing

    ReadingClosing

    add file [ numberOffile==MAX] /flag OFF

    add file

    close file

    close fileUse Case 3

    Use-Case

    DiagramClass Diagram

    Collaboration

    Diagram

    SequenceDiagram

    ComponentDiagram

    Statechart

    Diagram

    GrpFile

    read( )open( )create()fillFile( )

    rep

    Repository

    name:char *= 0

    readDoc( )readFile( )

    (fromPersistence)

    FileMgr

    fetchDoc()sortByName( )

    DocumentList

    add( )delete( )

    Document

    name:intdocid:intnumField:int

    get( )open( )close( )read( )sortFileList( )

    create()fillDocument( )

    fList

    1

    FileList

    add( )delete( )

    1

    File

    read( )

    read()fillthecode..

    DeploymentDiagram

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    15/27

    Practice 5: Continuously Verify QualityPractice 5: Continuously Verify Quality

    Best PracticesProcess Made Practical

    Best PracticesProcess Made Practical

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    ContinuouslyVerify Quality

    Manage Change

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    ContinuouslyVerify Quality

    Manage Change

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    16/27

    Continuously Verify Your Softwares QualityContinuously Verify Your Softwares Quality

    CostCost

    TransitionConstructionElaborationInception

    Software problems are100 to 1000 times more costly

    to find and repair after deployment

    Software problems are100 to 1000 times more costly

    to find and repair after deployment

    Cost to Repair Software

    Cost of Lost Opportunities

    Cost of Lost Customers

    Cost to Repair Software

    Cost of Lost Opportunities

    Cost of Lost Customers

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    17/27

    Testing Dimensions of QualityTesting Dimensions of Quality

    ReliabilityReliability

    Test the application

    behaves consistently andpredictably.

    Test the application

    behaves consistently andpredictably.

    PerformancePerformance Test online response

    under average and peakloading

    Test online responseunder average and peakloading

    FunctionalityFunctionality Test the accurate

    workings of eachusage scenario

    Test the accurateworkings of eachusage scenario

    UsabilityUsability

    Test application from theperspective of

    convenience to end-user.

    Test application from theperspective of

    convenience to end-user.

    SupportabilitySupportability

    Test the ability to maintainand support application

    under production use

    Test the ability to maintainand support application

    under production use

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    18/27

    UML Model

    andImplementation

    Tests

    Iteration 1Iteration 1

    Test Suite 1Test Suite 1

    Iteration 2Iteration 2

    Test Suite 2Test Suite 2

    Iteration 4Iteration 4

    Test Suite 4Test Suite 4

    Iteration 3Iteration 3

    Test Suite 3Test Suite 3

    Test Each IterationTest Each Iteration

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    19/27

    Practice 6: Manage ChangePractice 6: Manage Change

    Best PracticesProcess Made Practical

    Best PracticesProcess Made Practical

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    20/27

    The Configuration and Change Management (CCM)

    Cube

    e on gura on an ange anagemen

    Cube

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    21/27

    Build 3Build 3

    Build 2Build 2 Build 1Build 1

    TestersTesters

    DevelopersDevelopers IntegratorIntegrator

    Eliminate Errors:Automate Change ManagementEliminate Errors:Automate Change Management

    AnalystAnalyst Project ManagerProject Manager

    Bug 98Bug 98Bug 98

    Add promotioncalculation

    Add promotionAdd promotioncalculationcalculation

    Bug 179Bug 179Bug 179

    New GUIbutton

    New GUINew GUIbuttonbutton

    New platformNew platformNew platform

    New web designNew web designNew web design

    Bug 849Bug 849Bug 849

    Bug 527Bug 527Bug 527

    Bug 251Bug 251Bug 251

    New customertransaction

    New customerNew customertransactiontransaction

    Bug 348Bug 348Bug 348

    Why did theWhy did thebuild break?build break?

    Of course IOf course I

    didnt forgetdidnt forgeta file...a file...

    Did requirementDid requirement462 make it into462 make it intothis release ?this release ?

    How manyHow manyseverity 1 bugsseverity 1 bugsare left?are left?

    Is bug 873 fixed inIs bug 873 fixed in

    this build?this build?

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    22/27

    Best Practices Reinforce Each OtherBest Practices Reinforce Each Other

    Validates architecturaldecisions early on

    Addresses complexity ofdesign/implementation incrementally

    Measures quality early and often

    Evolves baselines incrementally

    Ensures users involvedas requirements evolve

    Best PracticesBest Practices

    Develop Iteratively

    Manage Requirements

    Use Component Architectures

    Model Visually (UML)

    Continuously Verify Quality

    Manage Change

    Develop Iteratively

    Manage Requirements

    Use Component Architectures

    Model Visually (UML)

    Continuously Verify Quality

    Manage Change

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    23/27

    Trace Symptoms to Root CausesTrace Symptoms to Root Causes

    Needs not metRequirements churn

    Modules dont fit

    Hard to maintain

    Late discovery

    Poor quality

    Poor performance

    Colliding developers

    Build-and-release

    Insufficient requirementsAmbiguous communications

    Brittle architectures

    Overwhelming complexity

    Undetected inconsistencies

    Poor testing

    Subjective assessment

    Waterfall development

    Uncontrolled change

    Insufficient automation

    Symptoms Root Causes Best Practices

    Ambiguous communications

    Undetected inconsistencies

    Ambiguous communications

    Undetected inconsistencies

    Develop Iteratively

    Manage Requirements

    Use Component Architectures

    Model Visually (UML)

    Continuously Verify Quality

    Manage Change

    Model Visually (UML)

    Continuously Verify Quality

    Model Visually (UML)

    Continuously Verify Quality

    Modules dont fitModules dont fit

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    24/27

    100%100%

    ModernProject Profile

    ModernProject Profile

    Project ScheduleProject Schedule

    ConventionalProject ProfileConventionalProject Profile

    DevelopmentProgress

    (% Coded)

    DevelopmentProgress

    (% Coded)

    The Impact of Improving Software EconomicsThe Impact of Improving Software Economics

    TargetProject Profile

    TargetProject Profile

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    25/27

    Best PracticesProcess Made Practical

    Best PracticesProcess Made Practical

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

    Develop Iteratively

    Manage Requirements

    Use ComponentArchitectures

    Model Visually (UML)

    Continuously Verify QualityManage Change

    Best Practices of Software EngineeringBest Practices of Software Engineering

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    26/27

    RUP Organization Along TimeRUP Organization Along Time

    Time

    Organization by phases helps minimize the risks of resource allocation.

  • 8/13/2019 RUP Overview Presentation 07-14-2006[1]

    27/27

    Rational Unified ProcessRational Unified Process

    WBI ModelerWBI Modeler

    Rational Requisite ProRational Requisite ProRational Software ModelerRational Software Modeler

    Rational Application DeveloperRational Application Developer

    Tivoli Configuration ManagerTivoli Configuration Manager

    Rational Performance, Functional, Manual TesterRational Performance, Functional, Manual Tester

    RationalRational ClearCaseClearCase, ClearQuest, ClearQuest

    Rational Team Unifying PlatformRational Team Unifying Platform

    Eclipse, OSEclipse, OS