Professional Documents
Culture Documents
Welcome To The Training Program: Rational Unified
Welcome To The Training Program: Rational Unified
(RUP)
(ID: 3352)
Brief Description
This is a 1 day program for freshers specially configured to give good over on life cycle
of software development under the umbrella of RUP
Objectives
Pre-Requisites
None
Hardware Requirements
Pentium Machines with minium 512 MB RAM and 500 MB of free disk space
Software Requirements
Each machine must be equipped with Internet Explorer
Network Requirements
• In Iterative Approach:
o The earliest iterations address greatest risks. Each iteration
produces an executable release.
o Resolve major risks before making large investments
o Enable early user feedback
o Make testing and integration continuous
o Focus project short-term objective milestones
o Make possible deployment of partial implementations
• To address the selected risk(s) choose a subset of use cases and other
non-functional requirements
• Develop the minimal set of use cases the will allow objective verification
of the risks that you have chosen
Risk Profiles
•
• Issues are still correctable without jeopardizing target costs and schedules.
Best Practice 2 - Manage Requirements
Manage Requirements
Traceability
•
• Traceability allows us to:
o Assess the project impact of a change in a requirement
o Assess the impact of failure of test
o Manage the scope of the system
o Manage Change
Best Practice 3 - Use Component Architecture
• Intellectual Control:
o Manage Complexity
o Maintain integrity
Model Visually
• We do modeling to
o Capture structure & behavior
o Show how system elements fit together
o Keep design & implementation consistent
o Hide or expose details as appropriate
language for all practitioners/ul>
• Model Contains
o Static Diagrams
Use Case Diagrams to illustrate user interactions
with the system
Class Diagrams to illustrate logical structure
Object Diagrams to illustrate objects & links
Component Diagrams to illustrate the physical
structure of the system
Deployment Diagrams to show the mapping of
software to hardware config.
o Dynamic Diagrams
Sequence Diagrams to illustrate behavior
Collaboration Diagrams to illustrate behavior
State Chart Diagrams to illustrate behavior
Activity Diagrams to illustrate flow of events
Best Practice 5 - Continuously Verify Quality
• What to test:
o Test for key scenarios – ensure that all requirements are properly
implemented
o Poor application performance hurts as much as poor reliability
o Verify software reliability – memory leaks, bottlenecks
o Test every iteration – automate test
• Software problems are 100 to 1000 times more costly to find and repair
after deployment. Verifying and managing quality throughout the project
lifecycle is essential to achieving the right objectives at the right time.
Test all Dimensions
• The testing lifecycle is a part of the software lifecycle; they should start
at the same time.
• The design and development process for tests is as complex and arduous
as the application being built. - If not started early enough, the tests will
either be deficient, or cause a long testing and bug-fixing schedule to be
appended to the development schedule, which defeats the goals of
iterative development.
• The test planning and design activities can expose faults or flaws in the
application definition.
• The earlier these are resolved, the lower the impact on the overall
schedule
•
Manage Changes
•
• Three common problems that result are:
1. Simultaneous update – When two or more roles separately
modify the same artifact, the last one to make changes destroys
the work of the former.
2. Limited Notification – When a problem is fixed in shared
artifacts, some of the users are not notified of the change.
3. Multiple versions – With iterative development, it would not be
unusual to have multiple versions of an artifact in different
stages of development at the same time. For e.g. one release is
in customer use, one is in test, and one is still in development. If
a problem is identified in any one of the versions, the fix must be
propagated among all of them.
• Configuration Management
o This describes the product structure and identifies its
constituent configuration items that are treated as single
versionable entities in the configuration management
process
o CM deals with defining configurations, building and
labeling, and collecting versioned artifacts into
constituent sets and maintaining traceability between
these versions
• Change Tracking
o This describes what is done to components for what
reason and at what time.
o It serves as histroy of rationale and change
o It is quite different from assessing the impact of
proposed changes
Version Selection
• One of the key aspects of the UCM is that it unifies the activities
used to plan and track project and the artifacts undergoing
change
• Iterative approach
• Inception
o Define the scope of the project - what is included and
what is not
o This is done by identifying all the actors and use cases,
and by drafting the most essential use cases (usually
20% of the complete model)
o A business plan (business case document) is developed
the project
• Elaboration
o Focus on 2 things: a) getting good grasp of the
requirements (80%), and b) establishing an architectural
baseline
o Plan project in detail, features specied in detail
o A detailed cost/resource estimations at the end of
Elaboration is achieved
• Construction
o Build the product in several iterations upto beta release
o Detailed Level Design of all Use Cases including
important, ancillary and other that were not
architecurally significant
o Unit Test, Integration Test & System Tests all completed
here
• Transition
o The product goes to end-user community
o Focus is on end user training, installation, and support
Following illustrates the effort and time devoted for each phase
•
• Within each phase, there is a series of iterations
Process as a Product
RUP Structure
• Refer to RUP Overview figure and note that: The time aspect of
the process as it is enacted is shown by phases, iterations, and
milestones.
• Estimating the overall cost and schedule for the entire project
(and more detailed estimates for the elaboration phase that will
immediately follow)
• All risks have been identified and a mitigation strategy exists for
each.
• Essential Artifacts
o Vision Document
o Business Case
o Risk List
o Software Development Plan
o Iteration Plan
o Development Process
o Development Infrastructure
o Glossary
o Use Case Model (Actors, Use Cases)
Optional Artifacts
• All stakeholders agree that the current vision can be met if the
current plan is executed to develop the complete system, in the
context of the current architecture.
• To decide if the software, the sites, and the users are all ready
for the application to be deployed.
To achieve some degree of parallelism in the work of development teams. Even on smaller
projects, there are typically components that can be developed independently of one another,
allowing for natural parallelism between teams (resources permitting). This parallelism can
accelerate the development activities significantly; but it also increases the complexity of
resource management and workflow synchronization. A robust architecture is essential if any
significant parallelism is to be achieved.
Construction Phase: Evaluation Criteria
• Are all the stakeholders ready for the transition into the user
community?
What is an Iteration ?
• If you are using the four phases of RUP, you are already using
iterations, but more iterations can be added to each phase of
needed.
6 Plus or Minus 3
Inception: 0 .. 1
Elaboration: 1 .. 3
Construction: 1 .. 3
Transition: 1 .. 2
• If the process describes who is doing what and how, then the
primary elements of Rational Unified Process can be described
as:
• Roles
• Artifacts
• Roles use artifacts to perform activities and product artifacts in the course of
performing activities.
• Artifacts are the responsibility of a sinle role. Even though one person may
"own" the artifact, many other people may use it or update it if permission is
granted
•
Role
• Team members can “wear different hats,” that is, each member
can play more than one role.
For example, Joe, Marie, Paul, Sylvia are individuals with different, although
overlapping competencies. Using the roles defined in the process, map
resources available to the project onto roles they can play.
•
• An individual might act as several different roles in the same day: For
example, Sylvia might be a Reviewer in the morning, and a Use-Case
Designer in the afternoon.
• Several people can act as the same role to perform a certain activity
together, acting as a team: For example, Paul and Mary could be both Use-
Case Designers of the same use case.
Activity
Artifact
• Only one role is responsible for the artifact but others can use it
Workflow
Workflow Details
• A unit of planning
output from one activity serving as the input to another activity
Iteration Plan
Economy of Artifacts
• Put effort into artifacts that are part of the product e.g. models
Additional Process Elements
Chapter: 3 - Disciplines - I
Discipline: Environment
Development Case
Discipline: Requirements
Chapter: 4 - Disciplines II
Discipline: Implementation
Discipline: Deployment
Environment Discipline
Environment: Workflow
Configuring a Process
Implementing a Process