1. Trang chủ
  2. » Luận Văn - Báo Cáo

Quy trình phân tích thiết kế phần mềm hướng đối tượng sử dụng uml và ứng dụng

87 51 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 87
Dung lượng 29,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cùng với sụ phái Iriển của phương pháp Ihiết kế hướng dối lượng là sự phát triển của một loại các cổng cụ thổ hiện nội dung cùa quá Irìnli plỉál liĩến phẩn mém.. Chưưng 2 liình bầy những

Trang 1

DẠI HỤC QUỐC iỉlA IIÀ NỘI KHOA CỔN(Ỉ N(ỈHÊ

Trang 2

ĐẠI IIỌC QUỐC GIA HÀ NỘI

KHOA CÔNG NGHỆ

PIIAN TIIỊ HOẢI PHUƠNG

"QUI T R Ì N H P H Â N T ÍC H T H I Ế T K Ê P H Ầ N M Ể M IIƯỚNG Đ Ố I T Ư Ơ N G s ử D U N G U M L VÀ Ú N G DUNC

Chuyên ngành : Công nghệ thúng tin

LUẬN VÃN T H Ạ C s ĩ K H O A HỌC

Người hướng dẫn khoa học: 1*(ỈS.TS N g u y ễn V ãn Vỵ,

Klioa Công nghệ, Đại học Quốc gia Hà nội

IIÀ NỘI - 2002

Trang 3

MỤC LỤC

Mò chiu 4

I Đ ìíl vấn đ ề 4

2 ' I I nil hình nghiên c ứ u 6

3 Mục tlích nghiên cứu và nội dung thực hiện 7

a) Mục dích nghiên cứu 7

b) Nội đung thực hiện 7

4 Phương pháp nghiôn cứu 7

5 Giới hạn nghicn cứu 7

6 Ý Iigliìa lliực liễ n 8

7 Cấu (rúc luận văn 8

Chương 1 Pliuong pháp phát triển phán mềm liuứng dòi tuựng IU I I Tiến trình phái (l ien phần mềm 10

1 1.1 Các pha trong lie’ll (lình phái li ièn pliần mém 10

1.1.2 Phát triển lặp và lăng d ầ n 13

1.2 Phương pháp phân Lích thiôl kê hướng dối tượng 14

1.2.1 Mỏ hình dối lượng 14

1.2.2 Lớ|> và dùi luựiig ; 14

1 V M ô hình lioií và mõ hình lioá hướng dổi tượng 20

1.4 Kôì luận chương I 21

Chương 2 Còng cụ UML và cách Ihc hiện 22

2.1 Giới thiệu vổ U M L 22

2.2 Báng lừ vựng cùa UML 23

2.2.1 C á c s ự v ậ i 23

I

Trang 4

2.2.2 Các mối quail hệ giữa các phần lử Irong U M L 30

2.2.3 Các hiểu dỏ Hong UMI 31

2.3 Các qui lắc và các cư chế chung cùa UML 34

2.3.1 Các qui tắc trong U M L 34

2.3.2 Các cơ chế ch un g 35

2.4 Các cách nhìn hệ lliống (Views) 37

2.4.1 Cách nhìn ca sử d ụ n g 37

2.4.2 Cách nhìn logic 38

2.4.3 Cách nhìn thành phần 38

2.4.4 Cách nhìn Irion khai 38

2.5 KỐI luận chương 2 38

Chuông 3 Qui trình pliãn (ích lliiêí kè pỊiiin mềm hướng dối lưựiiỊ» sứ tiling UML 39

3 1 Các đục liưng liên trình họp lilial (Unified Process) 39

3.1.1 Tien trình dưực dieu khiên bởi usc-casc 39

3 1.2 Tic'll trình dựa lien kiên Il lie trung là m 40

3 1.3 Tic’ll trình lạp và láng dần 41

3.2 PliAn lích thiết kế hệ thống sứ dụng U M L 42

3.2.1 Tìm hiểu yêu cầu của hệ thống 42

3.2.2 Xúy dựng các ca sứ dụng của hệ thống 43

3.2.3 Phân lích (Analysis) 45

3.2.4 Thiel kế (Design) 55

3.3 Kcl luận chương 3 64

)

Trang 5

Cliuưnị» 4 úiiị* dmij» qui (lìnli |>hán (ícli Iliỉôt kè hương dõi luợiiỊ» xây tlựiiịì

hệ ỉ hỏng xú lý cuộc gọi í rên ( ỏiíị» dài SPC 65

4.1 Đặt vân đ ề ! 65

4.2 'lìm hiểu hệ thống xứ íý cuộc g ọ i 66

4.2 í Tống quan vé hệ (hòng xứ lý cuộc g ọ i 66

4.2.2 Cúc chức nang chính cua hệ thông 67

4.2.3 Các thuộc lính hệ lliống 68

4.2.4 Các Use-case hệ lliống xứ lý cuộc g ọ i 68

4.3 Mỏ hình quan niệm của hộ thống xử lý cuộc gọi 15

4.3.1 Các lứị) (l'ong l)ộ Ihống 75

4.3.2 Mỏ hình quan niệm của hộ lliong 76

4.4 Hành vi của hệ thông 77

4.4.1 Bicu tlồ tuấn tự hệ thông 77

4.4.2 Các hợp dồng cho những ihao lác của hệ Ihống 79

4.5 Biếu dó cộng tác cho các thao lúc cùa hệ thòng 81

4.5.1 Biểu đổ cộng lác cua thao lác phân lích s ố 81

4.5.2 Biêu đồ cộng lác cùa thao lác hiên dịch 82

4.6 Biổit dồ lứp của hệ thống xử lý cuộc gọi 83

4.7 Kèi luận chương 4 84

Kc( h u m 85

lài liệu Ilium kliiio 86

*

Trang 6

MỞ ĐẦU

1 Đạt vân dề

Phức lạp là thuộc lính vỏn cỏ cua một họ thong phần mềm Nỏ có lliò xuất phái

từ nguyên nhân cùa phạm vi vân clé (Jạt ra Sự phức lạp cũng có khi lại do những khó khán trong quán ỉý tiến trình phát triển Còn "nhiệm vụ của nhóm phát triển hệ thống là lạo ra một ảo giác vẻ tính đơn giản, che di tính phức tạp nhiều mặt và tuỳ tiện của hệ thống" [3]

Khi nghiên cứu vổ các hộ ihỏng phức tạp, ngưừi la dã rúl ra năm dạc uưng như

s a u :

(i) "Thông thường, tính phức tạp có dạng của mội hệ tổ chức phân cấp: Mội

hệ thống phức lạp bao gồm những hộ thống con tương lác lẫn nhau, đến lượt mình,

( p r i m i t i v e c o m p o n e n t ) c ủ a m ộ t h ệ p h ứ c t ạ p CÒI1 d u r a l l i ậ l l õ l à n g :

(ii) "Việc lựa chọn những lliàiih phán nào liong mội liệ lliỏìig làm các lliànli phẩn SƯ cáp là lưưng dôi tuỳ tiện và phần lứn phụ thuộc vào sự suy xét của ngưừi quan sát hệ Ihống ấy".[3]

(iii) "Sự liên ket ben Hong các thànlì phần lliưừng là mạnh hơn các mối liên kẽt giữa các thành phần Dieu này có lác đọng lới việc pliàn loại các llùmli phẩn cỏ lần suât dọng cao (bao hàm câu Irúc bên Irong của các thành phần) với các thành phần có tần suâl dộng thấp (hao hàm sự lương lác giũa các thành phần)".[3)

Sự khác biệt giũa các lương lác bên trong một thành phần vói các nrơng tác

Trang 7

giũii các llìành phiin cho la mộl sự phiìn biệl lõ làng vổ sự liCn quan giữa các hộ

phận liong hệ lliống và giúp la có the nghiên cứu lừng họ pliận tló mội cách lương

dổi dộc lập

(iv) "Các hộ thống có lổ chức phân cấp ihường bao gồm chí một số ít các loại

hệ con khác nhau dưực tổ hợp và sắp xếp Ihco nhiều cách" [3J

Nói cách khác, các lìệ phức tạp có những kiểu mẫu chung Các kiểu mẫu này cho phép sứ dụng lại các thành phần nhỏ chung cho nhiều thành phán

(V) “ Một hộ phức tạp mà hoại dộng dưực thì nhất định phái được phát triển từ một hệ đơn giản đã từng hoạt dộng Một hệ thống phức tạp dược thiếl kế từ con số không thì không hao giờ hoại dộng được, cũng không thể vá víu dể làm cho nó hoại dộng dưực, phải bắt đáu từ một hệ thống tỉưn gian dang hoạt dộng”! 3 1

Đè dương dầu với các vấn <Jề phức tạp này, dã có nhiều hướng giải quyết khácnhau Có thể phàn lã vấn đề theo hướng thuật loán (hướng cấu trúc) hay hướng dối tượng Cho tới nay, phương pháp phân lích và thiết kế hướng dối tượng là mộl phương pháp phù hợp dể có thể áp dụng giai quyết những vấn tic phức lạp Irong các liỌ thống lớn

Phương pháp hướng dôi tượng nhìn nluỊn hệ lliỏĩig nlìir một lạp hợp các dõilượng Các doi lượng lương tác với nhau, hợp lác vứi nhau díỉ dưa ra các hành vi ớmức cao hon

Plurơng pháp hướng (.lôi lượng dựa irên cơ sử mỏ hình dối tương Các nguyên lác CƯ ban Iron g m ỏ hình dòi tượng là sự trừu lượng, lính b ao gói, sự m ỏ tlun h o á và lính phân cấp Chính vì vậy, pliưưng pháp phân tích llìiếl kế ỉiưứng dôi tượng tạo khá lúing lái sú dụng phần mềm, dỏ báo trì hệ lliống và che dâu thúng Ún

Với các ưu điếm như (lã nèu liên, rõ ràng tu Ihấy dưực lính hiệu quá khi ápdụng phương pháp hướng dổi tượng để giải quyết các lớp bài loán Tuy nhiên, với phương pháp này, còn một sô vân dề cần dược quan lâm và làm rõ them Đó là:

Làm the nào dê la nhận ra đúng các lớp và các đối tượng có liên quan lớimoi ứng (lụng cụ I lie ?

5

Trang 8

- Qui trình nào có thể dăn la lới một hệ thống hướng dối tượng dược câu trúclốt?

- KÝ pháp Ihích hợp dò’ diõn đạt việc thiết kế inộl hộ ihông hướng dối lượng

là gì?

Sự ra dời của ngôn ngữ 111« hình hoá lliòng nhất (UML-Uniĩicd Modelling Language) dã cung cấp một còng cụ dể biểu tliỗn quá trình phAn lích thiốl kố hướng dối lượng Trên thực tế, hãng Rational đã phát triển phần mềm Rational Rose dựa

trên UML Vấn dề còn lại là cách thức nhận biết các đôi tượng, các lóp trong hệ thốtìịị và qui trình phàn tích thiết k ế một hệ thống hướng dối tượng.

Trong luận van này, lác giá trình bầy một qui trình Iron CƯ sứ phân tích lliiốl kê hướng đòi lượng trưng dó dặc biệt lập trung vào việc xác dịnh các dôi lượng, các lứp

và việc gán trách nhiệm cho các dối tuựng Qui trình đưực mô tả trên UML Sau dó,

áp dụng phưưng pháp này cho hệ Ihống phần mềm xứ lý cuộc gọi trên tổng ựài SFC- lổng dài điều khiến bằng chưưng trình ghi sun (Stored Program Colioller) Ban phàn lích Iliièi kế dược cài dật trên phần niềm Rational Rose

2 Tì nh hình n ghiên cứu

Phương pháp lập trình hướng dôi tượng ra đời từ những năm 1980 và sau dó là

phương pháp phàn lích thiết kè hướng dối tượng Cùng với sụ phái Iriển của phương pháp Ihiết kế hướng dối lượng là sự phát triển của một loại các cổng cụ thổ hiện nội dung cùa quá Irìnli plỉál liĩến phẩn mém Cuối cùng đốn nám 1994, ngôn ngữ mỏ hình lioá thống nhíU-UML xuấl hiện là sự hội lỉhập kêl quá nghiên cứu chu yêu cùa

ba nhà khoa học Grady Booch, James Rumbaugh, lvar Jacobson Đến tháng ! năm

1997 phiên bản UML 1.0 ra <Jừi Cuối năm 1999, nhóm quản lý dối lượng (OMG- Objcct Management Group) dưa ra phiên bán UML 1.3 cùng lài liệu hướng dần chi liêl

Công nghệ phàn lích hướng dối lượng và UML dã dược liicn khai ứ nliicti nước trôn lliè giới Tuy nliiòn ớ Việt nam (hì (.lây còn là vấn tie mới mé Dã có nhiều người C|IUII1 làm tìm hiểu UML nhiều công Iv pluin mềm dang nghiên cứu UML de

r>

Trang 9

dưa vào ihực nghiệm xây dựng các hộ lliông phan mềm mới Việc ứng dụng cóng ngliỌ Iron mới giai tloạn (Mu, cđn tìm hiổu SÍÌLI hơn tlổ mở rộng phạm vi ứng đụng

Hèn nhiều lình vực, dặc biệl là phục vụ cho công lác giáng dạy

3 M ục dích nghiên cứu và nội dung thực hiện

a) Mục đích nghiên cứu

- Tìm hiểu phương pháp phân tích thiết kế phần mềm hướng dối tượng

- Áp dụng phương pháp phân lích thiết kế hướng đối tượng trên UML vào

các sáu phẩm thực lố.

b) Nội dung thực liiện

- Tim hiểu phương pháp luận của việc phát triển phần mềm hướng dối tượng

- Tìm liiổu liộ thống ký pháp UML, khai lliác công cụ UML

- Trình bầy mội qui trình phân lích tlìiẽi kê'phần mềm sứ dụng UML

Ap dụng qui trình lien trong phân lích thiếte kế các sán phẩm phán mềm

4 Phương pháp nghiên cứu

Phương pháp nghiên cứu chú yếu là nghiên cứu phương pháp luận, nghiên cứu

thư nghiệm còng nghệ.

5 Giới hạn nghiên cứu

Qui liìn h phàn lích thiết kế phần niềm được trình bầy trong luận vãn có thể áp dụng liên một số lớp các bài toán Trong thực lô, việc phái lriến phán mồm cỏ lliổ

llìcơ nhiều C|UÌ (rình khác lương illicit với những yêu cẩu dặc lliù của các hệ thống cần xây dựng Vứi qui trình IrCn, lác giá chủ you đề củị) đốn tiến trình công việc, hù qua phần quán lý nhàn lực,

Trong phần ứng dụng, tác giá thiết kế hệ Ihống phần mềm xử lý cuộc gọi dựa trên nguyôn lý chung của lổng dài SPC, chua cỏ bản lliiếl kế cho một tổng dài cụ

7

Trang 10

Ihé Bán lllièi kê hệ thòng dứng ớ phán llúèi kê lô gic, chưa dưa IU day ilủ các thiêt

kẽ vật lý cùa hệ thống

6 Ý nghĩa thực tiễn

Với kết qua nghiên cứu của dề lài, lác giá mong muốn góp plnln làm sâu sác

them các kiôn thức liên quan dốn cõng nghọ phùn tích thiết kế hướng dồi tượng,

bưức dầu ứng dụng vào lliực liỗiỉ với các công cụ hỗ trợ phùn lích thiếl kế Điồu này

không chí có ý nghĩa trong quá trình phát triển phần mềm, mà nó còn phục vụ cho

công tác dào tạo những người làm phần mềm trên công nghệ mới

7 C ấu trú c luận văn

Luận văn bao gổm pliần mữdíiii, bôn chương và phần kốt luận

Hlìần mà dâu trình bày lính cấp lliiêì của dể lài, tình hình nghiên cứu, mục

dích nghiên cứu và nội dung Ihực hiện, phương pháp nghiên cứu, ý nghĩa thực liễn

và giới hạn nghiên cứu

ChươiìịỊ I : Phương pháp phát li iển phần 1110111 hướng dôi lượng

Chương này dồ cập dốn cơ sớ lý ihuvếl của phương pháp phái Iriổn phán mém

nói chung và phương pháp hướng dối lượng nói riông Phán thứ nhất trong clurưng

ti ình bày tiên trình pliál H iển phấn mềm; pliíìn tluỉ hai là phương pháp phàn lícli thiêi

kê hướng dôi lượng; cuối chưưng dề cập tiến vân dề mô liìnli hoá hệ thống và mô

hình lioá hướng dôi iưựng

ChươHỊỉ 2: Công cụ UML và cách llic hiện.

Chưưng 2 liình bầy những nét lổng quan về UML, ngôn ngữ biêu diễn quá

liinlì phái triển phần mềm hướng dơi lượng, với những nội dung chính: các kliía

cạnh hệ lliôìig (cách nhìn), biếu dỏ, các phần lử trong mô hình, mối quan hệ, cơ chế

chung và các kỹ Ihuậl mớ rộng Mầu hốt cúc khái niệm trình bầy trong chương 1 SC

dược mò hình lioií trung chương 2

ChiứMịỊ 3: Kê lliừa các cư sớ lý Iliuyốt trình bầy ứ cliưưng I, kết hợp với còng

cụ da (lồ cập ớ chương 2 lác giá trinh bầv niộl qui Irình phân lícli Ihicì ké hiiớiig dôi

<s

Trang 11

lượng sử dụng UML.

Chiùftifi 4: Nội dung phùn lích Ihiếl kê hộ thông Áp dụng qui ilÌ11Ì1 dã nêu ở

chưưng 3, tác giả thiết kế mội liệ thống phần mềm xử lý cuộc gọi cho lổng đài SPC

Phần kết luận và (lịnh hướng nghiên cứu liếp Iheo.

Trang 12

C huông 1 PII ƯƠN(i PIIÁ P P H Á T T R IỂ N p h ầ n M ỂM

HƯỚNG ĐỐ I TƯ Ợ N G

1.1 Tiến trìn h phát triển phần mềm

Tiến trình pilât triển phần mém lù phương thức tổ chức các lioựl dộng dê sàn xuất và phát triển các hệ thống phần mềm.

1.1.1 Các pha trong tiến trình phát triển phần m ềm

Một tiến trình phái iriển phần mềm thường được mỏ tả llieo nghĩa là một tâp các hành dộng cẩn thiêl để chuyển yôu cầu của người sử dụng thành một phán mém Như vậy, yêu cầu của khách hàng xác dịnli mục tiôu của pliál Iriển phán mồm Tuy nhiên, yêu cầu của kháclì hàng thường không đầy đủ, không có cấu trúc, hoặc không chặt chẽ, cùng với sự lặp đi lặp lại dẫn lới dư llỉừa thông tin Ngoài ra các yêu cầu của khách hàng còn mang tính gần đúng, và dôi khi mâu thuẫn với nhau, nhiều khi những yêu cầu mang lính không kha llìi Dơ dỏ, bấl cứ mộl lie'll trinh phần mồm nào cũng phải bắt dẩu vứi cúc hoạt dộng lỉiu thập và phân lích yêu cầu của khách hùng Những hoại dộng này và các kết qua có liên quan hình thành pha dầu tiên của liến trình gụi là phân lích yêu cầu Các pha liếp theo của lie'll trình phần mềm là llìiếl kế, thực (hi và kiểm 111 ừ lliànli phần, lích hợp và kiểm thử loàn hộ, vận hành và háo (rì

1 1 Ỉ Ỉ T h u th ậ p và p h â n tích y êu cầu

Nhiệm vụ của người phát triển phần mềm trong giai đoạn này là xác dinh chính xác cái mà khách hàng cần, để íừ đó tìm ra những ràng buộc giũa các đối lượng trong hệ thông Thu lliập và phân lích yêu cầu là giúp cho việc phái triển (li tới mộl hệ thống hợp lý Kết quả của nó là dưa ra một tài liệu gọi là dặc tả yêu cầu Tài liệu cùa dặc lá yêu cầu bao gồm:

- Mô hình nghiệp vụ

- Hợp dồng ilioả thuận giữa khách hàng và tổ chức phái triển hệ thống về nhữngvấn dồ mà hệ ihống cần thực hiện (và những vân dề không cần Ihực hiện)

10

Trang 13

- Tài liệu chủ yếu được sử dụng cho dội phát (rien để phát triển hệ thống

- Mo hình khá dầy (lú cúa những nội dung mà hệ lliòng yêu cáu

Đô’ llioả mãn các mục đích này, liên trình phùn lích yôu cáu có lliổ bao gổmcác hoạt dộng sau:

- Tim hièti phạm vi vấn lỉề

- Thu tlìập yêu cầu: Nhà phân lích phải thu thập dáy đủ thông qua những cá nhậnlàm việc trong dự án Thu Ihûp ycu cầu của khách hàng bằng hai biện pháp:

- Lựa chọn những yếu tố cơ bản loại bỏ đi những yếu tố không căn bản bàngphương pháp trừu tượng hoá

- Phàn loại: Các yêu cáu đã thu Ihập ứ phần lníức thường không có cấu trúc Việc

phùn loại sẽ lổ chức chúng thành các cụm kết dính, phân cấp các yêu cầuìlico dọ quan trụng cùa cluing dùi vứi khách hàng và những người sử dụng

- Thấm (lịnh: Đây là việc kiếm tra xem các yêu cáu có chắc chắn vù dầy dú không,

dồng thời giãi quyêl các mâu Ihuần giữa các yêu cầu

- Nyliièii cứu lính khả t l i i : Để ước lượng XCI1 1 các yêu cầu dã xác tlịnli có thê được ihoá mãn không khi sử (.lụng còng nghệ phần mềm và phần cứng, đổng thời quyết định xem liộ lliống dưa ra có sinh lợi hay khổng

Đặc tá yêu cầu là phái biểu chính thức vồ những yêu cầu cho nhà phát triển hệ ihỏng Yêu cầu Ihườug ctưực biểu diễn bang ngôn ngữ dặc tả hoặc cũng có thổ bàng các ký pluip dỏ lioụ Gìn luu ý them làng, có thổ lách l iêng plutn thu lliập yêu cầu và phân lích hộ lliòng tlùmli hai pha của liên Irình

Trang 14

các thánh phấn Kùl quá là bán lliiêl kê kiên (rúc, lioug dó mỏ lú cóng việc mà từng (hành phần phải làm và cácl) chúng tưưng lác với nhau đổ cung cấp các dịch vụ chính của hệ thống Sau dó mỗi thành phần lại duực thiết kế, quá liìnli này gọi là lliiôl kê chi tiêì (hay llìiêl kè vặt lý) Tài iiệu lliiêl kế chi tiết mô tả việc thực hiện các you cầu của lừng thành phán.

Tài liệu thiết kế kiến trúc là một mô hình kiến trúc bao gồm dặc tả của các thành pluln, trong đó mô la công việc mà mỗi Ihành phẩn phái làm thông qua giao diện của các thành phẩn Mô hình hệ thống lúc này vẫn còn ớ mức trừu lượng, dộc lập với việc thực thi

Tiến trình COI1 thièì kế chi tiết gồm các hước làm mill dần mô hình kiến trúc Tài liệu lliiốt kế chi nối 111Ỏ tả

- Thiết kế cúc chức năng cùa từng íliành phần Irong hệ Ihỏng và cách thực hiện các chức nâng yổu cáu cùa mỗi thành phán

- Thiết kế giao diện của từng thành phán và mô tá việc cung cấp các dịch

vụ của Ihành phần này cho các thành phẩn khác

Nêu mỏ hình ở mức phùn lích mô lá công việc mà hệ ihống cần làm, thì mỏ hình (V mức thiêì kế xác định cụ í hể hệ Ihống pliai thực hiện các chức năng đó như

th ê IÙIO.

1.1.1.3 T h ụ c th i và k iể m th ử th à n h p h ấ n

ơ giai doạn này, mỏi thành phần liong bán thiếl kế dược thực thi như mội tlưn lliê chương trình Mỗi dơn Ihể sẽ phai dược xác minh hoặc kiểm định líii dựa trên dặc lá dã có dưực trong giai đoạn lliiết kế

1.1.1.4 Tích hợp và k iế m th ủ toàn bộ

Các dơn thể chương trình riêng biểu diễn những thành phần của hộ thống dược kết hợp lại và kiếm ill ử toàn bộ dế đám bảo l ằng yêu cầu dối với hệ thống đã thoã mãn Sau khi sán phẩm dược kiêm (lịnh bói người pliál triển hệ lliông lliì chúng dưực kiếm dịnli hời Iigưừi sử ilụiiịỉ Pha nãy kêì tluíc khi s;in pliẩin ilưựe người sir dụng limp nhạn

12

Trang 15

L I 1.5 Vận h à n h và bảo trì

Pha này hat dấu với việc dưa hệ thống dã cài dại vào sử dụng trong 111 ực lê, và

I1Ó kết Ihúc khi hệ lliống bị thải hồi

Báo irì là liú ca nliữitg (hay dổi cúa sail phdin chơ lứi khi khách hàng chû'p

nhận rằng san phẩm dã llioií mân yêu Ciiu của tài liệu dặc lá Nó bao gồm việc sửa chữa lỏi và nùng cấp phần mềm Bao trì sứa lỏi gồm việc hiệu chỉnh các lỏi chưa đưực phát hiện ứ các giai đoạn trước của liến trình phái triển Việc bảo trì này không làm lliay dổi bán đặc lá yêu cầu Có hai kiổu nùng cấp: bao trì hoàn thiôn là các lliay dổi nâng cao tính hiệu quà của sán phẩm Iheo yêu cầu khách hàng và bảo trì thích ứng lù các lliay dổi nhằm dáp ứng sự Ihay dổi mỏi irưừng hoại dộng của sail phẩm

1.1.2 Phát triển lặp và lăng dần

Các hoạt dộng phát triển phầm mềm mô lả như liên tạo nên mỡ hình thác nước Trong thực tế, các giai đoạn Iron g mô hình thác nước thường đirực gối lcn nhau và cung cấp lliông liu cho các giai (.loạn khúc Tiến (lình phái Iricn không phải

là một I1K) liìn li luyến lính dơn mà bao góm m ội dãy lặp các hoạt dộng phái triển.Một vòng dời lặp dựa trên sự mở rộng và làm mịn liôn liếp của mội họ líiòng lliõiig qua nhiều chu kỳ phát triển gồm có phân tích, ihiếl kế, thực thi và kiểm thử

I lẹ lliôiig lang h ưứng bới việc ihêui vào các chức năng mới dong từng chu kỳ phái

n iên Mỏi chu kỳ giúi quyết một tập nhỏ các yêu cẩu có liên quan, tiến hành thông qua pliân lích, ihiốt kế, xúy dựng, kiểm llur I lệ iliống hoàn Ihiện dần khi mỗi chu kỳ dưực hoàn thành Điều này trái ngược với mội vòng dời thác nước cổ (liến Hong dó mỗi hoại dộng (phùn tích, thiết kế, .) dược í hực hiện một lần cho loàn bộ các yêu cầu của hệ thống

Mội liên trình phái Iriển bao gồm các lạp Ihường [’Ay khó khăn trong việc quán Irị dự án và háo cáo Do dó, trong quá liinli phái uĩên, sau một số ít lần lạp I11ÔI số phần thường dược dòng cứng như đặc lá và tiếp lục các giai đoạn phát Iricn sau lỉó.

Lợi ích ciia pliál tiiến lặp bao gồm:

Cìiúp giái Cịuyêt được lính phúc tạp ciia hệ lliổng

Trang 16

Các ý kiên phán hỏi sớm dược phái sinh, vì việc llụrc Ihi xuất hiện

Phương pháp trừu iưựng hóa dưa ra những đặc diem Ihiết yếu cùa một đôi tượng giúp phàn biệt tlirực dôi lượng này vứi dối lượng khác Trừu lượng hoá tập trung vào hành vi quan sát dược của đối tượng, CÒI 1 sự hao gói lại tập trung vào việc thực thi là nguồn gốc íiảy sinh hành vi Sự bao gói dạt dược nhờ thông qua việc che giấu iliông tin Sự môdun hoá là một đặc tính của một hệ Ihổng dã dược phân rã thành một tập hựp các ìnôđun kêĩ dính và ghép nối lỏng léo Và lổ chức phân cấp ỉà

sự sáp xếp các trừu tượng lioá thành tầng lớp hoặc thành các nhóm có thứ bậc

1.2.2 Lứp và dối lượng

Một hệ thống luôn dược xây dựng từ những khôi xây dựng cơ bàn Với phương

pliáị) phát triển phần mềm Inrứng dôi iưựng, khối xây dựng cơ bán ờ dây là các lứp

và các đòi lượng Một đói tượng có thể có thực hoặc trừu tượng, chúng cộng lác với

n h a u tạ o ra n h ữ n g CƯ c h ế d ể c u n g c ấ p n h ữ n g h à n h v i ở m ứ c c a o h ư n 0 p h a p h â n

tích yêu cầu, đối tượng là một thực thế Irong thực lế, nhung đến giai doạn thiết kế nó lại hiểu diõn một 111 ực lliổ của liệ thống Các dối lượng có lĩ ách nhiệm CỊUÚ11 lý các trạng thái riciig cúa chúng, và dưa ra các dịch vụ cho các đôi lượng khác khi chúng dược yêu cầu Do đó, dữ liệu và các chức năng dưực bao gói trong một dôi tượng Chức nang của hệ thống dược Iheo dõi Ihông qua cách thức mà các dịch vụ dưực yêu Ciiu và cung cấp các (lịch vụ giữa các dối lượng mà không cfìn di sâu vào sự lluty dổi bên Irong của các dối lượng Các đối lượng tluực phân (hành các lớp, và các dối lương lliuọc cùng một lớp tlcu có cluing các dạc tính, nlur các tlniộc tính VÌI các tliao

Trang 17

1.2.2.1 K h á i n iệm dôi lư ợng

Một đối tượng có các dặc irưng (allribulc), hành vi (behaviour) và định danh (ideality); cấu trúc và hành vi của các dối tuựng giống nhau được sứ dụng định nghĩa lớp chung của các dối tượng dó

Trạng thái của đôi tượng

Trạng thái của dối tưựng đưực xác định bằng mọi thuộc tính (thường là tĩnh) của dối tưựng cộng vứi các giá Irị hiện hành (thường là động) của mỏi thuộc tính này Ta có ihể nói ràng mọi đối tượng bên Irong một hộ tliống đều có mội trạng thái nào dó Tuy nhiên, chỉ với một các trạng thái thì đối tượng chưa thổ Ihực thi công việc Hong quá trình phát triển hệ thống Vì lý do này, ta phải xem xét các dối tượng thố hiện hành vi như lliế nào

Hành ri cùa dời tượng

Không có dối lượng nào tổn tại cô lập, chúng bị lác dộng và chính cluíng lại

lác dộng lên các dối tưựng khác Do dó la cú lliổ nói ráiig: liành vi là cách thức mà

một dối lượng hành dộng và phản ứng lại dưới dạng các lliay dổi Irạng thái của nó

và truyền thông báo Nlur vậy, Irạng thái của một dối lượng biểu hiện các kếl qua lích luỹ các hành vi của I1Ó

Thao íóc

Thao lác là mội vài hành dộng mà một dôi tượng thực hiện lác dộng lên một dòi iưựng kluíc nhằm phái sinh một phán ứng

Vai trò và trách nhiệm của đòi tượng (role ami responsibility)

Các phương thức và chương írình COI 1 lự do liên kết vứi một đối lượng cụ Ihể

hình (liành ỊỊÌưo thức (protocol) cĩia I1Ó Trong llụrc lố, người la chia giao Ihức 1ÓI1

thành các nhỏm hànli vi xél vé mill lôgic Các nhóm này biêu thị các vai trò mà một

dõi tượng có the đám nhiệm

Trách nhiệm của một dối lượng ỉỉổin có hai pliẩn chính: tri thức mà đỏi tượng

15

Trang 18

lưu li Li', và các hành dọng mà dòi tưựng có Uic iliực liiỌn Có lliê nói rằng, trạng lliúi

va hành vi của một đối lượng hợp lực cùng nhau xác dịiìh các vai trò mà một đối iượng Đôn lưựl mình, dối lượng này lại hoàn thành các trách nhiệm của một Uừu tượng hoá

Dịnh (hiiih (identity) của dôi iưựHỊỊ

“Định danh ià tính cliấl của một đối lượng giúp phân biội dối lưựng dó với mọi dối tưựng khác” [3J

1.2.2.2 M ò i q u a n h ệ giữa cấc đôi tượng

Có hai loại quan hệ giữa các đối lirựng tlưực đặc biệt quan lâm Hong phân tích

Tinh ihiiy ilnực (vi si hi li ly)

Xcl hai dối tưựng A và B có liên kêì với nhau Để A có thể gửi thông báo lới B thì A phải thây dược B theo mộl cách nào dó Có bốn cách khác nhau đò mội dối iưựng có Ihể thấy dưực một dôi lượng khác:

- Đỏi tượng cung cấp là loàn cục (global) dối với khách thể

16

Trang 19

Đ ô i tượng cu n g c ấ p là m ột thông sỏ ch o m ột thao tác nào đó c ủ a k h á c h

Đòi lưựng cung cấp là mộl bộ phận của đđi tượng khách thể

- Đối Lirựng cung cấp là dối tưựng duực khai báo cục hộ trong mội số lliao tác của khách thể

Bủng cácii ìiào một dối tuựiig có thổ trứ nôn thấy dược dối với mộl dối lượng khác là một vấn dề thiết kế chiến Ihuậl

Các liên kết biếu hiện các mối quan hệ ngang bằng (peer lo peer) hoặc khách thể/nhà cung cấp, còn sự kết hợp biểu hiện một quan hệ lổ chức phân cấp toàn bộ/bộ phận với khá năng liên lliông lừ cái toàn bộ (aggregate) tới các bộ phận của nó (được

xem như các thuộc tính (allribule) của nó) Như vậy, sự kết hựp là một loại liên kết

(association) đặc biệl

1.2.2.3 K h á i niệm lớp (class)

Lớp và dổi tượng là liai khái niỌm luôn di với nhau Tuy Iiliiôn, có nlũmg khác nltau quan Irọng giữa liai thuûl ngữ này Trong khi mội đối lượng là mội thực tliổ cụ thê’ lổn lại Irong không gian và lliời gian thì một lớp chỉ dại diện cho một khái niệm irừu lượng hoá

Lớp là một khái niệm ổê chỉ mội tập cúc dôi tượng có cùtìịị một cừu trúc chung

vủ hành vi chtttiịỊ.

Một đòi lượng dưn lé là một thể hiện cụ lliè (instance) của một lớp

Giao diện (interface) và thực thi (implementation)

Giao diện của lứp cung Cií|) tliộn mạo bôn ngoài và nhún mạnh sự trừu lượng

hoá của một lứp trong khi che giấu cấu trúc và hành vi bôn trong cùa nó Giao diện chú \ếu gồm các khai báo về mọi thao tác áp dụng cho các lliò hiện cụ Ilíể cùa lớp này Nó cũng có thể bao gồm việc khai báo các lứp khác, các hàng, các biến,

thể

Kết liọp

Trang 20

Ngược lại, việc ill ực ilii mội lóp là nội tlung hên liong của I1Ó, bao gồm các bí mậl

về hành vi của I1Ó Sự thực llii mội lớp chú yếu là việc thực hiện các lác vụ dã tlưực

định nghĩa (rong giao diện cúa lớp.

1.2.2.4 C ác m ô i q u a n h ệ g iữ a các lớp

Loại thứ nhất là loại lổng quát hoá / chuyên biệt lioá (generalization /

specialization), chí ra môi quan hệ “là một”

Loại thứ hai !à quan hệ toàn thể/ bộ phận (whole/part), chỉ mối quan hệ “ bộ

phận của”

Loại thứ ba là loại quan hệ liên kết (association), chỉ ra một sự phụ thuộc ngữ

nghĩa nào dó giữa các lớp không có liên quan nào khác.

Cách tiếp cận Irôn đã dược phát triển irong các ngôn ngữ lập trình hướng đối lượng, nó đã cụ thổ hoá [hành các quan hệ:

M ối quan hô liên kết giữa hai lớp biểu thị sự phụ thuộc ngữ nghĩa giữa chúng

mà không cho biêl hướng của sự phụ Ihuộc đó và cách lliức tlico dó mội lứp này liên

quan lới một lớp kia Thông qua việc lạo ra các mối quan hệ liên kêl, til sẽ nhận ra

các thành phần lliam gia Hong một mối quan hệ ngữ nghĩa, cung như các vai trò của chúng, và lực lượng của chúng X cl VC mụl lực lưựng lliain gia vào mõi quan họ, có llic chia làm ba ' , ' ’ sau:

- Quan hệ mộl-một

18 07311233

Trang 21

- Quan liệ mộl-nhiều

- Q u a i l hớ n h i ồ u - n l i i é u

Thừa kè

'I'llira kố là mối quan hệ giữa các lớp dổi lượng trong dó một lớp chia sỏ cíiii

tiúc và/lioặc hành vi đã dược xác định cho một lớp khác (thừa kê lUĩiì) hoặc nhiều lứp khác ụhừư k ể bội).

Kếỉ hợp

Các mỏi quan hệ kết hợp giữa các lớp lương dương liực tiếp với các mối quan

hộ kèi hợp giữa các dôi lượng lifting ứng vứi các lớị) này Mội quail hệ loàn Lhổ/bộ phận giữa hai dõi lượng lổn lại khi và chí khi có mội quan hộ kêl |]ự|) giữa các lóp

lương ứng cú a clu in g Sự kêl hợp x ác nhộn một sự dịnli liưứng cho mỏi quan hệ loàn

1.2.2.5 M ộ t sò d iêm lưu ỷ đ ể x ả y d ự n g các lớp và đỏi tư ợ ng có ch ất lượng

D o ( lu iì I ic o iiiị ( lia m ột irữ it iư ự iiỊỊ hoứ

Uế đánh giá chài lượng viộc thiết kế lớp, dối lượng, người ta dã đưa ra liai tlộ

do chú yêu: độ ghép nối ( c o u p lin g ) , độ kct dính (cohesion) KOI dính là mức ilộ

tương lác hên liong một mò tlun (Irong phương pháp hướng dôi lượng, dối tưựng là một mô dun) Ghép nối là mức độ tuưng tác giữa hai mô đun Các mô đun dược lỉiiíl

kế tòi phái dám báo có dộ kết dính cao và ghép nối lỏng léo Một lớp với kèl tlính cao giúp ilỏ sú dụng lại và lie háo hi.

Chọn lựa các lluio lác

l‘)

Trang 22

Trong pliât Ilicii hướng đòi lượng, khi Xiìy dựng hành vi của mộl dổi lượng, la

cần CỊIUII) Lìm clôn các yốu tỏ sau: khá nâng lái sứ tlụng, olộ phức tạp và khá năng ứng

dụng cùa hành vi

Klii một dôi lượng chuyển một thông báo tới mội đối lượng khác qua một liên

kết thì hai đối tượng này phải được dồng bộ hoá theo một cách nào đó Với hệ thống

có nhiều luyến diều khiển cần quan lâm lới các vấn dề nảy sinh khi có hai tuyến

dieu khiổii lác tiộng lỏn cùng mội dối iưựng Việc liuyền lliông bát) cú the llieo mội

trong các dụng sau:

Đổng bộ Một lliao tác chi dược bắt (líỉu thực hiện khi phía gửi và phía

\ A • A I <1 I * Ml / •» » N I s

(synchronous) nhận đã sẩn sàng gứi và nhận Ihông báo Phía gứi và phía

nhận sẽ chờ cho den khi cà hai phía đã sẩn sàng dô xử lý

- Bỏ qua Thao lác dược thực hiện khi phía gửi và phía nhận liều sẩn

(balking) sàng Phía gùi sẽ lừ bỏ lliao lác nếu phía nhạn không sán

sàng

- Chờ 11)01 lliời Thao lác dược thực hiện khi phía gửi và phía nliậit (.lều sắn

gian (tiincoul) sàng Phía gứi sẽ chi tlợi Iron g khoảng thời gian Iilutt (lịnh ilổ

phía nhận chuẩn bị

- Không đỏng hộ có thổ khới dộng liàiili động hất cliâp phía nhận có

(asynchronous) mong muốn nhân ihông háo hay không

Chí sau khi dã quyết dịnli ngữ nghĩa cliức nang cúa (ác vụ mới có ihê lựa chọn

dạng truyền thòng báo liên cư sứ lừng tác vụ một.

1.3 Mô hình lìoá và 111Ỏ hình liuá ỉiuớiiịĩ tlỏi lượng

Tầm C|uan trọng cua việc mô hìnli hoá là lõ ràng Từ mội llìế giới thực cláy

phức lạp, để nắm bál dược nội dung của mội hệ thống không phải là đơn gian

hình lioá thực chất lủ tập trung vào các (lặc (liếm cơ bản cùa vấn dề, liíực bỏ (li

những chi tiết phụ Do dó, việc mô hình hoá giúp ta hiểu rõ hơn về hệ thông Đạc

biệl Hong phái li iên phần mém, 1Ĩ1Ô hình lioá cho pliép mô tả và kiêm soái cấu n úc,

hành vi cùa hệ lliõng mong đợi lạo khá niing lái sứ dụng những thành phần của hệ

thòng và giám bứt rủi ro

Mò hình llurừng dược mô tá trong một ngôn ngữ trực quan Tuy nhiên không

Trang 23

pliai tấl cá tiều phù hợp với mò lá bằng hình ảnh, niộl số ihông till trong mô hìnhdược điỗn tả lốt nhất bằng văn bản Iruyổn thống Như vậv mô hình có thổ sử dụngđổ:

- Ký pháp: các ký hiệu sử dụng trong mô hình

Một tập các qui tấc: các qui lắc cú pháp, qui lắc ngữ nghĩa và qui lắc únt?,đụng

Mỏ hình hoá chỉ cho phép nắm bắl và hiếu tliỗn vân dồ, còn việc giai quyết vấn

21

Trang 24

C huông 2 CÔNG c ụ UML VÀ C Á C H T H Ể HIỆN

2.1 (ỉiới lliiệu về UML

UML là một ngôn ngũ mô hình lioá cliuẩn dể thiết kế phần mềm hướng dối lượng Nó dược hợp nhất từ nhiều thành lựu của các nhà khoa học, trong dó nổi bật nhài là Grady Booch, James Rumbaugh và Ivar Jacobson

Mục liêu cúa UML là dế:

Mỏ hình hoá các hệ llióng Irèn quan tliổm liuứng dôi luựng

- Thiêl lập mòi liên kêl giữa mò hình khái niệm và các sán phám phần 1110111

cụ llie

Tạo một ngôn ngữ mô hình hoá cao có thể sử dụng cho cả người lần máyUML có llic (lược sú ciụng dê dặc ui, làm trực quan hoá, xúy dựng cáu trúc và lập lài liệu cho các sán phẩm của lìiộl hệ thống pluln mềm I lệ ihống ký pháp đỏ hoạ

và văn bail của UML cho phép (a biểu diễn dược dấy đủ thông tin của hệ thống Các

mỏ hình xây dựng trôn UML dược hình thức lioá nên có ihê chuyển I1Ó sang mã nguồn cùa các ugỏn ngữ lập hình quá trình này dược gọi là kỹ tliuậl I’orvvaiil

N g ư ợ c lạ i, (ló k iể m Ira XCIII m ã n g iio n c ó p liii h ợ p v ớ i m ó h ìn h hộ l l i o i i g h a y k lio n g ,

và dê hổ sung hoàn chính chương trình (hóng qua llũết kế, la có ihê dịch ngược lừ

mã nguổn thành các phán lứ Hong 111« hình, quá [rình này gọi là kỹ lliuậl Reverse

Như vậy, sự ra đưi của UML dã cung cap cho ta một công cụ chuán dê sán xuãl phần niềm lừ kliâu phân lích ihiốl kê đốn lliực thi, kiểm (hú Nó cũng lạo ra một

cơ hội <Jc lự dộng hoá nhiều công đoạn của lịuá liìnl) san xuál plìiln mém

Khi tìm hiòLi về UML, như là mội ngôn ngữ mò hình hoá, la cun xác dịnli hộ lừ

vựng và cúc qui tác ngữ nghía (le xây dựng mó hình Các khối xây dụng cơ bán hay

bọ tù vụng cua UML hao gổni các sự vậl, các mối quan hộ và các bien dồ XÓI vỏ mặl còng cụ UML gồm lập hợp các thành phần: các cách nhìn (cách nhìn) hay các

? *)

Trang 25

kliía cạnh cua hệ lliong các biêu dỏ (diagrams), các phấn lử trong mó hình (model elemenl), và các kỹ lliuậl cliung (general mechanisms).

2.2 Bãng tù vụng cua UML

Các khối xây dựng cơ ban hay háng lừ vựng của UML bao gồm:

Các sụ vật (things) Các quan hệ (relationships) Các biếu dó (diagrams)

C á c sự vật là những trừu lượng hoá và cũng là cá c thành viên dầu tiên trong

một mỏ hình; các quan hệ của chúng liên kết các sự vút với nhau, các biểu đổ nhóm lập hợp các sự vật có lien quan (llieo một ngữ nghĩa xác định) lại với nhau

2.2.1 Các sụ vật

Các sự vật trong UML bao gồm:

Các sụ vật cấu ítúc (Structural tilings)

Các sự vật hành vi (behavioral tilings) Các sự rật nhóm (grouping things) Các sự vật giải thích (annolalional things)

a Các sự vật Cấu trúc

Các sự vật cấu trúc ihường là các phần tĩnh của mội mò hình, biểu diễn các thành phán quan niệm hoặc ihành phẩn vậi lý (xem hình 2.1)

Trang 26

H ìn h 2.1 B à n g t ừ v ự n g c ủ a U M L

Trang 27

Lớp (cla ss)

Khái niệm lớp ớ dây chính là khái niệm lớp đã tlưa ra Irong chương Mọi lớp Irong UML dược biếu dieu bởi một hình chữ niiậl vứi ba phần dưực phàn cilia bang các dường nam ngang Phẩn liên cùng chứa tè» cúalứp, phán giữa là các lliuộc lính chung I11Ô tả cáu trúc của lớp và phán dưới cùng lưu giữ hành vi của lớp Các lớp Ihưừng xuấl hiện ỏ cácli nil'll! logic (logical view) cùa mô hình

CÁU Irúc của lớp dược hiểu diễn bơi mộl tập các thuộc lính Hành vi cùa mộl lớp tluực hiểu (.liền bói mội lập các lluio lác

Các mẫu có thổ dược sử dụng dc tạo các kiêu mới của các lớp Một sô' mẫu (hường gặp cho các lớp là: mẫu biên, thực thế, điều khiển, loại trừ và tiện ích

K ý hiệu lớp: coSRecord

á^>DirNo : string >DirNo : string ^ ổ^>EquipNo : String á^>SemiData : Variant í^ĩra n sie n tD a la : Variant

- Giao diện (interlace)

Giao diện I11Ô ui lập các lliao lác dặc lá các dịch vụ của một lớp hay một ihùnh phán mà không phái là nội dung các ihực thi của thao tác

SettingUp

Đòi tượng (object)

Đôi tượng là một lliổ hiện cụ lliổ của mội lớp, nó hao gổin các Irụng thái(stale), hành vi (behaviour) và định danli (identity) của thực thể dó Trong UML,dôi tượng được biêu diễn bằng một hình chữ nhật bên trong là tên đôi lượng và lênlớp mà nó thuộc vào, loàn bộ nội dull” (lược viêì gạch chân

I Current : COSRecord

K ý hiệu:

Trang 28

Sự cộng lác là một lập các lứp, các giao diện và các lliànli phần khúc, chúng cùng làm việc tlê cung cấp một hành vi hợp lác I lành vi này lớn hơn tổng hành vi của các pliûn lữ lliàtili pluin.

- Ca sứ (lụng (use ease)

Ca sử dụng* mô ta mội lập các chuỗi các hành động tuần tự mà một hộ thống thực liiện cho kốl qua có thổ C|uan sát dược là giá l i ị clio m ột lác nhún Ca sử dụng ihưững dược dùỉig dể mò hình hoá các lien trình còng việc Một ca sứ dụng có Ihc có một loạt các tình huống và các hoạt dộng khác nhau Mỗi lình huống như vậy gọi là mộl kịch bản (scenario) Kịch bản của ca sử dụng chỉ ra luồng các sự kiện trong mỗi trường hợp cụ thô

Tác nhân (actor)

Tác nhân (nhàn lô tác dộng) là khái niệm chí người hoặc sự vật nằm bèn ngoài lìệ thông và tương tác với hệ thống, nó có thể là người sử dụng hệ thống hoặc mội hệ lliống khác iưưng lác với hệ (hống dang XÓI Tác nhân là một lớp vói ba loại chính là người dùng, hệ thưng khác (máy lính hay các lliiêt bị cơ khí, diện lử) và sụ kiện thời

' 'use case' là một Ihuật ngữ khá thông (.lụng Hong UML có nhiều cách dicli Ihuật ngữ, lác giá lạm (licit lá 'ca sứ dụng' và <v các phán san úr 'ca sir dụng' xin hióu lá 'use ease'

Trang 29

Các sự vật hành vi là phần động trong các mô hình UML, chúng biếu diễn

liùnli vi ciiõti ra trong không gian và thời giun C ó liai loại sự vẠl liiình vi chính là

máy trạng thái và lương lác

- M áy trạng thái{State machine)

Máy trạng thái là mội hành vi xác ctịnh cúc dãy những Irụng thái của một dối tượng hay m ội urưng tác trái Cịua Hong vòng dừi của m ình (10 cláp ứ n g jạ ị các sự kiện

Tương tóc(interaclion)

Tương tác là một hành vi bao gồm lập các thông điệp trao dổi giữa các tập dôi Itrựíig trong một killing cánh cụ lliê tlê Ihực hiện mội mục liêu cụ thế Chính sự Hao dổi lliúiig íliộị) giữa các doi lượng dã kích lioụỉ việc lỉiực hiện các thao lác của hệ lỉiong Đổ lìm liiổu lõ luín VC (liỏng tliộp, (a cấn nghiên cứu cụ (hổ ký |>liáp cúa lliông diệp

- Tlỉờttg điệp (message) giữ a các đòi tượng

Các thông diệp giữa các dối lượng tlirực biểu (.liền bằng một mũi lẽn cỏ (Jailli nhãn cùa mội liêu kêl sỏ luựiig các lliỏng diệp Irèn một liên kêl là kliỏng lụm chỏ Mộl số tuân lự đưực dính kèm với t h ô n g iliệp đổ biểu tliẻ» thứ lự gửi các thông điệp.Các tham số cua Ihỏng diệp có Ihê ikrực biểu (lien Irong (lâu cặp dấu ngoặc (lơn Kiêu dữ liệu cùa tham sô có thê có hoặc không

l ỉ i ữ i i ( l i e n \>i(f f r i I r á l ạ i

2,S

Trang 30

Thõng diệp gửi lới một (lôi lượng có I hố yêu CÍÙI một giá trị Ira lại cho (lòi lượng giri Cìiíí IrỊ trá lại dược dật trước lliỏng diệp với một biến giá li ị Ilá lại và loán lir gán f := ')

Bien dieu lợp (ill'I'M ion)

Một dối IƯƠIIg có llic gửi các thòng diệp lới các dổi tượng khác lặp di lặp lại Diều này dược biêu tliền hang cách llìêm vào dằng liuức Ihông diệp dâu sao (**’)

Bien clien lliônịỊ diệp có diêu kiện

Đòi khi, mội lliông diệp có the bị giúi hạn bởi mội diều kiện và chí cỏ the dược gửi lừ một dối lượng tới đối lượng khác khi diều kiện dược thoa mãn Trong một hệ

Các biến lliô của gói là: killing lủm việc (framework), mò hình (model), hệ c o n

29

Trang 31

lìtng Ihiọc hay bình luận tlược giin vcVi mội phẩn lư hoặc mội lộp các pliíìn tứ.

Ký liiộ u : COSNecoid

Ể£>DiiNo s|Jing

^>EquipNo Siring d^>SemiData Variant ậ>TransientDala Variant

^InseitRecO emoveRecO

Class Of Service 'N Record

2.2.2 Các mối quan hệ giữa các phán tử trong U M L (relationships)

Các mối quan hệ giữa các phần tử Irong UML gồm 4 loại:

Quan hệ phụ lliuộe một mỏi quail hệ iiịỊŨ' ny/iîa giữa hai sự VÛI, Irong tló sự

thay doi cùa niộl sự vậl có llic lác dộng lòn sự lliay dổi ngữ nghía của sự VÛI kia.Quan hệ phụ thuộc dối vứi các lớp là mối quan hệ trong dó một lứp (khách thổ) phụ thuộc vào một lớp khác (lớị) Cling cấp) với một dịch vụ cụ Ihổ

Ký liiỌu:

RouteTable

> Circuit ĩable

2.2.2.2 Liên kết (assosialion)

Quan hệ liên kết là một môi (Ịiiưn h ệ cừu trúc, 110 mỏ lả các đối lượng của một

sự vật dược kếl nối với các dối iưựng của sự vật khác

Các giá li ị chi sỏ lưựng dôi tượng mỗi bên tham gia vào liên kốl cỏ thể được ghi ihòm lại mỏi đáu mút cùa liên kết Các giá trị này có the là

I tương ứng với một

I I1 iưoìiịi lí I ỉ Lĩ với mòi hoíic nliiồu

Trang 32

tương ứng với không hoặc nhiều lifting ứng vứi không hoặc mội

Tổng quát lioá là một mối quưn hệ tổng quát hoáỉcụ thể hoá, trong dó các dối

lượng của phần tử cụ thể hoá có thể dược thay ihế cho các đối tưựng của phân tử liuực lổng quái hoá Thực cliâí quan hệ này thổ hiện lính kê thừa giữa các lớp trong

- l ỉ i c u íl ồ càn II l i e g ổ m b i e n (lổ h í p , b i e n d o d o i l ư ợ n g , b i e n i!ỏ t h à n h p h ầ n v à b i ế u

Trang 33

(Jo Iriển khai.

l i i c i i (lồ h à n h 17 gồm hiếu (lồ ca sư (.lụng, bien (lồ (rạng lliái và biểu (lổ hoại (lọng

Biếu dồ tương tức gồm biểu dổ luẩn lụ vìi biểu tlổ cọng tác.

2.2.3.1 Hiểu dồ cấu trúc (Struct Diagram)

Biêu đổ cấu Irúc gồiii các loại sau:

- Biểu dồ lớp (class diagram)

Biêu tlổ lớp bidu diỗn cr.il trúc Im'; của các lứị) trong liệ Ihống, I1Ó bao gồm inộl lập các lớp, các giao diện cùng với sự cộr.g tác và những mối C|uan hệ của chúng.Biểu dồ lớp là một biểu tlồ quan irọng 11Ó biểu diễn cấu trúc tĩnh của các lớp Irong của họ ihống, là cư sứ cho biổu dổ thành phần (Component diagram) và biẻu

do niên khai (Deployment Diagram)

Mội hệ tiiôiig có iliổ gồm inột hoặc nhiều SƯ dồ lớp, nhưng không phải làt ca các lứp đều xuấl liiện iroug biểu dó lớp.

- íiỉeu dó đôi tượng (Object diagram)

Biếu dồ dôi tượng chí một tập các dối tưựng và các mối quan hệ cua chúng Biêu dỏ dõi lưựng có lliè coi như inộl hình ánh cụ thể của hộ lliỏng lại một lliừi dicm thực tiii

- Biểu chì thành plúìn (Cuiiipoii' dit diagram)

Biếu c!ồ thành phẩn chỉ ra cách ll íc iổ chức và các phụ ihuộc Iron g một lập các thành phán Các biểu đổ thành phỉtn tạ,) trung vào Ivhía cạnh (view) li lực thi lĩnh của

hệ Ih ố n g C h ú n g liê n k ế t v ớ i c á c s ơ d ồ lớ p , n o n g d ó 1 1 ÌỘ I th à n h p h ầ n á n h x ạ v à o m ộ t

hay mội sò lớp, giao diện hoặc các cộng lác

- Bit'll dò triển khai (Deployment diagram)

Biểu đổ triển khai thể hiện cấu hình của các nút xử lí Irong lliừi giun thực hiện

và những (hành pliần lioạl ilọim IIC'11 dó Các sơ dổ Iriểit khai lập Irung vào cách nhìn Ilk 'll khai (ình c II a mộl kiôii liiic họ llio iiii.

32

Trang 34

2 2 3 2 B iể u íĩồ h à n h vi (Behaviour Diagram)

Biêu ilồ hành vi gồm các loại sau:

Biêu ilò ca sứ ciụiiịỊ (Use case diagram)

Biểu đổ ca sứ dụng biêu diễn một lập các ca sử dụng, các lác nhân và các mối cỊiian hệ giữa cluíng Các biểu đồ này (lặc biệt quan trọng trong viộc lỗ chức và mỏ hình hoá các hành vi của mộl hộ (hống

Loại quan liệ chính trong biểu đồ ca sử dụng là quan hệ truyền thòng

(communication) Quan hô này tluực biổu diễn nlur một liCn kếl không dịiih hướng Giữa các ca sử dụng có thể có hai loại quan hệ nữa là quan hệ mở lộng (extends) và quan hệ sử dụng (uses):

Quan hệ mứ lộng giữa cu sử dụng A và ca sử dụng B chí ra rằng ca sử ílụiig B có Ihổ gồm các hành vi đục ta trong ca sử dụng B

- Quan hộ sử dụng giữa ca sú (lụng A và ca sử dụng 13 chỉ ra rang ca sử dụng A cũng có hành vi dặc tá bới ca sử dụng B

Quan hệ mở rộng và quan hệ sử dụng dưực biểu diỗn như quan hệ lổng quái

hoá vứi các mẫu (steoreof\pe).

- lỉieu dỏ Irạng tliái (Statccliai t diagram)

Biểu dồ trạng lliái biểu diễn rnột máy trạng thái, nó bao gồm các trạng thái, các chuyển trạng thái, các sự kiện và các hoạt dộng Biểu đổ trạng thái là cách nhìn

hệ thong, theo quan điểm dộng, nó dặc biêl quan trụng khi mô hình hoá hành vi của

m ộ i g ia o d iệ n , m ộ t lớ p h o ặ c m ộ t c ộ n g tá c và Iih ấ n m ạ n h h à n h v i d ư ợ c sắp th e o sự

kiện cùa một dối lượng

Hiểu do hoại dọng (Activity diagram)

Bien (Jổ lioạl dộng là một dạng dặc biộl cua biếu dồ trạim thái, nó chi ra mội

Trang 35

luổiig từ inột hành dộng đốn hành dộng khác [rong một hệ lilting Biểu đổ hoạt tỉộng dạc biệt quan trọng Irong mô hình lioá chức năng của một hệ thông và nhân mạnh tới luồng diều khiên giữa các đỏi lượng.

2 2 3 3 lỉiếti (lồ tư ơng tác (Inleralion Diagram)

Biểu đồ tương tác biếu diễn một [ương tác, bao gồm mộl tập các dối lượng và các mối quan hệ giữa chúng Các mối quan hệ này gồm các Ihông điệp có thổ được chuyển giữa chúng Biểu dồ tưưng tác là cách nhìn iheo khía cạnh động của hệ thông Biểu dồ lương lác gồm liai loại: biêu dồ tuần tự và biểu (Jổ cộng tác

- Biểu dỏ tuần lự (Sequence diagram)

Biểu đồ luíìn tự là một loại biêu dồ lương lác I1Ó nhấn mạnh dốn trình lự tliừi gian của các thông diệp chuyển đi giữa các đối tượng

Biểu đồ ca sử dụng trình bày cái nhìn bên ngoài cùa hệ thống Trong khi dó, một kịch bản được sử dụng dể mô la việc lliực thi các ca sir dụng Các kịch bán dưực lưu giữ Hong biổu dồ tuái) tự Biểu dồ tuần lự và các ca sử dụng luôn di đôi'với nhau

Biểu dổ cộng lác (Collaboration diagram)

Biểu do cộng tác cũng là một loại biêu đồ iưưng tác, nó nhấn mạnh việc tổ chức câu trúc của các dối lượng gửi và nhận các thòng diệp

Mộl kịch han cũng có lliổ dược biổii tliỗn trong mội biổu dồ cộng lác

Tưưng lự nlnr các biếu dồ tuần tụ, các biểu dổ cộng lác dược liên kết với các ca sir dụng

2.3 Các qui tắc và các cơ ch ế chung của U M L

Trang 36

- Tên (Name) dể gọi các sự vật, các quan hệ và các biểu dồ

- Phạm vi (Scope) là ngữ cánh mỏ LÍ ý nghĩa của mội lỏn gọi.

- Tính nhìn thấy (Visibility) dó là cách thổ hiện các lên của mộl sự vậl mà một sự

vật khác có thể nhìn thấv và sử dụng chúng

- Tính toàn vẹn (lnlcn>riíy) là phương lliức mà các sự vât lien két với mội sự vậl

khác mội cách hợp lộ và nhất quán

- Tính thực thi (execution) nói đến việc chạy hay mô phỏng một I11Ô hình động

Những nguyên lắc liên khuyến khích (không bắí buộc) nhằm liến tới nhữngphân tích, Lliiếl kế dể hoàn thiện mô hình

2.3.1.2 C ác n g u y ên tắc x â y đ ự n g m ô h ỉn h

Các IĨ1Ô hình dược xây dựng liico nhiều cách và được nhìn nhận theo nhiều khía cạnh khác nhau Do dó các mô hình dược xây dựng không phải lúc nào cũng dám bao cấu trúc hoàn chính, nó cũng có Ihể có một số dặc điểm sau:

- Lược bớt: mội số phần lử có llic dấu đi đc làm dơn giản khung nhìn

- Tinh klìòniỊ dây chí: Một số phần lử cớ thổ bỏ qua

- Sự không chắc chắn: Tính loàn vẹn cùa mò hình không dược dảm bảo

Bài trí (adornment)

Trang 37

I líỉu hcl các phần tu Iron g UML có ký hiệu dồ hoụ duy nhát, nó cung cáp mộl biêu diễn trực quan theo một khí a cạnh quan trọng của sự vậi Mỗi phần tú trong ký pháp UML bắt dầu với mội ký hiệu cơ bán và có the thêm vào một loạt các Irang trí cho ký hiệu dỏ.

IMiàn hoạch cluin g (Com m on D ivisions)

Khi IUÔ hình lioá các hệ lliống liuớng dôi iưựug, mọi sự vậl dều dưực phân chia

ít nhất thành lừng cập như lớp/đói lượng, giao diện/ thực thi

Trong phân chia lớp và dối lượng, lớp là một khái niệm Irừu tượng và dối tưựng

là một lliể hiện cụ thể của khái niệm Irừu lượng đó Hầu liêì các khỏi xây dựng trong UML đều có cùng cách phân chia lớp/dôi tưựng Iiiìy Ví dụ như ca sử dụng và Ihê hiện cùa ca sứ dụng, các thành phần và ihế hiện của các thành phần, nút và Ihể hiện của nút

Đối với việc phân chia giao diện và thực thi, giao diộn thì khai báo hợp dồng,

và thực thi biểu diễn việc thực hiện hựp dồng íló Trong các khối xây,dựng UML Cling có phân chia như vậy, ví dụ như các ca sử dụng và sự cộng lác dê thực hiện hay các lliao lác và các phương (hức tie ị hực thi chúng

- Các CƯ chê IIIỪ rộng

UML là ngôn ngũ mở, I1Ó cung cấp một cách thức mở rộng có kiểm soái nhầm biêu diễn dầy dủ thông tin trong các mô hình hộ thống Những cơ chế mở lộng trong UML cho phép inở lộng từ vựng của ngôn ngữ, mở lồng lliuộc tính của các phán lử trong mò hình và mở rộng ngữ nghĩa của các khối xây dựng Có ba cơ chế inư rộng (rong UML:

- Sự lỳp klmôii (stereotype) mứ rụng lừ vựng của UML, cho pliép lạo loại lừ

vựng mới lừ những thành phần dã có Trong UML, đổ hiểu diễn inộl dối luợng có sú dụng khuôn mẫu (stereotype) bằng cách dưa lèn mò tá vào (rong cặp (làu « và »

Giá irị Ịịắìì nhàn (laịiịỊCíỉ vaille) II1Ớ lộng thuộc lính cua U M L cho phép dua thèm thông tin dạc tá thành phần, I1Ó gồm lên thuộc lính, giá trị của lluiộc tính tại thời điếm chill” XÓI.

*

Trang 38

- liàiÌ,I> hnộc (coniidin) nuV rônj* ngữ nghĩa củi» kliô'i (lược xAy (lung, cho

|)Ik'*I> <ltr;i llióiM c á c 4111 í liic mtVi li;i V tliii V (lói CỈĨC (|(ii líic liiỌn CO.

2 4 C á c cácl» Iiliìn liệ l i l t i n g ( v ie w s )

Khi xem xét một sự vật hay mội hệ lliống không phái lúc nào ta cũng có ngay một cái nhìn tổng quát và đầy đii về chúng Việc I11Ô hình hoá hệ thông phán mềm cũng vậy Đổ đám báo lính lõ ràng trong đặc lá, thuận liện cho việc Ihực thi, phái Iricn và dễ sử dụng, cần đưa ra các thông tin Hong phạm vi rộng Điều này đòi hỏi ta phai xem xét hô thống ở nhiểu khía cạnh khác nhau Nó cũng tưưng tự như việc la dứng ớ các góc khác nhau quan sát cùng mội sự vậl và lliu được các hình ảnh khác nhau về sự vật dó (chính vì lý do này, tác giá xin tạm dira ra nghĩa 'cách nhìn' lương ứng với từ ’view’, còn trong các phần sau xin không dịch và đê nguyên từ ’view’) Mỗi khiu cạnh là một cách 11I1Ì» cụ Ihể vổ hệ ihống dang xem xét

UML dưa ra nhiều cách nhìn khác nhau:

- Cách nhìn ca sứ dụng bien diễn về mại chức năng cúa hệ thõng dưới sự tăc dộng cùa các lác nhân ngoài (external actor)

- Cách nhìn logic (logical view) chỉ ra cách thức Ihiôì kế các chức rúìng hên (rong

hệ lilting, bao gồm cấu Irúc lĩnh và hành vi dộng của hệ thông

Cách nhìn thành phân (component view) biểu diễu lổ chức cùa các thành phán Iron g hệ Ihông

- Cách nhìn triển khai (deployment view) biểu diỗn cáu trúc VỘI lý cúa hệ Ihống với các máy lính và các lliiốl bị, trong dó các máy lính và lliiốl bị này gụi là các nút (nodes)

Các dặc trưng của UML cho phép mọi thành phần liên quan dều có the mang vào Hong kiến trúc dự án cách nhìn khác nhau và làm cho dự án có được mộl sự hoàn thiện lổng thổ

2.4.1 Cách nliìn ca sử dụ ng

Cách nhìn ca sử dụng cứa một Ilệ (hống giúp la có ilìô hiểu và sứ dụnịi hệ llinng Kliíii canh nãV xem XÓI các tác Ilium vã các c;i MI dụng eimg với sụ lương lác

Trang 39

giữa cluing Các biểu dồ Irong cách nhìn này là các biểu đổ ca sử dụng, biểu dồ tuần tụ VÌI biêu dồ cộng lác.

2.4.2 ( ’ỉícli nhìn logic

Cách nhìn logic của một hệ lliỏng lập trung vào các yêu cáu chức năng cúa hộ thống Cách nhìn này xem xct các lớp và các quan hệ lĩnh của chúng Nó cũng nhằm vào bán chái dộng cùa các lớp Các bicu <JÓ trong cách nhìn này là các biểu dồ lứp

và các biCu <JỎ chuyển Irạng thái

2.4.3 Cácli nhìn thành phần

Cách nhìn thành pliần cùa mội hệ lliống cho biêi lổ chức lliành phần cùa phán mồm Cách nhìn này bao gồm các thông (in về phổ 11 mềm, các thành phần có thể thực thi và các thành phần thư VÌỘI1 của hộ thống Cách nhìn thành phần chứa các hiếu dó thành phần

2.4.4 Cách nhìn triển khai

Cách nhìn triển khai chu biếl câu trúc của các nút XII lý trong thời gian chạy chương trình và các lỉiành phần, các tiến trình và các đối lirợng tổn tại trôn dó Cách nhìn này chí gồm (luv 11 hất một biếu dồ dó là biêu đổ triển khai

2.5 Kết luận cliuưng 2

UML là một ngôn ngữ gồm cả ký pháp tlổ hoạ VÌI cả mô lá văn ban Điều này giúp người phát (lien xây dựng hệ lining một cách (lực quan mà không Illicit di lính cliặl chõ về mặl ngữ nghĩa Việc xây dựng mội qui trình phái triển phần mềm sứ dụng UML sẽ dược dề cập trong cliưưng liếp llieo

.18

Trang 40

Chương 3 QUI TKÌNII IMIÂN I í( II T ỉ l l i í v KẾ IMlẤN

M È M IIUÓN<; đ ò i T Ư Ọ N íỉ s ú UỊJN<; UML

3.1 Các đặc tru n g tiên trình hựp nhát (Unified Process)

Tiên trình họp nhất là mội tiến trình phái Irien phần mềm, nó sứ dụng ngôn ngữ mô hình hoá (hống nhấl (UML) đổ viốl các bản thiết kế hệ lliống Trên thực lố liè'11 trình liựp Iihâí và UML có quan Ỉ1Ộ rát chạt chẽ với nhau Tiên tíình hợp nhâl

h a o g ồ m hu nội d u n g c h ín h :

• Điều khiến bằng use ease

• Tập (rung vào kiến trúc

• Lá|> VÌI láng (.làn

3.1.1 Tiến Irìnli dược diéu khiến bơi use-case

Việc lim lliập yêu cấu có hai mục dích dó là xác dinh dúng các yêù cầu và trình bày chúng Ìhco một cách (hích hợp cho người sử dụng, khách hàng và người pliál triển hệ thống Cách trình bày thích hợp ớ đâv có nghĩa là người sir dụng và khách hàng có ihô hiểu dược các veil cầu dã IÌÌÒ lá Với các mục đích liêu liên, các

ca su (lụng thích hựp cho việc Mill lliập yêu cáu Chúng cung cáp mọt pliuơnn thức

mang tính hộ thòng và có lính (rực t|ium de (lui (hập các yêu Cíiu chức Iiiing cua hệ

lliỏng

Các ca sứ dụng lưu giữ các yêu cầu chức năng, 'ỉ at cá các ca sử dụng hựp lại

1 hành mỏ hình ca sú dụng Mỏ hình ca sử dụng mô lá dầy (lú chức nâng của hệ lliốiig

"Mội dặc lá chức nang có lliô tra lừi câu hỏi hệ thông cung cấp cái gỉ?

Chiến lược use case có lliể dược đục trưng bởi việc them vào ba từ ỏ cuối câu

hỏi này: cho mỏi người sử dụng? (Ibr each user)"[6J Nhũng lừ này buộc chúng la

suy nglũ Uico kliía cạnh ngưừi sử dụng chứ không chí theo nghĩa tlưn thuần chức nang có ihc hoàn llùuili Tuy nhiên, các use ease không chí là 11)01 tông cụ dặc lá các yêu cầu hệ thòng, cluíim là truim lâm (lieu khiên I|uá Itình phán lích, lltiẽl kẽ

Ngày đăng: 16/03/2021, 12:33

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm