Rational Unified Process Fundamentals Module 2 RUP Structure

  • Slides: 52
Download presentation
Rational Unified Process Fundamentals Module 2: RUP Structure and Content

Rational Unified Process Fundamentals Module 2: RUP Structure and Content

Objectives: Rational Unified Process Structure w Explain the role of process in software development.

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

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

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

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:

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

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

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

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

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

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 §

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

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

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

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

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

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

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

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

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

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

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,

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

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

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

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

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

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

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

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

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,

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

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

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

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,

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)

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

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

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

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

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

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

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

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,

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

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

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

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.

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

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: §

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

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