Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 11: Giai đoạn phân tích hướng đối tượng

? Tốt hơn đặc tả (phân tích) cấu trúc

? Là kỹ thuật đặc tả bán hình thức trong các kỹ thuật h-ớng đối t-ợng

? UML (unified modeling language)

? Có 3 b-ớc chính

? mô hình các tr-ờng hợp sử dụng

? mô hình lớp

? mô hình động

pdf12 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1893 | Lượt tải: 5download
Tóm tắt nội dung Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 11: Giai đoạn phân tích hướng đối tượng, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Huỳnh Xuân Hiệp - CNPM 
126
11 
giai đoạn
phân tích h−ớng đối t−ợng
(OBJECT-ORIENTED ANALYSIS PHASE)
Nội dung: 
ƒ Khái quát chung 
ƒ Mô hình các tr−ờng hợp sử dụng 
ƒ Mô hình lớp 
ƒ Mô hình động 
Huỳnh Xuân Hiệp - CNPM 
127
10.1 Khái quát chung
(overview)
ƒ Tốt hơn đặc tả (phân tích) cấu trúc 
ƒ Là kỹ thuật đặc tả bán hình thức trong các kỹ thuật h−ớng đối t−ợng 
ƒ UML (unified modeling language) 
ƒ Có 3 b−ớc chính 
‰ mô hình các tr−ờng hợp sử dụng 
‰ mô hình lớp 
‰ mô hình động 
Huỳnh Xuân Hiệp - CNPM 
128
10.2 Mô hình các tr−ờng hợp sử dụng
(use-case modeling)
ƒ Xác định các chức năng của sản phẩm, cung cấp cái nhìn trên tổng thể 
các chức năng cho nên còn đ−ợc gọi là mô hình chức năng 
ƒ Thể hiện sự t−ơng tác giữa các lớp trong sản phẩm với ng−ời sử dụng 
ƒ Trình bày d−ới 2 dạng 
‰ sơ đồ tr−ờng hợp sử dụng 
‰ các kịch bản kết hợp 
ƒ Kịch bản là thể hiện của tr−ờng hợp sử dụng 
nhấn nút thang máy 
nhấn nút h−ớng tầng 
Thang máy 
Ng−ời sử dụng 
Hình 11.1 Các tr−ờng hợp sử dụng trong bài toán 
thang máy 
Huỳnh Xuân Hiệp - CNPM 
129
1. Ng−ời A nhấn nút UP tại tầng 3 để yêu cầu thang máy. Ng−ời A muốn đi đến tầng 7. 
2. Nút UP sáng lên. 
3. Một thang máy đến tầng 3. Trong thang máy này có ng−ời B vào thang máy từ tầng 1 và đi 
đến tầng 9. 
4. Nút UP tắt. 
5. Thang máy mở cửa, ng−ời A vào thang máy. 
6. Ng−ời A nhấn nút đi tầng 7. 
7. Nút tầng 7 sáng lên. 
8. Cửa thang máy đóng. 
9. Thang máy đi đến tầng 7. 
10. Nút tầng 7 tắt. 
11. Cửa thang máy mở cho phép ng−ời A đi ra khỏi thang máy. 
12. Bộ định thời hoạt động. ng−ời A đi ra ngoài. 
13. Cửa thang máy đóng lại sau khi đã hết thời gian. 
14. Thang máy tiếp tục đi đến tầng 9 với ng−ời B. 
 Hình 11.2 Một kịch bản thông th−ờng 
Huỳnh Xuân Hiệp - CNPM 
130
1. Ng−ời A nhấn nút UP tại tầng 3 để yêu cầu thang máy. Ng−ời A muốn đi đến tầng 1. 
2. Nút UP sáng lên. 
3. Một thang máy đến tầng 3. Trong thang máy này có ng−ời B vào thang máy từ tầng 1 và đi 
đến tầng 9. 
4. Nút UP tắt. 
5. Thang máy mở cửa, ng−ời A vào thang máy. 
6. Ng−ời A nhấn nút đi tầng 1. 
7. Nút tầng 1 sáng lên. 
8. Cửa thang máy đóng. 
9. Thang máy đi đến tầng 9. 
10. Nút tầng 9 tắt. 
11. Cửa thang máy mở cho phép ng−ời B đi ra khỏi thang máy. 
12. Bộ định thời hoạt động. ng−ời B đi ra ngoài. 
13. Cửa thang máy đóng lại sau khi đã hết thời gian. 
14. Thang máy tiếp tục đi đến tầng 1 với ng−ời A. 
 Hình 11.3 Một kịch bản không thông th−ờng 
