Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 58

PHÂN TÍCH VÀ THIẾT KẾ

HƯỚNG ĐỐI TƯỢNG

BUỔI 9-10-11:
PHÂN TÍCH HƯỚNG ĐỐI TƯỢNG
PHẠM THỊ MINH THƯƠNG 1
MỤC TIÊU

Cung cấp cho sinh viên những kiến thức về:


• Các góc nhìn khác về hệ thống
• Lớp, biểu đồ lớp
• Gói, biểu đồ gói

PHẠM THỊ MINH THƯƠNG 2


NỘI DUNG

• Biểu đồ lớp?
• Các thành phần của biểu đồ lớp
• Cách xác định các thành phần
• Biểu đồ gói?

Phạm Thị Minh Thương 3


BIỂU ĐỒ LỚP
Tên lớp
Thuộc tính
• Mô tả các lớp và mối quan hệ giữa chúng
Phương thức
• Thành phần
• Lớp: là tập các đối tượng có cùng cấu trúc và hành vi Xe
• Đối tượng: là thực thể có vai trò rõ ràng trong hệ thống, có định Loại
danh, trạng thái và hành vi Người_sở_hữu
• Mối quan hệ giữa các lớp Số_đăng_ký
• Quan hệ kết hợp (Associations) Màu_xe
• Quan hệ khái quát hóa (Generalizations) Thay_đổi_tài_xế()
• Quan hệ thu nạp (Aggregations)
• Quan hệ cấu thành (Composition) Xe
Phạm Thị Minh Thương 4
THUỘC TÍNH

• Dùng để mô tả đặc trưng của đối tượng


• <phạm vi><tên thuộc tính>:<biểu thức kiểu> = <giá trị khởi tạo>
• <phạm vi>:
+ toàn cục (public)
# bảo vệ (protected)
- riêng (private)

• Bản số: là một cặp (min, max) mà thuộc tính có thể có giá trị
• VD:Số điện thoại[0..*]: string, Địa chỉ[0..1]: string

Phạm Thị Minh Thương 5


QUAN HỆ KẾT HỢP

• Là kết nối ngữ nghĩa giữa các lớp


• Bao gồm:
• Mối kết hợp nhị phân: giữa 2 lớp
• Mối kết hợp phản thân: từ một lớp đến chính nó
• Mối kết hợp đa phân: từ 3 lớp trở lên

Phạm Thị Minh Thương 6


QUAN HỆ KẾT HỢP (2)

Thành phần
• Tên quan hệ: phản ánh mục đích của mối kết hợp
• Vai trò quan hệ: mô tả ngữ nghĩa tham gia của một lớp vào mối kết hợp
• Tên vai trò
• Bản số: cặp giá trị (micard, maxcard)

Phạm Thị Minh Thương 7


QUAN HỆ KẾT HỢP (3)

Khả điều hướng


Navigable

Thể hiện đơn giản


Phạm Thị Minh Thương 8
QUAN HỆ KẾT HỢP (4)

Tổng quát
• Nếu mincard (C1, A) = 0: lớp C1 tham gia tùy ý vào mối kết hợp
• Nếu mincard (C1, A) > 0: lớp C1 tham gia bắt buộc vào mối kết hợp
• Mối kết hợp A giữa C1 và C2 là mối kết hợp max1 – max2

Phạm Thị Minh Thương 9


QUAN HỆ KẾT HỢP (5)

• Lớp kết hợp (Association Class): khi mối kết hợp có các đặc trưng riêng (thuộc
tính, phương thức, mối kết hợp)

Phạm Thị Minh Thương 10


QUAN HỆ KHÁI QUÁT HÓA

• Là quan hệ được thiết lập giữa một lớp tổng quát hơn đến một lớp chuyên biệt

Phạm Thị Minh Thương 11


QUAN HỆ KHÁI QUÁT HÓA (2)

Sự tương quan của các lớp trong quan hệ khái quát hóa
• Giữa các lớp chuyên biệt với lớp tổng quát
• Toàn phần (complete):
• Bán phần (incomplete):

