Overview of UML
Daniel BrookshierDistinguished 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 meta-information
� 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