You are on page 1of 48

UML

Fundamental
By Nguyen Minh Quy - UTEHY

Ni dung
1

Gii thiu tng quan v UML

Mt s Case tool h tr UML

Mt s biu UML c bn

Ci t (nh x) biu

Gii thiu Visual Paradigm

1. Tng quan v UML


UML (Unified Model Language) l mt ngn ng
dng cho phn tch thit k hng i tng
(OOAD Object Oriented Analys and Design)
c duy tr v pht trin bi OMG (Object
Management Group), do Jacobson, Booch,
Rumbaugh sng lp. Ngoi ra cn c hng trm
cc tp on ln khc bo tr pht trin.
UML 2.0 c 13 loi biu th hin cc khung
nhn khc nhau (View) v h thng.
Cc biu UML cho ta ci nhn r hn v h
thng (c ci nhn tnh v ng)

1. Tng quan v UML....


Hin nay UML c s dng rt ph bin trong
cc d n phn mm.
UML th hin phng php phn tch hng i
tng nn khng l thuc ngn ng LT.
C rt nhiu cng c phn mm h tr phn tch
thit k dng UML.
Nhiu cng c c th sinh ra m t UML v ngc
li (t m thnh UML-Reverse Eng)
UML khng phi l ngn ng lp trnh !.
Phin bn mi nht ca UML l 2.1.2 (omg.org)

UML dng lm g ?
UML l mt ngn ng dng :
1.
2.
3.
4.

Trc quan ha (Visualizing)


c t (Specifying)
Xy dng (Constructing)
Vit ti liu (Documenting)

Trc quan ha-Visualizing


Dng tp cc k hiu ha phong ph biu
din h thng ang c nghin cu.
H thng k hiu u c ng ngha cht ch, c
th hiu bi nhiu cng c khc nhau.
Gip cho cc nh thit k, nh lp trnh khc
bit v ngn ng u c th hiu c.

UML l ngn ng cho c t - specifying


UML gip xy dng cc m hnh chnh xc, y
v khng nhp nhng.
Tt c cc cng on t phn tch, thit k cho
n trin khai u c cc biu UML biu din.
Use case (dng cho phn tch); Class,
Sequence, Activity... (cho thit k); Component,
Deployment (cho trin khai).

Xy dng - Constructing
Cc m hnh ca UML c th kt ni vi nhiu ngn
ng lp trnh. Tc l c th nh x cc m hnh
UML v mt ngn ng lp trnh nh C++, Java...
Vic chuyn cc m hnh trong UML thnh Code
trong ngn ng lp trnh Forward engineering
Vic chuyn ngc tr li code trong mt ngn ng
lp trnh thnh UML Reverse Engineering.
Cn cng c chuyn i xui & ngc

UML l ngn ng gip vit ti liu


Gip xy dng ti liu c t - requirements
Ti liu kin trc (architecture)
Ti liu thit k
Source code
Ti liu kim th - Test
Ti liu mu - Prototype
Ti liu trin khai Deployment ............

2. Mt s Case tool (Cng c) h tr UML

Rational Rose (ca hng Rational)


http://www-128.ibm.com/developerworks/downloads
/r/rsd/
?
Visual Paradiagm http://www.visual-paradigm.com
Microsoft Visio www.microsoft.com
Power designer http://www.sybase.com
Visual Case http://www.visualcase.com
Pacestar UML Diagrammer www.peacestar.com
..................................

3. Mt s biu UML c bn

Chiu cao

View 1

3. Mt s biu UML c bn

Chiu cao pha sau

View 2

3. Mt s biu UML c bn

View 3

3. Mt s biu UML c bn
1
Biu ca
s dng
Use Case
Diagram

Component

Deployment

Communication/
Collaboration

Timming

Interaction

State

3. Mt s biu UML c bn
1

Biu ca
s dng
Use Case
Diagram

Biu
Lp
Class
Diagram

Component

Deployment

Communication

3
4
M
t
cc
chc
nng
ca
M
t
cc
chc
nng
ca
Biu

Biu

h
thng
da
trn
quan
hTun
thngtda trnHot
quanng
im
ngi
s
dng.
im
ngi
s
dng.
Sequence
Activity
M
gia
M t
ts
s tng
tngtc
tc
gia
Diagram
Diagram
ngi
ngidng
dngv
vh
hthng.
thng.
Cho
Chobit
bith
h thng
thng c
c
s
sdng
dngnh
nhth
thno
no??

Collaboration

Timing

State

Use
case

Actor

Include

System

Extend

Generalization

Ch :
Khi no th v quan h <Include> (bao hm)
Use case A c gi l Include B nu trong x l ca A
c gi n B t nht 1 ln !
Minh ha thng qua Code
Class B { public void X () { .... } }
Class A {
Pubic void Y () {
B objB = new B(); objB.X (); ...
}
}

A
A
Include

B
B

Ch :
Khi no th v quan h <Extend> (m rng)
Use case B c gi l Exntend A nu use case B
c gi bi A nu tha mn iu kin no .
Minh ha thng qua Code
Class B { public void Inn () { .... } }
Class A {
A
A
Pubic void XemDSSV () {
... If (Click_Nt_Inn)
{ B objB = new B(); objB.Inn(); ...}....
}
}

Extend

B
B

Mt s hnh v ng

Mt s hnh v ng

Mt s hnh v sai

V quan h tng qut ha (tha k)


Khi no th v quan h <Generalization> (tng qut ha)
Use case A c gi l Generalization B nu B l mt
trng hp ring ca A !
Nu A Generalization B th code c dng nh th no
Class A {
....................
}
Class B : A
{
..................
}

A
A
Thanh
Thanh ton
ton
C
C
T/t
T/t bng
bng Sc
Sc

B
B

T/t
T/tbng
bng Credit
Credit

3. Mt s biu UML c bn
1

Biu ca
s dng
Use Case
Diagram

Biu
Lp
Class
Diagram

Component

Deployment

Communication

L
3
4 nht
Lbiu
biu
quan
quantrng
trng
nht
M
t
cc
i
tng
v
M
t
cc
i
tng
Biu
Biu v

mi
quan
h
ca
chng
mi
quan
chng
Tun
t h caHot
ng
trong
h
thng.
trong h thng. Activity
Sequence
Diagram
M
tnh
Mt
tcc
ccthuc
thucDiagram
tnhv
v
cc
cc hnh
hnh vivi(Behavior)
(Behavior) ca
ca
i
itng.
tng.
C
Cbiu
biu
lp
lpmc
mcphn
phn
tch
tch v
v mc
mcci
cit.
t.
Collaboration

Timing

State

Hai dng lp: phn tch v thit k

B qua cc chi tit


khng cn thit
Phi y & chi
tit cc thnh phn

Cc quan h trong biu lp


Quan h Generalization: Th hin rng mt lp
A k tha t mt lp B (Hay A l trng hp
ring ca B; B l tng qut ca A)
Gi l quan h L mt (Is a)
Th hin:

Cc quan h trong biu lp (2)


Quan h Aggregation: Th hin rng mt lp A
no bao gm lp B. Lp B ny c th tn ti
c lp m khng cn lp A.
Cn gi l mi quan h: C mt (Has a)
Th hin:

Cc quan h trong biu lp (3)


Quan h Composition: th hin rng mt lp A
bao hm lp B. Nhng lp B khng th tn ti
c lp (Tc khng thuc lp no). Tc l, nu
c B th phi suy ra c A.
Th hin:

ng s (Multiplicity)
Th hin rng ng vi mi lp A th c (cha,
dy, c, mua, t,...) bao nhiu phn t lp B?

Mt phn t lp A c 1 phn t lp B

ng s (Multiplicity)
Th hin rng ng vi mi lp A th c (cha,
dy, c, mua, t,...) bao nhiu phn t lp B?

A
Khch hng

0..3

B
Ti khon

Mt phn t lp A c ti a 3 phn t lp B
Mi phn t lp B c ng 1 phn t lp A

ng s (Multiplicity)
Th hin rng ng vi mi lp A th c (cha,
dy, c, mua, t,...) bao nhiu phn t lp B?

A
Khch hng

B
n hng

Mt phn t lp A c nhiu phn t lp B


Mi phn t lp B c ng 1 phn t lp A

ng s (Multiplicity)
Th hin rng ng vi mi lp A th c (cha,
dy, c, mua, t,...) bao nhiu phn t lp B?

A
Sinh vin

0..*

1..*

B
Kha hc

Mi sinh vin tham gia t nht 1 kha hc


Mi kha hc c th c 0 hoc nhiu sv tham gia

3. Mt s biu UML c bn
1
2
M
Mt
ts
stng
tngtc
tc

Biu
Biu
ca
cc
i
tng
theo
ca
cc
ica
tng
theo
st
dng
trnh
v
trnh
t
vthi
thigian.
gian. Lp
Case
Class
Use
C
s
lin
kt
cht
ch
C
s
lin
kt
cht
ch
Diagram
Diagram
vi
vibiu
biu
lp.
lp.
Mi
Mibiu
biu
tun
tunt
tm
m
t
tmt
mt tnh
tnhhung
hungx
x l.
l.

Component

Deployment

Communication

Biu
Tun t
Sequence
Diagram

Biu
Hot ng
Activity
Diagram

Collaboration

Timing

State

Object

Message

Return

Lifetime

Local
message

V biu tun t
Ch : c th v mt trong 2 dng

V d v sai !

3. Mt s biu UML c bn
1
Biu ca
s dng
Use Case
Diagram

Component

2
3
M
M t
tcc
cc lung
lungcng
cng
Biu

Biu

vic,
qui
v.
vic,
quitrnh
trnhnghip
nghip
v.
Lpt nh sTun
t
Tng

Tng t nh s
Class
Sequence
khi
(Flowchart).
khi (Flowchart).
Diagram
Diagram
H
Htr
trvic
vicm
mt
tcc
cc
x
xllsong
songsong.
song.

Deployment

Communication

Collaboration

4
4
Biu
Biu

Hot
Hot ng
ng
Activity
Activity
Diagram
Diagram

Timing

State

Mt s biu khc
Biu truyn thng: Communication diagram*
Biu tng tc: Interaction Diagram
Biu thi gian Timming diagram*
Biu trng thi State Diagram
Biu i tng Object Diagram
Bu gi - Package Diagram
Biu cu trc kt hp Composite Structured*
Biu thnh phn Component Diagram
Biu trin khai Deployment Diagram

nh x biu sang Code

nh x biu sang Code (2)

nh x khch hng- n hng

nh x biu tun t sang Code

Class B { public int Login(string UID, Pass)


{ ...............
}
MainApp
{

.... Nhp User name, password ....


B objB = new B ();
bool Result = objB.Login(UID, Password)
if (Result == true) ....

Contact me quynm@utehy.edu.vn/ nminhquy@yahoo.com

Aptech Computer Education

You might also like