Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng

1.1. TỔNG QUAN VỀ MÔ HÌNH HÓA

1.1.1. Khái niệm trừu tượng hóa

Để tìm hiểu về một thế giới phức tạp, mọi khoa học thực nghiệm

đều phải vận dụng một nguyên lý cơ bản, đó là sự trừu tượng hóa

(Abstraction). Trừu tượng hóa là một nguyên lý của nhận thức, đòi

hỏi phải bỏ qua những sắc thái (chi tiết của chủ điểm) không liên

quan tới chủ định hiện thời, để tập trung hoàn toàn vào các sắc thái

chính liên quan tới chủ định đó (từ điển Oxford).

Theo Liberty J.,1998, trừu tượng là nguyên lý bỏ qua những khía

cạnh của chủ thể không liên quan đến mục đích hiện tại để tập trung

đầy đủ hơn vào các khía cạnh còn lại. Trừu tượng hóa là đơn giản hóa

thế giới thực một cách thông minh. Nó cho khả năng tổng quát hóa

và ý tưởng hóa vấn đề đang xem xét. Chúng loại bỏ đi các chi tiết dư

thừa mà chỉ tập trung vào các điểm chính, cơ bản.

Trừu tượng là sự mô tả một cách khái quát một đối tượng thực

và bỏ qua nhiều yếu tố, nhiều mặt không quan trọng của nó [23]. Sử

dụng nguyên lý trừu tượng hóa có nghĩa là thừa nhận thế giới thực là

phức tạp, thay vì cố gắng hiểu biết toàn bộ bằng lựa chọn một phần

của vấn đề

Trừu tượng bao gồm nhiều dạng: trừu tượng thủ tục, trừu tượng

dữ liệu, trừu tượng điều khiển [11]. Trong đó trừu tượng dữ liệu là cơ

chế mạnh, dựa trên cơ sở tổ chức suy nghĩ và đặc tả về các nhiệm vụ

của hệ thống. Trừu tượng dữ liệu là nguyên tắc xác định kiểu dữ liệu

cho các thao tác áp dụng cho đối tượng, với ràng buộc là các giá trị

lưu trữ trong đối tượng chỉ được sửa đổi hay quan sát thông qua các

thao tác đó. Người thiết kế áp dụng trừu tượng dữ liệu để xác định

thuộc tính và các thao tác, xâm nhập thuộc tính thông qua thao tác.

Theo Wasserman, “Ký pháp trừu tượng mang tính tâm lý cho

phép ta tập trung vào một vấn đề ở một mức nào đó của sự khái quát,

bỏ qua các chi tiết ở mức thấp ít liên quan. Việc sử dụng sự trừu

tượng cũng cho phép ta làm việc với các khái niệm và thuật ngữ gần

gũi trong môi trường của vấn đề đặt ra mà không phải chuyển chúng

thành một cấu trúc không quen thuộc” [11].

Nếu các mặt, các yếu tố của đối tượng được mô tả bị bỏ qua càng

nhiều thì mức trừu tượng hóa càng cao. Như vậy ta có thể mô tả đối

tượng thiết kế với nhiều mức trừu tượng khác nhau tùy thuộc vào sự

hiểu biết, nhận thức của người phát triển và yêu cầu đặt ra đối với nó.

Có nhiều mức trừu tượng:

- Mức cao nhất: một giải pháp được phát biểu theo thuật ngữ đại

thể bằng cách dùng ngôn ngữ của môi trường vấn đề.

- Mức vừa: lấy khuynh hướng thủ tục nhiều hơn. Thuật ngữ

hướng vấn đề thường đi đôi với thuật ngữ hướng cài đặt trong mô tả

giải pháp.

- Mức thấp: giải pháp được phát biểu theo thuật ngữ chi tiết để

có thể được cài đặt trực tiếp.

Mỗi bước trong tiến trình kỹ nghệ phần mềm đều là sự làm mịn

