Bài giảng Phân tích thiết kế hệ thống - Chương 5: Mô hình thiết kế cách tạo sơ đồ lớp thiết kế
Chương 5
CÁCH TẠO SƠ ĐỒ LỚP THIẾT KẾ
(DESIGN MODEL: CREATING DESIGN CLASS DIAGRAMS)
Sơ đồ lớp thiết kế (Design class diagram)
• Sơ đồ lớp thiết kế biểu diễn chi tiết của cá c lớp phần mềm và
giao diện trong một ứng dụng. Những thô ng tin tiêu biểu trong
sơ đồ lớp thiết kế bao gồm:
• Cá c lớp (classes)
• Mối quan hệ và thuộc tí nh (associations & attributes
• Giao diện và thao tá c trên giao diện (interfaces with their operations)
• Cá c phương thức (methods)
• Thuộc tí nh (attribute)
• Cá c phụ thuộc (dependencies)
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
2
Domain Model - Design Model Classes
• Domain model: cá c lớp khá i niệm đại diện cho cá c khá i niệm
trừu tượng trong thế giới thực mà người phá t triển phần mềm
đang quan tâ m.
• Mô hì nh lớp thiết kế (Design model class): lớp thiết kế đại
diện cho cá c lớp phần mềm, nó được định nghĩa như là một
thành phần của phần mềm ứng dụng.
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
3
Domain Model - Design Model Classes
• Ví dụ
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
4
Xâ y dựng sơ đồ lớp thiết kế
• Cá c bước xâ y dựng sơ đồ lớp thiết kế
• Xá c định cá c lớp phần mềm
• Xá c định cá c phương thức
• Bổ sung cá c loại thô ng tin
• Tinh chỉnh cá c mối quan hệ
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
5
Xá c định cá c lớp phần mềm
• Xá c định những lớp mà tham gia vào cá c giải phá p phần mềm.
Cá c lớp này có thể được tì m thấy bằng cá ch duyệt tất cả cá c
sơ đồ tương tá c và danh sá ch cá c lớp trong domain model.
• Tuy nhiên có những lớp trong domain model khô ng cần xuất
hiện trong sơ đồ lớp thiết kế
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
6
Xá c định cá c lớp phần mềm
• Ví dụ: Một hệ thống má y tí nh tiền được sử dụng để ghi lại
doanh thu và xử lý cá c khoản thanh toá n, được sử dụng trong
một cửa hàng bá n lẻ, hệ thống bao gồm cá c thành phần phần
cứng như má y tí nh và má y qué t mã vạch
• Hệ thống có thể giao tiếp với cá c ứng dụng khá c như má y tí nh
thuế, hệ thống kiểm soá t hàng tồn kho, kho lưu trữ sản phẩm
theo Loại sản phẩm.
• Hệ thống tự động xuất hó a đơn thanh toá n khi tất cả cá c sản
phẩm mà khá ch hàng mua được nhập vào hệ thống.
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
7
Xá c định cá c lớp phần mềm
• Ví dụ: cá c lớp khá i niệm trong domain model của hệ thống
má y tí nh tiền
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
8
Xá c định cá c lớp phần mềm
• Ví dụ: cá c lớp phần mềm trong hệ thống má y tí nh tiền
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
9
Xá c đinh phương thức
• Cá c phương thức của mỗi lớp có thể được xá c định bằng
cá ch phâ n tí ch cá c biểu đồ tương tá c.
• Nó i chung, tập hợp tất cả cá c Messages được gửi đến một lớp
X trên tất cả cá c sơ đồ tương tá c thường là cá c phương thức
của lớp X phải xá c định.
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
10
Xá c đinh phương thức
• Ví dụ: sơ đồ tương tá c của hoạt động tí nh tiền trong hệ thống
má y tí nh tiền
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
11
Xá c đinh phương thức
• Một số vấn đề với tên phương thức
• Thô ng điệp Create trong sơ đồ tương tá c, chỉ ra một đối tượng mới
được khởi tạo, khi chuyển thiết kế sang ngô n ngữ lập trì nh hướng đối
tượng, nó phải được thể hiện trong ngữ cảnh của ngô n ngữ hiện thực.
• Ví dụ: C ++, Java khô ng có phương thức create() mà là new()
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
12
Xá c đinh phương thức
• Một số vấn đề với tên phương thức
• Một thô ng điệp dạng (multiobject) truyền tới cá c đối tượng chứa bên
trong lớp đó
• Ví dụ: Find() là một thô ng điệp đến một tập đối tượng
• Vì vậy, Find() khô ng phải là một phần của lớp Productspecification;
nó là một phần của interface của multiobject. Do đó, khô ng thêm Find()
vào lớp Productspecification
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
13
Bổ sung role vào mối quan hệ
• Bổ sung điều hướng vào mối quan hệ:
• Điều hướng là một thuộc tí nh của Role, chỉ ra rằng mối quan hệ được
thực hiện từ lớp nguồn đến lớp mục tiêu.
• Ví dụ:
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
14
Bổ sung role vào mối quan hệ
• Ví dụ:
Sơ đồ lớp của hệ
thống máy tính
tiền được bổ sung
Role vào các mối
quan hệ
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
15
Sử dụng Package tổ chức domain model
• Để dễ dàng trong phần thiết kế hướng đối tượng, domain
model được tổ chức thành cá c package.
• Tổ chức domain model thành cá c package là một thủ tục phức
tạp, dựa trên hai nguyên tắc cơ bản: sự gắn kết và độc lập.
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
16
Nhó m cá c lớp vào Package
• Nguyên tắc 1: nhó m cá c lớp vào package phải thỏa cá c tiêu
chí gắn kết (coherence) sau:
• Mục tiêu: cá c lớp phải trả về cá c dịch vụ đáp ứng yêu cầu người dùng
• Ổn định: sự cô lập cá c lớp trong một package phải thực sự ổn định
trong quá trì nh phá t triển dự á n, và sau đó.
• Thời gian sống của cá c đối tượng: tiêu chí này giúp phâ n biệt được
cá c lớp mà đối tượng có thời gian sống rất khá c nhau.
• Nguyên tắc 2: nhó m cá c lớp vào package phải giảm thiểu sự
phụ thuộc (dependency) giữa cá c package
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
17
Nhó m cá c lớp vào Package
• Cá ch chọn cá c lớp vào một package cần phải:
• Có cùng chủ đề, có quan hệ chặt chẽ bởi khá i niệm hoặc mục đích
• Cùng một hệ thống phâ n cấp
• Tham gia cùng một use case
• Có quan hệ kết hợp chặt.
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
18
Nhó m cá c lớp vào Package
• Ký hiệu Package trong UML: được hiển thị như một thư mục
dạng tab, Subordinate packages có thể được hiển thị bên trong
nó .
• Tên packages
• Nếu package mô tả cá c phần tử của nó thì tên Package đặt trong tab
• Ngược lại, thì tên Package đặt trong package.
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
19
Quyền sở hữu và tham chiếu
• Quyền sở hữu:
• Một phần tử được sở hữu bởi package chứa nó .
• Tuy nhiên, Một phần tử có thể được tham chiếu đến một phần tử trong
package khá c. Trong trường hợp này, tên của phần tử được xá c định
bởi tên của package theo định dạng: PackageName::ElementName
• Ví dụ:
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích thiết kế hệ thống - Chương 5: Mô hình thiết kế cách tạo sơ đồ lớp thiết kế", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_phan_tich_thiet_ke_he_thong_chuong_5_mo_hinh_thiet.pptx