• Giữa các lớp chuyên biệt


• Riêng biệt (disjoint):
• Chồng lắp (overlapping):

Sự tương quan phản ánh ràng buộc ngữ nghĩa trong tập hợp các đối
tượng của quan hệ
Phạm Thị Minh Thương 12
QUAN HỆ KHÁI QUÁT HÓA (3)

Chuyên biệt bán phần, Chuyên biệt toàn phần,


chồng lắp riêng biệt

Chuyên biệt bán phần, Chuyên biệt toàn phần,


riêng biệt chồng lắp
Phạm Thị Minh Thương 13
QUAN HỆ KHÁI QUÁT HÓA (4)

• Xét sự tương quan giữa các lớp

Chuyên biệt bán phần, chồng lắp Chuyên biệt bán phần, riêng biệt

Phạm Thị Minh Thương 14


QUAN HỆ KHÁI QUÁT HÓA (5)

• Đa kế thừa
• Phức tạp → không nên sử dụng

Phạm Thị Minh Thương 15


QUAN HỆ THU NẠP (AGGREGATION)

• Một dạng đặc biệt của quan hệ kết hợp


• Là mối quan hệ giữa tổng thể và thành phần (whole – parts)
• Một đối tượng của lớp tổng thể có nhiều đối tượng của lớp thành phần
• Tổng thể và thành phần có thể hủy bỏ vào thời điểm khác nhau

Tổng thể Thành phần


Phạm Thị Minh Thương 16
QUAN HỆ THU NẠP (2)

Chia sẽ: một đối tượng thành phần có


thể tham gia kết hợp với nhiều đối
tượng tổng thể khác nhau

Phạm Thị Minh Thương 17


QUAN HỆ CẤU THÀNH (COMPOSITION)

• Một dạng đặc biệt của quan hệ thu nạp


• Tổng thể và thành phần được hình thành và hủy bỏ cùng một thời điểm
• Một thành phần chỉ phụ thuộc vào một tổng thể duy nhất và tổng thể có trách nhiệm tạo và
hủy thành phần

Tổng thể Thành phần


Phạm Thị Minh Thương 18
QUAN HỆ CẤU THÀNH (2)

OR

AND

Phạm Thị Minh Thương 19


QUAN HỆ PHỤ THUỘC

• Là quan hệ chỉ ra một lớp tham chiếu lớp khác. Nghĩa là: Khi thay đổi phương
thức, thuộc tính lớp tham chiếu thì lớp sử dụng nó bị ảnh hưởng
• Thường trong giai đoạn thiết kế
• Ký hiệu: mũi tên đứt nét, đầu mũi tên hướng từ bên phụ thuộc sang bên độc lập

Phạm Thị Minh Thương 20


XÁC ĐỊNH CÁC THÀNH PHẦN

• Xác định lớp


• Xác định thuộc tính
• Xác định hành vi/phương thức
• Xác định mối quan hệ

Phạm Thị Minh Thương 21


XÁC ĐỊNH LỚP

Các cách tiếp cận xác định lớp đối tượng


• Tiếp cận theo thực thể nghiệp vụ
• Tiếp cận theo phân loại
• Tiếp cận theo cụm danh từ
• Tiếp cận theo phân tích hoạt động use case

Phạm Thị Minh Thương 22


TIẾP CẬN THEO THỰC THỂ NGHIỆP VỤ

• Đối với các thực thể sự vật: kiểm chứng xem có nhu cầu quản lý thông tin về thực thể
này trong hệ thống không?
• Nếu có, xác định một lớp trong sơ đồ phân tích biểu diễn cho thực thể này
• Tên lớp: tên của sự vật
• Thuộc tính: bổ sung các thuộc tính mô tả đầy đủ thông tin mà hệ thống có nhu cầu quản lý về đối tượng

Phạm Thị Minh Thương 23


TIẾP CẬN THEO THỰC THỂ NGHIỆP VỤ (2)

