Unified Modeling Language(UML) AND Rational Unified Process(RUP)...

49
Unified Modeling Language(UML) AND Rational Unified Process(RUP) SHIN,JANGWOO([email protected] n.edu)

Transcript of Unified Modeling Language(UML) AND Rational Unified Process(RUP)...

Page 1: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

Unified Modeling Language(UML)AND

Rational Unified Process(RUP)

SHIN,JANGWOO([email protected])

Page 2: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

OUTLINE

INTRODUCTION Unified Modeling Language Real-Time Programming in UML Rational Unified Process DEMO Rational Rose(tm) Q & A References

Page 3: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

SCOPE OF THE PRESENTATION

What is NOT ? Still another OOAD tutorial Review of the UML notations Rational OO Tool sales

Then what is it? Industrial standard approach to real OO Touch of both language and process

Page 4: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

THE LAST METHOD WAR IN 1990’s

Brief history of UML

UML 1.1

UML 1.0

UML 1.3 Feb. ‘99

Unified Method 0.8

Booch ‘93 OMT - 2

OOSEOMT - 1Booch ‘91

Mellor,Yourdon,Odell,Etc.

Page 5: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

THE THREE AMIGOS

Grady Booch Dr.James Rumbaugh Dr.Ivar Jacobson

Page 6: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

WHO CARES ABOUT UML?

Results of AltaVista(US) Search hits(as of 11/2/98)Formal Method : 2,208Structured Analysis : 5,360Real-Time System : 7,730Monica Lewinski : 20,750C++ Language : 49,099UML : 62,100Stock Market : 177,398Object-Oriented : 274,789Y2K : 698,060Java : 8,945,473Sex : 13,985,476

Page 7: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

MOTIVATIONS FOR MODELING

Making A Dog House Simple material/tool No need for helper Can freshly restart anytime Cost for failure is nominal

Building Your House More material/tool Reasonable planning required

Page 8: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

pre-built materials with sub-contractors Cost for failure is medium-high

Constructing A Skyscraper Massive spending of "others' money" Many things to consider : Aesthetic

feature, economy, versatility, etc. Absurd to try "DIY” Risk/Cost for failure is almost

unbearable

Page 9: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

MODELING SOFTWARE

Control the complexity through abstraction Visualize the system as it is or as want it to be Specify the structure and behavior of a system Provide a template that guide the implementors

in constructing a system Document the decisions we have made Various Modeling Methods

Structured Analysis and Design Entity-Relationship Model Object-Oriented Model

Page 10: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

THREE AMIGOS SAID...

Page 11: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

UML AND 4+1 VIEW

Use Case Diagram & scenarioClass Diagram : Logical ViewActivity Diagram : Process ViewState Diagram : Process ViewInteraction Diagrams : Process View

Sequence DiagramCollaboration Diagram

Package(Component) Diagram : Development ViewDeployment Diagram : Physical View

* Diagrams are orthogonal views of a model

Page 12: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

UML REDEFINED

UML is a language for visualizing specifying constructing documenting software models

UML is not a Visual Programming Language only for software systems

Page 13: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

USE CASE DIAGRAM

A use case models the interaction between the system and an actor

An actor invokes a certain functionality of the system

Granularity: A use case is a complete and meaningful flow of events

Taken together, all use cases constitute all possible ways of using the system

Several use cases may overlap

Page 14: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

EXAMPLE - USE CASE DIAGRAM

Student

BillingSystem

Register for courses

Select courses to teach

Request course roster

Professor

MAIN USE CASE DIAGRAM

Page 15: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

USE CASE DIAGRAM(CONT)

Request course roster

Professor

Select courses to teach

Validate User

<<uses>>

Request course roster with GPA

<<extends>>

Professor Use Case

Page 16: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

USE CASE NOTATION

UseCase3

UseCase4

UseCase1

UseCase2

Actor <<communicates>>

Assoc iation <<Extends>>

<<uses>>

Page 17: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

CLASS DIAGRAM

