UML

Preview:

DESCRIPTION

UML. What Is the UML?. The Unified Modeling Language (UML) is the successor to the wave of object-oriented analysis and design (OOA&D) methods that appeared in the late '80s and early '90s It most directly unifies the methods of Booch, Rumbaugh (OMT), and Jacobson. Unified because it … - PowerPoint PPT Presentation

Citation preview

UML

23/4/20 1

What Is the UML?

• The Unified Modeling Language (UML) is the successor to the wave of object-oriented analysis and design (OOA&D) methods that appeared in the late '80s and early '90s

• It most directly unifies the methods of Booch, Rumbaugh (OMT), and Jacobson

23/4/20 2

• Unified because it …– Combines main preceding OO methods (Booch by Grady Booch, OMT by Jim Rumbaugh and OOSE by Ivar Jacobson)

• Modelling because it is …– Primarily used for visually modelling systems. Many system views are supported by appropriate models

• Language because …– It offers a syntax through which to express modelled knowledge

23/4/20 3

Notations and Meta-Models

• The UML, in its current state, defines a notation and a meta-model

• The notation is the graphical stuff you see in models; it is the syntax of the modeling language

• a meta-model: a diagram, usually a class diagram, that defines the notation

23/4/20 4

UML Ancestry

23/4/20 5

Further (latest) UML Evolution

23/4/20 6

UML Partners

23/4/20 7

UML components

23/4/20 8

UML diagrams

23/4/20 9

UML Diagrams

• Use-Case• Class• Object State• Sequence• Collaboration Activity • Component• Deployment

23/4/20 10

UML Diagram Philosophy

• Any UML diagram:• Depicts concepts

– as symbols• Depicts relationships between concepts

– as directed or undirected arcs (lines)• Depicts names

– as labels within or next to symbols and lines

23/4/20 11

The Main 4 UML Diagrams

• Use-Case• Class• Sequence• State

23/4/20 12

The Other 5 UML Diagrams

• Object• Collaboration• Activity• Component• Deployment

23/4/20 13

UML Relationships

23/4/20 14

Use Case Diagrams

• In addition to introducing use cases as primary elements in software development, Jacobson (1994) also introduced a diagram for visualizing use cases

23/4/20 15

23/4/20 16

• Components: use-cases and actors– a use-case must always deliver a value to an

actor– the aggregate of all use-cases is the system‘s

complete functionality

• Goals:– consolidate system functional requirements– provide a development synchronisation

point– provide a basis for system testing– provide a basic function-class/operation

map

23/4/20 17

• The use case itself is drawn as an oval• The actors are drawn as little stick

figures• The actors are connected to the use

case with lines

23/4/20 18

UCD Components

UCD Relationships

• Association relationship

• Extend relationship

• Include relationship

• Generalisation relationship

23/4/20 19

• Associations• Links actors to their UCs• Use (or include)• Drawn from base UC to used UC, it shows

inclusion of functionality of one UC in another (used in base)

• Extend • Drawn from extension to base UC, it ext-ends

the meaning of UC to include optional behaviour

• Generalisation• Drawn from specialised UC to base UC, it

shows the link of a specialised UC to a more generalised one

23/4/20 20

The UML Class Diagram• there are three perspectives you can use in

drawing class diagrams• Conceptual

– If you take the conceptual perspective, you draw a diagram that represents the concepts in the domain under study

• Specification– You often hear the word "type" used to talk about

an interface of a class; a type can have many classes that implement it, and a class can implement many types.

• Implementation – In this view, we really do have classes and we are

laying the implementation bare

23/4/20 21

A UML Class

• Properties of class diagrams:- Static model;- Models structure and behaviour;- Used as a basis for other diagrams;- Easily converted to an object diagram

23/4/20 22

UML Class Attribute Examples

23/4/20 23

Operations

23/4/20 24

Constraints on Operations

23/4/20 25

Association Examples

23/4/20 26

Association by Aggregation

23/4/20 27

Roles in Aggregation

23/4/20 28

Aggregation and Generalisation

23/4/20 29

UML Packages

• The idea of a package can be applied to any model element, not just classes

• Without some heuristics to group classes together, the grouping becomes arbitrary

23/4/20 30

Examples of UML Packages andtheir Logical Grouping

23/4/20 31

Examples of Relationships between UML Packages

23/4/20 32

Examples of UML PackageImportation

23/4/20 33

Packaging Steps

1. Set the context2. Cluster classes together based on

shared relationships3. Model clustered classes as a package4. Identify dependency relationships

amongst packages5. Place dependency relationships

between packages

23/4/20 34

Recommended