Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a...

50
Rational Unified Process , Introduction to UML

Transcript of Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a...

Page 1: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Rational Unified Process , Introduction to UML

Page 2: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

What is RUP?

• The Rational Unified Model is a software engineering process

• Both process and product• Provides a common project knowledge base that may be

accessed by team members– Ensures consistency of communication– Commonality of project vision– Enhances productivity

• Focuses on the development and maintenance of models• Reflect the best practices of software development

Page 3: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Software Development: Best Practices

1. Develop software iteratively

2. Manage requirements

3. Use component-based architectures

4. Visually model software

5. Continuously verify software quality

6. Control changes to software

Page 4: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

RUPRUP

Page 5: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

The X-axis: Time / Iterations1. Inception1. Inception

3. Construction3. Construction

4. Transition4. Transition2. Elaboration2. Elaboration

LifecycleLifecycleObjectivesObjectives

LifecycleLifecycleArchitectureArchitecture

Initial OperationalInitial OperationalCapabilityCapability

Product Product ReleaseRelease

milestones

Page 6: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Phase 1: Inception• Develop business case

– Success criteria– Risk assessment– Estimate of resources needed– Phase plan (with dates)

• Deliverables– Vision document– Preliminary Use-case model– Initial project glossary– Business case– Possibly, some prototypes

Page 7: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Inception Milestone: Lifecycle Objectives

• Stakeholder agreement on project scope and cost/schedule estimates.

• Requirements understanding (based on quality of primary use cases).

• Credibility of the cost/schedule estimates, priorities, risks, and development process.

• Depth and breadth of any architectural prototype that was developed.

• Actual expenditures versus planned expenditures.

Page 8: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Phase 2: Elaboration• Goals

– Develop a “big picture” view of the project– Most of the analysis is done in this stage– Develop an architectural foundation for the system– A working, exploratory working prototype– Possibly the most important of the phases

• Deliverables (partial list)– More comprehensive use-case model– Supplementary requirements (not covered in use-case)– Revised risk assessment and business case– Working prototype– Development plan (with dates and number of iterations)

Page 9: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Elaboration Milestone: Lifecycle Architecture

• Is the vision of the product stable?

• Is the architecture stable?

• Does the executable demonstration show that the major risk elements have been addressed and credibly resolved?

• Is the plan for the construction phase sufficiently detailed and accurate?

• Do all stakeholders agree that the current vision can be achieved ?

• Is the actual resource expenditure versus planned expenditure acceptable?

Page 10: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Phase 3: Construction

• The manufacturing phase• Goals

– Develop and integrate all remaining components into product

– Thorough testing of all features

• Deliverables– Actual product on the appropriate platform (beta

release)– User manuals– Description of current release

Page 11: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Construction Milestone: Initial Operational Capability

• Is this product release stable and mature enough to be deployed in the user community?

• Are all stakeholders ready for the transition into the user community?

• Are the actual resource expenditures versus planned expenditures still acceptable?

Page 12: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Phase 4: Transition

• Involves “beta testing”• Parallel conversion• Convert operational databases• Train users and support personnel• Rollout the product to other functional areas

(marketing, distribution, etc.)• Typically involves several iterations (for purposes

of fine tuning user manuals and the product)

Page 13: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Transition Milestone: Product Release

• Focuses on whether objectives were met– New development cycle needed?

• The questions - – Is the user satisfied? – Are the actual resources expenditures versus

planned expenditures still acceptable?

Page 14: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Software Development: Best Practices

1. Develop software iteratively

2. Manage requirements

3. Use component-based architectures

4. Visually model software

5. Continuously verify software quality

6. Control changes to software

Page 15: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

RUPRUP

Page 16: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

The X-axis: Time / Iterations1. Inception1. Inception

3. Construction3. Construction

4. Transition4. Transition2. Elaboration2. Elaboration

LifecycleLifecycleObjectivesObjectives

LifecycleLifecycleArchitectureArchitecture

Initial OperationalInitial OperationalCapabilityCapability

Product Product ReleaseRelease

milestones

Page 17: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

RUPRUP

Page 18: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Representing the RUP

• Processes involve – Who is doing– What, – How its being done– And when it was done

• RUP main model elements– Workers – the who– Activities – the what– Artifacts – the how– Workflows – the when

worker

activity

Page 19: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

RUP Element: Workers

• “A worker defines the behavior and responsibilities of an individual, or a group of individuals working together as a team”.

• Not really referring to a person or team• Refers to role individual plays in doing work• Worker responsibilities include

– Activities

– Artifact ownership

Page 20: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Example of Workers

Page 21: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

RUP Element: Activity

• An activity of a specific worker is a unit of work that an individual in that role may be asked to perform

• Activities– Have clear purpose– Assigned to specific worker– Limited time span (hours or days)– Affects limited number of artifacts

Page 22: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

RUP Element: Artifacts

• An artifact is a piece of information that is produced, modified, or used by a process

• Artifacts– Tangible results of activities in the project– Outputs of activities– May be used as inputs for other activities

• Examples– Models or model elements– Documents– Code– Executable prototypes

Page 23: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

RUP Element: Workflows

• A workflow is a sequence of activities that produces a result of observable value. – Describes a meaningful sequence that produces a useful

result

– Shows interaction between workers

• UML represents workflows through– Sequence diagram

– Collaboration diagram

– Activity diagram

Page 24: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Example of Workflows

Page 25: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Core WorkflowsCore Workflows

Page 26: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Core Workflows

• Nine core workflows– Divided into two groups

