1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo án - Bài giảng học tập công nghệ thông tin: Phân tích thiết kế hệ thống ngôn ngữ UML

122 681 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 122
Dung lượng 4,48 MB

Nội dung

Ph ng pháp và các ngôn ng mô hình hoá .... H ng nhìn Use case Use case View .... H ng nhìn logic Logical View .... H ng nhìn song song Concurrency View .... Bi u Use case Use Case Diagra

Trang 1

TÀI LI U MÔN H C PHÂN TÍCH VÀ THI T K HTTT

THEO UML ( ây là tài li u s u t m, t ng h p)

GI NG VIÊN PH TRÁCH: NGUY N C C NG

(S u t m t ng h p)

Trang 2

M C L C

CH NG 1: T NG QUAN V PHÂN TÍCH THI T K H TH NG 6

1.1 D n nh p 6

1.1.1 Tính tr c quan 6

1.1.2 Mô hình tr u t ng 6

1.1.3 Mô hình hóa tr c quan 6

1.2 Mô t chu trình phát tri n ph n m m 7

1.2.1 Software Development – m t bài toán ph c t p 7

1.2.2 Chu Trình Phát Tri n Ph n M m (Software Development Life Cycle) 8

1.2.3 Các giai o n c a Chu Trình Phát Tri n Ph n M m 9

1.3 Ph ng pháp h ng ch c n ng và ph ng pháp h ng i t ng 13

1.4 u i m c a mô hình h ng i t ng 13

1.4.1 Tính tái s d ng (Reusable) 13

1.4.2 Các giai o n c a chu trình phát tri n ph n m m v i mô hình h ng i t ng 14

1.5 Ph n câu h i 16

CH NG 2: NGÔN NG MÔ HÌNH HÓA TH NG NH T LÀ GÌ? 17

2.1 Gi i thi u UML 17

2.1.1 Mô hình hóa h th ng ph n m m 17

2.1.2 Tr c khi UML ra i 18

2.1.3 S ra i c a UML 18

2.1.4 UML (Unifield Modeling Language) 19

2.1.5 Ph ng pháp và các ngôn ng mô hình hoá 19

2.2 UML trong phân tích thi!t k! h th ng 19

2.3 UML và các giai o"n phát tri n h th ng 20

2.4 Ph n câu h i 21

CH NG 3: KHÁI QUÁT V UML 22

3.1 UML và các giai o"n c a chu trình phát tri n ph n m m 22

3.1.1 Giai o n nghiên c u s b 22

3.1.2 Giai o n phân tích 22

3.1.3 Giai o n thi t k 22

3.1.4 Giai o n xây d ng 22

3.1.5 Th nghi m 23

3.2 Các thành ph n c a ngôn ng# UML 23

3.3 H ng nhìn (View) 23

3.3.1 H ng nhìn Use case (Use case View) 25

3.3.2 H ng nhìn logic (Logical View) 25

3.3.3 H ng nhìn thành ph n (Component View) 25

3.3.4 H ng nhìn song song (Concurrency View) 26

3.3.5 H ng nhìn tri n khai (Deployment View) 26

3.4 Bi u $ (diagram) 26

3.4.1 Bi u Use case (Use Case Diagram) 26

3.4.2 Bi u l p (Class Diagram) 27

3.4.3 Bi u i t ng (Object Diagram) 28

3.4.4 Bi u tr ng thái (State Diagram) 28

Trang 3

3.4.5 Bi u trình t (Sequence Diagram) 29

3.4.6 Bi u c ng tác (Collaboration Diagram) 29

3.4.7 Bi u ho t ng (Activity Diagram) 30

3.4.8 Bi u thành ph n (Component Diagram) 30

3.4.9 Bi u tri n khai (Deployment Diagram) 31

3.5 Ph n t% mô hình (model element) 32

3.6 C ch! chung (General Mechanism) 33

3.6.1 Trang trí (Adornment) 33

3.6.2 Ghi chú (Note) 34

3.6.3 c t (Specification) 34

3.7 M& r'ng UML 35

3.7.1 Khuôn m u (Stereotype) 35

3.7.2 Giá tr ính kèm (Tagged Value) 36

3.7.3 H n ch (Constraint) 36

3.8 Mô hình hóa v i UML 37

3.9 Công c( (Tool) 40

3.10 Tóm t)t v UML 41

3.11 Ph n câu h i 42

CH NG 4: MÔ HÌNH HÓA USE CASE 43

4.1 Gi i thi u Use Case 43

4.2 M't s ví d( Use Case 44

4.3 S* c n thi!t ph i có Use Case 44

4.4 Mô hình hóa Use Case 45

4.5 Bi u $ Use Case 46

4.5.1 H th ng 47

4.5.2 Tác nhân 48

4.5.3 Tìm tác nhân 49

4.5.4 Bi u di n tác nhân trong ngôn ng UML 49

4.5.5 Use Case 50

4.5.6 Tìm Use Case 51

4.5.7 Ví d tìm Use Case 52

4.6 Các bi!n th (Variations) trong m't Use Case 53

4.7 Quan h gi#a các Use Case 54

4.7.1 Quan h m r ng 54

4.7.2 Quan h s d ng 55

4.7.3 Quan h chung nhóm 56

4.8 Miêu t Use Case 57

4.9 Th% Use Case 60

4.10 Th*c hi n các Use Case 61

4.11 Tóm t)t v Use Case 63

4.12 Ph n câu h i 63

CH NG 5 : MÔ HÌNH I T +NG 65

5.1 L p, i t ng và quan h – các thành ph n c b n c a mô hình 65

5.1.1 i t ng (Object) 65

5.1.2 Tr ng thái, ng x và nh n di n c a i t ng 65

5.1.3 L p (Class) 66

Trang 4

5.1.4 Bi u l p (Class diagram) 67

5.2 Tìm l p 68

5.2.1 Phân tích ph m vi bài toán tìm l p 69

5.2.2 Các l p ng c viên 72

5.2.3 Lo i b các l p ng c viên không thích h p 73

5.3 L p và i t ng trong UML 74

5.3.1 Tên l p (class name) 74

5.3.2 Thu c tính (attribute) 74

5.3.3 Ph ng th c (method) 75

5.3.4 Kí hi u i t ng 76

5.4 Quan h gi#a các l p 77

5.5 Liên h (Association) 78

5.5.1 Vai trò trong liên h 78

5.5.2 Liên h m t chi u (Uni-Directional Association) 79

5.5.3 S l ng (Cardinality) trong liên h 79

5.5.4 Phát hi n liên h 80

5.5.5 X lý các liên h không c n thi t 80

5.5.6 Nâng c!p các m i liên h 81

5.6 Quan h k!t t p (Aggregation) 85

5.6.1 Khái ni m k t t p 85

5.6.2 Kí hi u k t t p 86

5.6.3 K t t p và liên h 87

5.7 Khái quát hóa và chuyên bi t hóa (Generalization & Specialization) 87

5.7.1 Kí hi u khái quát hóa và chuyên bi t hóa 88

5.7.2 Y u t phân bi t (Discriminatior) 89

5.8 Quan h ph( thu'c và nâng c,p (Dependency & Refinement) 92

5.9 Nâng c,p mô hình qua các vòng l-p k! ti!p 94

5.10 Ch,t l ng mô hình 95

5.10.1 Th nào là m t mô hình t t? 96

5.10.2 Ta có th giao ti p v i mô hình? 96

5.10.3 Mô hình có phù h p v i m c ích c a nó không? 96

5.10.4 N"m b"t nh ng i m tr#ng y u 97

5.10.5 Ph i h p các mô hình 97

5.10.6 ph c t p c a mô hình 97

5.11 Tóm t)t v mô hình i t ng 97

5.12 Ph n câu h i 98

CH NG 6 : MÔ HÌNH HÓA NG 100

6.1 S* c n thi!t có mô hình 'ng (Dynamic Model) 100

6.2 Các thành ph n c a mô hình 'ng 100

6.3 u i m c a mô hình 'ng 102

6.4 S* ki n và thông i p (Event & Message) 103

6.4.1 S ki n (Event) 103

6.4.2 Thông i p (Message) 105

6.5 Bi u $ tu n t* (Sequence Diagram) 106

6.6 Bi u $ c'ng tác (Collaboration Diagram) 108

Trang 5

6.7 Bi u $ tr"ng thái (State Diagram) 109

6.7.1 Tr ng thái và s bi n i tr ng thái (State transition) 109

6.7.2 Bi u tr ng thái 110

6.7.3 Nh n bi t tr ng thái và s ki n 111

6.7.4 M t s l i mách b o cho vi c t o d ng bi u tr ng thái 112

6.8 Bi u $ ho"t 'ng (Activity Diagram) 114

6.9 Vòng /i i t ng (Object Lifecycle) 117

6.9.1 Vòng i sinh ra và ch t i 118

6.9.2 Vòng i l p 118

6.10 Xem xét l"i mô hình 'ng 118

6.10.1 Th$m v!n bi u tr ng thái 118

6.10.2 Ph i h p s ki n 119

6.10.3 Bao gi thì s d ng bi u nào 119

6.10.4 L p con và bi u tr ng thái 120

6.11 Ph i h p mô hình i t ng và mô hình 'ng 120

6.12 Tóm t)t v mô hình 'ng 121

6.13 Ph n câu h i 121

Trang 6

CH NG 1: T NG QUAN V PHÂN TÍCH THI T K H TH NG

1.1 D n nh p

1.1.1 Tính tr c quan

Chúng ta có th th!y r%ng: "M t s t p h p d li u ph c t p nh!t nh khi c trình bày b%ng th s& truy n t i n ng i #c nhi u thông tin h n so v i các d li u thô" V i ph n m m c'ng v y, khi ngành Công nghi p c a chúng ta ngày càng phát tri n, các h th ng s& tr nên ph c t p h n Kh n(ng n"m b"t và ki m soát s ph c t p ó c a chúng ta i kèm v i kh n(ng trình bày h th ng m t cách toàn di n - m t s trình bày v t ra ngoài gi i h n c a nh ng dòng l nh thô S thành công trên th

tr ng c a nh ng ngôn ng nh Visual Basic và ph n giao di n tr c quan c a C++, Java ã cho th!y

s trình bày tr c quan mang tính c t y u i v i quá trình phát tri n các h th ng ph c t p

1.1.2 Mô hình tr u t ng

Tr c ây, có m t th i gian dài, ngành công nghi p chúng ta ã ph i nói t i m t "Cu c kh ng ho ng

ph n m m" Các cu c tranh lu n u d a trên th c t là ch)ng nh ng nhi u án ph n m m không th

s n sinh ra nh ng h th ng tho mãn òi h i và nhu c u c a khách hàng, mà còn v t quá ngân sách và

th i h n Các công ngh m i nh l p trình h ng i t ng, l p trình tr c quan c'ng nh các môi

