Giới thiệu
Tổng quan
UML 2.0 phân loại các sơ đồ thành hai nhóm chính:
| Loại | Mục đích |
|---|---|
| Sơ đồ cấu trúc | Ghi lại tổ chức vật lý của các thành phần—cách các đối tượng liên hệ với nhau |
| Sơ đồ hành vi | Tập trung vào cách các thành phần tương tác, thay đổi trạng thái và xử lý hành vi theo thời gian |
💡 Nguyên tắc chính: Một mô hình UML bao gồm một hoặc nhiều sơ đồ. Mỗi sơ đồ đại diện cho một góc nhìn hoặc lợi ích trong hệ thống đang được mô hình hóa. Các thành phần riêng lẻ thường xuất hiện trên nhiều sơ đồ khác nhau.
🔷 Sơ đồ cấu trúc
Các sơ đồ cấu trúc mô hình hóa kiến trúc tĩnh của hệ thống bạn—điều gì chứ không phải cách thức.
1. Sơ đồ lớp
Mục đích: Các lớp mô hình, giao diện và các mối quan hệ tĩnh của chúng.
Các thành phần chính:
-
Các lớp với thuộc tính và thao tác
-
Giao diện và các mối quan hệ thực hiện
-
Các mối quan hệ liên kết, tổng hợp, kết hợp và khái quát hóa
-
Các bộ chọn tính khả kiến (
+,-,#,~) -
Các thông số bội số (
1,0..*,1..5)
Ví dụ sử dụng:Khi nào nên sử dụng:
Các kiểu dáng và loại lớp
Sơ đồ sử dụng các kiểu dáng (được chỉ ra bằng văn bản bên trong các dấu ngoặc chéo, như <<entity>>) để phân loại vai trò của mỗi lớp:
-
Lớp ranh giới (
<<ranh giới>>): Chúng xử lý tương tác giữa hệ thống và các tác nhân của nó (người dùng hoặc các hệ thống bên ngoài). -
Ví dụ:
Cửa sổBảngĐiềuKhiểnvàHộpThoại. -
Lớp điều khiển (
<<điều khiển>>): Chúng quản lý sự phối hợp, giao dịch và luồng logic kinh doanh của ứng dụng. -
Ví dụ:
Bối cảnhVẽvàBộĐiềuKhiểnDữLiệu. -
Lớp thực thể (
<<thực thể>>): Chúng đại diện cho dữ liệu cốt lõi hoặc thông tin bền vững mà hệ thống theo dõi. -
Ví dụ:
Khung,Cửa sổ,Sự kiện,Hình dạng,Hình tròn,Hình chữ nhật,Đa giác, vàĐiểm. -
Lớp trừu tượng: Lớp
Hình dạnglớp đại diện cho một khái niệm trừu tượng. Nó đóng vai trò là bản vẽ cơ sở cho các hình dạng cụ thể và không thể được khởi tạo trực tiếp.
Cấu tạo của một lớp
Một hộp lớp UML tiêu chuẩn được chia thành các ngăn. Nhìn vào lớp Hình tròn lớp như một ví dụ:
-
Tên lớp: Nằm ở ngăn trên (
Hình tròn). -
Thuộc tính: Nằm ở ngăn giữa, đại diện cho các trường dữ liệu.
-
-bán kính : float(Dấu trừ-chỉ ra một thuộc tính riêng tư). -
-tâm : unsigned int -
Thao tác (Phương thức): Nằm ở ngăn dưới, đại diện cho các hành vi hoặc hàm.
-
+area(bán kính : float) : double(Dấu cộng+chỉ ra một phương thức công khai). -
+chuVi(),+thietLapTam(), và+thietLapBanKinh().
Mối quan hệ và liên kết
Các đường và mũi tên kết nối các lớp xác định cách chúng tương tác và phụ thuộc lẫn nhau:
Tổng quát hóa (Kế thừa)
Được biểu diễn bằng một đường liền với một đầu mũi tên rỗng chỉ về phía lớp cha. Điều này cho thấy mối quan hệ “là một” trong đó lớp con kế thừa thuộc tính và hành vi từ lớp cha.
-
Cửa sổkế thừa từKhung. -
Cửa sổ bảng điều khiểnvàHộp thoạikế thừa từCửa sổ. -
Hình tròn,Hình chữ nhật, vàĐa giáckế thừa từ lớp trừu tượngHình dạng(Ví dụ: một Hình tròn là một Hình dạng).
Tổ hợp
Được biểu diễn bằng một đường liền với một hình kim cương rỗng ở đầu chứa. Điều này cho thấy mối quan hệ “có-một” lỏng lẻo hoặc mối quan hệ toàn thể-phần, nơi phần con có thể tồn tại độc lập với phần cha.
-
Cửa sổtổ hợpHình dạng(số lượng1đến*). MộtCửa sổcó thể chứa nhiều hơn một (*) hình dạng, nhưng nếu cửa sổ bị đóng lại, các hình dạng vẫn có thể tồn tại về mặt khái niệm trong bộ nhớ hoặc bối cảnh khác.
Thành phần
Được biểu diễn bằng một đường liền với một hình kim cương đầy (đen) ở đầu chứa. Điều này cho thấy mối quan hệ “có-một” mạnh mẽ với thời gian sống đồng bộ – nếu container bị phá hủy, các phần cũng sẽ bị phá hủy theo.
-
Hình trònđược tạo thành từĐiểmđối tượng (số lượng1với*). Một hình tròn không thể tồn tại nếu không có tâm hoặc các điểm biên; việc phá hủy hình tròn sẽ làm mất các tham chiếu điểm cụ thể này.
Sự phụ thuộc
Được biểu diễn bằng một mũi tên đứt đoạn. Nó cho thấy rằng một lớp phụ thuộc vào lớp khác, nghĩa là một thay đổi đối với lớp mục tiêu có thể ảnh hưởng đến lớp nguồn.
-
Cửa sổcó sự phụ thuộc vàoSự kiện(được chỉ ra bởi mũi tên đứt đoạn hướng tớiSự kiện). Cửa sổ phụ thuộc vào các sự kiện kích hoạt để thực hiện các thao tác nhưhandleEvent().
Sự liên kết
Được biểu diễn bằng một đường liền đơn giản. Nó cho thấy mối quan hệ cấu trúc nơi các đối tượng của một lớp được kết nối với các đối tượng của lớp khác.
-
Hộp thoạiđược liên kết vớiBộ điều khiển dữ liệu, nghĩa là chúng giao tiếp với nhau để trao đổi thông tin hoặc phối hợp hành vi.
Các thành phần tài liệu
-
Ghi chú: Sơ đồ có một hộp ghi chú với góc gấp được nối với lớp
Cửa sổlớp. Nó cung cấp ngữ cảnh dễ đọc cho con người: “Cửa sổ chính của ứng dụng.”

-
Thiết kế kiến trúc phần mềm hướng đối tượng
-
Tài liệu hóa các mô hình miền
-
Tạo khung mã nguồn
2. Sơ đồ thành phần
Mục đích: Hiển thị tổ chức và mối quan hệ phụ thuộc của các đơn vị triển khai.
Các yếu tố chính:
-
Thành phần (được định nghĩa bằng kiểu
«component») -
Giao diện cung cấp/yêu cầu (ký hiệu bóng và ổ cắm)
-
Các kết nối lắp ráp và mối quan hệ phụ thuộc
-
Nghề nghiệp (đầu ra đã biên dịch: JAR, DLL, tập thực thi)
Ví dụ sử dụng:Khi nào nên sử dụng:
Thành phần và ranh giới mô-đun
Ở trung tâm của sơ đồ là khái niệm về một thành phần, một đơn vị độc lập và mô-đun của hệ thống, bao bọc nội dung của nó và thể hiện hành vi thông qua các giao diện rõ ràng. Biên giới lớn bên ngoài đại diện cho thành phần Terminal thành phần, đóng vai trò như một hệ con hoặc hộp chứa. Bên trong hộp chứa này là các thành phần nội bộ nhỏ hơn, chuyên biệt—chẳng hạn nhưSafetyInspection, Staff, Defect, và Map. Mỗi đơn vị nội bộ này đại diện cho một phần mềm mô-đun hoặc logic quản lý dữ liệu hoạt động cùng nhau để thực hiện các trách nhiệm của Terminal.
Giao diện như hợp đồng
Các thành phần không công khai logic nội bộ của chúng trực tiếp; thay vào đó, chúng tương tác thông qua các giao diện được định nghĩa rõ ràng, đóng vai trò như các hợp đồng kiến trúc.
-
Các giao diện được cung cấp:Được biểu diễn bằng biểu tượng “kẹo mút” hoặc hình tròn, những giao diện này cho thấy các dịch vụ, dữ liệu hoặc thao tác mà một thành phần triển khai và cung cấp cho môi trường xung quanh. Ví dụ, thành phần Terminal bên ngoài phơi bày các giao diện được cung cấp bên ngoài như Trạng thái, Chi tiết, và Mục kiểm tra, cho thấy những gì khách hàng bên ngoài có thể yêu cầu từ nó.
-
Các giao diện cần thiết:Được biểu diễn bằng biểu tượng “ổ cắm” hoặc hình bán nguyệt, những giao diện này xác định các dịch vụ hoặc dữ liệu mà một thành phần cần từ một thực thể khác để hoạt động đúng cách. Ở phía bên phải sơ đồ, thành phần Terminal phơi bày rõ ràng các giao diện cần thiết cho Tài khoản và ID Kiểm tra, cho thấy sự phụ thuộc của nó vào các hệ thống bên ngoài.
Các cổng và dây nối nội bộ
Để quản lý luồng dữ liệu và điều khiển trong khi duy trì tính đóng gói, hệ thống sử dụng các cổng và mối quan hệ ủy quyền.
-
Cổng: Những hình vuông nhỏ nằm trên biên của các thành phần đại diện cho các cổng. Chúng hoạt động như các điểm tương tác riêng biệt, thông qua đó cấu trúc nội bộ của thành phần kết nối với thế giới bên ngoài. Các cổng cho phép một thành phần tách biệt dây nối nội bộ khỏi môi trường bên ngoài, nghĩa là các thành phần nội bộ có thể được thay thế hoặc sửa đổi mà không làm thay đổi cách thành phần cha xuất hiện đối với bên ngoài.
-
Ủy quyền và Lắp ráp:Bên trong Terminal, các đường nối kết các giao diện này để tạo thành cấu trúc lắp ráp. Một giao diện được cung cấp trên cổng bên ngoài ủy quyền các yêu cầu đến trực tiếp đến giao diện được cung cấp của thành phần nội bộ (như được thấy với các đường dẫn Trạng thái và Chi tiết dẫn vào Kiểm tra An toàn). Ngược lại, các thành phần nội bộ nối các giao diện ổ cắm cần thiết trực tiếp vào các giao diện kẹo mút được cung cấp của các thành phần kề bên. Ví dụ, thành phần Kiểm tra An toàn phụ thuộc vào giao diện Kiểm tra viên được cung cấp bởi Nhân viên, cái Chi tiết lỗi giao diện được cung cấp bởi Lỗi, và cái Vị trí giao diện được cung cấp bởi Bản đồ, tạo ra một hệ sinh thái nội bộ được phối hợp chặt chẽ nhưng liên kết lỏng lẻo.

-
Lên kế hoạch kiến trúc hệ thống theo mô-đun
-
Quản lý các phụ thuộc xây dựng
-
Tài liệu hóa các thư viện thành phần có thể tái sử dụng
3. Sơ đồ cấu trúc hợp thành(Được thêm vào UML 2.0)
Các yếu tố chính:
-
Các bộ phận (các thuộc tính có mối quan hệ toàn bộ-bộ phận)
-
Các cổng (điểm tương tác với các giao diện cung cấp/yêu cầu)
-
Các kết nối (các liên kết thời gian chạy giữa các bộ phận)
-
Các lần xuất hiện hợp tác
Ví dụ sử dụng: Mô hình hóa một Xe hơi:
Phân loại bao bọc (Lớp)
Hình chữ nhật bên ngoài đại diện cho phân loại chứa, trong trường hợp này là Xe hơi lớp. Trong sơ đồ cấu trúc hợp thành, ranh giới này hoạt động như một hộp chứa bao bọc cấu hình thời gian chạy nội bộ của hệ thống. Nó xác định bối cảnh trong đó các thể hiện riêng lẻ phối hợp với nhau để đạt được mục đích hành vi rộng hơn, che giấu độ phức tạp về cách một chiếc “Xe hơi” hoạt động bên trong đối với các thực thể bên ngoài.
Các bộ phận (Cấu trúc bên trong)
Các hình chữ nhật bên trong ranh giới Xe hơi đại diện choCác bộ phận. Một bộ phận giải thích vai trò do một tập hợp các thể hiện thực hiện trong quá trình thực thi bộ phân loại chứa nó. Thay vì hiển thị mối quan hệ tĩnh thời điểm biên dịch (giống như sơ đồ lớp tiêu chuẩn), các bộ phận này chỉ ra các thể hiện thời gian chạy lấp đầy các vị trí kiến trúc cụ thể:
-
-t : Hộp số: Một thể hiện đóng vai trò hệ thống hộp số. -
-e : Động cơ: Một thể hiện đóng vai trò nguồn năng lượng động cơ. -
-s : Hệ thống lái: Một thể hiện đóng vai trò cơ cấu lái.
Ký hiệu dấu hai chấm cho thấy đây là các vai trò cấu trúc được định kiểu bởi các lớp tương ứng, xác định chính xác những thành phần nào phải tồn tại bên trong một chiếc Xe hơi hoạt động.
Cổng và ranh giới
Những hình vuông nhỏ được nhúng trên cả ranh giới bộ phân loại bên ngoài và ranh giới các bộ phận bên trong đại diện choCổng. Cổng là các điểm tương tác riêng biệt tách biệt cấu trúc bên trong của một bộ phân loại khỏi môi trường bên ngoài của nó.
-
Các cổng bên ngoài trên ranh giới Xe hơi—ví dụ như
: Bánh xe,: Bàn đạp ga, và: Vô lăng—cho thấy cách Xe hơi tương tác với thế giới bên ngoài hoặc môi trường vật lý mà không tiết lộbộ phận nào bên trongđang xử lý những tương tác đó. -
Các cổng trên các bộ phận bên trong (như các cổng trên khối Hộp số hoặc Động cơ) điều khiển cách các hệ thống con này giao tiếp với nhau hoặc với ranh giới cha.
Các kết nối và dây dẫn bên trong
Những đường nét liền nối các cổng với nhau đại diện choCác kết nối. Các kết nối xác định các con đường truyền thông giữa các bộ phận hoặc giữa một bộ phận và một cổng bên ngoài trong thời gian chạy.
-
Các kết nối ủy quyền:Kết nối cổng bên ngoài của container trực tiếp đến cổng bên trong của một bộ phận. Ví dụ, cổng bên ngoài
: Vành xecổng kết nối trực tiếp vào Hộp số, và bên ngoài: Vô lăngkết nối thẳng tới Hệ thống lái. Điều này đảm bảo rằng các kích thích bên ngoài được phân bổ trơn tru đến tác nhân nội bộ phù hợp. -
Các bộ nối lắp ráp: Kết nối các bộ phận bên trong với nhau để cho phép hợp tác. Bộ nối giữa Hộp số và Động cơ cho thấy hai vai trò chạy chương trình riêng biệt này trao đổi trực tiếp tín hiệu, dữ liệu hoặc lực cơ học để xe hoạt động như một thể thống nhất.

Khi nào nên sử dụng:
-
Tài liệu hóa các mẫu thiết kế
-
Mô hình hóa các hợp tác nội bộ phức tạp
-
Cầu nối giữa thiết kế lớp và triển khai thành phần
4. Sơ đồ triển khai
Mục đích: Bản đồ hóa các thành phần phần mềm vào môi trường thực thi phần cứng.
Các yếu tố chính:
-
Các nút (thiết bị, môi trường thực thi)
-
Thành phần (đơn vị triển khai)
-
Các đường truyền thông giữa các nút
-
Thông số triển khai (chi tiết cấu hình)
Ví dụ sử dụng:Khi nào nên sử dụng:
Các nút và cơ sở hạ tầng vật lý
Khác với các sơ đồ thiết kế logic mô hình hóa bố cục mã nguồn hoặc cấu trúc lớp, sơ đồ triển khai tập trung vào topography phần cứng. Các khối xây dựng chính là Các nút, được biểu diễn trực quan dưới dạng các khối lập phương ba chiều. Các nút minh họa các tài nguyên tính toán vật lý hoặc môi trường thực thi nơi các thành phần phần mềm thực sự chạy:
-
<<processor>>Các nút: Các khối được định kiểu với<<processor>>(ví dụ như Máy chủ bộ nhớ đệm, Máy chủ chính, và các khối Máy chủ khối) đại diện cho các nút có khả năng tính toán, bộ nhớ và sức mạnh xử lý đủ để thực thi các tập tin nhị phân phần mềm. -
<<network>>Các nút: Khối hình chữ nhật được ghi nhãn Mạng cục bộ đại diện cho một đường truyền thông hoặc cơ sở hạ tầng định tuyến thay vì một máy tính riêng lẻ. Nó thể hiện nền tảng vật lý cho phép các bộ xử lý kết nối trao đổi luồng gói dữ liệu. -
Các nút thiết bị: Các nút không được định kiểu như Internet và Bộ định tuyến modem đại diện cho các thành phần phần cứng biên hoặc cơ sở hạ tầng vật lý bên ngoài cần thiết để định tuyến lưu lượng truy cập bên ngoài vào môi trường hệ thống cốt lõi.
Các mối quan hệ và các tuyến đường truyền thông
Các đường liền nối các khối ba chiều đại diện cho Các mối liên kết. Trong sơ đồ triển khai, các mối liên kết này xác định các đường truyền thông vật lý, các liên kết mạng hoặc các kết nối phần cứng giữa các nút.
-
Đường nối giữa Internet và Bộ định tuyến Modemcho thấy điểm vào của dữ liệu công cộng bên ngoài vào tầng phần cứng.
-
Mối liên kết kéo dài từ Bộ định tuyến Modemxuống đến Máy chủ bộ nhớ đệmxác định đường đi vật lý của lưu lượng đến từ bên ngoài xuống lớp bộ nhớ đệm biên.
-
Các mối liên kết nối giữa Các máy chủ bộ nhớ đệm và cụm máy chủ nền tảng Máy chủ chính đến Mạng cục bộthiết lập cách các thành phần nội bộ giao tiếp qua cơ sở hạ tầng bus cục bộ tốc độ cao chung hoặc công tắc mạng.
Lớp topo và dự phòng
Sự sắp xếp các nút trong sơ đồ rõ ràng cho thấy kiến trúc triển khai và các lựa chọn thiết kế kiến trúc nhằm đảm bảo khả năng sẵn sàng cao và phân phối tải.
-
Lớp bộ nhớ đệm biên: Nằm ngay phía dưới thiết bị phần cứng modem điểm vào là hai nút máy chủ bộ nhớ đệm riêng biệt, song song. Cấu hình này trực quan minh họa một lớp biên dự phòng nhằm phân phối tải lưu lượng đến và lưu trữ tài sản trước khi các yêu cầu đến tầng hạ tầng sâu.Máy chủ bộ nhớ đệmnút. Cấu hình này trực quan minh họa một lớp biên dự phòng nhằm phân phối tải lưu lượng đến và lưu trữ tài sản trước khi các yêu cầu đến tầng hạ tầng sâu.
-
Trang trại máy chủ nội bộ: Nằm ở đáy tầng, kết nối thông qua Mạng cục bộ, là một cụm máy chủ cốt lõi. Sự phân biệt giữa Máy chủ chính và kiểu tổng quát liền kề Máy chủ các nút trực quan hóa bố cục kiến trúc chủ-phục vụ hoặc chính-phụ, đảm bảo dữ liệu được duy trì và các tác vụ tính toán nặng được phối hợp an toàn trong môi trường trung tâm dữ liệu nội bộ.
Mục đích: Mô hình hóa cấu trúc nội bộ của các bộ phân loại và các mẫu phức tạp.
-
Lên kế hoạch hạ tầng hệ thống
-
Tài liệu hóa các kiến trúc phân tán
-
Xác định các chiến lược chuyển đổi và dự phòng
5. Sơ đồ gói
Mục đích: Tổ chức và quản lý không gian tên thông qua nhóm logic.
Các thành phần chính:
-
Gói (hình chữ nhật có tab)
-
Mối quan hệ nhập vào/truy cập (
«import»,«access») -
Mối quan hệ hợp nhất (
«merge») -
Độ hiển thị (
+công khai,-riêng tư)
Ví dụ sử dụng:
Biên giới hệ thống con và gói
Sơ đồ dựa rất nhiều vào ký hiệu “thư mục” để biểu diễn các nhóm logic của các thành phần thiết kế.
-
Phần phụ: Thư mục lớn bên ngoài được định kiểu là
<<phần phụ>> Quản lý đơn hàngđại diện cho một đơn vị hành vi lớn và bao đóng của hệ thống vật lý. Nó hoạt động như một container cấp cao, nhóm các thành phần và gói liên quan cần thiết để thực thi quản lý đơn hàng. -
Gói: Các thư mục nhỏ bên trong và bên ngoài phần phụ (ví dụ như Giao diện người dùng, Xử lý đơn hàng, và Quản lý Giao diện người dùng) là các gói tiêu chuẩn. Chúng được sử dụng để sắp xếp các thành phần thành các nhóm dễ quản lý, thiết lập không gian tên và xác định các ranh giới khả năng nhìn thấy trong kiến trúc.
Quan hệ phụ thuộc và lớp kiến trúc
Các mũi tên gạch ngang chỉ ra Quan hệ phụ thuộc, xác lập rằng một thay đổi trong một gói (đích đến) có thể ảnh hưởng đến hoạt động của gói khởi nguồn (nguồn).
-
Quan hệ phụ thuộc nội bộ: Bên trong phần phụ Quản lý đơn hàng, lớp kiến trúc theo hướng từ trên xuống là rõ ràng. Gói Giao diện người dùng phụ thuộc vào Xử lý đơn hàng, và theo thứ tự, phụ thuộc vào Máy tính giá và Bộ nhớ ngoài. Điều này đại diện cho luồng kiến trúc nơi các thành phần trình bày cấp cao phụ thuộc vào các lớp logic kinh doanh cốt lõi và lớp truy cập dữ liệu.
-
Quan hệ phụ thuộc vào gói bên ngoài: Các gói cũng có thể phụ thuộc vào các thành phần nằm ngoài ranh giới hệ thống phụ ngay lập tức. Ví dụ, gói Giao diện người dùng gói có phụ thuộc vào bên ngoài GUIManager. Tương tự, các Random Storage và Stream Storage các gói ở dưới cùng vượt qua ranh giới phụ hệ thống để phụ thuộc vào các cấu trúc dữ liệu bên ngoài, làm nổi bật cách phụ hệ thống tích hợp vào một sinh thái phần mềm lớn hơn.
Abstraction và Kế thừa (Tổng quát hóa)
Sơ đồ sử dụng phong cách chuyên biệt và các mũi tên quan hệ để minh họa các mẫu thiết kế trừu tượng được áp dụng vào kiến trúc module.
-
Gói trừu tượng so với gói cụ thể: Các gói chứa các thành phần trừu tượng hoặc định nghĩa cấu trúc giống giao diện được biểu diễn bằng tên nghiêng (ví dụ như External Storage và StorageManagement). Ngược lại, các gói chứa các triển khai mã hoạt động, như Repository và FileStorage, sử dụng văn bản tiêu chuẩn để chỉ ra rằng chúng là các gói cụ thể.
-
Tổng quát hóa: Được biểu diễn bằng một đường liền với tam giác trống, mở hướng về gói cha. Điều này cho thấy mối quan hệ kế thừa hoặc triển khai. Bên trong phụ hệ thống, Random Storage và Stream Storage chuyên biệt hóa hoặc triển khai giao diện trừu tượng External Storage giao diện. Bên ngoài phụ hệ thống, các gói cụ thể Repository và FileStorage các gói mở rộng lên mức trừu tượng Quản lý Lưu trữ gói, cho thấy cách mô hình hóa hành vi đa hình và phân loại cấu trúc ở cấp độ gói.

-
Khi nào nên sử dụng:
-
Quản lý các cơ sở mã nguồn lớn
-
Xác định ranh giới mô-đun
-
Kiểm soát các phụ thuộc biên dịch
6. Sơ đồ Đối tượng
Mục đích: Hiển thị các bức ảnh chụp nhanh về các thể hiện và các liên kết của chúng tại một thời điểm cụ thể.
Các yếu tố chính:
-
Các đối tượng (tên được gạch chân:
myCar:Car) -
Các liên kết giữa các thể hiện đối tượng
-
Giá trị thuộc tính tại thời điểm chạy
Ví dụ sử dụng:
Các đối tượng và các thể hiện cụ thể
Khác với sơ đồ lớp thể hiện các cấu hình trừu tượng, cấp bản vẽ, sơ đồ đối tượng ghi lại các thể hiện thực tế đang sống trong bộ nhớ. Các đối tượng được biểu diễn bằng hình chữ nhật, và tên của chúng luôn được gạch chân để chỉ ra việc khởi tạo.
-
Các đối tượng có tên: Chúng tuân theo cú pháp
tênThểhiện : TênLớp. Ví dụ,c : CôngTyđại diện cho một thể hiện công ty cụ thể có tên là “c”, vàp : Ngườiđại diện cho một thể hiện cá nhân cụ thể có tên là “p”. -
Đối tượng ẩn danh: Khi không cần chỉ định định danh cụ thể của một thể hiện hoặc không liên quan đến tình huống, chỉ cần cung cấp tên lớp, được đánh dấu bằng dấu hai chấm (ví dụ như
: Thông tinLiênHệ). Điều này xác định rằng một thể hiện cụ thể của thông tin liên hệ tồn tại và được gắn vào cấu trúc, nhưng không cần có tên biến duy nhất trong ngữ cảnh này.
Trạng thái và Giá trị Thuộc tính
Phần dưới của hình chữ nhật đối tượng chứa trạng thái cụ thể của nó, được xác định bởi các giá trị rõ ràng được gán cho các thuộc tính của nó tại thời điểm đó. Thay vì chỉ liệt kê kiểu dữ liệu, các mục này sử dụng định dạng gán thuộc_tính = giá_trị để phản ánh thực tế:
-
Thể hiện phòng ban
d1chứa giá trị thuộc tínhtên = Bán hàng. -
Một thể hiện phòng ban khác
d2chứa giá trịtên = Nghiên_cứu_phát_triển. -
Thể hiện cá nhân
pchứa một bộ đầy đủ dữ liệu trạng thái, mô tả một hồ sơ cụ thể:tên = Derek,mã_nhân_viên = D-12821, vàchức_vụ = Quản_lý.
Liên_kết và Mối_quan_hệ
Những đường liền nối các đối tượng biểu thị Liên_kết. Một liên kết là một thể hiện cụ thể của một mối quan hệ được xác định giữa các lớp. Nếu sơ đồ lớp nói rằng Các công ty có các phòng ban, sơ đồ đối tượng sẽ minh họa các kết nối thực tế tại thời điểm chạy giữa chúng.
-
Thể hiện công ty
cđang được liên kết tích cực với các thể hiện phòng band1(Bán hàng) vàd2(Nghiên cứu và Phát triển). -
Sơ đồ cũng thể hiện việc kết nối thể hiện theo cấp bậc, nơi mà
d1 : Phòng ban(Bán hàng) liên kết xuống một thể hiện phòng ban con cũng được định kiểu là Phòng ban (tên = Bán hàng Mỹ). -
Cuối cùng, thể hiện cá nhân
p(Derek) được liên kết với thể hiện phòng ban Bán hàng Mỹ, đồng thời duy trì một liên kết với một thể hiện vô danh: Thông tin Liên hệchứa địa chỉ vật lý của anh ấy.

Khi nào nên sử dụng:
-
Xác minh các thiết kế sơ đồ lớp
-
Gỡ lỗi các mối quan hệ đối tượng phức tạp
-
Minh họa các trạng thái thời điểm chạy ví dụ
🔶 Sơ đồ Hành vi
Các sơ đồ hành vi mô hình hóa các khía cạnh động—cách hệ thống hoạt động theo thời gian.
7. Sơ đồ Hoạt động
Mục đích: Mô hình hóa quy trình làm việc, quy trình kinh doanh và logic thuật toán.
Các yếu tố chính:
-
Hành động (các hình chữ nhật tròn)
-
Các nút điều khiển: khởi đầu, quyết định, hợp nhất, chia tách, gộp, kết thúc
-
Các nút đối tượng và các điểm nối
-
Các phân vùng (đường bơi) để phân bổ trách nhiệm
-
Bộ xử lý ngoại lệ và các vùng có thể bị ngắt
Ví dụ sử dụng: Luồng công việc xử lý đơn hàng
Tổ chức cấu trúc (đường bơi và các phân vùng)
Sơ đồ được tổ chức theo chiều dọc thành các cột lớn, được gọi thay thế cho nhau làĐường bơi hoặc Phân vùng. Những ranh giới này phân loại trách nhiệm cho các hành động nằm bên trong chúng, liên kết các bước với các vai trò hoặc đơn vị kinh doanh cụ thể:
-
Giao diện bán hàng khách hàng: Chịu trách nhiệm cho vòng đời tiếp xúc khách hàng, xử lý khởi tạo khách hàng, định tuyến thay thế và trình bày cuối cùng.
-
Người sở hữu đề xuất: Quản lý kế hoạch cốt lõi, phân tích hoạt động và biên soạn các cấu trúc dữ liệu đề xuất chính thức.
-
Người sở hữu báo giá: Tập trung hoàn toàn vào định giá tài chính và chuẩn bị các chỉ số báo giá cụ thể.
Luồng điều khiển và trạng thái hành động
Thực thi theo từng bước được điều hướng bởi các nút điều khiển và các con đường hướng dẫn.
-
Nút khởi đầu: Được biểu diễn bằng hình tròn đen đậm ở phía trên, điều này chỉ ra điểm bắt đầu của toàn bộ luồng công việc hoạt động.
-
Hành động: Các hình chữ nhật tròn (ví dụ như Khởi tạo liên hệ, Tìm kiếm thay thế, và Biên soạn thông tin bổ sung) đại diện cho các bước hoặc nhiệm vụ đơn lẻ, không thể phân tích thêm trong chuỗi thực thi.
-
Luồng điều khiển: Những mũi tên liền nét kết nối các thành phần quy định trình tự tiến triển của luồng công việc, cho biết chính xác hành động nào phải hoàn thành trước khi hành động tiếp theo bắt đầu.
-
Nút kết thúc hoạt động: Ký hiệu hình vòng tròn chính giữa (một vòng tròn đậm bên trong một vành tròn rỗng) ở phía dưới đánh dấu điểm kết thúc tuyệt đối của toàn bộ quá trình thực thi.
Điều hướng và logic có điều kiện (Nút quyết định)
Các ký hiệu hình thoi đại diện choNút quyết định, mô hình hóa nhánh điều kiện trong luồng công việc.
-
Các luồng điều khiển đầu vào được chia thành nhiều luồng đầu ra loại trừ lẫn nhau dựa trên các đầu vào cụ thể.
-
Các điều kiện điều khiển việc chọn nhánh nào được đóng trong dấu ngoặc vuông, được gọi là điều kiện bảo vệ (ví dụ như
[được chấp nhận],[bị từ chối], và[kết hợp với nhà cung cấp khác hoặc thay đổi yêu cầu]). Quá trình đánh giá các điều kiện này tại thời điểm chạy để định tuyến thực thi theo đường chức năng phù hợp.
Xử lý song song (Nút chia và nút hợp nhất)
Các thanh đen liền nét trong sơ đồ đóng vai trò điểm đồng bộ để quản lý các luồng thực thi đồng thời hoặc song song.
-
Nút chia (được ghi nhãn là Nút luồng trong chú thích sơ đồ): Một luồng điều khiển đầu vào duy nhất đi vào thanh và tách thành nhiều luồng thực thi độc lập, đồng thời. Ở đây, sau khi tạo kế hoạch dự án, quá trình sẽ chia để cho Người chủ đề xuất thực hiện phân tích và lập kế hoạch giao hàng, trong khi Người chủ báo giá đồng thời xử lý chuẩn bị báo giá.
-
Nút hợp nhất: Một thanh đồng bộ hợp nhất nhiều luồng đồng thời trở lại thành một luồng điều khiển duy nhất. Quá trình không thể vượt qua nút hợp nhất cho đến khitất cả các luồng song song đầu vào đều đã đạt đến thanh thành công, đảm bảo việc biên soạn báo giá và soạn thảo đề xuất được hoàn tất hoàn toàn trước khi tiến hành biên soạn gói cuối cùng.
Tích hợp dữ liệu (Nút đối tượng)
Các hình chữ nhật tiêu chuẩn đại diện choNút đối tượng, đưa luồng dữ liệu vào sơ đồ hoạt động định hướng điều khiển.
-
Các nút đối tượng đại diện cho các thể hiện dữ liệu cụ thể hoặc các sản phẩm vật lý được tạo ra hoặc tiêu thụ bởi các hành động, sử dụng
tên_thể_hiện : Tên_Lớpquy ước (ví dụ nhưmột_đề_xuất : Đề_xuấtvàmột_kế_hoạch : Kế_hoạch Dự_án Giao_nhận). -
Được đánh dấu rõ ràng
tạocác mũi tên cho thấy chính xác thời điểm một hành động khởi tạo hoặc cập nhật một cấu trúc dữ liệu, minh họa cách dữ liệu được truyền từ nhiệm vụ này sang nhiệm vụ khác song song với việc thực thi hoạt động.

Khi nào nên sử dụng:
-
Tài liệu hóa các quy trình kinh doanh
-
Mô hình hóa các thực hiện trường hợp sử dụng
-
Xác định các thuật toán phức tạp
8. Sơ đồ Máy trạng thái (Statecharts)
Mục đích: Mô hình hóa vòng đời và hành vi phụ thuộc trạng thái của các đối tượng.
Các yếu tố chính:
-
Trạng thái (hình chữ nhật tròn với các hoạt động vào/ra/thực hiện)
-
Chuyển tiếp (kích hoạt[điều kiện]/hệ quả)
-
Trạng thái giả: ban đầu, lựa chọn, chia tách, hợp nhất, lịch sử, kết thúc
-
Trạng thái hợp thành và các vùng song song
Ví dụ sử dụng: thiết lập điện thoại
Trạng thái và Điều kiện Hệ thống
Sơ đồ ghi lại hành vi của một hệ thống—cụ thể là một thiết lập điện thoại—bằng cách mô tả các tình huống hoặc điều kiện rời rạc khác nhau của nó.
-
Trạng thái: Các hình chữ nhật tròn đại diện cho trạng thái (ví dụ như Ngưng hoạt động, Tín hiệu chuông, Đang quay số, Đang kết nối, và Đã kết nối). Một trạng thái đại diện cho một giai đoạn trong vòng đời của một đối tượng trong đó nó thỏa mãn một điều kiện nhất định, thực hiện một hoạt động hoặc chờ đợi một sự kiện.
-
Trạng thái giả khởi đầu: Vòng tròn đen đậm ở bên trái đại diện cho điểm khởi đầu của máy trạng thái. Đây là một trạng thái giả chứ không phải là trạng thái thực sự, chỉ đóng vai trò như một con trỏ đến trạng thái hoạt động mặc định khi đối tượng được khởi tạo (Đang chờ).
-
Trạng thái kết thúc: Ký hiệu vòng tròn chính giữa ở bên phải đại diện cho việc kết thúc thực thi của máy trạng thái, cho thấy đối tượng đã hoàn thành vòng đời của nó.
Chuyển tiếp và định tuyến dựa trên sự kiện
Các đường có hướng kết nối các trạng thái là Chuyển tiếp, đại diện cho sự di chuyển từ một trạng thái sang trạng thái khác như phản ứng với một tín hiệu cụ thể.
-
Chuyển tiếp tiêu chuẩn: Được kích hoạt bởi các sự kiện cụ thể, chẳng hạn như hành động của người dùng hoặc phản hồi của hệ thống, được ghi dọc theo các đường. Ví dụ, chuyển từ Đang chờ sang Tín hiệu chuông xảy ra khi sự kiện
onHookđược kích hoạt, và chuyển từ Tín hiệu chuông sang Đang quay số xảy ra khi mộtchữ số(n)sự kiện được nhận. -
Chuyển tiếp tự thân: Một mũi tên chuyển tiếp đi ra khỏi một trạng thái và quay trở lại chính trạng thái đó (như được thấy trên trạng thái Đang gọi với sự kiện
chữ số(n)điều này cho thấy sự kiện được xử lý và cập nhật ngữ cảnh trạng thái nội bộ (ví dụ: ghi lại một chữ số vừa được gọi) mà không khiến đối tượng thoát ra hoặc thay đổi trạng thái vận hành tổng thể của nó.
Các đường đi thay thế và xử lý lỗi
Các máy trạng thái xuất sắc trong việc thể hiện logic hành vi và nhánh lỗi dựa trên các điều kiện khác nhau trong quá trình thực thi.
-
Đường đi thực thi thành công: Đường ống ngang trung tâm phác họa con đường tối ưu: Đang chờ $rightarrow$ Tín hiệu gọi $rightarrow$ Đang gọi $rightarrow$ Đang kết nối $rightarrow$ Đang reo chuông $rightarrow$ Đã kết nối $rightarrow$ Đã ngắt kết nối.
-
Các trạng thái xử lý ngoại lệ và lỗi: Hệ thống xử lý các lỗi hoặc độ trễ bằng cách nhánh sang các trạng thái xử lý chuyên biệt. Nếu số điện thoại bận trong quá trình kết nối, hệ thống sẽ kích hoạt trạng thái
số bậnchuyển đổi để vào trạng thái BậnTone trạng thái. Nếu người dùng tạm dừng quá lâu khi đang bấm số, mộthết giờsự kiện chuyển hệ thống sang trạng thái Cảnh báo hoặc Hết giờ trạng thái. Nếu phát hiện chuỗi sai, mộtsốInvalidsự kiện chuyển hệ thống sang trạng thái Tin nhắn đã ghi trạng thái, đảm bảo hệ thống xử lý an toàn mọi tình huống đặc biệt trong thế giới thực.

Khi nào nên sử dụng:
-
Mô hình hóa các hệ thống nhúng hoặc triển khai giao thức
-
Xác định quản lý trạng thái giao diện người dùng
-
Tài liệu về các quy tắc vòng đời đối tượng
9. Sơ đồ Tương tác
Bốn loại sơ đồ nhấn mạnh các khía cạnh khác nhau của sự hợp tác giữa các đối tượng:
a) Sơ đồ Thứ tự (Thường gặp nhất)
Mục đích: Hiển thị các cuộc trao đổi tin nhắn theo thứ tự thời gian giữa các đường đời.
Các yếu tố chính:
-
Đường đời (đường nét đứt đứng)
-
Tin nhắn (mũi tên liền/nét đứt có nhãn)
-
Các lần thực thi (thanh kích hoạt)
-
Các mảnh kết hợp:
alt,opt,loop,par,break
Ví dụ sử dụng:
Các đường sống và ngữ cảnh thực thi
Sơ đồ được đọc từ trái sang phải để xác định các thành viên tham gia, và từ trên xuống dưới để biểu thị sự trôi chảy của thời gian.
-
Các đường sống: Các hộp ở đầu trên được nối với các đường dọc đứt đoạn đại diện cho các đường sống. Chúng mô hình hóa các thành viên riêng lẻ trong tương tác, tuân theo quy ước
tênThểHiện : TênLớpquy ước (ví dụ nhưwindow : UI,aChain : HotelChain, vàaHotel : Hotel). Đường đứt đoạn theo dõi sự hiện diện của thành viên đó trong suốt chuỗi sự kiện. -
Các thanh kích hoạt: Các hình chữ nhật dọc mỏng, có màu nằm trên các đường sống cho thấy một Kích hoạt (hoặc sự kiện thực thi). Các thanh này cho thấy chính xác khi nào một đối tượng đang thực thi một thao tác hoặc đang chờ một lời gọi con lồng ghép trả về.
-
Dừng: Ký hiệu “X” lớn ở phía dưới của
window : UIđường sống biểu thị sự phá hủy hoặc kết thúc, cho thấy vòng đời của người tham gia cụ thể này đã kết thúc và các tài nguyên của nó đã được giải phóng.
Các loại tin nhắn và giao tiếp
Giao tiếp giữa các người tham gia được mô hình hóa bằng các mũi tên ngang đại diện cho các tin nhắn, được sắp xếp theo thứ tự tuần tự bằng hệ thống đánh số phân cấp (ví dụ: 1, 1.1, 1.1.1).
-
Tin nhắn đồng bộ: Các đường liền với đầu mũi tên liền (như
1: makeReservationvà1.1: makeReservation) cho thấy các cuộc gọi đồng bộ. Người gửi sẽ tạm dừng thực thi và chờ đối tượng nhận hoàn tất xử lý. -
Tin nhắn tự thân: Một vòng lặp tin nhắn bắt đầu và kết thúc trên cùng một thanh kích hoạt (ví dụ như
1.1.1: available(roomId, date): isRoomđược thực thi bởiaHotel) đại diện cho một Tin nhắn tự thân. Điều này cho thấy một thực thi phương thức nội bộ, nơi một đối tượng gọi một trong các thao tác của chính nó. -
Tin nhắn tạo: Một đường nét đứt với đầu mũi tên hở chỉ thẳng vào hộp đối tượng (ví dụ như tin nhắn
1.1.2:chỉ đếnaReservation : Reservation) đại diện cho việc tạo đối tượng. Điều này cho thấy rằng đối tượngaHotelđược khởi tạo động thành đối tượngaReservationvào chính thời điểm đó trong chuỗi thời gian chạy.
Các mảnh kết hợp và luồng điều khiển
Các hộp chữ nhật lớn bao quanh các phần của chuỗi được gọi là Các mảnh kết hợp, sử dụng các toán tử tương tác để quản lý logic phức tạp, nhánh điều kiện và lặp lại.
-
Mảnh vòng lặp:Hộp ngoài được đánh nhãn là
vòng lặpvới điều kiện bảo vệ[mỗi ngày]đại diện cho việc lặp lại. Tất cả các tương tác nằm bên trong hộp này sẽ lặp lại liên tục cho mỗi ngày được chỉ định trong yêu cầu đặt phòng. -
Mảnh kết hợp thay thế (Alt):Nằm bên trong vòng lặp là một
altmảnh (được chú thích là “Nếu” trong chú thích sơ đồ), xử lý nhánh điều kiện. Nó đánh giá điều kiện bảo vệ[isRoom = true]. Nếu điều kiện được thỏa mãn, chuỗi sẽ thực thi đường đi cụ thể bên trong khối đó—tạo ra đối tượngaReservationvà sau đó kích hoạt tin nhắn2:để khởi tạoaNotice : Xác nhận. Nếu điều kiện là sai, một đường đi thay thế (hoặc không thực hiện hành động nào) sẽ được thực hiện.
b) Sơ đồ giao tiếp
Mục đích: Nhấn mạnh mối quan hệ giữa các đối tượng hơn là thời gian truyền tin nhắn.

