an overview of rup methodology

68
RUP Overview By Masoud Kalali By Masoud Kalali November/2004 November/2004 http://kalali.me http://kalali.me

Upload: masoud-kalali

Post on 29-Nov-2014

29.992 views

Category:

Technology


0 download

DESCRIPTION

This presentation gives you a complete overview of RUP (Rational Unified Process) methodology. The presentation come with fail deal of slide comments.

TRANSCRIPT

Page 1: An Overview of RUP methodology

RUP Overview

By Masoud KalaliBy Masoud Kalali November/2004November/2004http://kalali.mehttp://kalali.me

Page 2: An Overview of RUP methodology

03/11/2004

Presentation GoalPresentation Goal

What is RUP in some detail and a point What is RUP in some detail and a point to The product from IBM and to The product from IBM and understand how RUP compare to understand how RUP compare to MSF. (Microsoft Solutions MSF. (Microsoft Solutions Framework)Framework)

Have a better understanding of RUP

Page 3: An Overview of RUP methodology

03/11/2004

AgendaAgenda Terms and definitionsTerms and definitions What is RUP?What is RUP?

Key aspect of RUPKey aspect of RUP 6 Best practices6 Best practices

RUP ArchitectureRUP Architecture Dynamic aspectDynamic aspect Static AspectStatic Aspect

WorkersWorkers RUP WorkflowsRUP Workflows Software ArchitectureSoftware Architecture RUP – The ProductRUP – The Product RUP Vs MSFRUP Vs MSF ConclusionConclusion QAQA ReferencesReferences

Page 4: An Overview of RUP methodology

03/11/2004

AgendaAgenda TermsTerms and definitions and definitions What is RUP?What is RUP?

Key aspect of RUPKey aspect of RUP 6 Best practices6 Best practices

RUP ArchitectureRUP Architecture Dynamic aspectDynamic aspect Static AspectStatic Aspect

WorkersWorkers RUP Workflows RUP Workflows Software ArchitectureSoftware Architecture RUP – The ProductRUP – The Product RUP Vs MSFRUP Vs MSF ConclusionConclusion QAQA ReferencesReferences

Page 5: An Overview of RUP methodology

03/11/2004

RUP Terms And RUP Terms And DefinitionsDefinitions CycleCycle: : A development cycle is the period of time that elapses from A development cycle is the period of time that elapses from

the very start of the project until product release (or project the very start of the project until product release (or project cancellation); it includes all the activities that are executed during cancellation); it includes all the activities that are executed during that time.that time.

PhasesPhases: : Each cycle in the RUP is broken down into a sequence of Each cycle in the RUP is broken down into a sequence of four phases, called Inception, Elaboration, Construction, and four phases, called Inception, Elaboration, Construction, and Transition. Remember that the phases always exist and are Transition. Remember that the phases always exist and are important, not because of what is executed or because of their important, not because of what is executed or because of their length, but because of what is achieved at the major milestone that length, but because of what is achieved at the major milestone that concludes them.concludes them.

IterationIteration: : Inside each phase there may be one or more iterations. Inside each phase there may be one or more iterations. Software is developed in each iteration, which is concluded by a Software is developed in each iteration, which is concluded by a minor milestone, including a release (internal or external) that is a minor milestone, including a release (internal or external) that is a point for assessing the project progress. The software product point for assessing the project progress. The software product grows incrementally as you iterate over the activitiesgrows incrementally as you iterate over the activities

MilestoneMilestone: : TheThe point at which an iteration formally ends; point at which an iteration formally ends; corresponds to a release point.corresponds to a release point.

workflow is a sequence of activities that produces a result of observable value.

Discipline is a collection of activities that are related to a major "area of concern" within the overall project

Page 6: An Overview of RUP methodology

03/11/2004

AgendaAgenda Terms and definitionsTerms and definitions What is RUP?What is RUP?

Key aspect of RUPKey aspect of RUP 6 Best practices6 Best practices

RUP ArchitectureRUP Architecture Dynamic aspectDynamic aspect Static AspectStatic Aspect

WorkersWorkers RUP Workflows RUP Workflows Software ArchitectureSoftware Architecture RUP – The ProductRUP – The Product RUP Vs MSFRUP Vs MSF ConclusionConclusion QAQA ReferencesReferences

Page 7: An Overview of RUP methodology

03/11/2004

RUP from MarsRUP from Mars RUPRUP is a process is a process

framework consisting framework consisting of: of: process delivery toolsprocess delivery tools configuration toolsconfiguration tools process authoring toolsprocess authoring tools community/community/

marketplace of process marketplace of process plug-ins.plug-ins.

A A process productprocess product developed and developed and marketed by Rational marketed by Rational Software with an Software with an interactive knowledge interactive knowledge base integrated with base integrated with toolstools

Page 8: An Overview of RUP methodology

03/11/2004

What is RUP?What is RUP? A A software engineering processsoftware engineering process based on best practices based on best practices

in modern software developmentin modern software development

A disciplined approach to assigning and managing tasks A disciplined approach to assigning and managing tasks and responsibilities in a development organization and responsibilities in a development organization

Focused on high-quality software that meets the Focused on high-quality software that meets the needs of its end users within a predictable schedule needs of its end users within a predictable schedule and budgetand budget

A A process frameworkprocess framework that can be tailored to specific that can be tailored to specific organization or project needsorganization or project needs

RUPRUP is a methodology for delivering projects in a is a methodology for delivering projects in a maximum performance manner.maximum performance manner.

Page 9: An Overview of RUP methodology

03/11/2004

Key Aspects of RUPKey Aspects of RUP Risk-driven processRisk-driven process

Risk management integrated into the development Risk management integrated into the development processprocess

Iterations are planned based on high priority risksIterations are planned based on high priority risks Use-case driven developmentUse-case driven development

Use cases express requirements on the system’s Use cases express requirements on the system’s functionality and model the business as context for the functionality and model the business as context for the systemsystem

Use cases are defined for the intended system and are Use cases are defined for the intended system and are used as the basis of the entire development processused as the basis of the entire development process

