LUẬN VĂN TỐT NGHIỆP
NGHIÊN CỨU NGÔN NGỮ UML
VÀ ỨNG DỤNG
Giáo viên hướng dẫn :
Sinh viên thực hiện :
SVTH: Lờm Nguyùợn Trung Nam - Lờm Quang Vuọ
1
MUC LUC
LI CAM N...............................................................................................19
LI M ấèU...............................................................................................20
MệT Sệậ T VIẽậT TặT ...............................................................................22
Chỷỳng 1......................................................................................................23
TệNG QUAN 1............................................................................................23
1.1. Yùu cờỡu thỷồc tùở...................................................................................23
Chỷỳng 1 TệNG QUAN 2 ............................................................................24
1.2. Giỳỏi thiùồu UML..................................................................................24
Chỷỳng 1 TệNG QUAN 3 ............................................................................25
1.3 Nguyùn nhờn ra ỳõi..............................................................................25
1.3. Nguyùn nhờn ra ỳõi.............................................................................25
Chỷỳng 1 TệNG QUAN 4............................................................................26
1.4. Tờỡm quan troồng cuóa viùồc mử hũnh hoỏa..................................................26
Chỷỳng 1......................................................................................................27
TệNG QUAN 5............................................................................................27
1.5. Xu hỷỳỏng phaỏt triùớn trong ngaõnh cửng nghùồ phờỡn mùỡm.........................27
Chỷỳng 1......................................................................................................28
TệNG QUAN 6............................................................................................28
1.3.3. Sỷồ hửồi tuồ cuóa caỏc cửng nghùồ..............................................................28
Chỷỳng 1 TệNG QUAN 7 ............................................................................29
1.7. UML hỳồp nhờởt caỏc yỏ tỷỳóng nửợi bờồt vaõ nhỷọng vờởn ùỡ thỷồc tùở trong quaỏ
trũnh phaỏt triùớn cuóa cửng nghùồ phờỡn mùỡm....................................................29
Chỷỳng 1 TệNG QUAN 8............................................................................30
1.8. UML ửồc lờồp vỳỏi ngửn ngỷọ lờồp trũnh vaõ qui trũnh phaỏt triùớn phờỡn mùỡm..30
Chỷỳng 1 TệNG QUAN 9 ............................................................................30
1.9. UML laõ ngửn ngỷọ mử hũnh hoỏa a duồng (general purpose)....................30
Chỷỳng 1 TệNG QUAN 10 ..........................................................................31
1.10. UML ỷỳồc hửợ trỳồ bỳói caỏc cửng ty, cửng cuồ phaỏt triùớn phờỡn mùỡm.........31
1.10.1. UML laõ mửồt chuờớn cửng nghiùồp..................................................31
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
2
1.10.2. Cấc lúåi đch ca UML...................................................................31
Chûúng 1 TƯÍNG QUAN 11 ..........................................................................32
1.11. Àưëi vúái ngûúâi sûã dng UML..............................................................32
1.11.1. UML cung cêëp cú chïë múã rưång vâ àùåc biïåt hốa àïí múã rưång cấc khấi
niïåm cưët lội............................................................................................32
Chûúng 1 TƯÍNG QUAN 12 ..........................................................................33
1.12. UML àêíy mẩnh tấi sûã dng trong nïìn cưng nghïå phêìn mïìm. ..............33
Chûúng 1 TƯÍNG QUAN 13 ..........................................................................34
1.13. So sấnh vúái cấc phûúng phấp khấc.....................................................34
Chûúng 1......................................................................................................35
TƯÍNG QUAN 14..........................................................................................35
Chûúng 1......................................................................................................36
TƯÍNG QUAN 15..........................................................................................36
1.15. Lõch sûã phất triïín ..............................................................................36
Chûúng 1......................................................................................................36
TƯÍNG QUAN 16..........................................................................................36
Chûúng 1 TƯÍNG QUAN 17 ..........................................................................37
1.17. Kiïën trc tưíng quan ca UML...........................................................37
1.17.1. Kiïën trc ca UML.....................................................................37
Chûúng 1 TƯÍNG QUAN 18 ..........................................................................38
1.18. Cấc mư hònh......................................................................................38
1.18.1. Cêëu trc View ............................................................................38
Chûúng 1 TƯÍNG QUAN 19 ..........................................................................39
1.19. Nhûäng lûúåc àưì ..................................................................................39
Chûúng 1 TƯÍNG QUAN 20 ..........................................................................39
Chûúng 1 TƯÍNG QUAN 21 ..........................................................................40
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 22.......................................................................................41
2.1. Giúái thiïåu ...........................................................................................41
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 23.......................................................................................42
2.2 Tưíng quan vïì cấc loẩi quan hïå giûäa cấc thânh tưë ...................................42
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 24.......................................................................................43
2.3. Quan hïå tưíng quất hốa (generalization)................................................43
2.3.1. Quan hïå kïët húåp (association) .......................................................43
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
3
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 25.......................................................................................44
2.5. Quan hïå ph thåc (dependency).........................................................44
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 26.......................................................................................45
2.6. Tưíng quan vïì cấc thânh tưë vâ cêëu trc UML metamodel.......................45
2.6.1. Phên loẩi thânh tưë trong UML metamodel.....................................45
2.6.2. Cêëu trc UML metamodel.............................................................45
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 27.......................................................................................46
2.7. Package Foundation (gối nïìn tẫng) ......................................................46
2.7.1. Package Core (gối cưët lội).............................................................46
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 28.......................................................................................47
2.8. Mư hònh Backbone (sûúân)...................................................................47
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 29.......................................................................................48
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 30.......................................................................................49
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 31.......................................................................................49
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 32.......................................................................................50
2.12. Mư hònh Relationships (cấc quan hïå)..................................................50
2.12.1. Quan hïå tưíng quất hốa (generalization)........................................50
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 33.......................................................................................51
2.13. Quan hïå kïët húåp (Association)...........................................................51
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 34.......................................................................................51
2.14. Lúáp kïët húåp (AssociationClass).........................................................51
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 35.......................................................................................52
2.15. Mư hònh Classifiers (cấc àùåc biïåt hốa ca classifiers)..........................52
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 36.......................................................................................52
2.16. Class (lúáp)........................................................................................52
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
4
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 37.......................................................................................53
2.17. Interface (giao diïån)..........................................................................53
2.17.1. DataType (kiïíu dûä liïåu) ..............................................................53
2.17.2. Node (nt)..................................................................................53
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 38.......................................................................................54
2.38. Component (thânh phêìn)...................................................................54
2.38.1. Mư hònh Dependencies (cấc quan hïå ph thåc)...........................54
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 39.......................................................................................55
2.39. Binding (gùỉn)....................................................................................55
2.39.1. Abstraction (trûâu tûúång hốa) .......................................................55
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 40.......................................................................................55
2.40. Usage (sûã dng)................................................................................55
2.40.1. Permisson (cho phếp)..................................................................55
2.41.2. Mư hònh AuxiliaryElements (cấc thânh tưë bưí sung)......................55
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 41.......................................................................................56
2.41. TemplateParameter (tham sưë cho mêỵu)...............................................56
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 42.......................................................................................56
2.42. PresentationElement (thânh tưë biïíu diïỵn trûåc quan) ............................56
2.42.1. Package Extension Mechanisms (gối cú chïë múã rưång)..................57
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 43.......................................................................................57
2.43. Constraint (râng båc).......................................................................57
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 44.......................................................................................58
2.44. Tagged Value (thễ giấ trõ)..................................................................58
2.44.1. Cấc kiïíu dûä liïåu trong UML metamodel (Data Types)..................58
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 45.......................................................................................59
2.45. Cấc kiïíu dûä liïåu trong Data Types .....................................................59
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 46.......................................................................................59
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
5
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 47.......................................................................................60
2.47. Package Behavioural Elements (gối thânh tưë hânh vi).........................60
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 48.......................................................................................61
2.48. Package Common Behavior (gối hânh vi tưíng quất)...........................61
2.48.1. Mư hònh Signals (tđn hiïåu)...........................................................61
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 49.......................................................................................62
2.49. Reception (thânh tưë nhêån tđn hiïåu) .....................................................62
2.49.1. Signal (tđn hiïåu)..........................................................................62
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 50.......................................................................................62
2.50. Exception (lưỵi biïåt lïå)........................................................................62
2.50.1. Mư hònh Actions (tấc àưång).........................................................62
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 51.......................................................................................63
2.51. Argument (àưëi sưë).............................................................................63
2.51.1. Action (tấc àưång)........................................................................63
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 52.......................................................................................64
2.52. ActionSequence (tấc àưång phûác)........................................................64
2.52.1. Mư hònh Instances and Links (thïí hiïån vâ liïn kïët).......................64
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 53.......................................................................................64
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 54.......................................................................................65
2.54. Stimulus (tấc nhên) ...........................................................................65
2.54.2. AttributeLink (thễ thåc tđnh)......................................................65
2.54.2. LinkEnd (mưëi liïn kïët)................................................................65
2.54.3. Link (liïn kïët).............................................................................65
2.54.4. Instance (thïí hiïån) ......................................................................65
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 55.......................................................................................66
2.55. Package Collaborations (gối cưång tấc)............................................66
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 56.......................................................................................66
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
6
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 57.......................................................................................67
2.57. AssociationEndRole (vai ca mưëi kïët húåp).........................................67
2.57.1. AssociationRole (vai ca quan hïå kïët húåp)...................................67
2.57.2. ClassifierRole (vai ca Classifier) ...............................................67
2.57.3. Collaboration (cưång tấc)..............................................................67
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 58.......................................................................................68
2.58. Message (thưng àiïåp)........................................................................68
2.58.1. Package Use Cases (gối Use Cases).............................................68
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 59.......................................................................................69
2.59. Actor (tấc nhên)................................................................................69
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 60.......................................................................................69
2.60. Extend (múã rưång)..............................................................................69
2.60.1. Include (bao gưìm).......................................................................69
2.60.2. UseCase .....................................................................................69
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 61.......................................................................................70
2.61. Package State Machines (gối mư hònh trẩng thấi)................................70
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 62.......................................................................................71
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 63.......................................................................................71
2.63. StateVertex (àiïím trẩng thấi).............................................................71
2.63. State (trẩng thấi) ...............................................................................71
2.63.1. PseudoState (trẩng thấi giẫ).........................................................71
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 64.......................................................................................73
2.64. Transition (chuín trẩng thấi)............................................................73
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 65.......................................................................................73
2.65. CompositeState (trẩng thấi phûác).......................................................73
2.65.1. StateMachine .................................................................................74
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 66.......................................................................................74
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
7
2.66. Mư hònh Events (sûå kiïån)...................................................................74
2.66.1. Package Activity Graphs (gối lûúåc àưì hoẩt àưång).........................74
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 67.......................................................................................75
2.67. ActionState (trẩng thấi hoẩt àưång)......................................................75
2.67.1. ActivityGraph (àưì thõ hoẩt àưång).................................................75
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 68.......................................................................................76
2.68. ObjectFlowState (trẩng thấi àưëi tûúång ln chuín)............................76
2.68.1. Partition (vng) ..........................................................................76
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 69.......................................................................................76
2.69. Package Model Management (gối quẫn trõ mư hònh)...........................76
2.69.1. Elementimport............................................................................77
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 70.......................................................................................77
2.70. Model (mư hònh)...............................................................................77
2.70.1. Package (gối)..............................................................................77
2.70.2. Subsystem (hïå thưëng con)...........................................................77
Chûúng 2 NGÛÄ NGHƠA VÂ C PHẤP CẤC THÂNH TƯË TRONG UML
(UML Semantic) 71.......................................................................................78
2.71. Tốm tùỉt.............................................................................................78
Chûúng 3......................................................................................................78
HÏÅ THƯËNG K HIÏÅU (UML Notation) 72...................................................78
3.1. Giúái thiïåu ...........................................................................................78
Chûúng 3 HÏÅ THƯËNG K HIÏÅU (UML Notation) 73....................................79
3.2. Cấc thânh phêìn cú bẫn ca lûúåc àưì......................................................79
3.2.1. Àưì thõ vâ nưåi dung (Graphs and their Contents)..............................79
Chûúng 3......................................................................................................80
HÏÅ THƯËNG K HIÏÅU (UML Notation) 74...................................................80
3.3. Cấc àûúâng dêỵn (Drawing Paths) ..........................................................80
3.3.1. Cấc liïn kïët êín vâ vai trô ca cưng c............................................80
3.3.2. Thưng tin nïìn (Background Information).......................................80
3.3.3. Chỵi (String), tïn (Name),nhận (Label) vâ tûâ khốa.......................81
Chûúng 3......................................................................................................81
HÏÅ THƯËNG K HIÏÅU (UML Notation) 75...................................................81
3.4. Biïíu thûác (Expression)........................................................................81
SVTH: Lờm Nguyùợn Trung Nam - Lờm Quang Vuọ
8
3.4.1. Ghi Chuỏ (Note).............................................................................81
Chỷỳng 3......................................................................................................82
Hẽ THệậNG KY HIẽU (UML Notation) 76...................................................82
3.5. Sỷồ tỷỳng quan giỷọa caỏc loaồi thaõnh tửở vaõ thùớ hiùồn cuóa noỏ........................82
Chỷỳng 3......................................................................................................82
Hẽ THệậNG KY HIẽU (UML Notation) 77...................................................82
3.6. Caỏc thaõnh phờỡn quaón trừ mử hũnh (model management).........................82
3.6.1. Goỏi (Package)...............................................................................82
Chỷỳng 3......................................................................................................83
Hẽ THệậNG KY HIẽU (UML Notation) 78 ...................................................83
3.7. Caỏc thaõnh phờỡn quaón trừ mử hũnh (model management).........................83
Chỷỳng 3......................................................................................................84
Hẽ THệậNG KY HIẽU (UML Notation) 79...................................................84
3.8. Subsystem ..........................................................................................84
3.8.1. Ngỷọ nghụa ....................................................................................84
3.8.2. Kyỏ hiùồu........................................................................................84
Chỷỳng 3......................................................................................................85
Hẽ THệậNG KY HIẽU (UML Notation) 80...................................................85
3.9 Caỏc thaõnh phờỡn quaón trừ mử hũnh (model management)..........................85
Chỷỳng 3......................................................................................................85
Hẽ THệậNG KY HIẽU (UML Notation) 81 ...................................................85
3.10. Model...............................................................................................85
3.10.1. Ngỷọ nghụa...................................................................................85
3.10.2. Kyỏ hiùồu......................................................................................85
Chỷỳng 3......................................................................................................86
Hẽ THệậNG KY HIẽU (UML Notation) 82...................................................86
3.11. Caỏc cỳ chùở mỳó rửồng tửớng quaỏt............................................................86
3.11.1. Raõng buửồc (Constraint) vaõ chuỏ thủch (Comment)..........................86
Chỷỳng 3......................................................................................................87
Hẽ THệậNG KY HIẽU (UML Notation) 83...................................................87
3.12. Kyỏ hiùồu.........................................................................................87
Chỷỳng 3......................................................................................................87
Hẽ THệậNG KY HIẽU (UML Notation) 84...................................................87
Chỷỳng 3......................................................................................................88
Hẽ THệậNG KY HIẽU (UML Notation) 85...................................................88
3.13. Thuửồc tủnh cuóa caỏc thaõnh tửở (Element Properties) ...............................88
Chỷỳng 3......................................................................................................89
SVTH: Lờm Nguyùợn Trung Nam - Lờm Quang Vuọ
9
Hẽ THệậNG KY HIẽU (UML Notation) 86...................................................89
3.14. Caỏc mờợu (Stereotypes).......................................................................89
Chỷỳng 3......................................................................................................89
Hẽ THệậNG KY HIẽU (UML Notation) 87...................................................89
3.15. Caỏc lỷỳồc ửỡ.......................................................................................89
3.15.1. Giỳỏi thiùồu...................................................................................89
Chỷỳng 3......................................................................................................90
Hẽ THệậNG KY HIẽU (UML Notation) 88...................................................90
3.16. Lỷỳồc ửỡ lỳỏp (Class Diagram).............................................................90
Chỷỳng 3......................................................................................................91
Hẽ THệậNG KY HIẽU (UML Notation) 89...................................................91
Chỷỳng 3......................................................................................................91
Hẽ THệậNG KY HIẽU (UML Notation) 90...................................................91
3.17. Chỷỏc nựng.........................................................................................91
3.17.1. Caỏc thaõnh phờỡn chủnh..................................................................91
Chỷỳng 3......................................................................................................92
Hẽ THệậNG KY HIẽU (UML Notation) 91...................................................92
Chỷỳng 3......................................................................................................93
Hẽ THệậNG KY HIẽU (UML Notation) 92...................................................93
3.18. Interface ...........................................................................................93
Chỷỳng 3......................................................................................................94
Hẽ THệậNG KY HIẽU (UML Notation) 93...................................................94
3.19. Caỏc loaồi quan hùồ................................................................................94
3.19.1. Quan hùồ kùởt hỳồp (association)......................................................94
Chỷỳng 3......................................................................................................94
Hẽ THệậNG KY HIẽU (UML Notation) 94...................................................94
Chỷỳng 3......................................................................................................95
Hẽ THệậNG KY HIẽU (UML Notation) 95...................................................95
Chỷỳng 3......................................................................................................95
Hẽ THệậNG KY HIẽU (UML Notation) 96...................................................95
Chỷỳng 3......................................................................................................96
Hẽ THệậNG KY HIẽU (UML Notation) 97...................................................96
Chỷỳng 3......................................................................................................97
Hẽ THệậNG KY HIẽU (UML Notation) 98...................................................97
3.20. Quan hùồ tửớng quaỏt hoỏa.......................................................................97
Chỷỳng 3......................................................................................................97
Hẽ THệậNG KY HIẽU (UML Notation) 99...................................................97
SVTH: Lờm Nguyùợn Trung Nam - Lờm Quang Vuọ
10
Chỷỳng 3......................................................................................................98
Hẽ THệậNG KY HIẽU (UML Notation) 100 .................................................98
Chỷỳng 3......................................................................................................98
Hẽ THệậNG KY HIẽU (UML Notation) 101 .................................................98
3.21. Quan hùồ phuồ thuửồc (Dependency)......................................................98
Chỷỳng 3......................................................................................................99
Hẽ THệậNG KY HIẽU (UML Notation) 101 .................................................99
3.22. Caỏc thaõnh tửở ỷỳồc tủnh toaỏn (hay ỷỳồc dờợn xuờởt derived Element)....99
Chỷỳng 3....................................................................................................100
Hẽ THệậNG KY HIẽU (UML Notation) 103 ...............................................100
3.23. Lỷỳồc ửỡ ửởi tỷỳồng (Object Diagram)................................................100
Chỷỳng 3....................................................................................................100
Hẽ THệậNG KY HIẽU (UML Notation) 104 ...............................................100
3.24. Caỏc thaõnh phờỡn chủnh......................................................................100
3.24.1. Caỏc ửởi tỷỳồng (Objects) ............................................................100
Chỷỳng 3....................................................................................................101
Hẽ THệậNG KY HIẽU (UML Notation) 105 ...............................................101
3.25. ửởi tỷỳồng gheỏp (Composite Object).................................................101
Chỷỳng 3....................................................................................................102
Hẽ THệậNG KY HIẽU (UML Notation) 106 ...............................................102
3.26. Caỏc liùn kùởt (Link)..........................................................................102
Chỷỳng 3....................................................................................................103
Hẽ THệậNG KY HIẽU (UML Notation) 107 ...............................................103
3.27. Lỷỳồc ửỡ Use Case (Use Case Diagram)............................................103
Chỷỳng 3....................................................................................................103
Hẽ THệậNG KY HIẽU (UML Notation) 108 ...............................................103
Chỷỳng 3....................................................................................................104
Hẽ THệậNG KY HIẽU (UML Notation) 109 ...............................................104
3.29. Caỏc thaõnh phờỡn chủnh......................................................................104
3.29.1. Caỏc Use case............................................................................104
3.29.2. Caỏc taỏc nhờn (Actors)................................................................104
Chỷỳng 3....................................................................................................105
Hùồ thửởng kyỏ hiùồu (UML Notation) 110.........................................................105
3.30. Caỏc quan hùồ trùn Use case...............................................................105
Chỷỳng 3 Hẽ THệậNG KY HIẽU (UML Notation) 111................................106
3.31. Caỏc quan hùồ trùn actor.....................................................................106
Chỷỳng 3....................................................................................................106
SVTH: Lờm Nguyùợn Trung Nam - Lờm Quang Vuọ
11
Hẽ THệậNG KY HIẽU (UML Notation) 112 ...............................................106
3.32. Lỷỳồc ửỡ tuờỡn tỷồ (Sequence Diagram)...............................................106
Chỷỳng 3....................................................................................................107
Hẽ THệậNG KY HIẽU (UML Notation) 113 ...............................................107
Chỷỳng 3....................................................................................................107
Hẽ THệậNG KY HIẽU (UML Notation) 114 ...............................................107
3.33. Caỏc thaõnh phờỡn chủnh......................................................................107
3.33.1. Viùồc taồo vaõ huóy mửồt ửởi tỷỳồng...................................................108
Chỷỳng 3....................................................................................................108
Hẽ THệậNG KY HIẽU (UML Notation) 115 ...............................................108
3.34. Thửng iùồp khửng ửỡng bửồ vaõ ùồ qui ...............................................108
Chỷỳng 3....................................................................................................109
Hẽ THệậNG KY HIẽU (UML Notation) 116 ...............................................109
3.35. Thỳõi gian chuyùớn thửng iùồp trong lỷỳồc ửỡ tuờỡn tỷồ ...........................109
Chỷỳng 3....................................................................................................109
Hẽ THệậNG KY HIẽU (UML Notation) 117 ...............................................109
3.36. Lỷỳồc ửỡ cửồng taỏc (Collaboration Diagram).......................................109
Chỷỳng 3....................................................................................................110
Hẽ THệậNG KY HIẽU (UML Notation) 118 ...............................................110
3.37. Caỏc thaõnh phờỡn chủnh......................................................................110
3.37.1. Caỏc ửởi tỷỳồng...........................................................................110
3.37.2. Caỏc liùn kùởt ..............................................................................110
Chỷỳng 3....................................................................................................111
Hẽ THệậNG KY HIẽU (UML Notation) 119 ...............................................111
3.38. Thửng iùồp vaõ caỏc kủch thủch ...........................................................111
Chỷỳng 3....................................................................................................112
Hẽ THệậNG KY HIẽU (UML Notation) 120 ...............................................112
3.39. Cuỏ phaỏp ựồt tùn nhaọn.......................................................................112
Chỷỳng 3....................................................................................................113
Hẽ THệậNG KY HIẽU (UML Notation) 121 ...............................................113
3.40. Lỷỳồc ửỡ traồng thaỏi (Statechart Diagram)...........................................113
Chỷỳng 3....................................................................................................113
Hẽ THệậNG KY HIẽU (UML Notation) 122 ...............................................113
3.41. Caỏc thaõnh phờỡn chủnh......................................................................113
3.41.1. Traồng thaỏi (state) ......................................................................113
Chỷỳng 3....................................................................................................114
Hẽ THệậNG KY HIẽU (UML Notation) 123 ...............................................114
SVTH: Lờm Nguyùợn Trung Nam - Lờm Quang Vuọ
12
Chỷỳng 3....................................................................................................115
Hẽ THệậNG KY HIẽU (UML Notation) 124 ...............................................115
3.42. Traồng thaỏi gheỏp (Composite state)....................................................115
Chỷỳng 3....................................................................................................115
Hẽ THệậNG KY HIẽU (UML Notation) 125 ...............................................115
3.42. Sỷồ kiùồn (event)................................................................................115
Chỷỳng 3....................................................................................................116
Hẽ THệậNG KY HIẽU (UML Notation) 126 ...............................................116
3.43. Caỏc chuyùớn ửới traồng thaỏi ỳn giaón (simple transitions) ....................116
Chỷỳng 3....................................................................................................117
Hẽ THệậNG KY HIẽU (UML Notation) 127 ...............................................117
3.44. Caỏc chuyùớn ửới traồng thaỏi phỷỏc taồp (complex transitions)..................117
3.43.1. History Indicator.......................................................................117
Chỷỳng 3....................................................................................................118
Hẽ THệậNG KY HIẽU (UML Notation) 128 ...............................................118
3.45. Caỏc traồng thaỏi ửỡng bửồ (synch states)...............................................118
Chỷỳng 3....................................................................................................118
Hẽ THệậNG KY HIẽU (UML Notation) 129 ...............................................118
3.46. Lỷỳồc ửỡ hoaồt ửồng (Activity Diagram).............................................118
Chỷỳng 3....................................................................................................119
Hẽ THệậNG KY HIẽU (UML Notation) 130 ...............................................119
3.47. Caỏc thaõnh phờỡn chủnh......................................................................119
3.46.1. Caỏc traồng thaỏi haõnh ửồng (action state)......................................119
3.46.2. Caỏc quyùởt ừnh (decisions)........................................................119
Chỷỳng 3....................................................................................................120
Hẽ THệậNG KY HIẽU (UML Notation) 131 ...............................................120
3.48. Swimlanes vaõ ửởi tỷỳồng trong lỷỳồc ửỡ hoaồt ửồng..............................120
Chỷỳng 3....................................................................................................121
Hẽ THệậNG KY HIẽU (UML Notation) 132 ...............................................121
3.49. Caỏc biùớu tỷỳồng iùỡu khiùớn...............................................................121
Chỷỳng 3....................................................................................................122
Hẽ THệậNG KY HIẽU (UML Notation) 133 ...............................................122
3.50. Lỷỳồc ửỡ thaõnh phờỡn (Component Diagram)......................................122
Chỷỳng 3....................................................................................................122
Hẽ THệậNG KY HIẽU (UML Notation) 134 ...............................................122
3.51. Caỏc thaõnh phờỡn chủnh......................................................................122
Chỷỳng 3....................................................................................................123
SVTH: Lờm Nguyùợn Trung Nam - Lờm Quang Vuọ
13
Hẽ THệậNG KY HIẽU (UML Notation) 135 ...............................................123
Chỷỳng 3....................................................................................................123
Hẽ THệậNG KY HIẽU (UML Notation) 136 ...............................................123
3.52. Lỷỳồc ửỡ triùớn khai (Deployment Diagram) .......................................123
Chỷỳng 3....................................................................................................125
Hẽ THệậNG KY HIẽU (UML Notation) 137 ...............................................125
3.53. Toỏm tựổt...........................................................................................125
Chỷỳng 3....................................................................................................125
Hẽ THệậNG KY HIẽU (UML Notation) 138 ...............................................125
3.54. Toỏm tựổt...........................................................................................125
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 139 ...................................................................................................126
4.1. Giỳỏi thiùồu .........................................................................................126
4.2. Giỳỏi thiùồu Rational Unified Process (RUP) ........................................126
4.2.1. Khaỏi quaỏt vùỡ RUP.......................................................................126
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 140 ...................................................................................................127
4.3. Giỳỏi thiùồu Rational Unified Process (RUP) ........................................127
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 141 ...................................................................................................128
4.4 Giỳỏi thiùồu Rational Unified Process (RUP) .........................................128
4.4.1. Kiùởn truỏc cuóa RUP......................................................................128
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 142 ...................................................................................................128
4.5 Giỳỏi thiùồu Rational Unified Process (RUP).........................................128
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 143 ...................................................................................................129
4.6. Giỳỏi thiùồu Rational Unified Process (RUP) ........................................129
4.6.1. Cờởu truỏc tụnh cuóa quy trũnh..........................................................130
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 144 ...................................................................................................130
4.7. Giỳỏi thiùồu Rational Unified Process (RUP) ........................................130
4.7.1. Caỏc ựồc iùớm phờn biùồt cuóa RUP so vỳỏi caỏc quy trũnh phaỏt triùớn phờỡn
mùỡm khaỏc............................................................................................130
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 145 ...................................................................................................131
4.8. RUP tờồp trung vaõo kiùởn truỏc phờỡn mùỡm..............................................131
SVTH: Lờm Nguyùợn Trung Nam - Lờm Quang Vuọ
14
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 146 ...................................................................................................132
4.9. RUP laõ quy trũnh lựồp vaõ tựng trỷỳóng tỷõng bỷỳỏc...................................132
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 147 ...................................................................................................133
4.10. ng duồng UML trong RUP .............................................................133
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 148 ...................................................................................................134
4.11. Mử hũnh hoỏa nghiùồp vuồ (business modeling).....................................134
4.11.1. Mử hũnh nghiùồp vuồ (Business Use Case)....................................134
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 149 ...................................................................................................135
4.12. ng duồng UML trong RUP .............................................................135
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 150 ...................................................................................................135
4.13. Mử hũnh ửởi tỷỳồng nghiùồp vuồ (Business Object)...............................135
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 151 ...................................................................................................136
4.13. Xaỏc ừnh yùu cờỡu (requirements)......................................................136
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 152 ...................................................................................................137
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 153 ...................................................................................................137
4.14. Phờn tủch (analysis) .........................................................................137
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 154 ...................................................................................................138
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 155 ...................................................................................................139
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 156 ...................................................................................................140
4.15. Thiùởt kùở (design).............................................................................140
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 155 ...................................................................................................141
Chỷỳng 4 NG DUNG UML TRONG QUY TRềNH PHAT TRIẽN PHấèN
MẽèM 155 ...................................................................................................141
4.16. Caõi ựồt (implementation).................................................................142
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
15
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 159 ...................................................................................................143
4.16. Kiïím chûáng (test)............................................................................143
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 160 ...................................................................................................143
4.17. Phất triïín mưåt ûáng dng quẫn l giấo v theo RUP...........................143
4.17.1. Giúái thiïåu ûáng dng..................................................................143
4.17.2. Sú lûúåc u cêìu vâ àùåc àiïím.....................................................144
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 161 ...................................................................................................144
4.18. Phất triïín ûáng dng theo cấc workflow ca RUP..............................144
4.18.1. Mư hònh hốa nghiïåp v (business modeling)..............................144
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 162 ...................................................................................................145
4.19. Xấc àõnh u cêìu (requirements)......................................................145
4.19.1. Phên loẩi ngûúâi sûã dng (actor) vâ tòm cấc chûác nùng ca hïå thưëng
(use case) cho mưỵi loẩi ngûúâi sûã dng nây.............................................145
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 163 ...................................................................................................146
4.20. Phên loẩi cấc use case theo àưå ûu tiïn..............................................146
4.20.1. Lêåp sûu liïåu mư tẫ chi tiïët cho tûâng chûác nùng...........................146
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 164 ...................................................................................................148
4.21. Cêëu trc cấc use case bùçng cấch xấc àõnh cấc quan hïå giûäa...............148
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 165 ...................................................................................................148
4.22. Phên tđch (analysis) .........................................................................148
4.22.1. Phên tđch kiïën trc hïå thưëng......................................................148
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 166 ...................................................................................................149
4.23. Phên tđch mưåt use case.....................................................................149
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 167 ...................................................................................................150
4.24. Phên tđch mưåt analysis class.............................................................150
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 168 ...................................................................................................151
4.25. Thiïët kïë (design).............................................................................151
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
16
4.25.1. Thiïët kïë kiïën trc ûáng dng.......................................................151
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 169 ...................................................................................................152
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 170 ...................................................................................................153
4.27. Phất triïín mưåt ûáng dng quẫn l giấo v theo RUP...........................153
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 171 ...................................................................................................153
4.28. Thiïët kïë mưåt use case......................................................................153
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 172 ...................................................................................................155
4.28. Thiïët kïë mưåt lúáp..............................................................................155
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 173 ...................................................................................................156
4.28. Phất triïín mưåt ûáng dng quẫn l giấo v theo RUP...........................156
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 174 ...................................................................................................157
4.29. Thiïët kïë mưåt hïå thưëng con...............................................................157
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 175 ...................................................................................................157
4.30. Câi àùåt (implementation).................................................................157
4.30.1. Kiïën trc câi àùåt (architectural implementation).........................157
4.30.2. Câi àùåt vâ tđch húåp hïå thưëng......................................................158
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 176 ...................................................................................................158
4.31. Câi àùåt cấc hïå thưëng con (subsystem)...............................................158
4.31.1. Câi àùåt cấc lúáp..........................................................................158
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 177 ...................................................................................................159
4.42. Kiïím chûáng (test)............................................................................159
4.42.1. Lêåp kïë hoẩch kiïím chûáng..........................................................159
4.42.2. Thiïët kïë cấc quy trònh kiïím chûáng (test case).............................159
4.42.3. Thûåc hiïån kiïím chûáng...............................................................159
Chûúng 4 ÛÁNG DNG UML TRONG QUY TRỊNH PHẤT TRIÏÍN PHÊÌN
MÏÌM 178 ...................................................................................................160
4.43. Tốm tùỉt.......................................................................................160
Chûúng 5....................................................................................................160
SVTH: Lờm Nguyùợn Trung Nam - Lờm Quang Vuọ
17
TệNG KẽậT 179..........................................................................................160
5.1. Kùởt luờồn............................................................................................160
Chỷỳng 5....................................................................................................161
TệNG KẽậT 180..........................................................................................161
5.2. Hỷỳỏng phaỏt triùớn...............................................................................161
Phuồ luồc A....................................................................................................164
CAC KHAI NIẽM ......................................................................................164
Phuồ luồc B....................................................................................................169
CAC KY HIẽU...........................................................................................169
TAI LIẽU THAM KHAO ...........................................................................170
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
18
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
19
LÚÂI CẪM ÚN
Chng em xin chên thânh cẫm ún Khoa Cưng Nghïå Thưng Tin, trûúâng
Àẩi Hổc Khoa Hổc Tûå Nhiïn, TpHCM àậ tẩo àiïìu kiïån cho chng em thûåc hiïån
àïì tâi tưët nghiïåp nây. Chng em xin chên thânh cẫm ún Thêìy Dûúng Anh Àûác
vâ Thêìy Lï Àònh Duy àậ têån tònh hûúáng dêỵn, chó bẫo chng em trong sët thúâi
gian thûåc hiïån àïì tâi. Chng em cng xin chên thânh cẫm ún qu Thêìy Cư trong
Khoa àậ têån tònh giẫng dẩy, trang bõ cho chng em nhûäng kiïën thûác cêìn thiïët
trong sët quấ trònh hổc têåp tẩi trûúâng, vâ cng xin gûãi lông biïët ún sêu sùỉc àïën
ba, mể, cấc anh chõ vâ bẩn bê àậ ng hưå, gip àúä vâ àưång viïn chng em trong
nhûäng lc khố khùn cng nhû trong sët nhûäng nùm hổc vûâa qua. Mùåc d àậ cưë
gùỉng hoân thânh lån vùn vúái têët cẫ sûå nưí lûåc ca bẫn thên, nhûng lån vùn chùỉc
chùỉn khưng trấnh khỗi nhûäng thiïëu sốt nhêët àõnh, kđnh mong sûå cẫm thưng vâ
têån tònh chó bẫo ca qu Thêìy Cư.
Nhốm thûåc hiïån
Trung Nam&Quang V.
SVTH: Lêm Nguỵn Trung Nam - Lêm Quang V
20
LÚÂI MÚÃ ÀÊÌU
Ngây nay, cưng nghïå thưng tin àậ vâ àang àống vai trô quan trổng trong
àúâi sưëng kinh tïë, xậ hưåi ca nhiïìu qëc gia trïn thïë giúái, lâ mưåt phêìn khưng thïí
thiïëu trong mưåt xậ hưåi ngây câng hiïån àẩi hốa. Nối àïën cưng nghïå thưng tin,
chng ta khưng thïí khưng nhùỉc àïën cưng nghïå phêìn mïìm, phêìn mïìm àống mưåt
vai trô cûåc k quan trổng trong lơnh vûåc cưng nghïå thưng tin. Hiïån nay, viïåc phất
triïín cưng nghïå phêìn mïìm thânh mưåt lơnh vûåc kinh tïë mi nhổn lâ mc tiïu quan
têm hâng àêìu úã nûúác ta.
Giúâ àêy, cưng nghïå phêìn mïìm àậ vâ àang tiïën bưå tûâng ngây, hâng loẩt
nhûäng k thåt, nhûäng cưng nghïå múái ra àúâi gip cho viïåc phất triïín cấc hïå
thưëng phêìn mïìm ngây câng àún giẫn hún. Mưåt trong nhûäng lơnh vûåc quan trổng
vâ cố ẫnh hûúãng rêët lúán àïën sûå thânh cưng ca viïåc phất triïín phêìn mïìm lâ viïåc
mư hònh hốa phêìn mïìm. Cố rêët nhiïìu ngưn ngûä mư hònh hốa hưỵ trúå cho viïåc mư
hònh hốa phêìn mïìm, nhûng cố lệ nưíi bêåt nhêët lâ ngưn ngûä UML (Unified
Modeling Language) tûâ hậng phêìn mïìm Rational. UML khưng ngûâng àûúåc phất
triïín vâ ngây câng àûúåc sûã dng rưång rậi trïn thïë giúái, àa sưë cấc cưng c hưỵ trúå
phất triïín phêìn mïìm hiïån nay àïìu cố hưỵ trúå ngưn ngûä UML. Do vêåy, chng em
àậ àêìu tû nghiïn cûáu àïì tâi “Nghiïn cûáu ngưn ngûä UML vâ ûáng dng” nhùçm
nùỉm bùỉt mưåt ngưn ngûä hiïåu quẫ trong viïåc mư hònh hốa phêìn mïìm, cng nhû cố
thïí tòm hiïíu vâ sûã dng mưåt sưë CASE tool hưỵ trúå cho viïåc phất triïín phêìn mïìm.
Vúái àïì tâi nây, chng em àậ thûã nghiïåm ûáng dng UML trong viïåc mư
hònh hốa phêìn mïìm quẫn l giấo v àẩi hổc àún giẫn, triïín khai theo qui trònh
phất triïín phêìn mïìm Rational Unified Process ca hậng Rational vâ bûúác àêìu àậ
àẩt àûúåc mưåt sưë kïët quẫ khẫ quan.
Mc àđch ca àïì tâi lâ nghiïn cûáu l thuët vïì ngưn ngûä UML (Unified
Modeling Language) vâ ûáng dng ca UML trong qui trònh phất triïín phêìn mïìm
RUP (Rational Unified Process). Trong khn khưí àïì tâi nây, lån vùn chng
em àûúåc trònh bây trong nùm chûúng ch ëu têåp trung trònh bây vïì hïå thưëng
ngûä nghơa, k hiïåu ca ngưn ngûä UML vâ ûáng dng ca UML trong qui trònh
phất triïín phêìn mïìm. Lån vùn cố nùm chûúng chđnh, bao gưìm:
Chûúng 1 – Tưíng quan
SVTH: Lờm Nguyùợn Trung Nam - Lờm Quang Vuọ
21
Giỳỏi thiùồu tửớng quan vùỡ ùỡ taõi, muồc ủch nghiùn cỷỏu, phaồm vi nghiùn cỷỏu, giỳỏi
thiùồu tửớng quan vùỡ ngửn ngỷọ UML : khaỏi niùồm, caỏc ựồc iùớm, lỳồi ủch, nguyùn
nhờn phaỏt triùớn, lừch sỷó phaỏt triùớn cuóa ngửn ngỷọ UML...
Chỷỳng 2 Hùồ thửởng ngỷọ nghụa (UML Semantics)
Trũnh baõy phờỡn kiùởn truỏc cuóa ngửn ngỷọ UML dỷồa trùn lỳỏp metamodel, chuó yùởu laõ
caỏc thaõnh phờỡn nùỡn taóng cuóa UML, caỏc thaõnh tửở haõnh vi (Behavioral Elements),
vaõ Model Management.
Chỷỳng 3 Hùồ thửởng kyỏ hiùồu (UML Notation)
Chỷỳng naõy trũnh baõy hùồ thửởng caỏc loaồi lỷỳồc ửỡ vaõ hùồ thửởng caỏc kyỏ hiùồu ỷỳồc sỷó
duồng trong UML ùớ mử hũnh hoỏa hùồ thửởng.
Chỷỳng 4 ng duồng cuóa UML
Trũnh baõy vùỡ ỷỏng duồng cuóa UML trong qui trũnh phaỏt triùớn phờỡn mùỡm RUP
(Rational Unified Process), trong chỷỳng naõy cuọng trũnh baõy vùỡ qui trũnh phaỏt
triùớn phờỡn mùỡm RUP vaõ mửồt vủ duồ phờn tủch hùồ thửởng sỷó duồng ngửn ngỷọ UML
theo qui trũnh RUP.
Chỷỳng 5 Tửớng kùởt
Laõ chỷỳng cuửởi cuóa ùỡ taõi, tửớng kùởt laồi nhỷọng kùởt quaó aồt ỷỳồc vaõ hỷỳỏng phaỏt
triùớn trong tỷỳng lai.
SVTH: Lêm Nguyïîn Trung Nam - Lêm Quang Vuä
22
MÖÅT SÖË TÛÂ VIÏËT TÙÆT
CASE Tool Computer Aided Software Engineering Tool
OCL Object Constraint Language
OMG Object Management Group
OMT Object Modeling Technique
OOSE Object-Oriented Software Engineering
RUP Rational Unified Process
UML Unified Modeling Language
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.