cho một mức trừu tượng của phần mềm. Trong kỹ nghệ hệ thống,

phần mềm được dùng như một phần tử của hệ thống dựa trên máy

tính. Trong phân tích các yêu cầu phần mềm, giải pháp phần mềm

được phát biểu dưới dạng "đó là cái quan trọng trong môi trường vấn

đề". Khi chúng ta chuyển từ thiết kế sơ bộ sang thiết kế chi tiết thì

mức độ trừu tượng giảm dần. Quá trình này dẫn tới mức trừu tượng

thấp nhất khi sinh ra chương trình gốc.

Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng trang 1

Trang 1

Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng trang 2

Trang 2

Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng trang 3

Trang 3

Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng trang 4

Trang 4

Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng trang 5

Trang 5

Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng trang 6

Trang 6

Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng trang 7

Trang 7

Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng trang 8

Trang 8

Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng trang 9

Trang 9

Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 218 trang xuanhieu 4420
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng

Giáo trình Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng
Unified Framework, 
Addison-Wesley, 1998. 
[14]. Silvia T., Acuna, Natalia Juristo, Software process modeling, 
Springer, Spain, 2005. 
[15]. Sommerville I., Software Engineering, Addison-Wasley, 6th 
Edition, 2001, 7th editor Chapter 19, 2004. 
[16]. Zhiming L., Object-Oriented Software Development Using UML, 
UNU /IIST, Macau 2001. 
2. Tiếng Việt 
[17]. Đoàn Văn Ban, Phân tích, thiết kế và lập trình hướng đối tượng, 
NXB Thống kê, 1997. 
[18]. Đoàn Văn Ban, Phân tích thiết kế hướng đối tượng bằng UML, Bài 
giảng cao học Viện Công nghệ thông tin, 2004. 
[19]. Đặng Văn Đức, Phân tích thiết kế hướng đối tượng bằng UML 
(Thực hành với Rational Rose), NXB Khoa học và Kỹ thuật, Hà 
Nội, 2002. 
[20]. Huỳnh Văn Đức và tập thể tác giả, Giáo trình nhập môn UML, 
NXB Lao động Xã hội, 2003. 
[21]. Lê Văn Phùng, Phân tích và thiết kế hệ thống thông tin, NXB Lao 
động Xã hội, 2004. 
[22]. Lê Văn Phùng, Kỹ thuật phân tích và thiết kế hệ thống thông tin 
hướng cấu trúc, NXB Thông tin và Truyền thông, 2009. 
[23]. Lê Văn Phùng, Kỹ nghệ phần mềm, NXB Thông tin và Truyền 
thông, 2010. 
[24]. Ngô Trung Việt, Kỹ nghệ phần mềm - Cách tiếp cận của người thực 
hành, NXB Giáo dục, tập 1/1997, tập 2, 3/1999. 
[25]. Nguyễn Văn Vỵ, Phân tích và thiết kế các hệ thống thông tin hiện 
đại hướng cấu trúc và hướng đối tượng, NXB Thống kê, 2002. 
[26]. Nguyễn Văn Vỵ, Bài giảng cao học về phân tích thiết kế hướng đối 
tượng, Đại học Công nghệ Hà Nội. 
[27]. Nguyễn Văn Vỵ, Nguyễn Việt Hà, Giáo trình kỹ nghệ phần mềm, 
NXB Giáo dục Việt Nam, 2009. 
MỤC LỤC 
Lời nói đầu .................................................................................................... 5 
Chương 1. Tổng quan về mô hình hóa phần mềm .................................... 5 
1.1. Tổng quan về mô hình hóa ............................................................... 5 
1.1.1. Khái niệm trừu tượng hóa............................................................. 5 
1.1.2. Khái niệm mô hình và mô hình hóa ............................................. 7 
1.1.3. Phương pháp mô hình hóa.......................................................... 11 
1.1.4. Ngôn ngữ mô hình hóa ............................................................... 13 
1.1.5. Nguyên tắc mô hình hóa............................................................. 13 
1.2. Mô hình hóa tiến trình phát triển phần mềm ................................ 14 
1.2.1. Tiến trình phát triển phần mềm .................................................. 14 
1.2.2. Ngôn ngữ mô hình hóa hợp nhất (UML).................................... 15 
1.2.3. Quy trình phát triển phần mềm hợp nhất (USDP)...................... 17 
Chương 2. Các khái niệm cơ bản trong phân tích 
 và thiết kế hướng đối tượng ................................................... 19 
