UML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site:

Similar documents
UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

UNIT-4 Behavioral Diagrams

Object-Oriented and Classical Software Engineering

Introduction to Software Engineering. 5. Modeling Objects and Classes

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

Unified Modeling Language

Developing Shlaer-Mellor Models Using UML

OMG Modeling Glossary B

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER

LABORATORY 1 REVISION

Introduction to Software Engineering. 5. Modeling Objects and Classes

12 Tutorial on UML. TIMe TIMe Electronic Textbook

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

UML Notation Guide 3. Contents. Part 1 - Background Introduction 3-5

UML Tutorial. Unified Modeling Language UML Tutorial

Basic Structural Modeling. Copyright Joey Paquet,

COSC 3351 Software Design. An Introduction to UML (I)

Class modelling (part 2)

Architecture and the UML

Unified Modeling Language (UML) Class Diagram

UML Diagrams MagicDraw UML Diagrams

Software Service Engineering

STATE MACHINES. Figure 1: State Machines

Stateflow Best Practices By Michael Burke

OO Techniques & UML Class Diagrams

UML 2.0 State Machines

UNIT-II Introduction to UML

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

Class modelling (part 2)

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

IS 0020 Program Design and Software Tools

Engineering Design w/embedded Systems

Software Design Models, Tools & Processes. Lecture 3: Addendum Cecilia Mascolo

Chapter 2: The Object-Oriented Design Process

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

UNIT 5 - UML STATE DIAGRAMS AND MODELING

A UML 2 Profile for Variability Models and their Dependency to Business Processes

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Practical UML : A Hands-On Introduction for Developers

administrivia today UML start design patterns Tuesday, September 28, 2010

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Object-Oriented Systems Development: Using the Unified Modeling Language

Practical UML - A Hands-On Introduction for Developers

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51

THE UNIFIED MODELING LANGUAGE

Unified Modeling Language for Real-Time Systems Design

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)

UML Start-Up Training UB1

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

visualstate Reference Guide

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

State Machine Diagrams

System Design, Modeling, and Simulation using Ptolemy II

Vidyalankar. T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper Solution

UML Profiles Radovan Cervenka

Interaction Modelling: Sequence Diagrams

RSARTE Icons. Mattias Mohlin Senior Software Architect IBM

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.

user.book Page 45 Friday, April 8, :05 AM Part 2 BASIC STRUCTURAL MODELING

+ Public - Private # Protected # Protected (Overridable) Static

Hippo Software BPMN and UML Training

Models are used for several purposes. We believe that some of the most important are:

UML (Unified Modeling Language)

1: Introduction to Object (1)

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

Meltem Özturan

Object-Oriented Design and Modeling Using the UML

Object-Oriented Design

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

OOPD UNIT V OBJECT MODELLING USING UML OVERVIEW OF BASIC OBJECT-ORIENTATION CONCEPTS

Activity Nets: A UML profile for modeling workflow and business processes

Enterprise Architect Training Courses

Pertemuan 8. Object Oriented Modeling and Design

Enterprise Architect. User Guide Series. Testpoints. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Object-oriented design. More UML

Experiment no 4 Study of Class Diagram in Rational Rose

Software Engineering. Page 1. Objectives. Object-Behavioural Modelling. Analysis = Process + Models. Case Study: Event Identification

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Appendix D: Mapping BPMN to BPD Profile

UML Notation Guide 3

Combined Modeling and Programming with State Machines

UML- a Brief Look UML and the Process

Introducing the UML Eng. Mohammed T. Abo Alroos

Transcription:

UML Reference Sheets 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site: http://www.tatanka.com/ Revision Information This document was last revised 2014.03.02. The current version should be available at http://www.tatanka.com/engineering/miscellany/umldocs/. License and Terms of Use This document may be redistributed freely, but only if distribution is done without changes, abridgement, or amendment. Give it away free, charge for it, print it, or post it on the Internet, as long as you comply with these terms. Proper attribution is made by leaving the entire document intact and without modification. Specifically, this work is licensed under the Creative Commons ttribution NoDerivs 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by nd/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, US. Contents: Relationships Page 2 Dependency Relationships Page 3 Classifiers Page 5 Interfaces Page 6 Interfaces, Use Case, ctor, State Page 7 States Page 8 State Diagrams Page 9 UML is so large that, for someone who doesn t use it frequently, it s easy to forget the notation. The goal of this document is to provide a reference to the major parts of the language. I m not trying to teach how to use UML, merely to jog one s memory. There is often more than one way to describe a model in UML. Clarity is by far the most important goal. The specification is colour blind, so use colour any way you want, to be more clear. Note: Some elements from SysML, the UML extension for system modelling, are incorporated into these diagrams. For the official definitions, refer to the Object Management Group web site (http://www.omg.org); specifications are freely downloadable from there. Please let me know of any errors, ambiguities, shortcomings, or other problems by writing to marking@tatanka.com. 2013, 2014 Michael Marking. ll rights reserved. Revision of 2014.03.02 http://www.tatanka.com/engineering/miscellany/umldocs/ Page 1 of 9