• Đối với các thực thể thông tin:


• Nếu thực thể mô tả thông tin về một hoạt động giao dịch của hệ thống thì chuyển thành một
lớp trong mô hình phân tích
• Nếu thực thể là một dạng thông tin tổng hợp thì có thể tách thành nhiều lớp mới hoặc bổ sung
thông tin cho các lớp đang tồn tại

Phạm Thị Minh Thương 24


TIẾP CẬN THEO THỰC THỂ NGHIỆP VỤ (3)

• Đối với các thực thể thông tin:


Hoa don

Khach hang

Mat hang

Chi tiet hoa don

Phạm Thị Minh Thương 25


TIẾP CẬN THEO THỰC THỂ NGHIỆP VỤ (4)

• Đối với thực thể thừa tác viên và các thực thể tổ chức khác

Nhân viên bán hàng


Nhân viên
Thủ kho

Khách hàng Khách hàng

Nhà cung cấp Nhà cung cấp

Phạm Thị Minh Thương 26


TIẾP CẬN THEO PHÂN LOẠI

• Dựa trên cơ sở tri thức về việc phân loại lớp theo những mẫu chung
• Lớp khái niệm (concept): Một khái niệm là một quan niệm hoặc sự hiểu biết riêng biệt
về thế giới. Lớp khái niệm bao gồm các nguyên lý được dùng để tổ chức hoặc để lưu trữ
các hoạt động và các trao đổi về mặt quản lý
• VD: Hệ thống ATM

Tài khoản

Phạm Thị Minh Thương 27


TIẾP CẬN THEO PHÂN LOẠI (2)

• Dựa trên cơ sở tri thức về việc phân loại lớp theo những mẫu chung
• Lớp sự kiện (event): là các điểm thời gian cần được lưu trữ. Các sự việc xảy ra tại một
thời điểm, hoặc một bước trong một dãy tuần tự các bước.
• VD: Hệ thống ATM

Giao dịch

Phạm Thị Minh Thương 28


TIẾP CẬN THEO PHÂN LOẠI (3)

• Dựa trên cơ sở tri thức về việc phân loại lớp theo những mẫu chung
• Lớp tổ chức (organization): là một tập hợp con người, tài nguyên, phương tiện hoặc
những nhóm xác định chức năng người dùng
• VD: Hệ thống ATM

Ngân hàng

Phạm Thị Minh Thương 29


TIẾP CẬN THEO PHÂN LOẠI (4)

• Dựa trên cơ sở tri thức về việc phân loại lớp theo những mẫu chung
• Lớp con người (people): thể hiện các vai trò khác nhau của người dùng trong việc tương
tác với ứng dụng. Nhưng đối tượng này thường là người dùng hệ thống hoặc những
người không sử dụng hệ thống nhưng thông tin về họ được lưu trữ bởi hệ thống
• VD: Hệ thống ATM

Khách hàng

Phạm Thị Minh Thương 30


TIẾP CẬN THEO PHÂN LOẠI (5)

• Dựa trên cơ sở tri thức về việc phân loại lớp theo những mẫu chung
• Lớp vị trí (place): các vị trí vật lý mà hệ thống cần lưu trữ thông tin về nó
• Sự vật hữu hình và lớp thiết bị: các đối tượng vật lý hoặc các nhóm của đối tượng hữu
hình mà có thể cảm nhận trực quan và các thiết bị mà hệ thống tương tác
• VD: Hệ thống ATM

Máy ATM

Thẻ ATM

Phạm Thị Minh Thương 31


XÁC ĐỊNH THUỘC TÍNH

• Câu hỏi:
• Thông tin gì về đối tượng sẽ được lưu trữ?
• Nguyên tắc
• Tên: danh từ, cụm danh từ
• Đơn giản: chỉ dùng đủ thuộc tính để diễn đạt trạng thái đối tượng ở giai đoạn phân tích
(thuộc tính sẽ được bổ sung chi tiết hơn ở các giai đoạn tiếp theo)
• Không quá quan tâm về việc phải khám phá hết thuộc tính
• Không quan tâm đến các thuộc tính mô tả cài đặt của đối tượng

Phạm Thị Minh Thương 32


XÁC ĐỊNH THUỘC TÍNH (2)

• Tìm kiếm thuộc tính


• Tìm các danh từ trong luồng sự kiện (tài liệu đặc tả UC)
• Tìm trong tài liệu yêu cầu hệ thống
• Tìm trong cấu trúc CSDL

Phạm Thị Minh Thương 33


XÁC ĐỊNH THUỘC TÍNH (3)

• Trong trường hợp khó khăn quyết định danh từ tìm ra là thuộc tính hay là lớp
• VD: Tên nhà sản xuất là thuộc tính hay lớp? Khách hàng
• Loại ứng dụng cụ thể quyết định việc này
tenKhachHang
• Khi kết thúc tìm kiếm thuộc tính hoKhachHang
• Đảm bảo các thuộc tính tìm được phải có ích maPin
• Gán thận trọng thuộc tính của lớp soThe
• Không nên hình thành lớp có quá nhiều hay quá ít thuộc tính

Phạm Thị Minh Thương 34


XÁC ĐỊNH HÀNH VI/PHƯƠNG THỨC

• Câu hỏi:
• Dịch vụ gì mà một lớp phải cung cấp?
• Nguyên tắc:
• Tên: động từ + bổ ngữ
• Chỉ quan tâm đến các phương thức có phạm vi toàn cục (public), các phương thức có
phạm vi cục bộ sẽ được phát hiện trong giai đoạn thiết kế cài đặt
• Các phương thức chịu trách nhiệm về các thao tác lên các thuộc tính của đối tượng: truy
vấn, cập nhật, đọc và ghi

Phạm Thị Minh Thương 35


XÁC ĐỊNH MỐI QUAN HỆ

• Xác định mối kết hợp (association)


• Một sự phụ thuộc giữa hai hay nhiều lớp có thể thiết lập thành mối kết hợp. Mối kết hợp
thường tương ứng với một động từ hoặc một cụm giới từ: thành phần của, làm việc cho,
chứa trong,…
• Một tham chiếu từ một lớp đến một lớp khác là một mối kết hợp

Phạm Thị Minh Thương 36


XÁC ĐỊNH MỐI QUAN HỆ (2)

• Xác định mối kết hợp (association)


• Mối kết hợp phản thân

Phạm Thị Minh Thương 37


XÁC ĐỊNH MỐI QUAN HỆ (3)

• Xác định mối kết hợp (association)


• Loại bỏ những mối kết hợp không cần thiết
• Mối kết hợp đa phân: phức tạp trong cách thể hiện. Nếu có thể, phát biểu lại nó dùng mối kết hợp
nhị phân

Phạm Thị Minh Thương 38


XÁC ĐỊNH MỐI QUAN HỆ (4)

• Xác định mối kết hợp (association)


• Loại bỏ những mối kết hợp không cần thiết
• Mối kết hợp trực tiếp dư thừa: là mối kết hợp được định nghĩa trong ngữ nghĩa của những mối kết
hợp khác (còn gọi là mối kết hợp suy diễn hoặc bắc cầu)

Phạm Thị Minh Thương 39


XÁC ĐỊNH MỐI QUAN HỆ (5)

• Xác định lớp kết hợp (association class)

Phạm Thị Minh Thương 40


XÁC ĐỊNH MỐI QUAN HỆ (6)

Nâng cấp mối quan hệ


Xác định mối kết hợp tổng quát-chuyên biệt
Tiếp cận trên xuống (top-down) Tiếp cận dưới lên (bottom-up)
• Từ một lớp, tìm kiếm cum danh từ • Tìm kiếm các thuộc tính và phương
chứa tên lớp thức giống nhau của các lớp
• Tìm những đặc trưng riêng của cụm • Gom nhóm và đưa các thuộc tính,
danh từ phương thức chung thành một lớp
• Nếu quyết định là một lớp thì nó là tổng quát (trừu tượng)
lớp chuyên biệt của lớp ban đầu • Tạo mối kết hợp tổng quát hóa

