Tải bản đầy đủ (.pdf) (18 trang)

Ngôn ngữ mô hình thống nhất UML - Tổng quan

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 (102.77 KB, 18 trang )

SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
23




Chûúng 1
TƯÍNG QUAN 1

1.1. u cêìu thûåc tïë
Cng vúái xu hûúáng phất triïín ngânh cưng nghïå thưng tin, cưng nghïå phêìn
mïìm àậ vâ àang trúã thânh lơnh vûåc mi nhổn ca nhiïìu qëc gia trïn thïë giúái.
Ngây nay, viïåc phất triïín mưåt phêìn mïìm vúái qui mư vâ chêët lûúång cao khưng
côn lâ cưng viïåc àún lễ ca nhûäng nhâ lêåp trònh. Àố lâ sẫn phêím ca mưåt têåp thïí,
mưåt cưng ty phêìn mïìm theo mưåt qui trònh cưng nghïå chín àûúåc quẫn l chùåt
chệ vâ àûúåc hưỵ trúå tưëi àa búãi cấc cưng c vâ mưi trûúâng phất triïín phêìn mïìm.
Do àố, viïåc lêåp trònh ngây câng trúã nïn dïỵ dâng hún vâ nhûúâng lẩi vai trô mêëu
chưët cho viïåc phên tđch vâ thiïët kïë phêìn mïìm, trong àố quan trổng nhêët lâ àùåc tẫ
vâ mư hònh hoấ thïë giúái thûåc.
Trong tònh hònh àố cấc cưng ty phêìn mïìm lúán trïn thïë giúái àậ nhanh
chống àûa ra nhiïìu cưng c hưỵ trúå phên tđch thiïët kïë dûåa trïn nhiïìu phûúng phấp
khấc nhau.
Cấc ngưn ngûä mư hònh hốa ra àúâi vâ ngây câng àûúåc cẫi tiïën, trong àố sûå
ra àúâi ca UML (Unified Modeling Language) dûåa trïn ba phûúng phấp hûúáng
àưëi tûúång Booch, OMT, OOSE àậ nhanh chống trúã thânh mưåt ngưn ngûä chín
dng àïí trûåc quan hoấ, àùåc tẫ, xêy dûång vâ lâm sûu liïåu cho cấc sẫn phêím phêìn
mïìm vâ àûúåc hưỵ trúå búãi cấc tưí chûác,cấc cưng ty phất triïín phêìn mïìm trïn thïë
giúái.
Hiïån nay hêìu hïët cấc CASE tools àïìu cố hưỵ trúå UML do àố viïåc tòm hiïíu
ngưn ngûä UML trûúác hïët gip tiïëp cêån vúái ngưn ngûä mư hònh hốa tiïn tiïën, nùỉm
bùỉt vâ sûã dng mưåt sưë CASE tools hiïån tẩi vâ tûâng bûúác xêy dûång CASE tools


àùåc th hưỵ trúå cho viïåc xêy dûång vâ phất triïín phêìn mïìm sau nây.




SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
24




Chûúng 1
TƯÍNG QUAN 2


1.2. Giúái thiïåu UML
Theo mưåt bâi bấo ca mưåt nhâ khoa hổc nưỵi tiïëng trong lơnh vûåc cưng
nghïå thưng tin – Sinan Si Alhir – vúái tûåa àïì “Tri thûác – nhên tưë quët àõnh ca
sûå thânh cưng !”, bâi bấo viïët “Tri thûác lâ sûác mẩnh – àêy lâ cêu nối ca mưåt nhâ
triïët gia nưỵi tiïëng – FrancisBacon. Ngây nay, trïn thõ trûúâng toân cêìu – vâ nhêët
lâ trong lơnh vûåc cưng nghïå thưng tin - núi mâ sûå cẩnh tranh trúã nïn rêët phưí biïën
vâ quët liïåt, tri thûác vâ khẫ nùng ấp dng chng vâo trong cưng viïåc mưåt cấch
hiïåu quẫ sệ mang lẩi cho chng ta mưåt lúåi thïë quan trổng vâo loẩi bêåc nhêët.
Chđnh àiïìu nây àậ dêỵn túái mưåt cêu hỗi - lâm thïë nâo mưåt tưí chûác cố thïí nùỉm bùỉt,
truìn àẩt, trao àưíi, vâ nêng cao tri thûác ca mònh àïí àẩt àûúåc lúåi thïë cẩnh tranh
trïn thõ trûúâng ? Cố lệ cêu trẫ lúâi chđnh lâ ngưn ngûä UML tûâ hậng phêìn mïìm
Rational vâ tưí chûác OMG (Object Management Group).” Vêåy UML lâ gò, tẩi sao
nố lẩi àûúåc giúái thiïåu êën tûúång àïën nhû thïë ?
UML - Unified Modeling Language – tẩm dõch lâ ngưn ngûä mư hònh húåp
nhêët, nố àûúåc hiïíu nhû lâ mưåt ngưn ngûä thưëng nhêët nhûäng xu hûúáng vâ hònh thấi