Các yếu tố chính:
-
Các đối tượng như nút
-
Các liên kết với tin nhắn được đánh số và có hướng
-
Tập trung vào “ai nói chuyện với ai”
c) Sơ đồ tổng quan tương tác
Mục đích: Luồng điều khiển cấp cao sử dụng ký hiệu sơ đồ hoạt động.

Các yếu tố chính:
-
Các lần tương tác như các nút hoạt động
-
Quyết định/ghép nối cho nhánh
-
Tách/ghép nối cho tính song song
d) Sơ đồ thời gian
Mục đích: Mô hình hóa các ràng buộc thời gian chính xác (các hệ thống thời gian thực).

Các yếu tố chính:
-
Các dòng thời gian trạng thái cho từng luồng sống
-
Thang thời gian và các ràng buộc
-
Các mũi tên tin nhắn có dấu hiệu thời gian
Khi nào sử dụng các tương tác:
-
Xác định các thực hiện trường hợp sử dụng
-
Gỡ lỗi các luồng tin nhắn phức tạp
-
Tài liệu hóa các mẫu sử dụng API
-
Mô hình hóa thời gian giao thức thời gian thực
10. Sơ đồ trường hợp sử dụng
Mục đích: Ghi nhận các yêu cầu chức năng từ góc nhìn của một tác nhân bên ngoài.
Các yếu tố chính:
-
Các trường hợp sử dụng (hình elip hoặc hình chữ nhật phân loại)
-
Các tác nhân (hình người que hoặc phân loại)
-
Các mối liên kết (tác nhân ↔ trường hợp sử dụng)
-
Các mối quan hệ:
«include»,«mở rộng», tổng quát hóa -
Hộp giới hạn hệ thống
Ví dụ sử dụng: Hệ thống ATM

