Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 11: Thiết kế Use Case - Trần Mạnh Tuấn

Mục tiêu

Xác định mục đích của thiết kế ca sử dụng và vị trí của

nó trong vòng đời phát triển phần mềm

 Kiểm chứng tính nhất quán trong thực thi ca sử dụng

 Làm mịn hiện thực hóa ca sử dụng từ những phân tích

ca sử dụng sử dụng Các phần tử mô hình thiết kế

pdf29 trang | Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 309 | Lượt tải: 1download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 11: Thiết kế Use Case - Trần Mạnh Tuấn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1Giáo viên: TS. Trần Mạnh Tuấn Bộ môn: Hệ thống thông tin Khoa: Công nghệ thông tin Email: tmtuan@tlu.edu.vn Điện thoai: 0983.668.841 PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN Bài 11. Thiết kế Use Case Mục tiêu 2  Xác định mục đích của thiết kế ca sử dụng và vị trí của nó trong vòng đời phát triển phần mềm  Kiểm chứng tính nhất quán trong thực thi ca sử dụng  Làm mịn hiện thực hóa ca sử dụng từ những phân tích ca sử dụng sử dụng Các phần tử mô hình thiết kế Tổng quan về thiết kế ca sử dụng 3 Supplementary Specifications Use-Case Design Use-Case Realization (Refined) Design Subsystems and Interfaces Design Classesuse-case Các bước thiết kế ca sử dụng 4  Mô tả sự tương tác giữa các đối tượng thiết kế  Đơn giản hoá biểu đồ tuần tự sử dụng hệ thống con  Mô tả các hành vi liên quan dữ liệu bền vững  Làm mịn sự mô tả luồng các sự kiện  Thống nhất các lớp và các hệ thống con Các bước thiết kế ca sử dụng 5  Mô tả sự tương tác giữa các đối tượng thiết kế  Đơn giản hoá biểu đồ tuần tự sử dụng hệ thống con  Mô tả các hành vi liên quan dữ liệu bền vững  Làm mịn sự mô tả luồng các sự kiện  Thống nhất các lớp và các hệ thống con Nhắc lại: Hiện thực hóa ca sử dụng 6 Class Diagrams Use Case Collaboration Diagrams Use-Case Model Design Model Use Case Use-Case Realization Sequence Diagrams Nhắc lại: Từ Lớp phân tích thới Phần tử thiết kế 7 Lớp phân tích Phần tử thiết kế Ánh xạ Nhiều – Nhiều > > > > Làm mịnh những hiện thực hóa ca sử dụng 8  Xác định đối tượng tham gia trong luồng các sự kiện của ca sử dụng  Phân phối trách nhiệm cho các đối tượng  Minh hoạ việc gửi thông điẹp giữa các đối tượng sử dụng các hình mũi tên  Mô tả kết quả của việc xử lý từ các thông điệp và những gì đối tượng thực hiện khi nó nhận được thông điệp  Mô hình hóa các kết hợp của các lớp Class DiagramsSequence Diagrams Các bước làm mịn sự trừu tượng hóa ca sử dụng 9  Xác định các đối tượng tham gia vào luồng sự kiện của cá sử dụng  Biểu diễn mỗi đối tượng tham gia trong một lược đồ tuần tự  Incrementally incorporate applicable architectural mechanisms Biểu diễn các hệ thống con trên lược đồ tuần tự 10  Giao diện (Interfaces)  Biểu diễn một phần tử thiết kế hiện thực hóa giao diện  Không vẽ thông điệp đi ra từ giao diện  Lớp Proxy  Biểu diễn một hệ thống con riêng biệt  Thông điệp có thể được vẽ đi ra từ proxy Object A Interface Object B 1: Message 1 2: Message 2 Object A Proxy Object B 1: Message 1 2: Message 2X Thông điệp không hợp lệ Thông điệp hợp lệ Biểu diễn các hệ thống con trên lược đồ tuần tự 11 Lớp phân tích sẽ được thay thế bởi một giao diên : Student : RegisterForCoursesForm : RegistrationController : Schedule : Student: CourseCatalogSystem Student wishes to create a new schedule 1. // create schedule( ) 1.2. // display course offerings( ) 1.1. // get course offerings( ) 1.1.1. // get course offerings(forSemester) 1.3. // display blank schedule( ) 2. // select 4 primary and 2 alternate offerings( ) 2.1. // create schedule with offerings( ) 2.1.1. // create with offerings( ) A blank schedule is displayed for the students to select offerings 2.1.2. // add schedule(Schedule) At this point, the Submit Schedule subflow is executed A list of the available course offerings for this semester are displayed Kết hợp các cơ chế kiến trúc: Bảo mật (Security) 12  Ánh xạ Lớp phân tích với Cơ chế kiến trúc từ việc phân tích ca sử dụng Lớp phân tích Cơ chế phân tích Student CourseOffering Course RegistrationController Persistency, Security Persistency, Legacy Interface Persistency, Legacy Interface Distribution Schedule Persistency, Security Chi tiết xem trong phụ lục Kết hợp các cơ chế kiến chúc: Phân tán (Distribution) 13  Ánh xạ Lớp phân tích với Cơ chế kiến trúc từ việc phân tích ca sử dụng Lớp phân tích Cơ chế phân tích Student CourseOffering Course RegistrationController Persistency, Security Persistency, Legacy Interface Persistency, Legacy Interface Distribution Schedule Persistency, Security Các bước thiết kế ca sử dụng 14  Mô tả sự tương tác giữa các đối tượng thiết kế  Đơn giản hoá biểu đồ tuần tự sử dụng hệ thống con  Mô tả các hành vi liên quan dữ liệu bền vững  Làm mịn sự mô tả luồng các sự kiện  Thống nhất các lớp và các hệ thống con Đóng gói sự các tương tác vào trong các hệ thống con 15  Sự tương tác có thể được mô tả ở một số cấp độ  Các tương tác hệ thống con có thể được mô tả trong các lược đồ tương tác của riêng chúng Nâng mức trừu tượng hóa Khi nào thì đóng gói các luồng con vào trong một hệ thống con 16 Đóng gói một luồng con vào trong một hệ thống con khi:  Xuấ hiện trong nhiều hiện thực hóa ca sử dụng  Có tiềm năng tái sử dụng  Phức tạp và dễ dàng đóng gói  Tương ứng với lượng công việc của một người hoặc một đội  Tạo ra một kế quả có cấu trúc tốt  Được đóng gói trong một thành phần mô hình cài đặt đơn lẻ (a single Implementation Model component) Hướng dẫn: Đóng gói các tương tác trong hệ thống con 17  Các hệt hống con nên được biểu diễn bởi giao diện của chúng trong các lược đồ tương tác  Thông điệp tới hệ thống con tương ứng với hoạt động (operations) của giao diện hệ thống con đó  Tương tác bên trong hệ thống con được mô hình hóa trong Thiết kế hệ thống con (Subsystem Design) > MySubsystem op1() > :InterfaceA Ưu điểm của đóng gói sự tương tác trong các hệ thống con 18 Hiện thực hóa ca sử dụng:  Hiện thực hoá (realization) ca sử dụng trở nên ít nhầm lẫn, đặc biệt với thiết kế bên trong của các hệ thống phức tạp.  Hiện thực hoá ca sử dụng có thể được tạo ra trước các thiết kế bên trong của các hệ thống con (tạo khả năng phát triển đồng thời)  Hiện thực hoá ca sử dụng trở nên dễ dàng thay đổi, đặc biệt nếu hệ thống con cần thay thế cho hệ thống con khác. Phát triển hệ thống con một cách đồng thời 19  Tập trung vào những yêu cầu ảnh hưởng tới giao diện hệ thống  Phác thảo giao diện được yêu cầu  Mô hình hóa thông điệp giữa các của các hệ thống con  Vẽ các lược đồ tương tác ở góc độ giao diện hệ thống con cho mỗi ca sử dụng  Làm mịn giao diện cần thiết để cung cấp các thông điệp  Phát triển các hệ thống con một cách song song  Refine the interfaces needed to provide messages  Develop each subsystem in parallel Sử dụng giao diện hệ thống con như điểm đồng bộ Các bước thiết kế ca sử dụng 20  Mô tả sự tương tác giữa các đối tượng thiết kế  Đơn giản hoá biểu đồ tuần tự sử dụng hệ thống con  Mô tả các hành vi liên quan dữ liệu bền vững  Làm mịn sự mô tả luồng các sự kiện  Thống nhất các lớp và các hệ thống con Mô tả hành vi liên quan tới sự bền vững 21  Mô tả hành vi liên quan tới sự bền vững  Mô hình hóa các giao dịch (Modeling Transactions)  Viết ra các đối tượng dữ liệu bền vững (Writing Persistent Objects)  Đọc đối tượng bền vững (Reading Persistent Objects)  Xóa đối tượng dữ liệu bền vững (Deleting Persistent Objects) Mô hình hóa các giao dịch 22 Giao dịch là gì?  Là việc gọi các phép toán nguyên tử (atomic operation)  “All or nothing”  Cung cấp sự nhất quán (provide consistency) Mô hình hóa các tùy chọn  Theo đúng nguyên bản (textually scripts)  Các thông điệp tường minh (explicit messages) Những điều kiện lỗi (error conditions)  Khôi phụ (Rollback)  Các chế độ lỗi (Failure mode)  Có thể đòi hỏi các lược đồ tương tác riêng biệt Kết hợp các cơ chế kiến trúc: Lưu trữ bền vững 23  Analysis-Class-to-Architectural-Mechanism Map from Use-Case Analysis Lớp phân tích Các cơ chế phân tích Student CourseOffering Course RegistrationController Lưu trữ bền vững, an ninh Lưu trữ bền vững, kế thừa giao diên Phân tán Schedule Lưu trữ bền vững, an ninh Lưu trữ bền vững, kế thừa giao diên Kế thừa giao diên (RDBMS ) sẽ được nói đến trong bài Subsystem Design. OODBMS Persistency RDBMS Persistency Các bước thiết kế ca sử dụng 24  Mô tả sự tương tác giữa các đối tượng thiết kế  Đơn giản hoá biểu đồ tuần tự sử dụng hệ thống con  Mô tả các hành vi liên quan dữ liệu bền vững  Làm mịn sự mô tả luồng các sự kiện  Thống nhất các lớp và các hệ thống con Những tùy chọn trong mô tả chi tiết luồng sự kiện 25  Chú giải về các lược đồ tương tác : Actor1 : ClassA : ClassB 1: Do Something 2: Do Something More Các kichj bản có thể được sử dụng để mô tả chi tiết xung quanh các thông điệp Chú thích có thể gồm nhiều thông tin về một phần tử mô hình cụ thể Script Note Những tùy chọn trong mô tả chi tiết luồng sự kiện 26  Chú giải về các lược đồ tương tác : Actor1 : ClassA : ClassB 1: Do Something 2: Do Something More Các kichj bản có thể được sử dụng để mô tả chi tiết xung quanh các thông điệp Chú thích có thể gồm nhiều thông tin về một phần tử mô hình cụ thể Script Note Các bước thiết kế ca sử dụng 27  Mô tả sự tương tác giữa các đối tượng thiết kế  Đơn giản hoá biểu đồ tuần tự sử dụng hệ thống con  Mô tả các hành vi liên quan dữ liệu bền vững  Làm mịn sự mô tả luồng các sự kiện  Thống nhất các lớp và các hệ thống con Những cân nhắc về việc thống nhất các mô hình thiết kế 28  Tên các phần tử mô hình nên mô tả chức năng của chúng  Hợp nhất các phần tử mô hình tương tự  Sử dụng thừa kế để trừu tượng hóa các phần tử mô hình  Giữ lại các phần tử mô hình và luồng sự kiện vững chắc (consistent) 29 Trao đổi, câu hỏi?

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_phan_tich_thiet_ke_he_thong_thong_tin_bai_11_thiet.pdf