Presentation is loading. Please wait.

Presentation is loading. Please wait.

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Introduction to Rational Unified Process.

Similar presentations


Presentation on theme: "Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Introduction to Rational Unified Process."— Presentation transcript:

1 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Introduction to Rational Unified Process

2 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 2 New or changed requirements New or changed system Software Engineering Process What Is a Process? A process defines Who is doing What, When and How to reach a certain goal. In software engineering the goal is to build a software product or to enhance an existing one

3 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 3 The Rational Unified Process  RUP is a method of managing OO Software Development  It can be viewed as a Software Development Framework which is extensible and features:  Iterative Development  Requirements Management  Component-Based Architectural Vision  Visual Modeling of Systems  Quality Management  Change Control Management

4 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 4 RUP Features  Online Repository of Process Information and Description in HTML format  Templates for all major artifacts, including:  RequisitePro templates (requirements tracking)  Word Templates for Use Cases  Project Templates for Project Management  Process Manuals describing key processes

5 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 5 The Phases

6 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 6 An Iterative Development Process...  Recognizes the reality of changing requirements  Caspers Jones’s research on 8000 projects 40% of final requirements arrived after the analysis phase, after development had already begun  Promotes early risk mitigation, by breaking down the system into mini-projects and focusing on the riskier elements first  Allows you to “plan a little, design a little, and code a little”  Encourages all participants, including testers, integrators, and technical writers to be involved earlier on  Allows the process itself to modulate with each iteration, allowing you to correct errors sooner and put into practice lessons learned in the prior iteration  Focuses on component architectures, not final big bang deployments

7 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 7 An Incremental Development Process...  Allows for software to evolve, not be produced in one huge effort  Allows software to improve, by giving enough time to the evolutionary process itself  Forces attention on stability, for only a stable foundation can support multiple additions  Allows the system (a small subset of it) to actually run much sooner than with other processes  Allows interim progress to continue through the stubbing of functionality  Allows for the management of risk, by exposing problems earlier on in the development process

8 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 8 Goals and Features of Each Iteration  The primary goal of each iteration is to slowly chip away at the risk facing the project, namely:  performance risks  integration risks (different vendors, tools, etc.)  conceptual risks (ferret out analysis and design flaws)  Perform a “miniwaterfall” project that ends with a delivery of something tangible in code, available for scrutiny by the interested parties, which produces validation or correctives  Each iteration is risk-driven  The result of a single iteration is an increment--an incremental improvement of the system, yielding an evolutionary approach

9 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 9 Risk Management  Identification of the risks  Iterative/Incremental Development  The prototype or pilot project  Early testing and deployment as opposed to late testing in traditional methods

10 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 10 The Development Phases  Inception Phase  Elaboration Phase  Construction Phase  Transition Phase

11 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 11 Inception Phase  Overriding goal is obtaining buy-in from all interested parties  Initial requirements capture  Cost Benefit Analysis  Initial Risk Analysis  Project scope definition  Defining a candidate architecture  Development of a disposable prototype  Initial Use Case Model (10% - 20% complete)  First pass at a Domain Model

12 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 12 Elaboration Phase  Requirements Analysis and Capture  Use Case Analysis Use Case (80% written and reviewed by end of phase) Use Case Model (80% done) Scenarios  Sequence and Collaboration Diagrams  Class, Activity, Component, State Diagrams  Glossary (so users and developers can speak common vocabulary)  Domain Model to understand the problem: the system’s requirements as they exist within the context of the problem domain  Risk Assessment Plan revised  Architecture Document

13 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 13 Construction Phase  Focus is on implementation of the design:  cumulative increase in functionality  greater depth of implementation (stubs fleshed out)  greater stability begins to appear  implement all details, not only those of central architectural value  analysis continues, but design and coding predominate

14 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 14 Transition Phase  The transition phase consists of the transfer of the system to the user community  It includes manufacturing, shipping, installation, training, technical support and maintenance  Development team begins to shrink  Control is moved to maintenance team  Alpha, Beta, and final releases  Software updates  Integration with existing systems (legacy, existing versions, etc.)