2.1. Cách tiếp cận hướng đối tượng ...................................................... 19 
2.1.1. Các đặc trưng của cách tiếp cận hướng đối tượng...................... 20 
2.1.2. Các ưu khuyết điểm của thiết kế hướng đối tượng..................... 21 
2.2. UML và các giai đoạn phát triển phần mềm.................................. 22 
2.2.1. Giai đoạn nghiên cứu sơ bộ ........................................................ 22 
2.2.2. Giai đoạn phân tích..................................................................... 22 
2.2.3. Giai đoạn thiết kế........................................................................ 23 
2.2.4. Giai đoạn lập trình ...................................................................... 23 
2.2.5. Giai đoạn kiểm thử ..................................................................... 24 
2.3. Đặc trưng tiến trình phát triển 
 phần mềm hướng đối tượng bằng UML ........................................ 24 
2.3.1. Ca sử dụng điều khiển toàn bộ quá trình phát triển.................... 24 
2.3.2. Quá trình phát triển lấy kiến trúc làm trung tâm ........................ 25 
2.3.3. Tiến trình phát triển là quá trình lặp và tăng dần........................ 26 
2.4. Một số khái niệm cơ bản trong UML ............................................. 28 
2.4.1. Các đối tượng ............................................................................. 28 
2.4.2. Lớp các đối tượng....................................................................... 29 
2.4.3. Các giá trị và các thuộc tính của đối tượng ................................ 30 
2.4.4. Các thao tác ............................................................................... 31 
2.4.5. Các gói........................................................................................ 32 
2.5. Các nét cơ bản về UML ................................................................... 33 
2.5.1. Mô hình hóa kiến trúc hệ thống.................................................. 33 
2.5.2. Các vấn đề cốt lõi trong UML.................................................... 35 
2.6. Quy trình xây dựng các mô hình cơ bản trong phân tích 
 và thiết kế hệ thống hướng đối tượng bằng UML ......................... 50 
2.6.1. Các pha chính trong quy trình phát triển phần mềm .................. 50 
2.6.2. Phần mềm công cụ phục vụ phân tích 
 và thiết kế hướng đối tượng........................................................ 51 
Chương 3. Yêu cầu hệ thống và mô hình nghiệp vụ ............................... 53 
3.1. Khái niệm yêu cầu ........................................................................... 53 
3.1.1. Yêu cầu chức năng ..................................................................... 56 
3.1.2. Yêu cầu phi chức năng ............................................................... 56 
3.2. Mô hình nghiệp vụ .......................................................................... 56 
3.2.1. Nội dung và sản phẩm của pha lập mô hình nghiệp vụ .............. 56 
3.2.2. Xây dựng mô hình nghiệp vụ ..................................................... 57 
3.2.3. Xác định các yêu cầu bổ sung .................................................... 59 
3.3. Xác định yêu cầu hệ thống và mô hình ca sử dụng....................... 59 
3.3.1. Nội dung và sản phẩm của pha xác định yêu cầu....................... 60 
3.3.2. Mô hình ca sử dụng .................................................................... 60 
Chương 4. Mô hình phân tích đối tượng.................................................. 82 
4.1. Xác định các phần tử trong mô hình khái niệm ............................ 83 
4.1.1. Xác định đối tượng ..................................................................... 83 
4.1.2. Xác định thuộc tính của lớp........................................................ 84 
4.1.3. Xác định các thao tác của lớp..................................................... 91 
4.2. Xác định mối quan hệ giữa các lớp ................................................ 94 
4.2.1. Quan hệ kết hợp.......................................................................... 95 
4.2.2. Quan hệ tụ hợp ......................................................................... 102 
4.2.3. Quan hệ tổng quát hóa .............................................................. 104 
4.2.4. Quan hệ kế thừa........................................................................ 106 
4.2.5. Quan hệ phụ thuộc.................................................................... 107 
4.2.6. Quan hệ thực hiện hóa .............................................................. 108 
4.3. Phát triển mô hình đối tượng........................................................ 108 
4.3.1. Các loại lớp trong sơ đồ lớp ..................................................... 108 
4.3.2. Khuôn mẫu của các lớp ............................................................ 110 
4.3.3. Quy trình phát triển các lớp đối tượng 
 và sơ đồ lớp có mối quan hệ chủ yếu ...................................... 113 
