450 likes | 1.09k Views
The Rational Unified Process. By : Bhaskar Rao. Outline. 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
E N D
The Rational Unified Process By:Bhaskar Rao. Bhaskar Rao
Outline • 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
Introduction 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
History • Invented by Ivar Jacobson, Grady Booch & James Rumbaugh. Bhaskar Rao
Features of RUP • Architecture Centric with 4+1 Views of an architecture: • Logical: the functionality as seen by the end user • Implementation: the system as seen by the programmers • Process: view seen by system integrators • Deployment: view seen by system engineering to be used for installation and delivery • Use-Case: the high level use-cases that drive the architecture • Use-Case-Driven • Iterative Development • Configurable • Supported by tools Bhaskar Rao
RUP-Overview (Poster) Bhaskar Rao
RUP – Best Practices Bhaskar Rao
Iterative Development Bhaskar Rao
Managing Requirements Bhaskar Rao
Component Architectures Bhaskar Rao
Model Visually Bhaskar Rao
Verify Quality Bhaskar Rao
Control Changes Bhaskar Rao
RUP-Building Blocks • 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
RUP-Tools Bhaskar Rao
More RUP-Tools Bhaskar Rao
RUP-Process Architecture Kruchten gives the following proportions as typical: Inception 10%, Elaboration 30%, Construction 50%, Transition 10%. Bhaskar Rao
RUP-Phases Bhaskar Rao
RUP-Phases Bhaskar Rao
RUP-Phases Bhaskar Rao
RUP-Phases Bhaskar Rao
Core Workflows Bhaskar Rao
Workers & Workflow Bhaskar Rao
RUP – Work Components & Work Products • 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
RUP Related Frameworks • 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 (ÉcolePolytechnique de Montréal), Philippe Kruchten (Rational Software) and Patrick d'Astous (ÉcolePolytechnique 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
The Rational Method Composer Bhaskar Rao
RUP in the Industry Bhaskar Rao
RUP Certification Bhaskar Rao
Advantages of RUP • 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
Disadvantages of RUP • 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
The Future is Rational Bhaskar Rao
Relevance to CS577 & Conclusion • 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: RUPprovides a unified Software Process Modelas 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 planfor 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
Questions? Bhaskar Rao
References • 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
Thank You! Bhaskar Rao