Architecture-centric designArchitecture-centric design Architecture is the primary artifact to conceptualize, Architecture is the primary artifact to conceptualize,

construct, manage, and evolve the systemconstruct, manage, and evolve the system Consists of multiple, coordinated views (or models) of Consists of multiple, coordinated views (or models) of

the architecturethe architecture

Page 10: An Overview of RUP methodology

03/11/2004

RUP 6 Best practicesRUP 6 Best practices

Develop Software IterativelyDevelop Software Iteratively Driven by early risk identification and mitigationDriven by early risk identification and mitigation

Each iteration results in an executable releaseEach iteration results in an executable release

Manage RequirementsManage Requirements Requirements inherently dynamic across the Requirements inherently dynamic across the

system’s lifesystem’s life

Use Component-Based ArchitectureUse Component-Based Architecture Architectures that are resilient to change are Architectures that are resilient to change are

essentialessential

Page 11: An Overview of RUP methodology

03/11/2004

RUP 6 Best practicesRUP 6 Best practices

Visually Model SoftwareVisually Model Software Promotes consistency and unambiguous Promotes consistency and unambiguous

communication of development communication of development informationinformation

Continuously Verify Software QualityContinuously Verify Software Quality Identify defects early, objective measure Identify defects early, objective measure

of project statusof project status

Control Changes to SoftwareControl Changes to Software Create and release a tested baseline at the Create and release a tested baseline at the

end of each iterationend of each iteration

Page 12: An Overview of RUP methodology

03/11/2004

AgendaAgenda Terms and definitionsTerms and definitions What is RUP?What is RUP?

Key aspect of RUPKey aspect of RUP 6 Best practices6 Best practices

RUP ArchitectureRUP Architecture Dynamic aspectDynamic aspect Static AspectStatic Aspect

WorkersWorkers RUP Workflows RUP Workflows Software ArchitectureSoftware Architecture RUP – The ProductRUP – The Product RUP Vs MSFRUP Vs MSF ConclusionConclusion QAQA ReferencesReferences

Page 13: An Overview of RUP methodology

03/11/2004

RUP ArchitectureRUP Architecture RUP produces a RUP produces a software generationsoftware generation

A generation extends from idea to A generation extends from idea to retirement of a single version of the systemretirement of a single version of the system

Dynamic StructureDynamic Structure Describes the process in terms of how the Describes the process in terms of how the

process rolls out over time process rolls out over time Expressed in terms of iterations, phases, and Expressed in terms of iterations, phases, and

milestonesmilestones Static StructureStatic Structure

How RUP elements are co-works together.How RUP elements are co-works together. Expressed in term of core disciplines.Expressed in term of core disciplines.

Page 14: An Overview of RUP methodology

03/11/2004

Dynamic AspectDynamic Aspect

The dynamic structure deals with the lifecycle or time The dynamic structure deals with the lifecycle or time dimension of a project dimension of a project

Shows cycles which contains 4 phasesShows cycles which contains 4 phases InceptionInception closed with Milestone : closed with Milestone : Lifecycle ObjectiveLifecycle Objective ElaborationElaboration closed with Milestone: closed with Milestone: Lifecycle ArchitectureLifecycle Architecture ConstructionConstruction closed with Milestone: closed with Milestone: Initial Operational Initial Operational

CapabilityCapability TransitionTransition closed with Milestone : closed with Milestone : Product ReleaseProduct Release

Transition

Construction

Elaboration

Inception

30%65%20%5%Effort

10%50%30%10%Time

Below table shows how project time and effort is divided between phases

Page 15: An Overview of RUP methodology

03/11/2004

Inception phaseInception phaseObjective: Understand what to build.

A vision document:A vision document: Optional business modelOptional business model An initial project glossaryAn initial project glossary

Identify key system functionality. A initial use-case model (10% -20%) complete.A initial use-case model (10% -20%) complete.

Determine at least one possible solution. One or several prototypes.One or several prototypes.

Understand the costs, schedule, and risks associated with the project.

An initial risk assessment.An initial risk assessment. Business caseBusiness case

Decide what process to follow and what tools to use. A project planA project plan

Inception is the first of four RUP phase its all about getting familiar with Project goal and Scope .this phase help you determine the project feasibility , what customer want and how will you get into more resource consumable phase.

Page 16: An Overview of RUP methodology

03/11/2004

Milestone:Milestone: cost/schedule estimates. Requirements understanding. Credibility of the cost/schedule estimates, priorities, risks, and

development process. Depth and breadth of any architectural prototype . Actual expenditures versus planned expenditures.

Lifecycle Objective Lifecycle Objective Milestone Milestone

Its first project Milestone which help to abort project or reconsider it early And let us not to focus on a doomed to fail project.

time

Inception Elaboration Construction Transition

First Major First Major MilestoneMilestone

Page 17: An Overview of RUP methodology

03/11/2004

Elaboration phaseElaboration phase Deeper Requirement understanding Deeper Requirement understanding

At least 80% complete use-case model

Supplementary requirements capturing

non functional requirements None Use case requirement

Architect consideration.Architect consideration. A Software Architecture

Description. An executable architectural

prototype.

Risk mitigation and Accurate Risk mitigation and Accurate Cost/ScapulaeCost/Scapulae

A revised risk list and a revised business case.

Development Case refinementDevelopment Case refinement A development plan for the overall

project coarse-grained project plan showing iterations evaluation criteria for each iteration.

Objectives:

Elaboration is the second of the four phases in the RUP approach. The goal of the Elaboration phase is to define and baseline the architecture of the system in order to provide a stable basis for the bulk of the design and implementation effort in the Construction phase. The architecture evolves out of a consideration of the most significant requirements (those that have a great impact on the architecture of the system) and an assessment of risks.

Page 18: An Overview of RUP methodology

03/11/2004

Milestone : Lifecycle Architecture

Is vision Stable?Is vision Stable? Is architecture stable?Is architecture stable? Does executable show true risk management?Does executable show true risk management? Is next phase (Construction) plane is accurate?Is next phase (Construction) plane is accurate? Does current vision could be achieved?Does current vision could be achieved? Is the actual resource expenditure versus planned