ca cåc cấch mẩng tri thûác trong lơnh vûåc thưng tin. Nố lâ mưåt phûúng tiïån
gip cho cấc tưí chûác cố thïí nhêån thûác mưåt cấch tưët nhêët lúåi thïë cẩnh tranh thưng
qua viïåc nùỉm bùỉt, truìn àẩt, trao àưíi vâ nêng cao tri thûác trong lơnh vûåc cưng
nghïå phêìn mïìm. Chđnh xấc hún UML lâ mưåt ngưn ngûä mư hònh hốa dng àïí àùåc
tẫ, trûåc quan hốa, xêy dûång vâ lâm sûu liïåu cho cấc hïå thưëng phêìn mïìm...
_ Unified (húåp nhêët) UML àûúåc àûa ra lêìn àêìu tiïn búãi hậng Rational vâ ba
chun gia vïì phûúng phấp lån hâng àêìu trong lơnh vûåc hïå thưëng thưng tin/ k
thåt cưng nghïå Grady Booch, James.




SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
25




Chûúng 1
TƯÍNG QUAN 3

1.3 Ngun nhên ra àúâi
Rumbaugh, Ivar Jacobson. Nố lâ sûå húåp nhêët giûäa nhûäng phûúng phấp c
(Booch, OMT, OOSE...), kïët húåp vúái nhûäng kinh nghiïåm, nhûäng kiïën thûác thûåc
tïë trong lơnh vûåc cưng nghïå thưng tin. Hònh 1-1 Sûå húåp nhêëát cûa UML
_ Modeling (mư hònh hốa) gip chng ta hiïíu àûúåc thïë giúái thûåc, mư hònh hốa
thïë giúái thûåc àïí cố thïí hiïíu àûúåc nhûäng àùåc trûng, tđnh toấn cấc thưng sưë vâ dûå
àoấn kïët quẫ sệ àẩt àûúåc.
_ Language (ngưn ngûä) chûác nùng ca UML nhû lâ mưåt phûúng tiïån àïí bây tỗ
vâ trao àưíi tri thûác. Nố cố bưën àùåc àiïím ch ëu cố thïí phên biïåt vúái cấc ngưn

ngûä mư hònh hốa khấc
- General-purpose - àa dng
- Broadly applicable – cố thïí ûáng dng rưång rậi
- Tool-supported – àûúåc hưỵ trúå búãi cấc cưng c
- Industry standardized – chín cưng nghiïåp
1.3. Ngun nhên ra àúâi
Sûå ra àúâi ca UML lâ mưåt têët ëu khấch quan trûúác sûå bng nưỵ ca ngânh
cưng nghïå thưng tin, nố lâm nưỵi bêåt nhûäng xu hûúáng then chưët trong ngânh cưng
nghïå phêìn mïìm, àûa ra àûúåc nhûäng vêën àïì do sûå phên rậ ca nhûäng phûúng
thûác mư hònh hốa trûúác àêy gêy ra. UML àûúåc hònh thânh trïn cú súã ca cấc vêën
àïì chđnh - tẩi sao chng ta lẩi cêìn mư hònh hốa phêìn mïìm, xu hûúáng phất triïín
trong ngânh cưng nghïå phêìn mïìm ngây nay, sûå hưåi t ca cấc cưng nghïå...






SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
26




Chûúng 1
TƯÍNG QUAN 4


1.4. Têìm quan trổng ca viïåc mư hònh hốa
Mư hònh lâ gò ? Àố chđnh lâ sûå àún giẫn hốa ca thïë giúái thûåc.

