Вы находитесь на странице: 1из 38

Rational Unified Process ,

Introduction to UML
What is RUP?
The Rational Unified Model is a software
engineering process
Both process and product
Provides a common project knowledge base that
may be accessed by team members
Ensures consistency of communication
Commonality of project vision
Enhances productivity
Focuses on the development and maintenance of
models
Reflect the best practices of software development

Software Development: Best
Practices
1. Develop software iteratively
2. Manage requirements
3. Use component-based architectures
4. Visually model software
5. Continuously verify software quality
6. Control changes to software
RUP
The X-axis: Time / Iterations
1. Inception
3. Construction
4. Transition
2. Elaboration
Lifecycle
Objectives
Lifecycle
Architecture
Initial Operational
Capability
Product
Release
milestones
Phase 1: Inception
Develop business case
Success criteria
Risk assessment
Estimate of resources needed
Phase plan (with dates)
Deliverables
Vision document
Preliminary Use-case model
Initial project glossary
Business case
Possibly, some prototypes
Inception Milestone: Lifecycle
Objectives
Stakeholder agreement on project scope and
cost/schedule estimates.
Requirements understanding (based on quality of
primary use cases).
Credibility of the cost/schedule estimates,
priorities, risks, and development process.
Depth and breadth of any architectural prototype
that was developed.
Actual expenditures versus planned expenditures.
Phase 2: Elaboration
Goals
Develop a big picture view of the project
Most of the analysis is done in this stage
Develop an architectural foundation for the system
A working, exploratory working prototype
Possibly the most important of the phases
Deliverables (partial list)
More comprehensive use-case model
Supplementary requirements (not covered in use-case)
Revised risk assessment and business case
Working prototype
Development plan (with dates and number of iterations)

Elaboration Milestone: Lifecycle
Architecture
Is the vision of the product stable?
Is the architecture stable?
Does the executable demonstration show that the major
risk elements have been addressed and credibly resolved?
Is the plan for the construction phase sufficiently detailed
and accurate?
Do all stakeholders agree that the current vision can be
achieved ?
Is the actual resource expenditure versus planned
expenditure acceptable?

Phase 3: Construction
The manufacturing phase
Goals
Develop and integrate all remaining components into
product
Thorough testing of all features
Deliverables
Actual product on the appropriate platform (beta
release)
User manuals
Description of current release
Construction Milestone: Initial
Operational Capability
Is this product release stable and mature
enough to be deployed in the user
community?
Are all stakeholders ready for the transition
into the user community?
Are the actual resource expenditures versus
planned expenditures still acceptable?

Phase 4: Transition
Involves beta testing
Parallel conversion
Convert operational databases
Train users and support personnel
Rollout the product to other functional areas
(marketing, distribution, etc.)
Typically involves several iterations (for purposes
of fine tuning user manuals and the product)
Transition Milestone: Product
Release
Focuses on whether objectives were met
New development cycle needed?
The questions -
Is the user satisfied?
Are the actual resources expenditures versus
planned expenditures still acceptable?

Software Development: Best
Practices
1. Develop software iteratively
2. Manage requirements
3. Use component-based architectures
4. Visually model software
5. Continuously verify software quality
6. Control changes to software
RUP
The X-axis: Time / Iterations
1. Inception
3. Construction
4. Transition
2. Elaboration
Lifecycle
Objectives
Lifecycle
Architecture
Initial Operational
Capability
Product
Release
milestones
RUP
Representing the RUP
Processes involve
Who is doing
What,
How its being done
And when it was done
RUP main model elements
Workers the who
Activities the what
Artifacts the how
Workflows the when
worker
activity
RUP Element: Workers
A worker defines the behavior and
responsibilities of an individual, or a group of
individuals working together as a team.
Not really referring to a person or team
Refers to role individual plays in doing work
Worker responsibilities include
Activities
Artifact ownership

Example of Workers
RUP Element: Activity
An activity of a specific worker is a unit of
work that an individual in that role may be
asked to perform
Activities
Have clear purpose
Assigned to specific worker
Limited time span (hours or days)
Affects limited number of artifacts

Examples of Activities


Who might be the assigned
worker for this activity?
-Analyst
--Project Manager
-Tester
-Designer
Plan an iteration
Find use cases and actors
Review the design
Execute performance test
Who might be the assigned
worker for this activity?
-Analyst
--Project Manager
-Tester
-Designer
Who might be the assigned
worker for this activity?
-Analyst
--Project Manager
-Tester
-Designer
Who might be the assigned
worker for this activity?
-Analyst
--Project Manager
-Tester
-Designer
Answer: Analyst Answer: Tester Answer: Designer Answer: Project Manager
RUP Element: Artifacts
An artifact is a piece of information that is
produced, modified, or used by a process
Artifacts
Tangible results of activities in the project
Outputs of activities
May be used as inputs for other activities
Examples
Models or model elements
Documents
Code
Executable prototypes


RUP Element: Workflows
A workflow is a sequence of activities that
produces a result of observable value.
Describes a meaningful sequence that produces a useful
result
Shows interaction between workers
UML represents workflows through
Sequence diagram
Collaboration diagram
Activity diagram

Example of Workflows
Core Workflows
Core Workflows
Nine core workflows
Divided into two groups
Process workflows
Supporting workflows
Based on workers and activities
The activities in the workflow are revisited with
each iteration
Emphasis on the activity changes with each
iteration
Core Workflows
Six Process Workflows
Business Modeling
Communication problems arise between
analysts and business
Document business processes
Business use-cases
Artifact is a business object model
Ensures all stakeholders on same page
Not always done
Six Process Workflows contd.
Requirements
Describe the desired system functionality
Involves eliciting, organizing, and documenting
required functionality and constraints
Artifacts include
Vision document
Use-cases
The use-cases are the common thread for all
workflows
Six Process Workflows contd.
Analysis and Design
show how the system will be created in the
implementation
Artifact is a Design Model
Acts as blueprint for coding
Presents organized classes, subsystems, and
interfaces
Based on architecture of system
Six Process Workflows contd.
Implementation
To define the organization of the code
To implement classes and objects in terms of
components
To test the developed components as units.
To integrate the results produced by individual
implementers (or teams), into an executable
system (a prototype)

Six Process Workflows contd.
Testing
Objectives
To verify the interaction between objects.
To verify the proper integration of all components of the
software.
To verify that all requirements have been correctly
implemented.
To identify and ensure defects are addressed prior to the
deployment of the software.
Based on reliability, functionality, application
performance and system performance.
Continuous process throughout the development
process

Six Process Workflows contd.
Deployment
Aims to successfully produce product releases,
and deliver the software to its end users
Includes
Producing external releases of the software
Packaging the software
Distributing the software
Installing the software
Providing help and assistance to users



Core Workflows
Three Support Workflows
Configuration and Change Management
control the numerous artifacts produced during project
Typical problems with managing large number of
artifacts
Simultaneous Update
Limited notification
Multiple versions
how to report defects, manage them through their
lifecycle


Three Support Workflows contd.
Project Management
Involves
Balancing competing objectives
Overcoming constraints
deliver a product which meets the needs of both customers (the
payers of bills) and the users
RUP provides
A framework for managing software-intensive projects
Practical guidelines for planning, staffing, executing, and
monitoring projects
A framework for managing risk



Three Support Workflows contd.
Environment
provide software development environment--
both processes and tools--that are needed to
support the development team.
focuses on the activities to configure the
process in the context of a project
focus on activities to develop the guidelines
needed to support a project.

Вам также может понравиться