expenditure acceptable?

This milestone tell help to determine if project plane, vision , architectureAre enough good to achieve project goals? If not Abort the project or reconsider it very seriously

time

Inception Elaboration Construction Transition

Major Major MilestonesMilestones

Page 19: An Overview of RUP methodology

03/11/2004

Construction Phase Construction Phase

Minimize development costs and achieve some degree of parallelism

Iteratively develop a complete product that is ready to transition to its user community

The software product integrated on the adequate platforms.

The user manuals. A description of the current release.

Construction is really about cost-efficient development of a complete product—an operational version of your system—that can be deployed in the user community

Objectives:

Page 20: An Overview of RUP methodology

03/11/2004

Milestone : Initial Operational Capability

Is this product release stable and mature enough to Is this product release stable and mature enough to be deployed in the user community?be deployed in the user community?

Are all the stakeholders ready for the transition into Are all the stakeholders ready for the transition into the user community?the user community?

Are actual resource expenditures versus planned Are actual resource expenditures versus planned expenditures still acceptable?expenditures still acceptable?

time

Inception Elaboration Construction Transition

Major Major MilestonesMilestones

The Construction phase ends with an important project milestone, the Initial Operational Capability Milestone, which is used to determine whether the product is ready to be deployed into a beta test environment by answering (among others) the following questions

Page 21: An Overview of RUP methodology

03/11/2004

Transition Phase

“beta testing” to validate the new system against user expectations

parallel operation with a legacy system that it is replacing conversion of operational databases training of users and maintainers roll-out the product to the marketing, distribution, and sales

teams Improve future project performance through lessons learned

The purpose of the transition phase is to transition the software product to the user community. Once the product hasbeen given to the end user, issues usually arise that require you to develop new releases, correct some problems, orfinish the features that were postponed.Objectives:

Page 22: An Overview of RUP methodology

03/11/2004

Milestone: Product Release

Is the user satisfied? Are the actual resources expenditures

versus planned expenditures still acceptable?

Transition ends with the fourth major project milestone, the Product Release Milestone, to determine whether the objectives were met and if you should start another development cycle. (Several development cycles may have been already planned during Inception.) In some cases this milestone may coincide with the end of the Inception phase for the next cycle

time

Inception Elaboration Construction Transition

Major Major MilestonesMilestones

Page 23: An Overview of RUP methodology

03/11/2004

System EvolutionSystem Evolution

Four phases form one Four phases form one development cycledevelopment cycle and and produce a produce a generationgeneration of the system of the system

Significant user enhancement, business or mission Significant user enhancement, business or mission changes, or technology changes trigger a new changes, or technology changes trigger a new generationgeneration

V1

V3

I E C T

I E C T

I E C T

V2Initial ProjectCycle

Evolution Cycles

RUP is So flexible , you finish the project and deliver it’s final operational version.But after a while you or your customer find some new requirement that will be better to add to project in this condition evolution cycles start .In each evolution you made some new feature or enhance some already available feature and announce a new version. its the evolutionary aspect or software generation

Page 24: An Overview of RUP methodology

03/11/2004

Dynamic Elements Phases and Dynamic Elements Phases and Milestones , a ReviewMilestones , a Review

time

Inception

Define scope of project

Lifecycle Objectives

Elaboration

Plan project, specify features, baseline architecture

Lifecycle Architecture

Initial Operational Capability

Construction

Build product

Major Milestone

s

Transition

Transition product to end user community

Product Release

Page 25: An Overview of RUP methodology

03/11/2004

AgendaAgenda Terms and definitionsTerms and definitions What is RUP?What is RUP?

Key aspect of RUPKey aspect of RUP 6 Best practices6 Best practices

RUP ArchitectureRUP Architecture Dynamic aspectDynamic aspect Static AspectStatic Aspect

WorkersWorkers RUP WorkflowsRUP Workflows Software ArchitectureSoftware Architecture RUP – The ProductRUP – The Product RUP Vs MSFRUP Vs MSF ConclusionConclusion QAQA ReferencesReferences

Page 26: An Overview of RUP methodology

03/11/2004

Static Aspect of RUPStatic Aspect of RUP Static ElementsStatic Elements

Worker (Who)Worker (Who) Activity (How)Activity (How) Artifact (What)Artifact (What) Workflows (when)Workflows (when)

Project ManagementProject Management Business ModelingBusiness Modeling RequirementsRequirements Analysis and DesignAnalysis and Design ImplementationImplementation TestTest Configuration and Change ManagementConfiguration and Change Management EnvironmentEnvironment DeploymentDeployment

Static dimension of RUP consist of Some Roles ,Activities , Artifacts and workflows.Workflow is a way to describe meaningful sequences of activities that produce some valuable result and to show interactions between roles.Roles in RUP are assigned to Workers , and preparing an artifact assign to Roles .Activities shows how a Role will do an assignment.

Page 27: An Overview of RUP methodology

03/11/2004

Static Process ElementsStatic Process ElementsRoles (who)A role that defines the individuals or a team that should carry out the work

Activity (how)Describes a piece of work a worker performs

Artifact (what)A piece of information that is produced, modified, or used by an activity

Workflow (when)Specifies when a set of related activities is performed, by which workers, producing some artifact, which provides some observable value to the project

Page 28: An Overview of RUP methodology

03/11/2004

AgendaAgenda Terms and definitionsTerms and definitions What is RUP?What is RUP?

Key aspect of RUPKey aspect of RUP 6 Best practices6 Best practices

RUP ArchitectureRUP Architecture Dynamic aspectDynamic aspect Static AspectStatic Aspect

WorkersWorkers RUP WorkflowsRUP Workflows Software ArchitectureSoftware Architecture RUP – The ProductRUP – The Product RUP Vs MSFRUP Vs MSF ConclusionConclusion QAQA ReferencesReferences

Page 29: An Overview of RUP methodology

03/11/2004