association: There is a relationship among instances of and instances of. navigability: can use in an expression to navigate to, or to express constraints. non navigability: cannot navigate to. generalization: generalizes ; is a superclass of ; is a subclass of. specializes. Generalization is a relationship, whereas inheritance is a process which uses generalization to create descriptions, although sometimes this notation is wrongly described as inherits from. dependency: depends on. (More details on next page.) aggregation: is a constituent of. However, has an existence independent of. composition: is exclusively a part of, not a part of anything else, and with a coincident lifetime. membership or containment: is a member of package ; contains. ownership of an association end: owns the end at of the association between and the classifier. realization: realizes, or provides an implementation for,. (More details under Dependency Relations, on next page.) 2013, 2014 Michael Marking. ll rights reserved. Revision of 2014.03.02 http://www.tatanka.com/engineering/miscellany/umldocs/ Page 2 of 9

dependency relationship is written as a dashed line with an arrow. The arrowhead is open, except that, in a realization (one special kind of dependency relationship), the arrowhead is closed and hollow. The element at the tail of the arrow is the client; the element at the arrowhead is the supplier. The client depends on the supplier. The semantics of the client are not complete without the supplier. client Keywords or stereotype names in guillemets may be used to clarify the type of dependency relationship. For example, the «instantiate» keyword describes the relationship between a factory and its product. supplier factory «instantiate» product Note: The direction of relationship dependencies may, in some cases, seem perverse. One might think it more logical that a product would depend on its factory, rather than the other way around. These are, however, relationships of meaning and function, not necessarily chronological relationships. If the supplier changes, then the meaning or function of the client must, logically, change. Put another way, the factory was built and exists in order to build the product, not the converse, so the product is the controlling logical entity. We say toy factory or appliance factory, not usually the factory built toy. In a very few cases the opposite logic might apply. Keywords to be used with dependency relationships: Keyword Client Supplier Description «access» package package Names are imported from supplier (source) to client (target), with private visibility. «apply» model or package profile Make some or all metaclasses from the supplier profile available for use in the client model or package. «call» classifier classifier The source operation, or an operation within the client class, invokes the target operation, or an operation within the supplier class. 2013, 2014 Michael Marking. ll rights reserved. Revision of 2014.03.02 http://www.tatanka.com/engineering/miscellany/umldocs/ Page 3 of 9

Keyword Client Supplier Description «conform» view viewpoint Properties of interest to stakeholders in «view» package conform to those of «viewpoint» package. «copy» requirement requirement Client copies requirement from supplier. «create» classifier classifier The client creates instances of the supplier. «derive» element element The client may be computed from the supplier. «derivereqt» requirement requirement The client requirement is based upon analysis of the supplier (source) requirement; that is, it satisfies the source requirement in the client context. «extend» use case use case Client adds functionality to supplier. «import» package package Names are imported from supplier (source) to client (target), with public visibility. «include» use case use case Client includes functionality of supplier. «instantiate» classifier classifier Operations on the client create instances of the supplier. «realize» implementation specification «reference» profile metaclass or metamodel Client provides implementation of a supplier specification. Usually, instead of the keyword, this dependency relationship is represented by a dashed line with a closed, hollow arrowhead. The client profile imports from the supplier metaclass or metamodel. «refine» element element In a mapping between two different semantic levels, the supplier is the base for the more developed client. «responsibility» element element Client has obligation or responsibility under contract to supplier. «satisfy» element requirement The client element satisfies the supplier requirement. «send» operation signal Signal is sent by client. «trace» element element Client represents concept in one model related to supplier in another model. May relate model elements to documents. «use» classifier classifier The supplier classifier s presence is required for the correct functioning of the client. «verify» element requirement The client element, perhaps a test case, establishes that the supplier requirement is satisfied. 2013, 2014 Michael Marking. ll rights reserved. Revision of 2014.03.02 http://www.tatanka.com/engineering/miscellany/umldocs/ Page 4 of 9

«stereotype» NameOfThing «stereotype» NameOfThing Generic form for a classifier, instance, or other drawing element; specialized forms may, however, be preferable. There are guidelines for some kinds of NameOfThing, depending on the classifier or element: see the next page for more information. The «stereotype» is optional. The rectangle for any classifier, instance, or other drawing element may be divided into compartments, as many as are needed. ny of the specialized forms below, plus others, may have compartments. heading NameOfThing PackageName a package NodeName a drawing ComponentName a component active objects (those with their own flow of control) are marked with two extra vertical lines TemplateName TypeParameterName a template a device, node, or execution environment Foo ar Faz a composite structure, with internal details private ports, showing provided and required interfaces ssociationclass association qualifier or index the internal details may be described, but they are not visible externally QualifierName az 2013, 2014 Michael Marking. ll rights reserved. Revision of 2014.03.02 http://www.tatanka.com/engineering/miscellany/umldocs/ Page 5 of 9

