chuong6sequencediagram xuanhiens weblog

43 8 0
chuong6sequencediagram xuanhiens weblog

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

• Sơ đồ tuần tự được dùng phổ biến trong biểu diện sự tương tác giữa các đối tượng, trung vào việc trao đổi thông báo theo trình tự thời gian... Sequence Diagrams.[r]

(1)

Chương 6

(2)

Các sơ đồ tương tác trong UML

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

(3)

Giới thiệu

• Có hai loại sơ đồ dùng để biểu diễn tương tác đối tượng thông điệp (messages):

• Collaboration diagrams • Sequence diagrams

(4)

Collaboration Diagrams

• Sơ đồ hợp tác - Collaboration diagrams

• Biểu diễn tương tác đối tượng mà đối tượng đặt vị trí

• Thơng điệp tương tác đánh số thứ tự thể trình tự tương tác • Ví dụ:

(5)

Collaboration Diagrams

• Ưu điểm

• Tiết kiệm khơng gian, dễ dàng thêm đối tượng vào sơ đồ • Nhược điểm

• Khó khăn việc biểu diễn thơng điệp phức tạp

(6)

Sequence Diagrams

• Sơ đồ - Sequence diagrams

• Sơ đồ dùng phổ biến biểu diện tương tác đối tượng, trung vào việc trao đổi thơng báo theo trình tự thời gian • Ví dụ:

(7)

Sequence Diagrams

• Ưu điểm

• Biểu diễn rõ ràng trình tự thơng điệp tương tác đối tượng, trường hợp phức tạp

• Nhược điểm

• Chiếm khơng gian theo chiều ngang thêm đối tượng

(8)

Các ký hiệu sơ đồ tương tác

• Lớp (Classes) thể (Instances)

• Trong UML, thể (instances) lớp (class) có ký hiệu giống Lớp, tên thể (instances) gạch chân.

• Ví dụ:

• Tên Instance sơ đồ, không đặt tên

đặt dấu : trước tên Lớp gạch chân

(9)

Các ký hiệu sơ đồ tương tác

• Ký hiệu biểu thức thơng báo (Message)

• Cú pháp chuẩn cho biểu thức thông báo UML:

• Ví dụ:

• spec := getProductSpect (id)

• spec := getProductSpect (id:ItemID)

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

(10)

Các ký hiệu collaboration diagram • Link:

• Là liên kết có hướng hai đối tượng, thể quan hệ kết hợp

• Có thể có nhiều thơng báo Link theo hai chiều • Ví dụ:

(11)

Các ký hiệu collaboration diagram • Messages to "self" or "this"

• Một thơng báo gửi từ đối tượng để • Ví dụ:

(12)

Các ký hiệu collaboration diagram • Tạo Instance

• Trong UML, quy ước thơng báo tên create dùng để tạo instance. • Thơng báo create bao gồm tham số, giá trị khởi tạo

của instance • Ví dụ:

(13)

Các ký hiệu collaboration diagram • Thơng báo có điều kiện (Conditional Messages)

• Thơng báo có điều kiện biểu diễn theo định dạng: Số thứ tự [điều kiện]

• Thơng báo gửi biểu thức điều kiện có giá trị • Ví dụ:

(14)

Các ký hiệu Sequence diagram

• Link:

• Khác với collaboration diagrams, sequence diagram không hiển thị Link đối tượng

• Thơng báo (Message)

• Được biểu diễn biểu thức thông báo đặt đường thẳng có hướng chiều truyền thơng báo

• Các thông báo theo thời gian từ xuống

(15)

Các ký hiệu Sequence diagram

• Ví dụ:

(16)

Các ký hiệu Sequence diagram

• Giá trị trả thơng báo: có cách để biểu diễn giá trị trả thơng báo

• Dùng ký hiệu

• Dùng biến chứa giá trị trả về: returnValue=message() • Ví dụ:

(17)

Các ký hiệu Sequence diagram

• Thơng báo "self" "this“:

• Thơng báo gửi từ đối tượng đến biểu diễn cách sử dụng hộp kích hoạt (activation box) lồng

(18)

Các ký hiệu Sequence diagram

• Thơng báo có điều kiện:

• Thơng báo gửi biểu thức điều kiện có giá trị • Cú pháp:

[Conditional expression] Message()

Ví dụ:

(19)

Ví dụ

• Sơ đồ hành vi Kiểm tra tài khoản

(20)

Thiết kế hướng đối tượng

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

(21)

Nguyên tắc thiết kế hướng đối tượng

• Trong giai đoạn phân tích, u cầu tốn mơ hình hóa domain model.

• Trong giai đoạn thiết kế, mục tiêu xác định lớp phần mềm gán trách nhiệm cho đối tượng cho đáp ứng u cầu tốn

• GRASP phương pháp sử dụng nguyên tắc thiết kế dựa mơ hình (patterns) gán trách nhiệm

(22)

Trách nhiệm - Responsibilities

• Trách nhiệm liên quan đến nghĩa vụ đối tượng hành vi

• Trách nhiệm gán vào lớp đối tượng suốt giai đoạn thiết kế đối tượng

• Có loại trách nhiệm • Doing

• Knowing

(23)

Trách nhiệm - Responsibilities

• Doing

• Thực cơng việc, ví dụ, tạo đối tượng, thực phép tính, … • Bắt đầu hoạt động đối tượng khác

