rational unified process amir ranjbar by [email protected]

45
Rational Unified Process Rational Unified Process Amir Ranjbar by [email protected] [email protected]

Upload: felicity-blair

Post on 11-Jan-2016

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Rational Unified ProcessRational Unified Process

Amir Ranjbar

by

[email protected]@mehr.sharif.edu

Page 2: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Rational Unified Process (RUP)Rational Unified Process (RUP)

IntroductionIntroduction PhasesPhases Core WorkflowsCore Workflows Best PracticesBest Practices ToolsTools

Page 3: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Team-Unifying ApproachTeam-Unifying Approach The RUP unifies a software team by providing a common The RUP unifies a software team by providing a common

view of the development process and a shared vision of view of the development process and a shared vision of a common goala common goal

Increased Team ProductivityIncreased Team Productivity knowledge base of all processesknowledge base of all processes view of how to develop softwareview of how to develop software modeling languagemodeling language Rational provides many toolsRational provides many tools

Designer /Developer

Analyst Tester

Architect

Tool

Specialist

Release Engineer

Project Management

Page 4: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Rational Unified Process Rational Unified Process (RUP)(RUP)

Project ManagementEnvironment

Supporting WorkflowsConfiguration & Change Mgmt

Business Modeling

Implementation

Test

Analysis & Design

Process Workflows

Deployment

Requirements

Preliminary Iteration(s)

Iter.#1

Phases

Iterations

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Elaboration TransitionInception Construction

time

co

nte

nt

Page 5: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Rational Unified Process (RUP)Rational Unified Process (RUP)

IntroductionIntroduction PhasesPhases Core WorkflowsCore Workflows Best PracticesBest Practices ToolsTools

Page 6: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Phases in the ProcessPhases in the Process

The Rational Unified Process has four The Rational Unified Process has four phases:phases: Inception - Define the scope of projectInception - Define the scope of project Elaboration - Plan project, specify features, Elaboration - Plan project, specify features,

baseline architecture baseline architecture Construction - Build the productConstruction - Build the product Transition - Transition the product into end Transition - Transition the product into end

user communityuser community

time

Inception Elaboration Construction Transition

Major Major MilestonesMilestones

Page 7: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Inception phaseInception phase

Establishing the project's software scope and boundary Establishing the project's software scope and boundary conditions, including an operational vision, acceptance conditions, including an operational vision, acceptance criteria and what is intended to be in the product and what criteria and what is intended to be in the product and what is not. is not.

Discriminating the critical use cases of the system, the Discriminating the critical use cases of the system, the primary scenarios of operation that will drive the major primary scenarios of operation that will drive the major design tradeoffs. design tradeoffs.

Exhibiting, and maybe demonstrating, at least one Exhibiting, and maybe demonstrating, at least one candidate architecture against some of the primary candidate architecture against some of the primary scenarios.scenarios.

Estimating the overall cost and schedule for the entire Estimating the overall cost and schedule for the entire project (and more detailed estimates for the elaboration project (and more detailed estimates for the elaboration phase that will immediately follow).phase that will immediately follow).

Estimating potential risks (the sources of unpredictability) Estimating potential risks (the sources of unpredictability) Preparing the supporting environment for the project. Preparing the supporting environment for the project.

Page 8: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Elaboration phaseElaboration phase

Defining, validating and baselining the architecture as Defining, validating and baselining the architecture as rapidly as practical. rapidly as practical.

Refining the Vision, based on new information obtained Refining the Vision, based on new information obtained during the phase, establishing a solid understanding of the during the phase, establishing a solid understanding of the most critical use cases that drive the architectural and most critical use cases that drive the architectural and planning decisions. planning decisions.

Creating and baselining detailed iteration plans for the Creating and baselining detailed iteration plans for the construction phase. construction phase.

Refining the development case and putting in place the Refining the development case and putting in place the development environment, including the process, tools and development environment, including the process, tools and automation support required to support the construction automation support required to support the construction team. team.

Refining the architecture and selecting components. Refining the architecture and selecting components. Potential components are evaluated and the Potential components are evaluated and the make/buy/reuse decisions sufficiently understood to make/buy/reuse decisions sufficiently understood to determine the construction phase cost and schedule with determine the construction phase cost and schedule with confidence. The selected architectural components are confidence. The selected architectural components are integrated and assessed against the primary scenarios.integrated and assessed against the primary scenarios.

Page 9: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Construction phaseConstruction phase

Resource management, control and Resource management, control and process optimization process optimization

Complete component development Complete component development and testing against the defined and testing against the defined evaluation criteria evaluation criteria