Chương 5. Các mô hình phân tích động thái...................................... 118 
5.1. Các yếu tố thể hiện sự tương tác .................................................. 119 
5.1.1. Các sự kiện và hành động của hệ thống ................................... 119 
5.1.2. Trao đổi thông điệp giữa các đối tượng.................................... 122 
5.2. Sơ đồ trình tự ................................................................................. 123 
5.2.1. Các thành phần của sơ đồ trình tự ............................................ 123 
5.2.2. Xây dựng sơ đồ trình tự cho một luồng dữ liệu 
 trong mỗi ca sử dụng ............................................................... 126 
5.2.3. Ví dụ về xây dựng các sơ đồ trình tự cho hệ thống bán hàng .. 127 
5.2.4. Ghi nhận các hoạt động của các lớp đối tượng......................... 130 
5.2.5. Các hợp đồng/các đặc tả về hoạt động của hệ thống................ 131 
5.3. Sơ đồ trạng thái ............................................................................. 134 
5.3.1. Trạng thái và sự biến đổi trạng thái.......................................... 135 
5.3.2. Xác định các trạng thái và các sự kiện ..................................... 137 
5.3.3. Xây dựng sơ đồ trạng thái ........................................................ 138 
Chương 6. Các mô hình thiết kế tương tác ............................................ 142 
6.1. Sơ đồ hoạt động ............................................................................. 142 
6.1.1.Trạng thái và sự chuyển trạng thái ............................................ 143 
6.1.2. Nút quyết định và rẽ nhánh ...................................................... 143 
6.1.3. Thanh tương tranh hay thanh đồng bộ...................................... 144 
6.1.4. Tuyến công việc ....................................................................... 145 
6.2. Sơ đồ cộng tác................................................................................ 147 
6.2.1. Các cấu phần trong sơ đồ cộng tác ........................................... 152 
6.2.2. Thiết kế các sơ đồ cộng tác và các lớp đối tượng..................... 164 
6.2.3. Ví dụ thiết kế hệ thống bán hàng.............................................. 173 
Chương 7. Mô hình kiến trúc logic......................................................... 173 
7.1. Kiến trúc hệ thống ......................................................................... 173 
7.1.1. Định nghĩa ................................................................................ 173 
7.1.2. Phân loại kiến trúc hệ thống ..................................................... 173 
7.2. Phân tích kiến trúc ........................................................................ 173 
7.2.1. Xác định các gói ....................................................................... 174 
7.2.2. Xác định các lớp thực thể hiển nhiên ....................................... 178 
7.2.3. Xác định các yêu cầu chuyên biệt chung nhất.......................... 178 
7.3. Thiết kế kiến trúc........................................................................... 179 
7.3.1. Thiết kế cấu hình mạng cho hệ thống....................................... 179 
7.3.2. Thiết kế các hệ thống con và các giao diện của chúng............. 181 
7.3.3. Xác định các lớp thiết kế quan trọng về mặt kiến trúc ............. 185 
Chương 8. Mô hình kiến trúc vật lý ....................................................... 188 
8.1. Sơ đồ thành phần .......................................................................... 188 
8.1.1. Các thành phần trong sơ đồ ...................................................... 189 
8.1.2. Sơ đồ thành phần trong ATM................................................... 192 
8.2. Sơ đồ triển khai ............................................................................. 193 
8.2.1. Các phần tử (nút) của sơ đồ triển khai...................................... 194 
8.2.2. Sơ đồ triển khai của hệ thống ATM ......................................... 196 
Chương 9. Mô hình phân tích và thiết kế một ca sử dụng ................... 197 
9.1. Phân tích một ca sử dụng ............................................................. 197 
9.1.1. Xác định các lớp phân tích ....................................................... 197 
9.1.2. Mô tả các tương tác giữa các đối tượng phân tích.................... 200 
9.1.3. Mô tả luồng các sự kiện phân tích (flow of events-analysis) ... 201 
9.1.4. Nắm bắt các yêu cầu chuyên biệt ............................................. 202 
9.2. Thiết kế một ca sử dụng ................................................................ 203 
9.2.1. Thiết kế một ca sử dụng dưới dạng cộng tác của các lớp......... 203 
9.2.2. Thiết kế một ca sử dụng dưới dạng cộng tác 
 của các đối tượng trong các lớp................................................ 204 