Top level is package diagramShows all/some classes in the systemRelationships among classes

Generalization(is-a-kind-of) Association(relates-to) Aggregation(has-a)

Attributes and Operations with scope

Page 18: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

CLASS DIAGRAM(TOP LEVEL)

PACKAGE1

PACKAGE2

PACKAGE3

TOP LEVEL CLASS DIAGRAM

CLIENT SUPPLIER

Page 19: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

CLASS DIAGRAM

TYPICAL CLASS DIAGRAM

CLASS 3

name : type = initval

opname()

CLASS 2

name : type = initval

opname()**

CLASS 4CLASS 1

name : type = initval

op_name(arg) : type1..*0..* 1..*0..*

PARAM CLS

realization

Page 20: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

CLASS DIAGRAM - EXAMPLE

ADD A COURSE OFFERING

ProfessorCourseManager

Course

1..*

0..*

1..*

0..*

manages

0..*0..*

0..* Pre-requisite

0..*

Sections

11..* 11..*

Page 21: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

ACTIVITY DIAGRAM

Action States(undecomposable) and Activity States(decomposable) are connected by Triggerless transitions

Object SwimlanesBetter to show concurrency using

Fork and Join than State-machineBranch with Guard ExpressionNot offered in Rose (yet)

Page 22: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

ACTIVITY DIAGRAM - EXAMPLE

OHP #1

Page 23: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

STATE DIAGRAM

Model the lifetime of EACH objectEvent/Guard Conditions/Action

associated with a transitionConcurrency can be shownSub-machine concept

Page 24: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

STATE DIAGRAM - NOTATION

STATE MACHINE OF AN OBJ ECT

Initialization

STATE1

STATE2

STATE2-1

HSTATE2-2

STATE3

event[ cond ] / action

STATE2-1

HSTATE2-2

Page 25: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

INTERACTION DIAGRAM

SEQUENCE DIAGRAM better to show the workflows

COLLABORATION DIAGRAM better to show object inter-relations

Per Use case secenariosShows actions between Objects

Page 26: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

SEQUENCE DIAGRAM

: Actor

object1 object2 object3

action1

action2

action3

action4

action5

SEQUENCE DIAGRAM

Page 27: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

COLLABORATION DIAGRAM

: Actor

Object1

COLLABORATION DIAGRAM

Object2

Object3

4: action4

1: action1

2: action2

3: action3

5: action5

Page 28: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

PACKAGE DIAGRAM

Standard Stereotype includes Facade : Part of a package viewable to

some other package Framework : Patterns(See Gang of Five

book) Subsystem : Package representing

independent part of the system System : Package representing the whole

system Top Level view of the class diagram

Page 29: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

DEPLOYMENT DIAGRAM

Nodes are some computing resources(Processor or Device)

H/W and S/W allocation diagramPerformance concernsDistributed Systems design

Page 30: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

DEPLOYMENT DIAGRAM - EXAMPLE

Processor

Device1 Device2 Device3

DEPLOYMENT DIAGRAM

S/W Package x & y

s/w component z

Page 31: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

REAL-TIME SYSTEMS AND UML

Joint-developed by Rational and ObjecTime Capsules as a special class Ports sends signals and queues

incoming signals Connectors connects each ports

Supports Real-Time OS'sWindRiver Systems' VxWorksIntegrated Systems' pSOS,Microtec's VRTX

Page 32: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

REAL-TIME UML EXAMPLE

Page 33: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

REAL-TIME UML

COLLABORATION DIAGRAM

Page 34: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

RATIONAL UNIFIED PROCESS(RUP)

Software Projects:"Unsuccessful software projects fail in their unique ways,but all successful projects are alike in many ways”

The Keys to success:right people; right tool; right focus

Page 35: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

OUTLINE - RUP

What is it?Process ArchitectureKey Features of RUPCore Process WorkflowsImplementing the process

Page 36: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

WHAT IS RUP?

Process Product : Collective know-hows on why a

successful project worksExtensive tool uses and Process