Khi nào nên sử dụng:
-
Thu thập yêu cầu từ các bên liên quan
-
Xác định phạm vi và giới hạn hệ thống
-
Lên kế hoạch các tình huống kiểm thử
🎯 Chọn sơ đồ phù hợp: Hướng dẫn quyết định
| Mục tiêu | Sơ đồ được đề xuất |
|---|---|
| Thiết kế cấu trúc lớp | Lớp, Đối tượng, Gói |
| Mô hình hóa tương tác tại thời điểm chạy | Dãy, Giao tiếp |
| Tài liệu hóa quy trình nghiệp vụ | Hoạt động, Trường hợp sử dụng |
| Xác định vòng đời đối tượng | Máy trạng thái |
| Lên kế hoạch triển khai hệ thống | Triển khai, Thành phần |
| Mô hình hóa các mẫu nội bộ phức tạp | Cấu trúc hợp thành |
| Ghi lại các ràng buộc thời gian thực | Sơ đồ thời gian |
| Xác định yêu cầu | Trường hợp sử dụng, Hoạt động |
🔑 Các nguyên tắc mô hình hóa chính
-
Bắt đầu đơn giản: Bắt đầu với loại sơ đồ phù hợp nhất với mục tiêu ngay lập tức của bạn.
-
Lặp lại: Tinh chỉnh mô hình khi hiểu biết được sâu sắc hơn—không có sơ đồ nào là “cuối cùng” ngay từ bản nháp đầu tiên.
-
Đối tượng người đọc quan trọng: Điều chỉnh mức độ chi tiết phù hợp với người đọc (lập trình viên so với các bên liên quan).
-
Kết hợp các góc nhìn: Sử dụng nhiều sơ đồ để kể một câu chuyện đầy đủ (ví dụ: Trường hợp sử dụng → Chuỗi → Lớp).
-
Mở rộng một cách cẩn trọng: Sử dụng các kiểu dáng, giá trị gắn thẻ và hồ sơ để đáp ứng nhu cầu đặc thù lĩnh vực—nhưng hãy ghi chép rõ ràng các quy ước.
-
Giữ cho nó dễ đọc: Bỏ qua các chi tiết không liên quan; sử dụng ghi chú để cung cấp ngữ cảnh bổ sung.
📌 Hãy nhớ: “UML là một ngôn ngữ, chứ không phải là một phương pháp.” Nó cung cấp ký hiệu—không phải quy trình. Chọn các sơ đồ giúp làm rõ giao tiếp, chứ không phải những sơ đồ để đánh dấu vào ô.
Kết luận
This post is also available in Deutsch, English, Español, فارسی, Français, English, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, 简体中文 and 繁體中文.