Phạm Thị Minh Thương 41


XÁC ĐỊNH MỐI QUAN HỆ (7)

Nâng cấp mối quan hệ


Xác định mối kết hợp tổng quát-chuyên biệt

Phạm Thị Minh Thương 42


XÁC ĐỊNH MỐI QUAN HỆ (8)

Nâng cấp mối quan hệ


Xác định mối kết hợp thành phần
• Hai đặc trưng chính
• Tính bắc cầu: nếu lớp A là một thành phần của lớp B và lớp B là thành phần của lớp C, thì lớp
A là thành phần của lớp C
• Tính phản đối xứng: nếu lớp A là thành phần của lớp B, thì lớp B không phải là thành phần
của lớp A

Phạm Thị Minh Thương 43


XÁC ĐỊNH MỐI QUAN HỆ (9)

Nâng cấp mối quan hệ


Xác định mối kết hợp thành phần
• Vật chứa: một đối tượng vật lý chứa đựng các thành phần nhưng không được cấu
tạo bởi các thành phần

Phạm Thị Minh Thương 44


XÁC ĐỊNH MỐI QUAN HỆ (10)

Nâng cấp mối quan hệ


Xác định mối kết hợp thành phần
• Tập hợp – thành viên: một đối tượng quan niệm chứa các thành phần có thể vật
lý hoặc quan niệm

Phạm Thị Minh Thương 45


XÁC ĐỊNH MỐI QUAN HỆ (11)

Nâng cấp mối quan hệ


Xác định mối kết hợp thành phần
• Tập hợp: một đối tượng được hình thành/cấu tạo từ các đối tượng thành phần
khác

Phạm Thị Minh Thương 46


BIỂU ĐỒ GÓI – PACKAGE DIAGRAM

• Gói - Package
• Biểu đồ gói

PHẠM THỊ MINH THƯƠNG 47


GÓI

• Một package là một cơ chế để tổ chức các phần tử vào thành các nhóm.
• Một phần tử trong mô hình có thể chứa các phần tử khác.
• Dùng để
• Tổ chức mô hình đang phát triển
• Một đơn vị trong quản trị cấu hình

PHẠM THỊ MINH THƯƠNG 48


BIỂU ĐỒ GÓI

• Mô tả các gói và quan hệ giữa chúng


• Quan hệ phụ thuộc:
• Quan hệ giữa hai phần tử trong mô hình mà thay đổi ở phần tử này có thể gây ra thay
đổi ở phần tử kia.

PHẠM THỊ MINH THƯƠNG 49


BIỂU ĐỒ GÓI

• Ví dụ: hệ thống quản lý thư viện có thể tổ chức thành bốn gói: gói giao diện,
gói nghiệp vụ, gói CSDL và gói tiện ích

PHẠM THỊ MINH THƯƠNG 50


THẢO LUẬN

• Hãy nêu rõ:


• Quan hệ kết hợp
• Quan hệ thu nạp/kết tập
• Quan hệ cấu thành/hợp thành

PHẠM THỊ MINH THƯƠNG 51


BÀI TẬP 1

• Hãy giải thích biểu đồ lớp sau

Phạm Thị Minh Thương 52


BÀI TẬP 2

• Vẽ mối quan hệ cho các lớp sau

Phạm Thị Minh Thương 53


BÀI TẬP 3

Vẽ biểu đồ lớp:

PHẠM THỊ MINH THƯƠNG 54


BÀI TẬP 4

Vẽ biểu đồ lớp:

PHẠM THỊ MINH THƯƠNG 55


BÀI TẬP 5