9.2.3. Thiết kế một ca sử dụng dưới dạng các hệ thống con 
 tham gia cùng với các giao diện giữa chúng ............................ 206 
9.2.4. Nắm bắt các yêu cầu triển khai................................................. 208 
Chương 10. Mô hình thiết kế đối tượng ................................................. 209 
10.1. Quá trình thiết kế......................................................................... 209 
10.1.1. Các yêu cầu thông tin trong quá trình thiết kế........................ 209 
10.1.2. Các bước thực hiện thiết kế chi tiết ........................................ 210 
10.1.3. Cơ chế duy trì đối tượng......................................................... 210 
10.2. Hướng dẫn chi tiết thiết kế sơ đồ lớp.......................................... 213 
10.2.1. Rà soát, bổ sung các lớp thiết kế đã phác thảo 
 trong giai đoạn phân tích ........................................................ 213 
10.2.2. Đặc tả đầy đủ và chi tiết các thuộc tính và các thao tác 
 của mỗi lớp đã thiết kế ........................................................... 215 
10.2.3. Rà soát và bổ sung đầy đủ các liên kết giữa các đối tượng 
 và sự kết hợp giữa các lớp ...................................................... 218 
10.2.4. Bổ sung các mối quan hệ kết hợp và khả năng 
 điều khiển được ...................................................................... 218 
10.2.5. Bổ sung các quan hệ phụ thuộc dữ liệu .................................. 220 
10.2.6. Bổ sung các lớp tổng quát và các quan hệ kế thừa................. 221 
Thuật ngữ và từ viết tắt............................................................................. 229 
Tài liệu tham khảo .................................................................................... 231 
ChÞu tr¸ch nhiÖm xuÊt b¶n 
nguyÔn thÞ thu hμ 
Biªn tËp: ng« mü h¹nh 
 TrÞnh thu ch©u 
Tr×nh bμy s¸ch: bïi ch©u loan 
Söa b¶n in: TrÞnh thu ch©u 
ThiÕt kÕ b×a: trÇn hång minh 
In 700 b¶n, khæ 16 x 24 cm t¹i C«ng ty In H¶i Nam 
Sè ®¨ng ký kÕ ho¹ch xuÊt b¶n: 863-2010/CXB/5-587/TTTT 
Sè quyÕt ®Þnh xuÊt b¶n: 245/Q§-NXB TTTT ngμy 21 th¸ng 10 n¨m 2010 
In xong vμ nép l−u chiÓu th¸ng 10 n¨m 2010. 

File đính kèm:

  • pdfgiao_trinh_cac_mo_hinh_co_ban_trong_phan_tich_va_thiet_ke_hu.pdf