RolesRoles Any WorkerAny Worker    

Any of the workers identified in the Rational Unified Process Any of the workers identified in the Rational Unified Process ArchitectArchitect    

The architect leads and coordinates technical activities and The architect leads and coordinates technical activities and artifacts throughout the project. artifacts throughout the project.

Architecture Reviewer  Architecture Reviewer   The architecture reviewer plans and conducts the formal The architecture reviewer plans and conducts the formal

reviews of the softwarereviews of the softwarearchitecture in general.architecture in general.

Business Designer  Business Designer   The business designer defines the responsibilities, The business designer defines the responsibilities,

operations, attributes, and relationships of one or several operations, attributes, and relationships of one or several business workers and business entities.business workers and business entities.

Business-Model ReviewerBusiness-Model Reviewer     The business-model reviewer participates in formal reviews The business-model reviewer participates in formal reviews

of the business use-case model and business object model. of the business use-case model and business object model.

Page 30: An Overview of RUP methodology

03/11/2004

Roles-Cont.Roles-Cont. Business-Process Analyst  Business-Process Analyst  

The business-process analyst leads and coordinates business use-case The business-process analyst leads and coordinates business use-case modeling. modeling.

Capsule DesignerCapsule Designer     The capsule designer focuses on ensuring that the system is able to The capsule designer focuses on ensuring that the system is able to

respond to events in a timely manner, in accord with the respond to events in a timely manner, in accord with the concurrency requirements.concurrency requirements.

Change Control Manager  Change Control Manager   The change control manager (worker) oversees the change control The change control manager (worker) oversees the change control

process. In aprocess. In a small project, a single person, such as the project manager or small project, a single person, such as the project manager or

software architect,software architect, may play this role.may play this role.

Code Reviewer  Code Reviewer   responsible for ensuring the quality of the source code responsible for ensuring the quality of the source code

Configuration Manager  Configuration Manager   The configuration manager ensures that the CM environment The configuration manager ensures that the CM environment

facilitates product review, change, and defect tracking activities. facilitates product review, change, and defect tracking activities. The configuration manager is also responsible for writing the CM The configuration manager is also responsible for writing the CM plan and reporting change-request-based progress statistics.plan and reporting change-request-based progress statistics.

Page 31: An Overview of RUP methodology

03/11/2004

Roles-Cont.Roles-Cont. Course Developer  Course Developer  

The course developer develops training material to teach users how to use theThe course developer develops training material to teach users how to use theproduct. product.

Database DesignerDatabase Designer     The database designer defines the tables, indexes, views, constraints, triggers,The database designer defines the tables, indexes, views, constraints, triggers,stored procedures, table spaces or storage parameters, and other –databasestored procedures, table spaces or storage parameters, and other –databasespecific constructs needed to store, retrieve, and delete persistent objects.specific constructs needed to store, retrieve, and delete persistent objects.

Deployment ManagerDeployment Manager     The deployment manager is responsible for plans to transition the product toThe deployment manager is responsible for plans to transition the product tothe user community. the user community.

Design Reviewer  Design Reviewer   The design reviewer plans and conducts the formal reviews of the design The design reviewer plans and conducts the formal reviews of the design

model.model. DesignerDesigner    

The designer defines the responsibilities, operations, attributes, and The designer defines the responsibilities, operations, attributes, and relationshipsrelationships

of one or several classes and determines how they should be adjusted to theof one or several classes and determines how they should be adjusted to theimplementation environment. implementation environment.

Page 32: An Overview of RUP methodology

03/11/2004

Roles-Cont.Roles-Cont. Implementer  Implementer  

An implementer is responsible for developing and testing components in An implementer is responsible for developing and testing components in accordance with the project's adopted standards so that they can be accordance with the project's adopted standards so that they can be integrated into larger subsystems. integrated into larger subsystems.

Process Engineer  Process Engineer   The process engineer is responsible for the software development process The process engineer is responsible for the software development process

itself. itself. Project Manager  Project Manager  

The project manager allocates resources, shapes priorities, coordinatesThe project manager allocates resources, shapes priorities, coordinatesinteractions with the customers and users, and generally tries to keep the interactions with the customers and users, and generally tries to keep the

projectprojectteam focused on the right goal. team focused on the right goal.

Project Reviewer  Project Reviewer   The project reviewer is responsible for evaluating project planning The project reviewer is responsible for evaluating project planning

artifacts andartifacts andproject assessment artifacts, at major review points in the project project assessment artifacts, at major review points in the project

lifecycle.lifecycle. Requirements ReviewerRequirements Reviewer    

The requirements reviewer plans and conducts the formal review of the The requirements reviewer plans and conducts the formal review of the use-caseuse-case

model.model.

Page 33: An Overview of RUP methodology

03/11/2004

Roles-Cont.Roles-Cont. Stakeholder  Stakeholder  

Is anyone who is materially affected by the outcome of the project.Is anyone who is materially affected by the outcome of the project. System AdministratorSystem Administrator    

Maintains the development environment—both hardware and softwareMaintains the development environment—both hardware and software—and—and

is responsible for system administration, backup, and so on.is responsible for system administration, backup, and so on. System Analyst  System Analyst  

Leads and coordinates requirements elicitation and use-case modeling Leads and coordinates requirements elicitation and use-case modeling byby

outlining the system's functionality and delimiting the system.outlining the system's functionality and delimiting the system. System Integrator  System Integrator  

System integrators combine components to produce an internally System integrators combine components to produce an internally releasedreleased

build. Also responsible for planning the integration of the system.build. Also responsible for planning the integration of the system. Technical Writer  Technical Writer  

The technical writer produces end-user support material, such as user The technical writer produces end-user support material, such as user guides,guides,

help texts, release notes, and so on.help texts, release notes, and so on.

Page 34: An Overview of RUP methodology

03/11/2004

Roles-Cont.Roles-Cont. Test Designer  Test Designer  

The test designer is responsible for the planning, design, implementation, and The test designer is responsible for the planning, design, implementation, and evaluationevaluation

