You are previewing Rational Unified Process, The: An Introduction, Third Edition.
O'Reilly logo
Rational Unified Process, The: An Introduction, Third Edition

Book Description

The Rational Unified Process, Third Edition, is a concise introduction to IBM's Web-enabled software engineering process. Rational Unified Process®, or RUP®, Lead Architect Philippe Kruchten quickly and clearly describes the concepts, structure, content, and motivation that are central to the RUP. Readers will learn how this approach to software development can be used to produce high-quality software, on schedule and on budget, using the Unified Modeling Language (UML), software automation, and other industry best practices.

The RUP unifies the entire software development team and optimizes the productivity of each team member by bringing them the experience of industry leaders and lessons learned from thousands of projects. It provides detailed and practical guidance through all phases of the software development life cycle, but it is not inflexible. The RUP can be tailored to suit a wide variety of projects and organizations.

This new edition has been updated to reflect all the changes integrated into the latest version of the Rational Unified Process--RUP 2003. It includes a four-color poster that lists key RUP elements: disciplines, workflows, artifacts, phases, and milestones.

RUP 2003 also offers

  • The RUP Builder with enhanced configurability, process views, and three base configurations.

  • MyRUP, enabling personalized views of the RUP configuration.

  • Additions to the Rational Process Workbench, used to define process components, perform modifications to the RUP, and create process plugins.

  • The introduction of a separate Process Engineering Process offering guidance on adapting the RUP, creating plugins, and deploying the RUP.

The Rational Unified Process, Third Edition, is a reliable introduction to the Rational Unified Process that will serve project managers and software professionals alike.



0321197704B11072003

