Overview of UML Daniel Brookshier Distinguished Fellow No Magic Inc. Everything is Risky Without Knowledge About This Presenation This presentation was generated by MagicDraw! Hold your questions to the end of the presentation Overview Why UML? The Core Diagrams Extending UML Why UML? UML Is Alive UML is Alive Regular updates by the OMG UML is the only active modeling standard. UML is extended into dozens of domains. UML is supported by many commercial and open source tools UML metadata is easily transformed into code and other data for 3rd party tools Is UML Relevant? UML Success Many people can read UML It's not 'rocket science' The state of the art has improved UML Ecosystem UML Extensions Enterprise Architecture Data Modeling Systems Engineering Requirements Data Modeling Business Process and Orchestration Ontology Domains Healthcare Insurance Military Robotics Software development/management More! Core UML Primary Diagram Types Use Case – Key activities and documentation of usage Class - Logical structure of the model. Also includes Use Cases, Deployment, Components, Collaboration, and Object instances. Composite - An internal configuration of a Class. Can also show internal structure of other elements like Collaboration, Components and other Class-based elements. Activity - Flow associated with either a scenario or a method. When using swimlanes, can show interactions between instances. State - State machines of classes. Sequence - Shows interactions between instances of classes. 4+1 What is a Use Case Diagram? Use of systems Diagrams show use cases, actors, and their relationships Point of view is interface Use Cases are NOT Not a list of features Not every function Not a story Not a replacement for 'requirement' Simple Use Case Complex Use Case Generalization Why are Use Cses Important? Documents important user interactions Related to activities to script use cases Refine functional requirements Use Case Details Class Diagrams Structural design Describes associated parts Interfaces and interface use Linked to behavior Class Overview Interfaces Lollipop Notation Object Diagrams Validation of design by via example data Can describe initial states or be used in executions Object Diagrams Object Links Composite Diagrams Instance of structure Used for advanced configurations Physical part modeling Shows nesting caused by associations Structure For Composite Diagram Zoo Healthcare Heathcare System Activity Diagrams Behavior of model Reusable (callable) activities Rich semantics (fancy flowcharts). Links to classes, states, sequences Prescription Flow Authorize Prescription Linking Activity to Operation Statemachine Diagrams Valid states of a Class Edges represent the method or external signal that causes state to change Bubbles represent the aggregate state of the class Methods can trigger on entry/exit of state. Example State Prescription Sequence Diagrams Interactions between classes Usually used to show a scenario Verify sequence and state transitions Also be used to design class methods Prescription Extending UML Stereotypes are semantic labels Stereotypes have tags which can hold instances of metainformation Associations between stereotypes can be validated with Object constraint Language (OCL) Domain Specific Languages (DLSL) created on top of rich UML semantics and diagrams Stereotypes Extended UML Good Traceability Thank You Daniel Brookshier DanielB@NoMagic.com