Introduction to Rational Unified Process Adapted by Dr

Introduction to Rational Unified Process Adapted by Dr. Spiegel from slide sets by Sue Mickel and Ivar Jacobsen of Rational Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 1 R

Objectives: Rational Unified Process w w Describe the Unified Modeling Language (UML) Define what a software development process is Describe the Rational Unified Process Explain the four phases of the Rational Unified Process and their associated milestones w Define iterations and their relation to phases w Explain the relations between: § Models and workflows § Phases, iterations, and workflows w Define artifact, worker, and activity w State the importance of automated tool support Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 2 R

Building a System - A Language Is Not Enou Team-Based Development Modeling Language Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved Process 3 R

What Is the UML? w The Unified Modeling Language (UML) is a language for • • Specifying Visualizing Constructing Documenting the artifacts of a software-intensive system Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 4 R

UML History Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 5 R

Inputs to UML Booch Rumbaugh Jacobson Meyer Operation descriptions, Message numbering Before and after conditions Embley Harel Singleton classes, High-level view State charts Gamma, et. al Wirfs-Brock Frameworks, patterns, notes Shlaer - Mellor Object Lifecycles Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved Fusion 6 Odell Responsibilities Classification R

The UML Provides Standardized Diagrams A model is a complete description of a system from a particular perspective Use Case Diagrams Activity Diagrams Scenario Diagrams Sequence Diagrams Scenario Diagrams Collaboration Diagrams Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved State Diagrams Class Diagrams Use Case Diagrams Model Deployment Diagram 7 State Diagrams Object Diagrams State Diagrams Component Diagrams R

A Sample UML Diagram: Use Cases A University Course Registration System Login Registrar Maintain Professor Information View Report Card Student Maintain Student Information Register for Courses Course Catalog Close Registration Select Courses to Teach Billing System Professor Submit Grades Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 8 R

A Sample UML Diagram: Classes A University Course Registration System <<boundary>> Maintain. Schedule. Form <<boundary>> Main. Form // select maintain schedule() 1 0. . 1 + // open() + // select 4 primary and 2 alternate offerings() 1 1 <<boundary>> Course. Catalog. System 1 0. . * <<control>> Registration. Controller // add courses to schedule() // get course offerings () 0. . 1 // get course offerings() 1 <<entity>> Schedule Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved // create with offerings() 9 R

UML Diagrams Are Key System Artifacts Use-Case Diagram Class Diagram State Diagram Use Case 1 Actor A Actor B Use Case 2 Domain Expert <<entity>> Customer name addr receive() withdraw() fetch() send() Use Case 3 Deployment Diagram Class Repository Document. List File. Manager Package Diagram User Interface Definition Collaboration Diagram Document Graphic. File Component Diagram File. List Forward Engineering(Code Generation) and Reverse Engineering Source Code edit, compile, debug, link Sequence Diagram Executable System Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 10 R

What Is a Process? A process defines Who is doing What, When and How to reach a certain goal. In software engineering the goal is to build a software product or to enhance an existing one New or changed requirements Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved Software Engineering Process 11 New or changed system R

An Effective Process. . . w Provides guidelines for efficient development of quality software w Reduces risk and increases predictability w Captures and presents best practices § Learn from other’s experiences § Mentor on your desktop § Extension of training material w w w Promotes common vision and culture Provides roadmap for applying tools Delivers information on-line, at your finger tips Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 12 R

Rational Unified Process Delivers Best Practices Rational Unified Process describes how to effectively implement the six best practices for software development Manage Requirements Develop Iteratively Model Visually Verify Quality Use Component Architectures Control Changes Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 13 R

Rational Unified Process Is Use-Case Driven Check Balance Client Withdraw Money Use Cases for a Cash Machine Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 14 An actor is someone or something outside the system that interacts with the system A use case is a sequence of actions a system performs that yields an observable result of value to a particular actor R

Use Cases Include a Flow of Events Flow of events for the Withdraw Money Use Case 1. The use case begins when the client inserts her ATM card. The system reads and validates information on the card. 2. The system prompts for the PIN. The system validates the PIN. 3. The system asks which operation the client wishes to perform. The client selects “Cash withdrawal. ” 4. The system requests the amount. The client enters the amount. 5. The system requests the account type. The client selects checking or savings. 6. The system communicates with the ATM network Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 15 R

Benefits of a Use-Case Driven Process w Use cases are concise, simple, and understandable by a wide range of stakeholders § End users, developers and acquirers understand functional requirements of the system w Use cases drive numerous activities in the process: § Creation and validation of the design model § Definition of test cases and procedures of the test model § Planning of iterations § Creation of user documentation § System deployment w Use cases help synchronize the content of Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 16 R

Rational Unified Process Is Architecture. Centric w Architecture is the focus of the elaboration phase § Building, validating, and baselining the architecture constitute the primary objective of elaboration w The Architectural Prototype validates the architecture and serves as the baseline for the rest of development w The Software Architecture Description is the primary artifact that documents the architecture chosen w Other artifacts derive from architecture: § Design guidelines including use of patterns and idioms § Product structure Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 17 R

Representing Architecture: The 4+1 View Model Logical View Analysts/ Designers Structure End-user Functionality Implementation View Use-Case View Process View Deployment View System Integrators Performance Scalability Throughput Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved Programmers Software management System Engineering System topology Delivery, installation communication 18 R

