Applying UML inApplying UML in The Unified ProcessThe Unified Process Ivar JacobsonIvar Jacobson Rational SoftwareRational Software email:email: ivarivar @rational.com@rational.com Before the UML 1960’s - 70’s1960’s - 70’s COBOL, FORTRAN, C Structured analysis and design techniques 1980’s - early 1990’s1980’s - early 1990’s Smalltalk, Ada, C++, Visual Basic Early generation OO methods Mid/late 1990’sMid/late 1990’s Java UML Unified Process Models and Diagrams Use Case DiagramsUse Case DiagramsUse Case Diagrams Scenario DiagramsScenario DiagramsCollaboration Diagrams State DiagramsState DiagramsComponent Diagrams Component DiagramsComponent DiagramsDeployment Diagrams State DiagramsState DiagramsObject Diagrams Scenario DiagramsScenario DiagramsStatechart Diagrams Use Case DiagramsUse Case DiagramsSequence Diagrams State DiagramsState DiagramsClass Diagrams Activity Diagrams A model is a complete description of a system from a particular perspective Models Team-Based Development But, the UML Is Not Enough Modeling Language Unified Process Creating the Unified Process Functional testing Performance testing Requirements mgmt Conf. and change mgmt Business engineering Data engineering UI design Rational Unified Process 5.0 1998 Rational Objectory Process 4.1 1996-1997 Objectory Process 1.0-3.8 1987-1995 The Ericsson Approach The Rational Approach UML New or changed requirements New or changed system Software Engineering Process What Is a Process? DefinesDefines Who is doing What, When to do it, and How to reach a certain goal. Overview of the Unified Process The Unified Process isThe Unified Process is Iterative and incremental Use case driven Architecture-centric Lifecycle Phases time Inception Elaboration Construction Transition Inception Define the scope of the project andDefine the scope of the project and develop business casedevelop business case Elaboration Plan project, specify features, andPlan project, specify features, and baseline the architecturebaseline the architecture Construction Build the productBuild the product Transition Transition the product to its usersTransition the product to its users Major Milestones time Vision Baseline Architecture Initial Capability Product Release Inception Elaboration Construction Transition Phases and Iterations An iteration is a sequence of activities with an established plan and evaluation criteria, resulting in an executable release Arch Iteration ... Dev Iteration Dev Iteration ... Trans Iteration ... Release Release Release Release Release Release Release Release Prelim Iteration ... Inception Elaboration Construction Transition Iterations and Workflow P relim ina ry Ite ratio n (s) iter. # 1 iter. # 2 iter. # n iter. #n +1 ite r. #n +2 iter. #m ite r. #m +1 Inception Elaboration Construction Transition Ite ra tio n s Phases Core Workflows An iteration in the elaboration phase Requirements Design Implementation Test Analysis Workflows and Models Requirements Design Implementation Test Analysis Use Case Model Design Model Depl. Model Impl. Model Analysis Model Test Model UML diagrams provide views into each model Each workflow is associated with one or more models. Use Case Model Use Case Diagrams Collaboration Diagrams Component Diagrams Deployment Diagrams Object Diagrams Statechart Diagrams Sequence Diagrams Class Diagrams Activity Diagrams Use Case Model Design Model Depl. Model Impl. Model Analysis Model Test Model Analysis & Design Model Use Case Diagrams Collaboration Diagrams Component Diagrams Deployment Diagrams Object Diagrams Statechart Diagrams Sequence Diagrams Class Diagrams Activity Diagrams Use Case Model Design Model Depl. Model Impl. Model Analysis Model Test Model Incl. subsystems and packages Deployment and Implementation Model Use Case Diagrams Collaboration Diagrams Component Diagrams Deployment Diagrams Object Diagrams Statechart Diagrams Sequence Diagrams Class Diagrams Activity Diagrams Use Case Model Design Model Depl. Model Impl. Model Analysis Model Test Model Incl. active classes and components Test Model Use Case Diagrams Collaboration Diagrams Component Diagrams Deployment Diagrams Object Diagrams Statechart Diagrams Sequence Diagrams Class Diagrams Activity Diagrams Use Case Model Design Model Depl. Model Impl. Model Analysis Model Test Model Test model refers to all other models and uses corresponding diagrams Use Case Driven Req.ts Impl. Test Use Cases bind these workflows together Analysis Design Use Cases Drive Iterations Drive a number of development activitiesDrive 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 Synchronize the content of different modelsSynchronize the content of different models Architecture-Centric Models are vehicles for visualizing, specifying,Models are vehicles for visualizing, specifying, constructing, and documenting architectureconstructing, and documenting architecture The Unified Process prescribes the successiveThe Unified Process prescribes the successive refinement of an executable architecturerefinement of an executable architecture time Architecture Inception Elaboration Construction Transition Architecture and Models Architecture embodies a collection of views of the models Views Models Use Case Model Design Model Depl. Model Impl. Model Test Model Analysis Model Function versus Form Use cases Architecture • Use case specify function; architecture specifies form • Use cases and architecture must be balanced The Unified Process is Engineered Describe a Use Case Use case package Use case responsible for Analyst Artifact A piece of information that is produced, modified, or used by a process Worker A role played by an individual or a team Activity A unit of work 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 Two Parts of a Unified Whole The Unified Modeling Language The Unified Process • Convergence in the future • Convergence through process frameworks • OMG standard