Bài giảng Phân tích thiết kế hướng đối tượng - Chương 4: Phân tích và thiết kế hệ thống ở trạng thái tĩnh - Lê Thị Minh Nguyện
Nội dung
1. Giới thiệu
2. Lớp, đối tượng
3. Cách tiếp cận xác định lớp
4. Lớp và đối tượng trong UML
5. Mối kết hợp (quan hệ)
6. Phân tích tĩnh
14 trang | Chuyên mục: Thiết Kế Hướng Đối Tượng Với UML | Chia sẻ: yen2110 | Lượt xem: 399 | Lượt tải: 1
Tóm tắt nội dung Bài giảng Phân tích thiết kế hướng đối tượng - Chương 4: Phân tích và thiết kế hệ thống ở trạng thái tĩnh - Lê Thị Minh Nguyện, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ept): một khái niệm là một quan niệm hoặc sự hiểu biết riêng biệt về thế giới. Lớp khái niệm bao gồm các nguyên lý được dùng để tổ chức hoặc lưu trữ các hoạt động và các trao đổi về mặt quản lý. • Ví dụ: phương pháp, hiệu băng, mô hình • Lớp sự kiện (event): • Lớp sự kiện là các thời điểm thời gian cần được lưu trữ. Các sự việc xảy ra tại một thời điểm hoặc một bước trong một dãy tuần tự các bước. • Ví dụ: đăng ký, hóa đơn, đơn hàng , phiếu nhập 3.2. Tiếp cận theo phân loại • Lớp tổ chức (Organisation): tập hợp con người, tài nguyên, phương tiện, hoặc những nhóm xác định chức năng người dùng • Ví dụ: đơn vị, bộ phận, phòng ban, chức danh. • Lớp con người (people): lớp con người thể hiện vai trò khác nhau của người dùng trong việc tương tác với hệ thống. • Ví dụ: sinh viên, khách hàng, giáo viên, nhân viên. • Vị trí (place): các vị trí vật lý mà hệ thống mô tả thông tin về nó • Ví dụ: tòa nhà, kho, văn phòng, chi nhánh, đại lý • Lớp sự vật hữu hình và thiết bị: lớp các đối tượng hoặc các nhóm của đối tượng hữu hình mà có thể cảm nhận trực quan về các thiết bị mà hệ thống tương tác. • Ví dụ: xe hơi, máy bay. 8/30/2017 5 3.2. Tiếp cận theo phân loại • Ví dụ: hệ thống ATM • Các lớp khái niệm • Các lớp sự kiện • Các lớp tổ chức: 3.2. Tiếp cận theo phân loại • Ví dụ: hệ thống ATM • Các lớp con người • Các lớp sự vật hữu hình và thiết bị 4. Lớp và đối tượng trong UML • UML thể hiện lớp bằng hình chữ nhật có 3 phần. • Phần thứ nhất chứa tên lớp. • Phần thứ hai là thuộc tính và các dữ liệu thành phần • Phần thứ ba là các phương thức hay hàm thành phần của lớp. Phân tích thiết kế hướng đối tượng 19 Visibility Public Protected Private Name Attribute Operation Lớp và đối tượng trong UML Phân tích thiết kế hướng đối tượng 20 8/30/2017 6 Các nhóm lớp • Ba nhóm lớp cơ sở sử dụng trong pha phân tích là • Boundary: lớp biên (giao diện) • Dành cho lớp nằm trên biên hệ thống với thế giới còn lại • Chúng có thể là form, report, giao diện với phần cứng như máy in, scanner... • Khảo sát biểu đồ UC để tìm kiếm lớp biên Phân tích thiết kế hướng đối tượng 21 Các nhóm lớp • Ba nhóm lớp cơ sở sử dụng trong pha phân tích là • Boundary • Entity: lớp thực thể • Lớp thực thể là lớp lưu trữ thông tin sẽ ghi vào bộ nhớ ngoài • Tìm chúng trong luồng sự kiện và biểu đồ tương tác • Thông thường phải tạo ra bảng CSDL cho lớp loại này • Mỗi thuộc tính của lớp thực thể sẽ là trường trong bảng CSDL • Control: lớp điều khiển • Có trách nhiệm điều phối hoạt động của các lớp khác • Thông thường mỗi UC có một lớp điều khiển • Nó không thực hiện chức năng nghiệp vụ nào • Các lớp điều khiển khác: điều khiển sự kiện liên quan đến an ninh và liên quan đến giao dịch CSDL Phân tích thiết kế hướng đối tượng 22 5. Mối kết hợp (Association) • Mối kết hợp (Association): là quan hệ ngữ nghĩa được thiết lập giữa hai hay nhiều lớp, biểu diễn bởi những thành phần sau: • Tên quan hệ • Vai trò quan hệ Tên vai trò Bản số Phân tích thiết kế hướng đối tượng 23 Biểu diễn Ý nghĩa Unspecified 1 chính xác 1 0..* 0 hoặc nhiều * 0 hoặc nhiều 1..* 1 hoặc nhiều 0..1 0 hoặc 1 2..4 Specified Range 2, 4..6 Multiple, Disjoint Ranges Mối kết hợp (Association) Phân tích thiết kế hướng đối tượng 24 8/30/2017 7 Mối kết hợp (Association) Phân tích thiết kế hướng đối tượng 25 Lớp kết hợp • Lớp kế hợp (Association Classes): khi một mối kết hợp có các đặc trưng (thuộc tính, hoạt động, và các mối kết hợp), chúng ta tạo một lớp để chứa các thuộc tính đó và kết nối với mối kết hợp, lớp này được gọi là lớp kết hợp Phân tích thiết kế hướng đối tượng 26 Mối kết hợp thành phần • Aggregation là kết hợp giữa tổng thể và bộ phận (Whole Parts) • Trong quan hệ này, một lớp biểu diễn cái lớn hơn còn lớp kia biểu diễn cái nhỏ hơn • Biểu diễn quan hệ has-a • Một đối tượng của lớp tổng thể có nhiều đối tượng của lớp thành phần • Có 2 loại quan hệ thành phần: • Tụ hợp • Gộp Phân tích thiết kế hướng đối tượng 27 Mối kết hợp thành phần • Tụ hợp • Tổng thể và bộ phận có thể hủy bỏ vào thời điểm khác nhau • Tên khác: quan hệ tụ hợp bởi tham chiếu (by reference) Phân tích thiết kế hướng đối tượng 28 8/30/2017 8 Mối kết hợp thành phần • Gộp: là dạng đặc biệt (mạnh hơn) của quan hệ tụ hợp • Tổng thể và thành phần được hình thành hay hủy bỏ vào cùng thời điểm • Tên khác: quan hệ tụ hợp bởi giá trị (by value) Phân tích thiết kế hướng đối tượng 29 Mối kết hợp tổng quát hóa (Generalization) • Mối kết hợp tổng quát hóa (Generalization): là mối kết hợp được thiết lập giữa một lớp tổng quát hơn đến một lớp chuyên biệt. Quan hệ này dùng để phân loại một tập hợp đối tượng thành những loại xác định hơn mà hệ thống cần làm rõ ngữ nghĩa Phân tích thiết kế hướng đối tượng 30 Kết hợp đa kế thừa • Không khuyến khích vì phức tạp Phân tích thiết kế hướng đối tượng 31 Kết hợp OR Phân tích thiết kế hướng đối tượng 32 8/30/2017 9 Xác định mối kết hợp Phân tích thiết kế hướng đối tượng 33 ??? Xác định thuộc tính • Câu hỏi • Thông tin gì về đối tượng sẽ được quản lý? • Nguyên tắc • Tên: danh từ, cụm danh từ • Đơn giản: chỉ dùng đủ thuộc tính để diễn đạt trạng thái đối tượng ở giai đoạn phân tích (thuộc tính sẽ được bổ sung chi tiết ở các giai đoạn tiếp theo) • Không quá quan tâm về việc phải khám phá hết các thuộc tính Phân tích thiết kế hướng đối tượng 34 Xác định thuộc tính Phân tích thiết kế hướng đối tượng 35 Xác định phương thức • Câu hỏi: • Các đối tượng chịu trách nhiệm xử lý gì về thông tin của nó để cung cấp dịch vụ cho hệ thống? • Nguyên tắc: • Tên: động từ + bổ từ • Chỉ quan tâm tới các phương có phạm vi toàn cục (public), các phương thức có phạm vi cục bộ (private) sẽ được phát hiện trong giai đoạn thiết kế cài đặt • Các phương thức chịu trách nhiệm về các thao tác lên các thuộc tính của đối tượng. Truy vấn, cập nhật, đọc ghi. Phân tích thiết kế hướng đối tượng 36 8/30/2017 10 Xác định phương thức • Xác định phương thức qua hoạt động use case • Phân tích các dòng thông điệp trong sơ đồ tuần tự để xem có thể chuyển một hoạt động thành một method không? • Nếu có, đặt tên cho phương thức ứng với hoạt động đó Phân tích thiết kế hướng đối tượng 37 Xác định phương thức Phân tích thiết kế hướng đối tượng 38 6. Phân tích tĩnh 1. Xác định các lớp 2. Xác định quan hệ giữa các lớp 3. Xây dựng biểu đồ lớp 4. Xác định thuộc tính lớp 5. Cập nhật bảng thuật ngữ và các yêu cầu phi chức năng (Tùy chọn) Phân tích thiết kế hướng đối tượng 39 1. Xác định các lớp Phân tích thiết kế hướng đối tượng 40 Bước 1: Xác định các lớp: • Không phải là công việc dễ dàng • Quá trình lặp đi lặp lại • Danh sách lớp sẽ thay đổi theo thời gian • Thông thường ban đầu người ta sẽ xây dựng các lớp ứng viên (candidate class) • Các lớp này là các danh từ được trích ra từ các use case scenarios 8/30/2017 11 1. Xác định các lớp Phân tích thiết kế hướng đối tượng 41 Bước 1: Xác định các lớp: Các danh từ là lớp ứng viên Tác nhân (Actor): sinh viên, giảng viên, thành viên, ... Đối tượng cụ thể trong mô tả hệ thống: tín chỉ, môn học, ... Biên (Boundary): giao diện interface (như giao diện nhập thông tin môn học) Một số kiểu dữ liệu thông dụng 1. Xác định các lớp Phân tích thiết kế hướng đối tượng 42 Bước 1: Xác định các lớp – VD: “FastData, Inc. employees may order office supplies via the Internal Web and receive a receipt confirming the order. The order must include the user name, user password, account number, and the list of supplies. A receipt must be generated containing an order number, ship date, and total cost. If the order is valid, it must be entered into an order database. If the order is invalid, an error message must be generated.” 1. Xác định các lớp Phân tích thiết kế hướng đối tượng 43 Bước 1: Xác định các lớp – VD: “FastData, Inc. employees may order office supplies via the Internal Web and receive a receipt confirming the order. The order must include the user name, user password, account number, and the list of supplies. A receipt must be generated containing an order number, ship date, and total cost. If the order is valid, it must be entered into an order database. If the order is invalid, an error message must be generated.” 1. Xác định các lớp Phân tích thiết kế hướng đối tượng 44 Bước 1: Xác định các lớp: Loại bỏ bớt các thành phần trong lớp ứng viên Các danh từ nằm ngoài miền ứng dụng Các danh từ trừu tượng (sẽ thành các thuộc tính cho các lớp) Các danh từ bị trùng lắp 8/30/2017 12 1. Xác định các lớp Phân tích thiết kế hướng đối tượng 45 Bước 1: Xác định các lớp: Các thành phần nằm trong lớp ứng viên employee item receipt order order database error message 1. Xác định các lớp Phân tích thiết kế hướng đối tượng 46 Bước 1: Xác định các lớp: 2. Xác định quan hệ giữa các lớp Phân tích thiết kế hướng đối tượng 47 Bước 2: Xác định quan hệ giữa các lớp Quan hệ: Association, Aggregation, Composition Quan hệ: Generalization, Realization Quan hệ: Dependency 2. Xác định quan hệ giữa các lớp Phân tích thiết kế hướng đối tượng 48 8/30/2017 13 3. Xây dựng biểu đồ lớp Phân tích thiết kế hướng đối tượng 49 4. Xác định thuộc tính lớp Phân tích thiết kế hướng đối tượng 50 Một số kinh nghiệm khi thiết kế: Phân tích thiết kế hướng đối tượng 51 • Tên lớp, tên diagram cần rõ ràng, có ý nghĩa • Các thành phần và quan hệ cần xác định trước • Ứng với từng class: trong giai đoạn phân tích chỉ cần xác định các thuộc tính quan trọng nhất • Sử dụng “Comment” mỗi khi cần Một số kinh nghiệm khi thiết kế: Phân tích thiết kế hướng đối tượng 52 • Quá trình trên cần được lặp lại • Ta cần phân tích và bổ sung thêm các lớp ngoài các danh từ đã được nêu trực tiếp trong bảng mô tả mà ta thấy cần thiết • Quá trình bổ sung này thường được thực hiện song song với giai đoạn phân tích động (Dynamic Analysis) 8/30/2017 14 Phân tích thiết kế hướng đối tượng 53
File đính kèm:
- bai_giang_phan_tich_thiet_ke_huong_doi_tuong_chuong_4_phan_t.pdf