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
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:
- 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.pdf