Assessment of product releases Assessment of product releases against acceptance criteria for the against acceptance criteria for the vision. vision.

Page 10: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Transition phaseTransition phase

Executing deployment plans. Executing deployment plans. Finalizing end-user support material.Finalizing end-user support material. Testing the deliverable product at the Testing the deliverable product at the

development site. development site. Creating a product release. Creating a product release. Getting user feedback. Getting user feedback. Fine-tuning the product based on feedback. Fine-tuning the product based on feedback.

Making the product available to end users.Making the product available to end users.

Page 11: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Rational Unified Process (RUP)Rational Unified Process (RUP)

IntroductionIntroduction PhasesPhases Core WorkflowsCore Workflows Best PracticesBest Practices ToolsTools

Page 12: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

What is a workflow?What is a workflow?

A set of activities that is performed by the A set of activities that is performed by the

various roles in a projectvarious roles in a project

Describes a meaningful sequence of Describes a meaningful sequence of

activities that produce a useful result (an activities that produce a useful result (an

artifact)artifact)

Shows interaction between rolesShows interaction between roles

Page 13: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Workflow Detail: Prepare Workflow Detail: Prepare Environment for Project Environment for Project

Page 14: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Workflows - 3 key elementsWorkflows - 3 key elements

Three key elements of each workflows:Three key elements of each workflows: ArtifactsArtifacts RolesRoles ActivitiesActivities

Page 15: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

ArtifactsArtifacts

A piece of information that: A piece of information that: Is produced, modified, or used by a Is produced, modified, or used by a

processprocess Defines an area of responsibilityDefines an area of responsibility Is subject to version control. Is subject to version control. An artifact can be a An artifact can be a modelmodel, a , a model model

elementelement, or a , or a documentdocument. A document . A document can enclose other documents. can enclose other documents.

Page 16: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

RolesRoles

Represent a role that an individual Represent a role that an individual may play on the projectmay play on the project

Responsible for producing artifactsResponsible for producing artifacts Distinct from actorsDistinct from actors

Page 17: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

ActivitiesActivities

Tasks performed by people Tasks performed by people representing particular roles in order representing particular roles in order to produce artifactsto produce artifacts

Page 18: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Brief summary of process Brief summary of process workflowsworkflows

Business ModellingBusiness Modelling RequirementsRequirements Analysis & DesignAnalysis & Design ImplementationImplementation TestTest DeploymentDeployment

Page 19: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Business ModellingBusiness Modelling

Understand structure & dynamics of Understand structure & dynamics of organization in which system is to be deployedorganization in which system is to be deployed

Understand current problems in the target Understand current problems in the target organization & identify improvement potentialorganization & identify improvement potential

Ensure customers, end users & developers Ensure customers, end users & developers have common understanding of target have common understanding of target organisationorganisation

Derive system requirements to support target Derive system requirements to support target organisationorganisation

Page 20: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Analysis & DesignAnalysis & Design

Transform requirements into a Transform requirements into a design of the systemdesign of the system

Evolve a robust architecture for the Evolve a robust architecture for the systemsystem

Adapt design to match the Adapt design to match the implementation environment, implementation environment, designing it for performancedesigning it for performance

Page 21: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

ImplementationImplementation

Define organization of the code, in terms of Define organization of the code, in terms of

implementation subsystems organized in implementation subsystems organized in

layerslayers

Implement classes & objects in terms of Implement classes & objects in terms of

componentscomponents

Test developed components as unitsTest developed components as units

Integrate results into an executable systemIntegrate results into an executable system

Page 22: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

TestTest

Verify interaction between objectsVerify interaction between objects Verify proper integration of all Verify proper integration of all

components of the softwarecomponents of the software Verify that all requirements have Verify that all requirements have

been correctly implementedbeen correctly implemented Identify & ensure defects are Identify & ensure defects are

addressed prior to deploymentaddressed prior to deployment

Page 23: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

DeploymentDeployment

Provide custom installationProvide custom installation Provide shrink wrap product offeringProvide shrink wrap product offering Provide software over internetProvide software over internet

Page 24: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Brief summary of supporting Brief summary of supporting workflowsworkflows

Configuration & Change Configuration & Change ManagementManagement

Project ManagementProject Management EnvironmentEnvironment

Page 25: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Configuration & Change ManagementConfiguration & Change Management

Supports development methodsSupports development methods Maintains product integrityMaintains product integrity Ensures completeness & correctness of Ensures completeness & correctness of

configured productconfigured product Provides stable environment within which to Provides stable environment within which to

develop productdevelop product Restricts changes to artifacts based on project Restricts changes to artifacts based on project