• Process workflows

• Supporting workflows

– Based on workers and activities

• The activities in the workflow are revisited with each iteration

• Emphasis on the activity changes with each iteration

Page 27: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Core WorkflowsCore Workflows

Page 28: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Six Process Workflows

• Business Modeling– Communication problems arise between

analysts and business– Document business processes

• Business use-cases

– Artifact is a “business object model”– Ensures all stakeholders on same page– Not always done

Page 29: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Six Process Workflows contd.

• Requirements– Describe the desired system functionality– Involves eliciting, organizing, and documenting

required functionality and constraints– Artifacts include

• Vision document• Use-cases

– The use-cases are the common thread for all workflows

Page 30: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Six Process Workflows contd.

• Analysis and Design– show how the system will be created in the

implementation – Artifact is a Design Model

• Acts as blueprint for coding

• Presents organized classes, subsystems, and interfaces

• Based on architecture of system

Page 31: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Six Process Workflows contd.

• Implementation– To define the organization of the code – To implement classes and objects in terms of

components – To test the developed components as units. – To integrate the results produced by individual

implementers (or teams), into an executable system (a prototype)

Page 32: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Six Process Workflows contd.

• Testing– Objectives

• To verify the interaction between objects. • To verify the proper integration of all components of the software. • To verify that all requirements have been correctly implemented. • To identify and ensure defects are addressed prior to the

deployment of the software.

– Based on reliability, functionality, application performance and system performance.

– Continuous process throughout the development process

Page 33: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Six Process Workflows contd.

• Deployment– Aims to successfully produce product releases,

and deliver the software to its end users– Includes

• Producing external releases of the software • Packaging the software • Distributing the software • Installing the software • Providing help and assistance to users

Page 34: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Core WorkflowsCore Workflows

Page 35: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Three Support Workflows

• Configuration and Change Management– control the numerous artifacts produced during project

– Typical problems with managing large number of artifacts

• Simultaneous Update

• Limited notification

• Multiple versions

– how to report defects, manage them through their lifecycle

Page 36: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Three Support Workflows contd.

• Project Management– Involves

• Balancing competing objectives• Overcoming constraints• deliver a product which meets the needs of both customers (the

payers of bills) and the users

– RUP provides• A framework for managing software-intensive projects • Practical guidelines for planning, staffing, executing, and

monitoring projects • A framework for managing risk

Page 37: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Three Support Workflows contd.

• Environment– provide software development environment--

both processes and tools--that are needed to support the development team.

– focuses on the activities to configure the process in the context of a project

– focus on activities to develop the guidelines needed to support a project.

Page 38: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Introduction to UML

• a language for specifying, visualizing, constructing, and documenting the artifacts of software systems

• Can also be used for non-software modeling

• represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems

Page 39: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Companies involved

• Rational Software, Microsoft, Hewlett-Packard, Oracle, Sterling, Software, MCI Systemhouse, Unisys, ICON Computing, IntelliCorp, i-Logix, IBM, ObjecTime, Platinum Technology, Ptech, Taskon, Reich Technologies and Softeam.

Page 40: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

The Three Amigos

Grady BoochGrady Booch

James RumbaughJames Rumbaugh

Ivar JacobsonIvar Jacobson

Page 41: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Modeling

• Simplified version of reality• Models are built from building blocks

– Classes, interfaces, collaborations, associations, etc.

• Diagrams are graphical representations of those blocks• Five views of a system

– Use case view– Design view– Process view– Implementation view– Deployment view

Page 42: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

UML supported models• Class Model

– Static structure

• State Model– Dynamic behavior

• Use Case Model– User requirements

• Interaction Model– Scenarios and message flows

• Implementation Model– Work units

• Deployment Model– Related to process allocation

Page 43: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

UML supported diagrams

• Use Case• Class• Sequence• Collaboration• Object• Statechart• Activity• Component• Deployment

Page 44: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Types of Modeling• UML’s nine diagrams used to assemble the views• Structural Modeling (static parts of system)

– Class – Object– Component– Deployment

• Behavioral Modeling (dynamic parts)– Use case– Sequence– Collaboration– Statechart– Activity

Page 45: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Use Case Analysis

Page 46: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

The Use Case Basics

• Users perform behaviorally-related sequence of transactions

• Use cases model system by identifying and describing events– Use textual description– Graphical representation

• Each use case describes a single event• System functionality defined by collection of all

use cases

Page 47: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Use Case Elements

• Actors– The party that initiates a behavior of the system– Defined by roles

• Person (eg: member)• Company (eg: bank)• Another system (eg: inventory)

• Use Cases– Descriptive scenarios (how actor interacts with system)– Each is a complete event triggered by actor– Rule of thumb: A use case model will contain one or two

dozen use cases

Page 48: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

An example…office supplies

• Many possible use cases related to inventory and purchasing– Update stocks

– Buy goods

– Return goods

– Pay by credit card

– And more

• Consider the event of a customer buying a good…

Page 49: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Use Case example• Questions to answer

– What is the general information about the event?• Goal, scope, preconditions, the triggering actor, the trigger, etc.

– What is the main success scenario• What is the chain of transactions that occur if the everything goes

smoothly?

– What are some of the possible extensions and sub-variations?

– Any related information?• Priority, frequency, superordinate use case, subordinate use case

– Open issues and questions– Schedule (due date)

Page 50: Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.

Next Class

• More about Use Case Modeling– Applying the modeling– Identifying actors– Developing high-level use cases– Expanded use cases– Documenting use cases – UML support for use cases