Unified Process An Introduction Presented by Jing Zou May 9, 2003 1 Outline • • • • • • • UP INTRODUCTION(what and why) UP HISTORY THREE KEY ASPECTS LIFECYCLE OF UP RUP EUP CONCLUSION 2 Preface Good Start Unified Process (UP) is a de facto standard development process within the object-oriented and component-based software communities. Product Rational Unified Process (RUP) More Needed Enterprise Unified Process (EUP) is a software process that reflects the full lifecycle of software-based systems. 3 Reasons for UP 1) Software becomes more complex and is updated fast 2) Software developers uses methods that are as old as 25 years ago. 3) Development process is diverse 4 Precursor of UP Set of activities to transform a user’s requirements into a software. User’s Requirement Software development Process (diversity) Software System UP 5 What does UP do? 1) 2) 3) 4) Provides guidance to the order of team’s activities Integrates team’s work and individual’s work Specifies artifacts Offers criteria for monitoring and measuring 6 Outline • • • • • • • UP INTRODUCTION(what and why) UP HISTORY THREE KEY ASPECTS LIFECYCLE OF UP RUP EUP CONCLUSION 7 History of UP 1 8 History of UP 2 9 About authors Ivar Jacobson James Rumbaugh Grady Booch 10 Outline • • • • • • • UP INTRODUCTION(what and why) UP HISTORY THREE KEY ASPECTS LIFECYCLE OF UP RUP EUP CONCLUSION 11 3 Key Aspects of UP 1) Use-case driven 2) Architecture-centric 3) Iterative and incremental 12 I. Use-Case Driven Use-Case driven means: Development process proceeds through a series of workflows that derive from use cases. 13 3 Terminologies Users: someone or something that interact with system. Use Case: interaction between users and system,---what is the system supposed to do for each user? Use Case Model: collection of use cases; description of complete functionality 14 Initiate AND bind 1) Tool for specifying requirements 2) Driving design 3) Source for testing 15 II. Architecture-Centric Architecture is the view of the whole design with key Characteristics and without too many details Only 5-10% use cases growth with use case in parallel (structure and function) 16 Simplified Process 1) Rough outline (use case independent) 2) Subset of the identified use cases (5-10%) 3) More use cases specified, more architecture discovered 17 Use case & Architecture Use case drive influence System architecture 18 III. Iterative and Incremental ?? Iteration: Steps in the workflow (mini-project) Create a design for relevant use cases Implement with components Required iteration in logical order for economy Increments: Growth in the product (might not be additive) 19 Benefits to controlled iteration 1) 2) 3) 4) Reduce the cost risk to the expenditures on a single increment Reduce the risk of delayed product delivery (find the risks earlier) Speed up the tempo of the whole development effort Easier to adapt to the requirement modification 20 Relationship of 3 concepts USE CASE define Goals drive drive influence ITERATION guide ARCHITECTURE 21 Outline • • • • • • • UP INTRODUCTION(what and why) UP HISTORY THREE KEY ASPECTS LIFECYCLE OF UP RUP EUP CONCLUSION 22 Lifecycle of UP • Each cycle concludes with a product release to customers. • Each cycle consists of 4 phases: 1) Inception 2) Elaboration 3) Construction 4) Transition 23 Phases within the cycle X-abscissa 24 End of a Cycle At the end, a software product is releasable Finished product includes 1) requirements 2) use cases 3) nonfunctional requirements 4) test cases 5) artifacts modeled by the UML 25 For New Cycle For every new cycle, we need • • • • • • • Use-case model Analysis model Design model Implementation Model Deployment model Test model Representation of the architecture 26 Phases within the cycle X-abscissa 27 Phase I --> Inception • Develop a good idea into a vision of the end product • Business case for the product is presented -Establish goals -Build business case -Identify essential system requirement -Initiate risk management(cost, time, political environment ) 28 Phase II --> Elaboration Here, architecture is expressed as a view of different models - Develop architecture - Capture functional requirements as use cases - Identify non-functional requirements - Plan the construction - Continue risk management 29 Phase III --> Construction Muscle built : software added to the architecture - Build the System - Maintain architectural integrity (Architecture is stable but might has minor changes) - Iterative, Incremental -However, is it sufficient to take early delivery? 30 Phase IV --> Transition Products move to beta release. Trial Defects and deficiencies are reported. Corrections and improvements - Final testing( system, acceptance, beta ) - Training customer personnel - Documentation, installation and consultation - Perform postmortem review 31 Modeling Disciplines of UP Business Modeling: Model the business context, the scope, of the system. Requirement: Engineer the requirements for the project, Analysis and Design:Evolve a robust architecture for the system Enterprise Management: Encompasses activities that are outside of the scope of a single project, 32 Outline • • • • • • • UP INTRODUCTION(what and why) UP HISTORY THREE KEY ASPECTS LIFECYCLE OF UP RUP EUP CONCLUSION 33 RUP and UP UP is more of a philosophy of how to run development projects RUP is Rational commercial product 34 Rational Corporate Introduction Background Introduction Products Introduction: 1) Requirements & analysis Rational Suite® AnalystStudio 2) Visual modeling & development Rational Suite® DevelopmentStudio 3)Automated Testing Rational Suite® TestStudio® 4)Project Management Rational Unified Process® 5)Configurable Process RUP 35 UML and RUP UML: international standard for object-oriented modeling. RUP uses UML to prepare blueprints of the software How to build a use case diagram? “…We are making inroads into many corporations today, and it's our goal to get there. We don't think it would be an easy thing to make the Unified Process a standard;… And I think that everyone that looks at the Rational Unified Proce convinced this is the way they've got to do it….” 36 Successful Cases 1. 2. 3. 4. ARINC, Inc. Lawrence Livermore National Laboratory Smith and Barney IBM 37 RUP view I 38 RUP view II Arrow Diagram 39 Build Web Solutions with RUP 40 1) 2) 3) 4) 5) 6) Requirement Creative Design Brief Navigation Map Creative Design Comps (prototype the user interface) Web Design Elements … 41 42 RUP Demos http://www.rational.com/demos/viewlets/rup/rup_platform/ RUP_Platform_viewlet.html Show demo 1-8 Show demo 23-30 43 RUP strengths Strength of RUP: 1) Based on sound SwE principles 2) Mechanisms that provide management visibility into the development process 3) HTML-based description of the RUP 44 RUP weaknesses Weaknesses of RUP: 1) 2) 3) 4) Only developing process, not the entire software process Not supporting multi-system infrastructure development efforts Iterative nature foreign to experienced developers Tool-driven approach, not sufficient for complex system 45 Outline • • • • • • • UP INTRODUCTION(what and why) UP HISTORY THREE KEY ASPECTS LIFECYCLE OF UP RUP EUP CONCLUSION 46 Extend RUP to EUP 1) Add processes for operation, support, and maintenance. 2) Add support for the management of a portfolio of projects 47 The Lifecycle for the EUP 48 Tailored RUP 49 Augmented lifecycle for the EUP 50 Milestones & Phase Each phase terminates in a milestone (significant point in development) Purposes: • Make decision to move on • Enable management/developers to monitor work process • Keep track of time and effort 51 Phase V --> Production Keep software in production until it is 1) Replaced with a new version 2) Retired and removed from the production (note: no iteration) 52 Phase VI --> Retirement Remove system from production because: 1) No longer needed 2) Being replaced Activities: 1) Comprehensive analysis 2) Redesign and rework of other existing systems 3) Transformation of existing legacy data 4) Archival of data 5) Configuration management of the removed software 6) System integration testing of the remaining system 53 Outline • • • • • • • UP INTRODUCTION(what and why) UP HISTORY THREE KEY ASPECTS LIFECYCLE OF UP RUP EUP CONCLUSION 54 Conclusion 6 Best Practices • • • • • • Iterative Software Deployment Manage Requirements Component-based architecture Visually model software Quality Control Configuration Management 55 • RUP is component based. • RUP uses visual modeling standard UML and rely on 3 aspects • Establishes a framework that integrates all different facets such as workflows, risk mitigation, quality control and etc. • Developers can build different models 56