Ngôn ngữ mô hình hóa thống nhất (UML) là một ngôn ngữ mô hình hóa phát triển đa mục đích trong lĩnh vực kỹ thuật phần mềm, được thiết kế để cung cấp một phương pháp tiêu chuẩn để hình dung thiết kế hệ thống. Động lực ban đầu để tạo ra UML là mong muốn tiêu chuẩn hóa các hệ thống ký hiệu khác nhau và các phương pháp thiết kế phần mềm. Trong UML, sơ đồ lớp là một trong sáu loại sơ đồ cấu trúc. Sơ đồ lớp là cơ sở của quá trình mô hình hóa đối tượng và mô hình hóa cấu trúc tĩnh của hệ thống.
Sơ đồ cấu trúc cho thấy cấu trúc tĩnh của hệ thống và các phần của nó ở các mức độ trừu tượng và thực hiện khác nhau và cách chúng liên quan đến nhau. Các phần tử trong một sơ đồ cấu trúc đại diện cho các khái niệm có ý nghĩa của một hệ thống, và có thể bao gồm các khái niệm trừu tượng, thế giới thực và khái niệm thực hiện, có bảy loại sơ đồ cấu trúc như sau:
- Sơ đồ lớp
- Sơ đồ thành phần
- Sơ đồ triển khai
- Sơ đồ đối tượng
- Sơ đồ gói
- Sơ đồ cấu trúc tổng hợp
- Sơ đồ hồ sơ
Sơ đồ lớp là gì?
Một sơ đồ lớp trong Ngôn ngữ mô hình hóa thống nhất (UML) là một sơ đồ cấu trúc tĩnh mô tả cấu trúc của một hệ thống bằng cách hiển thị các lớp của nó, các thuộc tính của chúng, các hoạt động (hoặc phương thức) và các mối quan hệ giữa các đối tượng.Một sơ đồ lớp là một bản thiết kế cho một hệ thống hoặc tiểu hệ thống. Bạn có thể sử dụng sơ đồ lớp để mô hình hóa các đối tượng tạo nên hệ thống, hiển thị các mối quan hệ giữa các đối tượng và mô tả vai trò của các đối tượng này và các dịch vụ mà chúng cung cấp.
Nguồn gốc của UML
Mục tiêu của UML là cung cấp một ký hiệu tiêu chuẩn có thể được sử dụng bởi tất cả các phương pháp hướng đối tượng và để chọn lọc và tích hợp các yếu tố tốt nhất của các ký hiệu tiền thân. UML đã được thiết kế cho một loạt các ứng dụng. Do đó, nó cung cấp các cấu trúc cho một loạt các hệ thống và hoạt động (ví dụ: hệ thống phân tán, phân tích, thiết kế hệ thống và triển khai).
UML là một ký hiệu được hình thành từ sự thống nhất của OMT từ
- Kỹ thuật mô hình hóa đối tượng OMT [James Rumbaugh 1991] – là tốt nhất cho phân tích và các hệ thống thông tin tập trung vào dữ liệu.
- Booch [Grady Booch 1994] – là xuất sắc cho thiết kế và triển khai. Grady Booch đã làm việc rộng rãi với Ada ngôn ngữ, và đã là một nhân tố chính trong sự phát triển của các kỹ thuật hướng đối tượng cho ngôn ngữ này. Mặc dù phương pháp Booch rất mạnh, nhưng ký hiệu của nó không được đón nhận tốt (nhiều hình mây chiếm ưu thế trong các mô hình của ông – không được gọn gàng lắm)
- OOSE (Kỹ thuật phần mềm hướng đối tượng [Ivar Jacobson 1992]) – có một mô hình được gọi là Các trường hợp sử dụng. Các trường hợp sử dụng là một kỹ thuật mạnh mẽ để hiểu hành vi của toàn bộ hệ thống (một lĩnh vực mà OO truyền thống đã yếu).
Năm 1994, Jim Rumbaugh, người sáng tạo OMT, đã gây sốc cho thế giới phần mềm khi ông rời General Electric và gia nhập Grady Booch tại Rational Corp. Mục tiêu của sự hợp tác là để hợp nhất các ý tưởng của họ thành một phương pháp duy nhất, thống nhất (tên làm việc cho phương pháp thực sự là “Phương pháp thống nhất”).
Mục đích của sơ đồ lớp
Sơ đồ lớp hữu ích trong nhiều giai đoạn thiết kế hệ thống. Trong giai đoạn phân tích, sơ đồ lớp có thể giúp bạn hiểu các yêu cầu của miền vấn đề và xác định các thành phần của nó. Trong các dự án phần mềm hướng đối tượng, sơ đồ lớp được tạo ra trong các giai đoạn đầu của dự án chứa các lớp thường được chuyển đổi thành các lớp và đối tượng phần mềm thực tế khi viết mã.
Sau đó, bạn có thể tinh chỉnh các mô hình phân tích và khái niệm ban đầu thành các sơ đồ lớp để hiển thị các phần cụ thể của hệ thống, giao diện người dùng, các thực hiện logic, và nhiều hơn nữa.
Sơ đồ lớp được sử dụng rộng rãi trong việc mô hình hóa các hệ thống hướng đối tượng vì chúng là các sơ đồ UML duy nhất có thể được ánh xạ trực tiếp vào các ngôn ngữ hướng đối tượng. Trong giai đoạn thực hiện của chu kỳ phát triển phần mềm, bạn có thể sử dụng sơ đồ lớp để chuyển đổi các mô hình thành mã và mã thành các mô hình.
Ví dụ về lớp
Một con chó có các trạng thái – màu sắc, tên, giống cũng như các hành vi – vẫy đuôi, sủa, ăn. Một đối tượng là một thể hiện của một lớp.
Ký hiệu lớp UML
Một lớp đại diện cho một khái niệm bao gồm trạng thái (thuộc tính) và hành vi (các hoạt động). Mỗi thuộc tính có một kiểu. Mỗi hoạt động has a chữ ký. Tên lớp là thông tin bắt buộc duy nhất.
Tên lớp:
- Tên của lớp xuất hiện trong phân vùng đầu tiên.
Thuộc tính lớp:
- Các thuộc tính được hiển thị trong phân vùng thứ hai.
- Kiểu thuộc tính được hiển thị sau dấu hai chấm.
- Các thuộc tính ánh xạ vào các biến thành viên (các thành viên dữ liệu) trong mã.
Các hoạt động lớp (Phương thức):
- Các hoạt động được hiển thị trong phân vùng thứ ba. Chúng là các dịch vụ mà lớp cung cấp.
- Kiểu trả về của một phương thức được hiển thị sau dấu hai chấm ở cuối chữ ký phương thức.
- Kiểu trả về của các tham số phương thức được hiển thị sau dấu hai chấm theo sau tên tham số. Các hoạt động ánh xạ vào các phương thức lớp trong mã
Mối quan hệ lớp
Một lớp có thể tham gia vào một hoặc nhiều mối quan hệ với các lớp khác. Một mối quan hệ có thể là một trong các loại sau: (Tham khảo hình bên phải để biết biểu diễn đồ họa của các mối quan hệ).
Loại mối quan hệ | Biểu diễn đồ họa |
---|---|
Kế thừa (hoặc Tổng quát):
|
![]() |
Liên kết đơn giản:
|
![]() |
Tập hợp:
Một loại liên kết đặc biệt. Nó đại diện cho một mối quan hệ “phần của”.
|
![]() |
Thành phần:
Một loại tập hợp đặc biệt mà các phần bị phá hủy khi toàn bộ bị phá hủy.
|
![]() |
Phụ thuộc:
|
![]() |
Tên mối quan hệ
- Tên của các mối quan hệ được viết ở giữa đường liên kết.
- Tên quan hệ tốt có ý nghĩa khi bạn đọc chúng to lên:
- “Mỗi bảng tính chứa một số ô”,
- “một biểu thức được đánh giá thành một giá trị”
- Chúng thường có một đầu mũi tên nhỏ để chỉ ra hướng mà bạn nên đọc mối quan hệ, ví dụ: biểu thức được đánh giá thành giá trị, nhưng giá trị không được đánh giá thành biểu thức.
Mối quan hệ – Vai trò
- Một vai trò là một mục đích có hướng của một liên kết.
- Các vai trò được viết ở cuối một đường liên kết và mô tả mục đích mà lớp đó đảm nhận trong mối quan hệ.
- Ví dụ: Một ô liên quan đến một biểu thức. Bản chất của mối quan hệ là biểu thức là công thức của ô.
Tính khả thi của thuộc tính và hoạt động của lớp
Trong thiết kế hướng đối tượng, có một ký hiệu về tính khả thi cho các thuộc tính và hoạt động. UML xác định bốn loại tính khả thi: công khai, bảo vệ, riêng tư, và gói.
Các ký hiệu +, -, # và ~ trước tên thuộc tính và hoạt động trong một lớp biểu thị tính khả thi của thuộc tính và hoạt động.
- + biểu thị các thuộc tính hoặc hoạt động công khai
- – biểu thị các thuộc tính hoặc hoạt động riêng tư
- # biểu thị các thuộc tính hoặc hoạt động bảo vệ
- ~ biểu thị các thuộc tính hoặc hoạt động gói
Ví dụ về Tính khả thi của lớp
Trong ví dụ trên:
- thuộc tính1 và op1 của MyClassName là công khai
- thuộc tính3 và op3 là bảo vệ.
- thuộc tính2 và op2 là riêng tư.
Quyền truy cập cho mỗi loại tính khả thi này được hiển thị dưới đây cho các thành viên của các lớp khác nhau.
Quyền truy cập | công khai (+) | riêng tư (-) | bảo vệ (#) | Gói (~) |
---|---|---|---|---|
Các thành viên của cùng một lớp | có | có | có | có |
Các thành viên của các lớp kế thừa | có | không | có | có |
Các thành viên của bất kỳ lớp nào khác | có | không | không | trong cùng một gói |
Độ đa dạng
Có bao nhiêu đối tượng của mỗi lớp tham gia vào các mối quan hệ và độ đa dạng có thể được biểu thị như sau:
- Chính xác một – 1
- Không hoặc một – 0..1
- Nhiều – 0..* hoặc *
- Một hoặc nhiều – 1..*
- Số chính xác – ví dụ: 3..4 hoặc 6
- Hoặc một mối quan hệ phức tạp – ví dụ: 0..1, 3..4, 6.* sẽ có nghĩa là bất kỳ số lượng đối tượng nào khác ngoài 2 hoặc 5
Ví dụ về Độ đa dạng
- Yêu cầu: Một Sinh viên có thể tham gia nhiều Khóa học và nhiều Sinh viên có thể được ghi danh vào một Khóa học.
- Trong ví dụ dưới đây, sơ đồ lớp (bên trái), mô tả tuyên bố của yêu cầu trên cho mô hình tĩnh trong khi sơ đồ đối tượng (bên phải) cho thấy ảnh chụp nhanh (một thể hiện của sơ đồ lớp) về việc ghi danh khóa học cho các khóa học Kỹ thuật Phần mềm và Quản lý Cơ sở Dữ liệu tương ứng)
Ví dụ về Tập hợp – Máy tính và các bộ phận
- Một tập hợp là một trường hợp đặc biệt của liên kết biểu thị một hệ thống phân cấp “bao gồm”
- Tập hợp là lớp cha, các thành phần là các lớp con

