Introduction the UML

advertisement
Introduction to
UML
DIAGRAMS & CLASS DIAGRAM
Chapter 7,8
主講人: 許勝杰
jason@rtpc06.ee.ncku.edu.tw
1
Outline






Different Views of a System
Diagrams
Structural Diagrams
Behavioral Diagrams
Class Diagram
Examples : An ATM System
2
Different Views of a System


A view is a projection into the
organization and structure of a
system’s model, focused on one
aspect of a system.
Five most important views :




Use case view: force the shape of system.
Design view: function requirements.
Process view: concurrency, synchronization.
Implementation view: component and files
assemble the physical system.

Deployment view: nodes form H/W topology
3
Diagrams



A diagram is a graphical projection
into the elements that make up a
system.
Each diagram provides a view into
the elements that make up the
system.
Structural diagrams to view the static
parts and Behavioral diagrams to
view the dynamic parts of a system.
4
Structural Diagrams



The UML’s structural diagrams are
used to visualize, specify, construct,
and document the static aspects of a
system.
Static aspects: represent system’s
relatively stable skeleton and
scaffolding.
UML’s four structural diagrams:




Class diagrams
Object diagrams
Component diagrams
Deployment diagrams
5
Structure Diagrams Class Diagrams



A class diagram shows a set of
classes, interfaces, and
collaborations and their relationship.
Class diagrams are used to illustrate
the static design view of a system.
Class diagrams including active
classes are used to address the
static process view of a system.
6
Structure Diagrams Object Diagrams




A object diagram show a set of
objects and their relationships.
Object diagrams are used to
illustrate data structures, the static
snapshots of instances of the things
founds in class diagrams.
Object diagrams address the static
design view of a system just as do
class diagrams, but from the
perspective of real or prototypical
case.
Ref. P.196, Fig 14-1
7
Structure Diagrams Component Diagrams




A component diagram shows a
set of components and their
relationships.
Component diagrams are used
to illustrate static
implementation view of a system.
A component typically maps to
one or more classes, interfaces,
or collaborations.
Ref. P.394, Fig.29-1
8
Structure Diagrams Deployment Diagrams



A deployment diagram shows a
set of nodes and their
relationships.
Deployment diagrams illustrate
the static deployment view of an
architecture.
Ref. P.408, Fig. 30-1
9
Behavioral Diagrams



The UML’s behavioral diagrams are
used to visualize, specify, construct,
and document the dynamic aspects
of a system.
Dynamic aspects: represent a
system’s changing parts.
UML’s five behavioral diagrams





Use case diagrams
Sequence diagrams
Collaboration diagrams
Statechart diagrams
Activity diagrams
10
Behavioral DiagramsUse Case Diagram



A use case shows a set of use
cases and actors and their
relationships.
Used to illustrate the static use
case view of a system.
Especially important in organizing
and modeling the behaviors of a
system.
11
Behavioral DiagramsSequence Diagram



A sequence diagram is an interaction
diagram that emphasizes the time
ordering of messages.
It shows a set of objects and the
messages sent and received by those
objects.
Used to illustrate the dynamic view of
a system.
12
Behavioral DiagramsCollaboration Diagram



A collaboration diagram is an
interaction diagram that emphasize
the structural organization of objects
that send and receive messages.
It shows a set of objects, links among
those objects, and messages sent
and received by those objects.
Used to illustrate dynamic view of a
system.
13
14
Behavioral DiagramStatechart Diagram




A statechart diagram shows a state
machine, consisting of states,
transitions, events, and activities.
Especially important in modeling the
behavior of an interface, class, or
collaboration.
It emphasizes the event-ordered
behavior of an object, which is
especially useful in modeling reactive
systems.
Illustrating dynamic view of a system.
15
Statechart Diagram (p.333)
Activity Diagram (p.259)
16
Behavioral DiagramsActivity Diagram




An activity diagram shows the flow
from activity to activity within a system.
It shows a set of activities, the
sequential or branching flow from
activity to activity, and objects that act
and are acted.
Especially important in modeling the
function of a system.
It emphasizes the flow of control
among objects.
17
Class Diagram

Class diagram commonly contains the
following things:





Classes
Interfaces
Collaborations
Dependency, generalization, and
association relationships.
It may also contains notes and
constraints, packages or subsystems
18
Class Diagram

Example:
19
Fig 8-1 p.106
Class Diagram

A well-structured class diagram




Focused on communicating one aspect
of a system’s static design view
Contain only elements that are essential
to understanding that aspect
Provides detail consistent with its level
of abstraction, with adornments that are
essential for understanding
Is not so minimalist that it misinform
readers about important semantics.
20
Class Diagram

When drawing a class diagram:





Give name communicating its purpose.
Layout elements with minimal cross line
Semantically close, lay out close.
Use notes and color to draw attention to
important features of system.
Try not to show too many kinds of
relationships.
21
An Example – ATM System


The ATM system.
Model collaboration
Identify the mechanism.
 Identify the classes, interface of
each mechanism.
 Use scenarios to walk through
these things.
 Populate these elements with their
contents.

22
An Example – ATM System
顧客
inputCard()
1..*
1
1
1..*
金融卡
checkCard()
checkPW ()
inputPW()
inputMoney()
櫃員機
1
1
密碼
getMoney()
金額
23
Object Diagram
24
Component Diagram
25
Deployment Diagram
26
Download