of testing and evaluation of test coverage, test results, and effectiveness.of testing and evaluation of test coverage, test results, and effectiveness. Tester  Tester  

The tester is responsible for executing testing, including test setup and execution;The tester is responsible for executing testing, including test setup and execution;evaluating test execution and recovering from errors; and assessing the results of evaluating test execution and recovering from errors; and assessing the results of

test andtest andlogging identified defects.logging identified defects.

Tool Specialist  Tool Specialist   The tool specialist is responsible for the supporting tools in the project. This The tool specialist is responsible for the supporting tools in the project. This

includesincludesassessing the need for tool support and selecting and acquiring tools.assessing the need for tool support and selecting and acquiring tools.

Use-Case Specifier  Use-Case Specifier   The use-case specifier details the specification of a part of the system's functionality The use-case specifier details the specification of a part of the system's functionality

bybydescribing the requirements aspect of one or several use cases. describing the requirements aspect of one or several use cases.

User-Interface Designer  User-Interface Designer   Capturing usability requirements; building user-interface prototypes; involving Capturing usability requirements; building user-interface prototypes; involving

otherotherstakeholders of the use and reviewing and providing the appropriate feedback on stakeholders of the use and reviewing and providing the appropriate feedback on

the the final implementation of the user interface. final implementation of the user interface.

Page 35: An Overview of RUP methodology

03/11/2004

AgendaAgenda Terms and definitionsTerms and definitions What is RUP?What is RUP?

Key aspect of RUPKey aspect of RUP 6 Best practices6 Best practices

RUP ArchitectureRUP Architecture Dynamic aspectDynamic aspect Static AspectStatic Aspect

WorkersWorkers RUP WorkflowsRUP Workflows Software ArchitectureSoftware Architecture RUP – The ProductRUP – The Product RUP Vs MSFRUP Vs MSF ConclusionConclusion QAQA ReferencesReferences

Page 36: An Overview of RUP methodology

03/11/2004

RUP DisciplinesRUP Disciplines

In RUP, the process is described at two levels: In RUP, the process is described at two levels: the discipline level and the workflow detail level. the discipline level and the workflow detail level. A A WorkflowWorkflow is a grouping of activities that are is a grouping of activities that are often performed "together" to produce a specific often performed "together" to produce a specific result. In particular, workflow details describe result. In particular, workflow details describe groups of activities performed together in a groups of activities performed together in a discipline.discipline.

The workflows for the RUP disciplines and The workflows for the RUP disciplines and workflow details are described using Unified workflow details are described using Unified Modeling Language (UML) activity diagrams. Modeling Language (UML) activity diagrams. Discipline diagrams contain the workflow details Discipline diagrams contain the workflow details of the discipline.of the discipline.

Page 37: An Overview of RUP methodology

03/11/2004

RUP Disciplines-RUP Disciplines- Business Business ModelingModeling

Business Business ModelingModeling Understand the Understand the

organization organization structure and structure and dynamics in dynamics in which a system which a system is to be deployedis to be deployed

Drive system Drive system requirements requirements and achieving and achieving common common understanding of understanding of system.system.

Business-Process AnalystBusiness Architecture Document

Business-Process AnalystBusiness DesignerBusiness DesignerBusiness Designer

Business Object Model•Organization Unit•Business Worker•Business Entity

Business DesignerBusiness Use-Case realization

Business-Process AnalystBusiness DesignerBusiness Designer

Business Use-Case Model•Business Use Case•Business Actor

Business-Process AnalystSupplementary Business Specification

Business-Process AnalystBusiness RulesBusiness-Process AnalystBusiness GlossaryBusiness-Process AnalystBusiness Vision

Business-Process AnalystTarget-Organization Assessment

RoleArtifact

Page 38: An Overview of RUP methodology

03/11/2004

RUP Disciplines:RUP Disciplines: Requirements Requirements ManagementManagement

Requirements Requirements ManagementManagement Capture and manage Capture and manage

requirements requirements Design a user Design a user

interface focused on interface focused on users needs and goalsusers needs and goals

To define the To define the boundaries of boundaries of (delimit) the system (delimit) the system

To provide a basis for To provide a basis for estimating cost and estimating cost and time to develop the time to develop the systemsystem User-Interface DesignerUser-Interface Prototype

User-Interface DesignerUse-Case StoryboardUser-Interface DesignerBoundary Class

System AnalystUse-Case SpecifierUse-Case SpecifierSystem AnalystUser-Interface Designer

Use-Case Model•Use-Case Package•Use Case•Actor (system)•Actor (human)

Use-Case SpecifierSoftware Requirements Specification

System AnalystSupplementary Specification

System AnalystRequirements Attributes

System Analyst Vision

System AnalystGlossary

System AnalystStakeholder Requests

System AnalystRequirements Management Plan

RoleArtifact

Page 39: An Overview of RUP methodology

03/11/2004

RUP Disciplines: RUP Disciplines: Analysis and Analysis and DesignDesign

Analysis and Analysis and DesignDesign Translate Translate

requirements requirements into a into a specification that specification that describes how to describes how to implement the implement the systemsystem

Fulfills all its requirements.

Is structured to be robust?

Database DesignerData Model

Capsule DesignerDesignerDesignerDesigner

Capsule•Protocol•Signal•Event

ArchitectDesignerDesignerDesignerDesigner

Design Model•Design Subsystem•Design Package•Design Class•Interface

DesignerArchitect

Analysis Model•Analysis Class

DesignerUse-Case Realization

ArchitectSoftware Architecture Document

ArchitectReference Architecture Fit/Gap Analysis

ArchitectReference ArchitectureArtifact Role

Page 40: An Overview of RUP methodology

03/11/2004

RUP DisciplinesRUP DisciplinesImplementationImplementation

ImplementationImplementation Create, assemble, Create, assemble,

and integrate and integrate components and components and subsystem into an subsystem into an executable systemexecutable system

 System IntegratorIntegration Build Plan

Implementer

Implementer

System Integrator

Implementation Model

•Implementation Subsystem•Component

