Tải bản đầy đủ (.doc) (56 trang)

tìm hiểu về phân tích thiết kế hệ thống hướng đối tượng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (547.65 KB, 56 trang )


TRƯỜNG ĐẠI HỌC KINH TẾ - KỸ THUẬT CÔNG NGHIỆP




 !"#$%& '()*+ ) !,)-, .) /(0 12(03/!)14(05
67
89:;<
=>!;?<<?@<<
1
5 ABCD:9E
<5 F!(!.: 12(03/!)14(05
@5 #3!"+GHI (  12(03/!)14(05
;5 !2!) !.#(0I((0JC85
5 9CKC8
<58L+ MNOH3P!(0I((0JC8
@50I((0JI (  QH3/!)14(0C8
;5F+- F!(!.+RST()O(0C8
5 ::::9E5
<5F+S!"#3UC8
@5F+S12+: 12(03/!)14(05
D5 VV:9WD:9E5
2
PHẦN MỘT ABCD:9E
 8L+ MN& F))O!"(+GH: 12(03/!)14(05
 O12+( J(0(X7Y+ 1H3L(  ( ( J(0& 1R(0& F&OZO.)+ & '()*+ 
$=) !,)-, .) /(0) I(0)!(501P!)H['\]^(0 .) /(0) I(0)!(>)+F+ 
)_\)!.(5`( J(0(Xa3,((H\Y( !%#& 1R(0& F&& '()*+ $=) !,)-,
bc(b14)OH3P!5>)M/& 1R(0& F&3d314+MN]e(0+ 3,()f((0=\(H\Y
3Qb=+F+& 1R(0& F&& '()*+ $=) !,)-,+Q+g#)Oh+iV)O#+)#Oj](Hb\M!M


H(]kjM!0(j) ]l5F+& 1R(0& F&(=\( g)m#F()O(0+_(0>)& 1R(0
12(0)1]#\b=& '()*+ +Q+g#)Oh+5: 1R(0& F&& '()*+ ) !,)-,+Q+g#
)Oh+)OT!m#H) P!0!H(3d+ n(0)o314+)*( -!( 3!"(+GH(QY])*( )1]#\
( g)m#F($=+ p)+ qY( (+ #(0- I(0+c#-rY]sF&]e(0Y)#\( !t(+u(
v(+ ,- !F&]e(0$2!+F+ .) /(03H]v(0Y& n+)v&
 D=( J(0(X<wxY+F+(0I((0J 12(03/!)14(0( 1VHbb)Hb-$=yy[#g)
!.(5_(0$2!+ h(0Y(T\M!( ( #+c#I (  F+F+ .) /(0& c(%) j
12(03/!)14(05`( J(0(XwY>))O=b1#2!Yv( +F+& 1R(0& F&
& '()*+ ) !,)-, 12(03/!)14(0iSzj+)O!j()j](Hb\M!MH(]kjM!0(
j) ]l& F))O!"(Y+Q) "-"3,(
y+ +GHOH]\+
yiSzj+)]jb!(0j+ (!m#jl+GH{HjM|HSH#0
yV}iSzj+)O!j()j]V~)•HOj}(0!(jjO!(0l+GH$HO{H+SM(
€#M!(+GHj•bj)):H+-HO]
yH]$=•#O](
 ‚!& 1R(0& F&3%#+Q .) /(0-ƒ !.#Y& 1R(0& F&[Nbƒ$=+I(0+e ‚)O4
O!t(0Y+ h(03%#+Q1#3!"$=( 14+3!"O!t(0501P!MN]e(0- Q- X(3"
+ „(>)& 1R(0& F&& _ 4&5 *(  !.() ^+(=\3d314+( J(0(01P!)!t(
& (0)O(0b…( $^+I (  F 12(03/!)14(0( f(OH$= „m#\,)3L( )*+
4&( J(01#3!"+GH‚!& 1R(0& F&$=31HOH>)I ( ) /(0( g)+ 
b…( $^++I(0(0 .& c(%5D=-,)m#Tb=(0I((0JI (  4&( g)C8
iC(!~!j]]jb!(08H(0#H0jl314+3%[#g)$=(X<ww†S‡!OH]\+ Y$HO
{H+SM($={HjM|#SH#0 Y$=MH#3Q314+m#\+ #ˆ(S‡!( Qm#T()OL3/!
3
)14(0iSzj+)H(H0jj()O#&l5: !t(ST(C8<5<314++ g&( f(
$=) F(0<<?<wwa5C8<5;[#g) !.((X<www$=<5†$=) F(0@?@
  F!(!.: 12(03/!)14(05
<5 >)M/- F!(!.+RST(+GH 12(03/!)14(05
Đối tượng (object): >)3/!)14(0S!"#]!s(>)) ^+) "$f)bƒY>)) ^+
) "- F!(!. p+>)) ^+) "& c(%5Q) "3L( (0 …H>)3/!)14(0b=

>)- F!(!.YM^)O`#)14(0 p+>)$f)$2!0!2! v(OZO=(0$=+Qƒ(0 …H$2!
>)n(0]e(0+e) "5
Lớp (Class): b=I)T+GH>)( Q3/!)14(0+Q+ #(0+F+) #>+)*( Y
=( $!$=+F+/!m#H( .5 1$f\Y>)3/!)14(0b=) " !.(+GH>)b2&$=>)
b2&b=>)3L( (0 …H)O`#)14(0+GH3/!)14(05

Thành phần (component): b=>)& c(+GH .) /(0 v)3>(03>+bf&$=0!J
>)+ n+(X(0( g)3L( )O(0 .) /(05
  Gói (package): b= >) +F+  )‰ + n+ +F+ ) =(  & c(Y & c( )N )O(0 .
) /(0) =( +F+( Q5 !%#0Q!+Q) "314+-,) 4&$2!( H#3")O‡) =( >) .
) /(0+(iM#SM\M)jl5
Kế thừa: O(0& 1R(0& F& 12(03/!)14(0Y>)b2&+Q) "+QMN]e(0
bv!+F+) #>+)*( $=& 1R(0) n++GH>) p+( !%#b2&- F+5!"#m#H( .(=\
0„!b=m#H( .-,) `HY314+['\]^(0]^H)Ot(/!m#H( .-,) `H)O(0S=!)F(
) ^+),5D*]eY0!T!MN)H+Q b2&Người 0U+F+) #>+)*(  tên, ngày sinh, quê
quán, giới tính Š82&Nhân Viên +Qm#H( .-,) `H)`b2&Người Mq+Q)g)+T +F+
) #>+ )*(  )Ot( $= S‰ M#(0 ) t +F+ ) #>+ )*(  2! 0U chức vụ, lương.
Du(03P!& F))O!"(& c(% 12(03/!)14(0+‹(0+Q+F+& H)1R(0)^( 1
+F+$u(0 3P! & F) )O!"( & c( % (Q! + #(05 F+ & H +R ST( 3p+ )O1(0 )O(0
& F))O!"(& c(% 12(03/!)14(0SH0U
yPhân tích hướng đối tượng: ['\]^(0>)I ( + *( [F+3"I)T
.) /(0 +c( ['\ ]^(0b= 05  =(  & c(+GH I (  (=\ b= +F+ 3/! )14(0 0Œ(
$2! .) /(0) ^+5
y
Thiết kế hướng đối tượng: 8=0!H!3v()‰+ n++ 1R(0)O( ) =( +F+
)f& 4&3/!)14(0+>(0)F+Y ‚! 3/!)14(0)O(03Qb= ) ^+ ) "+GH>)b2&5
,)m#T+GH& H) !,)-,+ S!,) .) /(0Mq314+['\]^(0( 1) ,(=m#H
4
+F+ST() !,)-,-!,()Oh+$=) !,)-,+ !)!,)5
y

Lập trình và tích hợp:  ^+ !.(ST() !,)-, 12(03/!)14(0S•(0+F+
MN]e(0+F+(0I((0Jbf&)O(  12(03/!)14(0iyyY{H$HYŽl
 Hướng đối tượng b=) #f)(0J) I(0]e(0 !.() P!+GH(0=( +I(0(0 !.&
& c(%5F++I(0)\3H(0( H( + Q(0)+F+ F&]e(0$=)*+  4&+I(0(0 .
2!(=\$=+F+n(0]e(0+GH „5 f)M^b=3H& c(+F+n(0]e(0 !.() P!3%#
H(0)*(  12(03/!)14(05 1(0 12(03/!)14(0+Q(0 …Hb=0•
8/!)!,&+f( 12(03/!)14(0b=>)b/!)1]#\$%$g(3%) jb/!F( [v+F+
) =( & c()O(0S=!)F($=+F+3/!)14(0(0=!3P!) ^+5D2!b/!)!,&+f((=\Y
+ h(0)H+ !Hn(0]e(0) =( +F+) =( & c(( oY0„!b=+F+3/!)14(0Y+ h(0)1R(0
3/!3>+bf&$2!( H#5VH#3Q)H+Q) "['\]^(0n(0]e(0S•(0+F+ + Œ&+F+3/!
)14(03Qbv!$2!( H#5d\(0 …3,()Ou+ R!['\b'#3=!S•(0+F+•#0‚512+3c#
)!t(b=)v H\#H>)$=!bv!•#0‚+X(ST(Y)`3Q)v(t(+F+- /!['\]^(0+X(
ST(+GH( 5>)- !3d+Q+F+- /!['\]^(03QYSv(+Q) "+ Œ&OF&+ h(0bv!$2!
( H#3")vb'#3=!51R(0)^( 1$f\>)- !3d['\]^(0>)M/3/!)14(0+X(ST(
)O(0) ,0!2!F\)*( YSv(+Q) "+ Œ&+ h(0bv!$2!( H#3")vn(0]e(0+GH
( 5
‘!(bg\>)$*]e3R(0!T($g(3%Oh))!%(p))v!( =SX(05F+’•#0‚’
) =( & c(‡3'\Mqb=F( [v+GH+F+3/!)14(0(0=!3P!) ^+( 1)=!- T(Y( '(
$!t(Y- F+  =(0YŽD=n(0]e(0Mq314+Mq314+( f(]!.(+‹(0( 10!T!3F&[H\
m#H( +F+3/!)14(03Q5
 Phương pháp hướng đối tượng:
 F+ $2! & 1R(0 & F& 12(0 +g# )Oh+ + “ )f& )O#(0 p+ $= ]J b!.#
p+ $= =( 3>(0Y& 1R(0& F& 12(03/!)14(0)f&)O#(0$=+T H!- *H+v(
+GH .) /(0b=]Jb!.#$= =( 3>(05
F+ )!,&+f( 12(03/!)14(0b=>)b/!)1]#\) j+F+ F( [v+F+) =(
& c()O(0S=!)F($=+F+3/!)14(0(0=!3P!) ^+5D2!+F+ )!,&+f((=\Y>) .
) /(0314++ !H)1R(0n(0) =( +F+) =( & c(( o0„!b=+F+đối tượngY‚!3/!
)14(0SH0U3c\3G+T ]J b!.#$= =(  3>(0b!t(m#H(3,(3/!)14(03Q5F+
3/! )14(0)O(0 >) .) /(0 )1R(0 3/! 3>+ bf& $2! ( H# $= & c(% Mq314+
['\]^(0S•(0+F+ -,) 4&+F+3/!)14(03Qbv!$2!( H#) I(0m#H+F+/!m#H(

. $= )1R(0)F+ 0!JH + h(05F+ (0#\t()Œ++R ST(+GH & 1R(0& F& 12(03/!
)14(0SH0U

Trừu tượng hóa (abstraction): )O(0& 1R(0& F& 12(03/!)14(0Y+F+
) ^+) "& c(%314+I (  QH]12!]v(0+F+3/!)14(05F+3/!)14(0(=\
5
314+)O`#)14(0 QH‡n++H R(]^H)Ot() #>+)*( $=& 1R(0) n+I)T3/!
)14(03")v) =( +F+b2&5F+b2&+‹(0Mq314+)O`#)14(0 QH‡n++H R(
(JH 3" )v ) =(  >) MR 3U +F+ b2&314+-,) `H b•( ( H#5 O(0& 1R(0& F&
12(03/!)14(0+Q) ")U()v!( J(0b2&- I(0+Q3/!)14(0)1R(0n(0Y0„!b=lớp
trừu tượng.  1$f\Y(0#\t()Œ++RST(3"['\]^(0+F+- F!(!.)O(0 12(03/!
)14(0b=M^)O`#)14(0 QH) j+F+n+3>- F+( H#5

Tính đóng gói (encapsulation) và ẩn dấu thông tin: +F+3/!)14(0+Q
) " +Q( J(0& 1R(0) n+ p+) #>+)*( O!t(0ikiểu privatel=+F+3/!)14(0
- F+- I(0) "MN]e(0314+5k^H)Ot((0#\t()Œ+ˆ(0!g#) I(0)!((=\Y+=!3p)
+GH+F+3/!)14(0Mq =()=(3>+bf&$2!+F+3/!)14(0- F+Y+F+b2&3>+bf&$2!
( H#$=+H R((JHb=+=!3p)+GH .) /(0 =()=(3>+bf&$2!(01P!MN]e(0
+‹(0( 1+F+ .) /(0- F+MN]e(0-,)m#T+GH(Q5
Tính modul hóa (modularity): +F+ S=! )F( Mq 314+ & '( + !H ) =(
( J(0$g(3%( o R(Y3R(0!T($=m#T(bƒ314+5
Tính phân cấp (hierarchy): +g#)Oh++ #(0+GH>) .) /(0 12(03/!
)14(0b=]v(0& '(+g&) j+F+n+3>)O`#)14(0)`+H3,() g&5
II. GIỚI THIỆU NGÔN NGỮ UML
1.Lịch sử ra đời ngôn ngữ UML
D!.+F&]e(0O>(0Od!& 1R(0& F& 12(03/!)14(03d3p)OH\t#+c#
+c(& T!['\]^(0>)& 1R(0& F&I (  QH3"+Q) "MN]e(0( 1>)+ #ˆ(
+ #(0+ ( J(0(01P!& F))O!"(& c(% 12(03/!)14(0)Ot(- Œ&) ,0!2!5
O(0- ! +F+ (0I( (0J 12(0 3/! )14(0 OH 3P! - F M2Y $* ]e ( 1 V!#bH7a
i(X

<w7alYVHbb)Hb-i3c#( J(0(X<wxlYyyY8Vi0!JH( J(0(X<wxlŽ) 
( J(0& 1R(0& F&b#f(+ & F))O!"( 12(03/!)14(0bv!OH3P!- F#>(5#/!
( J(0(XxY3c#( J(0(X<wwY>)bv)+F+& 1R(0& F&b#f($=(0I((0J
I (  QH 12(03/!)14(02!OH3P!Y( 1+ +GHOH]\+ Y+GH
{HjM |HSH#0 Y V} +GH $HO {H+SM(Y H\ H(] k +GH H] $=
•O](5
‚! & 1R(0& F& b#f( $= (0I((0J)Ot(3%# +Q . ) /(0-ƒ !.# O!t(0Y& 1R(0
& F&[NbƒO!t(0$=+I(0+e ‚)O4O!t(05 *( 3!%#(=\3d) h+3ˆ\( J(0(01P!
)!t(& (0)O(0b…( $^+I (  F 12(03/!)14(0(0U!bv!+_(0( H#3")*+
4& ( J(03!" v(  +GH ‚! & 1R(0& F& $= 31H OH >) I ( ) /(0 ( g)
6
+ #(05‚ b^+ ) /(0( g)3c#)!t(SŒ)3c#- !|#SH#0  0!H ( f&( Q(0 !t(
+n#+GH+ )v!)f&3=(|H)!(Hb(X<ww†$=MH#3Q{H+SM(+‹(00!H( f&
( Q(=\$=(X<ww”5
{HjM|#SH#0 YOH]\+ $=$HO{H+SM(3d+_(0+/0Œ(0['\]^(0
314+ >) 0I( 0J I (  F  /(0  g) $= 3p) )t( b= C8 iC(!~!jb]
]jb!(08H(0#H0jli( @5<l5C83c#)!t(314+31HOH(X<wwa$=MH#3Q
314++ #ˆ( F3")O‡) =( & !t(ST(<55!.((H\+ h(0)H3H(0MN]e(0(0I(
(0J
C8& !t(ST(@55
2.Ngôn ngữ mô hình hóa đối tượng UML
C8iC(!~!j]]jbb!(08H(0#H0jlb=(0I((0JI (  F)‰(0m#F)
314+['\]^(03"3p+)TY& F))O!"($=$!,))=!b!.#+ +F+- *H+v( )O(0& F))O!"(
& c(% 12(03/!)14(05C80!h&(01P!& F))O!"( !"#OZ$=OHm#\,)3L(
b!t(m#H(3,(& c(%+c(['\]^(05C8SH0U>))f&+F+- F!(!.Y+F+
-ƒ !.#Y+F+S!"#3U$= 12(0]•(5
C8 ‚)O4['\]^(0 .) /(0 12(03/!)14(0]^H)Ot($!.+(ŒSŒ)
7
- *H+v( +g#)Oh+)…( $=+F+ =( $!3>(0+GH .) /(05
F++g#)Oh+)…( 3L( (0 …H+F+-!"#3/!)14(0m#H()O„(0+GH .) /(0Y

( •+=!3p)$=+ “OH/!m#H( .0!JH+F+3/!)14(03Q5
F+ =( $!3>(0i]\(H!+Sj H$!Ol3L( (0 …H+F+ v)3>(0+GH+F+
3/!)14(0) j) P!0!H($=)1R(0)F+0!JH+F+3/!)14(0 12(0)2!
3
*+ 5
 F+e+3*+ +GH(0I((0JI (  F) /(0( g)C8
y
I (  F+F+ .) /(0MN]e(0+F+- F!(!. 12(03/!)14(05
y
 !,)bf&M^b!t( .)`( f() n++GH+((01P!3,(+F+M^-!.(+c(I
(  F5
y
!T!m#\,)$g(3%$%n+3>) `H-,)O(0+F+ .) /(0& n+)v&$2!( !%#
O=(0S#>+- F+( H#5
y
v>)(0I((0JI (  F+Q) "MN]e(0314+S‡!(01P!$=F\5
C8
m#\
3L( >)bv)+F+-ƒ !.#$=m#\)Œ+3"I (  F+F+& H)O(0m#F
)O( & F))O!"(& c(% 12(03/!)14(0]12!]v(0+F+S!"#3U5
3. Khái niệm cơ bản trong UML
a)Khái niệm mô hình
I ( b=>)S!"#]!s(+GHM^$f) H\>))f&+F+M^$f))O(0>)b…(
$^+F&]e(0(=3Q) j>)+F+ - F+5I ( ( •(ŒSŒ)+F+- *H+v( m#H(
)O„(0+GHM^$f)YSom#H+F+- *H+v( - I(0m#H()O„(0$=S!"#]!s() j>))f&
-ƒ !.# $= m#\ )Œ+ (= 3Q5 F+ I (  ) 1P(0 314+ ['\ ]^(0 MH +  +Q ) "
$q314+) =( +F+S!"#3U]^H)Ot()f&-ƒ !.#$=m#\)Œ+3d+ 5
 !['\]^(0+F+ .) /(0YI ( 314+MN]e(0( •) Td(+F+e+
3*+ MH#
 ŒSŒ)+ *( [F+\t#+c#$=)O!) n+!%(= .) /(0+c(& F))O!"(

  " Lt()1]#\$%) !,)-, .) /(0
 O40!h&OHm#\,)3L( ) !,)-,]^H)Ot($!.+& '()*+ \t#+c#
 ‰+ n+Y)-!,Yb„+Y-!")OH$=MNH3‰!) I(0)!($%+F+ .) /(0
b2(5
 8=+ G314++F+ .) /(0& n+)v&
F+) =( & c()O(0>)I ( SH0U
 0J(0 …H$=S!"#]!s(0J(0 …Hb=( •31HOHƒ(0 …HYST(+ g)
$= +F+ )*(  + g) +GH )f& +F+ -ƒ !.#5 !"# ]!s( b= & 1R(0 & F& ) "
8
!.(I ( ) j+F+ MH+ +Q) "( () g\314+5
 0J+T( I)T)‰+ n+St()O(0Y+F+ MN]e(0I ( )O(0)!,(
)O( & c(%Ž
b)Các hướng nhìn (View) trong UML
F+I ( )O(0C8( •e+3*+  ‚)O4& F))O!"(+F+ .) /(0
& c(% 12(03/!)14(05O(0& 1R(0& F&b#f( 12(03/!)14(0- I(0
+QM^& '(S!.)Ov+ Ou!0!JH+F+& H H\+F+S12+5#\( !t(Y) I(0) 1P(0
C8$•(314++ !H) =( >)M/ 12(0( ($=( !%#bv!S!"#3U5
Một hướng nhìn trong UML là một tập con các biểu đồ UML được xây dựng
để biểu diễn một khía cạnh nào đó của hệ
thống.
V^& '(S!.)0!JH+F+ 12(0( (b=Og)b!(  v)5Q) "+Q( J(0S!"#
3UC8+Qp))O(0+T H! 12(0( (5F+ 12(0( (+_(0+F+S!"#3U
)1R(0n(0314+I)T)O(0ST(0MH#
Khía cạnh
chính
Hướng nhìn Các biểu đồ Các khái niệm chính
Khía cạnh
cấu trúc hệ
thống
12(0( ()…( iM)H)!+

$!j•l
!"#3Ub2& b2&Yb!t( .Y-,) `HY& e
) #>+Y0!H]!.(
12(0 ( ( #Mj +HMj
iCMj+HMj$!j•l
!"# 3U #Mj
+HMj
CMj +HMjY )F+ ( '(Y b!t( .Y
j[)j(]Y!(+b#]jŽ
12(0 ( ( +=! 3p)
i!&bjj()H)!($!j•l
!"# 3U) =(
& c(
 =( & c(Y0!H]!.(Ym#H(
.& e) #>+Ž
12(0 ( ( )O!"( - H!
i]j&b\j()$!j•l
!"#3U)O!"(
- H!
]jY ) =( & c(Ym#H( .
& e) #>+Y$L)O*ib+H)!(l
Khía cạnh
động
12(0 ( ( F\ )Ov(0
) F!iM)H)jH+ !(j$!j•l
!"# 3U )Ov(0
) F!
Ov(0 ) F!Y M^ -!.(Y + #\"(
)!,&Y =( 3>(0
12(0 ( ( v) 3>(0

iH+)!$!)\$!j•l
!"#3U3>(0 Ov(0 ) F!Y M^ -!.(Y + #\"(
)!,&Y-,) 4&Y3U(0S>Ž
12(0 ( ( )1R(0 )F+
i!()jOH+)!($!j•l
!"# 3U )#c(
)^
1R(0)F+Y3/! )14(0Y) I(0
3!.&Y-*+  v)Ž
!"#3U+>(0
)F+
>(0 )F+Y $H! )Ou +>(0 )F+Y
) I(03!.&Ž
9
Khía cạnh
quản lý mô
hình
12(0 ( ( m#T( bƒ I
(
!"#3Ub2& Q!Y .) /(0+(YI (
Khía

cạnh
khả năng
mở rộng
g)+T g)+T F+ O=(0 S#>+Y
M)jOj)\&jYŽ
Bảng 3.1: Các hướng nhìn trong UML
c. Biểu đồ (Diagram)
!"#3Ub=S!"#]!s(3U „H)f&+F+-ƒ !.#& c()NI (  QH314+)‰+ n+

) jm#\3L( b!t(-,)+F+& c()NI ( +GH(0I((0J5C8+Q)g)+Twbv!S!"#3U
- F+( H#314+MN]e(0-,) 4&3"S!"#]!s( .) /(0) j( !%# 12(0( (Y- *H+v(
- F+( H#YSH0U
!"#3U)O1P(0 4&MN]e(0iCMjHMjk!H0OHl
F+S!"#3U =( $!ij H$!Ok!H0OHlSH0U
y  !"# 3U)1R(0)F+i()jOH+)!(  k!H0OHl  b= S!"#  3U)O(  )^  iVjm#j(+j
k!H0OHl
$=S!"#3U+>(0)F+ibbHSOH)!(k!H0OHl
y!"#3U)Ov(0) F!iV)H)jk!H0OHl$=S!"#3U v)3>(0i+)!$!)\k!H0OHl
!"#3Ub2&ibHMMk!H0OHl$=S!"#3U3/!)14(0iSzj+)k!H0OHl
  !"#  3U  ) =(  & c(  i&(j()  k!H0OHl  $=  S!"#  3U  )O!"(  - H!  ikj&b\j()
k!H0OHl
d. Phần tử mô hình hóa (Model Element)
F+-ƒ !.#314+MN]e(0)O(0+F+S!"#3U314+0„!b=+F+& c()NI ( Y) "
!.(+F+- F!(!. 12(03/!)14(0m#j() #>+5D*]e( 1)F+( '(Y+ n+(X(0Yb2&Y3/!
)14(0Y)Ov(0) F!Y0Q!Y) I(03!.&555$=+F+m#H( .0!JH+ h(0( 1-,) 4&Y& e) #>+Y
- F!m#F) QH555>)& c()NI ( ) 1P(0314+MN]e(0)O(0( !%#S!"#3U- F+
( H#Y( 1(0(Qb#I(b#I(+Q+ “>)(0J(0 …H$=>)-ƒ !.#Y$=+‹(0+Q( J(0
(0#\t()Œ+[F+3L( bv!& c()N(=+Q) "+ “314+MN]e(0)O(0S!"#3U(=
e. Cơ chế mở rộng UML và ngôn ngữ ràng buộc đối tượng
C8+Q) "314+‡O>(0 p++Q) "314+MNH3‰!3"& _ 4&$2!>))‰+ n+
+e  ) "  H\  >)  (01P!  ]_(0  +e  ) "5  R  + ,  ‡  O>(0 C8  0U  +Q  - #I( •#
iV)jOj)\&jl$=O=(0S#>+i(M)OH!()l5
R+ ,‡O>(0S‡!- #I(•#3L( (0 …H>)bv!& c()NI ( 2!]^H
)Ot(>)& c()NI ( 3d)U()v!Y H\& '(( Q& c()NI ( 50I((0JC8
+Q+ nH>)M/b14(0b2(+F+- #I(•#314+3L( (0 …HM•($=+ h(0314+MN]e(03"
MNH3‰!+F+& c()NI ( M•(+QY) H\+ $!.+& T!3L( (0 …H =()=(2!5R+ ,
(=\0!h&0(0!J)*( 3R(0!T(+GH(%()T(0(0I((0JC85
10
Ví dụ:`- FV)jOj)\&j3"& '(( Qb2&Y) #>+)*( Y H\) H)F+Y314+3p))O(0

]g#–—0c()t(b2&Y) #>+)*(  H\) H)F+5 ˜(0 v(V)jOj)\&j+GHb2&b=–Szj+)
)\&j— H\–$HOOH\—
|=(0S#>+i(M)OH!()lb=>)M^0!2! v(MN]e(0 p+ƒ(0 …H+GH>)& c()N5
|=(0S#>+ p+Mq314+- H!SF$=314+MN]e(0( !%#bc()O(0Og)( !%#S!"#3U
- F+( H#Y H\314+3L( (0 …H$=MN]e(0)O(0+ “>)S!"#3U5
C8- I(0+#(0+g&(0I((0JI)TO=(0S#>+5#\( !t(YMN]e(0(0I((0J
)^( !t(3"I)TO=(0S#>++Q) ")O‡(t(( f&( •(0Y- I(0+ *( [F+5D) ,C8
+   & ™& SH0U  ) t  (0I((0JO=(0  S#>+ 3/!)14(08  iSzj+)  (M)OH!()
8H(0#H0jY314+3p+)T)O(0>)& ebe++GH3p+)TC8Y<wwwHl3"S!"#]!s(
O=(0S#>++ *( [F+ R(58314+) !,)-,( 1>)(0I((0J ( ) n+]s3„+$=
+#(0+g&M^3p+)T+ *( [F+=- I(0m#F- Q)O(0['\]^(0$=0!T!) *+ 5
8314+) !,)-,3"+#(0+g&>)+F+ ) n+OZO=(0I)T+F+m#\)Œ+$% =(
$!+GH+F+& c()N)O(0I ( C8Y3"[F+3L( + *( [F+ =( $!+GH& c()NI
( 5F+O=(0S#>+Mq314+0 !( f()Ot()=(S>+F+\t#+c#$=+F+0!H!3v(& '(
)*+ 5VH#3Q+F+O=(0S#>+314++ #\"(MH(0) !,)-,$=314++=!3p)+  .) /(0
 ˜(0 v(O=(0S#>+]_(03"
‘F+3L( +F+)!%(3!%#-!.(i:Oj(]!)!(l$= f#3!%#-!.(i:M)(]!)!(l+ 
+F+CMjHMjYb!.)-t+F+3!%#-!.(+c(314+) ^+ !.(- !CMjHMj- ‡!3>(0Y
$=3!%#-!.(314+) ^+ !.((0H\MH#- !-,)) h+CMjHMj
I)T+F+O=(0S#>++ +F+b2&)O(0S!"#3Ub2&
Ví dụ:
|=(0S#>++ >)b2& H( D!j()O(0>) .) /(0 šjSb=)#‰!+GH) =( $!t(
3X(0-ƒ& T!b2( R(<x5|=(0S#>+(=\F&]e(0+ )g)+T+F+) " !.(+GHb2&(=\
|=(0S#>+>)b2&3"+ S!,)b2&b=b2&)O`#)14(0
|=(0S#>++#(0+g&>)M/) I(0)!()t()F+0!TY(0=\)vYMNH+ NHŽ
|=(0S#>++ b2&b=+F+0!F)OL3*( -›iH00j]DHb#jl]v(0+ #‚!-ƒ)^3p)
)O(0+p&]g#(0p+Q+œ•Y314+3p)0c()t(b2&5H\+Q) "3p)>)O=(0S#>+)O(0
>)0 !+ h3*( -›b2&5
Ví dụœSM)OH+)YH#) Ož’Ÿ•
œ]H)jž<@?<?@7Y

M)H)#Mž]OH~)•
O(0+F++ 1R(0MH#Y(0I((0JO=(0S#>+3/!)14(0314+)O( S=\S‰M#(0+ 
+F+-ƒ !.#$=(0J(0 …H+F+) =( & c(+GH+F+S!"#3UC8
4. Các biểu đồ UML.
 =( & c(I ( + *( )O(0C8b=+F+S!"#3U
 Biểu đồ use case S!"#]!s(MR3U+ n+(X(0+GH .) /(05`)f&\t#+c#+GH
.) /(0YS!"#3U#Mj+HMjMq& T!+ “OH .) /(0+c() ^+ !.(3!%#03") T
d(+F+\t#+c#+GH(01P!]_(0 .) /(03Q5!-›$2!S!"#3U#Mj+HMjb=
+F+-L+ ST(5
 Biểu đồ lớp + “OH+F+b2&3/!)14(0)O(0 .) /(0Y+F+) #>+)*( $=& 1R(0
11
) n++GH)`(0b2&$=+F+/!m#H( .0!JH( J(0b2&3Q5
 Biểu đồ trạng thái )1R(0n(0$2!‚!b2&Mq+ “OH+F+)Ov(0) F!=3/!)14(0
+GHb2&3Q+Q) "+Q$=M^+ #\"()!,&0!JH( J(0)Ov(0) F!3Q5
 Các biểu đồ tương tác S!"#]!s(/!b!t( .0!JH+F+3/!)14(0)O(0 .) /(0
$=0!JH+F+3/!)14(0$2!+F+)F+( '(St((0=!5Q H!bv!S!"#3U)1R(0
)F+
Biểu đồ tuần tự: !"#]!s(/!m#H( .0!JH+F+3/!)14(0$=0!JH+F+
3/!)14(0$=)F+( '() j) n)^) P!0!H(5
Biểu đồ cộng tác: !"#]!s(/!m#H( .0!JH+F+3/!)14(0$=0!JH+F+
3/!)14(0$=)F+( '(( 1(0( g(v( 3,($H!)Ou+GH+F+3/!)14(0
)O(0)1R(0)F+5
 Biểu đồ hoạt động S!"# ]!s( +F+ v)3>(0 $= M^ 3U(0S>Y + #\"( )!,& +F+
v)3>(0Y) 1P(0314+MN ]e(03"S!"#]!s(+F+ & 1R(0) n+ & n+)v&+GH
+F+b2&5
 Biểu đồ thành phần 3L( (0 …H+F+) =( & c(+GH .) /(0$=/!b!t( .
0!JH+F+) =( & c(3Q5
 Biểu đồ triển khai I)T .) /(0Mq314+)O!"(- H!( 1) ,(=Y) =( & c(
(= 314++=! 3p)‡ 3'#Y +F+ b!t( -,) $f) bƒ p+ 0!H ) n+ )O#\%( ) I(0(=
314+MN]e(05

k^H)Ot()*( + g)+GH+F+S!"#3UYC8+ !H+F+S!"#3U) =(  H!b2&I (
<

¡
Biểu đồ mô hình cấu trúc (Structural Modeling Diagrams): S!"# ]!s(
+F++g#)Oh+)…( +GH .) /(0& c(%314+I (  F5F+S!"#3U
)O(0 I (  )…(  )f& )O#(0 S!"# ]!s( - *H +v(  )…(  +GH . ) /(0Y b!t(
m#H(3,(+g#)Oh++RST(+‹(0( 1+F+& c()N+ *( )O(0!%(m#H()'
+GHS=!)F(5F+S!"#3U)O(0I ( )…( SH0U
 !"#3U0Q!
 !"#3U3/!)14(0$=b2&
 !"#3U) =( & c(
 !"#3U)O!"(- H!
¡
Biểu đồ mô hình hành vi (Behavioral Modeling Diagrams): Œ SŒ)
3,(+F+ v)3>(0$= =( $!+GH .) /(0Y+‹(0( 1)1R(0)F+0!JH+F+
& c()NSt()O(0$=St((0=! .) /(05F+]v(0S!"#3U)O(0I (
3>(0SH0U
 !"#3U#Mj+HMj
12
 !"#3U)1R(0)F+]v(0)#c()^
 !"#3U)1R(0)F+]v(0+>(0)F+
 !"#3U)Ov(0) F!
 !"#3U3>(0
 h(0)HMqbc(b14)[j[™)+ !)!,)+F+S!"#3UC8Y‚!S!"#3UMq314+)O( 
S=\ƒ(0 …H+GH(QY)f&-* !.#C8+ S!"#3U3Q$=>)$*]e5
4.1. Biểu đồ use case
a) Ý nghĩa
Biểu đồ use case S!"#]!s(MR3U+ n+(X(0+GH .) /(05`)f&\t#+c#+GH .
) /(0YS!"#3U#Mj+HMjMq& T!+ “OH .) /(0+c() ^+ !.(3!%#03") Td(

+F+\t#+c#+GH(01P!]_(0 .) /(03Q5!-›$2!S!"#3U#Mj+HMjb=+F+-L+
ST(iM+j(HO!l5Q) "(Q!YS!"#3U#Mj+HMj+ “OHM^)1R(0)F+0!JH+F+tác nhân
$= .) /(0) I(0m#H+F+#Mj+HMj5
‚!use case I)T>)+ n+(X(0= .) /(0+c(& T!+Q[™))`m#H(3!"
(01P!MN]e(05Tác nhân b=+((01P! H\ .) /(0) ^+- F++#(0+g&) I(0)!(
H\)F+3>(0)2! .) /(05
>)biểu đồ use case b=>))f& 4&+F+)F+( '(Y+F+#Mj+HMj$=+F+/!
m#H( .0!JH+ h(05F+#Mj+HMj)O(0S!"#3U#Mj+HMj+Q) "314+& '(Od) j
( !%#n+- F+( H#5
b) Tập ký hiệu UML cho biểu đồ use case
>)S!"#3UCMjHMj+ nH+F+& c()NI ( S!"#) L .) /(0Y)F+( '(+‹(0
( 1+F+)O1P(0 4&MN]e(0$=+F+/!m#H( .0!JH+F+CMjHMj5 h(0)HMq
bc(b14)[j[™)+F+& c()NI ( (=\
HlHệ thốngD2! $H! )Ou b= ) =(  & c(+GH S!"# 3U #Mj +HMjY .) /(0 S!"#
]!s(OH( 0!2!0!JHSt()O(0$=St((0=!+GH>)+ G) ")O(0& c(%
+ h(0)H3H(0['\]^(05 hƒO•(0>) .) /(0‡)O(0S!"#3U#Mj+HMj
- I(0& T!SH0!P+‹(0( g)) !,)b=>) .) /(0& c(%Š(Q+Q) "b=
>) + !,+ F\Y p+ b= >) . ) /(0 ) ^+ i( 1 >) ]H( (0 !.&Y >)
)O1P(03v! „+YŽl5
SlTác nhân (actor): b=(01P!]_(0+GH .) /(0Y>))F+( '(+Q) "b=>)
(01P!]_(0) ^+ p++F+ .) /(0F\)*( - F++Q$H!)Ou(=3Q)O(0
v)3>(0+GH .) /(05 1$f\Y)F+( '() ^+ !.(+F+#Mj+HMj5>))F+
( '(+Q) ") ^+ !.(( !%##Mj+HMj$=(014+bv!>)#Mj+HMj+‹(0+Q) "
314+) ^+ !.(S‡!( !%#)F+( '(5
13
+lCác use case: '\b=) =( & c(+RST(+GHS!"#3U#Mj+HMj5F+#Mj+HMj
314+S!"#]!s(S‡!+F+ ( jb!&5t(+F+#Mj+HMj) " !.(>)+ n+(X(0
[F+3L( +GH .) /(05
]lMối quan hệ giữa các use case: 0!JH+F+#Mj+HMj+Q) "+Q+F+/!m#H(
.( 1MH#

 Include: #Mj+HMj(=\MN]e(0bv!+ n+(X(0+GH#Mj+HMj-!H5
 Extend: #Mj+HMj(=\‡O>(0)`#Mj+HMj-!HS•(0+F+ ) t$=>)
+ n+(X(0+e) "5
 Generalization: #Mj+HMj(=\314+-,) `H+F++ n+(X(0)`#Mj+HMj-!H5
F+& c()NI ( #Mj+HMj+_(0$2!ƒ(0 …H$=+F+ S!"#]!s(+GH(Q
314+
)‰(0-,))O(0ST(0@5@5
Phần tử mô
hình
Ý
nghĩa
Cách biểu diễn Ký hiệu trong bi
ểu
đồ
CMj+HMj !"#]!s(>)+ n+
(X(0 [F+ 3L(  +GH .
) /(0
( jbb!& + nH
)t(+GH#Mj+HMj
F+( '( 8= >) 3/! )14(0 St(
(0=! . ) /(0  )1R(0
)F+)O^+)!,&$2!+F+
#Mj+HMj
!"#]!s(S‡!>)
b2& -!"# H+)O
i (  (01P!)14(0
)O1(0l

H+)O
/! m#H( .

0!JH +F+ #Mj
+HMj
_\)`(0]v(0m#H( . }[)j(]$=!(+b#]j
+Q]v(0+F+‹!
)t(3n)(™)
j(jOHb!¢H)!( +Q
]v(0 ‹! )t( )H
0!F+5
££j[)j(]¤¤
££!(+b#]j¤
!t( +GH .
) /(0
F+ S!.) & c( St(
)O(0 $= St( (0=! .
) /(0
14+ S!"# ]!s(
S2! >) (  + J
( f)O‚(05
Bảng 4.1: Các phần tử mô hình trong biểu đồ use case
Ví dụ biểu đồ use
case
14
CMj+HMj(Hj
8-b-b-b
k12!3'\b=>)#Mj+HMj+  .) /(0m#T(bƒ) 1$!.(3R(0!T(501P!m#T(
)OL) 1$!.(i) G) 1l) I(0m#H3X(0( f&3") ^+ !.(f&( f)) I(0)!($=
B#T(bƒ+F+0!H]L+ 14()OTMF+ 5 v( 3„++ “+Q) ") -!,Y)OH+n#
) I(0)!(MF+ 5 n+(X(0)-!,MF+ 314+]_(0( 1>)& c()O(0+ n+
(X(0f&( f)$=B#T(bƒ14(MF+ (t(+ h(0)HMN]e(0m#H( .!(+b#]j5
Cap

nhat
<<include>>
Thu
thu
Dang
nhap
<<include>>
Tim
kiem
Ban
doc
15
8-b-b-b
4.2 Biểu đồ lớp
a) Ý nghĩa
O(0& 1R(0& F& 12(03/!)14(0Ymột nhóm đối tượng có chung một số thuộc
tính và phương thức tạo thành một lớp. /!)1R(0)F+0!JH+F+3/!)14(0)O(0 .
) /(0Mq314+S!"#]!s() I(0m#H/!m#H( .0!JH+F+b2&5
Các lớp (bao gồm cả các thuộc tính và phương thức) cùng với các mối
quan hệ sẽ tạo thành biểu đồ lớp. !"#3Ub2&b=>)S!"#3U]v(0I ( )…(
( •I)T 12(0( ()…( $%>) .) /(0S•(0+F+- F!(!.b2&Y+F+) #>+
)*( Y& 1R(0) n++GHb2&$=/!m#H( .0!JH+ h(0$2!( H#5
b) Tập ký hiệu UML cho biểu đồ lớp
O(0& c((=\Y)=!b!.#Mq[j[™)+F+$g(3%b!t(m#H(3,(S!"#]!s(MR3Ub2&
)O(0 C85#/! & c((=\ Mq b= >) ST(0)‰(0-,)+F+-ƒ !.# C8 MN ]e(0
)O(0MR3Ub2&5
¡
Kí hiệu lớp: )O(0C8Y‚!b2&314+S!"#]!s(S‡! ( + J( f)0U;& c(
)t(b2&Y+F+) #>+)*( $=+F+& 1R(0) n+5
¡

Thuộc tính +F+ ) #>+ )*(  )O(0 S!"# 3U b2& 314+ S!"# ]!s( ) j +g# )Oh+
+ #(0( 1MH#
phạm_vi tên : kiểu số_đối_tượng = mặc_định (Giá_ trị_giới_hạn )
O(03Q
phạm_vi + S!,)& v$!)O#\( f&+GH) #>+)*( 5QSH-!"#[F+3L( 
) #>+)*( & ‰S!,(b=
y) #>+)*( -!"#&#Sb!+
¥) #>+)*( -!"#&O)j+)j]
) #>+)*( -!"#&O!$H)j5
¦) #>+)*( 314+& ™&)O#\( f&)2!)`+F+b2&)O(0+_(0&H+-H0j
F+& v$!+GH) #>+)*( +Q) "314+S!"#]!s(]12!]v(0-ƒ !.#iyY¥YY
¦l p+S!"#]!s(]12!]v(0+F+)`- Fi&#Sb!+Y&O)j+)j]Y&O!$H)jl5
Tên: b=['#-ƒ)^S!"#]!s()t() #>+)*( 5
kiểu: b=-!"#]Jb!.#+GH) #>+)*( 5
số_đối_tượng: + “OHM/3/!)14(0- H!SF+ ) #>+)*(  n(0$2!>)
mặc_định: b=0!F)OL- ‡!3c#p+3L( i(,#+Ql+GH) #>+)*( 5
Giá_ trị_giới_hạn: b=0!2! v(+F+0!F)OL+ ) #>+)*( i) I(0)!((=\
- I(0SŒ)S#>+l5
Ví dụ >)- H!SF) #>+)*( 3c\
3G

purchaseDate:Date[1] =”01-01-2000” (Saturday)
¡
Phương thức (method): +F+& 1R(0) n+)O(0C8314+S!"#]!s() j+g#
)Oh++ #(0( 1MH#§C¨
phạm_vi tên(danh_s ách_tham_số): kiểu_trả_lại { ki ểu_ph ương_thức}
O(03Q
visibility S!"#]!s(& v$!+ & 1R(0) n+5!/(0( 13/!$2!) #>+)*( Y
+QSH]v(0-!"#[F+3L( +RST(+ & 1R(0) n+b=
y& 1R(0) n+-!"#&#Sb!+

¥& 1R(0) n+-!"#&O)j+)j]
& 1R(0) n+-!"#&O!$H)j
¦& 1R(0) n+314+& ™&)O#\( f&)2!)`+F+b2&)O(0+_(0&H+-H0j
tên b=['#-ƒ)^[F+3L( )t(+GH& 1R(0) n+5
kiểu_trả_lại: + “OH-!"#0!F)OL)OT$%+GH& 1R(0) n+5
danh_sách_tham_số: S!"#]!s(]H( MF+ +F+) HM/)O(0- H!SF+GH
& 1R(0) n+5‚!) HM/314+S!"#]!s(]12!]v(0+ #(0)t() HM/
kiểu giá trị = giá trị mặc định.
ki ểu_ph ương_thức: - I(0SŒ)S#>+Y+ S!,)-!"#& 1R(0) n+5: 1R(0
) n++Q) "( f(>))O(0+F+-!"#3p+S!.)MH#
abstract& 1R(0) n+-!"#)O`#)14(05
query& 1R(0) n+-!"#)O#\$g(
Ví dụ >)- H!SF& 1R(0) n++ >)b2&
generatePurchaseList(prodID:int): String
¡
Các kiểu lớp trong UML
C83L( (0 …H>)M/-!"#b2&3X+S!.)]^H)Ot($H!)Ou+GH(Q)O(0S!"#3Ub2&5
0=!-!"#b2&) I(0) 1P(03d)O( S=\‡)Ot(YC8+u(3L( (0 …H>)M/-!"#
b2&S‰M#(00U
 Lớp thực thể: b=b2&3v!]!.(+ +F+) ^+) "+ nH) I(0)!($%+F+3/!)14(0
[F+3L( (=3Q5
 Lớp biên (lớp giao diện): b=b2&(•‡OH( 0!2!0!JH .) /(0$2!I!)O1P(0
St((0=!Y) ^+ !.($H!)Ou( f(\t#+c#)O^+)!,&)`+F+)F+( '($=+ #\"(
+F+\t#+c#3Q+ +F+b2&St()O(0 .) /(05
 Lớp điều khiển: ) ^+ !.(+F++ n+(X(03!%#- !"( v)3>(0+GH .) /(0
n(0$2!+F++ n+(X(0+e) "(=3Q$2!>)( Q+F+b2&S!t( p+b2&) ^+
) "[F+3L( 5
STT Kiểu lớp Kí hiệu UML
< Lớp thực thể
@ Lớp biên (lớp giao diện)

; Lớp điều khiển
Bảng 2.3: Các kiểu lớp trong UML
¡
Các mối quan hệ trong biểu đồ lớp
!JH+F+b2&+Q+F+]v(0m#H( .+RST(( 1MH#
 Quan hệ kết hợp (Association)>)-,) 4&iHMM+!H)!(lb=>)M^(/!-,)
0!JH+F+b2&Y+‹(0+Q(0 …Hb=M^(/!-,)0!JH+F+3/!)14(0+GH+F+b2&(=\5
O(0C8Y>)m#H( .314+g(+3L( ( •I)T>))f& 4&+F+b!t(
-,)ib!(-MlY)n+b=>)M^b!t(m#H($%(0J(0 …HiMjH()!++((j+)!(l0!JH
>)( Q+F+3/!)14(0314+S!"#]!s(S‡!+F+b2&)1R(0n(05
p+3L( Ym#H( .-,) 4&314+S!"#]!s(S‡!3v() ˜(0@+ !%#(/!@3/!
)14(0$=+Q) "-›) j(0J(0 …H+GHm#H( .)v! H!3c#+GH3v() ˜(05
‘j$*]e( @5”582&- F+  =(0+Qm#H( .-,) 4&$2!b2&MT(& ˆ5
0J(0 …H+GHm#H( .(=\) " !.(‡+ ‚- F+  =(0mua MT(& ˆY+u(
MT(& ˆđược bán cho - F+  =(05
Khách Sản phẩm
hàng
Khách hàng Địa chỉ
Khách
hàng
 F+  =(0- F+  =(0
- I(0) 1P(0 ) 1P(0[#\t(
[#\t(
Hình 4.2: Quan hệ khái quát hoá
 Quan hệ cộng hợp (Aggregation)b=]v(0m#H( .I)T>)b2&b=>)
& c(+GHb2&$=b2&+Q) ")U()v!3>+bf&5B#H( .+>(0 4&314+S!"#
]!s( S•(0>)‹!)t(0Œ( ( ) !O‚(0‡ 3c# 12(0$%b2&SH =5
‘j$*]e( @5x582&F3R(b=>)& c(+GHb2& F+  =(0( 1(0
3/!)14(0F3R($•(+Q) ")U()v!3>+bf&$2!3/!)14(0- F+  =(05
QH3R() #>+$%- F+  =(0

LH+ “+Q- F+  =(0
Bảng tổng kết các phần tử mô hình UML được sử dụng trong mô hình lớp,ý
nghĩa và ký hiệu tương ứng trong các biểu đồ.
Phần tử mô
hình
Ý nghĩa Cách biểu diễn Ký hiệu trong biểu đồ
82&i+bHMMl !"# ]!s()t( b2&Y
+F+ ) #>+)*(  $=
& 1R(0  ) n+ +GH
b2&3Q5
>) (  + J ( f)
0U  ; & c( )F+
S!.)5
Tên
l
2
p
Các thu>c
tính
Các ph1Rng
th
n
c
B#H( . -!"#
-,) 4&
!"#]!s(m#H( .
0!JH  H! b2& 3>+
bf&Y +Q b!t(  m#H(
3,(( H#5
>) 31P(0 -© b!%(

(™) i+Q )t( [F+
3L( l  (/! 0!JH H!
b2&5
Tên
B#H( .0>& !"#]!s(m#H( .
-!"# S> & f(  ª
)‰(0) "5
1P(0-©b!%((™)
+Q ( ) !‡3c#5
B#H(  . - F!
m#F) F i-,
) `Hl
82&

(=\ ) `H
1‡(0  +F+ ) #>+
)*(  & 1R(0
) n++GHb2&-!H
‹!)t()H0!F+5
B#H( . & e
) #>+5
F+b2&& e) #>+
b•( ( H# )O(0
v) 3>(0 +GH .
) /(05
‹!)t(3n)(™)5
4.3. Biểu đồ trạng thái
a) Ý nghĩa
Biểu đồ trạng thái 314+MN]e(03"S!"#]!s(+F+)Ov(0) F!$=M^+ #\"()!,&0!JH
+F+)Ov(0) F!+GH+F+3/!)14(0)O(0>)b2&[F+3L( 5 I(0) 1P(0Y‚!b2&Mq

+Q>)S!"#3U)Ov(0) F!i)O`b2&)O`#)14(0b=b2&- I(0+Q3/!)14(0l5
Biểu đồ trạng thái 314+S!"#]!s(]12!]v(0F\)Ov(0) F! J# v($2!+F+
)Ov(0) F!$=M^+ #\"()!,&0!JH+F+)Ov(0) F!3Q5Q H!]v(0S!"#3U)Ov(0) F!
 !"#3U)Ov(0) F!+  >)#Mj+HMjI)T+F+)Ov(0) F!$=+ #\"()!,&
)Ov(0) F!+GH>)3/!)14(0) #>+>)b2&(=3Q)O(0 v)3>(0+GH>)
#Mj+HMj+e) "5
 !"#3U)Ov(0) F! .) /(0I)T)g)+T+F+)Ov(0) F!+GH>)3/!)14(0
)O(0)=(S> v)3>(0+GH+T .) /(05
b) Tập ký hiệu UML cho biểu đồ trạng thái
F+) =( & c()O(0>)S!"#3U)Ov(0) F!SH0U
 Trạng thái (state). t()O(0+F+)Ov(0) F!+Q) "!t#)T+F+S!,()Ov(0
) F! p++F+ =( 3>(0iH+)!(l)1R(0n(0$2!)Ov(0) F!3Q5
Trạng thái con (substate): b=>))Ov(0) F!+ nHSt()O(0>))Ov(0) F!
- F+5Ov(0) F!+Q( !%#)Ov(0) F!+(0„!b=)Ov(0) F!)‰ 4&5‘j[™)
>)$*]e+Q)Ov(0) F!+()O(0( @5<;5
 ^+ !.()*( )F(
 1H)*( )F(
!( il
 ^+ !.(-!")OH
d)*( )F(
[(0
|j)#O(il
!")OHb
v
!
*( )
‰(0
Hình 4.3!"#3U)Ov(0) F!+Q)Ov(0) F!+(
 Trạng thái khởi đầu (initial state): )Ov(0) F! 3c#)!t( - !-*+  v)3/!
)14(05

 Trạng thái kết thúc (final state): -,)) h+$u(03P!3/!)14(05
 Các chuyển tiếp (transition): S!"#]!s(+F++ #\"(3‰!0!JH+F+)Ov(0) F!5
 Sự kiện (event): M^-!.()F+3>(00'\OHM^+ #\"(3‰!)Ov(0) F!5‚!M^
-!.(314+3!-›$2!+F+3!%#-!.(i0#HO]l$=+F+ =( 3>(0iH+)!(l5
O(0S!"#3U)Ov(0) F!+GHC8Y>)M/bv!M^-!.(MH#3'\Mq314+[F+3L( 
 Sự kiện gọi (call event) •t#+c#) ^+ !.(>) =( 3>(0i>)& 1R(0
) n+l
 Sự kiện tín hiệu (signal event): N!) I(03!.&i+ nH+F+0!F)OL) #>+)*( 
) HM/b!t(m#H(l0!JH+F+)Ov(0) F!5
 Sự kiện thời gian (time event): !"#]!s(m#F)O( + #\"()!,&) j ) P!
0!H(Y) 1P(0-›) j)`I)T) P!0!H(+e) "5
F+& c()NI ( C8$=-ƒ !.#)1R(0n(0+ S!"#3U)Ov(0) F!314+)‰(0
-,)( 1)O(0T(0†5;5
Phần tử
mô hình
Ý nghĩa Biểu diễn Ký hiệu trong biểu đồ
Trạng thái
!"#]!s(>))Ov(0
) F!  +GH 3/! )14(0
)O(0 $u(0 3P! +GH
3/!)14(03Q5
( + J ( f)
$u(0‡0Q+Y0U
;& c()t(Y+F+
S!,(Y$=+F+ v)
3>(05
Trạng thái
khởi đầu
 ‡! 3c# $u(0 3P!
+GH3/!)14(05

( )Ou(3p+
Trạng thái
kết thúc
,)) h+$u(03P!
+GH3/!)14(05
H! ( )Ou(
bU(0( H#
Chuyển tiếp
(transition)
 #\"( )` )Ov(0
) F! (=\ MH(0 )Ov(0
) F!- F+
‹! )t( b!%( (™)
$2! )t( 0„! b=
S!"# ]!s( +GH
+ #\"()!,&3Q5
t(«+ #\"(«)!,&
:¬;
3.1 TỔNG QUAN VỀ PHÂN TÍCH HƯỚNG ĐỐI TƯỢNG
3.1.1 Vai trò của pha phân tích
O(0+F+S12++GH$u(03P!& F))O!"(& c(%(Q!+ #(0Y& H& '()*+ i H\
3p+)Tl+Q+F+( !.$eMH#
  !,)bf&>)+F+ ( ()‰(0m#H(OZO=(0$% .) /(0$=+F+e+3*+ + *( 
+GH .) /(0+c(['\]^(05
 8!.)-t+F+( !.$e= .) /(0+c() ^+ !.(5
 : F))O!"(>)S>)`$^(03"I)TS=!)F(+‹(0( 1( J(0$g(3%b!t(m#H(
)O(0!%(m#H()'+GHS=!)F(5
 1HOH 12(00!T!m#\,)S=!)F(5
 1$f\Y& H& '()*+ + “]`(0bv!‡n+[F+3L( +F+3p+)O1(0= .) /(0
+c(& T!['\]^(0b=0Y+ “OH+F+- F!(!.b!t(m#H($=)OH 12(00!T!m#\,)

S=!)F(+ n+ 1Hm#H()'3,(+F+ ) n+) ^+ !.(['\]^(0 .) /(0( 1) ,
(=5 1+F+ (Q!)O(0(0I((0J)!,(0( Y& H& '()*+ ( •)OTbP!+ +'#
o!’• H)ŸY+u(+'# o!’ •ŸMq314+)OTbP!)O(0& H) !,)-,5
3.1.2 Các bước phân tích hướng đối tượng
: '()*+  12(03/!)14(0314++ !Hb=SHS12+)1R(0n(0$2!SH]v(0I (
C8b=
¡
Mô hình use case: S12+(=\( •['\]^(0I ( + n+(X(0+GHMT(
& ˆ& c(%5F++ n+(X(0(=\314+( ()`m#H(3!"+GH( J(0
(01P! MN ]e(0 . ) /(05,) m#T +GH S12+ (=\ b= >) S!"# 3U #Mj +HMj
314+ & '( +g&+_(0 +F+ M+j(HO! )1R(0n(0+GH)`(0#Mj+HMjY )O(0 3Q
S!"# ]!s( 3c\3G +F+ + n+ (X(0+GH . ) /(0 $= 314+ - F+  =(0 + g&
( f(5
¡
Mô hình lớp: S!"#]!s(+F+b2&Y+F+) #>+)*( $=/!m#H( .0!JH+F+b2&5
`)f&+F+#Mj+HMj$=M+j(HO!Y( Q& F))O!"( .) /(0Mq& T!+ “OH+F+
b2&Y[F+3L( +F+) #>+)*( Y+F+& 1R(0) n+$=+F+/!m#H( .0!JH+F+
b2&5
¡
Mô hình động: S!"#]!s(+F+ v)3>(0b!t(m#H(3,(>)b2& H\b2&+(5
F+ v)3>(0(=\314+S!"#]!s(]12!]v(0)1R(0)^( 1MR3UF\)Ov(0
) F! J# v($= 314+0„!b= S!"#3U)Ov(0) F!5 0=!S!"#3U)Ov(0) F!Y
)O(0I ( 3>(0+u(+Q+F+S!"#3U- F+b=S!"#3U)1R(0)F+i0U+T
S!"#3U)#c()^YS!"#3U+>(0)F+l$=S!"#3U3>(05#\( !t(Y)O(0& H
& '()*+ Y(01P!& F))O!"( .) /(0+ “m#H()'3,(S!"#3U)Ov(0) F!+ 
‚!b2&3d[F+3L( 314+)O(0I ( b2&5
3.1.3 Ví dụ
"!(  „H+  +F+ S12+ & '( )*+  +‹(0( 1)O(0 & H ) !,) -,‡ 1R(0†Y
+ h(0)H d\[™)>)hệ quản lý thư viện 3R(0!T(5!2! v(+GH .) /(0 (=\
314+) " !.(m#H+F+\t#+c#MH#

 =!b!.#)O(0) 1$!.(SH0UMF+ YSFY)v&+ *555314+I)T+ #(0
0U+F+) #>+)*( )t()=!b!.#Y)F+0!TY( =[#g)ST(Y(X[#g)ST(YM/
b14(0 !.(+Q5
 /!$2!+F+Sv(3„+) ^+ !.(+F+) H)F+))=!b!.#Y14(Y)OT)=!b!.#
$=[j[™)+F+) I(0)!($%)=!b!.#=( 3H(014(5D!.+)-!,
)=!b!.#314+) ^+ !.()O^+)!,&m#Hv(05#\( !t(Y0!H]L+ 14($=
)OTMF+ & T!) ^+ !.()O^+)!,&)v!) 1$!.(5

×