Rup
Rup
Rup
Agenda
Part I: Introduction
Introduction
Whats Rational?
Three important contributors Grady Booch (Booch Method) James Rumbaugh (OMT Method) Ivar Jacobson (OOSE Method)
Introduction
Why Unified?
Introduction
Whats Process?
Defines Who is What, When to do it, and How to reach a certain goal.
A Software Development Process is the set of activities needed to transform a users requirements into a software system[Jacobson]
Introduction
History Of RUP
Features
Process Product
Process must be built on Technologies Tools are integral to process People: limit the skill set needed to operate Organization Pattern "Software processes are software, too"
Balance
Features
Process Product
continue
Features
Process Framework
Is specialized to
My Project
Features
10
3+1 Keywords
Architecture Centric
Use Case Driven
From USDP
11
3+1 Keywords
RUP is
Use-Case Model
Analysis Model
Design Model
Distributed by Verified by
Implementation Model
3+1 Keywords
RUP is
Iteration 1
Requirements analysis Design Code and unit test
Subsystem integration
Subsystem integration
System test
System test
13
3+1 Keywords
RUP is
Architecture Centric
Logical View
Analysts/ Designers Structure End-user Functionality
Implementation View
Programmers Software management
Use-Case View
Process View
System Integrators Performance Scalability Throughput
Deployment View
System Engineering System topology Delivery, installation communication
14
3+1 Keywords
RUP is
Inception
Risk Confronting
Focus on the 20% that really matter: The primary use cases The architectural components The driving scenarios
Elaboration
Initial executable system Refined specifications & models
Transition
Final system
15
Part II
16
Definition
Workflow The sequence of activities performed in a business that produces a result of observable value to an individual actor of the business Core workflow A core workflow shows all activities you may go through to produce a particular set of artifacts. Workflow detail A grouping of activities which are performed in close collaboration to accomplish some result. The activities are typically performed either in parallel or iteratively, with the output from one activity serving as the input to another activity. Workflow details are used to group activities to provide a higher level of abstraction and to improve the comprehensibility of 17 workflows.
Workflows
Workflows in RUP
Support Process
Workflows
18
Business Modeling
To understand the structure and the dynamics of the target organization). To understand current problems in the target organization and identify improvement potentials. To ensure that customers, end users, and developers have a common understanding of the target organization. To derive the system requirements needed to support the target organization
19
Workflows
Requirements
To agreement with stakeholders To provide system developers better understanding of the system requirements. define the boundaries of the system. To provide a basis for planning the technical contents of iterations. To provide a basis for estimating cost and time to develop the system. To define a user-interface for the system, focusing on the needs and goals of the users.
glossary
vision
20
Workflows
21
Workflows
Implementation
To define the organization of the code, in terms of implementation subsystems organized in layers To implement classes and objects in terms of components (source files, binaries, executables, and others) To test the developed components as units To integrate the results produced by individual implementers (or teams), into an executable system.
22
Workflows
Test
To verify the interaction between objects.
Test Model
Test Case
23
Workflows
Deployment
The Deployment Workflow describes the activities associated with ensuring that the software product is available for its end users
24
Workflows
Environment
The environment workflow focuses on the activities necessary to configure the process for a project. The purpose of the environment activities is to provide the software development organization with the software development environment - both processes and tools - that will support the development team
25
Workflows
26
Workflows
Project Management
To provide a framework for managing softwareintensive projects. To provide practical guidelines for planning, staffing, executing, and monitoring projects. To provide a framework for managing risk.
NOT Managing people: hiring, training, coaching Managing budget: defining, allocating, etc. Managing contracts, with suppliers and customers
27
Workflows
Key Concepts
28
Workflows
Implementation Workflow
Structure the Implementation Model
Implement Components
Implement Components
[more components to implement in this iteration] [more subsystem integration for this iteration]
[more system builds for this iteration]
Implement Components
29
Workflow Details
Design Model
Artifact Activity
Worker
Use-Case Specifier Structure the Implementation Model Software Architecture Document
Implementation Model
30
Steps Create the initial implementation model structure Adjust implementation subsystems Define imports for each implementation subsystems Decide how to treat executables (and other derived objects) Decide how to treat test assets Update the implementation view Evaluate the implementation model Input Artifacts: Software Architecture Document Supplementary Specifications Design Guidelines Design Model Resulting Artifacts: Implementation View section of the Software Architecture Document Implementation Subsystems Implementation Model
Worker: Architect Guidelines: Guidelines: Implementation Subsystems Tool Mentor: Structuring the Implementation Model Using Rational Rose Setting Up the Implementation Model Using Rational ClearCase
31
More Information: Checkpoints: Software Architecture Document Guidelines: Software Architecture Document
Purpose Brief Outline Timing Responsibility Tailoring Annotated Outline (hyperlinks into HTML template in a new window)
32
The rationale for layer definition is clearly presented and consistently applied.
33
Use Case Specification: <Use-Case Name> 1. Use Case Name [The following template is provided for a Use-Case Specification, which contains the textual properties of the use case. This document is used with a requirements management tool, such as Rational RequisitePro, for specifying and marking the requirements within the use case properties] [The diagrams of the use case can be developed in a visual modeling tool, such as Rational Rose. A use-case report (with all properties) may be generated with Rational SoDA. For more information, see the tool mentors in the Rational Unified Process.] 1.1 Brief Description [The description should briefly convey the role and purpose of the use case. A single paragraph should suffice for this description.] 2. 2.1 Flow of Events Basic Flow
[This use case starts when the actor does something. An actor always initiates use Cases. The use case should describe what the actor does and what the system does in response. It should be phrased in the form of a dialog between the actor and the system. The use case should describe what happens inside the system, but not how or why. If information is exchanged, be specific about what is passed back and forth. For example, it is not very illuminating to say that the Actor enters customer information. It is better to say the Actor enters the customers name and address. A Glossary of Terms is often useful to keep the complexity of the use case manageableyou may want to define things like customer information there to keep the use case from drowning in details. 34
Part III
35
Phases
Lifecycle Phases
Inception Elaboration Construction Transition
time
Inception
Elaboration
Construction Transition
Milestones
Inception
Elaboration
Construction
Transition
time
Lifecycle Architecture Milestone Initial Operational Capability
Product Release
37
Phases
An iteration is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an executable release (internal or external) Within each phase are a number of iterations
Inception
Preliminary Iteration
Elaboration
Architect. Iteration Architect. Iteration Devel. Iteration
Construction
Devel. Iteration Devel. Iteration
Transition
Transition Transition Iteration Iteration
Phases
Iteration as Waterfall
39
Phases
Iteration Planning
Requirements Capture Analysis & Design Implementation Test Prepare Release Release description Updated risk assessment Controlled libraries
40
Phases
Iteration
Requirements Capture Planning Implementation Initial Planning Management Environment Analysis & Design
Deployment
Evaluation Test
41
Phases
42
Phases
No of Iterations Project Inception Elaboration Construction Transition Length 3-4 1 Time: 10% 1 3 1 month Iteration Length 2-3
weeks
30%
50%
10%
43
Phases
Waterfall
Elaboration
Risk
Construction Transition
Preliminary Iteration
Architect. Iteration
Architect. Iteration
Devel. Iteration
Devel. Iteration
Devel. Iteration
Transition Iteration
Transition Iteration
Postdeployment
Time
Copyright 1997 by Rational Software Corporation
44
Part IV
Configuring RUP
45
Configure RUP
RUP is a Framework not a single Process No one process fits all projects Essentials Each have different Safety and Security
46
Configure RUP
47
Configure RUP
Process Engineer
Development Case
Configure RUP
Development Case: The development-case description describes the development process that you have chosen to follow in your project Roadmap: Roadmaps provide a way of describing how to use the general-purpose process described in the Rational Unified Process to solve specific types of problems
49
Rose
Rational Unified
Process
TeamTest
References
Unified Software Development Process, Ivar Jacobson, Grady Booch, Jim Rumbaugh Ten Essential Of RUP, Leslee Probasco Trends in Software Engineering a personal view, Ivar Jacobson Object Oriented Methodology, William F. Nazzaro What is RUP, Philippe Kruchten Introduction to Rational Unified Process, Philippe Kruchten Rational Unified Process, www.rational.com/rup www.therationaledge.com
51
http://www.BaridSoft.ca
52