Overview of UML - OMG · 2011-09-19 · UML is Alive Regular updates by the OMG UML is the only...

Post on 13-Jul-2020

1 views 0 download

transcript

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

Thank You

Daniel Brookshier DanielB@NoMagic.com