Hònh 1-2 Kiïëán trc mưåt ngưi nhâ
_ Viïåc phất triïín mưåt mư hònh cho mưåt hïå thưëng trong cưng nghïå phêìn mïìm
cng cêìn thiïët nhû lâ viïåc lêåp mưåt bẫng thiïët kïë cho mưåt tôa nhâ lúán.
_ Nhûäng mư hònh tưët gip cho viïåc phưëi húåp giûäa cấc nhốm phất triïín tưët hún.
_ Chng ta cêìn xêy dûång mư hònh cho nhûäng hïå thưëng phûác tẩp búãi vò chng ta
khưng thïí hiïíu àûúåc toân bưå hïå thưëng trong mưåt mưi trûúâng rưång lúán nhû thïë,
khi sûå phûác tẩp ca hïå thưëng câng tùng, thò nố cng àôi hỗi k thåt mư hònh hốa
tưët hún. Viïåc xêy dûång mư hònh gip chng ta hiïíu rộ hún vïì hïå thưëng mâ chng
ta àang xêy dûång.
_ Mư hònh cung cêëp cho chng ta mưåt khn mêỵu vïì thïë giúái thûåc, gip chng ta
cố thïí àõnh hûúáng trong qa trònh xêy dûång, cố thïí tđnh toấn cấc chi phđ, xấc
àõnh cấc ri ro, lâm sûu liïåu cho hïå thưëng...
_ Trong cấc nhên tưë quët àõnh àïën sûå thânh cưng ca dûå ấn, nhên tưë cêìn thiïët lâ
mưåt mư hònh chín, àùåc tẫ àêìy à, chi tiïët vïì thïë giúái thûåc.
_ Trong mưåt hïå thưëng mâ àưå phûác tẩp câng tùng, viïåc trûåc quan hốa vâ mư hònh
hốa câng cêìn thiïët. Ngưn ngûä UML lâ mưåt sûå lûåa chổn hoân hẫo vâ trïn thûåc tïë
nố cng àậ àûúåc sûã dng vâ àûúåc chêëp nhêån rưång rậi trïn thïë giúái.






SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
27



Chûúng 1
TƯÍNG QUAN 5


1.5. Xu hûúáng phất triïín trong ngânh cưng nghïå phêìn mïìm
– Phất triïín vïì phẩm vi, qui mư, chêët lûúång vâ tûå àưång hốa trong qa trònh phất
triïín phêìn mïìm
_ Vò giấ trõ ca nhûäng phêìn mïìm chiïën lûúåc tùng lïn úã nhiïìu cưng ty, ngânh
cưng nghiïåp nây àậ vâ àang tòm kiïëm nhûäng k thåt àïí cố thïí tûå àưång sẫn xët
ra cấc sẫn phêím phêìn mïìm.
_ Tòm kiïëm cấc k thåt cưng nghïå múái àïí cố thïí nêng cao chêët lûúång, giẫm giấ
thânh vâ giẫm thúâi gian àûa sẫn phêím ra thõ trûúâng, nhûäng k thåt àố bao gưìm
component technology, visual programming, patterns, frameworks... ngoâi ra
côn cố nhûäng k thåt dng àïí quẫn l nhûäng dûå ấn lúán ngây câng tùng vïì phẩm
vi vâ qui mư.
_ Àưå phûác tẩp ca cưng viïåc, ca cấc bâi toấn ngây câng tùng, vâ ty thåc vâo
lơnh vûåc ûáng dng cng nhû cấc cưng àoẩn trong tiïën trònh phất triïín phêìn mïìm.
_ Mưåt trong nhûäng àưång cú chđnh ca nhûäng nhâ phất triïín UML lâ tẩo ra mưåt
bưå cấc ngûä nghơa vâ k hiïåu nhùçm phc v cho nhûäng dûå ấn cố kiïën trc phûác
tẩp trïn nhûäng phẩm vi vâ lơnh vûåc ûáng dng khấc nhau.








SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
28




Chûúng 1
TƯÍNG QUAN 6


