rational unified process fundamentals best practices of software engineering rational unified...

Download Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering

If you can't read please download the document

Upload: melvyn-harrison

Post on 17-Jan-2018

227 views

Category:

Documents


0 download

DESCRIPTION

3 Unified Software Practices Copyright © Rational Software, all rights reserved Waterfall Development Characteristics  Delays confirmation of critical risk resolution  Measures progress by assessing work- products that are poor predictors of time-to- completion  Delays and aggregates integration and testing  Precludes early deployment  Frequently results in major unplanned iterations Code and unit test Design Subsystem integration System test Waterfall Process Requirements analysis

TRANSCRIPT

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