policiespolicies Provides an audit trail on why, when & by whom Provides an audit trail on why, when & by whom

any artifact was changedany artifact was changed

Page 26: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Project ManagementProject Management

A framework for managing software-A framework for managing software-intensive projectsintensive projects

Practical guidelines for planning, Practical guidelines for planning, staffing, executing & monitoring staffing, executing & monitoring projectsprojects

A framework for managing riskA framework for managing risk

Page 27: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

EnvironmentEnvironment

Design, implement and manage the project’s Design, implement and manage the project’s

required technical environmentsrequired technical environments

Define the technical architectures for the Define the technical architectures for the

development, system validation, testing & development, system validation, testing &

staging/release management environmentsstaging/release management environments

When possible, standard architectural models for When possible, standard architectural models for

given types of platforms should be utilized when given types of platforms should be utilized when

defining the production environmentdefining the production environment

Page 28: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Bringing It All Together...Bringing It All Together...

Project ManagementEnvironment

Business Modeling

ImplementationTest

Analysis & Design

Preliminary Iteration(s)

Iter.#1

Phases

Process Workflows

Iterations

Supporting Workflows

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Deployment

Configuration & Change Mgmt

Requirements

Elaboration TransitionInception Construction

In an iteration, you walk through all workflows

Page 29: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Rational Unified Process (RUP)Rational Unified Process (RUP)

IntroductionIntroduction PhasesPhases Core WorkflowsCore Workflows Best PracticesBest Practices ToolsTools

Page 30: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Rational Unified ProcessRational Unified Process

Describes the effective implementation Describes the effective implementation of key “Best Practices” of key “Best Practices”

Control Changes

Manage Requirements

Use Component

Architectures

DevelopIteratively

Model Visually

VerifyQuality

Page 31: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

1. Manage Your Requirements1. Manage Your Requirements Elicit, organize, and document required Elicit, organize, and document required

functionality and constraintsfunctionality and constraints Track and document tradeoffs and decisions Track and document tradeoffs and decisions Business requirements are easily captured Business requirements are easily captured

and communicated through use casesand communicated through use cases Use cases are important planning instrumentsUse cases are important planning instruments

Design Model

Implementation Model Test Model

verifiesrealization influenced by

Use-Case Model

Page 32: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

2. Develop Software Iteratively2. Develop Software Iteratively An initial design will likely be flawed with An initial design will likely be flawed with

respect to its key requirementsrespect to its key requirements Late-phase discovery of design defects Late-phase discovery of design defects

results in costly over-runs and/or project results in costly over-runs and/or project cancellation cancellation

InitialInitialPlanningPlanning

PlanningPlanning

RequirementsRequirements

Analysis & DesignAnalysis & Design

ImplementationImplementation

TestTest

DeploymentDeployment

EvaluationEvaluation

ManagementManagementEnvironmentEnvironment

Page 33: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Waterfall DevelopmentWaterfall Development

T I M E

Subsystem Testing

System Testing

Code & Unit Testing

Design

Requirements Analysis

Page 34: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Waterfall Development: Risk vs. Waterfall Development: Risk vs. TimeTime

RISK

T I M E

Subsystem Testing

System Testing

Code & Unit Testing

Design

Requirements Analysis

Page 35: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Risk Profile of an Iterative Risk Profile of an Iterative DevelopmentDevelopment

TransitionTransition

RiskRisk

InceptionInception

ElaborationElaboration

ConstructionConstruction

PreliminaryPreliminaryIterationIteration

Architect.Architect.IterationIteration

Architect.Architect.IterationIteration

Devel. Devel. IterationIteration

Devel. Devel. IterationIteration

Devel. Devel. IterationIteration

TransitionTransitionIterationIteration

TransitionTransitionIterationIteration

Post-Post-deploymentdeployment

WaterfallWaterfall

TimeTime

Page 36: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Iterative Development Iterative Development CharacteristicsCharacteristics

Critical risks are resolved before making Critical risks are resolved before making large investments large investments

Initial iterations enable early user Initial iterations enable early user feedback feedback

Testing and integration are continuous Testing and integration are continuous Objective milestones provide short-term Objective milestones provide short-term

focusfocus Progress is measured by assessing Progress is measured by assessing

implementationsimplementations Partial implementations can be deployedPartial implementations can be deployed

Page 37: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

3. Employ Component-based 3. Employ Component-based ArchitectureArchitecture

Design, implement and test your architecture up-front!Design, implement and test your architecture up-front!

A systematic approach to define a “good” architectureA systematic approach to define a “good” architecture

Resilient to change by using well-defined Resilient to change by using well-defined interfacesinterfaces

