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

Ứng dụng UML trong quy trình phát triển phần mền

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

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.




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

25




Chûúng 1
TƯÍNG QUAN 3

1.3 Ngun nhên ra àúâi
Rumbaugh, Ivar Jacobson. Nố lâ sûå húåp nhêët giûäa nhûäng phûúng phấp c
(Booch, OMT, OOSE ), kïët húåp vúái nhûäng kinh nghiïåm, nhûäng kiïën thûác thûåc
tïë trong lơnh vûåc cưng nghïå thưng tin. Hònh 1-1 Sûå húåp nhêëát cûa UML
_ Modeling (mư hònh hốa) gip chng ta hiïíu àûúåc thïë giúái thûåc, mư hònh hốa
thïë giúái thûåc àïí cố thïí hiïíu àûúåc nhûäng àùåc trûng, tđnh toấn cấc thưng sưë vâ dûå
àoấn kïët quẫ sệ àẩt àûúåc.
_ Language (ngưn ngûä) chûác nùng ca UML nhû lâ mưåt phûúng tiïån àïí bây tỗ
vâ trao àưíi tri thûác. Nố cố bưën àùåc àiïím ch ëu cố thïí phên biïåt vúái cấc ngưn
ngûä mư hònh hốa khấc
- General-purpose - àa dng
- Broadly applicable – cố thïí ûáng dng rưång rậi
- Tool-supported – àûúåc hưỵ trúå búãi cấc cưng c
- Industry standardized – chín cưng nghiïåp
1.3. Ngun nhên ra àúâi
Sûå ra àúâi ca UML lâ mưåt têët ëu khấch quan trûúác sûå bng nưỵ ca ngânh
cưng nghïå thưng tin, nố lâm nưỵi bêåt nhûäng xu hûúáng then chưët trong ngânh cưng
nghïå phêìn mïìm, àûa ra àûúåc nhûäng vêën àïì do sûå phên rậ ca nhûäng phûúng
thûác mư hònh hốa trûúác àêy gêy ra. UML àûúåc hònh thânh trïn cú súã ca cấc vêën
àïì chđnh - tẩi sao chng ta lẩi cêìn mư hònh hốa phêìn mïìm, xu hûúáng phất triïín
trong ngânh cưng nghïå phêìn mïìm ngây nay, sûå hưåi t ca cấc cưng nghïå







×