Biểu đồ lớp
có thể chứa nhiều loại lớp khác nhau, chúng có thể là những lớp thông thường, lớp tham số hoá, lớp hiện thực, lớp tiện ích, và lớp metaclass (siêu lớp). Lớp tham số hoá ( Parameterized ...
có thể chứa nhiều loại lớp khác nhau, chúng có thể là những lớp thông thường, lớp tham số hoá, lớp hiện thực, lớp tiện ích, và lớp metaclass (siêu lớp).
Lớp tham số hoá ( Parameterized Class )
Lớp tham số hoá là lớp được sử dụng để tạo ra một họ các lớp khác. Trong những ngôn ngữ lập trình có kiểu mạnh như C++, lớp tham số hoá chính là lớp mẫu (template). Trong UML, có thể khai báo lớp tham số hoá (lớp mẫu) Set cho họ các lớp có các phần tử là kiểu T bất kỳ, được xem như là tham số như sau:

Lớp tham số hoá có thể sử dụng để thể hiện quyết định thiết kế về các giao thức trao đổi giữa các lớp. Lớp tham số hoá ít được sử dụng trong mô hình khái niệm mà chủ yếu được sử dụng trong các mô hình cài đặt, nhưng cũng chỉ khi ngôn ngữ lập trình được chọn để lập trình có hỗ trợ cơ chế lớp mẫu (template class) như C++ chẳng hạn. Cũng cần lưu ý là không phải tất cả các ngôn ngữ lập trình hướng đối tượng đều hỗ trợ kiểu lớp mẫu, ví dụ Java không hỗ trợ, nhưng tất cả các lớp trong Java lại tạo ra cấu trúc cây phân cấp có gốc là lớp Object. Do tính chất phân cấp của cây và nguyên lý chung bảo toàn mối quan hệ giữa các lớp con với lớp cha (nguyên lý thành viên và nguyên lý 100%) mà ta vẫn có thể tạo ra được những cấu trúc tổng quát, không thuần nhất tương tự như lớp mẫu [15].
Lớp hiện thực(InstantiatedClass)
Lớp hiện thực là loại lớp tham số hoá mà đối số của nó là một kiểu trị cụ thể. Như vậy, lớp tham số hoá là khuôn để tạo ra các lớp hiện thực.
Lớp Set<Complex> tập các số phức (Complex) là lớp hiện thực được biểu diễn trong UML như hình 2.
Lớp hiện thực hoá
Lớp tiện ích (Class Utility)
Lớp tiện ích là tập hợp các thao tác được sử dụng nhiều nơi trong hệ thống, chúng được tổ chức thành lớp tiện ích để các lớp khác có thể cùng sử dụng. Trong biểu đồ, lớp tiện ích được thể hiện bằng lớp có đường viền bóng như hình 3 (a).
(a) Lớp tiện ích (b) Giao diện
Giao diện(Interface)
Giao diện là tập những thao tác quan sát được từ bên ngoài của một lớp và/hoặc một thành phần, và không có nội dung cài đặt của riêng lớp đó. Giao diện thuộc quan sát logic và có thể xuất hiện trong cả biểu đồ lớp và biểu đồ thành phần với ký hiệu đồ hoạ như hình 3 (b).
MetaClass(siêu lớp)
MetaClass là lớp để tạo ra các lớp khác, nghĩa là thể hiện của nó là lớp chứ không phải là đối tượng. Lớp tham số hoá chính là một loại siêu lớp.
Mẫu rập khuôn (Stereotype) là cơ chế mở rộng các phần tử của mô hình để tạo ra những phần tử mới. Nó cho phép dễ dàng bổ sung thêm các thông tin cho các phần tử của mô hình và những phần tử này được đặc tả trong các dự án hay trong quá trình phát triển phần mềm. Nó được sử dụng để phân loại các lớp đối tượng.
Rational Rose đã xây dựng một số stereotype như <<boundary>>, <<entity>>, <<control>>, <<interface>>, v.v., ngoài ra chúng ta có thể định nghĩa những loại kiểu mới cho mô hình hệ thống.
Lớp biên(EntityClass)
Lớp biên là lớp nằm trên đường biên của hệ thống với phần thế giới bên ngoài. Nó có thể là biểu mẫu (form), báo cáo (report), giao diện với các thiết bị phần cứng như máy in, máy đọc ảnh (Scanner), v.v. hoặc là giao diện với các hệ thống khác. Trong UML, lớp biên được ký hiệu .
Để tìm lớp biên hãy khảo sát biểu đồ ca sử dụng, một tác nhân có thể xác định tương ứng một lớp biên. Nếu có hai tác nhân cùng kích hoạt một ca sử dụng thì chỉ cần tạo ra một lớp biên cho cả hai.
Lớp thực thể(ControlClass)
Lớp thực thể là lớp lưu giữ các thông tin mà nó được ghi vào bộ nhớ ngoài.
Lớp SinhVien là lớp thực thể. Trong UML, lớp thực thể được ký hiệu như trong hình 4 (b).
Lớp thực thể có thể tìm thấy trong các luồng sự kiện và biểu đồ tương tác. Thông thường phải tạo ra các bảng dữ liệu trong CSDL cho mỗi lớp thực thể. Mỗi thuộc tính của lớp thực thể trở thành trường dữ liệu trong bảng dữ liệu.
Lớp điều khiển
Lớp điều khiển là lớp làm nhiệm vụ điều phối hoạt động của các lớp khác. Thông thường mỗi ca sử dụng có một lớp điều khiển để điều khiển trình tự các sự kiện xảy ra trong nó.
Lớp điều khiển không tự thực hiện các chức năng nghiệp vụ của hệ thống, nhưng chúng lại gửi nhiều thông điệp cho những lớp có liên quan, do vậy còn được gọi là lớp quản lý.Trong UML, lớp điều khiển được ký hiệu như trong hình 4(c).
(a) Lớp biên (b) Lớp thực thể (c) Lớp điều khiển
Trong số những quan hệ kết hợp đã phát hiện ở mục trên, dễ nhận thấy lớp DanhMucMatHang chứa các MoTaMatHang, do vậy giữa hai lớp này có quan hệ kết nhập. Tương tự, trong mỗi PhienBanHang có một số DongBanHang, nghĩa là giữa hai lớp này cũng sẽ có quan hệ kết nhập. Kết hợp tất cả các mối quan hệ giữa các lớp như đã phân tích ở trên, chúng ta xây dựng được biểu đồ lớp như sau:
