unified modeling language(uml) and rational unified process(rup)...
TRANSCRIPT
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