Benefits of an Architecture-Centric Process w Architecture lets you gain and retain intellectual control over a project, to manage its complexity, and to maintain system integrity w Architecture provides an effective basis for largescale reuse w Architecture provides a basis for project management w Architecture facilitates component-based development § A component fulfills a clear function in the context of a well-defined architecture § A component conforms to and provides the physical realization of a set of interfaces § Components exist relative to a given architecture Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 19 R

Process Architecture - Lifecycle Phases Inception Elaboration Construction Transition time The Rational Unified Process has four phases: § Inception - Define the scope of project § Elaboration - Plan project, specify features, baseline architecture § Construction - Build the product § Transition - Transition the product into end user community Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 20 R

Phase Boundaries Mark Major Milestones Inception Elaboration Construction Transition time Lifecycle Objective Milestone Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved Lifecycle Architecture Milestone 21 Initial Operational Capability Milestone Product Release R

Iterations and Phases Inception Elaboration Construction Preliminary Architect. Devel. Iteration Devel. Iteration Transition Devel. Transition Iteration Minor Milestones: Releases An iteration is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an executable release (internal or external) Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 22 R

Major Workflows Produce Models Business Modeling supported by Business Model Requirements Analysis & Design realized by Use-Case Model implemented by Design Model verified by Implementation Model Test Model Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 23 R

Bringing It All Together: The Iterative Model Phases Process Workflows Inception Elaboration Construction Business Modeling In an iteration, you Transition walk through all workflows Requirements Analysis & Design Implementation Test Deployment An iteration in the elaboration phase Supporting Workflows group activities logically Configuration Mgmt Management Environment Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n+1 #n+2 Iterations 24 Iter. #m+1 R

Workflows and Models UML diagrams provide views into each model Requirements Use Case Model Analysis Design Analysis Model Design Model Implementation Test Model Test Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved Depl. Model Each workflow is associated with one or more models. 25 R

Use Case Model Use Case Diagrams Use Case Model Class Diagrams Analysis Model Component Diagrams Design Model Deployment Diagrams Sequence Diagrams Depl. Model Collaboration Diagrams Impl. Model Statechart Diagrams Test Model Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved Object Diagrams 26 Activity Diagrams R

Analysis & Design Model Use Case Diagrams Use Case Model Class Diagrams Analysis Model Component Diagrams Incl. subsystems and packages Deployment Diagrams Design Model Sequence Diagrams Depl. Model Collaboration Diagrams Impl. Model Statechart Diagrams Test Model Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved Object Diagrams 27 Activity Diagrams R

Deployment and Implementation Model Use Case Diagrams Use Case Model Class Diagrams Analysis Model Component Diagrams Design Model Deployment Diagrams Sequence Diagrams Depl. Model Incl. active classes and components Collaboration Diagrams Impl. Model Statechart Diagrams Test Model Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved Object Diagrams 28 Activity Diagrams R

Test Model Use Case Diagrams Use Case Model Class Diagrams Analysis Model Component Diagrams Design Model Deployment Diagrams Depl. Model Test model refers to all other models and uses corresponding diagrams Impl. Model Sequence Diagrams Collaboration Diagrams Statechart Diagrams Test Model Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved Object Diagrams 29 Activity Diagrams R

Use Case Driven Req. ts Analysis Design Impl. Test Use Cases bind these workflows together Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 30 R

Use Cases Drive Iterations w Drive a number of development activities § Creation and validation of the system’s architecture § Definition of test cases and procedures § Planning of iterations § Creation of user documentation § Deployment of system w Synchronize the content of different models Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 31 R

Architecture-Centric w Models are vehicles for visualizing, specifying, constructing, and documenting architecture w The Unified Process prescribes the successive refinement of an executable architecture Inception Elaboration Construction Transition time Architecture Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 32 R

Function versus Form Use cases Architecture • Use case specify function; architecture specifies form • Use cases and architecture must be balanced Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 33 R

The Unified Process is Engineered A unit of work A role played by an individual or a team Activity Worker Describe a Use Case Analyst responsible for Use case Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved Artifact A piece of information that is produced, modified, or used by a process Use case package 34 R

The Unified Process is a Process Framework There is NO Universal Process! • The Unified Process is designed for flexibility and extensibility » allows a variety of lifecycle strategies » selects what artifacts to produce » defines activities and workers » models concepts Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 35 R

Two Parts of a Unified Whole The Unified Modeling Language The Unified Process • OMG standard • Convergence in the future • Convergence through process frameworks Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 36 R

Requirements Workflow Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 37 R

Analysis & Design Workflow Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 38 R

Implementation Workflow Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 39 R

Test Workflow Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 40 R

Summary: Rational Unified Process w The Unified Modeling Language (UML) is a language for specifying, visualizing, constructing, and documenting the artifacts of a software-intensive system w A software development process defines Who is doing What, When and How in building a software product w The Rational Unified Process has four phases: Inception, Elaboration, Construction and Transition w Each phase ends at a major milestone and contains one or more iterations w An iteration is a distinct sequence of activities with an established plan and evaluation Unified Software Practices v 5. 0 Copyright Ó 1998 Rational Software, all rights reserved 41 R
- Slides: 41