Huỳnh Xuân Hiệp - CNPM 
131
10.3 Mô hình lớp
(class modeling)
ƒ Tách ra các lớp và các thuộc tính và thể hiện bằng sơ đồ thực thể-quan hệ 
ƒ Tách tên (noun extraction), nhằm chỉ ra các lớp có thể có với 3 b−ớc sau: 
‰ định nghĩa súc tích vấn đề: định nghĩa sản phầm trên những nét 
chính nhất với những câu đơn. 
VD: Các nút trong các thang máy và tại các tầng điều khiển sự di chuyển n thang 
máy của tòa nhà m tầng. 
‰ chiến l−ợc không hình thức: lấy ra các ràng buộc một cách không 
hình thức để giải quyết vấn đề 
VD: Các nút dùng trong các thang máy và tại các tầng điều khiển sự di chuyển n 
thang máy của tòa nhà m tầng. Các nút sẽ sáng lên khi đ−ợc nhấn với yêu cầu một 
thang máy dừng tại tầng xác định nào đó và ánh đèn tắt đi khi yêu cầu đã đ−ợc đáp 
ứng. Khi một thang máy không có yêu cầu nào thì dừng tại tầng hiện hành với các cửa 
đóng. 
Huỳnh Xuân Hiệp - CNPM 
132
‰ hình thức hóa chiến l−ợc: xác định các tên trong chiến l−ợc không 
hình thức (kể các các nội dung nằm ngoài biên vấn đề) và sử dụng 
các tên nh− là các ứng cử viên cho các tên lớp 
VD: Các nút dùng trong các thang máy và tại các tầng điều khiển sự di chuyển n 
thang máy của tòa nhà m tầng. Các nút sẽ sáng lên khi đ−ợc nhấn với yêu cầu một 
thang máy dừng tại tầng xác định nào đó và ánh đèn tắt đi khi yêu cầu đã đ−ợc đáp 
ứng. Khi một thang máy không có yêu cầu nào thì dừng tại tầng hiện hành với các 
cửa đóng. 
 Nút 
 sáng lên: boolean 
Nút trong thang máy Nút tại các tầng 
m 2m-2 
giao tiếp với giao tiếp với 
 n Thang máy 1 
 cửa mở: boolean 
Hình 11.4 Sơ đồ lớp đầu tiên 
Huỳnh Xuân Hiệp - CNPM 
133
 Nút 
 sáng lên: boolean 
Nút trong thang máy Nút tại các tầng 
m 2m-2 
giao tiếp với giao tiếp với 
 n Bộ điều khiển thang máy 1 
 1 
 điều khiển 
 n 
 Thang máy 
 cửa mở: boolean 
Hình 11.5 Sơ đồ lớp thứ hai 
Huỳnh Xuân Hiệp - CNPM 
134
ƒ Khung lớp trách nhiệm và hợp tác (class-responsibility-collaboration CRC) 
do nhóm phát triển điền vào: 
‰ tên lớp 
‰ các chức năng (trách nhiệm) 
‰ danh sách các lớp gọi các chức năng này (hợp tác) 
Phân tích: 
‰ −u điểm: 
- đ−ợc thực hiện bởi một nhóm làm việc do đó giảm thiểu các thiết 
sót hay các mục không chính xác trong lớp; 
- dễ dàng xác định sơ đồ lớp có đầy đủ và chính xác hay ch−a; 
- rất tốt trong việc xác định các chức năng và khả năng hợp tác 
giữa các lớp. 
‰ nh−ợc điểm: không phải là cách tìm lớp tốt nếu nh− nhóm làm việc 
ch−a có kinh nghiệm trên các lĩnh vực liên quan; 
Huỳnh Xuân Hiệp - CNPM 
135
LớP 
Bộ điều khiển thang máy 
trách nhiệm 
1. Bật nút trong thang máy 
2. Tắt nút trong thang máy 
3. Bật nút tại tầng 
4. Tắt nút tại tầng 
5. Mở cửa thang máy 
6. Đóng cửa thang máy 
7. Di chuyển thang máy lên một tầng 
8. Di chuyển thang máy xuống một tầng 
hợp tác 
1. Lớp Nút trong thang máy 
2. Lớp Nút tại các tầng 
3. Lớp Thang máy 
Hình 11.6 CRC đầu tiên của lớp Bộ điều khiển thang máy 
Huỳnh Xuân Hiệp - CNPM 
136
10.4 Mô hình động
(dynamic modeling)
ƒ Xây dựng sơ đồ trạng thái, là việc mô tả sản phẩm d−ới dạng mô hình 
trạng thái hữu hạn 
‰ trạng thái 
‰ sự kiện 
‰ vị từ 
ƒ Thực hiện trên từng lớp 
ƒ T−ơng tự FSM 
Hình 11.7 Sơ đồ trạng thái cho lớp Bộ điều khiển thang máy 
Huỳnh Xuân Hiệp - CNPM 
137
Lặp trên bộ điều khiển thang máy 
[không có yêu cầu, cửa đóng][nút đ−ợc nhấn, đèn nút sáng]
Xác định nếu có yêu cầu dừng lại 
do/ kiểm chứng yêu cầu 
Tắt nút tại tầng 
do/ tắt nút tại tầng 
Xử lý yêu cầu tiếp theo 
do/ dịch chuyển thang máy một tầng theo h−ớng 
yêu cầu tiếp theo 
Tắt nút thang máy 
do/ tắt nút trong thang máy 
Dừng tại tầng 
do/ dừng thang máy 
do/ mở cửa 
do/ cập nhật yêu cầu 
Tiếp tục di chuyển 
do/ di chuyển thang máy 
một tầng theo h−ớng d 
Xử lý yêu cầu 
do/ cập nhật yêu cầu 
do/ bật nút 
Đi vào trạng thái chờ 
do/ đóng cửa thang máy sau khi hết thời gian 
[thang máy dừng, không có yêu cầu ]
Đóng cửa thang máy 
do/ đóng cửa thang máy sau khi hết thời gian 
[nút tầng không sáng]
[nút tầngsáng]
[thang máy dừng, 
có yêu cầu ] 
[nút đ−ợc nhấn, nút không sáng] 
[nút thang máy 
không sáng] 
[nút thang máy sáng]
[không có yêu cầu dừng tại tầng f] [ng−ời dùng đã yêu cầu 
dừng tại tầng f 

File đính kèm:

  • pdfBài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 11 Giai đoạn phân tích hướng đối tượng.pdf