UML / UML 2.0 Diagrams (Part I) 1. Overview of the 13 diagrams of UML Structure diagrams 1.Class...

Preview:

Citation preview

UML / UML 2.0 Diagrams

(Part I)

1

Overview of the 13 diagrams of UML

Structure diagrams1. Class diagram2. Composite structure diagram (*)3. Component diagram4. Deployment diagram5. Object diagram6. Package diagram

Behavior diagrams1. Use-case diagram2. State machine diagram3. Activity diagram

Interaction diagrams1. Sequence diagram2. Communication diagram 3. Interaction overview diagram (*)4. Timing diagram (*)

(*) not existing in UML 1.x, added in UML 2.0

2

UML principle: diagram vs. model

• Different diagrams describe various facets of the model

• Several diagrams of the same kind may coexist

• Each diagram shows a projection of the model

• Incoherence between diagrams (of the same or of different kind(s)) correspond to an ill-formed model

• The coherence rules between different kinds of diagrams is not fully stated

3

Use case diagram

• Displays the relationship among actors and use cases, in a given system

• Main concepts:o System – the system under modelingo Actor – external “user” of the systemo Use case – execution scenario, observable by

an actor

4

5

6

Class diagram

• The most known and the most used UML diagram

• Gives information on model structural elements

• Main concepts involvedo Class - Objecto Inheritanceo Association (various kinds of)

7

UML Class

• Gives the type of a set of objects existing at run-time• Declares a collection of methods and attributes that

describe the structure and behavior of its objects

8

Properties of UML classes

• May own featureso Structural (data related) : attributeso Behavioral : methods/operations

• May own behavior (state machines, interactions, …)

• May be instantiated o except for abstract classes that can NOT be directly

instantiated and exist only for the inheritance hierarchy

9

Decode class symbol adornments

Class name in italics: abstract

class

Underlined attribute = class

attribute

Simple class box: passive class

Vehicle

Automobile

+wheelsNO : integer

-serialNo : integer

+fillTank(In volume:real):real

Door

+wheelsNO : integer

-serialNo : integer

door 1 *

+fillTank(In volume:real):realFeature visibility +,

-, #,~

Attributes area

Method(operation)

area

10

11

Object

• Instance of a class• Can be shown in a class diagram• Notation

ford : Automobile

wheelsNO=4

serialNo=123ABC567

wheelsNO=4

serialNo=123ABC567D

12

Relations

• Inheritance• Association (Aggregation, Composition)• Refer to UML_Class_Relation.ppt

13

Interface

• Declares set of public features and obligations• Specifies a contract, to be fulfilled by classes implementing the

interface

• Not instantiable (abstract class)

• Its specification can be realized by 0, 1 or several classes

• Interfaces hierarchies can be defined through inheritance relationships

• In UML 2.0, interface may also include attributes and a special form of a state machine called a protocol state machine.

14

Interface definition and use examples

<<interface>>InteractionPrimitives

tokenExchange(

<<interface>>SecureInteraction

checkConsistency

retrieveLast()

checkConsistency()

tokenExchange()

SatelliteSecureInteraction

The class Satellite provides implementation for the 3

operations

15

Service Requester vs. Provider

Interface SiteSearch is realized (implemented) by SearchService.

Interface SiteSearch is used (required) by SearchController

16

17

Package

18

• Used to reflect the organization of packages and their elements.

• When used to represent class elements, package diagrams provide a visualization of the namespaces (domains).

• Subdivide models to permit teams of developers to manipulate and work effectively together

• Typically a logical view (compared against the component/subsystem/deployment diagrams)

19

Component

• Its definition evolves from UML 1.x to UML 2.0• In UML 1.x - deployment artifacts• In UML 2.0 – structured classes Modular unit with well-defined interfaces that is

replaceable within its environment Autonomous unit within a system

•Has one or more provided and required interfaces•Its internals are hidden and inaccessible•A component is encapsulated•Its dependencies are designed such that it can be treated as independently as possible

20

A component can have…• Interfaces

– An interface represents a declaration of a set of operations and obligations

• Usage dependencies– A usage dependency is relationship which one element requires

another element for its full implementation• Ports

– Port represents an interaction point between a component and its environment

• Connectors – Connect two components (links are used to connect objects)– Connect the external contract of a component to the internal

structure

21

22

Subsystem

• Used to decompose the physical organization of large-scale system at the highest level of abstraction

23

Nodes and Deployment

Nodes: Devices and Execution environment

Focused on the artifacts that deploy executables (i.e., .exe, .dll, .lib files)

24

25

Recommended