Title: Rational Unified Process
1Rational Unified Process
- Prepared and Presented by
- Christopher Tokpah
- Betty Rahedi
- Kholekile Gwebu
2Scope of Presentation
- Introduction and Overview- Khole
- Iterations -Chris
- Users-Betty
3Rules for Software Development
- Fast Development High Quality On Budget
- E-Software Paradox
- Speed and quality not a choice but a necessity
4Project Failures
- According to Tom Maurer Up to 98 of all
software projects are - Over budget
- Late
- And viewed as unsatisfactory by their user
5- Only 26 of software projects succeed.
- Standish Group, CHAOS Report, 1998
6Possible Reasons
- Projects are not well defined and processes are
unclear - Communication between project member is poor
- Processes are not properly linked or properly
automated.
7Rational Software
- Software company founded in 1981
- one of the worlds largest software companies
- Same company that came up with UML
- attempts to provide a software development
platform that improves - speed
- quality
- predictability
8About Rational
- Consistent delivery of quality requires specific
knowledge of how tasks are performed in an
environment. - The Rational Unified Process (RUP) is one of the
answers Rational has come up with. -
9Rational Unified Process
- What is RUP?
- Is a Web-enabled software engineering process
that enhances team productivity and delivers
software best practices to all team members - Goal
- Ensure the production of high quality software
that meets the needs of it's end users, within a
predictable schedule and budget.
10RUP
- How ?
- Best Practices
- Tools
- Services
11SourceRational Software
12RUP
- RUP provides a disciplined approach to assigning
tasks and responsibilities within a development
organization. - Process is continuously updated and improved to
reflect recent experiences and evolving and
proven best practices. -
13Characteristics of RUP
- Enhances team productivity
- Creates and maintains models
- Guide on how to effectively use UML
- Supported by tools which automate large parts of
the process - Configurable
- Captures many of the best practices in software
development
14Team Productivity
- Provides every team member with a common easy to
access knowledge base with guidelines, templates
and tool mentors for all critical development
activities
15SourceRational Software
16Creates and maintains models
- Emphasizes semantic rich representations of the
software under development
Class Diagrams
Object Diagrams
Component Diagrams
Use-case Diagrams
Models
Deployment Diagrams
Design Model Use-case Model Test
Model Implementation Model
models
Sequence diagrams
Collaboration diagrams
Activity Diagrams
17Guide for how to effectively use UML
- UML was originally created by Rational
- UML is an industry standard language which
allows requirements , architects and designs to
be communicated clearly. - The knowledge base of RUP allows development
teams to gain the full benefits of Unified
Modeling Language
18Supported by Tools
SourceRational Software
19Configurable
- Fits small development teams as well as large
ones - Unified Process founded on a simple and clear
process architecture that provides commonality
across a family of processes - It can be varied to accommodate different
situations.
20Captures many best practices
- Develop software iteratively
- Effectively manage requirements
- Use component architectures to build resilient
architectures - Model visually to manage complexity
- Verify quality throughout the lifecycle
- Control changes to software
21 What is an Iteration?
- An iteration is a complete development loop
resulting in a release(internal or external) of
an executable product, a subset of an executable
product under development which grows
incrementally from iteration to iteration to
become the final system.
22ITERATIONS
TRANSITION
CONSTRUCTION
ELABORATION
INCEPTION
23INCEPTION PHASE
- Establish Business case and Scope
- Identify all Actors
- Define Nature of Interaction
24Business Case
- Success criteria
- Risk assessment
- Estimate of needed resources
- Phase plan showing dates of major milestone
25 Establish Business case and Scope
- Identify all Actors
- Define Nature of Interaction
-
26OUTCOME
- Vision Document
- An initial use-case model(10-20 complete)
- An initial project glossary
- An initial business case
27OUTCOME
- An initial risk assessment
- Project plan, showing phases and iterations
- A business model
- One or several prototypes.
28MILESTONE ONE
29Evaluation Criteria
- Stakeholders Concurrence
- Requirements Understanding
- Credibility of cost/schedule estimates, priority
risks and development process.
30Evaluation Criteria
- Depth and breadth of any architectural prototype
developed - Actual versus planned expenditures
31ARE WE ON TARGET?
ABANDON!
32ELABORATION PHASE
- Analyze problem domain
- Establish strong architecture foundation
- Develop project plan
- Eliminate high risks
33HOW?
- Mile wide and inch deep" view of the system
- Architecture decisions based on whole
system(scope, functionality, nonfunctional
requirements)
34OUTCOME
- A use-case model (at least 80 complete)
- Supplementary requirements
- A Software Architecture Description
- An executable architectural prototype.
35OUTCOME
- A revised risk list and a revised business case.
- A development plan for the overall project
- An updated development case
- A preliminary user manual (optional).
36MILESTONE TWO
B
L
O
C
K
S
37Evaluation criteria
- 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?
38Evaluation criteria
- 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?
39ARE WE ON TARGET?
Abort or rethink project!
40CONSTRUCTION PHASE
- All remaining components and application
features are developed - All features are thoroughly tested
41OUTCOME
- The software product integrated on the adequate
platforms. - The user manuals.
- A description of the current release.
42MILESTONE THREE
- Initial Operational Capability
43Evaluation criteria
- 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?
44DID WE HIT DEAD CENTER ?
Postpone transition by one release
45TRANSITION 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
46TRANSITION PHASE
- Training of users and maintainers
- Roll-out the product to the marketing,
distribution, and sales teams
47TRANSITION PHASE OBJECTIVES
- Achieving user self-supportability
- Achieving stakeholder concurrence that deployment
baselines are complete and consistent with the
evaluation criteria of the vision - Achieving final product baseline as rapidly and
cost effectively as practical
48MILESTONE FOUR
49Evaluation criteria
- Is the user satisfied?
- Are the actual resources expenditures versus
planned expenditures still acceptable?
50Benefits of Iterative Approach
- Risks are mitigated earlier
- Change is more manageable
- Higher level of reuse
- The project team can learn along the way
- Better overall quality
51Users
- Analyst
- Developer
- Test
- Manager
52Analyst
- End users representative
- Collect and Communicate all project requirements
to ensure project success - Phases Inception Elaboration
- Workflow Business modeling Requirements
- Include Business Process Analyst and Systems
Analyst
53The Iterative Model Graph
54Business Process Analyst
- Business Modeling
- Understand Business Processes
- Business - Glossary - terminology
- - Business use CASES
- on services
55System Analyst
- Workshop
- Requirements Model Business
- Vision - Use CASE models
56RUP
- Template
- Problem statement
- Product position statement
- User description
- Product features listing
- Tool Mentors Pull down menus with extensive
guidelines in Rational Rose
57RUP
- Change Request documents changes in
requirements and tracks defects
58The Analyst RUP
- RUP provides
- Guidance in business modeling and requirements
- Rational development tools
- Productivity enhancing templates
- RUP helps the Analyst bridge the gap between the
Developer and User requirements
59Developer
- Defines resilient architecture to meet Users
requirements and accommodate change by designing,
implementing and testing components. Needs to
accurately understand end user requirements. - There is a need for
- Effective communication
- A Common language and processes must be used
- This gap is bridged by RUP
60Developer
- Phases Elaboration Construction
- Workflows Analysis Design and
Implementation - Developers include
- Architect
- Database Designer
- Implementer
- System Integrator
61The Iterative Model Graph
62Developer
- Responsibility in Analysis Development include
- Defining Candidate architecture
- Refining the architecture
- Analyzing behavior
- Designing Components
- Designing Real-time Components(Optional)
- Designing the Database
63Developer
- Each component is an individuals responsibility
or a small teams responsibility defined in the
work guidelines. - Database Designer is responsible for the
database model.
64Developer
- Architect is responsible for
- Design model A number of graphical views
extracted from the visual modeling tool, Rational
Rose. - Software Architecture document Rational SODA, a
document automation tool can automatically
generate part of this document from Rational Rose.
65The Developer RUP
- RUP provides
- Understanding and use of UML.
- Productivity enhancing templates.
- Guidance in analysis design, and
implementation. - Guidance for Rational Development tools
- Comprehensive programming guidelines for Ada,
Java and C
66Tester
- Although quality is the responsibility of all
Users, the Tester has to review the system for
Functionality, Reliability and Performance. - RUP helps answer Are we really ready to
Release? - RUP is an iterative approach Systems are built
and tested in increments, avoiding the costly big
bang effects.
67Tester
- Responsibilities
- Tester Executes test by executing test
procedures. - Test Designer
- Plans the test by giving details for the test
plan with a checklist and carries out a risk
analysis - Designs the test by identifying and describing
test cases and procedures - Implements the test by recording and programming
the test script
68Tester
- Responsibilities
- Test Designer
- Evaluates the test using RUP Tool Mentors to log
defects - Designer Designs test classes and packages
- Implementer Implements test components and
subsystems
69Tester
- RUP Test Plan is a complete 25 page template with
various industry standards like ISO and MSI EEE. - RUP has also got Load testing for
e-business applications.
70The Tester RUP
- RUP provides guidance
- In testing using an iterative approach thus
avoiding the big bang effect. - In a variety of test types.
- For using various Rational test tools.
- For using productivity enhancing templates.
71Manager
- Management involves all phases of the project
life cycle. - RUP allows the development of a project website
giving real time project status with access
limited to the team members and stakeholders.
72Manager
- Roles include
- Project Manager
- Change Control Manager
- Configuration Manager
73Manager
- Project Management includes
- Project start - Identify and access risk
- - Develop business case
- - Initiate the project
- Developmental Planning
- - Define monitoring and control
processes - - Plan phases and iterations
- - Compile software development plans
- - Define project organization and staffing
-
74Manager
- Project Management includes
- Routine Management
- - Monitor project status
- - Schedule and assign work
- - Report Status
- - Handle exceptions and problems
- Deployment Manage acceptance test
- Other Plans
- - Develop product acceptance plan
- - Develop risk management plan
- - Develop measurement plan
- - Develop problem resolution plan
-
75Manager
- Configuration and Change Management includes
- Create project Change Management environments
- Manage baselines and releases.
- Manage change requests
- This type of management is essential for
iterative development.
76The Manager RUP
- RUP provides
- Detailed guidance for planning and management of
iterative development. - Monitors and controls projects.
- Guidance in identifying and analyzing risk.
- Productivity enhancing templates like MS project
plan - Guidance in configuration and change management
- Guidance in parallel and distributed development
77The Manager RUP
- RUP provides
- Defect tracking.
78The Team RUP
- The Team can develop software
- on time and on target
79From Waterfall to Iterative Lifecycle
- Acknowledging rework upfront
- Pressure from management for comprehensive
overall plan - Lets get started, well decide where to go later
- Falling victim of your own success
80From Waterfall to Iterative Lifecycle
- Testers may be used to complete stable specs
- Hitting hard problems earlier
- Bidding time
81References
- www.rational.com
- www.therationaledge.com
- http//webdev.indiana.edu/Webdev96/proceedings/wd0
4/slides/hornyak/sld001.htm - Ivar Jacobson et al., The Unified Software
Development Process, Addison-Wesley-Longman,
Reading, MA (1999). - Philippe Kruchten , From Waterfall to Iterative
Lifecycle - A tough transition for project
manager.(Whitepaper) - Rational Software Whitepaper , Rational Unified
ProcessBest Practices for Software Development
Teams