By:
Bhaskar Rao 4/10/2020 1
Introduction
History
Features
Overview
Best Practices
Building Blocks
Tools
Process Architecture
Phases
Workflows
Related Frameworks
Rational Method Composer
RUP in Industry
RUP Certification
Advantages & Disadvantages
Future
Relevance to CS577 & Conclusion
Bhaskar Rao 4/10/2020 2
3.
4.
1.
2.
5.
6.
What is RUP?
Iterativesoftware development process framework created by the Rational Software
Corporation.
Why RUP?
Adaptable process framework , intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs.
It combines the experience base of companies to articulate 6 best practices: iterative development requirements management employment of a component-based architecture modeling software visually
Continuous verification of quality
Control change control.
Tailorable process that guides development, has tools that automate that application, & services that accelerate the adoption of those processes & tools.
Capability Patterns-Add/Remove chunks of Processes + Modify to address needs.
Ready to use Delivery Processes-quick starting point for planning & initiating a project.
Bhaskar Rao 4/10/2020 3
Invented by Ivar Jacobson, Grady Booch & James Rumbaugh.
Bhaskar Rao 4/10/2020 4
Architecture Centric with 4+1 Views of an architecture:
1.
2.
Logical: the functionality as seen by the end user
Implementation: the system as seen by the programmers
3.
4.
Process: view seen by system integrators
Deployment: view seen by system engineering to be used for installation and delivery
5.
Use-Case: the high level use-cases that drive the architecture
Use-Case-Driven
Iterative Development
Configurable
Supported by tools
Bhaskar Rao 4/10/2020 5
Bhaskar Rao 4/10/2020 6
Bhaskar Rao 4/10/2020 7
Bhaskar Rao 4/10/2020 8
Bhaskar Rao 4/10/2020 9
Bhaskar Rao 4/10/2020 10
Bhaskar Rao 4/10/2020 11
Bhaskar Rao 4/10/2020 12
Bhaskar Rao 4/10/2020 13
The RUP uses four elements to describe processes:
Workers – describe a role, some people have many roles.
Activities – small, definable, reusable tasks that can be allocated to a single worker.
Artifacts – usually process deliverables, like: use cases, code, plans, test cases, test results.
Workflows – coordinated sequences of activities.
There are 9 workflows, 6 engineering workflows:
Business modeling, Requirements, Development & Analysis,
Implementation. Test, Deployment.
And 3 supporting workflows:
Project management, Configuration and Change Management,
Environment.
Bhaskar Rao 4/10/2020 14
Bhaskar Rao 4/10/2020 15
Bhaskar Rao 4/10/2020 16
Kruchten gives the following proportions as typical: Inception 10%, Elaboration 30%,
Construction 50%, Transition 10%.
Bhaskar Rao 4/10/2020 17
Bhaskar Rao 4/10/2020 18
Bhaskar Rao 4/10/2020 19
Bhaskar Rao 4/10/2020 20
Bhaskar Rao 4/10/2020 21
Workflow
Business Modeling
Requirements
Analysis & Design
Implementation
Test
Deployment
Project Management
Configuration & Change
Management
Environment
Goal
Document business processes using business use cases.
Describe what a system should do (elicit, organize, document required functionality, constraints, track & document trade-offs & decisions).
System will be realized in implementation phase.
To define organization of code(subsystems), implement classes & objects(components), test components as units, integrate results from implementers/teams into an executable system.
Verify interaction between objects, integration of components, requirements have been correctly implemented, identify & ensure defects are addressed prior to deployment.
Producing external releases, packaging, distributing, installing, providing help & assistance to users.
Framework for managing software intensive projects, practical guidelines for staffing, executing & monitoring projects, manage risk.
Manage multiple variants of evolving software systems, tracking versions, performing builds, enforcing site-specific development policies, perform change request management.
Provide software development organization with software development environment - processes + tools to support the development Team.
Bhaskar Rao 4/10/2020 22
Bhaskar Rao 4/10/2020 23
Work products involve: Iteration
Assessment, Project Measurements,
Periodic Status Assessment, Work
Order & Issues List.
RUP is like an online mentor that provides guidelines, templates, and examples for all aspects and stages of program development.
The RUP development methodology provides a structured way for companies to envision & create software programs.
Bhaskar Rao 4/10/2020 24
OpenUP(OpenUP): is a part of the Eclipse Process Framework (EPF), an open source process framework developed within the Eclipse Foundation . Its goals are to make it easy to adopt the core of the RUP / Unified Process .
Agile UP: simplified version of the IBM Rational Unified Process (RUP) developed by Scott Ambler .
[1] The AUP applies agile techniques including test driven development (TDD), Agile Modeling , agile change management, and database refactoring to improve productivity.
EssUP: you can pick those practices that are applicable to your situation and combine them into your own process.
UPEDU: software development process specialized for education , developed by
Pierre-N. Robillard (École Polytechnique de Montréal), Philippe Kruchten
(Rational Software) and Patrick d'Astous (École Polytechnique de Montréal).
ITUP: knowledge base of widely accepted industry best practices and the accumulated experience from IBM 's client engagements.
Oracle Unified Method: plan-based method – that includes extensive overview material, task and artifact descriptions, and associated templates – the method is intended to be tailored to support the appropriate level of ceremony required for each project which is used by Oracle employees, customers & partner networks.
Bhaskar Rao 4/10/2020 25
Bhaskar Rao 4/10/2020 26
Bhaskar Rao 4/10/2020 27
Bhaskar Rao 4/10/2020 28
This is a complete methodology in itself with an emphasis on accurate documentation
It is proactively able to resolve the project risks associated with the client's evolving requirements requiring careful change request management
Less time is required for integration as the process of integration goes on throughout the software development life cycle .
The development time required is less due to reuse of components.
There is online training and tutorial available for this process.
Bhaskar Rao 4/10/2020 29
The team members need to be expert in their field to develop a software under this methodology.
The development process is too complex and disorganized.
On cutting edge projects which utilise new technology, the reuse of components will not be possible. Hence the time saving one could have made will be impossible to fulfill.
Integration throughout the process of software development , in theory sounds a good thing. But on particularly big projects with multiple development streams it will only add to the confusion and cause more issues during the stages of testing
Bhaskar Rao 4/10/2020 30
Bhaskar Rao 4/10/2020 31
Relevance:
The iterative Phases of RUP find application in ICSM Spiral Model Life-Cycle phases & milestones.
The core workflows of RUP are incorporated as activities in ICSM.
The management workflows (PM,CCM & ENV) of RUP could be incorporated in
ICSM.
The RUP related frameworks could be adopted for a particular project (domain) that plans to use ICSM.
The Best Practices upon which RUP was built are now the pillars on which ICSM rest.
Conclusion: RUP provides a unified Software Process Model as a Framework in which team members have access to the same large knowledge base of guidelines, templates, tools, and other items to ensure that they share the same language and perspective on the project . RUP development methodology provides a structured way for companies to envision & create software programs . Since it provides a specific plan for each step of the development process , it helps prevent resources from being wasted and reduces unexpected development costs .
By incorporating many more features of RUP, ICSM can be tailored to be a better process to design Software & Systems.
Bhaskar Rao 4/10/2020 32
Bhaskar Rao 4/10/2020 33
http://en.wikipedia.org/wiki/IBM_Rational_Unified_Process www.ibm.com/Rational http://ootips.org/rup.html
http://www.eweek.com/c/a/Desktops-and-Notebooks/IBM-Acquires-Rational/
Krebs, Jochen (2007-01-15). "The value of RUP certification" . IBM . http://www-
128.ibm.com/developerworks/rational/library/jan07/krebs/index.html
. Retrieved 2008-05-13.
"Spacer IBM Certified Solution Designer - IBM Rational Unified Process V7.0" . IBM . http://www-
03.ibm.com/certify/certs/38008003.shtml
. Retrieved 2008-05-13.
"Test 839: Rational Unified Process v7.0" . IBM . http://www-03.ibm.com/certify/tests/ovr839.shtml
.
Retrieved 2008-05-13.
Stephen Schach (2004). Classical and Object-Oriented Software Engineering. 6/e, WCB McGraw Hill,
New York, 2004.
Rational Unified Process white paper .
RUP Design Specifications.
RUP Best Practices for Software Development Teams.
Manager's Introduction to RUP.
Ivar Jacobson , Grady Booch , and James Rumbaugh (1999). The Unified Software Development Process
Per Kroll, Philippe Kruchten (2003). Rational Unified Process Made Easy, The: A Practitioner's Guide to the RUP
Per Kroll, Bruce Mac Isaac (2006). Agility and Discipline Made Easy: Practices from OpenUP and RUP
Philippe Kruchten (1998). The Rational Unified Process: An Introduction
Ahmad Shuja, Jochen Krebs (2007). RUP Reference and Certification Guide
Walker Royce, Software Project Management, A Unified Framework
Bhaskar Rao 4/10/2020 34
Bhaskar Rao 4/10/2020 35