Download - Rup
RUPRATIONAL UNIFIED PROCESS
Behnam Akbari
06 Oct 2014
1
Topics
What is RUP?
RUP Overview.
RUP phases & Disciplines.
RUP good practice.
2
What is the Rational Unified Process?
3
What is the Rational Unified Process?
The Rational Unified Process® or RUP® is a software engineering process developed by Rational Software, IBM
It provides a disciplined approach to assigning tasks and responsibilities within a development organization.
Its goal is to ensure the production of high-quality software that meets the needs of its end-users, within a predictable schedule and budget.
It is a guide for how to effectively use the Unified Modeling Language(UML).
The Rational Unified Process is a configurable process. No single process is suitable for all software development.
The Unified Process fits small development teams as well as large development organizations.
4
RUP Overview:
described from 2 perspectives
A dynamic perspective that shows
phases over time;
A static perspective that shows
process activities;
5
RUP Overview:
The first dimension represents time and shows the lifecycle aspects of the process as it unfolds.
– it is enacted, and it is expressed in terms of phases, iterations, and milestones.
The second dimension represents the static aspect of the process.
– how it is described in terms of process components, disciplines, activities,workflows, artifacts, and roles.
The graph shows how the emphasis varies over time.
– For example, in early iterations, spend
more time on requirements, and in later
iterations, spend more time on
implementation.
6
RUP Phases:
TheRational Unified Process divides one development cycle in four consecutive phases. The software lifecycle is broken into cycles, each cycle working on a new generation of the product.
• Inception phase
• Elaboration phase
• Construction phase
• Transition phase
Each phase is concluded with a well-defined milestone ,a point in time at which certain critical decisions must be made, and therefore key goals must have been achieved
7
Inception Phase:
During the inception phase, you establish the business case for the system and delimit the project scope. To accomplish this you must identify all external entities with which the system will interact (actors) and define the nature of this interaction at a high-level. This involves identifying all use cases.
Milestone:
• Stakeholder concurrence on scope definition and cost/schedule estimates.
• Requirements understanding as evidenced by the fidelity of the 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.
The project may be cancelled or considerably re-thought if it fails to pass this milestone.
8
Elaboration Phase:
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.
?
Is vision Stable? Is architecture stable? Does executable show true risk management? Is next phase (Construction) plane is accurate? Does current vision could be achieved? Is the actual resource expenditure versus planned expenditure
acceptable?
9
Construction Phase:
During the construction phase, all remaining components and
application features are developed and integrated into the
product, and all features are thoroughly tested.
System design, programming and testing.
The Construction phase ends with an important project 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
• 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?
10
Transition Phase:
The transition phase is entered when a baseline is mature enough to be
deployed in the end-user domain.
Once the product has been given to the end user, issues usually arise that
require you to develop new releases, correct some problems, or finish the
features that were postponed.
• “beta testing” to validate the new system against user expectations
• conversion of operational databases
• training of users and maintainers
• roll-out the product to the marketing, distribution, and sales teams
11
Iterations:
Each phase in the Rational Unified Process can be further broken
down into iterations. An iteration is a complete development loop
resulting in a release (internal or external) of an executable product,
a subset of the final product under development, which grows
incrementally from iteration to iteration to become the final system.
• Risks are mitigated earlier
• Change is more manageable
• The project team can learn along the way
• Better overall quality
12
Static Aspect of RUP:
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.
Static Elements
• Worker (Who)
• Activity (How)
• Artifact (What)
• Workflows or Disciplines (when)
13
Worker,Activity ,Artifact: 14
workflows in the RUP:
Business modelling: The business processes are modelled using
business use cases.
Requirements :Actors who interact with the system are identified
and use cases are developed to model the system requirements.
Analysis and design: A design model is created and documented using architectural models, component models, object models and
sequence models.
Implementation: The components in the system are implemented
and structured into implementation sub-systems. Automatic code generation from design models helps accelerate this process.
Testing: Testing is an iterative process that is carried out in
conjunction with implementation. System testing follows the
completion of the implementation.
15
workflows in the RUP:
Deployment:A product release is created, distributed to users and
installed in their workplace.
Configuration and change management:This supporting workflow managed changes to the system
Project management:This supporting workflow manages the system
development
Environment:This workflow is concerned with making appropriate
software tools available to the software development team.
16
RUP Good Practice:
Develop software iteratively
Plan increments based on customer priorities and deliver highest priority
increments first.
Manage requirements
Explicitly document customer requirements and keep track of changes to
these requirements.
Use component-based architectures
Organize the system architecture as a set of reusable components.
Visually model software
Use graphical UML models to present static and dynamic views of the
software.
17
RUP Good Practice:
Verify software quality
Ensure that the software meet’s organizational quality standards.
Control changes to software
Manage software changes using a change management system and
configuration management tools.
18
END
19