Tải bản đầy đủ (.pptx) (34 trang)

Bài giảng Phân tích thiết kế hệ thống: Chương 5 - Từ Thị Xuân Hiền

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (586.55 KB, 34 trang )

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 qt 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ì 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

Ví dụ: Find() là một thơng điệp đến một tập đối tượng

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

• Ngun 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.

• Ngun 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


Package phụ thuộc

• Nếu một phần tử trong mơ hình phụ thuộc vào một phần tử khác thì giữa chúng có mối quan hệ phụ thuộc
• Một package phụ thuộc chỉ ra rằng các phần tử bên trong nó kết hợp với các phần tử trongpackage mục tiêu
• Trong UML mối quan hệ phụ thuộc được biểu diễn bằng ký hiệu:

Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền

21


Package phụ thuộc

• Ví dụ: package Sales phụ thuộc vào package Core Elements

Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền


22


Ví dụ 1

• Mơ hình package domain 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

23


Ví dụ 1

• Package Core

Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền

24


Ví dụ 1

• Package Products

Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền

25



×