Lecture 4 - RUP

Embed Size (px)

Citation preview

  • 8/11/2019 Lecture 4 - RUP

    1/38

    Rational Unified Process ,

    Introduction to UML

  • 8/11/2019 Lecture 4 - RUP

    2/38

    What is RUP?

    The Rational Unified Model is a softwareengineering process

    Both process and product Provides a common project knowledge base that

    may be accessed by team members

    Ensures consistency of communication

    Commonality of project vision Enhances productivity

    Focuses on the development and maintenance ofmodels

    Reflect the best practices of software development

  • 8/11/2019 Lecture 4 - RUP

    3/38

    Software Development: Best

    Practices1. Develop software iteratively

    2. Manage requirements3. Use component-based architectures

    4. Visually model software

    5. Continuously verify software quality6. Control changes to software

  • 8/11/2019 Lecture 4 - RUP

    4/38

    RUP

  • 8/11/2019 Lecture 4 - RUP

    5/38

    The X-axis: Time / Iterations1. Inception

    3. Construction

    4. Transition2. Elaboration

    LifecycleObjectives

    Lifecycle

    Architecture

    Initial Operational

    Capability

    Product

    Release

    milestones

  • 8/11/2019 Lecture 4 - RUP

    6/38

    Phase 1: Inception

    Develop business case

    Success criteria

    Risk assessment

    Estimate of resources needed

    Phase plan (with dates)

    Deliverables

    Vision document

    Preliminary Use-case model

    Initial project glossary

    Business case

    Possibly, some prototypes

  • 8/11/2019 Lecture 4 - RUP

    7/38

    Inception Milestone: Lifecycle

    Objectives Stakeholder agreement on project scope and

    cost/schedule estimates.

    Requirements understanding (based on quality ofprimary use cases).

    Credibility of the cost/schedule estimates,priorities, risks, and development process.

    Depth and breadth of any architectural prototypethat was developed.

    Actual expenditures versus planned expenditures.

  • 8/11/2019 Lecture 4 - RUP

    8/38

    Phase 2: Elaboration Goals

    Develop a big picture view of the project

    Most of the analysis is done in this stage

    Develop an architectural foundation for the system A working, exploratory working prototype

    Possibly the most important of the phases

    Deliverables (partial list)

    More comprehensive use-case model Supplementary requirements (not covered in use-case)

    Revised risk assessment and business case

    Working prototype

    Development plan (with dates and number of iterations)

  • 8/11/2019 Lecture 4 - RUP

    9/38

    Elaboration Milestone: Lifecycle

    Architecture Is the vision of the product stable?

    Is the architecture stable?

    Does the executable demonstration show that the majorrisk elements have been addressed and credibly resolved?

    Is the plan for the construction phase sufficiently detailed

    and accurate?

    Do all stakeholders agree that the current vision can beachieved ?

    Is the actual resource expenditure versus planned

    expenditure acceptable?

  • 8/11/2019 Lecture 4 - RUP

    10/38

    Phase 3: Construction

    The manufacturing phase

    Goals

    Develop and integrate all remaining components intoproduct

    Thorough testing of all features

    Deliverables

    Actual product on the appropriate platform (betarelease)

    User manuals

    Description of current release

  • 8/11/2019 Lecture 4 - RUP

    11/38

    Construction Milestone: Initial

    Operational Capability Is this product release stable and mature

    enough to be deployed in the user

    community?

    Are all stakeholders ready for the transition

    into the user community?

    Are the actual resource expenditures versusplanned expenditures still acceptable?

  • 8/11/2019 Lecture 4 - RUP

    12/38

    Phase 4: Transition

    Involves beta testing

    Parallel conversion

    Convert operational databases

    Train users and support personnel

    Rollout the product to other functional areas

    (marketing, distribution, etc.) Typically involves several iterations (for purposes

    of fine tuning user manuals and the product)

  • 8/11/2019 Lecture 4 - RUP

    13/38

    Transition Milestone: Product

    Release Focuses on whether objectives were met

    New development cycle needed?

    The questions -

    Is the user satisfied?

    Are the actual resources expenditures versus

    planned expenditures still acceptable?

  • 8/11/2019 Lecture 4 - RUP

    14/38

    Software Development: Best

    Practices1. Develop software iteratively

    2. Manage requirements3. Use component-based architectures

    4. Visually model software

    5. Continuously verify software quality6. Control changes to software

  • 8/11/2019 Lecture 4 - RUP

    15/38

    RUP

  • 8/11/2019 Lecture 4 - RUP

    16/38

    The X-axis: Time / Iterations1. Inception

    3. Construction

    4. Transition2. Elaboration

    LifecycleObjectives

    Lifecycle

    Architecture

    Initial Operational

    Capability

    ProductRelease

    milestones

  • 8/11/2019 Lecture 4 - RUP

    17/38

    RUP

  • 8/11/2019 Lecture 4 - RUP

    18/38

    Representing the RUP

    Processes involve

    Who is doing

    What,

    How its being done

    And when it was done

    RUP main model elements

    Workersthe who Activitiesthe what

    Artifactsthe how

    Workflowsthe when

    worker

    activity

  • 8/11/2019 Lecture 4 - RUP

    19/38

    RUP Element: Workers

    A workerdefines the behavior and

    responsibilities of an individual, or a group of

    individuals working together as a team. Not really referring to a person or team

    Refers to role individual plays in doing work

    Worker responsibilities include

    Activities

    Artifact ownership

  • 8/11/2019 Lecture 4 - RUP

    20/38

    Example of Workers

  • 8/11/2019 Lecture 4 - RUP

    21/38

    RUP Element: Activity

    An activityof a specific worker is a unit ofwork that an individual in that role may be

    asked to perform Activities

    Have clear purpose

    Assigned to specific worker

    Limited time span (hours or days)

    Affects limited number of artifacts

  • 8/11/2019 Lecture 4 - RUP

    22/38

    Examples of Activities

    Who might be the assigned

    worker for this activity?

    -Analyst

    --Project Manager

    -Tester

    -Designer

    Plan an iterationFind use cases and actors

    Review the design

    Execute performance test

    Who might be the assigned

    worker for this activity?

    -Analyst

    --Project Manager

    -Tester

    -Designer

    Who might be the assigned

    worker for this activity?

    -Analyst

    --Project Manager

    -Tester

    -Designer

    Who might be the assigned

    worker for this activity?

    -Analyst

    --Project Manager

    -Tester

    -Designer

    Answer: AnalystAnswer: TesterAnswer: DesignerAnswer: Project Manager

  • 8/11/2019 Lecture 4 - RUP

    23/38

    RUP Element: Artifacts

    An artifactis a piece of information that isproduced, modified, or used by a process

    Artifacts Tangible results of activities in the project Outputs of activities

    May be used as inputs for other activities

    Examples Models or model elements

    Documents

    Code

    Executable prototypes

  • 8/11/2019 Lecture 4 - RUP

    24/38

    RUP Element: Workflows

    A workflowis a sequence of activities that

    produces a result of observable value.

    Describes a meaningful sequence that produces a usefulresult

    Shows interaction between workers

    UML represents workflows through

    Sequence diagram

    Collaboration diagram

    Activity diagram

  • 8/11/2019 Lecture 4 - RUP

    25/38

    Example of Workflows

  • 8/11/2019 Lecture 4 - RUP

    26/38

    Core Workflows

  • 8/11/2019 Lecture 4 - RUP

    27/38

    Core Workflows

    Nine core workflows

    Divided into two groups

    Process workflows

    Supporting workflows

    Based on workers and activities

    The activities in the workflow are revisited with

    each iteration Emphasis on the activity changes with each

    iteration

  • 8/11/2019 Lecture 4 - RUP

    28/38

    Core Workflows

  • 8/11/2019 Lecture 4 - RUP

    29/38

    Six Process Workflows

    Business Modeling

    Communication problems arise between

    analysts and businessDocument business processes

    Business use-cases

    Artifact is a business object modelEnsures all stakeholders on same page

    Not always done

  • 8/11/2019 Lecture 4 - RUP

    30/38

    Six Process Workflows contd.

    Requirements

    Describe the desired system functionality

    Involves eliciting, organizing, and documentingrequired functionality and constraints

    Artifacts include

    Vision document

    Use-cases

    The use-cases are the common thread for allworkflows

  • 8/11/2019 Lecture 4 - RUP

    31/38

    Six Process Workflows contd.

    Analysis and Design

    show how the system will be created in the

    implementationArtifact is a Design Model

    Acts as blueprint for coding

    Presents organized classes, subsystems, and

    interfaces

    Based on architecture of system

  • 8/11/2019 Lecture 4 - RUP

    32/38

    Six Process Workflows contd.

    Implementation

    To define the organization of the code

    To implement classes and objects in terms ofcomponents

    To test the developed components as units.

    To integrate the results produced by individualimplementers (or teams), into an executable

    system (a prototype)

  • 8/11/2019 Lecture 4 - RUP

    33/38

    Six Process Workflows contd.

    Testing

    Objectives

    To verify the interaction between objects.

    To verify the proper integration of all components of thesoftware.

    To verify that all requirements have been correctlyimplemented.

    To identify and ensure defects are addressed prior to the

    deployment of the software. Based on reliability, functionality, application

    performance and system performance.

    Continuous process throughout the developmentprocess

  • 8/11/2019 Lecture 4 - RUP

    34/38

    Six Process Workflows contd.

    Deployment

    Aims to successfully produce product releases,

    and deliver the software to its end usersIncludes

    Producing external releases of the software

    Packaging the software

    Distributing the software Installing the software

    Providing help and assistance to users

  • 8/11/2019 Lecture 4 - RUP

    35/38

    Core Workflows

  • 8/11/2019 Lecture 4 - RUP

    36/38

    Three Support Workflows

    Configuration and Change Management

    control the numerous artifacts produced during project

    Typical problems with managing large number ofartifacts

    Simultaneous Update

    Limited notification

    Multiple versions

    how to report defects, manage them through their

    lifecycle

  • 8/11/2019 Lecture 4 - RUP

    37/38

    Three Support Workflows contd.

    Project Management

    Involves

    Balancing competing objectives

    Overcoming constraints

    deliver a product which meets the needs of both customers (thepayers of bills) and the users

    RUPprovides

    A framework for managing software-intensive projects

    Practical guidelines for planning, staffing, executing, andmonitoring projects

    A framework for managing risk

  • 8/11/2019 Lecture 4 - RUP

    38/38

    Three Support Workflows contd.

    Environment

    provide software development environment--

    both processes and tools--that are needed tosupport the development team.

    focuses on the activities to configure the

    process in the context of a project

    focus on activities to develop the guidelines

    needed to support a project.