15 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 15 Elaboration Phase in Detail  Use Case Analysis  Find and understand 80% of architecturally significant use cases and actors  Prototype User Interfaces  Prioritize Use Cases within the Use Case Model  Detail the architecturally significant Use Cases (write and review them)  Prepare Domain Model of architecturally significant classes, and identify their responsibilities and central interfaces (View of Participating Classes)

16 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 16 Objectives: Rational Unified Process  Describe the Unified Modeling Language (UML)  Define what a software development process is  Describe the Rational Unified Process  Explain the four phases of the Rational Unified Process and their associated milestones  Define iterations and their relation to phases  Explain the relations between:  Models and workflows  Phases, iterations, and workflows  Define artifact, worker, and activity  State the importance of automated tool support

17 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 17 In Building a System, a Language Is Not Enough Modeling Language Unified Process Team-Based Development

18 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 18 What Is the UML?  The Unified Modeling Language (UML) is a language for Specifying Visualizing Constructing Documenting the artifacts of a software-intensive system

19 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 19 UML History

20 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 20 Inputs to UML Fusion Operation descriptions, Message numbering Meyer Before and after conditions Harel State charts Wirfs-Brock Responsibilities Embley Singleton classes, High-level view Odell Classification Shlaer - Mellor Object Lifecycles Gamma, et.al Frameworks, patterns, notes Booch Jacobson Rumbaugh

21 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 21 The UML Provides Standardized Diagrams Deployment Diagrams Deployment Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Sequence Diagrams Sequence Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Models State Diagrams State Diagrams State Diagrams State Diagrams Object Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams Collaboration Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Activity Diagrams Activity Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Class Diagrams Class Diagrams

22 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 22 A Sample UML Diagram: Use-Cases A University Course Registration System Professor Select Courses to Teach Student Course Catalog Register for Courses Maintain Student Information Maintain Professor Information Registrar Billing System Close Registration

23 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 23 UML Diagrams Are Key Artifacts Actor A Use-Case 1 Use-Case 2 Actor B Document FileManager GraphicFile File Repository DocumentList FileList Customer name addr withdraw() fetch() send() receive() > Forward Engineering(Code Generation) and Reverse Engineering Executable System User Interface Definition Domain Expert Use-Case 3 Source Code edit, compile, debug, link Use-Case Diagram Class Diagram Collaboration Diagram Sequence Diagram Component Diagram State Diagram Package Diagram Deployment Diagram Class

24 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 24 A Sample UML Diagram: Classes A University Course Registration System MainForm // select maintain schedule() > MaintainScheduleForm + // open() + // select 4 primary and 2 alternate offerings() > 1 0..1 1 CourseCatalogSystem // get course offerings() > 10..* RegistrationController // add courses to schedule() // get course offerings () > 1 1 Schedule // create with offerings() > 1 0..1

25 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 25 An Effective Process...  Provides guidelines for efficient development of quality software  Reduces risk and increases predictability  Captures and presents best practices  Learn from other’s experiences  Mentor on your desktop  Extension of training material  Promotes common vision and culture  Provides roadmap for applying tools  Delivers information on-line, at your finger tips

26 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 26 Rational Unified Process Delivers Best Practices Rational Unified Process describes how to effectively implement the six best practices for software development Control Changes Develop Iteratively Use Component Architectures ManageRequirements ModelVisually VerifyQuality

27 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 27 Rational Unified Process Is Use-Case Driven Withdraw Money Customer An actor is someone or something outside the system that interacts with the system A Use-Case is a sequence of actions a system performs that yields an observable result of value to a particular actor Check Balance Use-Cases for a Cash Machine

28 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 28 Use-Cases Include a Flow of Events Flow of events for the Withdraw Money Use-Case 1. The Use-Case begins when the customer inserts a cash card. The system reads and validates information on the card. 2. The system prompts for the PIN. The system validates the PIN. 3. The system asks which operation the customer wishes to perform. The customer selects “Cash withdrawal.” 4. The system requests the amount. The customer enters the amount. 5. The system requests the account type. The customer selects checking or savings. 6. The system communicates with the ATM network...