Vẽ biểu đồ lớp:
• Để hỗ trợ việc quản lý mua bán hàng hóa tại một cửa hàng, người ta xây dựng một CSDL
nhằm giúp quản lý các mặt hàng (bao gồm các thông tin: mã hàng, tên hàng, đơn vị tính, số
lượng hiện có, giá bán hiện thời), các phiếu nhập hàng (bao gồm các thông tin: số phiếu,
ngày nhập, tên nhà cung cấp), và các hóa đơn xuất hàng (bao gồm các thông tin: số hóa đơn,
ngày bán, tên người mua hàng). Ngoài ra, cần quản lý các thông tin khác như sau:
• Mỗi phiếu nhập hàng nhập những mặt hàng nào với số lượng và đơn giá tương ứng là
bao nhiêu.
• Mỗi hóa đơn xuất hàng xuất những mặt hàng nào với số lượng và đơn giá tương ứng là
bao nhiêu.

Phạm Thị Minh Thương 56


BÀI TẬP 6

Vẽ biểu đồ lớp:
• Một quỹ tín dụng cần tổ chức một cơ sở dữ liệu để quản lý hoạt động cho vay vốn đối với khách hàng. Cho biết
một số thông tin liên quan đến hoạt động của quỹ này như sau:
• Những người vay vốn được gọi là khách hàng. Mỗi một khách hàng được quản lý với các thông tin: mã khách
hàng, tên khách hàng, địa chỉ liên hệ.
• Quỹ tín dụng có các hình thức vay vốn khác nhau như vay sản xuất, vay kinh doanh, vay chăn nuôi,… Mỗi một
hình thức vay vốn được đánh một mã số duy nhất, được qui định thời gian vay tối đa (tính theo tháng) và lãi suất
hàng tháng.
• Khi khách hàng muốn vay vốn phải lập hồ sơ vay vốn. Ngoài mã hồ sơ, mỗi một hồ sơ vay vốn còn phải thể hiện
được số tiền vay, ngày bắt đầu vay, vay theo hình thức nào và là hồ sơ của khách hàng nào.
• Việc trả tiền vốn và lãi của các hồ sơ vay vốn được thực hiện theo từng tháng. Cứ đến kỳ hạn mỗi tháng, quỹ sẽ lập
phiếu thanh toán cho các hồ sơ trong đó thể hiện được các thông tin sau: mã số phiếu, ngày thanh toán, số tiền vốn,
số tiền lãi phải trả và phiếu thanh toán đó là của hồ sơ vay vốn nào.

Phạm Thị Minh Thương 57


BÀI TẬP 7

Vẽ biểu đồ lớp:
Một Trung tâm tin học cần tổ chức một cơ sở dữ liệu để quản lý việc ghi danh và nộp học phí của học viên. Cho biết
một số thông tin liên quan như sau:
• Mỗi một học viên được cấp một mã học viên duy nhất và được quản lý với các thông tin bao gồm họ tên, ngày sinh,
nơi sinh và địa chỉ.
• Mỗi một lớp học khi được mở sẽ được gán một mã lớp học. Ngoài ra, lớp học còn có các thông tin như tên lớp, ngày
khai giảng, học phí, loại chứng chỉ được đào tạo.
• Khi một học viên đăng ký học một lớp học nào đó, trung tâm cần phải biết được ngày học viên đăng ký và mức
giảm học phí áp dụng cho học viên. Hiển nhiên, một học viên có thể đăng ký học tại nhiều lớp khác nhau.
• Việc nộp học phí cho mỗi đăng ký học tại một lớp của học viên là có thể nộp trong nhiều lần khác nhau. Mỗi khi học
viên nộp học phí cho một lớp (mà học viên đã đăng ký học), trung tâm sẽ viết phiếu thu học phí, trong đó cho biết
học viên nộp học phí cho lớp nào và số tiền nộp là bao nhiêu. Ngoài ra, mỗi một phiếu thu học phí được đánh một số
phiếu duy nhất và phải cho biết ngày nộp học phí là ngày nào.

Phạm Thị Minh Thương 58

You might also like