1 / 49

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.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unified Modeling Language(UML)ANDRational Unified Process(RUP) • SHIN,JANGWOO(shinj@gradient.cis.upenn.edu)

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

  3. 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

  4. 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

  5. THE THREE AMIGOS Grady Booch Dr.James Rumbaugh Dr.Ivar Jacobson

  6. 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

  7. 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

  8. 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

  9. 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

  10. THREE AMIGOS SAID...

  11. 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

  12. UML REDEFINED • UML is a language for • visualizing • specifying • constructing • documenting software models • UML is not • a Visual Programming Language • only for software systems

  13. 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

  14. EXAMPLE - USE CASE DIAGRAM

  15. USE CASE DIAGRAM(CONT)

  16. USE CASE NOTATION

  17. 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

  18. CLASS DIAGRAM(TOP LEVEL)

  19. CLASS DIAGRAM

  20. CLASS DIAGRAM - EXAMPLE

  21. 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)

  22. ACTIVITY DIAGRAM - EXAMPLE OHP #1

  23. STATE DIAGRAM • Model the lifetime of EACH object • Event/Guard Conditions/Action associated with a transition • Concurrency can be shown • Sub-machine concept

  24. STATE DIAGRAM - NOTATION

  25. 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

  26. SEQUENCE DIAGRAM

  27. COLLABORATION DIAGRAM

  28. 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

  29. DEPLOYMENT DIAGRAM • Nodes are some computing resources(Processor or Device) • H/W and S/W allocation diagram • Performance concerns • Distributed Systems design

  30. DEPLOYMENT DIAGRAM - EXAMPLE

  31. 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

  32. REAL-TIME UML EXAMPLE

  33. REAL-TIME UML COLLABORATION DIAGRAM

  34. 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

  35. OUTLINE - RUP • What is it? • Process Architecture • Key Features of RUP • Core Process Workflows • Implementing the process

  36. 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

  37. 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

  38. OVERALL ARCHITECTURE OF RUP

  39. 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

  40. 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

  41. 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

  42. 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

  43. 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"

  44. TRANSITION PHASE • Entry Criteria • Suffciently mature product to release to the user community • Exit Criteria • Software delivered • Updated document

  45. 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

  46. 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

  47. GREETINGS FROM THREE AMIGOS

  48. 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

  49. 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

More Related