ArchitectImplementation Model

Artifact Role

Page 41: An Overview of RUP methodology

03/11/2004

RUP DisciplinesRUP DisciplinesTestTest

TestTest test the developed

components as units. integrate the results

produced by individual implementers into executable

verify the interaction between objects.

verify that all requirements have been correctly implemented

Test DesignerTest Evaluation Summary

TesterTest Results

ImplementerImplementer

Test Subsystem•Test Component

DesignerDesigner

Test Package•Test Class

Test DesignerWorkload Model

Test DesignerTest Script

Test DesignerTest DesignerTest Designer

Test Model•Test Procedure•Test Case

Test DesignerTest PlanArtifact Role

Page 42: An Overview of RUP methodology

03/11/2004

RUP Disciplines:RUP Disciplines: Deployment Deployment

DeploymentDeployment Turn the finished Turn the finished

software product over software product over to its usersto its users

Producing external releases of the software.

In some case includes: Planning and conduct

of beta tests. Migration of existing

software or data. Formal acceptance.

Graphic ArtistProduct Artwork

Course DeveloperTraining Material

Technical WriterSupport Material

ImplementerInstallation Component

Deployment ManagerRelease Notes

Deployment ManagerBill of Materials

Deployment ManagerDeployment Plan

Artifact Role

Page 43: An Overview of RUP methodology

03/11/2004

RUP DisciplinesRUP Disciplines Configuration and Change Configuration and Change

ManagementManagement Configuration and Configuration and

Change Change ManagementManagement Assess product Assess product

qualityquality Simultaneous

Update Multiple Versions

Change Control Manager•Change Request

Configuration Manager•Configuration

Audit Findings

Configuration Manager•Project Repository

Configuration Manager•Configuration

Management Plan

Artifact Role

Page 44: An Overview of RUP methodology

03/11/2004

RUP Disciplines:RUP Disciplines: Project Project ManagementManagement

Project Project ManagementManagement Plan an iterative Plan an iterative

process process Decide duration Decide duration

and content of an and content of an iterationiteration

provide practical provide practical guidelines for guidelines for planning, staffing, planning, staffing, executing, and executing, and monitoring monitoring projectsprojects

provide a provide a framework for framework for managing riskmanaging risk

Project ReviewerReview Record

Project ManagerProject Measurements

Project ManagerWork Order

Project ManagerStatus Assessment

Project ManagerIteration Assessment

Project ManagerProject ManagerProject ManagerProject ManagerProject ManagerProject Manager

Software Development Plan•Iteration Plan•Problem Resolution Plan•Risk Management Plan•Product Acceptance Plan•Measurement Plan

Project ManagerBusiness Case

Artifact Role

Page 45: An Overview of RUP methodology

03/11/2004

RUP Disciplines: RUP Disciplines: EnvironmentEnvironment

EnvironmentEnvironment Track and maintain Track and maintain

the integrity of the integrity of evolving project evolving project assetsassets

Support the Support the development development organization with organization with processes and toolsprocesses and tools

Turn the finished Turn the finished software product over software product over to its usersto its users

Process improvement Process improvement

Tool SpecialistTools

Tool SpecialistTool Support Assessment

System AdministratorSupporting Environment

Process EngineerMany Workers

Development Case•Guidelines (Design, Test, etc.)

Process EngineerProject-Specific Templates

Process EngineerDevelopment Organization Assessment

Process EngineerQuality Assurance Plan

Artifact Role

Page 46: An Overview of RUP methodology

03/11/2004

Additional Static Additional Static ElementsElements

GuidelinesGuidelines Rules, recommendations, techniques, or heuristics to Rules, recommendations, techniques, or heuristics to

support activities and artifactssupport activities and artifacts

TemplatesTemplates Models of artifacts that can be used to create the Models of artifacts that can be used to create the

artifactartifact Usually associated with a toolUsually associated with a tool

ConceptsConcepts Discussions on particular concepts (e.g., iteration, Discussions on particular concepts (e.g., iteration,

risk) associated with the processrisk) associated with the process

Tool mentorsTool mentors Show how to perform a set of process steps using a Show how to perform a set of process steps using a

specific toolspecific tool

Page 47: An Overview of RUP methodology

03/11/2004

Static and Dynamic Aspect in Static and Dynamic Aspect in viewview

Core Workflows

Supporting Workflows

Project ManagementEnvironment

Business Modeling

ImplementationTest & Assessment

Analysis & Design

Deployment

Configure. & Change Mgmt

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 : Dynamic Aspect

Static Aspect

Page 48: An Overview of RUP methodology

03/11/2004

Each major workflow describes how to create and maintain a particular model.

Models and WorkflowsModels and Workflows

BusinessModeling

Business Model

implemented by

ImplementationModel

ImplementationWorkflow

Test Model

Test Workflow

verified byUse-Case Model

RequirementsWorkflow

Build upon

realized by

Design Model

Analysis DesignWorkflow

Deployment Workflows

Used by

Deployment model

Page 49: An Overview of RUP methodology

03/11/2004

AgendaAgenda Terms and definitionsTerms and definitions What is RUP?What is RUP?

Key aspect of RUPKey aspect of RUP 6 Best practices6 Best practices

RUP ArchitectureRUP Architecture Dynamic aspectDynamic aspect Static AspectStatic Aspect

WorkersWorkers RUP WorkflowsRUP Workflows Software ArchitectureSoftware Architecture RUP – The ProductRUP – The Product RUP Vs MSFRUP Vs MSF ConclusionConclusion QAQA ReferencesReferences

Page 50: An Overview of RUP methodology

03/11/2004

Software ArchitectureSoftware ArchitectureIn each project there are different interests upon the In each project there are different interests upon the

architecture based on the role who is looking at the project. architecture based on the role who is looking at the project. implementers view of project is difference with the designers implementers view of project is difference with the designers view And Deployer’s is different with End-user. So architecture view And Deployer’s is different with End-user. So architecture is multidimensional .is multidimensional .