tr ng phát tri n tiên ti n có giúp chúng ta nâng cao n(ng su!t lao ng, nh ng trong nhi u tr ng

h p, chúng ch* h ng t i t ng th!p nh!t c a vi c phát tri n ph n m m: ph n vi t l nh (coding) M t trong nh ng v!n chính c a ngành phát tri n ph n m m th i nay là có nhi u án b"t tay vào l p trình quá s m và t p trung quá nhi u vào vi c vi t code Lý do m t ph n là do ban qu n tr thi u hi u

bi t v quy trình phát tri n ph n m m và h# n y lo âu khi th!y i quân l p trình c a h# không vi t code Và b n thân các l p trình viên c'ng c m th!y an tâm h n khi h# ng i vi t code - v n là tác v mà h# quen thu c! – h n là khi xây d ng các mô hình tr u t ng cho h th ng mà h# ph i t o nên

1.1.3 Mô hình hóa tr c quan

Mô hình hoá tr c quan là m t ph ng th c t duy v v!n s d ng các mô hình c t ch c xoay quanh các khái ni m i th c Mô hình giúp chúng ta hi u v!n , giao ti p v i m#i ng i có liên quan

n d án (khách hàng, chuyên gia l+nh v c thu c án, nhà phân tích, nhà thi t k , …) Mô hình r!t

h u d ng trong vi c mô hình hoá doanh nghi p, so n th o tài li u, thi t k ch ng trình c'ng nh ngân hàng d li u Mô hình giúp hi u các òi h i c a h th ng t t h n, t o các thi t k rõ ràng h n và xây

d ng nên các h th ng d b o trì h n

Mô hình là k t qu c a s tr u t ng hóa nh%m miêu t các thành ph n c t y u c a m t v!n hay m t c!u trúc ph c t p qua vi c l#c b t các chi ti t không quan tr#ng và làm cho v!n tr thành d hi u

h n Tr u t ng hóa là m t n(ng l c c(n b n c a con ng i, cho phép chúng ta gi i quy t các v!n

ph c t p Các k, s , ngh s+ và th th công ã xây d ng mô hình t hàng ngàn n(m nay th nghi m thi t k tr c khi th c hi n Phát tri n ph n m m c'ng không là ngo i l xây d ng các h

th ng ph c t p, nhà phát tri n ph i tr u t ng hóa nhi u h ng nhìn khác nhau c a h th ng, s d ng

ký hi u chính xác xây d ng mô hình, ki m tra xem mô hình có th a mãn các òi h i c a h th ng,

và d n d n b sung thêm chi ti t chuy n các mô hình thành th c hi n

Chúng ta xây d ng mô hình cho các h th ng ph c t p b i chúng ta không th hi u th!u áo nh ng h

th ng nh th trong tr ng thái toàn v-n c a chúng Kh n(ng th!u hi u và n"m b"t tính ph c t p c a

Trang 7

con ng i là có h n i u này ta có th th!y rõ trong ví d c a ngành xây d ng N u b n mu n t o m t túp l u góc v n, b n có th b"t tay vào xây ngay N u b n xây m t ngôi nhà, có l& b n s& c n t i

b n v&, nh ng n u b n mu n xây m t toà nhà ch#c tr i thì ch"c ch"n b n không th không c n b n v&

Th gi i ph n m m c a chúng ta c'ng th Ch* t p trung vào các dòng code hay th m chí c phân tích Forms trong Visual Basic ch)ng cung c!p m t cái nhìn toàn c c v vi c phát tri n án Xây d ng mô hình cho phép nhà thi t k t p trung vào b c tranh l n v s t ng tác gi a các thành ph n trong án, tránh b sa l y vào nh ng chi ti t riêng bi t c a t ng thành ph n

M t môi tr ng kinh doanh mang tính c nh tranh gay g"t và luôn luôn thay i d n n tính ph c t p ngày càng t(ng cao, và tính ph c t p này t ra nh ng thách th c c tr ng cho các nhà phát tri n h

th ng Mô hình giúp chúng ta t ch c, trình bày tr c quan, th!u hi u và t o nên các h th ng ph c t p Chúng giúp chúng ta áp ng các thách th c c a vi c phát tri n ph n m m, hôm nay c'ng nh ngày mai

1.2 Mô t chu trình phát tri n ph n m m

1.2.1 Software Development – m t bài toán ph c t p

Kinh nghi m c a nhi u nhà thi t k và phát tri n cho th!y phát tri n ph n m m là m t bài toán ph c

t p Xin nêu m t s các lý do th ng c k n:

Nh ng ng i phát tri n ph n m m r!t khó hi u cho úng nh ng gì ng i dùng c n Yêu c u c a ng i dùng th ng thay i trong th i gian phát tri n

Yêu c u th ng c miêu t b%ng v(n b n, dài dòng, khó hi u, nhi u khi th m chí mâu thu n

i quân phát tri n ph n m m, v n là ng i "ngoài cu c", r!t khó nh n th c th!u áo các m i quan h ti m $n và ph c t p c n c th hi n chính xác trong các ng d ng

Trang 8

Hi u không úng nh ng gì ng i dùng c n Không th thích ng cho phù h p v i nh ng thay i v yêu c u i v i h th ng Các Module không kh p v i nhau

Ph n m m khó b o trì và nâng c!p, m r ng Phát hi n tr các l h ng c a d án

Ch!t l ng ph n m m kém

Hi u n(ng c a ph n m m th!p Các thành viên trong nhóm không bi t c ai ã thay i cái gì, khi nào, âu, t i sao

ph i thay i

1.2.2 Chu Trình Phát Tri n Ph n M m (Software Development Life Cycle)

Vì phát tri n ph n m m là m t bài toán khó, nên có l& tr c h t ta c n i m qua m t s các công vi c c(n b n c a quá trình này Th ng ng i ta hay t p h p chúng theo ti n trình th i gian m t cách t ng

i, xoay quanh chu trình c a m t ph n m m, d n t i k t q a khái ni m Chu Trình Phát Tri n Ph n

M m (Software Development Life Cycle - SDLC) nh sau:

Chu Trình Phát Tri n Ph n M m là m t chu.i các ho t ng c a nhà phân tích (Analyst), nhà thi t k (Designer), ng i phát tri n (Developer) và ng i dùng (User) phát tri n và th c hi n m t h th ng thông tin Nh ng ho t ng này c th c hi n trong nhi u giai #an khác nhau

Nhà phân tích (Analyst): là ng i nghiên c u yêu c u c a khách hàng/ng i dùng nh

ngh+a m t ph m vi bài toán, nh n d ng nhu c u c a m t t ch c, xác nh xem nhân l c,

ph ng pháp và công ngh máy tính có th làm sao c i thi n m t cách t t nh!t công tác c a

t ch c này

Nhà thi!t k! (Designer): thi t k h th ng theo h ng c!u trúc c a database, screens, forms

và reports – quy t nh các yêu c u v ph n c ng và ph n m m cho h th ng c n c phát tri n

Chuyên gia l0nh v*c (Domain Experts): là nh ng ng i hi u th c ch!t v!n cùng t!t c

nh ng s ph c t p c a h th ng c n tin h#c hoá H# không nh!t thi t ph i là nhà l p trình,

nh ng h# có th giúp nhà l p trình hi u yêu c u t ra i v i h th ng c n phát tri n Quá trình phát tri n ph n m m s& có r!t nhi u thu n l i n u i ng' làm ph n m m có c s tr giúp

c a h#

L p trình viên (Programmer): là nh ng ng i d a trên các phân tích và thi t k vi t

ch ng trình (coding) cho h th ng b%ng ngôn ng l p trình ã c th ng nh!t

Ng /i dùng (User): là i t ng ph c v c a h th ng c n c phát tri n

cho rõ h n, xin l!y ví d v m t v!n n gi n sau:

Ng i bình th ng chúng ta khi nhìn m t chi c xe ô tô th ng s& có m t b c tranh t bên ngoài nh sau:

Trang 9

V,n

Hình 1.1: Nhìn v!n ô tô c a ng i bình th ng

Chuyên gia l+nh v c s& giúp nhà phân tích "trình bày l i" v!n nh sau:

Hình 1.2: Nhìn v!n ô tô c a chuyên gia phân tích

Chính vì s tr giúp c a chuyên gia l+nh v c có th óng vai trò r!t quan tr#ng nên trong nh ng giai

o n u c a quá trình phát tri n ph n m m, k t qu phân tích nên c th hi n sao cho d hi u i

v i các chuyên gia l+nh v c ây c'ng là môt trong r!t nhi u lý do khi n cho ph ng pháp h ng i

t ng c nhi u ng i h ng ng

1.2.3 Các giai o n c a Chu Trình Phát Tri n Ph n M m

Chu trình c a m t ph n m m có th c chia thành các giai o n nh sau:

Nghiên c u s b (Preliminary Investigation hay còn g#i là Feasibility Study) Phân tích yêu c u (Analysis)

Thi t k h th ng (Design of the System) Xây d ng ph n m m (Software Construction)

Th nghi m h th ng (System Testing)

Th c hi n, tri n khai (System Implementation)

B o trì, nâng c!p (System Maintenance)

a) Nghiên c u s b':

Câu h i quan tr#ng nh!t khi phát tri n m t h th ng hoàn toàn không ph i câu h i mang tính ph ng pháp lu n Mà c'ng ch)ng ph i câu h i v k, thu t Nó là m t câu h i d ng nh có v/ n gi n,

Trang 10

nh ng th t ra c bi t khó tr l i: “ ây có úng là m t h th ng th c hi n không?” áng bu n là chính câu h i này trong th c t th ng ch)ng h c t ra và l i càng không c tr l i M c dù

vi c l m l n v ph ng pháp hay quy t nh sai l m v k, thu t c'ng có th d n t i th!t b i, nh ng

th ng thì d án có th c c u vãn n u có y tài nguyên cùng s c g"ng quên mình c a các nhân viên tài gi i Nh ng s& ch)ng m t ai và m t i u gì c u vãn cho m t h th ng ph n m m hoàn toàn ch)ng c c n t i ho c c g"ng t ng hóa m t quy trình l m l c

Tr c khi b"t tay vào m t d án, b n ph i có m t ý t ng cho nó Ý t ng này i song song v i vi c n"m b"t các yêu c u và xu!t hi n trong giai o n kh i u Nó hoàn t!t m t phát bi u: "H th ng mà chúng ta mong mu n s& làm c nh ng vi c nh sau " Trong su t giai o n này, chúng ta t o nên

m t b c tranh v ý t ng ó, r!t nhi u gi thuy t s& c công nh n hay lo i b Các ho t ng trong

th i gian này th ng bao g m thu th p các ý t ng, nh n bi t r i ro, nh n bi t các giao di n bên ngoài,

nh n bi t các các ch c n(ng chính mà h th ng c n cung c!p, và có th t o m t vài nguyên m u dùng “minh ch ng các khái ni m c a h th ng” Ý t ng có th n t nhi u ngu n khác nhau: khách hàng, chuyên gia l+nh v c, các nhà phát tri n khác, chuyên gia v k, ngh , các b n nghiên c u tính kh thi c'ng nh vi c xem xét các h th ng khác ang t n t i M t khía c nh c n nh"c t i là code vi t trong

th i k0 này th ng s& b "b i”, b i chúng c vi t nh%m m c ích th$m tra hay tr giúp các gi thuy t khác nhau, ch ch a ph i th code c vi t theo k t qu phân tích và thi t k th!u áo

Trong giai #an nghiên c u s b , nhóm phát tri n h th ng c n xem xét các yêu c u c a doanh nghi p (c n dùng h th ng), nh ng ngu n tài nguyên có th s d ng, công ngh c'ng nh c ng ng ng i dùng cùng các ý t ng c a h# i v i h th ng m i Có th th c hi n th o lu n, nghiên c u, xem xét khía c nh th ng m i, phân tích kh n(ng l i-l., phân tích các tr ng h p s d ng và t o các nguyên

m u xây d ng nên m t khái ni m cho h th ng ích cùng v i các m c ích, quy n u tiên và ph m

vi c a nó

Th ng trong giai o n này ng i ta c'ng ti n hành t o m t phiên b n thô c a l ch trình và k ho ch

s d ng tài nguyên

M t giai o n nghiên c u s b thích áng s& l p nên t p h p các yêu c u (dù m c khái quát cao)

i v i m t h th ng kh thi và c mong mu n, k c v ph ng di n k, thu t l n xã h i M t giai

o n nghiên c u s b không c th c hi n tho áng s& d n t i các h th ng không c mong

mu n, "t ti n, b!t kh thi và c nh ngh+a l m l c – nh ng h th ng th ng ch)ng c hoàn t!t hay s d ng

K t qu c a giai o n nghiên c u s b là Báo Cáo K t Qu Nghiên C u Tính Kh Thi Khi h th ng

t ng lai c ch!p nh n d a trên b n báo cáo này c'ng là lúc giai o n Phân tích b"t u

b) Phân tích yêu c u:

Sau khi ã xem xét v tính kh thi c a h th ng c'ng nh t o l p m t b c tranh s b c a d án, chúng

ta b c sang giai o n th ng c coi là quan tr#ng nh!t trong các công vi c l p trình: hi u h th ng

c n xây d ng Ng i th c hi n công vi c này là nhà phân tích

Quá trình phân tích nhìn chung là h qu c a vi c tr l i câu h i "H th ng c n ph i làm gì?" Quá trình phân tích bao g m vi c nghiên c u chi ti t h th ng doanh nghi p hi n th i, tìm cho ra nguyên lý

ho t ng c a nó và nh ng v trí có th c nâng cao, c i thi n Bên c nh ó là vi c nghiên c u xem xét các ch c n(ng mà h th ng c n cung c!p và các m i quan h c a chúng, bên trong c'ng nh v i phía ngoài h th ng Trong toàn b giai o n này, nhà phân tích và ng i dùng c n c ng tác m t thi t

v i nhau xác nh các yêu c u i v i h th ng, t c là các tính n(ng m i c n ph i c a vào h

th ng

Trang 11

Nh ng m c tiêu c th c a giai o n phân tích là:

Xác nh h th ng c n ph i làm gì

Nghiên c u th!u áo t!t c các ch c n(ng c n cung c!p và nh ng y u t liên quan Xây d ng m t mô hình nêu b t b n ch!t v!n t m t h ng nhìn có th c (trong i

s ng th c)

Trao nh ngh+a v!n cho chuyên gia l+nh v c nh n s ánh giá, góp ý

K t qu c a giai o n phân tích là b n c T Yêu C u (Requirements Specifications)

c) Thi!t k! h th ng:

Sau giai o n phân tích, khi các yêu c u c th i v i h th ng ã c xác nh, giai o n ti p theo

là thi t k cho các yêu c u m i Công tác thi t k xoay quanh câu h i chính: H th ng làm cách nào

th a mãn các yêu c u ã c nêu trong c T Yêu C u?

M t s các công vi c th ng c th c hi n trong giai o n thi t k :

Nh n bi t form nh p li u tùy theo các thành ph n d li u c n nh p

Nh n bi t reports và nh ng output mà h th ng m i ph i s n sinh Thi t k forms (v& trên gi!y hay máy tính, s d ng công c thi t k )

Nh n bi t các thành ph n d li u và b ng t o database

1 c tính các th t c gi i thích quá trình x lý t input n output

K t qu giai o n thi t k là c T Thi t K (Design Specifications) B n c T Thi t K Chi Ti t s& c chuy n sang cho các l p trình viên th c hi n giai o n xây d ng ph n m m

d) Xây d*ng ph n m m:

ây là giai o n vi t l nh (code) th c s , t o h th ng T ng ng i vi t code th c hi n nh ng yêu c u

ã c nhà thi t k nh s2n C'ng chính ng i vi t code ch u trách nhi m vi t tài li u liên quan n

ch ng trình, gi i thích th t c (procedure) mà anh ta t o nên c vi t nh th nào và lý do cho vi c này

m b o ch ng trình c vi t nên ph i tho mãn m#i yêu c u có ghi tr c trong b n c T Thi t K Chi Ti t, ng i vi t code c'ng ng th i ph i ti n hành th nghi m ph n ch ng trình c a mình Ph n th nghi m trong giai o n này có th c chia thành hai b c chính:

+ Th% nghi m n v1: Ng i vi t code ch y th các ph n ch ng trình c a mình v i d li u

gi (test/dummy data) Vi c này c th c hi n theo m t k ho ch th , c'ng do chính ng i

vi t code so n ra M c ích chính trong giai o n th này là xem ch ng trình có cho ra nh ng

k t qu mong i Giai o n th nghi m n v nhi u khi c g#i là "Th h p tr"ng" (White Box Testing)

+ Th% nghi m n v1 'c l p: Công vi c này do m t thành viên khác trong nhóm m trách

C n ch#n ng i không có liên quan tr c ti p n vi c vi t code c a n v ch ng trình c n th

Trang 12

nghi m m b o tính “ c l p” Công vi c th t này c'ng c th c hi n d a trên k

f) Th*c hi n, tri n khai:

Trong giai o n này, h th ng v a phát tri n s& c tri n khai sao cho phía ng i dùng Tr c khi

ng i dùng th t s b"t tay vào s d ng h th ng, nhóm các nhà phát tri n c n t o các file d li u c n thi t c'ng nh hu!n luy n cho ng i dùng, m b o h th ng c s d ng h u hi u nh!t

g) B o trì, nâng c,p:

Tùy theo các bi n i trong môi tr ng s d ng, h th ng có th tr nên l.i th i hay c n ph i c s a

i nâng c!p s d ng có hi u qu Ho t ng b o trì h th ng có th r!t khác bi t tùy theo m c

s a i và nâng c!p c n thi t

S $ t ng quát các giai o"n c a Chu Trình Phát Tri n Ph n M m:

Hình 1.3: S t ng quát các giai o n c a Chu Trình Phát Tri n Ph n M m

Trang 13

1.3 Ph ng pháp h ng ch c n ng và ph ng pháp h ng i t ng

1.3.1 Ph ng pháp h ng ch c n ng

ây là l i ti p c n truy n th ng c a ngành Công ngh ph n m m Theo l i ti p c n này, chúng ta quan tâm ch y u t i nh ng thông tin mà h th ng s& gi gìn Chúng ta h i ng i dùng xem h# s& c n nh ng thông tin nào, r i chúng ta thi t k ngân hàng d li u ch a nh ng thông tin ó, cung c!p Forms

nh p thông tin và in báo cáo trình bày các thông tin Nói m t cách khác, chúng ta t p trung vào thông tin và không m!y ý n nh ng gì có th x y ra v i nh ng h th ng ó và cách ho t ng ( ng

x ) c a h th ng là ra sao ây là l i ti m c n xoay quanh d li u và ã c áp d ng t o nên hàng ngàn h th ng trong su t nhi u n(m tr i

L i ti p c n xoay quanh d li u là ph ng pháp t t cho vi c thi t k ngân hàng d li u và n"m b"t thông tin, nh ng n u áp d ng cho vi c thi t k ng d ng l i có th khi n phát sinh nhi u khó kh(n M t trong nh ng thách th c l n là yêu c u i v i các h th ng th ng xuyên thay i M t h th ng xoay quanh d li u có th d dàng x lý vi c thay i ngân hàng d li u, nh ng l i khó th c thi nh ng thay

i trong nguyên t"c nghi p v hay cách ho t ng c a h th ng

Ph ng pháp h ng i t ng ã c phát tri n tr l i cho v!n ó V i l i ti p c n h ng i

t ng, chúng ta t p trung vào c hai m t c a v!n : thông tin và cách ho t ng

1.3.2 Ph ng pháp h ng i t ng

H ng i t ng là thu t ng thông d ng hi n th i c a ngành công nghi p ph n m m Các công ty

ang nhanh chóng tìm cách áp d ng và tích h p công ngh m i này vào các ng d ng c a h# Th t s

là a ph n các ng d ng hi n th i u mang tính h ng i t ng Nh ng h ng i t ng có ngh+a là gì?

L i ti p c n h ng i t ng là m t l i t duy v v!n theo l i ánh x các thành ph n trong bài toán vào các i t ng ngoài i th c V i l i ti p c n này, chúng ta chia ng d ng thành các thành ph n

nh , g#i là các i t ng, chúng t ng i c l p v i nhau Sau ó ta có th xây d ng ng d ng b%ng cách ch"p các i t ng ó l i v i nhau Hãy ngh+ n trò ch i xây lâu ài b%ng các m u g B c u tiên là t o hay mua m t vài lo i m u g c(n b n, t ó t o nên các kh i xây d ng c(n b n c a mình

M t khi ã có các kh i xây d ng ó, b n có th ch"p ráp chúng l i v i nhau t o lâu ài T ng t

nh v y m t khi ã xây d ng m t s i t ng c(n b n trong th gi i máy tính, b n có th ch"p chúng

l i v i nhau t o ng d ng c a mình

Xin l!y m t ví d n gi n: v!n rút ti n m t t i nhà b(ng Các “m u g.“ thành ph n ây s& là ánh

x c a các i t ng ngoài i th c nh tài kho n, nhân viên, khách hàng, …Và ng d ng s& c s&

c nh n di n c'ng nh gi i áp xoay quanh các i t ng ó

1.4 u i m c a mô hình h ng i t ng

1.4.1 Tính tái s d ng (Reusable)

Ph ng pháp phân tích và thi t k h ng i t ng th c hi n theo các thu t ng và khái ni m c a

ph m vi l+nh v c ng d ng (t c là c a doanh nghi p hay n v mà h th ng t ng lai c n ph c v ), nên nó t o s ti p c n t ng ng gi a h th ng và v!n th c ngoài i Trong ví d bán xe ô tô, m#i giai o n phân tích thi t k và th c hi n u xoay quanh các khái ni m nh khách hàng, nhân viên bán

Trang 14

hàng/ng i dùng, nhà phân tích, nhà thi t k , nhà phát tri n, chuyên gia l+nh v c, chuyên gia k, thu t, nên l i ti p c n này khi n cho vi c giao ti p gi a h# v i nhau c d dàng h n

M t trong nh ng u i m quan tr#ng b c nh!t c a ph ng pháp phân tích và thi t k h ng i t ng

là tính tái s d ng: b n có th t o các thành ph n ( i t ng) m t l n và dùng chúng nhi u l n sau ó

Gi ng nh vi c b n có th tái s d ng các kh i xây d ng (hay b n sao c a nó ) trong m t toà lâu ài,

m t ngôi nhà , m t con tàu v' tr , b n c'ng có th tái s d ng các thành ph n ( i t ng) c(n b n trong các thi t k h ng i t ng c'ng nh code c a m t h th ng k toán, h th ng ki m kê, ho c

m t h th ng t hàng

Vì các i t ng ã c th nghi m k, càng trong l n dùng tr c ó, nên kh n(ng tái s d ng i

t ng có tác d ng gi m thi u l.i và các khó kh(n trong vi c b o trì, giúp t(ng t c thi t k và phát tri n ph n m m

Ph ng pháp h ng i t ng giúp chúng ta x lý các v!n ph c t p trong phát tri n ph n m m và

t o ra các th h ph n m m có kh n(ng thích ng và b n ch"c

1.4.2 Các giai o n c a chu trình phát tri n ph n m m v i mô hình h ng i t ng

Phân tích h ng i t ng (Object Oriented Analysis - OOA):

Là giai #an phát tri n m t mô hình chính xác và súc tích c a v!n , có thành ph n là các i t ng

ta có th mô hình hóa các th c th thu c m t v!n có th c mà v n gi c c!u trúc, quan h c'ng

nh hành vi c a chúng

i v i ví d m t phòng bán ô tô, giai o n OOA s& nh n bi t c các th c th nh :

Khách hàng

Ng i bán hàng Phi u t hàng Phi u (hoá n) thanh toán

Xe ô tô

T ng tác và quan h gi a các i t ng trên là:

Ng i bán hàng d n khách hàng tham quan phòng tr ng bày xe

Khách hàng ch#n m t chi c xe

Trang 15

Khách hàng vi t phi u t xe Khách hàng tr ti n xe

Xe ô tô c giao n cho khách hàng

i v i ví d nhà b(ng l/, giai o n OOA s& nh n bi t c các th c th nh :

Lo i tài kho n: ATM (rút ti n t ng), Savings (ti t ki m), Current (bình th ng), Fixed ( u t ),

Khách hàng Nhân viên Phòng máy tính

T ng tác và quan h gi a các i t ng trên:

M t khách hàng m i m m t tài kho n ti t ki m Chuy n ti n t tài kho n ti t ki m sang tài kho n u t Chuy n ti n t tài kho n ti t ki m sang tài kho n ATM Xin chú ý là ây, nh ã nói, ta chú ý n c hai khía c nh: thông tin và cách ho t ng c a h th ng

(t c là nh ng gì có th x y ra v i nh ng thông tin ó)

L i phân tích b%ng ki u ánh x " i th c” vào máy tính nh th th t s là u i m l n c a ph ng pháp h ng i t ng

Thi!t k! h ng i t ng (Object Oriented Design - OOD):

Là giai o n t ch c ch ng trình thành các t p h p i t ng c ng tác, m.i i t ng trong ó là th c

th c a m t l p Các l p là thành viên c a m t cây c!u trúc v i m i quan h th a k

M c ích c a giai o n OOD là t o thi t k d a trên k t qu c a giai o n OOA, d a trên nh ng quy

nh phi ch c n(ng, nh ng yêu c u v môi tr ng, nh ng yêu c u v kh n(ng th c thi, OOD t p trung vào vi c c i thi n k t qu c a OOA, t i u hóa gi i pháp ã c cung c!p trong khi v n m

b o tho mãn t!t c các yêu c u ã c xác l p

Trong giai o n OOD, nhà thi t k nh ngh+a các ch c n(ng, th t c (operations), thu c tính (attributes) c'ng nh m i quan h c a m t hay nhi u l p (class) và quy t nh chúng c n ph i c

i u ch*nh sao cho phù h p v i môi tr ng phát tri n ây c'ng là giai o n thi t k ngân hàng d

li u và áp d ng các k, thu t tiêu chu$n hóa

V cu i giai o n OOD, nhà thi t k a ra m t lo t các bi u (diagram) khác nhau Các bi u này

có th c chia thành hai nhóm chính là T+nh và ng Các bi u t+nh bi u th các l p và i t ng, trong khi bi u ng bi u th t ng tác gi a các l p và ph ng th c ho t ng chính xác c a chúng Các l p ó sau này có th c nhóm thành các gói (Packages) t c là các n v thành ph n nh h n

c a ng d ng

L p trình h ng i t ng (Object Oriented Programming - OOP):

Trang 16

Giai o n xây d ng ph n m m có th c th c hi n s d ng k, thu t l p trình h ng i t ng ó là

ph ng th c th c hi n thi t k h ng i t ng qua vi c s d ng m t ngôn ng l p trình có h tr các tính n(ng h ng i t ng M t vài ngôn ng h ng i t ng th ng c nh"c t i là C++ và Java

K t qu chung cu c c a giai o n này là m t lo t các code ch y c, nó ch* c a vào s d ng sau khi ã tr i qua nhi u vòng quay c a nhi u b c th nghi m khác nhau

1.5 Ph n câu h i

H i: M t s t p h p d li u ph c t p nh!t nh khi c trình bày b%ng th s& truy n t i n

ng i #c nhi u thông tin h n so v i các d li u thô?

Trang 17

CH NG 2: NGÔN NG MÔ HÌNH HÓA TH NG NH T LÀ GÌ?

2.1 Gi i thi u UML

2.1.1 Mô hình hóa h th ng ph n m m

Nh ã trình bày ph n tr c, m c tiêu c a giai o n phân tích h th ng là s n xu!t ra m t mô hình

t ng th c a h th ng c n xây d ng Mô hình này c n ph i c trình bày theo h ng nhìn (View) c a khách hàng hay ng i s d ng và làm sao h# hi u c Mô hình này c'ng có th c s d ng xác nh các yêu c u c a ng i dùng i v i h th ng và qua ó giúp chúng ta ánh giá tính kh thi

c a d án

T m quan tr#ng c a mô hình ã c l+nh h i m t cách th!u áo trong h u nh t!t c các ngành khoa h#c k, thu t t nhi u th k3 nay B!t k0 âu, khi mu n xây d ng m t v t th nào ó, u tiên ng i

ta ã t o nên các b n v& quy t nh c ngo i hình l n ph ng th c ho t ng c a nó Ch)ng h n các

b n v& k, thu t th ng g p là m t d ng mô hình quen thu c Mô hình nhìn chung là m t cách mô t

c a m t v t th nào ó V t ó có th t n t i trong m t s giai o n nh!t nh, dù ó là giai o n thi t

k hay giai o n xây d ng ho c ch* là m t k ho ch Nhà thi t k c n ph i t o ra các mô hình mô t t!t

c các khía c nh khác nhau c a s n ph$m Ngoài ra, m t mô hình có th c chia thành nhi u h ng nhìn, m.i h ng nhìn trong s chúng s& mô t m t khía c nh riêng bi t c a s n ph$m hay h th ng c n

c xây d ng M t mô hình c'ng có th c xây d ng trong nhi u giai o n và m.i giai o n, mô hình s& c b sung thêm m t s chi ti t nh!t nh

Mô hình th ng c mô t trong ngôn ng tr c quan, i u ó có ngh+a là a ph n các thông tin c

th hi n b%ng các ký hi u h#a và các k t n i gi a chúng, ch* khi c n thi t m t s thông tin m i c

bi u di n d ng v(n b n; Theo úng nh câu ng n ng "M t b c tranh nói nhi u h n c ngàn t " T o

mô hình cho các h th ng ph n m m tr c khi th c s xây d ng nên chúng, ã tr thành m t chu$n

m c trong vi c phát tri n ph n m m và c ch!p nh n trong c ng ng làm ph n m m gi ng nh trong b!t k0 m t ngành khoa h#c k, thu t nào khác Vi c bi u di n mô hình ph i thoã mãn các y u t sau:

Chính xác (accurate): Mô t úng h th ng c n xây d ng

ng nh!t (consistent): Các view khác nhau không c mâu thu$n v i nhau

Có th hi u c (understandable): Cho nh ng ng i xây d ng l n s d ng

D thay i (changeable)

D dàng liên l c v i các mô hình khác

Có th nói thêm r%ng mô hình là m t s n gi n hoá hi n th c Mô hình c xây d ng nên chúng

ta d dàng hi u và hi u t t h n h th ng c n xây d ng T o mô hình s& giúp cho chúng ta hi u th!u áo

m t h th ng ph c t p trong s toàn th c a nó

Nói tóm l i, mô hình hóa m t h th ng nh%m m c ích:

Hình dung m t h th ng theo th c t hay theo mong mu n c a chúng ta

Trang 18

hi n Cùng v i chúng, n y sinh nhu c u mô hình hoá các h th ng ph n m m theo h ng i t ng Và

m t vài trong s nh ng ngôn ng mô hình hoá xu!t hi n nh ng n(m u th p k3 90 c nhi u ng i dùng là:

Grady Booch’s Booch Modeling Methodology James Rambaugh’s Object Modeling Technique – OMT Ivar Jacobson’s OOSE Methodology

Hewlett- Packard’s Fusion Coad and Yordon’s OOA and OOD M.i ph ng pháp lu n và ngôn ng trên u có h th ng ký hi u riêng, ph ng pháp x lý riêng và công c h tr riêng, khi n n y ra cu c tranh lu n ph ng pháp nào là t t nh!t ây là cu c tranh lu n khó có câu tr l i, b i t!t c các ph ng pháp trên u có nh ng i m m nh và i m y u riêng Vì th , các nhà phát tri n ph n m m nhi u kinh nghi m th ng s d ng ph i h p các i m m nh c a m.i

ph ng pháp cho ng d ng c a mình Trong th c t , s khác bi t gi a các ph ng pháp ó h u nh không áng k và theo cùng ti n trình th i gian, t!t c nh ng ph ng pháp trên ã ti m c n l i và b sung l n cho nhau Chính hi n th c này ã c nh ng ng i tiên phong trong l+nh v c mô hình hoá

h ng i t ng nh n ra và h# quy t nh ng i l i cùng nhau tích h p nh ng i m m nh c a m.i

ph ng pháp và a ra m t mô hình th ng nh!t cho l+nh v c công ngh ph n m m

2.1.3 S ra i c a UML

Trong b i c nh trên, ng i ta nh n th!y c n thi t ph i cung c!p m t ph ng pháp ti m c n c chu$n hoá và th ng nh!t cho vi c mô hình hoá h ng i t ng Yêu c u c th là a ra m t t p h p chu$n hoá các ký hi u (Notation) và các bi u (Diagram) n"m b"t các quy t nh v m t thi t k m t cách rõ ràng, rành m ch ã có ba công trình tiên phong nh"m t i m c tiêu ó, chúng c th c hi n

d i s lãnh o c a James Rumbaugh, Grady Booch và Ivar Jacobson Chính nh ng c g"ng này d n

n k t qu là xây d ng c m t Ngôn Ng Mô Hình Hoá Th ng Nh!t (Unifield Modeling Language – UML)

UML là m t ngôn ng mô hình hoá th ng nh!t có ph n chính bao g m nh ng ký hi u hình h#c, c các ph ng pháp h ng i t ng s d ng th hi n và miêu t các thi t k c a m t h th ng Nó là

m t ngôn ng c t , tr c quan hoá, xây d ng và làm s u li u cho nhi u khía c nh khác nhau c a

m t h th ng có n ng ph n m m cao UML có th c s d ng làm công c giao ti p gi a ng i dùng, nhà phân tích, nhà thi t k và nhà phát tri n ph n m m

Trang 19

Trong quá trình phát tri n có nhi u công ty ã h tr và khuy n khích phát tri n UML có th k t i nh : Hewlett Packard, Microsoft, Oracle, IBM, Unisys

2.1.4 UML (Unifield Modeling Language)

Ngôn ng mô hình hóa th ng nh!t (Unifield Modeling Language – UML) là m t ngôn ng bi u di n

mô hình theo h ng i t ng c xây d ng b i ba tác gi trên v i ch ích là:

Mô hình hoá các h th ng s d ng các khái ni m h ng i t ng

Thi t l p m t k t n i t nh n th c c a con ng i n các s ki n c n mô hình hoá

Gi i quy t v!n v m c th a k trong các h th ng ph c t p, có nhi u ràng bu c khác nhau

T o m t ngôn ng mô hình hoá có th s d ng c b i ng i và máy

2.1.5 Ph ng pháp và các ngôn ng mô hình hoá

Ph ng pháp hay ph ng th c (method) là m t cách tr c ti p c!u trúc hoá s suy ngh+ và hành ng

c a con ng i Ph ng pháp cho ng i s d ng bi t ph i làm gì, làm nh th nào, khi nào và t i sao (m c ích c a hành ng) Ph ng pháp ch a các mô hình (model), các mô hình c dùng mô t

nh ng gì s d ng cho vi c truy n t k t qu trong quá trình s d ng ph ng pháp i m khác nhau chính gi a m t ph ng pháp và m t ngôn ng mô hình hoá (modeling language) là ngôn ng mô hình hoá không có m t ti n trình (process) hay các câu l nh (instruction) mô t nh ng công vi c ng i s

d ng c n làm

M t mô hình c bi u di n theo m t ngôn ng mô hình hoá Ngôn ng mô hình hoá bao g m các ký

hi u – nh ng bi u t ng c dùng trong mô hình – và m t t p các quy t"c ch* cách s d ng chúng Các quy t"c này bao g m:

Syntactic (Cú pháp): cho bi t hình d ng các bi u t ng và cách k t h p chúng trong ngôn ng

Semantic (Ng ngh+a): cho bi t ý ngh+a c a m.i bi u t ng, chúng c hi u th nào khi n%m trong ho c không n%m trong ng c nh c a các bi u t ng khác

Pragmatic : nh ngh+a ý ngh+a c a bi u t ng sao cho m c ích c a mô hình c

th hi n và m#i ng i có th hi u c

2.2 UML trong phân tích thi!t k! h th ng

UML có th c s d ng trong nhi u giai o n, t phát tri n, thi t k cho t i th c hi n và b o trì Vì

m c ích chính c a ngôn ng này là dùng các bi u h ng i t ng mô t h th ng nên mi n

ng d ng c a UML bao g m nhi u lo i h th ng khác nhau nh :

H th ng th ng tin (Information System): C!t gi , l!y, bi n i bi u di n thông tin cho

ng i s d ng X lý nh ng kho ng d li u l n có các quan h ph c t p , mà chúng c l u

tr trong các c s d li u quan h hay h ng i t ng

Trang 20

H th ng k2 thu t (Technical System): X lý và i u khi n các thi t b k, thu t nh vi n

thông, h th ng quân s , hay các quá trình công nghi p ây là lo i thi t b ph i x lý các giao

ti p c bi t , không có ph n m m chu$n và th ng là các h th ng th i gian th c (real time)

H th ng nhúng (Embeded System): Th c hi n trên ph n c ng g"n vào các thi t b nh i n

tho i di ng, i u khi n xe h i, … i u này c th c hi n b%ng vi c l p trình m c th!p v i

h tr th i gian th c Nh ng h th ng này th ng không có các thi t b nh màn hình +a c ng,

H th ng phân b ( Distributed System): c phân b trên m t s máy cho phép truy n d

li u t n i này n n i khác m t cách d dàng Chúng òi h i các c ch liên l c ng b

m b o toàn v-n d li u và th ng c xây d ng trên m t s các k, thu t i t ng nh CORBA, COM/DCOM, hay Java Beans/RMI

H th ng Giao d1ch (Business System): Mô t m c ích, tài nguyên (con ng i, máy tính,

…), các quy t"c (lu t pháp, chi n thu t kinh doanh, c ch , …), và công vi c ho t ng kinh doanh

Ph n m m h th ng (System Software): nh ngh+a c s h t ng k, thu t cho ph n m m

khác s d ng, ch)ng h n nh h i u hành, c s d li u, giao di n ng i s d ng

2.3 UML và các giai o"n phát tri n h th ng

Preliminary Investigation: use cases th hi n các yêu c u c a ng i dùng Ph n miêu t use

case xác nh các yêu c u, ph n diagram th hi n m i quan h và giao ti p v i h th ng

Analysis: M c ích chính c a giai #an này là tr u t ng hóa và tìm hi u các c c!u có

trong ph m vi bài toán Class diagrams trên bình di n tr u t ng hóa các th c th ngoài i

th c c s d ng làm rõ s t n t i c'ng nh m i quan h c a chúng Ch* nh ng l p (class) n%m trong ph m vi bài toán m i áng quan tâm

Design: K t qu ph n analysis c phát tri n thành gi i pháp k, thu t Các l p c mô hình hóa chi ti t cung c!p h t ng k, thu t nh giao di n, n n t ng cho database, … K t qu

ph n Design là các c t chi ti t cho giai o n xây d ng ph n m m

Development: Mô hình Design c chuy n thành code Programmer s d ng các UML diagrams trong giai o n Design hi u v!n và t o code

Testing: S d ng các UML diagrams trong các giai o n tr c Có 4 hình th c ki m tra h

th ng:

Unit testing (class diagrams & class specifications) : ki m tra t ng n th ,

c dùng ki m tra các l p hay các nhóm n th

Integration testing (integration diagrams & collaboration diagrams) : ki m tra

tích h p là ki m tra k t h p các component v i các l p xem chúng ho t ng

v i nhau có úng không

ch c n(ng mà ng i s d ng yêu c u hay không

Trang 21

Acceptance testing: Ki m tra tính ch!p nh n c c a h th ng, th ng c

th c hi n b i khách hàng, vi c ki m tra này th c hi n t ng t nh ki m tra h

th ng

2.4 Ph n câu h i

H i: UML (Unifield Modeling Language) là gì?

áp: Ngôn ng mô hình hóa th ng nh!t – UML là m t ngôn ng bi u di n mô hình theo

h ng i t ng

H i: i m khác nhau c b n gi a ph ng pháp (method) và m t ngôn ng mô hình hoá (modeling

language) là gì?

áp: i m khác nhau c b n gi a m t ph ng pháp và m t ngôn ng mô hình hoá là ngôn

ng mô hình hoá không có m t ti n trình (process) hay các câu l nh (instruction) mô t nh ng công vi c ng i s d ng c n làm mà nó bao g m các ký hi u – nh ng bi u t ng c dùng trong mô hình – và m t t p các quy t"c ch* cách s d ng chúng

Trang 22

CH NG 3: KHÁI QUÁT V UML

3.1 UML và các giai o"n c a chu trình phát tri n ph n m m

3.1.1 Giai o n nghiên c u s b

UML a ra khái ni m Use Case n"m b"t các yêu c u c a khách hàng (ng i s d ng) UML s

d ng bi u Use case (Use Case Diagram) nêu b t m i quan h c'ng nh s giao ti p v i h th ng Qua ph ng pháp mô hình hóa Use case, các tác nhân (Actor) bên ngoài quan tâm n h th ng s&

c mô hình hóa song song v i ch c n(ng mà h# òi h i t phía h th ng (t c là Use case) Các tác nhân và các Use case c mô hình hóa cùng các m i quan h và c miêu t trong bi u Use case

c a UML M.i m t Use case c mô t trong tài li u, và nó s& c t các yêu c u c a khách hàng: Anh ta hay ch ta ch i i u gì phía h th ng mà không h ý n vi c ch c n(ng này s& c

th c thi ra sao

3.1.2 Giai o n phân tích

Giai o n phân tích quan tâm n quá trình tr u t ng hóa u tiên (các l p và các i t ng) c'ng

nh c ch hi n h u trong ph m vi v!n Sau khi nhà phân tích ã nh n bi t c các l p thành ph n

c a mô hình c'ng nh m i quan h gi a chúng v i nhau, các l p cùng các m i quan h ó s& c miêu t b%ng công c bi u l p (class diagram) c a UML S c ng tác gi a các l p nh%m th c hi n các Use case c'ng s& c miêu t nh vào các mô hình ng (dynamic models) c a UML Trong giai

o n phân tích, ch* duy nh!t các l p có t n t i trong ph m vi v!n (các khái ni m i th c) là c

mô hình hóa Các l p k, thu t nh ngh+a chi ti t c'ng nh gi i pháp trong h th ng ph n m m, ví d

nh các l p cho giao di n ng i dùng, cho ngân hàng d li u, cho s giao ti p, trùng h p, v.v , ch a

ph i là m i quan tâm c a giai o n này

3.1.3 Giai o n thi t k

Trong giai o n này, k t qu c a giai o n phân tích s& c m r ng thành m t gi i pháp k, thu t Các l p m i s& c b sung t o thành m t h t ng c s k, thu t: Giao di n ng i dùng, các ch c n(ng l u tr các i t ng trong ngân hàng d li u, giao ti p v i các h th ng khác, giao di n v i các thi t b ngo i vi và các máy móc khác trong h th ng, Các l p thu c ph m vi v!n có t giai

o n phân tích s& c "nhúng" vào h t ng c s k, thu t này, t o ra kh n(ng thay i trong c hai

ph ng di n: Ph m vi v!n và h t ng c s Giai o n thi t k s& a ra k t qu là b n c t chi ti t cho giai o n xây d ng h th ng

c g"ng né tránh vi c ngay l p t c bi n i các mô hình này thành các dòng code Trong nh ng giai

o n tr c, mô hình c s d ng d hi u, d giao ti p và t o nên c!u trúc c a h th ng; vì v y, v i

Trang 23

vàng a ra nh ng k t lu n v vi c vi t code có th s& thành m t tr ng i cho vi c t o ra các mô hình chính xác và n gi n Giai o n xây d ng là m t giai o n riêng bi t, n i các mô hình c chuy n thành code

3.1.5 Th nghi m

Nh ã trình bày trong ph n Chu Trình Phát Tri n Ph n M m, m t h th ng ph n m m th ng c

th nghi m qua nhi u giai o n và v i nhi u nhóm th nghi m khác nhau Các nhóm s d ng nhi u

lo i bi u UML khác nhau làm n n t ng cho công vi c c a mình: Th nghi m n v s d ng bi u

l p (class diagram) và c t l p, th nghi m tích h p th ng s d ng bi u thành ph n (component diagram) và bi u c ng tác (collaboration diagram), và giai o n th nghi m h th ng s

d ng bi u Use case (use case diagram) m b o h th ng có ph ng th c ho t ng úng nh ã

c nh ngh+a t ban u trong các bi u này

3.2 Các thành ph n c a ngôn ng# UML

Ngôn ng UML bao g m m t lo t các ph n t h#a (graphic element) có th c k p h p v i nhau

t o ra các bi u B i ây là m t ngôn ng , nên UML c'ng có các nguyên t"c k t h p các ph n

t ó

M t s nh ng thành ph n ch y u c a ngôn ng UML:

H ng nhìn (view): H ng nhìn ch* ra nh ng khía c nh khác nhau c a h th ng c n ph i

c mô hình hóa M t h ng nhìn không ph i là m t b n v&, mà là m t s tr u t ng hóa bao

g m m t lo t các bi u khác nhau Ch* qua vi c nh ngh+a c a m t lo t các h ng nhìn khác nhau, m.i h ng nhìn ch* ra m t khía c nh riêng bi t c a h th ng, ng i ta m i có th t o

d ng nên m t b c tranh hoàn thi n v h th ng C'ng chính các h ng nhìn này n i k t ngôn

ng mô hình hóa v i quy trình c ch#n cho giai o n phát tri n

Bi u (diagram): Bi u là các hình v& miêu t n i dung trong m t h ng nhìn UML có

t!t c 9 lo i bi u khác nhau c s d ng trong nh ng s k t h p khác nhau cung c!p t!t

c các h ng nhìn c a m t h th ng

g#i là các ph n t mô hình, th hi n các khái ni m h ng i t ng quen thu c Ví d nh l p,

i t ng, thông i p c'ng nh các quan h gi a các khái ni m này, bao g m c liên k t, ph thu c, khái quát hóa M t ph n t mô hình th ng c s d ng trong nhi u bi u khác nhau,

nh ng nó luôn luôn có ch* m t ý ngh+a và m t kí hi u

C ch chung: C ch chung cung c!p thêm nh ng l i nh n xét b sung, các thông tin c'ng

nh các quy t"c ng pháp chung v m t ph n t mô hình; chúng còn cung c!p thêm các c ch

có th m r ng ngôn ng UML cho phù h p v i m t ph ng pháp xác nh (m t quy trình,

Trang 24

ph i c miêu t v i m t lo t các khía c nh khác nhau: V m t ch c n(ng (c!u trúc t+nh c a nó c'ng

nh các t ng tác ng), v m t phi ch c n(ng (yêu c u v th i gian, v áng tin c y, v quá trình

th c thi, v.v và v.v.) c'ng nh v khía c nh t ch c (t ch c làm vi c, ánh x nó vào các code module, ) Vì v y m t h th ng th ng c miêu t trong m t lo t các h ng nhìn khác nhau, m.i h ng nhìn s& th hi n m t b c nh ánh x c a toàn b h th ng và ch* ra m t khía c nh riêng c a h th ng

Hình 3.1- Các View trong UML

M.i m t h ng nhìn c miêu t trong m t lo t các bi u , ch a ng các thông tin nêu b t khía

c nh c bi t ó c a h th ng Trong th c t khi phân tích và thi t k r!t d x y ra s trùng l p thông tin, cho nên m t bi u trên th t t có th là thành ph n c a nhi u h ng nhìn khác nhau Khi nhìn h

th ng t nhi u h ng nhìn khác nhau, t i m t th i i m có th ng i ta ch* t p trung vào m t khía c nh

c a h th ng M t bi u trong m t h ng nhìn c th nào ó c n ph i n gi n t o i u

ki n giao ti p d dàng, dính li n v i các bi u khác c'ng nh các h ng nhìn khác, làm sao cho

b c tranh toàn c nh c a h th ng c miêu t b%ng s k t h p t!t c các thông tin t t!t c các h ng nhìn M t bi u ch a các kí hi u hình h#c mô t các ph n t mô hình c a h th ng UML có t!t c các h ng nhìn sau:

H ng nhìn Use case (use case view) : ây là h ng nhìn ch* ra khía c nh ch c n(ng c a m t

h th ng, nhìn t h ng tác nhân bên ngoài

H ng nhìn logic (logical view): ch* ra ch c n(ng s& c thi t k bên trong h th ng nh th nào, qua các khái ni m v c!u trúc t+nh c'ng nh ng x ng c a h th ng

H ng nhìn thành ph n (component view): ch* ra khía c nh t ch c c a các thành ph n code

H ng nhìn song song (concurrency view): ch* ra s t n t i song song/ trùng h p trong h

th ng, h ng n v!n giao ti p và ng b hóa trong h th ng

H ng nhìn tri n khai (deployment view): ch* ra khía c nh tri n khai h th ng vào các ki n trúc v t lý (các máy tính hay trang thi t b c coi là tr m công tác)

Khi b n ch#n công c v& bi u , hãy ch#n công c nào t o i u ki n d dàng chuy n t h ng nhìn này sang h ng nhìn khác Ngoài ra, cho m c ích quan sát m t ch c n(ng s& c thi t k nh th nào, công c này c'ng ph i t o i u ki n d dàng cho b n chuy n sang h ng nhìn Use case ( xem

ch c n(ng này c miêu t nh th nào t phía tác nhân), ho c chuy n sang h ng nhìn tri n khai ( xem ch c n(ng này s& c phân b ra sao trong c!u trúc v t lý - Nói m t cách khác là nó có th n%m trong máy tính nào)

Trang 25

Ngoài các h ng nhìn k trên, ngành công nghi p ph n m m còn s d ng c các h ng nhìn khác, ví

d h ng nhìn t+nh- ng, h ng nhìn logic-v t lý, quy trình nghi p v (workflow) và các h ng nhìn khác UML không yêu c u chúng ta ph i s d ng các h ng nhìn này, nh ng ây c'ng chính là nh ng

h ng nhìn mà các nhà thi t k c a UML ã ngh+ t i, nên có kh n(ng nhi u công c s& d a trên các

h ng nhìn ó

3.3.1 H ng nhìn Use case (Use case View)

H ng nhìn Use case miêu t ch c n(ng c a h th ng s& ph i cung c!p do c tác nhân t bên ngoài mong i Tác nhân là th c th t ng tác v i h th ng; ó có th là m t ng i s d ng ho c là m t h

th ng khác H ng nhìn Use case là h ng nhìn dành cho khách hàng, nhà thi t k , nhà phát tri n và

ng i th nghi m; nó c miêu t qua các bi u Use case (use case diagram) và th*nh tho ng c'ng bao g m c các bi u ho t ng (activity diagram) Cách s d ng h th ng nhìn chung s& c miêu

t qua m t lo t các Use case trong h ng nhìn Use case, n i m.i m t Use case là m t l i miêu t mang tính c thù cho m t tính n(ng c a h th ng (có ngh+a là m t ch c n(ng c mong i)

H ng nhìn Use case mang tính trung tâm, b i nó t ra n i dung thúc $y s phát tri n các h ng nhìn khác M c tiêu chung c a h th ng là cung c!p các ch c n(ng miêu t trong h ng nhìn này – cùng v i m t vài các thu c tính mang tính phi ch c n(ng khác – vì th h ng nhìn này có nh h ng

n t!t c các h ng nhìn khác H ng nhìn này c'ng c s d ng th$m tra (verify) h th ng qua

vi c th nghi m xem h ng nhìn Use case có úng v i mong i c a khách hàng (H i: " ây có ph i là

th b n mu n") c'ng nh có úng v i h th ng v a c hoàn thành (H i: "H th ng có ho t ng

nh ã c t ?”)

3.3.2 H ng nhìn logic (Logical View)

H ng nhìn logic miêu t ph ng th c mà các ch c n(ng c a h th ng s& c cung c!p Ch y u nó

c s d ng cho các nhà thi t k và nhà phát tri n Ng c l i v i h ng nhìn Use case, h ng nhìn logic nhìn vào phía bên trong c a h th ng Nó miêu t k c c!u trúc t+nh (l p, i t ng, và quan h ) c'ng nh s t ng tác ng s& x y ra khi các i t ng g i thông i p cho nhau cung c!p ch c n(ng ã nh s2n H ng nhìn logic nh ngh+a các thu c tính nh tr ng t n (persistency) ho c song song (concurrency), c'ng nh các giao di n c'ng nh c!u trúc n i t i c a các l p

C!u trúc t+nh c miêu t b%ng các bi u l p (class diagram) và bi u i t ng (object diagram) Quá trình mô hình hóa ng c miêu t trong các bi u tr ng thái (state diagram), bi u trình t (sequence diagram), bi u t ng tác (collaboration diagram) và bi u ho t ng (activity diagram)

3.3.3 H ng nhìn thành ph n (Component View)

Là m t l i miêu t c a vi c th c thi các modul c'ng nh s ph thu c gi a chúng v i nhau Nó th ng

c s d ng cho nhà phát tri n và th ng bao g m nhi u bi u thành ph n Thành ph n ây là các modul l nh thu c nhi u lo i khác nhau, s& c ch* ra trong bi u cùng v i c!u trúc c'ng nh s ph thu c c a chúng Các thông tin b sung v các thành ph n, ví d nh v trí c a tài nguyên (trách nhi m

i v i m t thành ph n), ho c các thông tin qu n tr khác, ví d nh m t b n báo cáo v ti n trình c a công vi c c'ng có th c b sung vào ây

Trang 26

3.3.4 H ng nhìn song song (Concurrency View)

H ng nhìn song song nh"m t i s chia h th ng thành các qui trình (process) và các b x lý (processor) Khía c nh này, v n là m t thu c tính phi ch c n(ng c a h th ng, cho phép chúng ta s

d ng m t cách h u hi u các ngu n tài nguyên, th c thi song song, c'ng nh x lý các s ki n không

ng b t môi tr ng Bên c nh vi c chia h th ng thành các ti u trình có th c th c thi song song, h ng nhìn này c'ng ph i quan tâm n v!n giao ti p và ng b hóa các ti u trình ó

H ng nhìn song song giành cho nhà phát tri n và ng i tích h p h th ng, nó bao g m các bi u

ng (tr ng thái, trình t , t ng tác và ho t ng) cùng các bi u th c thi (bi u thành ph n và

bi u tri n khai)

3.3.5 H ng nhìn tri n khai (Deployment View)

Cu i cùng, h ng nhìn tri n khai ch* cho chúng ta s tri n khai v m t v t lý c a h th ng, ví d

nh các máy tính c'ng nh các máy móc và s liên k t gi a chúng v i nhau H ng nhìn tri n khai giành cho các nhà phát tri n, ng i tích h p c'ng nh ng i th nghi m h th ng và c th hi n b%ng các bi u tri n khai H ng nhìn này c'ng bao g m s ánh x các thành ph n c a h th ng vào c!u trúc v t lý; ví d nh ch ng trình nào hay i t ng nào s& c th c thi trên máy tính nào

3.4 Bi u $ (diagram)

Bi u là các hình v& bao g m các ký hi u ph n t mô hình hóa c s"p x p minh h#a m t thành

ph n c th hay m t khía c nh c th c a h th ng M t mô hình h th ng th ng có nhi u lo i bi u , m.i lo i có nhi u bi u khác nhau M t bi u là m t thành ph n c a m t h ng nhìn c th ; và khi c v& ra, nó th ng th ng c'ng c x p vào m t h ng nhìn M t khác, m t s lo i bi u

có th là thành ph n c a nhi u h ng nhìn khác nhau, tùy thu c vào n i dung c a bi u

Ph n sau miêu t các khái ni m c(n b n n%m %ng sau m.i lo i bi u T!t c các chi ti t v bi u ,

ng c nh c a chúng, ý ngh+a chính xác c a chúng và s t ng tác gi a chúng v i nhau c miêu t chi ti t trong các ch ng sau (mô hình i t ng – mô hình ng) Các bi u l!y làm ví d ây

c l!y ra t nhi u lo i h th ng khác nhau ch* ra nét phong phú và kh n(ng áp d ng r ng kh"p

c a ULM

3.4.1 Bi u Use case (Use Case Diagram)

M t bi u Use case ch* ra m t s l ng các tác nhân ngo i c nh và m i liên k t c a chúng i v i Use case mà h th ng cung c!p (nhìn hình 3.2) M t Use case là m t l i miêu t c a m t ch c n(ng mà

h th ng cung c!p L i miêu t Use case th ng là m t v(n b n tài li u, nh ng kèm theo ó c'ng có

th là m t bi u ho t ng Các Use case c miêu t duy nh!t theo h ng nhìn t ngoài vào c a các tác nhân (hành vi c a h th ng theo nh s mong i c a ng i s d ng), không miêu t ch c n(ng

c cung c!p s& ho t ng n i b bên trong h th ng ra sao Các Use case nh ngh+a các yêu c u v

m t ch c n(ng i v i h th ng Các bi u Use case s& c miêu t chi ti t h n trong ch ng 4 (Use case)

Trang 27

Hình 3.2- Bi u use case c a m t công ty b o hi m

3.4.2 Bi u l p (Class Diagram)

M t bi u l p ch* ra c!u trúc t+nh c a các l p trong h th ng (nhìn hình 3.3) Các l p là i di n cho các “v t” c x lý trong h th ng Các l p có th quan h v i nhau trong nhi u d ng th c: liên k t (associated - c n i k t v i nhau), ph thu c (dependent - m t l p này ph thu c vào l p khác), chuyên bi t hóa (specialized - m t l p này là m t k t qu chuyên bi t hóa c a l p khác), hay óng gói ( packaged - h p v i nhau thành m t n v ) T!t c các m i quan h ó u c th hi n trong bi u

l p, i kèm v i c!u trúc bên trong c a các l p theo khái ni m thu c tính (attribute) và th t c (operation) Bi u c coi là bi u t+nh theo ph ng di n c!u trúc c miêu t ây có hi u l c

t i b!t k0 th i i m nào trong toàn b vòng i h th ng

M t h th ng th ng s& có m t lo t các bi u l p – ch)ng ph i bao gi t!t c các bi u l p này c'ng c nh p vào m t bi u l p t ng th duy nh!t – và m t l p có th tham gia vào nhi u bi u

l p Bi u l p c miêu t chi ti t trong ch ng sau

Hình 3.3 - Bi u l p cho m t giao d ch Tài chính

Trang 28

3.4.3 Bi u i t ng (Object Diagram)

Bi u i t ng không quan tr#ng b%ng bi u l p, chúng có th c s d ng ví d hóa m t

bi u l p ph c t p, ch* ra v i nh ng th c th c th và nh ng m i quan h nh th thì b c tranh toàn

c nh s& ra sao M t bi u i t ng th ng th ng c s d ng làm m t thành ph n c a m t bi u

c ng tác (collaboration), ch* ra l i ng x ng gi a m t lo t các i t ng

Hình 3.4 - Bi u l p và bi u i t ng th hi n c a l p

3.4.4 Bi u tr ng thái (State Diagram)

M t bi u tr ng thái th ng là m t s b sung cho l i miêu t m t l p Nó ch* ra t!t c các tr ng thái

mà i t ng c a l p này có th có, và nh ng s ki n (event) nào s& gây ra s thay i tr ng thái (hình 3.5) M t s ki n có th x y ra khi m t i t ng t g i thông i p n cho nó - ví d nh thông báo r%ng m t kho ng th i gian c xác nh ã qua i – hay là m t s i u ki n nào ó ã c th a mãn M t s thay i tr ng thái c g#i là m t s chuy n i tr ng thái (State Transition) M t

chuy n i tr ng thái c'ng có th có m t hành ng liên quan, xác nh i u gì ph i c th c hi n khi

s chuy n i tr ng thái này di n ra

Bi u tr ng thái không c v& cho t!t c các l p, mà ch* riêng cho nh ng l p có m t s l ng các

tr ng thái c nh ngh+a rõ ràng và hành vi c a l p b nh h ng và thay i qua các tr ng thái khác nhau Bi u tr ng thái c'ng có th c v& cho h th ng t ng th Bi u tr ng thái c miêu t chi

ti t h n trong ch ng sau (Mô hình ng)

Hình 3.5- M t ví d v bi u tr ng thái

Trang 29

3.4.5 Bi u trình t (Sequence Diagram)

M t bi u trình t ch* ra m t c ng tác ng gi a m t lo t các i t ng (xem hình 3.6) Khía c nh quan tr#ng c a bi u này là ch* ra trình t các thông i p (message) c g i gi a các i t ng Nó c'ng ch* ra trình t t ng tác gi a các i t ng, i u s& x y ra t i m t th i i m c th nào ó trong trình t th c thi c a h th ng Các bi u trình t ch a m t lo t các i t ng c bi u di n b%ng các ng th)ng ng Tr c th i gian có h ng t trên xu ng d i trong bi u , và bi u ch* ra s trao i thông i p gi a các i t ng khi th i gian trôi qua Các thông i p c bi u di n b%ng các

ng g ch ngang g"n li n v i m'i tên (bi u th thông i p) n i li n gi a nh ng ng th)ng ng th

hi n i t ng Tr c th i gian cùng nh ng l i nh n xét khác th ng s& c a vào ph n l c a bi u

Hình 3.6 - M t bi u trình t cho Print Server

Bi u c ng tác c v& theo d ng m t bi u i t ng, n i m t lo t các i t ng c ch* ra cùng v i m i quan h gi a chúng v i nhau (s d ng nh ng ký hi u nh trong bi u l p/ bi u i

t ng) Các m'i tên c v& gi a các i t ng ch* ra dòng ch y thông i p gi a các i t ng Các thông i p th ng c ính kèm theo các nhãn (label), m t trong nh ng ch c n(ng c a nhãn là ch* ra th t mà các thông i p c g i i Nó c'ng có th ch* ra các i u ki n, ch* ra nh ng giá tr

c tr v , v.v Khi ã làm quen v i cách vi t nhãn, m t nhà phát tri n có th #c bi u c ng tác

và tuân th theo dòng th c thi c'ng nh s trao i thông i p M t bi u c ng tác c'ng có th ch a

c các i t ng tích c c (active objects), ho t ng song song v i các i t ng tích c c khác (hình 3.7) Bi u c ng tác c miêu t chi ti t trong ch ng sau

Trang 30

Hình 3.7 - M t bi u công tác c a m t printer server

ng c n ph i c th c hi n (m t hành ng - action) M t tr ng thái hành ng s& qua i khi hành

ng c th c hi n xong (khác v i bi u tr ng thái: m t tr ng thái ch* chuy n sang tr ng thái khác sau khi ã x y ra m t s ki n rõ ràng !) Dòng i u khi n ây ch y gi a các tr ng thái hành ng liên

k t v i nhau Bi u còn có th ch* ra các quy t nh, các i u ki n, c'ng nh ph n th c thi song song

c a các tr ng thái hành ng Bi u ngoài ra còn có th ch a các lo i c t cho các thông i p c

g i i ho c c nh n v , trong t cách là thành ph n c a hành ng c th c hi n

Hình 3.8 - M t bi u ho t ng cho m t printer server

3.4.8 Bi u thành ph n (Component Diagram)

M t bi u thành ph n ch* ra c!u trúc v t lý c a các dòng l nh (code) theo khái ni m thành ph n code

M t thành ph n code có th là m t t p tin source code, m t thành ph n nh phân (binary) hay m t thành ph n th c thi c (executable) M t thành ph n ch a các thông tin v các l p logic ho c các l p

Trang 31

mà nó thi hành, nh th có ngh+a là nó t o ra m t ánh x t h ng nhìn logic vào h ng nhìn thành

ph n Bi u thành ph n c'ng ch* ra nh ng s ph thu c gi a các thành ph n v i nhau, tr giúp cho công vi c phân tích hi u ng mà m t thành ph n c thay i s& gây ra i v i các thành ph n khác Thành ph n c'ng có th c miêu t v i b!t k0 lo i giao di n nào mà chúng b c l , ví d nh giao

di n OLE/COM; và chúng có th c nhóm góp l i v i nhau thành t ng gói (package) Bi u thành

ph n c s d ng trong công vi c l p trình c th (xem hình 3.9)

Hình 3.9 - M t bi u thành ph n ch* ra s ph thu c gi a các thành ph n mã

3.4.9 Bi u tri n khai (Deployment Diagram)

Bi u tri n khai ch* ra ki n trúc v t lý c a ph n c ng c'ng nh ph n m m trong h th ng B n có th ch* ra t ng máy tính c th và t ng trang thi t b c th (node) i kèm s n i k t gi a chúng v i nhau,

b n c'ng có th ch* ra lo i c a các m i n i k t ó Bên trong các nút m ng (node), các thành ph n th c thi c c'ng nh các i t ng s& c xác nh v trí ch* ra nh ng ph n m m nào s& c th c thi

t i nh ng nút m ng nào B n c'ng có th ch* ra s ph thu c gi a các thành ph n

Bi u tri n khai ch* ra h ng nhìn tri n khai, miêu t ki n trúc v t lý th t s c a h th ng ây là

m t h ng nhìn r!t xa l i miêu t duy ch c n(ng c a h ng nhìn Use case M c dù v y, trong m t mô hình t t, ng i ta có th ch* t!t c nh ng con ng d n t m t nút m ng trong m t ki n trúc v t lý cho

t i nh ng thành ph n c a nó, cho t i l p mà nó th c thi, cho t i nh ng t ng tác mà các i t ng c a

l p này tham gia r i cu i cùng, ti n t i m t Use case R!t nhi u h ng nhìn khác nhau c a h th ng

c s d ng ng th i t o ra m t l i miêu t th!u áo i v i h th ng trong s t ng th c a nó

Trang 32

Hình 3.10 - M t bi u tri n khai ch* ra ki n trúc v t lý c a h th ng 3.5 Ph n t% mô hình (model element)

Các khái ni m c s d ng trong các bi u c g#i là các ph n t mô hình (model element) M t

ph n t mô hình c nh ngh+a v i ng ngh+a (semantic), ó là m t nh ngh+a v b n ch!t ph n t hay là m t xác nh ý ngh+a chính xác xem nó s& th hi n i u gì trong nh ng l i kh)ng nh rõ ràng M.i ph n t mô hình còn có m t s miêu t tr c quan, m t ký hi u hình h#c c s d ng miêu t

ph n t này trong bi u M t ph n t có th t n t i trong nhi u d ng bi u khác nhau, nh ng c'ng

có nh ng nguyên t"c xác nh lo i ph n t nào có th c ch* ra trong lo i bi u nào M t vài ví d cho ph n t vô hình là l p, i t ng, tr ng thái, nút m ng, gói, thành ph n (hình 3.11)

Hình 3.11- Các thành ph n mô hình th ng dùng

Hình 3.12 ch* ra m t vài ví d c a m i quan h , ây c'ng là m t d ng ph n t mô hình, chúng c s

d ng n i các ph n t mô hình khác v i nhau M t vài lo i quan h áng chú ý:

Trang 33

• N i k t (Association) : n i các ph n t và các th c th n i (link)

• Khái quát hóa (Generalization): còn c g#i là tính th a k , có ý ngh+a r%ng m t

ph n t này có th là m t s chuyên bi t hóa c a m t ph n t khác

• S ph thu c (Dependency): ch* ra r%ng m t ph n t này ph thu c trong m t ph ng

th c nào ó vào m t ph n t khác

• K t t p (Aggregation): M t d ng c a n i k t, trong ó m t ph n t này ch a các ph n

t khác

Ngoài ra còn có các ph n t mô hình khác nh thông i p (Message), hành ng (action) và khuôn

m u (stereotype) T!t c các ph n t mô hình, ý ngh+a c a chúng c'ng nh nh ng ng d ng u c

gi i thích k, l 4ng h n trong các ch ng sau

Hình 3.12 – các ví d v vài lo i quan h 3.6 C ch! chung (General Mechanism)

UML th hi n m t s các c ch chung trong t!t c các bi u nh%m m c ích cung c!p thêm các thông tin b sung, th ng ây là nh ng thông tin không th c th hi n qua các ch c n(ng và kh n(ng c b n c a các ph n t mô hình

3.6.1 Trang trí (Adornment)

Các s trang trí tr c quan có th c s d ng kèm thêm vào các ph n t mô hình trong bi u ng tác trang trí b sung thêm ng ngh+a cho ph n t M t ví d là k, thu t c s d ng phân bi t m t

lo i th c th (l p) và m t th c th Khi th hi n m t lo i, tên ph n t s& c in m Khi c'ng chính

ph n t ó th hi n ch* m t th c th c a lo i này, tên ph n t s& c g ch d i và có th c coi là

c tên c a th c th l n tên c a lo i ó M t hình ch nh t th hi n l p v i tên c in m s& th hi n

m t l p và tên c g ch d i s& th hi n m t i t ng, ây là m t ví d tiêu bi u c a adornment C'ng nguyên t"c ó c áp d ng cho các nút m ng, khi ký hi u nút c in m là th hi n m t lo i nút, ví d nh máy in (Printer), khi ký hi u c g ch d i là th hi n m t th c th c a l p nút m ng này ví d John’s HP 5MP-printer Các ki u trang trí khác là các l i c t v s l ng trong quan h (multiplicity), n i s l ng là m t s hay m t kho ng s ch* ra bao nhiêu th c th c a các lo i th c th

c n i v i nhau s& có th tham gia trong m t quan h Kí hi u trang trí c vi t g n ph n t mô hình c mà nó b sung thông tin (hình 3.13)

Trang 34

Hình 3.13 - Phân bi t gi a l p và i t ng b%ng trang trí

3.6.2 Ghi chú (Note)

Cho dù m t ngôn ng mô hình hóa có c m r ng n bao nhiêu ch(ng n a, nó c'ng không th nh ngh+a t!t c m#i vi c Nh%m t o i u ki n b sung thêm cho m t mô hình nh ng thông tin không th

c th hi n b%ng ph n t mô hình, UML cung c!p kh n(ng kèm theo l i ghi chú M t l i ghi chú có

th c b!t k0 n i nào trong b!t k0 bi u nào, và nó có th ch a b!t k0 lo i thông tin nào D ng thông tin c a b n thân nó là chu.i ký t (string), không c UML di n gi i L i ghi chú th ng i kèm theo m t s các ph n t mô hình trong bi u , c n i b%ng m t ng ch!m ch!m, ch* ra ph n

t mô hình nào c chi ti t hóa ho c c gi i thích (hình 3.14)

M t l i ghi chú th ng ch a l i nh n xét ho c các câu h i c a nhà t o mô hình, ví d l i nh"c nh c n

ph i x lý v!n nào ó trong th i gian sau này L i ghi chú c'ng có th ch a các thông tin d ng khuôn m u (stereotype)

Hình 3.14 - M t ví d v ghi chú

3.6.3 c t (Specification)

Các ph n t mô hình có thu c tính (Property) ch a các giá tr d li u v ph n t này M t thu c tính

c nh ngh+a v i m t tên và m t giá tr ính kèm (tagged value), th ng chúng trong m t d ng

thông tin c xác nh tr c, ví d nh s nguyên hay chu.i kí t Có m t lo t thu c tính ã c

nh ngh+a tr c, ví d nh tài li u (docement), trách nhi m (Responsibility), s tr ng t n (Persistence) và tính song song (Conccurency)

Thu c tính c s d ng thêm các c t b sung v m t ph n t , nh ng thông tin bình th ng ra không c th hi n trong bi u Ví d tiêu bi u là m t l p s& c miêu t b%ng m t tài li u v(n

b n nh!t nh, cung c!p nhi u thông tin h n v trách nhi m c'ng nh kh n(ng c a l p này Lo i c t này bình th ng ra không c ch* ra trong các bi u , nh ng th ng thì trong a ph n các công c

mô hình hóa chúng s& có th c truy c p qua hành ng nh!p nút vào m t ph n t nào ó, hi u qu

là m t c a s ch a c t v i t!t c các thu c tính s& c ch* ra (Hình 3.15)

Trang 35

Hình 3.15- M t c a s c t th hi n các c tính c a class 3.7 M& r'ng UML

UML có th c m r ng ho c có th c s a i phù h p v i m t ph ng pháp c bi t, m t t

ch c c th hay m t ng i dùng c th Chúng ta s& bàn lu n s qua n ba c ch m r ng UML: khuôn m u (stereotype), giá tr ính kèm (tagged value) và h n ch (constraint)

3.7.1 Khuôn m u (Stereotype)

C ch m r ng khuôn m u nh ngh+a m t lo i ph n t mô hình m i d a trên m t ph n t mô hình ã

t n t i Khuôn m u có th c coi là "t ng t " nh m t ph n t ã có s2n, c ng thêm ph n quy nh

ng ngh+a (semantic) riêng bi t không có trong ph n t g c kia Khuôn m u c a m t ph n t có th

c s d ng trong cùng tình hu ng nh ph n t c(n b n Khuôn m u d a trên t!t c các lo i ph n t

mô hình s2n có - l p, nút m ng, thành ph n, c'ng nh các m i quan h nh liên k t, khái quát hóa, s

ph thu c Ngôn ng UML có ch a m t s l ng l n các khuôn m u c nh ngh+a s2n và chúng

c s d ng s a i các ph n t mô hình s2n có, thay cho vi c ph i nh ngh+a hoàn toàn m i C

ch này giúp gìn gi tính n gi n c a n n t ng ngôn ng UML

Khuôn m u c miêu t qua vi c a tên c a chúng vào trong m t c p ký t ngo c nh#n <<>>, theo

nh trong hình 3.16 Ký t ngo c nh#n này c g#i là guillements Khuôn m u c'ng có th có kí hi u hình h#c riêng M t ph n t c a m t lo i khuôn m u c th có th c th hi n b i tên khuôn m u i kèm ký hi u hình h#c mô t ph n t c(n b n, hay là s k t h p c a c hai y u t này B!t k0 khi nào

m t ph n t mô hình c n i k t v i m t tên ho c kí hi u khuôn m u, ta s& #c " ây là m t lo i ph n

t thu c lo i khuôn m u " Ví d , m t l p v i <<Window>> s& c g#i là "m t l p trong d ng khuôn m u c a s ", ý ngh+a c a nó là m t d ng l p c a s Nh ng thu c tính c th mà m t l p c a s

Trang 36

Nh ã nói, khuôn m u là m t c ch m r ng xu!t s"c, là m t c ch ng(n cho ngôn ng UML không

tr nên quá ph c t p, m c dù v n cho phép th c hi n s m r ng và s a i c n thi t a ph n các

ph n t mô hình m i mà b n c n n u có m t khuôn m u n n t ng trong ngôn ng UML M t khuôn m u sau ó có th c s d ng c ng thêm các ng ngh+a c n thi t, nh%m m c ích nh ngh+a nên các ph n t mô hình còn thi u

Hình 3.16- Customer là m t l p khuôn m u <<Actor>>

3.7.2 Giá tr ính kèm (Tagged Value)

Nh ã nói, các ph n t mô hình có th có các thu c tính ch a m t c p tên-giá tr v b n thân chúng (hình 3.17) Các thu c tính này c'ng còn c g#i là các gía tr ính kèm UML có ch a m t lo t các thu c tính c nh ngh+a tr c, nh ng k c ng i s d ng c'ng có th nh ngh+a ra các thu c tính

m i ch a các thông tin b sung v các ph n t mô hình M#i hình d ng thông tin u có th c ính kèm vào ph n t : các thông tin chuyên bi t v ph ng pháp, các thông tin c a nhà qu n tr v ti n trình mô hình hóa, các thông tin c s d ng b i các công c khác, ví d nh các công c t o code, hay b!t k0 m t lo i thông tin nào mà ng i s d ng mu n ính kèm vào ph n t mô hình

Hình 3.17 - M t ví d v Tagged Value

3.7.3 H n ch (Constraint)

M t s h n ch là m t s gi i h n v s s d ng ho c ý ngh+a c a m t ph n t S h n ch ho c s&

c khai báo trong công c và c s d ng nhi u l n trong r!t nhi u bi u khác nhau, hay c

nh ngh+a và s d ng trong ch* m t bi u , theo nh nhu c u

Hình 3.18 ch* ra m i quan h n i k t gi a nhóm các công dân l n tu i và l p con ng i, ch* ra r%ng nhóm công dân có th có nhi u ng i liên quan M c dù v y, miêu t r%ng ch* nh ng ng i nào l n

h n 60 tu i m i có th tham gia vào nhóm này, ng i ta nh ngh+a m t s h n ch , h n h-p tiêu chu$n tham gia i v i ch* nh ng ng i nào mà thu c tính tu i tác có giá tr l n h n 60 nh ngh+a này s&

h n ch s l ng nh ng ng i c s d ng trong m i quan h N u không có nó, ng i ta r!t d hi u

l m khi di n t bi u Trong tr ng h p t i t , nó có th d n n s th c thi sai trái c a h th ng

Trang 37

Trong tr ng h p này, h n ch c nh ngh+a và ng d ng tr c ti p trong chính bi u mà nó c

c n t i Nh ng nhìn chung thì h n ch c'ng có th c nh ngh+a v i tên cùng l i c t riêng, ví d

nh : "công dân già" và "ng i có tu i l n h n 60", và h n ch này s& c s d ng trong nhi u bi u khác nhau UML có ch a m t lo t các h n ch c nh ngh+a s2n, chúng c miêu t chi ti t trong các ch ng sau

Hình 3.18- M t ràng bu c h n ch i t ng Person góp ph n vào quan h k t h p

3.8 Mô hình hóa v i UML

Khi xây d ng h th ng v i UML, ng i ta không ch* xây d ng duy nh!t m t mô hình S& có nhi u mô hình khác nhau trong nh ng giai o n phát tri n khác nhau, nh"m n các m c ích khác nhau Trong giai o n phân tích, m c ích c a mô hình là n"m b"t t!t c các yêu c u i v i h th ng và mô hình hóa n n t ng bao g m các l p và các c ng tác " i th c" Trong giai o n thi t k , m c ích c a mô hình là m r ng mô hình phân tích, t o thành m t gi i pháp k, thu t kh thi, có chú ý n môi tr ng

c a công vi c xây d ng (vi t code) Trong giai o n xây d ng code, mô hình chính là nh ng dòng code ngu n th t s , c vi t nên và c d ch thành các ch ng trình Và cu i cùng, trong giai o n tri n khai, m t l i miêu t s& gi i thích h th ng c n c tri n khai ra sao trong ki n trúc v t lý Kh n(ng theo dõi xuyên su t nhi u giai o n và nhi u mô hình khác nhau c m b o qua các thu c tính ho c các m i quan h nâng cao (refinement)

M c dù ó là các mô hình khác nhau, nh ng chúng u c xây d ng nên m r ng n i dung c a các mô hình giai o n tr c Chính vì th , t!t c các mô hình u c n ph i c gìn gi t t ng i

ta có th d dàng i ng c l i, m r ng ra hay tái thi t l p mô hình phân tích kh i u và r i d n d n

t ng b c a các s thay i vào mô hình thi t k c'ng nh các mô hình xây d ng (hình 3.19)

Hình 3.19- M t h th ng c mô t trong nhi u mô hình

Trang 38

B n thân ngôn ng UML không ph thu c vào giai o n, có ngh+a là c'ng nh ng nguyên t"c ngôn ng

ó và c'ng nh ng bi u ó c s d ng mô hình hóa nh ng s vi c khác nhau trong nh ng giai

o n khác nhau Nhà thi t k n"m quy n quy t nh xem m t mô hình s& ph i thay i nh%m t c

nh ng m c ích nào và bao trùm nh ng ph m vi nào Ngôn ng mô hình hóa ch* cung c!p kh n(ng

t o ra các mô hình trong m t phong cách m r ng và nh!t quán

Khi mô hình hóa b%ng ngôn ng UML, toàn b công vi c c n ph i c th c hi n theo m t ph ng pháp hay m t qui trình, xác nh rõ nh ng b c công vi c nào ph i c ti n hành và chúng ph i c

th c thi ra sao M t qui trình nh v y th ng s& chia công vi c ra thành các vòng l p k ti p, m.i vòng

l p bao g m các công vi c: phân tích yêu c u/ phân tích/ thi t k / th c hi n/ tri n khai M c dù v y,

c'ng có m t quy trình nh h n c p t i n i dung c a vi c mô hình hóa Bình th ng ra, khi s n xu!t

m t mô hình ho c s n xu!t ch* m t bi u duy nh!t, công vi c s& b"t u b%ng vi c thu th p m t nhóm thích h p các cá nhân khác nhau, trình bày v!n và m c tiêu; h# c ng tác cho m t giai o n h i

th o khoa h#c và phác th o, trao i nh ng sáng ki n và ý t ng v mô hình có th Công c c s

d ng trong giai o n này là h t s c khác bi t và mang tính ng u h ng - th ng là gi!y dán post it hay

b ng tr"ng Công vi c c quy t nh ch ng nào nh ng ng i tham gia có c m giác h# ã có c

m t n n t ng th c ti n cho m t mô hình (gi ng nh m t tiêu ) K t qu sau ó s& c a vào m t công c , mô hình tiêu c t ch c, và sau ó m t bi u th c s s& c t o d ng nên, phù h p

v i nh ng quy nh c a ngôn ng mô hình hóa Sau ó, mô hình c chi ti t hóa qua nh ng công vi c mang tính vòng l p, càng ngày càng có nhi u chi ti t v gi i pháp c phát hi n, c d li u hóa và

c b sung Khi ã có nhi u thông tin h n c thu th p v v!n c'ng nh gi i pháp c a nó, tiêu ban u d n d n tr thành m t l i chu$n oán cho m t mô hình có kh n(ng s d ng Khi mô hình

ã g n hoàn thi n, m t s tích h p và th$m nh s& c th c hi n, d n t i vi c mô hình ho c bi u s& c tích h p v i nh ng mô hình và bi u khác trong cùng d án m b o s nh!t quán Mô hình sau ó c'ng c ki m tra l i ch"c ch"n nó ang gi i quy t úng v!n c n gi i quy t (hình 3.20)

Trang 39

Hình 3.20 - M t ti n trình cho công vi c mô hình hoá th c t

Cu i cùng, mô hình s& c th c thi và tri n khai thành m t lo t các nguyên m u (prototype), nguyên

m u này s& c ki m tra tìm khi m khuy t Các khi m khuy t bao g m k c các ch c n(ng còn thi u, s th c hi n t i t hay phí s n xu!t và phát tri n quá cao Nh ng khi m khuy t th ng s& ép nhà phát tri n rà i rà l i công vi c c a mình kh"c ph c chúng N u v!n là quá l n, nhà phát tri n có

th s& i ng c l i t!t c các b c công vi c c a mình cho t i t n giai o n s phác u tiên N u các v!n này không l n, nhà phát tri n có l& ch* c n thay i m t vài thành ph n trong t ch c ho c c

t c a mô hình Xin nh r%ng b c t o nguyên m u không th c th c hi n ngay l p t c sau khi hoàn t!t bi u ; nó ch* nên c th c hi n khi ã có m t s l ng l n các bi u liên quan Nguyên

m u sau này có th c v t i, có th c t o d ng nên ch* nh%m m c ích ki m tra, ho c là n u

b c t o nguyên m u này thành công, nó s& tr thành m t vòng l p trong quy trình phát tri n th t s

Trang 40

3.9 Công c( (Tool)

S d ng m t ngôn ng mô hình hóa ph c t p và r ng m nh UML c n thi t s tr giúp c a công c

M c dù phác th o u tiên c a m t mô hình có th c th c hi n b%ng b ng tr"ng cùng gi!y và m c,

nh ng công vi c b o trì, ng b hóa và m b o s nh!t quán trong m t lo t các bi u khác nhau

th ng l i không th tr thành kh thi n u không có công c

Th tr ng công c mô hình hóa ã d ng trong m c s kh i su t m t th i gian dài k t khi xu!t

hi n ý t ng u tiên v các ch ng trình tr giúp cho vi c t o ch ng trình R!t nhi u công c trong

th c t ch* thông minh h n các ch ng trình v& m t chút, s d ng m t vài quy ch ki m tra tính nh!t quán ho c m t vài ki n th c v ph ng pháp và ngôn ng mô hình hóa M c dù ã có m t vài b c

ti n nh!t nh và nhi u công c hôm nay ã t i g n sáng ki n kh i th y kia nhi u h n (Rational Rose),

nh ng th tr ng v n còn không ít công c ch a c g#t gi'a, v n còn ch a l.i ho c nh ng nét k0

qu c, k c nh ng v!n n gi n nh copy và dán Nh ng công c này còn h n ch ph ng di n r%ng t!t c b#n chúng u có ngôn ng mô hình hóa riêng, hay ít nh!t thì c'ng có nh ng nh ngh+a riêng c a chúng v ngôn ng này

Cùng v i s ra i c a ngôn ng UML, các nhà cung c!p công c mô hình hóa gi ây có th dành nhi u th i gian h n cho vi c nâng c!p công c , b i h# không c n ph i d n tâm d n s c cho vi c nh ngh+a các ph ng pháp m i c'ng nh các ngôn ng m i

M t công c mô hình hóa h ên i c n ph i cung c!p các ch c n(ng sau:

V bi u : c n ph i t o i u ki n d dàng v& ra các bi u trong ngôn ng mô hình hóa

Công c c n ph i kh n(ng thông minh hi u m c ích c a các bi u và bi t c nh ng

ng ngh+a c'ng nh các quy t"c n gi n, nó có th c nh báo ho c ng(n ch n vi c s

d ng không thích h p các ph n t mô hình

Ho t ng nh m t nhà kho (Repository): công c c n ph i h tr m t nhà kho trung tâm

t!t c các thông tin v mô hình c l u tr trong cùng m t ch N u ví d tên c a m t l p

b thay i trong m t bi u , thì s thay i này c n ph i x y ra trong t!t c các bi u khác

có s d ng l p này

H tr nh h ng (Navigation): công c c n ph i t o i u ki n d dàng cho ng i s d ng

nh h ng và chuy n d ch trong mô hình theo dõi m t ph n t t bi u này sang bi u khác, ho c m r ng l i miêu t c a m t ph n t

H tr nhi u ng i s d ng (multiuser support): Công c c n h tr cho nhi u ng i s

d ng, và t o i u ki n cho h# cùng làm vi c v i m t mô hình mà không ng(n ch n ho c qu!y phá l n nhau

T ng t o code (code generate): m t công c cao c!p c n ph i có kh n(ng t o ra code,

n i t!t c các thông tin trong mô hình c chuy n t i thành các khung code (code skeletons),

c s d ng làm n n t ng cho giai o n xây d ng ch ng trình

Tái t o mô hình (Reserve engineer): M t công c cao c!p c n ph i có kh n(ng #c nh ng

thành ph n code ang t n t i và t ó s n xu!t ra mô hình T ó suy ra, m t mô hình có th

c làm t nh ng dòng code ã t n t i; ho c m t nhà phát tri n có th d dàng chuy n i chuy n v gi a công vi c mô hình hóa và công vi c l p trình

Tích h p v i các công c khác: m t công c c n ph i có kh n(ng tích h p v i nh ng công

c khác, v i c vi c phát tri n môi tr ng, ví d nh các trình so n th o (editor), ch ng trình

Ngày đăng: 18/04/2014, 09:34

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w