29 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 29 Benefits of a Use-Case Driven Process  Use-Cases are concise, simple, and understandable by a wide range of stakeholders  End users, developers and acquirers understand functional requirements of the system  Use-Cases drive numerous activities in the process:  Creation and validation of the design model  Definition of test cases and procedures of the test model  Planning of iterations  Creation of user documentation  System deployment  Use-Cases help synchronize the content of different models

30 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 30 Rational Unified Process Is Architecture-Centric  Architecture is the focus of the early iterations  Building, validating, and baselining the architecture constitute the primary objective of elaboration  The Architectural Prototype validates the architecture and serves as the baseline for the rest of development  The Software Architecture Document is the primary artifact that describes the architecture chosen  Other artifacts derive from architecture:  Design guidelines including use of patterns and idioms  Product structure  Team structure

31 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 31 Representing Architecture: The 4+1 View Model Process View Deployment View Logical View Implementation View Programmers Software management Performance Scalability Throughput System Integrators System topology Delivery, installation communication System Engineering Use-Case View Structure Analysts/ Designers End-user Functionality

32 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 32 Benefits of an Architecture-Centric Process  Lets you gain and retain intellectual control over a project, to manage its complexity, and to maintain system integrity  Provides an effective basis for large-scale reuse  Provides a basis for project management  Facilitates component-based development  A component fulfills a clear function in the context of a well- defined architecture  A component conforms to and provides the physical realization of a set of interfaces  Components exist relative to a given architecture

33 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 33 InceptionElaborationConstructionTransition Process Architecture - Lifecycle Phases The Rational Unified Process has four phases:  Inception - Define the scope of project  Elaboration - Plan project, specify features, baseline architecture  Construction - Build the product  Transition - Transition the product into end user community time

34 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 34 InceptionElaborationConstructionTransition Phase Boundaries Mark Major Milestones Lifecycle Objective Milestone Lifecycle Architecture Milestone Initial Operational Capability Milestone Product Release time

35 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 35 Iterations and Phases An iteration is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an executable release (internal or external) PreliminaryIterationArchitect.IterationArchitect.IterationDevel.IterationDevel.IterationDevel.IterationTransitionIterationTransitionIteration InceptionElaborationConstructionTransition Minor Milestones: Releases

36 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 36 Major Workflows Produce Models Analysis & Design Implementation Model Test Model realized by implemented by verified by Requirements Implementation Test Use-Case Model Design Model Business Modeling Business Use-Case Model automated by Business Object Model

37 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 37 Bringing It All Together: The Iterative Model Project Management Environment Business Modeling Implementation Test Analysis & Design Preliminary Iteration(s) Iter. #1 Phases Process Workflows Iterations Supporting Workflows Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration & Change Mgmt Requirements ElaborationTransitionInceptionConstruction Workflows group activities logically In an iteration, you walk through all workflows

38 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 38 Process Notation Worker Activity Artifact Describe a Use-Case Use-Case Package Use-Case responsible for Use-Case Specifier A unit of work a worker may be asked to perform A piece of information that is produced, modified, or used by a process A role that may be played by an individual or a team in the development organization

39 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 39 Resource Paul Mary Joe Sylvia Stefan Workers Are Used for Resource Planning Each individual in the project is assigned to one or several workers Worker Designer Use-Case Specifier System Analyst Implementer Architect Activities Define Operations Detail a Use-Case Find Actors and Use-Cases Perform Unit Tests Identify Design Mechanisms

40 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 40 Business Modeling Workflow Find Business Actors and Use Cases Business-Process Analyst Structure the Business Use-Case Model Capture a Common Vocabulary Business Model Reviewer Review the Business Use-Case Model Detail a Business Use Case Business Designer Review the Business Object Model Detail a Business Entity Find Business Workers and Entities Detail a Business Worker

