Luận văn: Nghiên cứu ngôn ngữ UML và ứng dụng
7,461
671
171
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
161
http://www.ebooks.vdcmedia.com
Trïn cú súã phên tñch vaâ sûã duång ngön ngûä UML,noá cho thêëy noá khöng chó
laâ möåt ngön ngûä húåp nhêët àún thuêìn, UML coân bao göìm caã nhûäng khaái
niïåm
múái cuâng vúái caách mö taã, àõnh nghôa vaâ sûã duång caác khaái niïåm naây.
Viïåc nghiïn
cûáu ngön ngûä UML khöng chó dûâng úã viïåc tòm hiïíu, sûã duång caác khaái
niïåm, caác
kyá hiïåu trong ngön ngûä, maâ bïn caånh àoá chuáng ta cêìn phaãi tòm hiïíu
caách thûác àïí
mö hònh hoáa möåt hïå thöëng phêìn mïìm, cuäng nhû viïåc tñch húåp UML vúái möåt
qui
trònh phaát triïín phêìn mïìm cuå thïí. Hiïån nay, hêìu hïët caác cöng cuå höî
trúå phên tñch
thiïët kïë àïìu coá höî trúå ngön ngûä UML, viïåc nghiïn cûáu UML giuáp chuáng
ta coá
thïí tòm hiïíu vaâ sûã duång caác CASE tool höî trúå cho viïåc phaát triïín
phêìn mïìm,
àöìng thúâi coá thïí tiïëp cêån vúái nhûäng qui trònh saãn xuêët phêìn mïìm tiïn
tiïën trïn
thïë giúái. Trong àiïìu kiïån nïìn cöng nghïå phêìn mïìm nûúác ta coân khaá non
treã, viïåc
àûa vaâo sûã duång möåt qui trònh cöng nghïå vaâ möåt ngön ngûä mö hònh hoáa
múái seä
gùåp khöng ñt khoá khùn, nhûng trong giai àoaån buâng nöí cuãa ngaânh cöng nghïå
phêìn mïìm hiïån nay viïåc tòm hiïíu vaâ sûã duång möåt ngön ngûä mö hònh hoáa
hiïåu
quaã nhû UML laâ rêët cêìn thiïët.
Chûúng 5
TÖÍNG KÏËT 180
5.2. Hûúáng phaát triïín
UML laâ möåt ngön ngûä mö hònh hoáa rêët röång, bïn caånh nhûäng phêìn àaä
àûúåc trònh baây trong luêån vùn, UML coân coá nhiïìu ûáng duång rêët àa daång
nhû caác
ûáng duång mö hònh hoáa hïå thöëng thúâi gian thûåc, caác hïå thöëng phên taán,
caác ûáng
duång trïn web...
Trïn cú súã nhûäng phêìn àaä thûåc hiïån, àïì taâi cuãa chuáng em coá möåt söë
hûúáng
phaát triïín sau:
_ Xêy dûång taâi liïåu nghiïn cûáu giaãng daåy UML
_ Dûåa trïn qui trònh cöng nghïå RUP, tòm hiïíu vaâ xêy dûång möåt phûúng phaáp
phaát triïín phêìn mïìm phuâ húåp vúái àiïìu kiïån cuãa nïìn cöng nghïå phêìn
mïìm nûúác
ta hiïån nay.
_ Dûåa trïn cêëu truác ngûä nghôa cuãa UML, tûâng bûúác xêy dûång cöng cuå phên
tñch
thiïët kïë höî trúå ngön ngûä UML.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
162
http://www.ebooks.vdcmedia.com
Möåt lêìn nûäa chuáng em xin chên thaânh caãm ún Thêìy Dûúng Anh Àûác, Thêìy Lï
Àònh Duy cuâng toaân thïí quyá Thêìy Cö trong khoa àaä têån tònh giaãng daåy
chuáng
em trong suöët nhûäng nùm hoåc vûâa qua. Mùåc duâ chuáng em àaä hïët sûác cöë
gùæng àïí
hoaân thiïån àïì taâi nhûng chùæc khöng traánh khoãi nhûäng thiïët soát nhêët
àõnh, kñnh
mong quyá thêìy cö têån tònh chó baão àïí àïì taâi cuãa chuáng em àûúåc hoaân
thiïån hún.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
163
http://www.ebooks.vdcmedia.com
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
164
http://www.ebooks.vdcmedia.com
Phuå luåc A
CAÁC KHAÁI NIÏÅM
A
abstract class Lúáp trûâu tûúång khöng coá thûåc thïí àaåi diïån.
action Haânh àöång, haânh àöång coá kïët quaã laâm thay àöíi möåt traång thaái
naâo àoá cuãa
hïå thöëng.
action state Möåt traång thaái hoaåt àöång gêy ra möåt haânh àöång naâo àoá.
activation Sûå kñch thñch möåt haânh àöång.
active class Möåt lúáp coá nhûäng thûåc thïí laâ möåt active object.
active object Möåt àöëi tûúång súã hûäu möåt tiïën trònh coá thïí àiïìu khiïín
àûúåc.
actor Taác nhên - laâ möåt thûåc thïí àoáng vai troâ tûúng taác vúái hïå thöëng,
taác nhên coá
thïí laâ ngûúâi sûã duång hïå thöëng hoùåc möåt hïå thöëng khaác.
aggregation Laâ möåt quan hïå thu naåp giûäa möåt lúáp àoáng vai troâ toaân thïí
vaâ möåt
lúáp àoáng vai troâ laâ böå phêån.
artifact Möåt phêìn thöng tin àûúåc duâng hoùåc àûúåc phaát sinh tûâ hïå thöëng.
association Quan hïå kïët húåp giûäa hai thaânh töë trong hïå thöëng.
association end Àiïím cuöëi cuãa quan hïå kïët húåp liïn kïët vúái möåt
classifier.
attribute Thuöåc tñnh cuãa möåt thaânh töë trong lûúåc àöì.
B
behavior Haânh vi cuãa thaânh töë trong hïå thöëng.
binary
association Quan hïå kïët húåp nhõ phên/ quan hïå kïët húåp giûäa hai lúáp.
C
call Möåt traång thaái haânh àöång dêîn àïën möåt haânh àöång trïn
classifier.
class Class laâ têåp húåp caác àöëi tûúång coá cuâng caác thuöåc tñnh
classifier Laâ möåt thaânh töë trûâu tûúång miïu taã caác àùåc àiïím vïì haânh
vi vaâ cêëu
truác.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
165
http://www.ebooks.vdcmedia.com
class diagram Laâ möåt lûúåc àöì duâng àïí mö taã caác lúáp (class), caác giao
tiïëp
(interface), sûå cöång taác (collaboration) vaâ caác möëi quan hïå giûäa caác
thaânh phêìn
trong mö hònh.
collaboration Möåt collaboration mö taã quáa trònh thûåc hiïån cuãa möåt thao
taác hay
möåt classifier trong möåt têåp caác classifier coá tûúng taác vúái nhau.
collaboration
diagram Laâ möåt lûúåc àöì tûúng taác têåp trung vaâo cêëu truác töí chûác, möëi
quan hïå
taác àöång qua laåi giûäa caác àöëi tûúång.
comment Laâ möåt chuá thñch àûúåc gùæn vaâo caác thaânh töë trong mö hònh nhùçm
laâm
roä nghôa cho caác thaânh töë naây.
component Laâ möåt phêìn cuãa hïå thöëng àûúåc triïín khai.
component
diagram Laâ möåt lûúåc àöì ghi nhêån caác töí chûác vaâ sûå phuå thuöåc giûäa
caác thaânh
phêìn trong hïå thöëng.
composite state Laâ möåt traång thaái chûáa caác traång thaái con luên phiïn
hoùåc tuêìn
tûå (taách túâi).
composition Quan hïå cêëu thaânh, laâ möåt daång maånh hún cuãa quan hïå thu
naåp.
Concurrent substate Laâ möåt traång thaái con àûúåc tiïën haânh àöìng thúâi vúái
möåt
traång thaái con khaác bïn trong möåt traång thaái gheáp.
D
datatype Kiïíu dûä liïåu, mö taã kiïíu dûä liïåu cuãa ngûúâi sûã duång.
dependency Quan hïå phuå thuöåc giûäa hai thaânh töë mö hònh.
deployment
diagram Laâ möåt lûúåc àöì thïí hiïån cêëu hònh luác chaåy cuãa caác thaânh
phêìn, caác thiïët
bõ, böå xûã lyá.
derived element Laâ möåt thaânh töë àûúåc dêîn xuêët tûâ caác thaânh töë khaác
trong hïå
thöëng.
disjoint substate Möåt traång thaái con khöng thïí tiïën haânh àöìng thúâi vúái
caác tiïën
trònh con khaác trong möåt traång thaái gheáp.
E
entry action Laâ möåt haânh àöång àêìu vaâo cuãa möåt traång thaái.
event Möåt sûå kiïån, coá thïí gêy ra sûå chuyïín àöíi traång thaái trong lûúåc
àöì traång
thaái.
exit action Laâ möåt haânh àöång àêìu ra cuãa möåt traång thaái.
extend Quan hïå múã röång giûäa hai Use case, haânh vi cuãa use case naây àûúåc
múã
röång tûâ nhûäng haânh vi cuãa möåt use case khaác.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
166
http://www.ebooks.vdcmedia.com
F
final state Traång thaái kïët thuác cuãa möåt maáy traång thaái.
focus of control Laâ möåt kyá hiïåu trïn lûúåc àöì thïí hiïån khoaãng thúâi gian
khi möåt
àöëi tûúång thi haânh möåt haânh àöång.
G
generalization Möëi quan hïå giûäa möåt thaânh töë töíng quaát vaâ möåt thaânh
töë phuå àùåc
biïåt.
guard condition Laâ möåt àiïìu kiïån cêìn àûúåc thoãa maän àïí coá thïí thi
haânh möåt möåt
sûå chuyïín àöíi traång thaái.
I
interface Tïn cuãa möåt têåp caác thao taác àùåc trûng cho haânh vi cuãa möåt
thaânh töë
mö hònh.
internal
transition Laâ möåt sûå chuyïín àöíi tñn hiïåu höìi àaáp cho möåt sûå kiïån maâ
khöng cêìn
thay àöíi traång thaái cuãa àöëi tûúång.
L
link Laâ möåt tham chiïëu giûäa caác àöëi tûúång..
M
message Laâ möåt sûå chuyïín àöíi thöng tin giûäa caác thûåc thïí.
metaclass Laâ möåt lúáp trûâu tûúång maâ thïí hiïån cuãa noá laâ nhûäng lúáp.
model element Thaânh töë mö hònh.
multiplicity Baãn söë, àùåc taã söë lûúång cho pheáp cuãa caác thûåc thïí trong
möåt möëi
quan hïå.
N
n-ary association Quan hïå kïët húåp bêåc n, laâ möåt quan hïå kïët húåp giûäa
ba hay
nhiïìu lúáp vúái nhau.
name Laâ möåt chuöîi àõnh nghôa cho thaânh töë mö hònh.
node Laâ möåt thaânh phêìn biïíu diïîn caác taâi nguyïn maáy tñnh.
O
object Laâ möåt thïí hiïån cuå thïí cuãa möåt lúáp trong hïå thöëng.
object diagram Laâ möåt àöì thõ cuãa caác thïí hiïån, bao göìm caác àöëi tûúång
vaâ caác giaá
trõ cuå thïí.
object lifeline Laâ möåt àûúâng trong lûúåc àöì tuêìn tûå thïí hiïån sûå töìn
taåi cuãa àöëi
tûúång trong möåt khoaãng thúâi gian naâo àoá.
P
package Laâ möåt cú chïë töíng quaát cho viïåc töí chûác caác thaânh töë thaânh
caác nhoám.
Q
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
167
http://www.ebooks.vdcmedia.com
qualifier Laâ möåt thuöåc tñnh cuãa quan hïå kïët húåp nhùçm haån chïë têåp àöëi
tûúång
quan hïå vúái möåt àöëi tûúång khaác thöng qua quan hïå kïët húåp.
R
role Laâ tïn àùåt biïåt cuãa möåt thûåc thïí tham gia trong möåt ngûä caãnh àùåc
biïåt naâo
àoá.
S
sequence
diagram Laâ möåt lûúåc àöì tûúng taác têåp trung vaâo caác haânh vi àöång hûúáng
thúâi
gian.
signal Àùåc taã möåt möëi liïn hïå kñch thñch khöng àöìng böå giûäa caác thûåc
thïí. Tñn
hiïåu coá thïí coá tham söë.
state Laâ möåt hoaân caãnh hoùåc möåt tònh huöëng trong quáa trònh söëng cuãa
àöëi tûúång
thoãa maän möåt àiïìu kiïån naâo àoá, biïíu diïîn möåt söë hoaåt àöång hoùåc
chúâ möåt vaâi sûå
kiïån.
Statechartdi Laâ möåt lûúåc àöì thïí hiïån maáy traång thaái.
Diagram stereotype Laâ möåt loaåi phêìn tûã mö hònh duâng àïí múã röång ngûä
nghôa
cuãa UML. Khuön mêîu phaãi dûåa trïn caác thaânh töë àaä àûúåc àõnh nghôa trong
UML.Stereo chó múã röång vïì ngûä nghôa khöng múã röång vïì cêëu truác..
substate Traång thaái laâ möåt phêìn cuãa traång thaái gheáp.
subpackage Möåt package chûáa caác package khaác.
subsystem Nhoám caác thaânh töë mö hònh biïíu diïîn caác àún võ haânh vi trong
hïå
thöëng vêåt lyá.
swimlane Duâng àïí nhoám caác haânh àöång coá cuâng möåt muåc àñch naâo àoá
trong
lûúåc àöì àöëi tûúång.
T
tagged value Gña trõ theã àõnh nghôa möåt thuöåc tñnh theo daång tïn-giaá trõ.
Duâng àïí
böí sung thöng tin cho caác thaânh töë mö hònh.
transition Quan hïå giûäa hai traång thaái, chó ra rùçng möåt àöëi tûúång
chuyïín tûâ traång
thaái naây sang möåt traång thaái khaác khi coá möåt sûå kiïån hoùåc möåt tñn
hiïåu naâo àoá
xaãy ra.
U
use case Laâ möåt chuöîi caác haânh àöång hoùåc möåt àún võ chûác nùng àûúåc
cung cêëp
búãi hïå thöëng nhùçm àaáp ûáng nhu cêìu cuãa caác taác nhên bïn ngoaâi hay caác
hïå thöëng
khaác.
use case diagram Lûúåc àöì Use Case ghi nhêån chûác nùng cuãa hïå thöëng dûúái
goác
nhòn cuãa ngûúâi sûã duång.
V
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
168
http://www.ebooks.vdcmedia.com
visibility Têìm vûåc, phaåm vi tham chiïëu cuãa cuãa thaânh töë mö hònh bao göìm
caác
giaá trõ (public, protected, or private).
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
169
http://www.ebooks.vdcmedia.com
Phuå luåc B
CAÁC KYÁ HIÏÅU
Tïn Kyá hiïåu
Actor (taác nhên)
Name
Association (Quan hïå kïët húåp)
Aggregation (Quan hïå thu naåp/kïët húåp)
Composition (Quan hïå cêëu thaânh)
Class (lúáp)
Collaboration (sûå cöång taác)
Component (thaânh phêìn)
Constraint (raâng buöåc)
Dependency (quan hïå phuå thuöåc)
Generalization (quan hïå töíng quaát hoáa)
Interface (giao tiïëp)
Node (Nuát)
Note (ghi chuá)
Object (àöëi tûúång)
Package (goái)
Stereotype (khuön mêîu) (stereotype)
Tagged Value (giaá trõ theã)
Use case Name
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
170
http://www.ebooks.vdcmedia.com
TAÂI LIÏÅU THAM KHAÃO
(1) Bruce Powel Douglass - Ph.D.Chief Evangelist, The Unified Modeling
Language for Systems Engineering, I-Logix 1/1999.
(2) CRaG System Report, An Introduction to the UML, 1998.
(3) Engineering Notebook C++ Report, UML Use Case Diagrams, 10/1998.
(4) James Rumbaugh, UML – The View from the front, Rational Software
Corporation, 3/1999.
(5) Grady Booch, Software Architecture and the UML, Rational Software,
4/2000.
(6) Grady Booch, James Rumbaugh, Ivar Jacobson, The Importance of
Modeling, The UML User’s Guide,1998.
(7) Gunnar Overgaard, Bran Selic vaâ Conrad Bock, Object Modeling with UML
Behavioral Modeling, 1/2000.
(8) Ivar Jacobson, Grady Booch, James Rumbaugh, The Unified Software
Development Process Book, 4/1999.
(9) OMG & Rational Corporation, OMG Unified Modeling Language
Specification V1.3, 8/1999.
(10) Popkin Software, Modeling Systems with UML, A Popkin Software White
Paper, 1998.
(11) Philippe Kruchten, A Rational Development Process, 4/2000.
(12) Rational Software Corporation, Analysis and Design with UML, 1997.
(13) Rational Software Corporation, Rational Unified Process – Best Practices
for Software Development Teams,A Rational Software Corporation White
Paper, 12/1999.
(14) Robert C.Martin, UML Tutorial – Class Diagrams, 9/1997.
(15) Robert C.Martin, UML Tutorial – Collaboration Diagrams, 10/1997.
(16) Robert C.Martin, UML Tutorial – Finite State Machines, 6/1998.
(17) Robert C.Martin, UML Tutorial – Sequence Diagrams, 4/1998.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
171
http://www.ebooks.vdcmedia.com
(18) Scott W.Amber, Enhancing the Unified Modeling Language, A Ronin
International White Paper, 3/2000.
(19) Scott W.Amber, The Unified Modeling Language and Beyond: The
Techniques of Object-Oriented Modeling, An AmbySoft Inc.White Paper
2/2000.
(20) Sinan Si Alhir, Applying the Unified Modeling Language, 8/1998.
(21) Sinan Si Alhir, Description of the Public Model for Unified Modeling
Language metamodel abstract syntax V1.3, OMG Revision Task Force 11/1998.
(22) Sinan Si Alhir, Extending the UML, 1/1998
(23) Sinan Si Alhir, The Foundation of the UML, Updated 8/1998
(24) Sinan Si Alhir, The UML – One year sfter Adoption of the Standard,
1/1999.
(25) Sinan Si Alhir, The UML – One year sfter Adoption of the Standard,
12/1999.
(26) Sinan Si Alhir, Reuse and the UML, Updated 1/1999.
(27) Sinan Si Alhir, Succeeding with UML, 8/1998.
(28) Sinan Si Alhir, What is the UML, 8/1998.
(29) Sinan Si Alhir, The True Value of the Unified Modeling Language, 9/1998.
(30) Sinan Si Alhir, Unified Modeling Language - Extension Mechanisms,
10/1998.
(31) Tony Clark & Andy Evans, Foundation of Unified Modeling Language,
University of Bradford, UK 8/1999.
(32) Xiaobing Qiu, Object-Oriented Software Development using UML, 1998.