Based on the definition of Architecture:•Architecture should be easy to understand for all stakeholders•Different interests look at architecture. ,interests are based on roles,•Stakeholders have different roles and different specialties .•Architecture should bring an useful , understandable view for each stakeholder.•Architecture should be multi view.

Page 51: An Overview of RUP methodology

03/11/2004

Architecture activities: the 4+1 view Architecture activities: the 4+1 view logical viewlogical view

object model of the design (when an object-oriented design method object model of the design (when an object-oriented design method is used)is used)

process process viewview captures the concurrency and synchronization aspects of the designcaptures the concurrency and synchronization aspects of the design

Deployment Deployment viewview describes the mapping(s) of the software onto the hardware and describes the mapping(s) of the software onto the hardware and

reflects its distributed aspectreflects its distributed aspect development development viewview

describes the static organization of the software in its development describes the static organization of the software in its development environmentenvironment

Use-Case viewUse-Case view It contains a few key scenarios or use cases It contains a few key scenarios or use cases

RUP & Software RUP & Software ArchitectureArchitecture

Page 52: An Overview of RUP methodology

03/11/2004

More on The “4+1 View” More on The “4+1 View” ModelModel

Process View Deployment View

Logical View

Use-Case View

Implementation View

End-user Functionality

Programmers Software management

PerformanceScalabilityThroughput

System integratorsSystem topology

Delivery, installationcommunication

System engineering

Analysts/DesignersStructure

Table 5-1. The Relationship between Models and Views

Use-case viewUse-case model

Deployment viewDeployment model

Implementation viewImplementation model

Process viewDesign model

Logical viewDesign model

Architectural View Model

Page 53: An Overview of RUP methodology

03/11/2004

AgendaAgenda Terms and definitionsTerms and definitions What is RUP?What is RUP?

Key aspect of RUPKey aspect of RUP 6 Best practices6 Best practices

RUP ArchitectureRUP Architecture Dynamic aspectDynamic aspect Static AspectStatic Aspect

WorkersWorkers RUP WorkflowsRUP Workflows Software ArchitectureSoftware Architecture RUP – The ProductRUP – The Product RUP Vs MSFRUP Vs MSF ConclusionConclusion QAQA ReferencesReferences

Page 54: An Overview of RUP methodology

03/11/2004

RUP a productRUP a product designed and documented using the Unified Modeling designed and documented using the Unified Modeling

Language (UML) Language (UML) delivered online using Web technologydelivered online using Web technology

easy to accesseasy to access regular upgrades are releasedregular upgrades are released

process is never obsoleteprocess is never obsolete users benefit from the latest developmentusers benefit from the latest development All team members access the same version of the All team members access the same version of the

process process modular and in electronic formmodular and in electronic form

can be tailored and configured to suit the specific needs of a can be tailored and configured to suit the specific needs of a development organizationdevelopment organization

integrated with the many software development tools in the integrated with the many software development tools in the Rational SuitesRational Suites developers can access process guidance within the tool they developers can access process guidance within the tool they

are usingare using

Page 55: An Overview of RUP methodology

03/11/2004

AgendaAgenda Terms and definitionsTerms and definitions What is RUP?What is RUP?

Key aspect of RUPKey aspect of RUP 6 Best practices6 Best practices

RUP ArchitectureRUP Architecture Dynamic aspectDynamic aspect Static AspectStatic Aspect

WorkersWorkers RUP WorkflowsRUP Workflows Software ArchitectureSoftware Architecture RUP – The ProductRUP – The Product RUP Vs MSFRUP Vs MSF ConclusionConclusion QAQA ReferencesReferences

Page 56: An Overview of RUP methodology

03/11/2004

RUP VS. MSFRUP VS. MSF MSFMSF

Lack of detailsLack of details Simple, direct and flexible Simple, direct and flexible

Method Method Waterfall and IterativeWaterfall and Iterative Based on spiral and Based on spiral and

waterfall than iterativewaterfall than iterative Mostly disciplines , not Mostly disciplines , not

methodologymethodology

RUPRUP Process and methodologyProcess and methodology Object OrientationObject Orientation Detail roles descriptionDetail roles description Give models and examples to Give models and examples to

each artifacteach artifact UML documents UML documents

compatiblecompatible Can be used as a full version Can be used as a full version

or be customized by projector be customized by project IterativeIterative

Very detailed (~30 roles)

6 basic rolesTeam Model

4 phases with activities detailed

5 PhasesProcess Model

DifficulteasyUtilization

ComplexSimpleComplexity

RUPMSFAspect

Page 57: An Overview of RUP methodology

03/11/2004

Project ManagementRisk ManagementReadiness Management

Business ModelingRequirementsAnalysis & DesignImplementation , Test Deployment , EnvironmentProject ManagementConfiguration & Change Management

Disciplines

Product Management Role Cluster Developer Role Cluster Testing , User Experience Release Management Additional Team Members

Analyst Role SetDeveloper Role SetTester Role SetManager Role SetAdditional Role Set

Team Model

Envisioning , PlanningDevelopment ,StabilizingDeployment

Interception , ElaborationConstruction , Transition

Phases

IterativeIterativeProcess Model

MSFRUP

Overall ComparisonOverall Comparison

Page 58: An Overview of RUP methodology

03/11/2004

Development Complete

Visional Scope

Approved

Release Readiness Approved

Project Plans ApprovedScopes

Complete

Envisioning

Pla

nnin

g

Development

Stab

ilizing

Deplo

ymen

t

Implementation

Initial Planning Planning

RequirementsAnalysis and Design

Deployment

Test

Evaluation

Management Environment

Phases comPhases comparisonparison

Page 59: An Overview of RUP methodology

03/11/2004

Phases comparisonPhases comparison

Inception

Elaboration

Construction Transition

DevelopmentPlanningEnvisioning

Stabilizing Deployment

The above show how phases in MSF and RUP are mapped , but there is one thing that We should consider about , there is a phase named Stabilizing in MSF which address issues about project tests of all kind , about 40 percent of the stabilizing phase of MSF is distributed between all Phase of RUP , mostly in construction and elaboration.I can not find a way to show this mater so pleas consider it yourself and draw some N* dimensional image on your head yourself.

