Rational Unified Process Fundamentals Module 2 RUP Structure




















































- Slides: 52
Rational Unified Process Fundamentals Module 2: RUP Structure and Content
Objectives: Rational Unified Process Structure w Explain the role of process in software development. w Explore the phase organization of Rational Unified Process and its relationship to iterative development. w Explore the discipline organization of Rational Unified Process and its relationship to iterative development Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 2
A Development Process Should: w Define the steps that lead to deliverables and who is responsible for them. w Help to control the project and reduce confusion. w Help project management to resource, plan, and measure progress. w Reduce risk. w Make software development predictable, repeatable, and measurable. w Not be another process gathering dust. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 3
Rational Unified Process w Provides guidelines for efficient development of quality software w Reduces risk and increases predictability w Captures and presents best practices § Provides learning from others’ experiences § Acts as a mentor on your desktop § Provides an extension of training material w Promotes common vision and culture w Mentors successful use of our tools Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 4
Role of UML in RUP w Rational Unified Process was developed hand-in-hand with the UML. w Many artifacts in Rational Unified Process have a UML representation. w Rational Unified Process also includes guidelines for UML concepts. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 5
RUP Structure w Organization along time § Lifecycle structure: phases, iterations § Process enactment: planning, executing § Activity management, project control w Organization based on content § Disciplines, roles, artifacts, activities § Process configuration, process enhancement Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 6
Organization Along Time Organization by phases helps minimize the risks of resource allocation. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 7
Major Milestones: Business Decision Points Product sufficiently mature for customers Commit resources for construction Customer acceptance or end of life Commit resources for the elaboration phase Inception Elaboration Construction Transition time Lifecycle Objective Milestone Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved Lifecycle Architecture Milestone 8 Initial Operational Capability Milestone Product Release
Inception Phase The overriding goal of the inception phase is to achieve concurrence among all stakeholders on the lifecycle objectives for the project. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 9
Inception Phase: Objectives w Prepare supporting environment for project w Establish project scope and boundary conditions w Determine the use cases and primary scenarios that will drive the major design trade-offs w Demonstrate a candidate architecture against some of the primary scenarios w Estimate the overall cost and schedule w Identify potential risks (the sources of unpredictability) Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 10
Inception Phase: Artifacts The outcome of the inception phase is the creation of these artifacts • A vision document outlining the core requirements, key features and main constraints • A high-level use-case model • Initial project glossary (project terms and definitions) • An initial business case containing ROI, etc. • An initial risk assessment • A project plan showing phases and iterations. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 11
Inception Phase: Evaluation Criteria § Stakeholder concurrence on scope definition and cost/schedule estimates § Agreement that the right set of requirements have been captured and that there is a shared understanding of these requirements § Agreement that the cost/schedule estimates, priorities, risks, and development process are appropriate § All risks have been identified and a mitigation strategy exists for each Milestone: Lifecycle Objectives (LCO) Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 12
Elaboration Phase The overriding goal of the elaboration phase is to analyze the problem domain, establish a sound architectural foundation, develop the project plan, and eliminate the project’s high-risk elements. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 13
Elaboration Phase: Objectives w Refine support environment w Define, validate and baseline the architecture as rapidly as is practical w Baseline the vision w Baseline a detailed plan for the construction phase w Demonstrate that the baseline architecture will support the vision at a reasonable cost in a reasonable period of time Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 14
Elaboration Phase: Evaluation Criteria § Product Vision and requirements are stable. • Use-case model is at least 80% complete. • Supplementary requirements largely completed. § Architecture is stable. • Executable architectural prototype developed § Key test and evaluation approaches are proven; major risk elements have been addressed and resolved. • Revised risk list § Iteration plans for construction phase are of sufficient detail and fidelity to allow work to proceed, and are supported by credible estimates. Milestone: Lifecycle Architecture (LCA) Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 15
Elaboration Phase: Evaluation Criteria § Iteration plans for construction phase are of sufficient detail and fidelity to allow work to proceed, and are supported by credible estimates. § All stakeholders agree that current vision can be met if the current plan is executed to develop the complete system, in the context of the current architecture. § Actual resource expenditure versus planned expenditure acceptable. § Preliminary users manual developed. Milestone: Lifecycle Architecture (LCA) Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 16
Construction Phase The overriding goal of the construction phase is to develop all remaining components and features and integrate them into the product. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 17
Construction Phase: Objectives w Completing the software product for transition to production w Minimizing development costs by optimizing resources and avoiding unnecessary scrap and rework w Achieving adequate quality as rapidly as is practical w Achieving useful versions (alpha, beta, and other test releases) as rapidly as possible Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 18
Construction Phase: Evaluation Criteria The evaluation criteria for the construction phase involve the answers to these questions: § Is this product release stable and mature enough to be deployed in the user community? § Are all the stakeholders ready for the product’s transition into the user community? § Are actual resource expenditures versus planned still acceptable? Milestone: Initial Operational Capability (IOC) “beta” Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 19
Transition Phase The overriding goal of the transition phase is to move the product to the user community. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 20
Transition Phase: Objectives w Achieving user self-supportability w Achieving stakeholder concurrence that deployment baselines are complete and consistent with the evaluation criteria of the vision w Achieving final product baseline as rapidly and cost-effectively as possible Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 21
Transition Phase: Evaluation Criteria The primary evaluation criteria for the transition phase involve the answers to these questions: § Is the user satisfied? § Are actual resources expenditures versus planned expenditures acceptable? Milestone: Product release (“GA”) Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 22
What Is an Iteration? Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 23
Phases and Iterations Planned (Business) Decision Points Commit resources for the elaboration phase Commit resources for construction (Understand the problem) (Understand the solution) Inception Preliminary Iteration Elaboration Architect. Iteration Product sufficiently mature for customers to use (Have a solution) Construction Architect. Iteration Devel. Iteration Transition Devel. Iteration Planned (Technical) Visibility Points Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved Acceptance or end of life 24 Transition Iteration
Iteration: Number and Duration w Duration driven by + size of organization + size of project - familiarity with the process, maturity - technical simplicity w 6, plus or minus 3 Inception: Elaboration: Construction: Transition: Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 0. . 1 1. . 3 1. . 2 25
One Iteration In an iteration, you walk through all disciplines. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 26
Content Organization Based on Content Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 27
Key RUP Elements: Roles, Activities, Artifacts performs Role Activity responsible for Artifact Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 28
Roles Perform Activities and Produce Artifacts Example: Requirements-> Workflow Detail-> Define the System Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 29
Key RUP Element: Role w A Role defines the behavior and responsibilities of an individual, or a set of individuals working together as a team. w Team members can “wear different hats, ” that is, each member can play more than one Role. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 30
Roles Are Used for Resource Planning Resource Role Activities Paul Designer Define Operations Mary Requirements Specifier Detail a Use Case Joe System Analyst Find Actors and Use Cases Sylvia Implementer Perform Unit Tests Stefan Architect Identify Design Mechanisms Each individual in the project is assigned to one or several roles Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 31
Key RUP Element: Activity w A piece of work a Role is responsible for, that the Role may be asked to perform w Granularity: a few hours to a few days w Repeated, as necessary, in each iteration Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 32
Key RUP Element: Artifact w A document or model produced, evolved, or used by a process w The responsibility of a Role w Likely to be subject to configuration control w May contain other artifacts Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 33
Key RUP Elements: Roles, Activities, Artifacts performs Role Activity responsible for Artifact Disciplines also contain Workflows and Workflow Details, as you will see. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 34
Nine Disciplines Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 35
Elements of a Discipline If you expand any Discipline in the RUP tree browser, you will see the following: Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 36
Key RUP Element: Workflow w The conditional flow of high -level activities (Workflow Details) that produces a result of observable value. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 37
Workflow Details Example: Environment: Workflow Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved Example: Workflow Detail: Prepare Environment for Project 38
Workflow Path Is Adapted to: w Position in § Lifecycle § Phase w Artifacts being produced w Technology w Iteration goals Example: Analysis & Design Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 39
Workflows Guide Iterative Development Business Modeling: Workflow Details Requirements: Workflow Details Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 40
Iteration Plan Includes relevant portions of Discipline for a particular iteration Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 41
Iteration Plan (cont. ) w Instantiation of the discipline w One for each iteration w A fine-grained plan w Expressed in terms of selected Workflow Details or Activities from the disciplines w Shows assigned resources Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 42
Sample Iteration Plan Example: Table of Steps for an Inception Iteration Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 43
Artifact Set Evolution Over the Development Phases w With the iterative approach, artifact sets mature over time. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 44
Summary of Major Artifacts Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 45
Economy of Artifacts RUP’s use of Artifacts allows you to: w Produce only the artifacts that get used w Keep the artifact in the most appropriate tool, in electronic form (Rose, Excel, Requisite. Pro, etc. ) w Use reports to extract snapshots of information out of models in tools, for review (So. DA, scripts, etc. ) w Put effort into artifacts that are part of the product (e. g. models) Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 46
Additional Process Elements w Discipline § Introduction § Concepts § Workflow § Activity Overview • And associated Tool Mentors and Guidelines § Artifact Overview • And associated Templates and Guidelines § Guidelines Overview § Roadmaps Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 47
Process Element: Concepts w Attached to the relevant Discipline w Explanation of key ideas w Examples of Concepts § Requirements • Requirements Management • Types of Requirements • Traceability § Analysis and Design • Software Architecture • Analysis Mechanisms • Web Architecture Patterns Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 48
Process Element: Guidelines These are Rules, recommendations, heuristics that support activities and their steps. They: w Describe specific techniques. § Transformations from one artifact to another § Use of UML w Are attached to relevant discipline. w Are kept short and to the point. w Describe well-formed artifacts and focus on qualities. w Are used also to assess the quality of artifacts. w Are tailored for the project. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 49
Process Element: Tool Mentors w Attached to relevant activity w Explain how to use a specific tool to perform an activity or steps in an activity w Linked by default to Rational tools: § Requisite. Pro: requirements management § Rational Rose: visual modeling, using UML § So. DA: documentation generation § Clear. Quest: change management, defect tracking § …and more Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 50
Process Element: Templates w Attached to relevant document type w Predefined artifacts, prototypes: § Documents (Microsoft® Word™, Adobe® Framemaker™) § MS Project § HTML w Tailored for the process Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 51
Process Element: Roadmaps are used to: w Apply the general-purpose process to solve specific types of problems. w Describe process variants using phases. w Provide a mechanism for extending and adapting the process. w Highlight certain process features to achieve a particular goal. Rational Unified Process Fundamentals Copyright © 1999 -2001 Rational Software, all rights reserved 52