520 likes | 1.02k Views
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.
E N D
Unified Modeling Language(UML)ANDRational 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.3 Feb. ‘99 UML 1.1 UML 1.0 Unified Method 0.8 Mellor, Yourdon, Odell, Etc. Booch ‘93 OMT - 2 Booch ‘91 OOSE OMT - 1
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,208 Structured Analysis : 5,360 Real-Time System : 7,730 Monica Lewinski : 20,750 C++ Language : 49,099 UML : 62,100 Stock Market : 177,398 Object-Oriented : 274,789 Y2K : 698,060 Java : 8,945,473 Sex : 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
UML AND 4+1 VIEW Use Case Diagram & scenario Class Diagram : Logical View Activity Diagram : Process View State Diagram : Process View Interaction Diagrams : Process View Sequence Diagram Collaboration Diagram Package(Component) Diagram : Development View Deployment 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
CLASS DIAGRAM • Top level is package diagram • Shows all/some classes in the system • Relationships among classes • Generalization(is-a-kind-of) • Association(relates-to) • Aggregation(has-a) • Attributes and Operations with scope
ACTIVITY DIAGRAM • Action States(undecomposable) and Activity States(decomposable) are connected by Triggerless transitions • Object Swimlanes • Better to show concurrency using Fork and Join than State-machine • Branch with Guard Expression • Not offered in Rose (yet)
ACTIVITY DIAGRAM - EXAMPLE OHP #1
STATE DIAGRAM • Model the lifetime of EACH object • Event/Guard Conditions/Action associated with a transition • Concurrency can be shown • Sub-machine concept
INTERACTION DIAGRAM • SEQUENCE DIAGRAM • better to show the workflows • COLLABORATION DIAGRAM • better to show object inter-relations • Per Use case secenarios • Shows actions between Objects
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 diagram • Performance concerns • Distributed Systems design
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's • WindRiver Systems' VxWorks • Integrated Systems' pSOS, • Microtec's VRTX
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 Architecture • Key Features of RUP • Core Process Workflows • Implementing the process
WHAT IS RUP? • Process Product : • Collective know-hows on why a successful project works • Extensive tool uses and Process workflow integrated • A new breed of Process On-line & Process Manuals w/ 20,000+ licensees
PROBLEMS ADDRESSED • Iterative S/W Development • ability to deal with changing requirements • independent of heroic programmers • discovery of serious flaws earlier as possible • incorporates both management and technical perspectives • Avoid big-bang on the product release date • Goal : Provide a disciplined approach to assigning tasks and responsibilities
FOUR PHASES • Inception • Defining scope of the project • Elaboration • Planning the necessary Activities and resources • Baselining the architecture • Construction • Implementation phase • Transition • Transitioning the product into its user community
INCEPTION PHASE • Entry Criteria • original vision, asses, legacy system, needs • Exit Criteria • Success Criteria • Initial Risk Assessment • Resource 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 Criteria • Conceptual Prototype from Inception Phase • List of Assets (Software, Know-how, Financial assets) • Exit Criteria • Software development plan(risk assessment, staffing, iteration plan, etc) • A set of evaluation criteria for the final product • Software Architecture Description • Milestone : Lifecycle Architecture(LCA) • Go-no-go decision
CONSTRUCTION PHASE • Entry Criteria • Artifacts of the previous iteration • Risk being migrated from the previous iteration • Additional capabilities beng developed, use cases and scenarios being covered • Defects being fixed during the iteration • Exit Criteria • Release Description • Iteration plan of the next iteration • evaluation 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 plans • user documentation • Milestone : Initial Operational Capability(IOC) "beta"
TRANSITION PHASE • Entry Criteria • Suffciently mature product to release to the user community • Exit Criteria • Software delivered • Updated document
RUP INTEGRATES TOOLS • Sales Pitch • RationalRose : Visual Modeling • RequisitePro : Requirement Management • SQA-Suite : Automated Testing • SoDA : Automated Documentation • RationalApex : 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 Cases • Class combining/splitting/eliminating • Consistency Check between static and dynamic views(Surprise) • Event Tracing
REFERENCES UML Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, 1998 Philippe Kruchten, "The 4+1 View Model of Architecture," IEEE Software, 12(6), Nov 1995, pp42-50 Martin Fowler, Kendall Scott, UML Distilled: Applying the Standard Object Modeling Language, Addison-Wesley, 1998 http://www.rational.com http://www.iLogix.com Real-Time & UML http://www.objectime.com Bruce Powel Douglas, Real-Time UML, Addison-Wesley, 1998
Rational Unified Process Ivar Jacobson, Object-Oriented Software Engineering, A-W, 1994 Philippe Kruchten, http://www.rational.com/support/techpapers/devprcs/ Philippe Kruchten, Rational Unified Process, Tutorial Notes from OOPSLA '98 Rational Rose Terry Quatrani, Visual Modeling with Rational Rose and UML, A-W, 1998 Software Architecture Mary Shaw, "Comparing Architectural Design Styles," IEEE Software, 12(6), Nov 1995, pp27-41