an overview of rup methodology
DESCRIPTION
This presentation gives you a complete overview of RUP (Rational Unified Process) methodology. The presentation come with fail deal of slide comments.TRANSCRIPT
RUP Overview
By Masoud KalaliBy Masoud Kalali November/2004November/2004http://kalali.mehttp://kalali.me
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
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
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
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
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
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
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.
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
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
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
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
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.
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
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.
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
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.
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
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:
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
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:
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
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
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
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
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.
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
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
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.
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.
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.
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.
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.
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.
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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.
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
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
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..
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!
03/11/2004
QuestionsQuestions
Any Any question?question?
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
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.
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