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

Post on 17-Dec-2015

222 views 2 download

Tags:

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

Unified Modeling Language(UML)AND

Rational Unified Process(RUP)

SHIN,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

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

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.

THE THREE AMIGOS

Grady Booch Dr.James Rumbaugh Dr.Ivar Jacobson

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

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

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

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

THREE AMIGOS SAID...

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

UML REDEFINED

UML is a language for visualizing specifying constructing documenting software models

UML is not a Visual Programming Language only for software systems

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

EXAMPLE - USE CASE DIAGRAM

Student

BillingSystem

Register for courses

Select courses to teach

Request course roster

Professor

MAIN USE CASE DIAGRAM

USE CASE DIAGRAM(CONT)

Request course roster

Professor

Select courses to teach

Validate User

<<uses>>

Request course roster with GPA

<<extends>>

Professor Use Case

USE CASE NOTATION

UseCase3

UseCase4

UseCase1

UseCase2

Actor <<communicates>>

Assoc iation <<Extends>>

<<uses>>

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

CLASS DIAGRAM(TOP LEVEL)

PACKAGE1

PACKAGE2

PACKAGE3

TOP LEVEL CLASS DIAGRAM

CLIENT SUPPLIER

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

CLASS DIAGRAM - EXAMPLE

ADD A COURSE OFFERING

ProfessorCourseManager

Course

1..*

0..*

1..*

0..*

manages

0..*0..*

0..* Pre-requisite

0..*

Sections

11..* 11..*

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)

ACTIVITY DIAGRAM - EXAMPLE

OHP #1

STATE DIAGRAM

Model the lifetime of EACH objectEvent/Guard Conditions/Action

associated with a transitionConcurrency can be shownSub-machine concept

STATE DIAGRAM - NOTATION

STATE MACHINE OF AN OBJ ECT

Initialization

STATE1

STATE2

STATE2-1

HSTATE2-2

STATE3

event[ cond ] / action

STATE2-1

HSTATE2-2

INTERACTION DIAGRAM

SEQUENCE DIAGRAM better to show the workflows

COLLABORATION DIAGRAM better to show object inter-relations

Per Use case secenariosShows actions between Objects

SEQUENCE DIAGRAM

: Actor

object1 object2 object3

action1

action2

action3

action4

action5

SEQUENCE DIAGRAM

COLLABORATION DIAGRAM

: Actor

Object1

COLLABORATION DIAGRAM

Object2

Object3

4: action4

1: action1

2: action2

3: action3

5: action5

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

DEPLOYMENT DIAGRAM

Nodes are some computing resources(Processor or Device)

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

DEPLOYMENT DIAGRAM - EXAMPLE

Processor

Device1 Device2 Device3

DEPLOYMENT DIAGRAM

S/W Package x & y

s/w component z

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

REAL-TIME UML EXAMPLE

REAL-TIME UML

COLLABORATION DIAGRAM

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

OUTLINE - RUP

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

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

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

OVERALL ARCHITECTURE OF RUP

FOUR PHASES

InceptionDefining scope of the project

ElaborationPlanning the necessary Activities and resourcesBaselining the architecture

ConstructionImplementation phase

TransitionTransitioning the product into its user

community

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

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

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

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"

TRANSITION PHASE

Entry CriteriaSuffciently mature product to release to the

user community

Exit CriteriaSoftware deliveredUpdated document

RUP INTEGRATES TOOLS

Sales PitchRationalRose : Visual ModelingRequisitePro : Requirement

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

Ada development tool

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

GREETINGS FROM THREE AMIGOS

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

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