Ví dụ về Kế thừa – Phân loại Ô
- Kế thừa là một trường hợp đặc biệt khác của một liên kết biểu thị một hệ thống phân cấp “loại”
- Kế thừa đơn giản hóa mô hình phân tích bằng cách giới thiệu một phân loại
- Các lớp con kế thừa các thuộc tính và hoạt động của lớp cha.

Sơ đồ lớp – Ví dụ về Công cụ Sơ đồ
Một sơ đồ lớp cũng có thể có các ghi chú đính kèm cho các lớp hoặc mối quan hệ. Các ghi chú được hiển thị bằng màu xám.

Trong ví dụ trên:
Chúng ta có thể diễn giải ý nghĩa của sơ đồ lớp trên bằng cách đọc qua các điểm như sau.
- Hình dạng là một lớp trừu tượng. Nó được hiển thị bằng chữ nghiêng.
- Hình dạng là một lớp siêu. Hình tròn, Hình chữ nhật và Đa giác được kế thừa từ Hình dạng. Nói cách khác, một Hình tròn là một Hình dạng. Đây là một mối quan hệ tổng quát / kế thừa.
- Có một liên kết giữa Hộp thoại và Bộ điều khiển dữ liệu.
- Hình dạng là một phần của Cửa sổ. Đây là một mối quan hệ tập hợp. Hình dạng có thể tồn tại mà không cần Cửa sổ.
- Điểm là một phần của Hình tròn. Đây là một mối quan hệ thành phần. Điểm không thể tồn tại mà không có Hình tròn.
- Cửa sổ phụ thuộc vào Sự kiện. Tuy nhiên, Sự kiện không phụ thuộc vào Cửa sổ.
- Các thuộc tính của Hình tròn là bán kính và tâm. Đây là một lớp thực thể.
- Các tên phương thức của Hình tròn là area(), circum(), setCenter() và setRadius().
- Tham số bán kính trong Hình tròn là một tham số đầu vào kiểu float.
- Phương thức area() của lớp Hình tròn trả về một giá trị kiểu double.
- Các thuộc tính và tên phương thức của Hình chữ nhật bị ẩn. Một số lớp khác trong sơ đồ cũng có các thuộc tính và tên phương thức của chúng bị ẩn.
Ví dụ về Sơ đồ lớp: Hệ thống Đặt hàng
Ví dụ về sơ đồ lớp: GUI
Một sơ đồ lớp cũng có thể có các ghi chú đính kèm cho các lớp hoặc mối quan hệ.
Xử lý hệ thống phức tạp – Sơ đồ lớp nhiều hay đơn?
Chắc chắn rằng, nếu bạn đang mô hình hóa một hệ thống lớn hoặc một lĩnh vực kinh doanh lớn, sẽ có nhiều thực thể mà bạn phải xem xét. Chúng ta nên sử dụng nhiều sơ đồ lớp hay một sơ đồ lớp duy nhất để mô hình hóa vấn đề? Câu trả lời là:
- Thay vì mô hình hóa mọi thực thể và mối quan hệ của nó trên một sơ đồ lớp duy nhất, tốt hơn là sử dụng nhiều sơ đồ lớp.
- Chia một hệ thống thành nhiều sơ đồ lớp giúp hệ thống dễ hiểu hơn, đặc biệt nếu mỗi sơ đồ là một biểu diễn đồ họa của một phần cụ thể của hệ thống.
Các góc nhìn của sơ đồ lớp trong vòng đời phát triển phần mềm
Chúng ta có thể sử dụng sơ đồ lớp trong các giai đoạn phát triển khác nhau của mộtvòng đời phát triển phần mềmvà thường bằng cách mô hình hóa sơ đồ lớp trong ba góc nhìn khác nhau (các mức độ chi tiết) dần dần khi chúng ta tiến lên:
Góc nhìn khái niệm: Các sơ đồ được diễn giải như mô tả các sự vật trong thế giới thực. Do đó, nếu bạn lấy góc nhìn khái niệm, bạn sẽ vẽ một sơ đồ đại diện cho các khái niệm trong lĩnh vực đang nghiên cứu. Những khái niệm này sẽ tự nhiên liên quan đến các lớp thực hiện chúng. Góc nhìn khái niệm làđược coi là độc lập với ngôn ngữ.
Góc nhìn đặc tả: Các sơ đồ được diễn giải như mô tả các trừu tượng hoặc thành phần phần mềm với các đặc tả và giao diện nhưng không cam kết với một triển khai cụ thể. Do đó, nếu bạn lấy góc nhìn đặc tả, chúng ta đangnhìn vào các giao diện của phần mềm, không phải là triển khai.
Góc nhìn triển khai: Các sơ đồ được diễn giải như mô tả các triển khai phần mềm trong một công nghệ cụ thể vàngôn ngữ. Do đó, nếu bạn lấy góc nhìn triển khai, chúng ta đangnhìn vào việc triển khai phần mềm.
Bạn đang tìm kiếm một công cụ vẽ sơ đồ lớp miễn phí?
Visual Paradigm Online (VP Online) Phiên bản miễn phí là một phần mềm vẽ trực tuyến miễn phí hỗ trợ sơ đồ lớp, các sơ đồ UML khác, công cụ ERD và công cụ biểu đồ tổ chức. Nó có một trình chỉnh sửa đơn giản nhưng mạnh mẽ cho phép bạn tạo sơ đồ lớp nhanh chóng và dễ dàng. Trình chỉnh sửa UML miễn phí này không có quảng cáo, không có thời hạn truy cập và không có hạn chế, ví dụ, về số lượng sơ đồ, số lượng hình dạng, v.v. Bạn sở hữu các sơ đồ bạn tạo ra cho mục đích cá nhân và phi thương mại.
Bạn đang tìm kiếm mô hình hóa UML chính thức hơn trên máy tính để bàn?
Visual Paradigm Phiên bản Cộng đồng đã được ra mắt từ năm 2004 để cung cấp mộtphần mềm UML miễn phícho mục đích phi thương mại duy nhất, hỗ trợ người dùng đang thực hiện những bước đầu tiên trong mô hình hóa UML, và những người cần một phần mềm mô hình hóa UML miễn phí và đa nền tảng cho mục đích cá nhân, chẳng hạn như áp dụng UML vào các dự án sinh viên.
Công cụ mô hình hóa UML miễn phí cho tất cả các loại mục đích phi thương mại. Hỗ trợ 13 sơ đồ UML 2.x
Chúng tôi đã được hơn 1 triệu cài đặt trên toàn cầu chấp nhận và vẫn đang phát triển. Nhiều người đang sử dụng các phiên bản trả phí của Visual Paradigm để vẽ các sơ đồ UML và ERD chuyên nghiệp cho thiết kế và phân tích hệ thống và cơ sở dữ liệu, hàng ngày.
Lý do 2
Được tin tưởng bởi các chuyên gia CNTT và các tổ chức lớn
Nhiều tổ chức hàng đầu, công ty CNTT, tư vấn, trường đại học, NGO và các đơn vị chính phủ trên toàn thế giới đã chấp nhận Visual Paradigm (các phiên bản trả phí). Hình dưới đây cho thấy một số khách hàng trả phí của chúng tôi.
Lý do 3
Chất lượng cao – Đoạt giải thưởng
Chúng tôi không chỉ được tin tưởng bởi các doanh nghiệp nổi tiếng nhất trên toàn cầu, mà còn bởi ngành công nghiệp. Visual Paradigm là một người chiến thắng nhiều giải thưởng quốc tế.
Lý do 4
Nền tảng mô hình hóa được sử dụng rộng rãi nhất cho học thuật
Công cụ UML được sử dụng rộng rãi nhất cho học thuật, được hàng ngàn trường đại học và cao đẳng chấp nhận.
Lý do 5
Bộ sưu tập khổng lồ các tài nguyên học tập MIỄN PHÍ (hỗ trợ bởi VP Community Circle)
Hàng trăm ví dụ về UML và ERDsẵn sàng để nhập vào Visual Paradigm cho các thử nghiệm ngay lập tức hoặc để bắt đầu với mô hình UML của riêng bạn. Tất cả đều MIỄN PHÍ.
Lý do 6
Lộ trình nâng cấp lên các phiên bản thương mại cho nhiều ứng dụng và khả năng
Nâng cấp dễ dàng cho một bộ tính năng bổ sung khổng lồ (chẳng hạn, hỗ trợ BPMN và hợp tác nhóm) và cho mục đích thương mại, bắt đầu từ$6 / tháng.
Lý do 7
Diễn đàn người dùng tích cực để nhận trợ giúp và trao đổi ý tưởng & Kinh nghiệm
Hỗ trợ, chia sẻ và trao đổi ý tưởng của bạn với những người khác trongdiễn đàn người dùng tích cực của Visual Paradigm.
Lý do 8
Ứng dụng đa nền tảng, thân thiện với người dùng, nhanh chóng & phản hồi tốt
Visual Paradigm có thể chạy trên các nền tảng khác nhau như Windows, Linux và Mac. Giao diện trực quan và các tính năng mô hình hóa mạnh mẽ của nó giúp việc mô hình hóa nhanh chóng và dễ dàng!
Tài liệu tham khảo
- UML là gì?
- Tại sao mô hình hóa UML?
- Tổng quan về 14 loại sơ đồ UML
- Sơ đồ lớp là gì?
- Sơ đồ thành phần là gì?
- Sơ đồ triển khai là gì?
- Sơ đồ đối tượng là gì?
- Sơ đồ gói là gì?
- Sơ đồ cấu trúc tổng hợp là gì?
- Sơ đồ hồ sơ là gì?
- Sơ đồ trường hợp sử dụng là gì?
- Sơ đồ hoạt động là gì?
- Sơ đồ máy trạng thái là gì?
- Sơ đồ tuần tự là gì?
- Sơ đồ giao tiếp là gì?
- Sơ đồ tổng quan tương tác là gì?
- Sơ đồ thời gian là gì?
This post is also available in Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, 简体中文 and 繁體中文.