The names of objects should be underlined, and take one of the forms Instance or Class:Instance. Class names, including interface names, are centred, begin with a capital letter, and are written in boldface: ClassName. The names of abstract classes are italicized. «interface» InterfaceName + ttribute1 : Type1 ttribute2 : Type2 + Operation1 ( ) :... Operation2 ( ) :... The general syntax of an attribute is: <visibility> <derived marker> <attribute name> <attribute type> <multiplicity> <default value> <properties> <constraints> <visibility> is one of: + public # protected private ~ package The <derived marker>, if present, is a slash or virgule (/) <multiplicity> is a value or range, in square brackets, with the values separated by.., and * indicating an unbounded value (Examples: [0..*], [*], [3]) The <default value> is preceded by an equals sign, = The <properties> are a list of comma separated strings or names, enclosed in curly braces, { } <constraints> are statements, also enclosed in curly braces dditional compartments may be added as needed. The most common use for additional compartments in interfaces is to describing possible exceptions. The general syntax of an operation is: <visibility> <operation name> ( <attribute type> ) : <return type> <properties> <visibility> and<properties> are as for attributes The parameter specifications are separated by commas; each has the syntax <direction> <parameter name> : <parameter type> <multiplicity> <default value> <properties> The <direction> is one of in, out, or inout Other parts of the definition are as for attributes The descriptions of static operations (those with class scope) are underlined. 2013, 2014 Michael Marking. ll rights reserved. Revision of 2014.03.02 http://www.tatanka.com/engineering/miscellany/umldocs/ Page 6 of 9

ttribute1 C lternative notation for attributes: ttribute1 of associates with. (Usually, ttribute1 is a pointer or name.) {xor} The {xor} annotation indicates that one, but not both, of the associations is possible at any given time. D E F G H H F requires interface H, and G provides interface H. These may be written separately, as to the left, or together, as to the right. The icons may be attached directly to a classifier, or they may be attached to a port on the classifier. F G H UseCaseName ctor. You may also use a rectangle with the <<actor>> stereotype. StateName StateName Compartment for listing internal activities. Each has the syntax <label> / <expression> where <expression> may be written in pseudocode or any other suitable form. Three labels are reserved: Entry, Exit, and Do, but other labels may be used. Compartment for listing internal transitions. Each has the syntax <event> ( <attribute list> ) [ <guard condition> ] / <effect> The <guard> conditions evaluate to boolean values, and enable or disable the trigger effect of the <event>. The <attribute list> is an optional list of parameters. 2013, 2014 Michael Marking. ll rights reserved. Revision of 2014.03.02 http://www.tatanka.com/engineering/miscellany/umldocs/ Page 7 of 9

StateName State with two regions; any number of regions is permitted. Each region contains a separate substate machine. The substate machines operate in parallel, they are entered simultaneously when the superstate is entered. Unless specified otherwise, the superstate exits when all substate machines have completed or terminated. The initial pseudo state. This is the starting point of the state machine, unless the entry pseudo state is used. StateName H The final pseudo state. When the state machine reaches this state, there are no transitions to any other state. The machine remains in the final state until the machine is destroyed, and internal activities associated with that state will continue. machine may have more than one final state. The entry (above) and exit (below) pseudo states. These are placed on the boundaries of a state machine, and allow (using arrows) transitions between the internal states of the machine and external states or events. transition inward from the entry pseudo state may be used in lieu of using the initial state. The shallow history pseudo state. When this sub state is entered from the outside, it is like a return : the sub state machine picks up from where it was when it was last exited. Thus, it may have no outgoing arrows, and may appear to go nowhere, but it jumps to the last sub state the machine was in. If there is an outgoing arrow, only one is permitted, and it indicates the default sub state, in case the super state has never before been entered. H* The deep history pseudo state. Similar to the shallow history pseudo state, except that a transition to the deep history pseudo state causes not only a resumption from the last sub state, but also causes resumption of all contained sub sub state machines beginning at their respective sub sub states. The terminate pseudo state. Unlike the final state, entry into the terminal state causes the machine to halt completely; there will be no activity and the instance of the machine is effectively destroyed. 2013, 2014 Michael Marking. ll rights reserved. Revision of 2014.03.02 http://www.tatanka.com/engineering/miscellany/umldocs/ Page 8 of 9

<trigger> [ <guard> ] / <effect> details of state transition fork join condition1 choice condition2 junction 1 connectors, off page or on page, to make diagrams more readable or to span multiple pages; the syntax of labels is unspecified 1 C D output from action C, input to action D; make squares solid to show streaming i/o E is input to action D E label exception or error paths out of an action using a small triangle alternatively, use a jagged ( lightning bolt ) transition to an exception handler 2013, 2014 Michael Marking. ll rights reserved. Revision of 2014.03.02 http://www.tatanka.com/engineering/miscellany/umldocs/ Page 9 of 9