Rational Unified Process Fundamentals Best Practices of Software
Rational Unified Process Fundamentals Best Practices of Software Engineering
Practice 1: Develop Iteratively Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 2
Waterfall Development Characteristics w Delays confirmation of critical risk resolution w Measures progress by assessing work-products that are poor predictors of time-to-completion w Delays and aggregates integration and testing w Precludes early deployment w Frequently results in major unplanned iterations Waterfall Process Requirements analysis Design Code and unit test Subsystem integration System test Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 3
Iterative Development Produces an Executable Requirement s Analysis & Design Planning Implementation Initial Planning Management Environment Test Evaluation Deployment Each iteration results in an executable release Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 4
Risk Profiles Risk Waterfall Risk Reduction Iterative Risk Time Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 5
Practice 2: Manage Requirements Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 6
Aspects of Requirements Management w Analyze the Problem w Understand User Needs w Define the System w Manage Scope w Refine the System Definition w Manage Changing Requirements Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 7
Practice 3: Use Component Architectures Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 8
Purpose of a Component-Based Architecture w Basis for reuse § Component reuse § Architecture reuse w Basis for project management § Planning § Staffing § Delivery Applicationspecific Businessspecific w Intellectual control § Manage complexity § Maintain integrity Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved Componentbased architecture with Middleware Systemsoftware 9
Practice 4: Model Visually (UML) Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 10
Why Model Visually? To: w Capture structure and behavior w Show system elements fit together w Keep design and implementation consistent w Hide or expose details as appropriate w Promote unambiguous communication § UML provides one language for all practitioners Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 11
Visual Modeling with Unified Modeling Language w Multiple views w Precise syntax and semantics Sequence Diagrams Collaboration Diagrams Statechart Diagrams Dynamic Diagrams Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved Class Diagrams Use-Case Diagrams Object Diagrams Models Activity Diagrams 12 Component Diagrams Deployment Diagrams Static Diagrams
Practice 5: Continuously Verify Quality Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 13
Continuously Verify Your Software’s Quality Software problems are 100 to 1000 times more costly to find and repair after deployment w Cost to Repair Software w Cost of Lost Opportunities Cost w Cost of Lost Customers Inception Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved Elaboration Construction 14 Transition
Test Each Iteration 1 Iteration 2 Iteration 3 Iteration 4 Test Suite 1 Test Suite 2 Test Suite 3 Test Suite 4 UML Model and Implementation Tests Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 15
Practice 6: Manage Change Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 16
Aspects of a CM System w Change Request Management (CRM) w Configuration Status Reporting w Configuration Management (CM) w Change Tracking w Version Selection w Software Manufacture Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 17
Best Practices Reinforce Each Other Best Practices Develop Iteratively Ensures users involved as requirements evolve Manage Requirements Use Component Architectures Validates architectural decisions early on Addresses complexity of design/implementation incrementally Model Visually (UML) Continuously Verify Quality Measures quality early and often Manage Change Evolves baselines incrementally Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 18
Rational Unified Process Fundamentals RUP Structure and Content
Organization Along Time Organization by phases helps minimize the risks of resource allocation. Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 20
Major Milestones: Business Decision Points Product sufficiently mature for customers Commit resources for construction Customer acceptance or end of life Commit resources for the elaboration phase Inception Elaboration Construction Transition time Lifecycle Objective Milestone Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved Lifecycle Architecture Milestone 21 Initial Operational Capability Milestone Product Release
What Is an Iteration? Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 22
Phases and Iterations Planned (Business) Decision Points Commit resources for the elaboration phase Commit resources for construction (Understand the problem) (Understand the solution) Inception Preliminary Iteration Elaboration Architect. Iteration Product sufficiently mature for customers to use (Have a solution) Construction Architect. Iteration Devel. Iteration Transition Devel. Iteration Planned (Technical) Visibility Points Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved Acceptance or end of life 23 Transition Iteration
Iteration: Number and Duration w Duration driven by + size of organization + size of project - familiarity with the process, maturity - technical simplicity w 6, plus or minus 3 Inception: Elaboration: Construction: Transition: Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 0. . 1 1. . 3 1. . 2 24
One Iteration In an iteration, you walk through all disciplines. Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 25
Content Organization Based on Content Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 26
Nine Disciplines Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 27
Workflows Guide Iterative Development Business Modeling: Workflow Details Requirements: Workflow Details Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 28
Artifact Set Evolution Over the Development Phases w With the iterative approach, artifact sets mature over time. Unified Software Practices Copyright © 1999 -2001 Rational Software, all rights reserved 29
- Slides: 29