Luận văn: Nghiên cứu ngôn ngữ UML và ứng dụng

7,339
671
171
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
31
http://www.ebooks.vdcmedia.com
thaânh viïn trong qui trònh phaát triïín phêìn mïìm vaâ àûúåc tñch húåp vúái nhau àïí taåo
nïn tri thûác mö taã hïå thöëng, nhûäng vêën àïì cuäng nhû caách thûác thûåc hiïån àïí giaãi
quyïët chuáng.
UML àûúåc aáp duång röång raäi, coá thïí mö hònh hoáa nhiïìu loaåi hïå thöëng khaác
nhau UML coá thïí àûúåc aáp duång trïn nhiïìu phaåm vi úã nhiïìu lônh vûåc khaác nhau,
caác hïå thöëng khaác nhau kïí caã caác hïå thöëng khöng phaãi phêìn mïìm. UML coá thïí
mö hònh hoáa nhiïìu loaåi hïå thöëng khaác nhau nhû : hïå thöëng quaãn lyá thöng tin, hïå
thöëng thúâi gian thûåc, hïå thöëng xûã lyá phên taán, caác phêìn mïìm hïå thöëng, hïå àiïìu
haânh, cú súã dûä liïåu...
Chûúng 1
TÖÍNG QUAN 10
1.10. UML àûúåc höî trúå búãi caác cöng ty, cöng cuå phaát triïín phêìn mïìm
Nhiïìu nhaâ phaát triïín cöng cuå, tham gia hay khöng tham gia vaâo UML
Partner Consortium höî trúå UML nhùçm muåc àñch thuác àêíy viïåc sûã duång UML
trong töí chûác. Nhêån thêëy àûúåc lúåi ñch cuãa UML, caác nhaâ phaát triïín àaä xêy ång
caác cöng cuå höî trúå UML àïí dïî daâng nùæm bùæt vaâ xûã lyá caác tri thûác cho muåc àñch
cuãa mònh.
1.10.1. UML laâ möåt chuêín cöng nghiïåp
UML khöng laâ möåt ngön ngûä àöåc quyïìn mang tñnh chêët kheáp kñn maâ hoaân
toaân coá khaã nùng múã röång. UML coá thïí àûúåc àiïìu chónh nhùçm àaáp ûáng
yïu cêìu riïng cuãa möåt töë chûác phaát triïín phêìn mïìm.
1.10.2. Caác lúåi ñch cuãa UML
Coá thïí mö hònh hoáa nhiïìu loaåi hïå thöëng, coá thïí duâng trong nhûäng pha
khaác nhau cuãa qui trònh phaát triïín phêìn mïìm.
UML laâ sûå thöëng nhêët caác khaái niïåm mö hònh hoáa nïìn taãng cuãa nhûäng nhaâ
nghiïn cûáu vaâ phaát triïín cöng nghïå hûúáng àöëi tûúång. UML cung cêëp möåt söë tñnh
nùng sau
_ Àêìy àuã ngûä nghôa vaâ kyá hiïåu àïí giaãi quyïët trûåc tiïëp vaâ kinh tïë caác vêën àïí hiïån
taåi trong mö hònh hoáa.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 31 http://www.ebooks.vdcmedia.com thaânh viïn trong qui trònh phaát triïín phêìn mïìm vaâ àûúåc tñch húåp vúái nhau àïí taåo nïn tri thûác mö taã hïå thöëng, nhûäng vêën àïì cuäng nhû caách thûác thûåc hiïån àïí giaãi quyïët chuáng. UML àûúåc aáp duång röång raäi, coá thïí mö hònh hoáa nhiïìu loaåi hïå thöëng khaác nhau UML coá thïí àûúåc aáp duång trïn nhiïìu phaåm vi úã nhiïìu lônh vûåc khaác nhau, caác hïå thöëng khaác nhau kïí caã caác hïå thöëng khöng phaãi phêìn mïìm. UML coá thïí mö hònh hoáa nhiïìu loaåi hïå thöëng khaác nhau nhû : hïå thöëng quaãn lyá thöng tin, hïå thöëng thúâi gian thûåc, hïå thöëng xûã lyá phên taán, caác phêìn mïìm hïå thöëng, hïå àiïìu haânh, cú súã dûä liïåu... Chûúng 1 TÖÍNG QUAN 10 1.10. UML àûúåc höî trúå búãi caác cöng ty, cöng cuå phaát triïín phêìn mïìm Nhiïìu nhaâ phaát triïín cöng cuå, tham gia hay khöng tham gia vaâo UML Partner Consortium höî trúå UML nhùçm muåc àñch thuác àêíy viïåc sûã duång UML trong töí chûác. Nhêån thêëy àûúåc lúåi ñch cuãa UML, caác nhaâ phaát triïín àaä xêy dûång caác cöng cuå höî trúå UML àïí dïî daâng nùæm bùæt vaâ xûã lyá caác tri thûác cho muåc àñch cuãa mònh. 1.10.1. UML laâ möåt chuêín cöng nghiïåp UML khöng laâ möåt ngön ngûä àöåc quyïìn mang tñnh chêët kheáp kñn maâ hoaân toaân coá khaã nùng múã röång. UML coá thïí àûúåc àiïìu chónh nhùçm àaáp ûáng yïu cêìu riïng cuãa möåt töë chûác phaát triïín phêìn mïìm. 1.10.2. Caác lúåi ñch cuãa UML Coá thïí mö hònh hoáa nhiïìu loaåi hïå thöëng, coá thïí duâng trong nhûäng pha khaác nhau cuãa qui trònh phaát triïín phêìn mïìm. UML laâ sûå thöëng nhêët caác khaái niïåm mö hònh hoáa nïìn taãng cuãa nhûäng nhaâ nghiïn cûáu vaâ phaát triïín cöng nghïå hûúáng àöëi tûúång. UML cung cêëp möåt söë tñnh nùng sau _ Àêìy àuã ngûä nghôa vaâ kyá hiïåu àïí giaãi quyïët trûåc tiïëp vaâ kinh tïë caác vêën àïí hiïån taåi trong mö hònh hoáa.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
32
http://www.ebooks.vdcmedia.com
_ Àêìy àuã ngûä nghôa àïí giaãi quyïët möåt söë khoá khùn tûúng lai trong mö hònh hoáa
àùåc biïåt liïn quan àïën cöng nghïå component, xûã lyá phên taán, framework vaâ
executability.
_ Cú chïë múã röång metamodel cho mö hònh hoáa caác ûáng duång àùåc biïåt. Cú chïë
naây cuäng khiïën cho caác hûúáng tiïëp cêån mö hònh hoáa tûúng lai coá thïí phaát triïín
dûåa trïn nïìn taãng UML.
_ Àêìy àuã ngûä nghôa àïí dïî daâng chuyïín àöíi mö hònh giûäa caác cöng cuå höî trúå
phên tñch thiïët kïë khaác nhau cuäng nhû àõnh roä giao tiïëp vúái caác repository àïí lûu
trûä vaâ chia xeã caác thaânh phêìn mö hònh.
Chûúng 1
TÖÍNG QUAN 11
1.11. Àöëi vúái ngûúâi sûã duång UML
Cung cêëp möåt ngön ngûä mö hònh hoáa trûåc quan mang tñnh diïîn àaåt cao àïí
phaát triïín vaâ trao àöíi giûäa caác mö hònh. Möåt ngön ngûä mö hònh hoáa noái chung
àûúåc cêëu truác dûåa trïn caác thaânh phêìn cú baãn nhêët úã mûác meta-meta. Nïëu cêëu
truác naây thay àöíi theo möåt têåp caác khaái niïåm mö hònh hoáa khaác nhau theo caác
phûúng phaáp khaác nhau thò viïåc chuyïín àöíi giûäa caác mö hònh seä khöng traánh
khoãi mêët maát thöng tin. Àïí khùæc phuåc vêën àïì naây, UML àaä têåp húåp caác khaái
niïåm mö hònh hoáa cöët loäi (core modeling concepts) àûúåc sûã duång trong nhiïìu
phûúng phaáp vaâ cöng cuå mö hònh hoáa khaác nhau. Caác khaái niïåm naây coá thïí höî
trúå cho phaåm vi lúán caác ûáng duång. Ngoaâi ra, caác khaái niïåm mö hònh hoáa úã mûác
thêëp hún vaâ cuå thïí hún cho viïåc giao tiïëp cuäng àûúåc àõnh nghôa cho ngûúâi sûã
duång àïí mö hònh hoáa möåt hïå thöëng cuå thïí.
1.11.1. UML cung cêëp cú chïë múã röång vaâ àùåc biïåt hoáa àïí múã röång caác khaái
niïåm cöët loäi.
Dûåa trïn nhûäng khaái niïåm àaä àûúåc àõnh nghôa naây, OMG mong àúåi úã
UML khaã nùng biïën àöíi àïí àaáp ûáng caác yïu cêìu múái cuãa nhûäng phaåm vi ûáng
duång àùåc biïåt. Caác nhaâ phaát triïín UML khöng muöën rùçng möîi khi coá thay àöíi thò
caác khaái niïåm cöët loäi phaãi àûúåc àõnh nghôa laåi. Vò vêåy, hoå tin rùçng viïåc àûa ra cú
chïë múã röång cho UML seä höî trúå nhûäng xu hûúáng phaát triïín múái. Ngûúâi sûã duång
coá thïí khai thaác caác tñnh nùng sau cuãa UML
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 32 http://www.ebooks.vdcmedia.com _ Àêìy àuã ngûä nghôa àïí giaãi quyïët möåt söë khoá khùn tûúng lai trong mö hònh hoáa àùåc biïåt liïn quan àïën cöng nghïå component, xûã lyá phên taán, framework vaâ executability. _ Cú chïë múã röång metamodel cho mö hònh hoáa caác ûáng duång àùåc biïåt. Cú chïë naây cuäng khiïën cho caác hûúáng tiïëp cêån mö hònh hoáa tûúng lai coá thïí phaát triïín dûåa trïn nïìn taãng UML. _ Àêìy àuã ngûä nghôa àïí dïî daâng chuyïín àöíi mö hònh giûäa caác cöng cuå höî trúå phên tñch thiïët kïë khaác nhau cuäng nhû àõnh roä giao tiïëp vúái caác repository àïí lûu trûä vaâ chia xeã caác thaânh phêìn mö hònh. Chûúng 1 TÖÍNG QUAN 11 1.11. Àöëi vúái ngûúâi sûã duång UML Cung cêëp möåt ngön ngûä mö hònh hoáa trûåc quan mang tñnh diïîn àaåt cao àïí phaát triïín vaâ trao àöíi giûäa caác mö hònh. Möåt ngön ngûä mö hònh hoáa noái chung àûúåc cêëu truác dûåa trïn caác thaânh phêìn cú baãn nhêët úã mûác meta-meta. Nïëu cêëu truác naây thay àöíi theo möåt têåp caác khaái niïåm mö hònh hoáa khaác nhau theo caác phûúng phaáp khaác nhau thò viïåc chuyïín àöíi giûäa caác mö hònh seä khöng traánh khoãi mêët maát thöng tin. Àïí khùæc phuåc vêën àïì naây, UML àaä têåp húåp caác khaái niïåm mö hònh hoáa cöët loäi (core modeling concepts) àûúåc sûã duång trong nhiïìu phûúng phaáp vaâ cöng cuå mö hònh hoáa khaác nhau. Caác khaái niïåm naây coá thïí höî trúå cho phaåm vi lúán caác ûáng duång. Ngoaâi ra, caác khaái niïåm mö hònh hoáa úã mûác thêëp hún vaâ cuå thïí hún cho viïåc giao tiïëp cuäng àûúåc àõnh nghôa cho ngûúâi sûã duång àïí mö hònh hoáa möåt hïå thöëng cuå thïí. 1.11.1. UML cung cêëp cú chïë múã röång vaâ àùåc biïåt hoáa àïí múã röång caác khaái niïåm cöët loäi. Dûåa trïn nhûäng khaái niïåm àaä àûúåc àõnh nghôa naây, OMG mong àúåi úã UML khaã nùng biïën àöíi àïí àaáp ûáng caác yïu cêìu múái cuãa nhûäng phaåm vi ûáng duång àùåc biïåt. Caác nhaâ phaát triïín UML khöng muöën rùçng möîi khi coá thay àöíi thò caác khaái niïåm cöët loäi phaãi àûúåc àõnh nghôa laåi. Vò vêåy, hoå tin rùçng viïåc àûa ra cú chïë múã röång cho UML seä höî trúå nhûäng xu hûúáng phaát triïín múái. Ngûúâi sûã duång coá thïí khai thaác caác tñnh nùng sau cuãa UML
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
33
http://www.ebooks.vdcmedia.com
_ Xêy dûång mö hònh bùçng caách sûã duång nhûäng thaânh phêìn cú baãn àaä àûúåc àõnh
nghôa khöng sûã duång cú chïë múã röång cho hêìu hïët caác ûáng duång thöng thûúâng.
_ Thïm caác khaái niïåm vaâ kyá hiïåu múái cho nhûäng vûúáng mùæc khöng giaãi quyïët
àûúåc vúái caác khaái niïåm cú baãn.
_ Àùåc biïåt hoáa caác khaái niïåm, kyá hiïåu vaâ raâng buöåc cho möåt phaåm vi ûáng duång
(application domain) cuå thïí.
Chûúng 1
TÖÍNG QUAN 12
1.12. UML àêíy maånh taái sûã duång trong nïìn cöng nghïå phêìn mïìm.
Taái sûã duång laâ möåt trong nhûäng vêën àïì àûúåc quan têm haâng àêìu trong
cöng nghïå phêìn mïìm. Nguyïn tùæc cuãa taái sûã duång laâ dûåa trïn caác thaânh phêìn
hiïån coá àaä àûúåc kiïím chûáng vïì chêët lûúång vaâ chó xêy dûång caác thaânh phêìn múái
khi thûåc sûå cêìn thiïët. Àiïìu naây khöng nhûäng giuáp àûúng àêìu vúái mûác àöå phûác
taåp ngaây caâng cao cuãa ûáng duång maâ coân giaãm chi phñ, giaãm thúâi gian phaát triïín
vaâ tùng khaã nùng caånh tranh cuãa nhaâ phaát triïín phêìn mïìm. UML cho pheáp taái sûã
duång hiïåu quaã caác thaânh phêìn cuãa möåt hïå thöëng vò àûúåc xêy dûång trïn nïìn taãng
hûúáng àöëi tûúång. Ngoaâi ra, UML coân höî trúå caác khaái niïåm phaát triïín phêìn mïìm
mûác cao nhû collabarations, frameworks, patterns vaâ components. Ngûä nghôa
cuãa chuáng àûúåc àõnh nghôa rêët roä raâng vaâ àiïìu naây giuáp àaåt àûúåc nhûäng giaá trõ
thûåc sûå àêìy àuã cuãa hûúáng àöëi tûúång vaâ taái sûã duång.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 33 http://www.ebooks.vdcmedia.com _ Xêy dûång mö hònh bùçng caách sûã duång nhûäng thaânh phêìn cú baãn àaä àûúåc àõnh nghôa khöng sûã duång cú chïë múã röång cho hêìu hïët caác ûáng duång thöng thûúâng. _ Thïm caác khaái niïåm vaâ kyá hiïåu múái cho nhûäng vûúáng mùæc khöng giaãi quyïët àûúåc vúái caác khaái niïåm cú baãn. _ Àùåc biïåt hoáa caác khaái niïåm, kyá hiïåu vaâ raâng buöåc cho möåt phaåm vi ûáng duång (application domain) cuå thïí. Chûúng 1 TÖÍNG QUAN 12 1.12. UML àêíy maånh taái sûã duång trong nïìn cöng nghïå phêìn mïìm. Taái sûã duång laâ möåt trong nhûäng vêën àïì àûúåc quan têm haâng àêìu trong cöng nghïå phêìn mïìm. Nguyïn tùæc cuãa taái sûã duång laâ dûåa trïn caác thaânh phêìn hiïån coá àaä àûúåc kiïím chûáng vïì chêët lûúång vaâ chó xêy dûång caác thaânh phêìn múái khi thûåc sûå cêìn thiïët. Àiïìu naây khöng nhûäng giuáp àûúng àêìu vúái mûác àöå phûác taåp ngaây caâng cao cuãa ûáng duång maâ coân giaãm chi phñ, giaãm thúâi gian phaát triïín vaâ tùng khaã nùng caånh tranh cuãa nhaâ phaát triïín phêìn mïìm. UML cho pheáp taái sûã duång hiïåu quaã caác thaânh phêìn cuãa möåt hïå thöëng vò àûúåc xêy dûång trïn nïìn taãng hûúáng àöëi tûúång. Ngoaâi ra, UML coân höî trúå caác khaái niïåm phaát triïín phêìn mïìm mûác cao nhû collabarations, frameworks, patterns vaâ components. Ngûä nghôa cuãa chuáng àûúåc àõnh nghôa rêët roä raâng vaâ àiïìu naây giuáp àaåt àûúåc nhûäng giaá trõ thûåc sûå àêìy àuã cuãa hûúáng àöëi tûúång vaâ taái sûã duång.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
34
http://www.ebooks.vdcmedia.com
Chûúng 1
TÖÍNG QUAN 13
1.13. So saánh vúái caác phûúng phaáp khaác
UML khöng hoaân toaân taách biïåt khoãi ba phûúng phaáp cú baãn laâ Booch,
OMT(Object Modeling Technique), OOSE (Object-Oriented Software
Engineering) maâ noá töíng húåp nhûäng tinh hoa cuãa caã ba phûúng phaáp trïn. Vò
vêåy nïëu trûúác àêy baån tûâng laâ ngûúâi sûã duång caác phûúng phaáp Booch, OMT,
OOSE thò nhûäng kiïën thûác, kinh nghiïåm, caác cöng cuå vêîn coân coá giaá trõ sûã duång.
UML coá thïí mö taã hïå thöëng möåt caách roä raâng vaâ thöëng nhêët hún so vúái caác
phûúng phaáp Booch, OMT, OOSE vaâ caác ngön ngûä khaác. Àiïìu naây coá nghôa
rùçng viïåc chuyïín qua duâng UML seä mang àïën cho ngûúâi sûã duång möåt gña trõ
nhêët àõnh naâo àoá, búãi vò noá cho pheáp baån lêåp mö hònh moåi cöng viïåc trong dûå aán,
àiïìu maâ trûúác àêy chûa coá ngön ngûä naâo laâm àûúåc.
Nhûäng ngûúâi trûúác àêy àaä tûâng duâng caác phûúng thûác vaâ caác ngön ngûä
mö hònh hoáa khaác seä coá àûúåc lúåi ñch khi chuyïín qua sûã duång ngön ngûä UML, noá
giuáp cho hoå loaåi boã nhûäng khaác biïåt khöng cêìn thiïët vïì ngûä nghôa vaâ kyä thuêåt
thûúâng xaãy ra úã hêìu hïët nhûäng ngön ngûä, nhûäng phûúng phaáp àaä àïì cêåp úã trïn.
UML coá hïå thöëng kyá hiïåu rêët roä raâng, mang tñnh thöëng nhêët cao, àûúåc höî trúå búãi
nhiïìu cöng cuå phaát triïín phêìn mïìm. Àöìng thúâi, trïn möåt cöng cuå coá höî trúå
UML, ngûúâi duâng coá thïí chuyïín àöíi caác mö hònh hiïån taåi cuãa hoå sang UML maâ
khöng súå mêët ài thöng tin naâo.
Àöëi vúái nhûäng ngûúâi àaä biïët àïën möåt phûúng phaáp hûúáng àöëi tûúång trûúác
àoá, seä coá thïí hoåc UML trong möåt thúâi gian khaá ngùæn àïí coá thïí àaåt àûúåc möåt
trònh àöå tûúng ûáng so vúái phûúng phaáp maâ hoå àaä biïët trûúác àêy.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 34 http://www.ebooks.vdcmedia.com Chûúng 1 TÖÍNG QUAN 13 1.13. So saánh vúái caác phûúng phaáp khaác UML khöng hoaân toaân taách biïåt khoãi ba phûúng phaáp cú baãn laâ Booch, OMT(Object Modeling Technique), OOSE (Object-Oriented Software Engineering) maâ noá töíng húåp nhûäng tinh hoa cuãa caã ba phûúng phaáp trïn. Vò vêåy nïëu trûúác àêy baån tûâng laâ ngûúâi sûã duång caác phûúng phaáp Booch, OMT, OOSE thò nhûäng kiïën thûác, kinh nghiïåm, caác cöng cuå vêîn coân coá giaá trõ sûã duång. UML coá thïí mö taã hïå thöëng möåt caách roä raâng vaâ thöëng nhêët hún so vúái caác phûúng phaáp Booch, OMT, OOSE vaâ caác ngön ngûä khaác. Àiïìu naây coá nghôa rùçng viïåc chuyïín qua duâng UML seä mang àïën cho ngûúâi sûã duång möåt gña trõ nhêët àõnh naâo àoá, búãi vò noá cho pheáp baån lêåp mö hònh moåi cöng viïåc trong dûå aán, àiïìu maâ trûúác àêy chûa coá ngön ngûä naâo laâm àûúåc. Nhûäng ngûúâi trûúác àêy àaä tûâng duâng caác phûúng thûác vaâ caác ngön ngûä mö hònh hoáa khaác seä coá àûúåc lúåi ñch khi chuyïín qua sûã duång ngön ngûä UML, noá giuáp cho hoå loaåi boã nhûäng khaác biïåt khöng cêìn thiïët vïì ngûä nghôa vaâ kyä thuêåt thûúâng xaãy ra úã hêìu hïët nhûäng ngön ngûä, nhûäng phûúng phaáp àaä àïì cêåp úã trïn. UML coá hïå thöëng kyá hiïåu rêët roä raâng, mang tñnh thöëng nhêët cao, àûúåc höî trúå búãi nhiïìu cöng cuå phaát triïín phêìn mïìm. Àöìng thúâi, trïn möåt cöng cuå coá höî trúå UML, ngûúâi duâng coá thïí chuyïín àöíi caác mö hònh hiïån taåi cuãa hoå sang UML maâ khöng súå mêët ài thöng tin naâo. Àöëi vúái nhûäng ngûúâi àaä biïët àïën möåt phûúng phaáp hûúáng àöëi tûúång trûúác àoá, seä coá thïí hoåc UML trong möåt thúâi gian khaá ngùæn àïí coá thïí àaåt àûúåc möåt trònh àöå tûúng ûáng so vúái phûúng phaáp maâ hoå àaä biïët trûúác àêy.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
35
http://www.ebooks.vdcmedia.com
Chûúng 1
TÖÍNG QUAN 14
UML laâ sûå húåp nhêët cuãa caác phûúng phaáp hûúáng àöëi tûúång, vò vêåy noá
cuäng kïë thûâa möåt söë khaái niïåm tûâ caác phûúng phaáp naây, vñ duå nhû :
_ Lûúåc àöì Use-case tûúng tûå nhû trong phûúng phaáp OOSE.
_ Lûúåc àöì lúáp àûúåc kïët húåp tûâ OMT vaâ Booch vaâ hêìu hïët nhûäng phûúng phaáp
hûúáng àöëi tûúång khaác.
_ Cú chïë múã röång (extension mechanism) àûúåc àõnh nghôa trïn nhiïìu loaåi lûúåc
àöì vaâ höî trúå cho nhiïìu loaåi mö hònh cuãa UML àïí taåo ra caác thaânh phêìn àa daång
mang àùåc àiïím riïng biïåt cuãa hïå thöëng nhùçm muåc àñch höî trúå caác goác àöå mö
hònh hoáa khaác nhau. Nhiïìu khaái niïåm múái àûúåc böí sung liïn quan àïën cú chïë
múã röång trûúác àêy chûa tûâng àûúåc mö taã trong caác caác ngön ngûä mö hònh hoáa
chuã yïëu khaác bao göìm caác khuön mêîu (stereotypes), caác raâng buöåc (constraints)
vaâ giaá trõ àñnh keâm (tagged Values).
_ Lûúåc àöì State-chart cú baãn dûåa trïn lûúåc àöì cuâng loaåi cuãa David Harel vúái
möåt ñt thay àöíi nhoã. Lûúåc àöì hoaåt àöång cuäng dûåa trïn phêìn lúán caác ngûä nghôa cú
baãn duâng àïí àõnh nghôa State-chart cuãa UML vaâ tûúng tûå nhû lûúåc àöì luöìng
cöng viïåc (workflow diagram) trong nhiïìu phûúng phaáp khaác.
_ Lûúåc àöì tuêìn tûå àûúåc tòm thêëy trong nhiïìu phûúng phaáp hûúáng àöëi tûúång dûúái
nhiïìu tïn goåi khaác nhau (interaction, message trace hoùåc event trace).
_ Lûúåc àöì cöång taác (collaboration diagram) àûúåc sûãa àöíi laåi tûâ lûúåc àöì àöëi tûúång
(object diagram) cuãa Booch vaâ lûúåc àöì tûúng taác àöëi tûúång (object interaction)
cuãa Fusion.
_ Lûúåc àöì thûåc thi (Implementation diagram) hay coân goåi laâ lûúåc àöì thaânh phêìn
vaâ triïín khai bùæt nguöìn tûâ phûúng phaáp cuãa Booch. Tuy nhiïn, chuáng giúâ àêy
mang tñnh chêët hûúáng thaânh phêìn (componentcentered) vaâ liïn kïët vúái nhau töët
hún nhiïìu so vúái trûúác.
_ Stereotypes laâ möåt trong ba cú chïë múã röång ngûä nghôa cuãa caác thaânh phêìn
UML sùén coá. Caác stereotype cho pheáp biïën àöíi UML theo hûúáng múã röång nghôa
laâ taåo ra caác thaânh phêìn mang ngûä nghôa múái àùåc trûng riïng cuãa hïå thöëng maâ
vêîn giûä nguyïn caác thaânh phêìn àaä àõnh nghôa.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 35 http://www.ebooks.vdcmedia.com Chûúng 1 TÖÍNG QUAN 14 UML laâ sûå húåp nhêët cuãa caác phûúng phaáp hûúáng àöëi tûúång, vò vêåy noá cuäng kïë thûâa möåt söë khaái niïåm tûâ caác phûúng phaáp naây, vñ duå nhû : _ Lûúåc àöì Use-case tûúng tûå nhû trong phûúng phaáp OOSE. _ Lûúåc àöì lúáp àûúåc kïët húåp tûâ OMT vaâ Booch vaâ hêìu hïët nhûäng phûúng phaáp hûúáng àöëi tûúång khaác. _ Cú chïë múã röång (extension mechanism) àûúåc àõnh nghôa trïn nhiïìu loaåi lûúåc àöì vaâ höî trúå cho nhiïìu loaåi mö hònh cuãa UML àïí taåo ra caác thaânh phêìn àa daång mang àùåc àiïím riïng biïåt cuãa hïå thöëng nhùçm muåc àñch höî trúå caác goác àöå mö hònh hoáa khaác nhau. Nhiïìu khaái niïåm múái àûúåc böí sung liïn quan àïën cú chïë múã röång trûúác àêy chûa tûâng àûúåc mö taã trong caác caác ngön ngûä mö hònh hoáa chuã yïëu khaác bao göìm caác khuön mêîu (stereotypes), caác raâng buöåc (constraints) vaâ giaá trõ àñnh keâm (tagged Values). _ Lûúåc àöì State-chart cú baãn dûåa trïn lûúåc àöì cuâng loaåi cuãa David Harel vúái möåt ñt thay àöíi nhoã. Lûúåc àöì hoaåt àöång cuäng dûåa trïn phêìn lúán caác ngûä nghôa cú baãn duâng àïí àõnh nghôa State-chart cuãa UML vaâ tûúng tûå nhû lûúåc àöì luöìng cöng viïåc (workflow diagram) trong nhiïìu phûúng phaáp khaác. _ Lûúåc àöì tuêìn tûå àûúåc tòm thêëy trong nhiïìu phûúng phaáp hûúáng àöëi tûúång dûúái nhiïìu tïn goåi khaác nhau (interaction, message trace hoùåc event trace). _ Lûúåc àöì cöång taác (collaboration diagram) àûúåc sûãa àöíi laåi tûâ lûúåc àöì àöëi tûúång (object diagram) cuãa Booch vaâ lûúåc àöì tûúng taác àöëi tûúång (object interaction) cuãa Fusion. _ Lûúåc àöì thûåc thi (Implementation diagram) hay coân goåi laâ lûúåc àöì thaânh phêìn vaâ triïín khai bùæt nguöìn tûâ phûúng phaáp cuãa Booch. Tuy nhiïn, chuáng giúâ àêy mang tñnh chêët hûúáng thaânh phêìn (componentcentered) vaâ liïn kïët vúái nhau töët hún nhiïìu so vúái trûúác. _ Stereotypes laâ möåt trong ba cú chïë múã röång ngûä nghôa cuãa caác thaânh phêìn UML sùén coá. Caác stereotype cho pheáp biïën àöíi UML theo hûúáng múã röång nghôa laâ taåo ra caác thaânh phêìn mang ngûä nghôa múái àùåc trûng riïng cuãa hïå thöëng maâ vêîn giûä nguyïn caác thaânh phêìn àaä àõnh nghôa.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
36
http://www.ebooks.vdcmedia.com
_ Ngön ngûä mö taã raâng buöåc Object Constraint Language àûúåc UML sûã duång àïí
àùåc taã ngûä nghôa vaâ àûúåc xem laâ ngön ngûä mö taã trong quaá trònh mö hònh hoáa.
OCL coá nguöìn göëc tûâ phûúng phaáp Syntropy vaâ chõu aãnh hûúãng búãi möåt söë
ngön ngûä cuâng loaåi trong caác phaáp khaác nhû Catalysis nhûng àûúåc chuêín hoáa v
múã röång hún.
Chûúng 1
TÖÍNG QUAN 15
1.15. Lõch sûã phaát triïín
UML àûúåc phaát triïín búãi haäng Rational vaâ nhûäng àöëi taác. Àûúåc bùæt àêìu
phaát triïín vaâo thaáng 10 nùm 1994, khi Grady Booch vaâ Jim Rumbaugh bùæt àêìu
cöng viïåc húåp nhêët hai phûúng phaáp Booch vaâ OMT.
Hònh 1-4 Lõch sûã phaát triïín cuãa UML
Chûúng 1
TÖÍNG QUAN 16
Baãn phaác thaão cuãa phiïn baãn 0.8 àûúåc àûa ra vaâo thaáng 10 nùm 1995 vúái
tïn ban àêìu laâ Unified Method. Vaâo muâa thu nùm 1995, Ivar Jacobson cuâng
cöng ty cuãa öng àaä quyïët àõnh phöëi húåp vúái haäng Rational, bùçng nöî lûåc kïët húåp
thïm phûúng phaáp OOSE, àïí tiïëp tuåc phaát triïín Unified Method.
Vúái nhûäng nöî lûåc cuãa Booch, Rumbaugh, vaâ Jacobson àaä àûa ra phiïn
baãn 0.9 vaâ 0.91 vaâo thaáng 6 vaâ thaáng 10 nùm 1996 vúái tïn laâ UML. Trong suöët
nùm 1996, nhoám taác giaã cuãa UML àaä nhêån àûúåc rêët nhiïìu sûå phaãn höìi tûâ phña
ngûúâi sûã duång vaâ caác chuyïn gia trong lônh vûåc, hoå àuác kïët vaâ böí sung tûâ nhûäng
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 36 http://www.ebooks.vdcmedia.com _ Ngön ngûä mö taã raâng buöåc Object Constraint Language àûúåc UML sûã duång àïí àùåc taã ngûä nghôa vaâ àûúåc xem laâ ngön ngûä mö taã trong quaá trònh mö hònh hoáa. OCL coá nguöìn göëc tûâ phûúng phaáp Syntropy vaâ chõu aãnh hûúãng búãi möåt söë ngön ngûä cuâng loaåi trong caác phaáp khaác nhû Catalysis nhûng àûúåc chuêín hoáa vaâ múã röång hún. Chûúng 1 TÖÍNG QUAN 15 1.15. Lõch sûã phaát triïín UML àûúåc phaát triïín búãi haäng Rational vaâ nhûäng àöëi taác. Àûúåc bùæt àêìu phaát triïín vaâo thaáng 10 nùm 1994, khi Grady Booch vaâ Jim Rumbaugh bùæt àêìu cöng viïåc húåp nhêët hai phûúng phaáp Booch vaâ OMT. Hònh 1-4 Lõch sûã phaát triïín cuãa UML Chûúng 1 TÖÍNG QUAN 16 Baãn phaác thaão cuãa phiïn baãn 0.8 àûúåc àûa ra vaâo thaáng 10 nùm 1995 vúái tïn ban àêìu laâ Unified Method. Vaâo muâa thu nùm 1995, Ivar Jacobson cuâng cöng ty cuãa öng àaä quyïët àõnh phöëi húåp vúái haäng Rational, bùçng nöî lûåc kïët húåp thïm phûúng phaáp OOSE, àïí tiïëp tuåc phaát triïín Unified Method. Vúái nhûäng nöî lûåc cuãa Booch, Rumbaugh, vaâ Jacobson àaä àûa ra phiïn baãn 0.9 vaâ 0.91 vaâo thaáng 6 vaâ thaáng 10 nùm 1996 vúái tïn laâ UML. Trong suöët nùm 1996, nhoám taác giaã cuãa UML àaä nhêån àûúåc rêët nhiïìu sûå phaãn höìi tûâ phña ngûúâi sûã duång vaâ caác chuyïn gia trong lônh vûåc, hoå àuác kïët vaâ böí sung tûâ nhûäng
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
37
http://www.ebooks.vdcmedia.com
yá kiïën naây, nhûng roä raâng cêìn phaãi coá sûå quan têm nhiïìu hún nûäa tûâ phña ngûúâi
sûã duång. Tûâ àêy UML àûúåc sûå quan têm nhiïìu hún tûâ caác töí chûác, caác cöng ty
phêìn mïìm lúán, vaâ vúái sûå cöång taác cuãa nhûäng cöng ty haâng àêìu nhû Digital
Equipment, HP, IBM, Microsoft, Oracle... phiïn baãn UML 1.0 trúã thaânh möåt
ngön ngûä mö hònh hoáa àûúåc àõnh nghôa töët hún, roä raâng, dïî hiïíu, maånh hún vaâ
coá khaã nùng ûáng duång röång raäi.
Phiïn baãn UML 1.1 laâ sûå phaát triïín vïì mùåt ngûä nghôa cuãa phiïn baãn 1.0
àöìng thúâi cuäng tñch húåp thïm nhûäng àoáng goáp cuãa nhûäng nhaâ cöng taác múái.
UML lêìn àêìu tiïn àûúåc àïå trònh lïn töí chûác OMG vaâo thaáng 1/1997 vaâ lêìn cuöëi
vaâo thaáng 9/1997 trûúác khi àûúåc àûa vaâo danh saách nhûäng kyä thuêåt àûúåc thûâa
nhêån cuãa OMG vaâo thaáng 11/1997. Kïí tûâ àêy OMG chõu traách nhiïåm cho sûå
phaát triïín cuãa UML trong tûúng lai. Sau khi àûúåc thûâa nhêån vaâo thaáng 11/1997,
OMG chõu traách nhiïåm kiïím tra vaâ phaãn höìi nhûäng kiïën nghõ tûâ phña caác àöëi taác
sûã duång, àöìng thúâi töí chûác OMG cuäng chõu traách nhiïåm xûã lyá caác löîi kyä thuêåt,
nhûäng àiïím bêët tûúng àöìng, nhûäng àiïím coân mú höì vaâ nhûäng thiïëu soát nhoã maâ
khöng cêìn phaãi sûã àöíi nhiïìu so vúái baãn thaão ban àêìu. Kïí tûâ àêy UML àûúåc àûa
vaâo sûã duång röång raäi vaâ àûúåc caãi tiïën khöng ngûâng, phiïn baãn UML 1.3 alpha
àûúåc giúái thiïåu vaâo thaáng 3/1999 vaâ sau àoá phiïn baãn UML 1.3 chñnh thûác àûúåc
giúái thiïåu vaâo thaánh 6/1999. Vaâ phêìn kiïën thûác lyá thuyïët vïì UML maâ chuáng em
trònh baây trong baáo caáo naây dûåa trïn phiïn baãn múái nhêët hiïån nay laâ UML 1.3.
Chûúng 1
TÖÍNG QUAN 17
1.17. Kiïën truác töíng quan cuãa UML
1.17.1. Kiïën truác cuãa UML
UML àûúåc àõnh nghôa trïn möåt cú cêëu quan niïåm sûã duång cho viïåc
hònh hoáa, bao göìm böën mûác trûâu tûúång sau
_ Lúáp meta-metamodel bao göìm caác thaânh phêìn cú baãn nhêët.
_ Lúáp metamodel göìm têët caã nhûäng thaânh phêìn taåo nïn UML bao göìm caã caác
khaái niïåm trong caác mö hònh hûúáng àöëi tûúång vaâ thaânh phêìn.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 37 http://www.ebooks.vdcmedia.com yá kiïën naây, nhûng roä raâng cêìn phaãi coá sûå quan têm nhiïìu hún nûäa tûâ phña ngûúâi sûã duång. Tûâ àêy UML àûúåc sûå quan têm nhiïìu hún tûâ caác töí chûác, caác cöng ty phêìn mïìm lúán, vaâ vúái sûå cöång taác cuãa nhûäng cöng ty haâng àêìu nhû Digital Equipment, HP, IBM, Microsoft, Oracle... phiïn baãn UML 1.0 trúã thaânh möåt ngön ngûä mö hònh hoáa àûúåc àõnh nghôa töët hún, roä raâng, dïî hiïíu, maånh hún vaâ coá khaã nùng ûáng duång röång raäi. Phiïn baãn UML 1.1 laâ sûå phaát triïín vïì mùåt ngûä nghôa cuãa phiïn baãn 1.0 àöìng thúâi cuäng tñch húåp thïm nhûäng àoáng goáp cuãa nhûäng nhaâ cöng taác múái. UML lêìn àêìu tiïn àûúåc àïå trònh lïn töí chûác OMG vaâo thaáng 1/1997 vaâ lêìn cuöëi vaâo thaáng 9/1997 trûúác khi àûúåc àûa vaâo danh saách nhûäng kyä thuêåt àûúåc thûâa nhêån cuãa OMG vaâo thaáng 11/1997. Kïí tûâ àêy OMG chõu traách nhiïåm cho sûå phaát triïín cuãa UML trong tûúng lai. Sau khi àûúåc thûâa nhêån vaâo thaáng 11/1997, OMG chõu traách nhiïåm kiïím tra vaâ phaãn höìi nhûäng kiïën nghõ tûâ phña caác àöëi taác sûã duång, àöìng thúâi töí chûác OMG cuäng chõu traách nhiïåm xûã lyá caác löîi kyä thuêåt, nhûäng àiïím bêët tûúng àöìng, nhûäng àiïím coân mú höì vaâ nhûäng thiïëu soát nhoã maâ khöng cêìn phaãi sûã àöíi nhiïìu so vúái baãn thaão ban àêìu. Kïí tûâ àêy UML àûúåc àûa vaâo sûã duång röång raäi vaâ àûúåc caãi tiïën khöng ngûâng, phiïn baãn UML 1.3 alpha àûúåc giúái thiïåu vaâo thaáng 3/1999 vaâ sau àoá phiïn baãn UML 1.3 chñnh thûác àûúåc giúái thiïåu vaâo thaánh 6/1999. Vaâ phêìn kiïën thûác lyá thuyïët vïì UML maâ chuáng em trònh baây trong baáo caáo naây dûåa trïn phiïn baãn múái nhêët hiïån nay laâ UML 1.3. Chûúng 1 TÖÍNG QUAN 17 1.17. Kiïën truác töíng quan cuãa UML 1.17.1. Kiïën truác cuãa UML UML àûúåc àõnh nghôa trïn möåt cú cêëu quan niïåm sûã duång cho viïåc mö hònh hoáa, bao göìm böën mûác trûâu tûúång sau _ Lúáp meta-metamodel bao göìm caác thaânh phêìn cú baãn nhêët. _ Lúáp metamodel göìm têët caã nhûäng thaânh phêìn taåo nïn UML bao göìm caã caác khaái niïåm trong caác mö hònh hûúáng àöëi tûúång vaâ thaânh phêìn.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
38
http://www.ebooks.vdcmedia.com
_ Lúáp model bao göìm caác mö hònh UML. Àêy laâ lúáp duâng cho viïåc mö hònh hoáa
caác baâi toaán, caác hïå thöëng vaâ giaãi phaáp.
_ Lúáp user model bao göìm caác thaânh phêìn minh hoåa cho UML model.
Hònh 1-5 Kiïëán truác töíng quan cuãa UML
Chûúng 1
TÖÍNG QUAN 18
1.18. Caác mö hònh
Caác mö hònh xeát vïì tônh nùæm bùæt möåt söë àùåc àiïím vaâ haânh vi cuãa hïå
thöëng xeát vïì àöång nùæm bùæt nhûäng àùåc àiïím cuãa hïå thöëng, vïì cú baãn chuáng
lûu trûä caác tri thûác vïì mùåt ngûä nghôa.
1.18.1. Cêëu truác View
Chuáng ta khöng thïí mö hònh hoáa möåt hïå thöëng phûác taåp chó bùçng möåt
hònh hay möåt lûúåc àöì, hïå thöëng phaãi àûúåc phên tñch dûúái nhûäng goác àöå khaác
nhau : caác yïu cêìu chûác nùng, phi chûác nùng, caách töí chûác hïå thöëng... vêåy àïí
coá thïí mö hònh hoáa hïå thöëng möåt caách chi tiïët, UML àûa ra àõnh nghôa vïì cêëu
truác View, möîi View (thïí hiïån) laâ möåt thïí hiïån cuãa hïå thöëng àûúåc mö hònh hoáa,
möîi View coá thïí bao göìm nhiïìu loaåi lûúåc àöì khaác nhau. UML cung cêëp cêëu truác
View theo viïåc mö hònh nhûäng baâi toaán vaâ nhûäng giaãi phaáp, bao göìm
Hònh 1-6 Cêëáu truác Viiew trong UML
_ User model View hay coân goåi laâ Use Case View hoùåc Scenario View thïí
hiïån caác vêën àïì vaâ caác giaãi phaáp liïn quan àïën chûác nùng töíng quaát cuãa hïå
thöëng.
_ Structural model View - hay coân goåi laâ Static hoùåc Logical View - thïí hiïån caác
vêën àïì liïn quan àïën cêëu truác thiïët kïë cuãa hïå thöëng.
_ Behavioral model View hay coân goåi laâ Dynamic, Process, Concurrent, hoùåc
Collaboration View thïí hiïån caác vêën àïì liïn quan àïën viïåc xûã lyá giao tiïëp vaâ
àöìng böå trong hïå thöëng.
_ Implementation model View - hay coân goåi laâ Component View thïí hiïån caác
vêën àïì liïn quan àïën viïåc töí chûác caác thaânh phêìn trong hïå thöëng.
_ Environment model View hay coân goåi laâ Deployment View thïí hiïån caác
vêën àïì liïn quan àïën viïåc triïín khai hïå thöëng.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 38 http://www.ebooks.vdcmedia.com _ Lúáp model bao göìm caác mö hònh UML. Àêy laâ lúáp duâng cho viïåc mö hònh hoáa caác baâi toaán, caác hïå thöëng vaâ giaãi phaáp. _ Lúáp user model bao göìm caác thaânh phêìn minh hoåa cho UML model. Hònh 1-5 Kiïëán truác töíng quan cuãa UML Chûúng 1 TÖÍNG QUAN 18 1.18. Caác mö hònh Caác mö hònh – xeát vïì tônh – nùæm bùæt möåt söë àùåc àiïím vaâ haânh vi cuãa hïå thöëng –xeát vïì àöång – nùæm bùæt nhûäng àùåc àiïím cuãa hïå thöëng, vïì cú baãn chuáng lûu trûä caác tri thûác vïì mùåt ngûä nghôa. 1.18.1. Cêëu truác View Chuáng ta khöng thïí mö hònh hoáa möåt hïå thöëng phûác taåp chó bùçng möåt mö hònh hay möåt lûúåc àöì, hïå thöëng phaãi àûúåc phên tñch dûúái nhûäng goác àöå khaác nhau : caác yïu cêìu chûác nùng, phi chûác nùng, caách töí chûác hïå thöëng... Vò vêåy àïí coá thïí mö hònh hoáa hïå thöëng möåt caách chi tiïët, UML àûa ra àõnh nghôa vïì cêëu truác View, möîi View (thïí hiïån) laâ möåt thïí hiïån cuãa hïå thöëng àûúåc mö hònh hoáa, möîi View coá thïí bao göìm nhiïìu loaåi lûúåc àöì khaác nhau. UML cung cêëp cêëu truác View theo viïåc mö hònh nhûäng baâi toaán vaâ nhûäng giaãi phaáp, bao göìm Hònh 1-6 Cêëáu truác Viiew trong UML _ User model View – hay coân goåi laâ Use Case View hoùåc Scenario View – thïí hiïån caác vêën àïì vaâ caác giaãi phaáp liïn quan àïën chûác nùng töíng quaát cuãa hïå thöëng. _ Structural model View - hay coân goåi laâ Static hoùåc Logical View - thïí hiïån caác vêën àïì liïn quan àïën cêëu truác thiïët kïë cuãa hïå thöëng. _ Behavioral model View – hay coân goåi laâ Dynamic, Process, Concurrent, hoùåc Collaboration View – thïí hiïån caác vêën àïì liïn quan àïën viïåc xûã lyá giao tiïëp vaâ àöìng böå trong hïå thöëng. _ Implementation model View - hay coân goåi laâ Component View – thïí hiïån caác vêën àïì liïn quan àïën viïåc töí chûác caác thaânh phêìn trong hïå thöëng. _ Environment model View – hay coân goåi laâ Deployment View – thïí hiïån caác vêën àïì liïn quan àïën viïåc triïín khai hïå thöëng.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
39
http://www.ebooks.vdcmedia.com
_ Vaâ möåt söë model View khaác coá thïí àûúåc àõnh nghôa vaâ sûã duång khi cêìn thiïët.
Chûúng 1
TÖÍNG QUAN 19
1.19. Nhûäng lûúåc àöì
nh 1-7 Nhûäng lûúåc àöì trong UML
Chûúng 1
TÖÍNG QUAN 20
Caác lûúåc àöì miïu taã caác tri thûác vïì mùåt cuá phaáp, àûúåc töí chûác xung quanh
cêëu truác View :
_ User model View
+ Lûúåc àöì Use Case (Use case diagram) mö taã caác chûác nùng cuãa hïå
thöëng.
_ Structural model View
+ Lûúåc àöì lúáp (Class Diagram) mö taã cêëu truác tônh cuãa hïå thöëng, thïí
hiïån caác phêìn hïå thöëng xûã lyá àûúåc.
+ Lûúåc àöì àöëi tûúång (Object Diagram) mö taã cêëu truác tônh cuãa hïå thöëng
taåi möåt thúâi àiïím xaác àõnh, noá coá thïí àûúåc xem
nhû möåt thïí hiïån cuãa lûúåc àöì lúáp.
_ Behavioral model View
+ Lûúåc àöì tuêìn tûå (Sepuence Diagram) mö taã sûå tûúng taác giûäa caác
thaânh phêìn trong hïå thöëng tuêìn tûå theo thúâi gian.
+ Lûúåc àöì cöång taác (Collaboration Diagram) mö taã sûå tûúng taác cuãa caác
thaânh phêìn theo thúâi gian vaâ caã khöng gian.
+ Lûúåc àöì traång thaái (State Diagram) mö taã traång thaái vaâ sûå höìi àaáp giûäa
caác thaânh phêìn trong hïå thöëng, böí sung cho
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 39 http://www.ebooks.vdcmedia.com _ Vaâ möåt söë model View khaác coá thïí àûúåc àõnh nghôa vaâ sûã duång khi cêìn thiïët. Chûúng 1 TÖÍNG QUAN 19 1.19. Nhûäng lûúåc àöì Hònh 1-7 Nhûäng lûúåc àöì trong UML Chûúng 1 TÖÍNG QUAN 20 Caác lûúåc àöì miïu taã caác tri thûác vïì mùåt cuá phaáp, àûúåc töí chûác xung quanh cêëu truác View : _ User model View + Lûúåc àöì Use Case (Use case diagram) – mö taã caác chûác nùng cuãa hïå thöëng. _ Structural model View + Lûúåc àöì lúáp (Class Diagram) – mö taã cêëu truác tônh cuãa hïå thöëng, thïí hiïån caác phêìn hïå thöëng xûã lyá àûúåc. + Lûúåc àöì àöëi tûúång (Object Diagram) – mö taã cêëu truác tônh cuãa hïå thöëng taåi möåt thúâi àiïím xaác àõnh, noá coá thïí àûúåc xem nhû möåt thïí hiïån cuãa lûúåc àöì lúáp. _ Behavioral model View + Lûúåc àöì tuêìn tûå (Sepuence Diagram) – mö taã sûå tûúng taác giûäa caác thaânh phêìn trong hïå thöëng tuêìn tûå theo thúâi gian. + Lûúåc àöì cöång taác (Collaboration Diagram) – mö taã sûå tûúng taác cuãa caác thaânh phêìn theo thúâi gian vaâ caã khöng gian. + Lûúåc àöì traång thaái (State Diagram) – mö taã traång thaái vaâ sûå höìi àaáp giûäa caác thaânh phêìn trong hïå thöëng, böí sung cho
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
40
http://www.ebooks.vdcmedia.com
lûúåc àöì lúáp.
+ Lûúåc àöì hoaåt àöång (Activity Diagram) mö taã hoaåt àöång cuãa caác thaânh
phêìn trong hïå thöëng.
_ Implementation model View
+ Lûúåc àöì thaânh phêìn (Component Diagram) mö taã töí chûác cuãa caác
thaânh phêìn thûåc thi trong hïå thöëng.
_ Environment model View
+ Lûúåc àöì triïín khai (Deployment Diagram) mö taã cêëu hònh cuãa caác
thaânh phêìn möi trûúâng maâ sûå xïëp àùåt cuãa caác thaânh phêìn hïå thöëng thûåc thi trïn
àoá.
Chûúng 1
TÖÍNG QUAN 21
Vaâ möåt söë lûúåc àöì khaác coá thïí àûúåc àõnh nghôa vaâ sûã duång khi cêìn thiïët.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä 40 http://www.ebooks.vdcmedia.com lûúåc àöì lúáp. + Lûúåc àöì hoaåt àöång (Activity Diagram) – mö taã hoaåt àöång cuãa caác thaânh phêìn trong hïå thöëng. _ Implementation model View + Lûúåc àöì thaânh phêìn (Component Diagram) – mö taã töí chûác cuãa caác thaânh phêìn thûåc thi trong hïå thöëng. _ Environment model View + Lûúåc àöì triïín khai (Deployment Diagram) – mö taã cêëu hònh cuãa caác thaânh phêìn möi trûúâng maâ sûå xïëp àùåt cuãa caác thaânh phêìn hïå thöëng thûåc thi trïn àoá. Chûúng 1 TÖÍNG QUAN 21 Vaâ möåt söë lûúåc àöì khaác coá thïí àûúåc àõnh nghôa vaâ sûã duång khi cêìn thiïët.