By using and reverse engineering By using and reverse engineering componentscomponents

Derived from top rank use casesDerived from top rank use cases

Design, implement and test your architecture up-front!Design, implement and test your architecture up-front!

A systematic approach to define a “good” architectureA systematic approach to define a “good” architecture

Resilient to change by using well-defined Resilient to change by using well-defined interfacesinterfaces

By using and reverse engineering By using and reverse engineering componentscomponents

Derived from top rank use casesDerived from top rank use cases

System-System-softwaresoftware

MiddlewareMiddleware

Business-Business-specificspecific

Application-Application-specificspecific

Component-based Architecture with layers

Page 38: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

4. Model Software Visually4. Model Software Visually Aiding understanding of complex Aiding understanding of complex

systems systems Exploring and comparing design Exploring and comparing design

alternatives at a low cost alternatives at a low cost Forming a foundation for Forming a foundation for

implementation implementation Capturing requirements precisely Capturing requirements precisely Communicating decisions Communicating decisions

unambiguously unambiguously Code

Classes

Sub Systems

Visual Modelingraises the levelof abstraction

Page 39: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

5. Verify Software Quality5. Verify Software Quality Create tests for each key scenario to ensure that Create tests for each key scenario to ensure that

all requirements are properly implementedall requirements are properly implemented Unacceptable application performance hurts as Unacceptable application performance hurts as

much as unacceptable reliabilitymuch as unacceptable reliability Verify software reliability - memory leaks, bottle Verify software reliability - memory leaks, bottle

necksnecks Test every iteration - automate test!Test every iteration - automate test!

Development Deployment

Cost

Software problemsare 100 to 1000 timesmore costly to findand repair after deployment

Page 40: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

6. Control Changes to Software6. Control Changes to Software Control, track and monitor changes to enable Control, track and monitor changes to enable

iterative development iterative development Establish secure workspaces for each developerEstablish secure workspaces for each developer

Provide isolation from changes made in other Provide isolation from changes made in other workspaces workspaces

Control all software artifacts - models, code, Control all software artifacts - models, code, docs, etc.docs, etc.

Automate integration and build managementAutomate integration and build management

ALERTREPORT

WorkspaceManagement

Process Integration

Parallel Development

Build Management

CM is more than just check-in and check-out

Page 41: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Summary: Best Practices of Software Summary: Best Practices of Software EngineeringEngineering

The result is software that isThe result is software that is On TimeOn Time On Budget On Budget Meets Users NeedsMeets Users Needs

ProjectManager

PerformanceEngineer

ReleaseEngineer

Analyst

DeveloperTester

BestPractices

BestPractices

Develop IterativelyDevelop Iteratively

Manage Manage RequirementsRequirements

Model VisuallyModel Visually

Use Component Use Component ArchitecturesArchitectures

Verify QualityVerify Quality

Control Control ChangeChange

Page 42: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

Rational Unified Process (RUP)Rational Unified Process (RUP)

IntroductionIntroduction PhasesPhases Core WorkflowsCore Workflows Best PracticesBest Practices ToolsTools

Page 43: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

ToolsTools The success of process adoption is The success of process adoption is

significantly improved by the use of significantly improved by the use of appropriate supporting tools. appropriate supporting tools.

Tool MentorsTool Mentors provide detailed provide detailed descriptions of how to perform descriptions of how to perform specific process activities or steps, or specific process activities or steps, or produce a particular artifact or produce a particular artifact or report, using one or more tools.report, using one or more tools.

Page 44: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

ToolsTools

Rational Unified Process Rational Unified Process RUP Builder RUP Builder Rational Process Workbench Rational Process Workbench Rational Administrator Rational Administrator Rational Suite AnalystStudio Rational Suite AnalystStudio Rational ClearCase Rational ClearCase Rational ClearQuest Rational ClearQuest Rational ProjectConsole Rational ProjectConsole Rational PurifyPlus Rational PurifyPlus Rational QualityArchitect Rational QualityArchitect

Page 45: Rational Unified Process Amir Ranjbar by aranj@mehr.sharif.edu

ToolsTools

Rational RequisitePro Rational RequisitePro Rational Robot Rational Robot Rational Rose Rational Rose Rational Rose RealTime Rational Rose RealTime Rational SoDA Rational SoDA Rational TestManager Rational TestManager Rational Test RealTime Rational Test RealTime Rational TestFactory Rational TestFactory Rational XDE Developer - Java Platform Edition Rational XDE Developer - Java Platform Edition Rational XDE Developer - .NET Edition Rational XDE Developer - .NET Edition