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  
MÔ HÌNH THIẾT KẾ  
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 đủ
pptx 34 trang Mãnh Khiết 12/01/2024 13860 Free
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:

  • pptxbai_giang_phan_tich_thiet_ke_he_thong_chuong_5_mo_hinh_thiet.pptx