Trong bước này, người phát triển hệ thống phải xác định đầy đủ mối quan hệ giữa các lớp và các vấn đề liên quan đến các mối quan hệđó. Những công việc cụ thể
phải thực hiện trong bước này là:
- Xác định cụ thể dạng của quan hệ giữa các lớp - Xác định số lượng trong mỗi mối quan hệ
Bước 1: Xác định cụ thể dạng của quan hệ giữa các lớp
Nhưđã trình bày trong chương 2, có bốn dạng quan hệ cơ bản trong sơ đồ lớp là: quan hệ kế thừa, quan hệ kiểu kết hợp, quan hệ gộp và quan hệ phụ thuộc. Trong bước này, người phát triển phải tìm ra các quan hệ giữa các lớp và xác định cụ thể
quan hệđó thuộc dạng nào. Nếu như các danh từ giúp chúng ta tìm ra lớp thì các
động từ trong các scenario sẽ giúp chúng ta tìm ra các quan hệ. Các quan hệ sẽ được phân loại dựa trên nguyên tắc sau:
- Hai lớp có mối quan hệ kiểu kết hợp với nhau nếu các động từ trong tương tác giữa các lớp biểu hiện một sự thay thế, đại diện, sự bao hàm, sự giao tiếp, sự sở hữu hay yêu cầu thỏa mãn điều kiện nào đó.
- Quan hệ gộp thường được biểu diễn qua các động từ như: được tạo thành từ, bao gồm…
- Hai lớp có quan hệ kế thừa nếu một lớp này là khái quát hoá (trừu tượng hoá) của lớp kia.
- Hai lớp có quan hệ phụ thuộc nếu hoạt động của lớp này quyết định lớp kia. Trong hệ thống quản lý thư viện, mối quan hệ giữa các lớp Reader và Librarian với lớp Person là mối quan hệ kế thừa. Quan hệ giữa các lớp Reader và Book với lớp Borrow_Card là quan hệ kết hợp vì ta có thể biểu diễn các mối quan hệ này thông qua các câu như: để mượn sách, bạn đọc cần dùng thẻ mượn, mỗi thẻ mượn có thể mượn được một hay nhiều cuốn sách.
Bước 2: Xác định số lượng (multiplicities) trong mỗi mối quan hệ
Mỗi mối quan hệ trong sơ đồ lớp có thể có số lượng tương ứng ở đầu mỗi lớp. Số
lượng này xác định số thể hiện có thể có của lớp đó trong mối quan hệ với lớp kia. Các kiểu biểu diễn số lượng (multiplicities) được biểu diễn như trong Bảng 4.2.
Multiplicities Ý nghĩa 0..1 Không có hoặc có 1 thể hiện. Tương tựn . . m sẽ thể hiện có từ nđếnm thể hiện. 0..* hoặc * Không giới hạn số thể hiện của lớp (gồm cả giá trị 0). 1 Có chính xác 1 thể hiện 1..n Có ít nhất một thể hiện Bảng 4.2: Các kiểu biểu diễn số lượng trong biểu đồ lớp
Xem xét sơ đồ lớp phân tích đã trình bày trong chương 3, trong quan hệ giữa lớp Reader và lớp Borrow_card, mỗi bạn đọc có thể có một hoặc nhiều thẻ mượn hoặc cũng có thể không có thẻ mượn nào. Tuy nhiên, một thẻ mượn phải tương ứng với một bạn đọc nào đó. Như vậy, số lượng trong quan hệ này sẽ là: 1 ở phía Reader và 1..n ở phía Borrow_card.