Bài giảng môn Phân tích thiết kế hệ thống thông tin - Chương 7: Thiết kế hệ thống hướng đối tượng

Nội dung chính

1. Tổng quan về Thiết kế hướng đối tượng.

2. Thiết kế hướng đối tượng với UML

 Sơ đồ đối tượng (Object Diagram).

 Sơ đồ giao tiếp (Communication diagram)

 Sơ đồ lớp (Class Diagram).

pdf46 trang | Chia sẻ: phuongt97 | Lượt xem: 604 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng môn Phân tích thiết kế hệ thống thông tin - Chương 7: Thiết kế hệ thống hướng đối tượng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Phân Tích Thiết Kế Hệ Thống Thông Tin Thiết kế hệ thống hướng đối tượng Nguyễn Hoàng Ân - Khoa HTTTQL Nội dung chính 1. Tổng quan về Thiết kế hướng đối tượng. 2. Thiết kế hướng đối tượng với UML  Sơ đồ đối tượng (Object Diagram).  Sơ đồ giao tiếp (Communication diagram)  Sơ đồ lớp (Class Diagram). Nguyễn Hoàng Ân - Khoa HTTTQL 3 1. Tổng quan về Thiết kế hướng đối tượng Nguyễn Hoàng Ân - Khoa HTTTQL 5 Thiết kế hướng đối tượng (Object Oriented Design)  Tổ chức chương trình thành các tập hợp đối tượng cộng tác  Dựa trên kết quả của giai đoạn OOA, các quy định phi chức năng, những yêu cầu về môi trường, những yêu cầu về khả năng thực thi  Định nghĩa các chức năng, thủ tục (operations), thuộc tính (attributes), mối quan hệ giữa nhiều lớp (class)  Đưa ra các biểu đồ tĩnh và động Nguyễn Hoàng Ân - Khoa HTTTQL 6 2. Thiết kế hướng đối tượng với UML Nguyễn Hoàng Ân - Khoa HTTTQL 7 Thiết kế hướng đối tượng với UML  Sơ đồ đối tượng (Object Diagram)  Sơ đồ giao tiếp (Communication Diagram)  Sơ đồ lớp (Class Diagram) Nguyễn Hoàng Ân - Khoa HTTTQL 8 Sơ đồ lớp (Class Diagram) Nguyễn Hoàng Ân - Khoa HTTTQL 9 Sơ đồ lớp  Chỉ ra các đặc tính tĩnh của hệ thống mà không cho thấy cách thức xử lí riêng biệt  Chỉ ra tính chất tự nhiên về quan hệ của các lớp  Chỉ ra các yêu cầu về lưu trữ dữ liệu cũng như các yêu cầu xử lí Nguyễn Hoàng Ân - Khoa HTTTQL 10 Sơ đồ lớp  Lớp(Classes)  Thuộc tính (Attributes)  Private  Public  Protected  Phương thức (Methods)  Standard  Custom Nguyễn Hoàng Ân - Khoa HTTTQL 11 Nguyễn Hoàng Ân - Khoa HTTTQL 12 Ví dụ: Course Offerings Nguyễn Hoàng Ân - Khoa HTTTQL 13 Nạp chồng phương thức (Method Overloading)  Phương thức giống nhau lặp lại nhiều lần trong một lớp  Có các tham số khác nhau Nguyễn Hoàng Ân - Khoa HTTTQL 14 Các loại lớp  Thực thể (Entity classes)  Giao diện (Interface classes)  Trừu tượng (Abstract classes)  Điều khiển (Control classes) Nguyễn Hoàng Ân - Khoa HTTTQL 15 Thực thể  Thể hiện các phần tử trong thế giới thực  Các thực thể được thể hiện trên sơ đồ quan hệ thực thể (entity-relationship diagram) Nguyễn Hoàng Ân - Khoa HTTTQL 16 Interface hoặc Boundary  Cung cấp cách mà người dùng giao tiếp với hệ thống  Các giao diện người (Human interfaces) này có thể là một sự hiển thị thông tin, cửa sổ (window), Web Form, hộp thoại (dialogue box), bấm điện thoại hoặc các cách thức khác mà người dùng giao tiếp với hệ thống  Các giao diện hệ thống (System interfaces) bao gồm việc gửi dữ liệu và nhận dữ liệu từ các thành phần khác Nguyễn Hoàng Ân - Khoa HTTTQL 17 Lớp trừu tượng  Liên kết đến các lớp cụ thể trong quan hệ tổng quát/đặc thù (generalization/specialization)  Không có thể hiện (instantiate) trực tiếp Nguyễn Hoàng Ân - Khoa HTTTQL 18 Lớp kiểm soát  Dùng để kiểm soát luồng các hoạt động  Có nhiều lớp kiểm soát nhỏ có thể được dùng để tạo ra các lớp có thể dùng lại được Nguyễn Hoàng Ân - Khoa HTTTQL 19 Sơ đồ tuần tự về hoạt động của 2 trang web: Student Information, Course Information Nguyễn Hoàng Ân - Khoa HTTTQL 20 Tạo sơ đồ tuần tự  Bao gồm tác nhân từ sơ đồ use-case  Định danh một hoặc nhiều giao tiếp cho mỗi tác nhân  Mỗi use-case nên có một lớp kiểm soát  Xác định xem use-case yêu cầu các lớp thực thể nào  Sơ đồ tuần tự có thể được chỉnh sửa khi thiết kế chi tiết Nguyễn Hoàng Ân - Khoa HTTTQL 21 Tạo kế hoạch kiểm thử từ sơ đồ tuần tự  Mỗi phương thức có trả về kết quả đúng không ?  Đảm bảo các lớp thực thể lưu trữ hoặc chứa đúng các giá trị thuộc tính  Kiểm tra các đường dẫn JavaScript có làm việc đúng  Đảm bảo các lớp kiểm soát trên server làm việc đúng  Đặt câu hỏi “Liệu có thất bại không?”  Xác định xem việc gì sẽ xảy ra nếu thất bại Nguyễn Hoàng Ân - Khoa HTTTQL 22 Các quan hệ  Giữa các lớp có thể có các quan hệ:  Liên kết (Associations)  Toàn thể-bộ phận (Whole/part) Nguyễn Hoàng Ân - Khoa HTTTQL 23 Ví dụ Nguyễn Hoàng Ân - Khoa HTTTQL 24 Quan hệ liên kết  Kiểu quan hệ đơn giản nhất  Các lớp liên kết dùng để phân tán mối quan hệ nhiều-nhiều (many-many) giữa các lớp  Đối tượng trong lớp có thể có quan hệ với các đối tượng khác trong cùng lớp, gọi là liên kết phản thân (reflexive association) Nguyễn Hoàng Ân - Khoa HTTTQL 25 Quan hệ liên kết: Ví dụ Nguyễn Hoàng Ân - Khoa HTTTQL 26 Quan hệ liên kết: Ví dụ Nguyễn Hoàng Ân - Khoa HTTTQL 27 Quan hệ toàn thể-bộ phận  Khi một lớp thể hiện đối tượng toàn thể, các lớp khác thể hiện bộ phận  Phân loại:  Quan hệ bao gộp (Aggregation)  Quan hệ tập hợp (Collection)  Quan hệ kết hợp (Composition) Nguyễn Hoàng Ân - Khoa HTTTQL 28 Quan hệ bao gộp  Còn gọi là quan hệ “has a”  Cung cấp cách mà đối tượng toàn thể (whole object) kết hợp các thành phần Nguyễn Hoàng Ân - Khoa HTTTQL 29 Quan hệ tập hợp  Bao gồm toàn thể và các thành phần của nó  Thành phần có thể thay đổi nhưng toàn thể vẫn duy trì định danh của nó  Liên kết yếu Nguyễn Hoàng Ân - Khoa HTTTQL 30 Quan hệ kết hợp  Toàn thể có trách nhiệm với các thành phần của nó, và là quan hệ mạnh  Nếu toàn thể bị xóa, các thành phần cũng bị xóa Nguyễn Hoàng Ân - Khoa HTTTQL 31 Ví dụ Nguyễn Hoàng Ân - Khoa HTTTQL 32 Sơ đồ tổng quát/chuyên biệt (Generalization/Specialization)  Tổng quát (Generalization)  Kế thừa (Inheritance)  Đa hình (Polymorphism)  Lớp trừu tượng (Abstract classes)  Thông điệp (Messages) Nguyễn Hoàng Ân - Khoa HTTTQL 33 Tổng quát  Mô tả quan hệ giữa một tổng quát và chuyên biệt  Được mô tả quan hệ “is a”  Được dùng để mô hình hóa lớp kế thừa và chuyên biệt  Lớp tổng quát là lớp cha (parent), cơ sở (base) hoặc superclass  Lớp chuyên biệt là lớp con, được dẫn xuất (derived) hoặc subclass Nguyễn Hoàng Ân - Khoa HTTTQL 34 Thừa kế  Giúp dùng lại  Giúp bảo trì mã nguồn chương trình hiện tại Nguyễn Hoàng Ân - Khoa HTTTQL 35 Đa hình  Khả năng của chương trình hướng đối tượng có vài phiên bản của cùng phương thức có cùng tên trong superclass/subclass  Phương thức trong subclass ghi đè (override) phương thức trong superclass  Khi các thuộc tính hoặc phương thức được định nghĩa nhiều hơn một lần, cái chuyên biệt nhất sẽ được dùng Nguyễn Hoàng Ân - Khoa HTTTQL 36 Lớp trừu tượng  Lớp trừu tượng là lớp tổng quát  Không có đối tượng trực tiếp hoặc thể hiện của lớp và chỉ được dùng kết hợp với các lớp chuyên biệt  Thường có thuộc tính và một vài phương thức Nguyễn Hoàng Ân - Khoa HTTTQL 37 Ví dụ Nguyễn Hoàng Ân - Khoa HTTTQL 38 Tìm lớp  Thông qua phỏng vấn hoặc JAD  Phân tích tài liệu hoặc bản ghi chú  Xem xét use-case, tìm danh từ Nguyễn Hoàng Ân - Khoa HTTTQL 39 Xác định phương thức của lớp  Phương thức tiêu chuẩn  Xem xét ma trận CRUD Nguyễn Hoàng Ân - Khoa HTTTQL 40 Thông điệp  Dùng để gửi thông tin từ đối tượng của một lớp đến đối tượng của lớp khác  Hành động như một lệnh , yêu cầu lớp nhận thực hiện một việc nào đó  Bao gồm tên của phương thức lớp nhận cũng như các thuộc tính  Có thể là đầu vào hoặc đầu ra Nguyễn Hoàng Ân - Khoa HTTTQL 41 Sơ đồ đối tượng (Object Diagram) Nguyễn Hoàng Ân - Khoa HTTTQL 42 Sơ đồ lớp  Là thể hiện (instantiation) của tất cả hoặc một phần của sơ đồ lớp.  Instantiation có nghĩa là tạo ra một thể hiện của lớp (instance of the class) với các giá trị của thuộc tính tương ứng.  Dùng để khám phá các thuộc tính, quan hệ/tác vụ đặt không đúng chỗ.  Ví dụ: Thay cho class Doctor, ta tao ra một doctor thực sự như Dr. Smith, và đặt các giá trị tương ứng cho các thuộc tính Nguyễn Hoàng Ân - Khoa HTTTQL 43 Sơ đồ lớp: Ví dụ Nguyễn Hoàng Ân - Khoa HTTTQL 44 Sơ đồ giao tiếp (Communication Diagram) Nguyễn Hoàng Ân - Khoa HTTTQL 45 Sơ đồ giao tiếp  Mô tả sự tương tác của hai hoặc nhiều đối tượng trong hệ thống, trong việc thực hiện một hành vi nào đó  Chi ra thông tin giống như trong sơ đồ tuần tự nhưng khó đọc hơn  Nhấn mạnh vào việc tổ chức của các đối tượng  Được tạo ra bằng cách dùng các đối tượng, các liên kết, các thông điệp Nguyễn Hoàng Ân - Khoa HTTTQL 46 Sơ đồ giao tiếp: Ví dụ Nguyễn Hoàng Ân - Khoa HTTTQL 47 Hỏi đáp 50 Nguyễn Hoàng Ân - Khoa HTTTQL

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

  • pdfbai_giang_mon_phan_tich_thiet_ke_he_thong_thong_tin_chuong_7.pdf