1.3.3. Sûå hưåi t ca cấc cưng nghïå
_ Trûúác khi UML ra àúâi, khưng cố ngưn ngûä mư hònh hốa nâo trưåi hún hùèn cấc
ngưn ngûä khấc. Ngûúâi dng phẫi lûåa chổn trong nhûäng ngưn ngûä khấ tûúng tûå
nhau vúái nhûäng khấc biïåt nhỗ vâ cng chia sệ trïn mưåt têåp khấi niïåm chung.
_ Chđnh sûå thiïëu tûúng àưìng nây àậ ngùn cẫn nhûäng ngûúâi múái tiïëp cêån vúái cấc
k thåt hûúáng àưëi tûúång vâ mư hònh hûúáng àưëi tûúång.
_ Viïåc thûúâng xun phẫi chi phđ cho viïåc sûã dng vâ hưỵ trúå cho nhiïìu ngưn ngûä
mư hònh hốa àậ thc àêíy nhiïìu cưng ty àêìu tû vâo sẫn xët hóåc sûã dng k
thåt múái, hổ tấn thânh vâ hưỵ trúå cho viïåc phất triïín ngưn ngûä UML.
_ Trong khi UML khưng hûáa hển àûúåc nhûäng thânh cưng thò nố àậ lâm àûúåc
nhiïìu àiïìu, chùèng hẩn nhû:
+ Lâm giẫm àấng kïí nhûäng chi phđ thûúâng xun cho viïåc hën luån vâ
thay àưíi cưng c khi thay àưíi dûå ấn hóåc tưí chûác.
+ Cung cêëp cú hưåi cho viïåc tđch húåp múái giûäa cấc cưng c, cấc tiïën trònh
vâ cấc domains.
+ Tẩo ra mưåt kiïíu mêỵu chín, thưëng nhêët cho cấc cưng viïåc.











SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
29




Chûúng 1
TƯÍNG QUAN 7

1.7. UML húåp nhêët cấc tûúãng nưỵi bêåt vâ nhûäng vêën àïì thûåc tïë trong quấ
trònh phất triïín ca cưng nghïå phêìn mïìm..
Cấc nhâ phất triïín àậ cưë gùỉng duy trò tđnh àún giẫn ca UML, loẩi bỗ cấc
thânh phêìn khưng àûúåc sûã dng trong thûåc tïë tûâ cấc phûúng phấp Booch, OMT,
OOSE, thïm cấc thânh phêìn vâ tûúãng hiïåu quẫ hún tûâ cấc phûúng
phấp khấc nhau vâ chó xêy dûång múái cấc phêìn cêìn thiïët. Mưåt sưë khấi niïåm
múái àậ àûúåc sûã dng trong UML bao gưìm :
_ Cú chïë múã rưång (extension mechanism)
_ Lìng (thread) vâ tiïën trònh (process)
_ Sûå phên tấn (distribution) vâ àưìng thúâi (concurrency) (dng àïí mư hònh hốa
cấc ûáng dng ActiveX, DCOM vâ CORBA)
_ Khn mêỵu (patterns) vâ sûå cưång tấc (collabarations)
_ Nhûäng lûúåc àưì hoẩt àưång - activity diagrams (cho business modeling)
_ Sûå chổn lổc - refinement (xûã l cấc mưëi liïn quan giûäa cấc mûác trûâu tûúång)
_ Giao diïån (interface) vâ thânh phêìn (component)
_ Ngưn ngûä mư tẫ râng båc (constraint language)
Mưåt sưë trong cấc tûúãng trïn cố thïí àûúåc tòm thêëy trong cấc phûúng phấp khấc
nhau, tuy nhiïn, UML àậ liïn kïët chng chùåt chệ vúái nhau. Thïm vâo àố lâ mưåt
sưë cẫi tiïën mang tđnh cc bưå trïn ba phûúng phấp Booch, OMT, OOSE bao gưìm
cẫ vïì ngûä nghơa vâ lêỵn k hiïåu. UML àûúåc phất triïín dûåa trïn Booch, OMT,
OOSE vâ cấc phûúng phấp hûúáng àưëi tûúång khấc, cấc ngìn khấc nhau nây kïët

húåp nhiïìu tûúãng khấc nhau tûâ nhiïìu tấc giẫ. Cố thïí nối tûúãng ca UML dûåa
trïn nhûäng k thåt hûúáng àưëi tûúång vâ cng chõu ẫnh hûúãng ca mưåt sưë phûúng
phấp khưng hûúáng àưëi tûúång khấc. Cấc nhâ phất triïín UML khưng tẩo ra hêìu hïët
cấc tûúãng nây mâ vai trô ca hổ lâ chổn lổc vâ tđch húåp cấc tûúãng nưỵi bêåt
trong mư hònh hốa hûúáng àưëi tûúång vâ cấc vêën àïì thûåc tïë ca cưng nghïå phêìn
mïìm.
Hònh 1-3 Nïìn tẫng ca UML

×