41 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 41 Requirements Workflow Use-Case Specifier Requirements Reviewer User-Interface Designer Capture a Common Vocabulary Find Actors and Use Cases Review Requirements Structure the Use-Case Model User-Interface Prototyping Detail a Use Case Elicit Stakeholder Needs Manage Dependencies Architect Prioritize Use Cases Develop Vision User-Interface Modeling

42 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 42 Analysis & Design Workflow Architect Designer Architectural Analysis Architecture Reviewer Review the Design Review the Architecture Use-Case Analysis Architectural Design Describe Concurrency Describe Distribution Database Designer Class Design SubsystemDesign Use-Case Design Database Design Reviewer

43 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 43 Implementation Workflow Integrate System Architect System Integrator Implementer Code Reviewer Implement Classes Perform Unit Test Structure the Implementation Model Integrate Subsystem Review Code Fix a Defect Plan System Integration Plan Subsystem Integration

44 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 44 Test Workflow Design Test ImplementTest Test Designer Integration Tester System Tester Evaluate Test Execute Integration Test Execute System Test Designer Design Test Classes and Packages Implementer Implement Test Components and Subsystems PlanTest Performance Tester Execute Performance Test

45 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 45 Project Management Workflow Develop Business Case Project Manager Develop Project Plan Revisit Risk List Staff Project Evaluate Iteration Execute Iteration Plan Develop Iteration Plan Identify Risks

46 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 46 Configuration and Change Management Workflow Project Manager Architect CM Manager System Integrator Establish Product Change Process Structure Implementation Model Setup Implementation Model Write CM Plan Define Workspaces & Build Areas Create Private Workspaces Check-In/Out Artifacts Promote Configuration Items Create Integration workspaces Build Product Report Defect Data Baseline the Product Release Subsystems Define Status Reporting & Baselining Requirements Any Worker

47 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 47 Environment Workflow  Configuring the process  Improving the process  Selecting and acquiring tools  Toolsmithing  Supporting the development  Training

48 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 48 Guidelines, Mentors, and Templates  Guidelines are the rules, recommendations, and heuristics that support activities  For example, modeling and programming guidelines  Tool mentors explain how to use a specific tool to perform an activity or steps in an activity  For example, building a design model using Rational Rose  Templates are predefined artifacts  For example, a Rational SoDA template for a Use-Case Report  Guidelines, tool mentors and templates make it easier to apply the process correctly and consistently

49 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 49 Tool Support for the Entire Project Lifecycle Process Workflows Business Modeling Requirements Analysis and Design ImplementationTestDeployment Config. & Change Mgmt. Project Management Environment Environment Requisite Pro, Rose, SoDA Rose, Apex, SoDA, Purify,... SQA TeamTest, Quantify, PerformanceStudio,... ClearCase, ClearQuest Rose, SoDA, Apex Unified Process, Rational Tools SoDA, ClearCase,... Supporting Workflows Requisite Pro, Rose, SoDA Unified Process, Microsoft® Project,...

50 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 50 Adopting a Process  Process adoption includes configuring and implementing the process  In configuring the process, the process framework is adapted to the needs and constraints of the adopting organization  The result is documented in a “Development Case”  In implementing the process, the organization’s practice is changed to effectively use the process

51 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 51  The Unified Modeling Language (UML) is a language for specifying, visualizing, constructing, and documenting the artifacts of a software-intensive system  A software development process defines Who is doing What, When and How in building a software product  The Rational Unified Process has four phases: Inception, Elaboration, Construction and Transition  Each phase ends at a major milestone and contains one or more iterations  An iteration is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an executable release Summary: Rational Unified Process

52 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 52 Summary (cont.): Rational Unified Process  A workflow groups related activities together  Each workflow is exercised during an iteration and results in a model that is incrementally produced  An artifact is a piece of information that is produced, modified, or used by a process  A worker is a role that may be played by an individual or a team in the development organization  An activity is a unit of work a worker may be asked to perform

53 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 53

54 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 54

55 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 55

56 Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 56


Download ppt "Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Introduction to Rational Unified Process."

Similar presentations


Ads by Google