workflow integratedA new breed of Process On-line &

Process Manuals w/ 20,000+ licensees

Page 37: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

PROBLEMS ADDRESSED

Iterative S/W Developmentability to deal with changing requirementsindependent of heroic programmersdiscovery of serious flaws earlier as possibleincorporates both management and

technical perspectivesAvoid big-bang on the product release date

Goal : Provide a disciplined approach to assigning tasks and responsibilities

Page 38: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

OVERALL ARCHITECTURE OF RUP

Page 39: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

FOUR PHASES

InceptionDefining scope of the project

ElaborationPlanning the necessary Activities and resourcesBaselining the architecture

ConstructionImplementation phase

TransitionTransitioning the product into its user

community

Page 40: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

INCEPTION PHASE

Entry Criteriaoriginal vision, asses, legacy system, needs

Exit CriteriaSuccess CriteriaInitial Risk AssessmentResource Estimate for Elaboration Phase

Top Key 20% Use-Cases to drive Architectural Effort

Milestone : Lifecycle Objectives(LCO)Conceptual Prototype

Go-no-go decision

Page 41: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

ELABORATION PHASE

Entry CriteriaConceptual Prototype from Inception PhaseList of Assets (Software, Know-how, Financial

assets)

Exit CriteriaSoftware development plan(risk assessment,

staffing, iteration plan, etc)A set of evaluation criteria for the final productSoftware Architecture Description

Milestone : Lifecycle Architecture(LCA)Go-no-go decision

Page 42: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

CONSTRUCTION PHASE

Entry CriteriaArtifacts of the previous iterationRisk being migrated from the previous

iterationAdditional capabilities beng developed, use

cases and scenarios being coveredDefects being fixed during the iteration

Exit CriteriaRelease DescriptionIteration plan of the next iterationevaluation criteria of the next iteration

Page 43: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

CONSTRUCTION PHASE(CONT)

Additional exit criteria toward the end of the Construction phase iterations :packaging/pricing/roll out

/support/traning/production plansuser documentation

Milestone : Initial Operational Capability(IOC) "beta"

Page 44: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

TRANSITION PHASE

Entry CriteriaSuffciently mature product to release to the

user community

Exit CriteriaSoftware deliveredUpdated document

Page 45: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

RUP INTEGRATES TOOLS

Sales PitchRationalRose : Visual ModelingRequisitePro : Requirement

ManagementSQA-Suite : Automated TestingSoDA : Automated DocumentationRationalApex : Iterative C++ and

Ada development tool

Page 46: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

RATIONAL ROSE DEMO

What is it? Integrated visual modeling tool supports

UML Primitive code generator Round-trip engineening supported

What Rose can’t do:Homogenizing Use CasesClass combining/splitting/eliminatingConsistency Check between static and

dynamic views(Surprise)Event Tracing

Page 47: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

GREETINGS FROM THREE AMIGOS

Page 48: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

REFERENCES

UMLGrady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, 1998Philippe Kruchten, "The 4+1 View Model of Architecture," IEEE Software, 12(6), Nov 1995, pp42-50Martin Fowler, Kendall Scott, UML Distilled: Applying the Standard Object Modeling Language, Addison-Wesley, 1998http://www.rational.comhttp://www.iLogix.com

Real-Time & UMLhttp://www.objectime.comBruce Powel Douglas, Real-Time UML, Addison-Wesley, 1998

Page 49: Unified Modeling Language(UML) AND Rational Unified Process(RUP) ySHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

Rational Unified ProcessIvar Jacobson, Object-Oriented Software Engineering, A-W, 1994Philippe Kruchten, http://www.rational.com/support/techpapers/devprcs/

Philippe Kruchten, Rational Unified Process, Tutorial Notes from OOPSLA '98

Rational RoseTerry Quatrani, Visual Modeling with Rational Rose and UML, A-W, 1998Software ArchitectureMary Shaw, "Comparing Architectural Design Styles," IEEE Software,

12(6), Nov 1995, pp27-41