Chương 7 - Thiết kế hệ thống hướng đối tượng. Chương này gồm có những nội dung chính sau: Tổng quan về thiết kế hướng đối tượng, 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).
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Phân tích thiết kế hệ thống thông tin: Chương 7 - Nguyễn Hoàng Â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).
3 Nguyễn Hoàng Ân - Khoa HTTTQL
- 1. Tổng quan về Thiết kế
hướng đối tượng
5 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
6 Nguyễn Hoàng Ân - Khoa HTTTQL
- 2. Thiết kế hướng đối
tượng với UML
7 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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)
8 Nguyễn Hoàng Ân - Khoa HTTTQL
- Sơ đồ lớp (Class Diagram)
9 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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í
10 Nguyễn Hoàng Ân - Khoa HTTTQL
- Sơ đồ lớp
Lớp(Classes)
Thuộc tính (Attributes)
Private
Public
Protected
Phương thức (Methods)
Standard
Custom
11 Nguyễn Hoàng Ân - Khoa HTTTQL
- 12 Nguyễn Hoàng Ân - Khoa HTTTQL
- Ví dụ: Course Offerings
13 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
14 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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)
15 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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)
16 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
17 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
18 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
19 Nguyễn Hoàng Ân - Khoa HTTTQL
- Sơ đồ tuần tự về hoạt động của 2 trang
web: Student Information, Course
Information
20 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
21 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
22 Nguyễn Hoàng Ân - Khoa HTTTQL