up previous next contents
Up: 1. Day 1: Object-Oriented Previous: 1.5 Object Oriented Software Next: 1.7 A sample process   Contents


1.6 The Rational Unified Process (RUP)

The Rational Unified Process formally consists of the following steps:

  • Inception - a discover phase, where an initial problem statement and functional requirements are created.
  • Elaboration - the product vision and architecture are defined, construction cycles are planned.
  • Construction - the software is taken from an architectural baseline to the point where it is ready to make the transition to the user community.
  • Transition - The software is turned into the hands of the user's community.

Figure 1.9: A high-level view of the Rational Unified Process. (Image courtesy of Rational Software.)
Image rup_main

1.6.1 Inception phase

The ``The Rational Unified Process, An Introduction''[9] specifies the following objectives, activities, and artifacts from an inception phase. Objectives

  • Establish project's scope and boundary conditions.
  • Determine the critical uses of the system.
  • Exhibiting at least one candidate architecture against some of the primary scenarios.
  • Estimating the overall cost and schedule for the entire project.
  • Estimating potential risks. Activities

  • Formulate the scope of the project.
  • Plan and prepare the business case, including alternatives for risk management, staffing, project plan, and trade-offs between cost, schedule, and profitability.
  • Develop a candidate architecture. Artifacts

  • A vision document.
  • A use-case model survey.
  • An initial project glossary.
  • An initial business case.
  • An initial risk assessment.
  • A project plan.
  • Other possible items:
    • An initial use-case model.
    • An initial domain model.
    • One or more prototypes.

1.6.2 Elaboration

The ``The Rational Unified Process, An Introduction''[9], specifies the following purpose, objectives, activities, and outcome from an elaboration phase. Purpose

  • Analyze the problem domain.
  • Establish a sound architecturla foundation.
  • Develop the project plan.
  • Eliminate the highest-risk elements. Objectives

  • Define, validate, and baseline the architecture.
  • Baseline the vision.
  • Baseline a plan for the construction phase.
  • Demonstrate that the baseline architecture will support the vision for a reasonable cost in a reasonable time, or not. Activities

  • The vision is elaborated.
  • The process, infrastructure, and development environment are elaborated.
  • Processes, tools, and automation support are put into place.
  • The architecture is elaborated and the components are selected. Outcome/Deliverables

  • An 80% complete use-case model has been developed.
  • Supplementary requirements are documented.
  • A software architecture description is created.
  • An executable architectural prototype is created.
  • A revised risk list and business case are created.
  • A development plan for the overall project is created.
  • An updated development case is created, specifying the process to be used. Other artifacts

  • Construction plan.
  • Software prototypes.
  • Risk identification and management plan.
  • A test plan.
  • A data dictionary.
  • A preliminary user manual.

1.6.3 Construction phase

The ``The Rational Unified Process, An Introduction''[9], specifies the following objectives, activities, and deliverables from a construction phase. Objectives

  • Minimize development costs by optimizing resources and avoiding unnecessary scrap and rework.
  • Achieving adequate quality as rapidly as practical.
  • Achieving useful versions as rapidly as practical. Activities

  • Resource management, resource control, process optimization.
  • Complete component development and testing.
  • Assessment of product releases against acceptance criteria. Deliverables

  • The software product integrated on the adequate platforms.
  • User manuals.
  • A description of the current release.

1.6.4 Transition

The text ``The Rational Unified Process, An Introduction''[9], specifies the following purpose, objectives and activities from a transition phase. Purpose

  • Transition the software to the user community.
    • Beta testing.
    • Parallel operation with any existing legacy system.
    • Conversions of operational databases.
    • Training of users.
    • Product rollout. Objectives

  • Achieving user self-supportability.
  • Achieving stakeholder buy-in that the deployed product is complete and consistent with the evaluation criteria of the vision.
  • Achieving final product baseline as rapidly and cost-effectively as possible. Activities

  • Deployment-specific engineering:
    • Cutover
    • Commercial packaging and production
    • Sales rollout
    • Field personnel training
  • Tuning activities, bug-fixing, and enhancement for performance and usability.
  • Assessing the deployment baseline against the vision and acceptance criteria.