Table of Contents

  1. Copyright
    1. Dedication
  2. The Addison-Wesley Object Technology Series
  3. The Component Software Series
  4. Preface
    1. Goals of This Book
    2. Who Should Read This Book?
    3. How to Use This Book
    4. Organization and Special Features
    5. For More Information
    6. Second Edition
    7. Third Edition
    8. Acknowledgments
  5. I. The Process
    1. 1. Software Development Best Practices
      1. The Value of Software
      2. Symptoms and Root Causes of Software Development Problems
      3. Software Best Practices
      4. Develop Software Iteratively
      5. Manage Requirements
      6. Use Component-Based Architectures
      7. Visually Model Software
      8. Continuously Verify Software Quality
      9. Control Changes to Software
      10. The Rational Unified Process
      11. Summary
    2. 2. The Rational Unified Process
      1. What Is the Rational Unified Process?
      2. The Rational Unified Process as a Product
        1. Organization of the Process Product
        2. For the Process Engineers
        3. Process Structure: Two Dimensions
      3. Software Best Practices in the Rational Unified Process
        1. Iterative Development
        2. Requirements Management
        3. Architecture and Use of Components
        4. Modeling and the UML
        5. Configuration and Change Management
      4. Other Key Features of the Rational Unified Process
        1. Use-Case-Driven Development
        2. Process Configuration
        3. Tools Support
        4. Who Is Using the Rational Unified Process?
      5. A Brief History of the Rational Unified Process
      6. Summary
    3. 3. Static Structure: Process Description
      1. A Model of the Rational Unified Process
      2. Roles
      3. Activities
        1. Activity Steps
      4. Artifacts
        1. Reports
        2. Sets of Artifacts
      5. Disciplines
      6. Workflows
        1. Core Workflows
        2. Workflow Details
        3. Iteration Plans
      7. Additional Process Elements
        1. Guidelines
        2. Templates
        3. Tool Mentors
        4. Concepts
      8. A Process Framework
      9. Summary
    4. 4. Dynamic Structure: Iterative Development
      1. The Sequential Process
        1. A Reasonable Approach
        2. Wrong Assumption 1: Requirements Will Be Frozen
        3. Wrong Assumption 2: We Can Get the DesignRight on Paper before Proceeding
        4. Bringing Risks into the Picture
        5. Stretching the Time Scale
        6. Pushing Paperwork on the Shelves
        7. Volume-Based versus Time-Based Scheduling
      2. Overcoming Difficulties: Iterate!
      3. Gaining Control: Phases and Milestones
      4. A Shifting Focus across the Cycle
      5. Phases Revisited
        1. The Inception Phase
        2. Milestone: Lifecycle Objective
        3. The Elaboration Phase
        4. Milestone: Lifecycle Architecture
        5. The Construction Phase
        6. Milestone: Initial Operational Capability
        7. The Transition Phase
        8. Milestone: Product Release
      6. Benefits of an Iterative Approach
        1. Risk Mitigation
        2. Accommodating Changes
          1. Changes in Requirements
          2. Tactical Changes
          3. Technological Changes
        3. Learning as You Go
        4. Increased Opportunity for Reuse
        5. Better Overall Quality
      7. Summary
    5. 5. An Architecture-Centric Process
      1. The Importance of Models
      2. Architecture
      3. The Importance of Architecture
        1. Architecture Today
      4. A Definition of Architecture
      5. Architecture Representation
        1. Multiple Views
        2. The 4 + 1 View Model of Architecture
          1. The Logical View
          2. The Implementation View
          3. The Process View
          4. The Deployment View
          5. The Use-Case View
        3. Models and Views
        4. Architecture Is More Than a Blueprint
      6. An Architecture-Centric Process
      7. The Purpose of Architecture
        1. Intellectual Control
        2. Reuse
        3. Basis for Development
      8. Component-Based Development
        1. A Definition of Component
      9. Other Architectural Concepts
        1. Architectural Style
        2. Architectural Mechanism
        3. Architectural Pattern
      10. Summary
    6. 6. A Use-Case-Driven Process
      1. Definitions
        1. Use Case and Actor
          1. Example of Use Cases and Actors
        2. Flow of Events
          1. Example of a Flow of Events
        3. Scenarios
        4. Use-Case Model
          1. What about Concurrency?
          2. Example of a Use-Case Model
      2. Identifying Use Cases
      3. Evolving Use Cases
      4. Organizing Use Cases
      5. Use Cases in the Process
      6. Summary
  6. II. Process Disciplines
    1. 7. The Project Management Discipline
      1. Purpose
      2. Planning an Iterative Project
        1. Two Levels of Plan
          1. The Phase Plan (or Project Plan)
          2. The Iteration Plan
      3. The Concept of Risk
        1. What Is a Risk?
        2. Strategies: How to Cope with Risks
      4. The Concept of Measurement
        1. What Is a Measurement?
      5. Roles and Artifacts
      6. Workflow
        1. Workflow Details
          1. Conceive New Project
          2. Evaluate Project Scope and Risk
          3. Develop Software Development Plan
          4. Plan for Next Iteration
          5. Monitor and Control Project
          6. Manage Iteration
          7. Close-Out Phase
          8. Close-Out Project
        2. Building a Phase Plan (or Project Plan)
          1. Staff/Schedule/Scope Trade-off
          2. The Rubber Profile
          3. Duration of an Iteration
          4. Number of Iterations
      7. Building an Iteration Plan
        1. Iteration in the Elaboration Phase
        2. Iteration in the Construction Phase
        3. Iteration in the Transition Phase
        4. Detail the Work in the Iteration
      8. Summary
    2. 8. The Business Modeling Discipline
      1. Purpose
      2. Why Business Modeling?
      3. Using Software Engineering Techniques for Business Modeling
      4. Business Modeling Scenarios
        1. Scenario 1: Organization Chart
        2. Scenario 2: Domain Modeling
        3. Scenario 3: One Business, Many Systems
        4. Scenario 4: Generic Business Model
        5. Scenario 5: New Business
        6. Scenario 6: Revamp
      5. Roles and Artifacts
      6. Workflow
      7. From the Business Models to the Systems
        1. Business Models and Actors of the System
        2. Automated Business Workers
        3. Business Models and Entity Classes in the Analysis Model
        4. Using the Business Analysis Model for Resource Planning
        5. Other Sources for Requirements on Systems
        6. Business Models and System Architecture
      8. Modeling the Software Development Business
      9. Tool Support
      10. Summary
    3. 9. The Requirements Discipline
      1. Purpose
      2. What Is a Requirement?
        1. Functional Requirements
        2. Nonfunctional Requirements
      3. Types of Requirements
        1. Stakeholders: Requests versus Needs
        2. System Features
        3. Software Requirements
        4. Specifying Software Requirements with Use Cases
      4. Capturing and Managing Requirements
      5. Requirements Workflow
      6. Roles in Requirements
      7. Artifacts Used in Requirements
      8. Tool Support
      9. Summary
    4. 10. The Analysis and Design Discipline
      1. Purpose
      2. Analysis versus Design
      3. How Far Must Design Go?
      4. Roles and Artifacts
      5. Designing a User-Centered Interface
      6. The Design Model
      7. The Analysis Model
      8. The Role of Interfaces
      9. Artifacts for Real-Time Systems
      10. Component-Based Design
      11. Workflow
        1. Workflow Details
          1. Define a Candidate Architecture
          2. Refine the Architecture
          3. Analyze Behavior
          4. Design Components
          5. Design Real-Time Components
          6. Design the Database
      12. Tool Support
      13. Summary
    5. 11. The Implementation Discipline
      1. Purpose
      2. Builds
      3. Integration
      4. Prototypes
        1. Types of Prototype
          1. Behavioral Prototypes
          2. Structural Prototypes
          3. Exploratory Prototypes
          4. Evolutionary Prototypes
      5. Roles and Artifacts
      6. Workflow
      7. Tool Support
      8. Summary
    6. 12. The Test Discipline
      1. Purpose
      2. Testing in the Iterative Lifecycle
        1. Quality
        2. Product Quality Ownership
      3. Dimensions of Testing
        1. Quality Dimension
        2. Levels of Testing
        3. Types of Test
        4. Regression Testing
      4. Roles and Artifacts
      5. Workflow
        1. Define Evaluation Mission
        2. Verify Test Approach
        3. Validate Build Stability
        4. Test and Evaluate
        5. Achieve Acceptable Mission
        6. Improve Test Assets
      6. Tool Support
      7. Summary
    7. 13. The Configuration and Change Management Discipline
      1. Purpose
      2. The CCM Cube
        1. Configuration Management
        2. Change Request Management
        3. Status and Measurement
      3. Roles and Artifacts
      4. Workflow
        1. Plan Project Configuration and Change Control
        2. Create a Project CM Environment
        3. Change and Deliver Configuration Items
        4. Manage Baselines and Releases
        5. Monitor and Report Configuration Status
        6. Manage Change Requests
      5. Tool Support
        1. Unified Change Management
      6. Summary
    8. 14. The Environment Discipline
      1. Purpose
        1. Configuring the Rational Unified Process
        2. Instantiating the Rational Unified Process
        3. Customizing the Rational Unified Process
        4. Implementing the Rational Unified Process
      2. Roles and Artifacts
      3. Workflow
        1. Prepare Environment for Project
        2. Prepare Environment for an Iteration
        3. Support Environment for an Iteration
      4. Tool Support
      5. Summary
    9. 15. The Deployment Discipline
      1. Purpose
        1. Modes of Deployment
          1. Timing of Deployment
      2. Roles and Artifacts
        1. Deployment Artifacts
      3. Workflow
        1. Plan Deployment
        2. Develop Support Material
        3. Product Deployment Unit
        4. Manage Acceptance Test at Development Site
        5. Beta Test Product
        6. Manage Acceptance Test at Installation Site
        7. Package Product
        8. Provide Access to Download Site
      4. Summary
    10. 16. Typical Iteration Plans
      1. Defining the Product Vision and the Business Case
        1. Result
        2. Subsequent Iterations in Inception
      2. Building an Architectural Prototype
        1. Result
        2. Subsequent Iterations in Elaboration
      3. Implementing the System
        1. Result
      4. Summary
    11. 17. Implementing the Rational Unified Process
      1. Introduction
      2. The Effect of Implementing a Process
      3. Implementing the Rational Unified Process Step by Step
        1. Step 1: Assess the Current State.
        2. Step 2: Set (or Revise) Goals.
        3. Step 3: Identify Risks.
        4. Step 4: Plan the Process Implementation.
        5. Step 5: Execute the Process Implementation.
        6. Step 6: Evaluate the Process Implementation.
      4. Implementing a Process Is a Project
      5. Summary
    12. A. Summary of Roles
      1. The Analyst Roles
      2. The Developer Roles
      3. The Manager Roles
      4. The Tester Roles
      5. The Production and Support Roles
      6. Additional Roles
    13. B. Summary of Artifacts
      1. Business Modeling Artifact Set
      2. Requirements Artifact Set
      3. Analysis and Design Artifact Set
      4. Implementation Artifact Set
      5. Test Artifact Set
      6. Deployment Artifact Set
      7. Configuration and Change Management Artifact Set
      8. Project Management Artifact Set
      9. Environment Artifact Set
    14. C. Acronyms
  7. Glossary
  8. Bibliography
    1. General
    2. Software Development Process
    3. Object-Oriented Technology
    4. Modeling and the Unified Modeling Language
    5. Project Management
    6. Requirements Management
    7. Configuration Management
    8. Testing and Quality
    9. Software Architecture
    10. Business Engineering
    11. Others