MSF

RUP

Page 60: An Overview of RUP methodology

03/11/2004

MSF and RUP wide Acceptance MSF and RUP wide Acceptance comparisoncomparison

63426Amazon ****421017217 MSN

****48,900 141,000 Google

MSFRUP“Microsoft Solutions Framework”

“Rational Unified Process”

search engineprocess

process

*Search have Done after Microsoft Wide Search update (November-2004)**RUP And MSF alone can not be used in search because each of them are used in other industries like Motor Cycle production ,…***search have done with exact phrase mentioned above.

Page 61: An Overview of RUP methodology

03/11/2004

AgendaAgenda Terms and definitionsTerms and definitions What is RUP?What is RUP?

Key aspect of RUPKey aspect of RUP 6 Best practices6 Best practices

RUP ArchitectureRUP Architecture Dynamic aspectDynamic aspect Static AspectStatic Aspect

WorkersWorkers RUP WorkflowsRUP Workflows Software ArchitectureSoftware Architecture RUP – The ProductRUP – The Product RUP Vs MSFRUP Vs MSF ConclusionConclusion QAQA ReferencesReferences

Page 62: An Overview of RUP methodology

03/11/2004

Conclusion...Conclusion... It is important to have a Process Engineer dedicated to It is important to have a Process Engineer dedicated to

the projectthe project The Process Engineer of the Company must to:The Process Engineer of the Company must to:

Have enough experience and qualification on RUPHave enough experience and qualification on RUP Have the capability to customize RUPHave the capability to customize RUP Should know the Company and it proceduresShould know the Company and it procedures Preference be a PMPPreference be a PMP Should have experience in Process AreaShould have experience in Process Area Guarantee the ProcessGuarantee the Process

* Big companies should have one or more dedicated people* Big companies should have one or more dedicated people

* Small companies can share the role with the Project * Small companies can share the role with the Project ManagerManager

Page 63: An Overview of RUP methodology

03/11/2004

Conclusion...Conclusion... The Project Manager of each project must to:The Project Manager of each project must to:

Know deeply and apply at least the RUP six best Know deeply and apply at least the RUP six best practices;practices;

Follow the RUP and help people on the all disciplines Follow the RUP and help people on the all disciplines integration;integration;

Work close with the people of the disciplines “CCM” Work close with the people of the disciplines “CCM” and “Environment”;and “Environment”;

Guarantee and do the peer review on the Disciplines Guarantee and do the peer review on the Disciplines Guidelines;Guidelines;

Create and maintain:Create and maintain: Business Case, Issue List, Risk List and Software Business Case, Issue List, Risk List and Software

Development Plan.Development Plan. Create and validate a Iteration Assessment for each Create and validate a Iteration Assessment for each

iteration;iteration; Create and Maintain a Iteration Plan for each Create and Maintain a Iteration Plan for each

iterationiteration..

Page 64: An Overview of RUP methodology

03/11/2004

Final ConclusionFinal Conclusion No vision?No vision? No process?No process? No PlanNo Plan No Risk List?No Risk List? No Business Case?No Business Case? No Architecture?No Architecture? No Prototype?No Prototype? No Evaluation?No Evaluation? No Change Request?No Change Request? No user Support?No user Support?

Chaotic situation!Chaotic situation!

No guarantee of a project delivery!No guarantee of a project delivery!

No satisfaction of our customer!No satisfaction of our customer!

Project failure!Project failure!

Page 65: An Overview of RUP methodology

03/11/2004

QuestionsQuestions

Any Any question?question?

Page 66: An Overview of RUP methodology

03/11/2004

AgendaAgenda Terms and definitionsTerms and definitions What is RUP?What is RUP?

Key aspect of RUPKey aspect of RUP 6 Best practices6 Best practices

RUP ArchitectureRUP Architecture Dynamic aspectDynamic aspect Static AspectStatic Aspect

WorkersWorkers RUP WorkflowsRUP Workflows Software ArchitectureSoftware Architecture RUP – The ProductRUP – The Product RUP Vs MSFRUP Vs MSF ConclusionConclusion QAQA ReferencesReferences

Page 67: An Overview of RUP methodology

03/11/2004

ReferencesReferences The Rational Unified Process An Introduction, Second Edition Philippe The Rational Unified Process An Introduction, Second Edition Philippe

Kruchten , Publisher: Addison Wesley Kruchten , Publisher: Addison Wesley Rational Unified Process Best Practices for Software Development Rational Unified Process Best Practices for Software Development

Teams Rational Software White Paper TP026B, Rev 11/01Teams Rational Software White Paper TP026B, Rev 11/01 MSF Process Model v. 3.1 , Microsoft June 2002 Software Development for Small Teams: A RUP-Centric Approach By

Gary Pollice, Liz Augustine, Chris Lowe, Jas Madhur .Publisher : Addison Wesley

The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP, By Per Kroll, Philippe Kruchten. Publisher : Addison Wesley

The Rational Unified Process An Introduction, Second Edition Philippe The Rational Unified Process An Introduction, Second Edition Philippe Kruchten. Publisher: Addison Wesley Kruchten. Publisher: Addison Wesley

From Waterfall to Iterative Lifecycle – A tough transition for project From Waterfall to Iterative Lifecycle – A tough transition for project managersmanagers

P. Krutchen, Architectural Blueprints - The "4+1" View Model of P. Krutchen, Architectural Blueprints - The "4+1" View Model of Software Software

Architecture, Architecture, www.rational.comwww.rational.com RUP 2002 product documentation.RUP 2002 product documentation.

Page 68: An Overview of RUP methodology

03/11/2004

Thank youThank you

Thank you for your attentions.Thank you for your attentions.

All your suggestion and comment are All your suggestion and comment are welcome.welcome.

You can contact me by looking at :You can contact me by looking at :http://weblogs.java.net/blog/kalali/

Masoud Kalali .

http://weblogs.java.net/blog/kalali/November 2004