• Kiểm sốt điều phối hoạt động đối tượng khác • Knowing

• Biết liệu đóng gói riêng • Biết đối tượng liên quan

• Biết biết thơng tin lấy tính tốn

(24)

Phương thức - Methods

• Phương thức thực để hồn thành trách nhiệm

• Trách nhiệm thực phương thức Phương thức kết hợp với phương thức khác để thực trách nhiệm

• Ví dụ

• Lớp Sale dùng nhiều phương thức hợp tác với đối tượng khác để tính total, gửi thơng báo agetSubtotal lớp SalesLineltem u cầu tính Subtotal.

(25)

Mơ hình - Patterns

• Nguyên tắc chung giải pháp đặc trưng hệ thống hóa định dạng cấu trúc mô tả vấn đề giải pháp dùng để hướng dẫn thiết kế phần mềm, gọi Mơ hình (Pattern)

• Tên mơ hình thường gồm phần: Vấn đề giải pháp

(26)

GRASP gì?

• GRASP (General Responsibility Assignment Software Patterns) • Mơ tả ngun tắc thiết kế hướng đối tượng, biểu

diễn dạng mơ hình (Patterns) • Các mẫu Grasp

• Information Expert • Creator

• High Cohesion • Low Coupling • Controller

(27)

Information Expert

• Giải pháp: Gán trách nhiệm cho lớp mà chứa thông tin cần thiết để thực trách nhiệm

• Ví dụ: domain model hệ thống máy tính tiền, lớp cần thiết để tính GrandTotal

Lớp Sale tính tổng tất các instance lớp SalesLineItem

 Gán trách nhiệm tính GrandTotal

Cho lớp Sale

(28)

Information Expert

• Ví dụ (tt):

• Thơng tin thiết để tính Subtotal quantitytrong lớp SalesLineltem

price lớp ProductSpecification

(29)

Information Expert

• Ví dụ (tt):

(30)

Creator

• Giải pháp: gán lớp B có trách nhiệm tạo thể lớp A nhiều điều sau đúng:

• B gộp đối tượng A • B chứa đối tượng A

• B ghi thể đối tượng A

• B có liệu khởi tạo thông qua A tạo

(31)

Creator

• Vấn đề: Ai phải chịu trách nhiệm cho việc tạo thể số lớp?

• Ví dụ: chịu trách nhiệm cho việc tạo thể SalesLineltem?

(32)

Creator

• Vd(tt): việc gán trách nhiệm yêu cầu phương thức

makeLineltem định nghĩa lớp Sale.

(33)

Low Coupling

• Low coupling: liên kết có độ phụ thuộc thấp, phần tử có low coupling bao gồm: classes, subsystems, systems

• Vấn đề: Làm để hỗ trợ độ phụ thuộc thấp, tác động thay đổi thấp, tăng tái sử dụng?

• Ví dụ: lớp 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 33

Payment

(34)

Low Coupling

• Ví dụ(tt): lớp thực trách nhiệm tạo thể lớp Payment?

• Lớp Register thực tạo (creating) Payment gửi thông báo addPayment(p) đến lớp Sale

(35)

Low Coupling

• Ví dụ(tt): giải pháp khác cho việc tạo thể

Payment kết hợp lớp Payment Sale

(36)

Low Coupling

• Mẫu thiết kế 1:

• Register tạo (create) thể Payment, thêm kết ghép (coupling) với Payment

• Mẫu thiết kế 2:

• Sale tạo (create) thể Payment, không làm tăng coupling.  Mẫu thiết kế thích hợp lower coupling trì

(37)

High Cohesion

• Cohesion: thiết kế hướng đối tượng, cohesion (chức gắn kết) biện pháp làm để phần tử liên quan chặt chẽ với

• Giải pháp: Gán trách nhiệm để trì kết dính cao

(38)

High Cohesion

• Ví dụ: giả sử cần tạo thể Payment kết hợp với lớp Sale Lớp thực trách nhiệm này?

• Theo mẫu create: lớp Register tạo Payment gửi thông báo

AddPayment(p) đến lớp Sale

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

(39)

High Cohesion

• Ví dụ (tt): giải pháp 2, ủy quyền trách nhiệm tạo thể

Payment cho lớp Sale.

• Thiết kế thứ hai hỗ trợ high cohesion low coupling

(40)

Controller

• Controller: điều phối, khơng thực cơng việc mà ủy thác cho đối tượng khác

• Vấn đề: Ai chịu trách nhiệm xử lý kiện đầu vào?

• Giải pháp: Gán trách nhiệm cho đối tượng đại diện cho: • Hệ thống hệ thống (subsystem)

• Một kịch Use mà xãy kiện hệ thống (use case controller)

(41)

Controller

• Ví dụ: điều khiển kiện hệ thống enterltem

endSalel

(42)

Controller

• Ví dụ (tt): theo mẫu Controller có lựa chọn

(43)

Controller

• Hệ thống nhận kiện từ bên ngoài, thường liên quan đến giao diện điều khiển người, hệ thống khác.

• Trong thiết kế đối tượng, controller pattern hướng dẫn việc lựa chọn điều khiển kiện phù hợp

• Controller nhận yêu cầu dịch vụ từ lớp giao diện phối hợp thực hiện, cách điều phối cho đối tượng khác

Ngày đăng: 20/04/2021, 01:25

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan