Read this post in: de_DEen_USes_ESfr_FRhi_INid_IDjapl_PLpt_PTru_RUzh_CNzh_TW

UML là gì? Giải thích Ngôn ngữ mô hình hóa thống nhất

UML là viết tắt củaNgôn ngữ mô hình hóa thống nhất. Đó là một ngôn ngữ mô hình hóa chuẩn hóa bao gồm một tập hợp các sơ đồ tích hợp, được phát triển nhằm giúp các nhà phát triển hệ thống và phần mềm xác định, trực quan hóa, xây dựng và tài liệu hóa các thành phần của hệ thống phần mềm, cũng như cho mô hình hóa kinh doanh và các hệ thống phi phần mềm khác.

UML đại diện cho một tập hợp các phương pháp kỹ thuật tốt nhất đã chứng minh hiệu quả trong việc mô hình hóa các hệ thống lớn và phức tạp. UML là một phần quan trọng trong việc phát triển phần mềm hướng đối tượng và quy trình phát triển phần mềm. UML chủ yếu sử dụng các ký hiệu đồ họa để thể hiện thiết kế của các dự án phần mềm. Việc sử dụng UML giúp các nhóm dự án giao tiếp, khám phá các thiết kế tiềm năng và xác minh thiết kế kiến trúc của phần mềm. Trong bài viết này, chúng tôi cung cấp thông tin chi tiết về UML là gì.

Nguồn gốc của UML

Mục tiêu của UML là cung cấp một ký hiệ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à để lựa chọn và tích hợp các yếu tố tốt nhất từ các ký hiệu trước đó. UML được thiết kế cho nhiều ứng dụng rộng rãi. Do đó, nó cung cấp các cấu trúc cho nhiều loại hệ thống và hoạt động khác nhau (ví dụ: hệ thống phân tán, phân tích, thiết kế hệ thống và triển khai).

UML ra đời từ sự thống nhất của ba ký hiệu mô hình hóa hướng đối tượng hàng đầu:

  1. Phương pháp mô hình hóa đối tượng (OMT) [James Rumbaugh 1991] – phù hợp nhất cho phân tích và các hệ thống thông tin tập trung dữ liệu.
  2. Booch [Grady Booch 1994] – rất mạnh về thiết kế và triển khai. Grady Booch đã làm việc rộng rãi với ngôn ngữAda và là người đóng góp chính vào quá trình phát triển hướng đối tượng của ngôn ngữ này. Mặc dù phương pháp Booch rất mạnh mẽ, ký hiệu của nó lại không phổ biến lắm (nhiều hình dạng mây trong mô hình của ông – không gọn gàng lắm).
  3. OOSE (Kỹ thuật phần mềm hướng đối tượng [Ivar Jacobson 1992]) – đặc trưng bởi một mô hình gọi là Trường hợp sử dụng. 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 từng yếu truyền thống).

Năm 1994, thế giới phần mềm đã bàng hoàng khi Jim Rumbaugh, người sáng tạo ra OMT, rời General Electric và gia nhập Grady Booch tại Rational Software. Sự hợp tác này nhằm mục đích kết hợp các ý tưởng của họ thành một phương pháp thống nhất (tên tạm thời là “Phương pháp thống nhất”).

Đến năm 1995, Ivar Jacobson, người sáng tạo ra OOSE, cũng gia nhập Rational, và những ý tưởng của ông (đặc biệt là khái niệm về “Trường hợp sử dụng”) đã được tích hợp vào phương pháp thống nhất mới – nay được gọi là Ngôn ngữ mô hình hóa thống nhất 1. Nhóm gồm Rumbaugh, Booch và Jacobson được yêu mến gọi là “Ba người bạn”.

UML cũng chịu ảnh hưởng từ các ký hiệu hướng đối tượng khác vào thời điểm đó:

  • Mellor và Shlaer [1998]
  • Coad và Yourdon [1995]
  • Wirfs-Brock [1990]
  • Martin và Odell [1992]

UML cũng bao gồm các khái niệm mới không có trong các phương pháp chính khác vào thời điểm đó, chẳng hạn như cơ chế mở rộng và ngôn ngữ ràng buộc.

Lịch sử của UML

  1. Trong năm 1996, Nhóm Quản lý Đối tượng (OMG) đã phát hành đề nghị đầu tiên (RFP), đóng vai trò là chất xúc tác để các tổ chức này hợp tác trong việc phản hồi chung RFP.
  2. Rational đã thành lập liên minh UML Partners cùng với một số tổ chức sẵn sàng dành nguồn lực để xây dựng định nghĩa UML 1.0 mạnh mẽ. Những tổ chức đóng góp nhiều nhất vào định nghĩa UML 1.0 bao gồm:
    • Công ty Thiết bị Số
    • Hewlett-Packard
    • I-Logix
    • IntelliCorp
    • IBM
    • ICON Computing
    • MCI Systemhouse
    • Microsoft
    • Oracle
    • Rational Software
    • Texas Instruments
    • Unisys
  3. Sự hợp tác này đã tạo ra UML 1.0, một ngôn ngữ mô hình hóa rõ ràng, biểu đạt, mạnh mẽ và mang tính tổng quát. Nó đã được nộp cho OMG như phản hồi ban đầu cho RFP vào tháng Một năm 1997.
  4. Vào tháng Một năm 1997, IBM, ObjecTime, Platinum Technology, Ptech, Taskon, Reich Technologies và Softeam cũng đã nộp các phản hồi RFP riêng biệt cho OMG. Các công ty này đã gia nhập vào nhóm Đối tác UML để đóng góp ý tưởng, và các đối tác cùng nhau tạo ra bản phản hồi UML 1.1 được cập nhật. UML 1.1 tập trung vào việc cải thiện độ rõ ràng về ngữ nghĩa của UML 1.0 và tích hợp các đóng góp từ các đối tác mới. Nó đã được nộp cho OMG để xem xét và được chấp nhận vào mùa thu năm 1997. Các phiên bản đã tiến triển từ 1.1 đến 1.5, tiếp theo là UML 2.0 đến 2.5 (phiên bản hiện tại là UML 2.5).

UML History

Tại sao lại là UML?

Khi giá trị chiến lược của phần mềm ngày càng tăng đối với nhiều công ty, ngành công nghiệp đã tìm kiếm các công nghệ để tự động hóa sản xuất phần mềm và cải thiện chất lượng, đồng thời giảm chi phí và thời gian đưa sản phẩm ra thị trường. Các công nghệ này bao gồm công nghệ thành phần, lập trình trực quan, mẫu thiết kế và khung kiến trúc. Các doanh nghiệp cũng đang tìm kiếm cách quản lý độ phức tạp khi quy mô và phạm vi của họ ngày càng mở rộng. Đặc biệt, họ nhận ra nhu cầu giải quyết các vấn đề kiến trúc lặp lại như phân phối vật lý, đồng thời, sao chép, bảo mật, cân bằng tải và khả năng chịu lỗi. Hơn nữa, sự phát triển của World Wide Web, dù đã đơn giản hóa một số vấn đề, nhưng lại làm trầm trọng thêm các vấn đề kiến trúc này. Ngôn ngữ mô hình hóa thống nhất (UML) đã được thiết kế để đáp ứng những nhu cầu này.

  1. Cung cấp cho người dùng một ngôn ngữ mô hình hóa trực quan sẵn sàng sử dụng, có khả năng biểu đạt để phát triển và trao đổi các mô hình có ý nghĩa.
  2. Cung cấp các cơ chế mở rộng và chuyên biệt hóa để mở rộng các khái niệm cốt lõi.
  3. Độc lập với các ngôn ngữ lập trình và quy trình phát triển cụ thể.
  4. Cung cấp nền tảng hình thức để hiểu ngôn ngữ mô hình hóa.
  5. Khuyến khích sự phát triển của thị trường công cụ hướng đối tượng.
  6. Hỗ trợ các khái niệm phát triển cấp cao như hợp tác, khung kiến trúc, mẫu thiết kế và thành phần.
  7. Tích hợp các thực hành tốt nhất.

UML – Tổng quan

Trước khi chúng ta đi sâu vào lý thuyết UML, hãy giới thiệu sơ lược một số khái niệm chính trong UML.

Điều đầu tiên cần lưu ý về UML là có rất nhiều loại sơ đồ (mô hình) khác nhau để làm quen. Lý do là vì một hệ thống có thể được nhìn nhận từ nhiều góc độ khác nhau. Phát triển phần mềm liên quan đến nhiều bên liên quan.

Ví dụ:

  • Nhà phân tích
  • Nhà thiết kế
  • Lập trình viên
  • Người kiểm thử
  • Kiểm soát chất lượng
  • Khách hàng
  • Nhà văn kỹ thuật

Tất cả những người này đều quan tâm đến các khía cạnh khác nhau của hệ thống, và mỗi khía cạnh đòi hỏi một mức độ chi tiết khác nhau. Ví dụ, các lập trình viên cần hiểu được thiết kế của hệ thống và có khả năng chuyển đổi thiết kế đó thành mã cấp thấp. Ngược lại, các nhà văn kỹ thuật quan tâm đến hành vi tổng thể của hệ thống và cần hiểu được chức năng của sản phẩm. UML cố gắng cung cấp một ngôn ngữ đủ biểu đạt để tất cả các bên liên quan đều có thể hưởng lợi từ ít nhất một sơ đồ UML.

Dưới đây là bản tóm tắt nhanh về từng sơ đồ trong số 13 sơ đồ được hiển thị trong Cấu trúc Sơ đồ UML 2:

Sơ đồ Cấu trúc thể hiện cấu trúc tĩnh của hệ thống và các bộ phận của nó ở các mức độ trừu tượng và triển khai khác nhau, cũng như cách chúng liên quan đến nhau. Sơ đồ cấu trúc có bảy loại:

Sơ đồ Hành vi thể hiện hành vi động của các đối tượng trong hệ thống, có thể được mô tả như một chuỗi các thay đổi theo thời gian. Có bảy loại sơ đồ hành vi:

UML Diagram Types

Sơ đồ Lớp là gì?

Sơ đồ lớp là một kỹ thuật mô hình hóa trung tâm được sử dụng trong hầu hết các phương pháp hướng đối tượng. Sơ đồ này mô tả các loại đối tượng trong hệ thống và các mối quan hệ tĩnh khác nhau tồn tại giữa chúng.

Mối quan hệ

Có ba mối quan hệ chính quan trọng:

  1. Liên kết – chỉ ra mối quan hệ giữa các thể hiện của các loại (ví dụ: một người làm việc cho một công ty, một công ty có nhiều văn phòng).
  2. Kế thừa – bổ sung rõ ràng nhất cho các sơ đồ ER được sử dụng trong thiết kế hướng đối tượng. Nó có sự tương ứng trực tiếp với tính kế thừa trong thiết kế hướng đối tượng.
  3. Tổ hợp – một dạng kết hợp đối tượng trong thiết kế hướng đối tượng.

Ví dụ sơ đồ lớp

Class Diagram

Để biết thêm chi tiết về sơ đồ lớp, hãy đọc bài viếtSơ đồ lớp là gì?

Sơ đồ thành phần là gì?

Trong Ngôn ngữ Mô hình hóa Đơn nhất, sơ đồ thành phần mô tả cách các thành phần được kết nối với nhau để tạo thành các thành phần lớn hơn hoặc các hệ thống phần mềm. Nó minh họa kiến trúc của các thành phần phần mềm và các mối phụ thuộc giữa chúng. Các thành phần phần mềm bao gồm các thành phần thời gian chạy, các thành phần thực thi và cả các thành phần mã nguồn.

Ví dụ sơ đồ thành phần

Component Diagram

Để biết thêm chi tiết về sơ đồ thành phần, hãy đọc bài viếtSơ đồ thành phần là gì?

Sơ đồ triển khai là gì?

Sơ đồ triển khai giúp mô hình hóa các khía cạnh vật lý của các hệ thống phần mềm hướng đối tượng. Đây là một sơ đồ cấu trúc thể hiện kiến trúc của hệ thống dưới dạng triển khai (phân phối) các tác nhân phần mềm đến các mục tiêu triển khai. Các tác nhân đại diện cho các yếu tố cụ thể trong thế giới vật lý, xuất hiện từ quá trình phát triển. Nó mô hình hóa cấu hình thời gian chạy dưới dạng một cái nhìn tĩnh và trực quan hóa sự phân bố của các tác nhân trong một ứng dụng. Trong hầu hết các trường hợp, nó bao gồm việc mô hình hóa cấu hình phần cứng và các thành phần phần mềm chạy trên đó.

Ví dụ sơ đồ triển khai

Deployment Diagram

Để biết thêm chi tiết về sơ đồ triển khai, hãy đọc bài viếtSơ đồ triển khai là gì?

Sơ đồ đối tượng là gì?

Sơ đồ đối tượng là một đồ thị gồm các thể hiện, bao gồm các đối tượng và các giá trị dữ liệu. Một sơ đồ đối tượng tĩnh là một thể hiện của sơ đồ lớp; nó thể hiện một bức tranh tĩnh về trạng thái chi tiết của hệ thống tại một thời điểm nhất định. Sự khác biệt là sơ đồ lớp biểu diễn một mô hình trừu tượng gồm các lớp và các mối quan hệ giữa chúng, trong khi sơ đồ đối tượng biểu diễn các thể hiện tại một thời điểm cụ thể, vốn mang tính cụ thể bẩm sinh. Việc sử dụng sơ đồ đối tượng khá hạn chế, chủ yếu để minh họa các ví dụ về cấu trúc dữ liệu.

Sơ đồ lớp so với sơ đồ đối tượng – Một ví dụ

Một số người có thể thấy khó hiểu sự khác biệt giữa sơ đồ lớp UML và sơ đồ đối tượng UML vì cả hai đều chứa các khối hình chữ nhật có tên, với các thuộc tính và các liên kết giữa chúng, khiến hai sơ đồ UML trông giống nhau. Một số người thậm chí nghĩ chúng giống nhau vì trong các công cụ UML, cả biểu tượng sơ đồ lớp và sơ đồ đối tượng đều được đặt trong cùng một trình soạn thảo sơ đồ – sơ đồ lớp.

Nhưng trên thực tế, sơ đồ lớp và sơ đồ đối tượng đại diện cho hai khía cạnh khác nhau của cơ sở mã nguồn. Trong bài viết này, chúng tôi cung cấp một số ý tưởng về hai sơ đồ UML này, chúng là gì, chúng khác nhau như thế nào và khi nào nên sử dụng chúng.

Mối quan hệ giữa sơ đồ lớp và sơ đồ đối tượng

Bạn tạo ra các ‘lớp’ khi lập trình. Ví dụ, trong một hệ thống ngân hàng trực tuyến, bạn có thể tạo các lớp như ‘Người dùng’, ‘Tài khoản’, ‘Giao dịch’, v.v. Trong một hệ thống quản lý lớp học, bạn có thể tạo các lớp như ‘Giáo viên’, ‘Học sinh’, ‘Bài tập’, v.v. Trong mỗi lớp, có các thuộc tính và thao tác đại diện cho đặc điểm và hành vi của lớp. Sơ đồ lớp là một sơ đồ UML nơi bạn có thể trực quan hóa các lớp này, các thuộc tính, thao tác và mối quan hệ giữa chúng.

Sơ đồ đối tượng UML thể hiện cách các thể hiện đối tượng của các lớp (vẽ trong sơ đồ lớp UML) ‘trông như thế nào’ tại một trạng thái cụ thể. Nói cách khác, sơ đồ đối tượng UML có thể được coi là một thể hiện về cách các lớp (trong sơ đồ lớp UML) được sử dụng tại một trạng thái cụ thể.

Nếu bạn không thích các định nghĩa này, hãy xem các ví dụ sơ đồ UML bên dưới. Tôi tin rằng bạn sẽ hiểu được sự khác biệt của chúng trong vài giây.

Ví dụ sơ đồ lớp

Ví dụ sơ đồ lớp sau đây biểu diễn hai lớp – Người dùng và Tập tin đính kèm. Một người dùng có thể tải lên nhiều tập tin đính kèm, do đó hai lớp này được liên kết với một mối quan hệ có bội số 0…* ở phía bên tập tin đính kèm.

Class Diagram

Ví dụ sơ đồ đối tượng

Ví dụ sơ đồ đối tượng sau đây cho thấy cách các thể hiện đối tượng của các lớp Người dùng và Tập tin đính kèm ‘trông như thế nào’ khi Peter (tức là một người dùng) cố gắng tải lên hai tập tin đính kèm. Do đó, có hai bản mô tả thể hiện cho hai tập tin đính kèm cần tải lên.

Object Diagram

Để biết thêm chi tiết về sơ đồ đối tượng, hãy đọc bài viếtSơ đồ đối tượng là gì?

Sơ đồ gói là gì?

Sơ đồ gói là một sơ đồ cấu trúc UML thể hiện các gói và các mối quan hệ phụ thuộc giữa các gói. Sơ đồ gói cho phép hiển thị các góc nhìn khác nhau của một hệ thống, ví dụ như ứng dụng đa lớp (còn gọi là đa tầng) – mô hình ứng dụng đa lớp.

Ví dụ sơ đồ gói

Package Diagram

Để biết thêm chi tiết về sơ đồ gói, hãy đọc bài viếtSơ đồ gói là gì?

Sơ đồ cấu trúc hợp thành là gì?

Sơ đồ cấu trúc hợp thành là một trong những thành phần mới được thêm vào UML 2.0. Sơ đồ cấu trúc hợp thành tương tự như sơ đồ lớp và là một loại sơ đồ thành phần, chủ yếu được dùng để mô hình hóa hệ thống ở góc nhìn vi mô, nhưng nó thể hiện cấu trúc bên trong của một phần duy nhất thay vì toàn bộ lớp. Đây là một sơ đồ cấu trúc tĩnh, thể hiện cấu trúc bên trong của một lớp và các hợp tác mà cấu trúc này cho phép.

Sơ đồ có thể bao gồm các bộ phận bên trong, các cổng thông qua đó các bộ phận tương tác với nhau hoặc các thể hiện của lớp tương tác với thế giới bên ngoài, và các kết nối giữa các bộ phận hoặc cổng. Một cấu trúc hợp thành là một tập hợp các thành phần liên kết với nhau, hợp tác với nhau tại thời điểm chạy để đạt được một mục đích nào đó. Mỗi thành phần có một vai trò xác định trong sự hợp tác này.

Ví dụ sơ đồ cấu trúc hợp thành

Composite Structure Diagram

Để biết thêm chi tiết về sơ đồ cấu trúc hợp thành, hãy đọc bài viếtSơ đồ cấu trúc hợp thành là gì?

Sơ đồ hồ sơ là gì?

Với sơ đồ hồ sơ, bạn có thể tạo các kiểu dáng đặc thù cho lĩnh vực và nền tảng cụ thể, và xác định các mối quan hệ giữa chúng. Bạn có thể tạo các kiểu dáng bằng cách vẽ các hình dạng kiểu dáng và liên kết chúng với nhau thông qua giao diện tập trung vào tài nguyên bằng cách sử dụng kết hợp hoặc tổng quát hóa. Bạn cũng có thể xác định và trực quan hóa các giá trị gắn thẻ của các kiểu dáng.

Ví dụ sơ đồ hồ sơ

Profile Diagram

Để biết thêm chi tiết về sơ đồ hồ sơ, hãy đọc bài viếtSơ đồ hồ sơ trong UML là gì?

Sơ đồ trường hợp sử dụng là gì?

Mô hình trường hợp sử dụng mô tả các yêu cầu chức năng của một hệ thống dưới dạng các trường hợp sử dụng. Đây là mô hình về các chức năng mong muốn của hệ thống (các trường hợp sử dụng) và môi trường xung quanh (các tác nhân). Các trường hợp sử dụng cho phép bạn liên kết những gì hệ thống cần thực hiện với cách hệ thống đáp ứng những yêu cầu đó.

Hãy tưởng tượng mô hình trường hợp sử dụng như một thực đơn, giống như thực đơn bạn thấy trong một nhà hàng. Bằng cách xem thực đơn, bạn có thể biết được những món ăn nào có sẵn, từng món riêng lẻ và giá của chúng. Bạn cũng biết nhà hàng phục vụ loại ẩm thực nào: Ý, Mexico, Trung Hoa, v.v. Bằng cách xem thực đơn, bạn có được cảm nhận tổng thể về trải nghiệm ăn uống mà bạn sẽ nhận được tại nhà hàng đó. Thực đơn thực sự đang “bắt chước” hành vi của nhà hàng.

Vì đây là một công cụ lập kế hoạch mạnh mẽ, các mô hình trường hợp sử dụng được sử dụng bởi tất cả các thành viên trong nhóm trong suốt mọi giai đoạn của chu kỳ phát triển.

Ví dụ sơ đồ trường hợp sử dụng

Use Case Diagram

Để biết thêm chi tiết về sơ đồ trường hợp sử dụng, hãy đọc bài viếtSơ đồ trường hợp sử dụng là gì?

Sơ đồ hoạt động là gì?

Sơ đồ hoạt động là một biểu diễn đồ họa về luồng công việc của các hoạt động và hành động theo từng bước, hỗ trợ các lựa chọn, lặp lại và đồng thời. Nó mô tả luồng điều khiển của hệ thống mục tiêu, ví dụ như khám phá các quy tắc và thao tác kinh doanh phức tạp, mô tả các trường hợp sử dụng và quy trình kinh doanh. Trong Ngôn ngữ Mô hình hóa Đơn nhất, sơ đồ hoạt động nhằm mô hình hóa cả các quá trình tính toán và tổ chức (tức là các luồng công việc).

Ví dụ sơ đồ hoạt động

Activity Diagram

Để biết thêm chi tiết về sơ đồ hoạt động, hãy đọc bài viếtSơ đồ hoạt động là gì?

Sơ đồ máy trạng thái là gì?

Sơ đồ trạng thái là một loại sơ đồ được sử dụng trong UML để mô tả hành vi của hệ thống dựa trên khái niệm sơ đồ trạng thái của David Harel. Sơ đồ trạng thái mô tả các trạng thái được phép và các chuyển tiếp, cũng như các sự kiện ảnh hưởng đến các chuyển tiếp đó. Nó giúp trực quan hóa toàn bộ vòng đời của một đối tượng, từ đó hỗ trợ hiểu rõ hơn về các hệ thống dựa trên trạng thái.

Ví dụ về sơ đồ máy trạng thái

State Machine Diagram

Để biết thêm chi tiết về sơ đồ máy trạng thái, hãy đọc bài viết Sơ đồ máy trạng thái là gì?

Sơ đồ tuần tự là gì?

Sơ đồ tuần tự mô hình hóa sự hợp tác giữa các đối tượng theo trình tự thời gian. Nó thể hiện cách các đối tượng tương tác với nhau trong một tình huống sử dụng cụ thể. Với khả năng mô hình hóa trực quan nâng cao, bạn có thể tạo ra các sơ đồ tuần tự phức tạp chỉ bằng vài cú nhấp chuột. Ngoài ra, một số công cụ mô hình hóa (như Visual Paradigm) có thể tạo ra sơ đồ tuần tự từ luồng sự kiện mà bạn đã định nghĩa trong mô tả tình huống sử dụng.

Ví dụ về sơ đồ tuần tự

Sequence Diagram

Để biết thêm chi tiết về sơ đồ tuần tự, hãy đọc bài viết Sơ đồ tuần tự là gì?

Sơ đồ giao tiếp là gì?

Giống như sơ đồ tuần tự, sơ đồ giao tiếp cũng được sử dụng để mô hình hóa hành vi động của một tình huống sử dụng. So với sơ đồ tuần tự, sơ đồ giao tiếp nhấn mạnh hơn vào việc thể hiện sự hợp tác giữa các đối tượng thay vì trình tự thời gian. Chúng có ý nghĩa ngữ nghĩa tương đương, do đó một số công cụ mô hình hóa (như Visual Paradigm) cho phép bạn tạo ra một sơ đồ từ sơ đồ kia.

Ví dụ về sơ đồ giao tiếp

Communication Diagram

Để biết thêm chi tiết về sơ đồ giao tiếp, hãy đọc bài viết Sơ đồ giao tiếp là gì?

Sơ đồ tổng quan tương tác là gì?

Sơ đồ tổng quan tương tác tập trung vào tổng quan về luồng điều khiển của tương tác. Đây là một biến thể của sơ đồ hoạt động, trong đó các nút là các tương tác hoặc các sự kiện tương tác. Sơ đồ tổng quan tương tác mô tả các tương tác mà nơi tin nhắn và các đường đời bị ẩn. Bạn có thể liên kết đến các sơ đồ “thật” và đạt được khả năng điều hướng cao giữa các sơ đồ trong sơ đồ tổng quan tương tác.

Ví dụ về sơ đồ tổng quan tương tác

Interaction Overview Diagram

Để biết thêm chi tiết về sơ đồ tổng quan tương tác, hãy đọc bài viết Sơ đồ tổng quan tương tác là gì?

Sơ đồ thời gian là gì?

Sơ đồ thời gian thể hiện hành vi của các đối tượng trong một khoảng thời gian nhất định. Sơ đồ thời gian là một dạng đặc biệt của sơ đồ tuần tự. Sự khác biệt giữa sơ đồ thời gian và sơ đồ tuần tự là trục được đảo ngược, do đó thời gian tăng từ trái sang phải, và các đường đời được hiển thị trong các ngăn riêng biệt được sắp xếp theo chiều dọc.

Ví dụ về sơ đồ thời gian

Timing Diagram

Để biết thêm chi tiết về sơ đồ thời gian, hãy đọc bài viết Sơ đồ thời gian là gì?

Học UML. Vẽ UML.

Nhận Visual Paradigm Community Edition – công cụ UML miễn phí giúp bạn học UML nhanh hơn và hiệu quả hơn. Visual Paradigm Community Edition hỗ trợ tất cả các loại sơ đồ UML. Bộ công cụ mô hình UML được giải thưởng của nó rất trực quan và dễ sử dụng.

Tải miễn phí

Từ điển và thuật ngữ UML

  • Lớp trừu tượng – Một lớp không bao giờ được khởi tạo. Không có thể hiện nào của lớp này tồn tại.
  • Người hoặc đối tượng khởi tạo các sự kiện liên quan đến hệ thống. – Một đối tượng hoặc con người khởi tạo các sự kiện liên quan đến hệ thống.
  • Hoạt động: Một bước hoặc hành động trong sơ đồ hoạt động. Đại diện cho một thao tác thực hiện bởi hệ thống hoặc một Người thực hiện.
  • Sơ đồ hoạt động: Một sơ đồ luồng được nâng cấp, thể hiện các bước và quyết định trong một quy trình, cũng như các thao tác song song, chẳng hạn như một thuật toán hoặc quy trình kinh doanh.
  • Tổ hợp – Là một phần của một lớp khác. Được biểu diễn bằng hình kim cương rỗng bên cạnh lớp chứa trong sơ đồ.
  • Thành phần – Một tài liệu mô tả đầu ra của một bước trong quá trình thiết kế. Mô tả có thể là hình ảnh, văn bản hoặc một sự kết hợp của cả hai.
  • Liên kết – Một kết nối giữa hai phần tử trong mô hình. Điều này có thể đại diện cho một biến thành viên trong mã nguồn, một liên kết giữa một hồ sơ nhân sự và người mà nó đại diện, mối quan hệ giữa hai lớp công nhân, hoặc bất kỳ mối quan hệ tương tự nào. Mặc định, cả hai phần tử trong một liên kết đều biết về nhau và có mức độ tương đương. Một liên kết cũng có thể là liên kết có thể đi đến, nghĩa là đầu nguồn biết về đầu đích, nhưng không ngược lại.
  • Lớp liên kết: Một lớp đại diện cho mối liên kết giữa hai lớp khác và thêm thông tin vào đó.
  • Thuộc tính – Một đặc điểm của một đối tượng có thể được dùng để tham chiếu đến các đối tượng khác hoặc lưu trữ thông tin về trạng thái của đối tượng.
  • Lớp cơ sở: Lớp định nghĩa các thuộc tính và thao tác được các lớp con kế thừa thông qua mối quan hệ tổng quát hóa.
  • Nhánh: Một điểm quyết định trong sơ đồ hoạt động. Nhiều chuyển tiếp phát sinh từ một nhánh, mỗi chuyển tiếp có một điều kiện bảo vệ. Khi điều khiển đạt đến nhánh, đúng một điều kiện bảo vệ phải đúng, và điều khiển sẽ đi theo chuyển tiếp tương ứng.
  • Lớp: Một danh mục các đối tượng tương tự, tất cả được mô tả bằng các thuộc tính và thao tác giống nhau, và đều tương thích khi gán.
  • Sơ đồ lớp – Hiển thị các lớp trong hệ thống và các mối quan hệ giữa chúng.
  • Phân loại: Một phần tử UML có thuộc tính và thao tác. Cụ thể là Người thực hiện, Lớp và Giao diện.
  • Hợp tác: Một mối quan hệ giữa hai đối tượng trong sơ đồ giao tiếp, cho thấy rằng các tin nhắn có thể trao đổi qua lại giữa các đối tượng.
  • Sơ đồ giao tiếp – Một sơ đồ thể hiện cách thức thực hiện một thao tác, đồng thời nhấn mạnh vai trò của các đối tượng.
  • Thành phần: Một đơn vị có thể triển khai của mã nguồn trong hệ thống.
  • Sơ đồ thành phần: Một sơ đồ thể hiện các mối quan hệ giữa các thành phần và giao diện khác nhau.
  • Khái niệm – Một danh từ hoặc khái niệm trừu tượng cần được bao gồm trong mô hình miền.
  • Giai đoạn xây dựng – Giai đoạn thứ ba của Quy trình Đơn nhất Rationale, trong đó nhiều lần lặp chức năng được xây dựng trong hệ thống đã được tạo. Đây là nơi phần lớn công việc được thực hiện.
  • Phụ thuộc: Một mối quan hệ cho thấy một bộ phân loại biết về các thuộc tính và thao tác của bộ phân loại khác nhưng không được kết nối trực tiếp với bất kỳ thể hiện nào của bộ phân loại thứ hai.
  • Sơ đồ triển khai: Một sơ đồ thể hiện các mối quan hệ giữa các bộ xử lý khác nhau.
  • Miền – Phần của Vũ trụ tranh luận mà hệ thống tham gia.
  • Giai đoạn chi tiết hóa – Giai đoạn thứ hai của Quy trình Đơn nhất Rationale, cho phép lập kế hoạch dự án bổ sung, bao gồm cả các lần lặp trong giai đoạn xây dựng.
  • Phần tử: Bất kỳ mục nào được hiển thị trong mô hình.
  • Bao đóng – Dữ liệu bên trong một đối tượng là riêng tư.
  • Tổng quát hóa – Chỉ ra rằng một lớp là lớp con của một lớp khác (lớp siêu). Mũi tên rỗng chỉ đến lớp siêu.
  • Sự kiện: Trong sơ đồ trạng thái, điều này biểu diễn một tín hiệu, sự kiện hoặc đầu vào khiến hệ thống thực hiện hành động hoặc thay đổi trạng thái.
  • Trạng thái cuối: Trong sơ đồ trạng thái hoặc sơ đồ hoạt động, điều này biểu diễn điểm mà sơ đồ kết thúc.
  • Rẽ nhánh: Một điểm trong sơ đồ hoạt động nơi nhiều luồng điều khiển song song bắt đầu.
  • Tổng quát hóa: Một mối quan hệ kế thừa trong đó một lớp con kế thừa và bổ sung vào các thuộc tính và thao tác của lớp cơ sở.
  • GoF – Các mẫu thiết kế Gang of Four.
  • Tính gắn kết cao – Một mẫu đánh giá GRASP đảm bảo rằng một lớp không quá phức tạp và không thực hiện các chức năng không liên quan.
  • Tính liên kết thấp – Một mẫu đánh giá GRASP đo lường mức độ mà một lớp phụ thuộc vào hoặc kết nối với một lớp khác.
  • Giai đoạn khởi đầu – Giai đoạn đầu tiên của Quy trình Đơn nhất Racional, tập trung vào việc hình thành khái niệm ban đầu và khởi đầu dự án.
  • Kế thừa – Một lớp con kế thừa các thuộc tính hoặc đặc điểm từ lớp cha (lớp siêu). Các thuộc tính này có thể bị ghi đè trong lớp con.
  • Trạng thái ban đầu: Trong sơ đồ trạng thái hoặc sơ đồ hoạt động, đây là điểm mà sơ đồ bắt đầu.
  • Thể hiện – Một đối tượng là một thể hiện của một lớp. Lớp hoạt động như một mẫu để tạo ra các đối tượng. Có thể tạo ra bất kỳ số lượng thể hiện nào của lớp.
  • Giao diện: Một loại phân loại định nghĩa các thuộc tính và thao tác tạo thành một hợp đồng hành vi. Một lớp cung cấp hoặc thành phần có thể chọn thực hiện giao diện (tức là triển khai các thuộc tính và thao tác của nó). Các lớp khách hoặc thành phần sau đó có thể phụ thuộc vào giao diện, do đó sử dụng nhà cung cấp mà không cần biết bất kỳ chi tiết nào về lớp thực sự cung cấp.
  • Lặp lại – Một phần nhỏ của dự án trong đó thêm một phần nhỏ chức năng vào dự án. Bao gồm một chu kỳ phát triển gồm phân tích, thiết kế và mã hóa.
  • Ghép nối: Một điểm trong sơ đồ hoạt động nơi nhiều luồng điều khiển song song đồng bộ hóa và nối lại với nhau.
  • Thành viên: Một thuộc tính hoặc thao tác trong một loại phân loại.
  • Hợp nhất: Một điểm trong sơ đồ hoạt động nơi các đường điều khiển khác nhau gặp nhau.
  • Thông điệp – Một yêu cầu từ một đối tượng đến đối tượng khác, yêu cầu đối tượng nhận thực hiện một hành động nào đó. Về cơ bản đây là một lời gọi đến một phương thức trong đối tượng nhận.
  • Phương pháp – Một hàm hoặc thủ tục trong một đối tượng.
  • Mô hình – Tài sản trung tâm của UML. Gồm các thành phần khác nhau được sắp xếp theo thứ bậc với các mối quan hệ giữa các thành phần.
  • Số lượng – Được hiển thị bên cạnh hộp khái niệm bên ngoài trong một mô hình miền và chỉ ra mối quan hệ định lượng giữa các đối tượng với các đối tượng khác.
  • Điều hướng: Chỉ ra đầu nào của mối quan hệ biết về đầu kia. Một mối quan hệ có thể có điều hướng hai chiều (mỗi đầu biết về đầu kia) hoặc điều hướng một chiều (một đầu biết về đầu kia, nhưng không ngược lại).
  • Ký hiệu – Tài liệu đồ họa với các quy tắc để tạo ra các phương pháp phân tích và thiết kế.
  • Ghi chú: Một ghi chú văn bản được thêm vào sơ đồ để giải thích sơ đồ chi tiết hơn.
  • Đối tượng – Trong sơ đồ hoạt động, một đối tượng nhận thông tin từ hoặc cung cấp thông tin cho một hoạt động. Trong sơ đồ hợp tác hoặc sơ đồ tuần tự, một đối tượng tham gia vào kịch bản được mô tả trong sơ đồ. Nói chung: một thể hiện hoặc ví dụ của một bộ phân loại nhất định (Người dùng, Lớp, hoặc Giao diện).
  • Gói – Một nhóm các thành phần UML có liên quan về mặt logic với nhau.
  • Sơ đồ gói: Một sơ đồ lớp trong đó tất cả các thành phần đều là các gói và các mối phụ thuộc.
  • Mẫu – Một giải pháp cho vấn đề phân bổ trách nhiệm trong tương tác giữa các đối tượng. Đó là một giải pháp được đặt tên cho một vấn đề phổ biến và quen thuộc.
  • Tham số: Một tham số của một thao tác.
  • Đa hình – Cùng một thông điệp, nhưng các phương pháp khác nhau. Cũng được sử dụng như một mẫu.
  • Riêng tư: Mức độ hiển thị được áp dụng cho một thuộc tính hoặc thao tác, cho biết chỉ có mã trong bộ phân loại chứa đựng mới có thể truy cập thành viên đó.
  • Bộ xử lý: Trong sơ đồ triển khai, đây là đại diện cho một máy tính hoặc thiết bị lập trình khác mà mã có thể được triển khai.
  • Bảo vệ: Mức độ hiển thị được áp dụng cho một thuộc tính hoặc thao tác, cho biết chỉ có mã trong bộ phân loại chứa đựng hoặc các lớp con của nó mới có thể truy cập thành viên đó.
  • Công khai: Mức độ hiển thị được áp dụng cho một thuộc tính hoặc thao tác, cho biết bất kỳ mã nào cũng có thể truy cập thành viên đó.
  • Mũi tên chỉ hướng đọc – Chỉ ra hướng của một mối quan hệ trong một mô hình miền.
  • Thực hiện: Chỉ ra rằng một thành phần hoặc lớp cung cấp một giao diện nhất định.
  • Vai trò – Được sử dụng trong mô hình miền, đây là mô tả tùy chọn về vai trò mà một thực thể đóng trong hệ thống.
  • Sơ đồ tuần tự: Một sơ đồ thể hiện sự tồn tại của các đối tượng theo thời gian và các tin nhắn được truyền giữa các đối tượng đó theo thời gian để thực hiện một hành vi nhất định. Sơ đồ trạng thái – Một sơ đồ thể hiện tất cả các trạng thái khả dĩ của một đối tượng.
  • Trạng thái: Trong một sơ đồ trạng thái, điều này biểu diễn một điều kiện hoặc trạng thái của hệ thống hoặc phụ hệ thống: điều mà nó đang thực hiện tại một thời điểm nhất định, và các giá trị dữ liệu của nó.
  • Sơ đồ trạng thái: Một sơ đồ thể hiện các trạng thái của hệ thống hoặc phụ hệ thống, các chuyển tiếp giữa các trạng thái, và các sự kiện gây ra các chuyển tiếp đó.
  • Tĩnh: Một sửa đổi được áp dụng cho một thuộc tính, chỉ ra rằng chỉ có một bản sao của thuộc tính này được chia sẻ giữa tất cả các thể hiện của bộ phân loại. Một sửa đổi được áp dụng cho một thao tác, chỉ ra rằng thao tác đó độc lập và không hoạt động trên một thể hiện cụ thể nào của bộ phân loại.
  • Sắc thái: Một sửa đổi được áp dụng cho một phần tử mô hình, chỉ ra điều gì đó không thể thường được biểu diễn trong UML. Về cơ bản, các sắc thái cho phép bạn định nghĩa “ngôn ngữ riêng” của UML.
  • Lớp con: Một lớp kế thừa các thuộc tính và thao tác được định nghĩa bởi lớp cha thông qua mối quan hệ tổng quát hóa.
  • Làn đường: Một phần tử trong sơ đồ hoạt động chỉ ra phần nào của hệ thống hoặc miền chịu trách nhiệm cho một hoạt động cụ thể. Tất cả các hoạt động trong một làn đường đều thuộc trách nhiệm của đối tượng, thành phần hoặc tác nhân được biểu diễn bởi làn đường đó.
  • Đóng khung thời gian – Mỗi lần lặp lại đều có giới hạn thời gian cố định với một mục tiêu cụ thể.
  • Chuyển tiếp: Trong sơ đồ hoạt động, điều này biểu diễn luồng điều khiển từ một hoạt động hoặc nhánh hoặc hợp nhất hoặc chia tách hoặc nối đến một hoạt động khác. Trong sơ đồ trạng thái, điều này biểu diễn sự thay đổi từ một trạng thái sang trạng thái khác.
  • Giai đoạn chuyển tiếp – Giai đoạn cuối cùng của Quy trình Đơn nhất Racional, trong đó người dùng được đào tạo để sử dụng hệ thống mới và hệ thống được đưa vào sử dụng cho người dùng.
  • UML – Ngôn ngữ mô hình hóa thống nhất nâng cao quá trình phân tích và thiết kế các dự án phần mềm bằng cách cho phép các mối quan hệ chặt chẽ hơn giữa các đối tượng thông qua tài liệu văn bản và hình ảnh.
  • Trường hợp sử dụng: Trong sơ đồ trường hợp sử dụng, điều này biểu diễn một hành động do hệ thống thực hiện để phản hồi một yêu cầu nào đó từ một tác nhân.
  • Sơ đồ trường hợp sử dụng: Một sơ đồ thể hiện các mối quan hệ giữa các tác nhân và các trường hợp sử dụng.
  • Tính khả kiến: Một từ khóa bổ sung cho một thuộc tính hoặc thao tác, chỉ ra mã nào có thể truy cập thành viên. Các mức độ khả kiến bao gồm Công khai, Bảo vệ và Riêng tư.
  • Quy trình làm việc – Một tập hợp các hoạt động tạo ra một kết quả cụ thể.

Sách UML phổ biến

Dưới đây là một số cuốn sách UML bán chạy nhất mà bạn có thể đọc để học UML:

  1. UML Distilled: Hướng dẫn ngắn gọn về Ngôn ngữ mô hình hóa đối tượng chuẩn
  2. UML 2 và Quy trình thống nhất: Phân tích và thiết kế hướng đối tượng thực tiễn
  3. Học UML 2.0
  4. Xây dựng ứng dụng Web với UML
  5. Sách hướng dẫn tham khảo Ngôn ngữ mô hình hóa thống nhất
  6. Các yếu tố của Phong cách UML™ 2.0
  7. UML cho các nhà phát triển Java
  8. Sơ đồ Schaum về UML
  9. Hướng dẫn người dùng Ngôn ngữ mô hình hóa thống nhất
  10. Hướng dẫn chứng chỉ UML 2: Các kỳ thi cơ bản và trung cấp
  11. Các nguyên lý cơ bản về thiết kế hướng đối tượng trong UML
  12. Áp dụng mô hình hóa đối tượng dựa trên trường hợp sử dụng với UML: Một ví dụ minh họa về thương mại điện tử
  13. Thiết kế các hệ thống hướng đối tượng linh hoạt với UML
  14. Mô hình hóa đối tượng dựa trên trường hợp sử dụng với UML
  15. Phân tích và thiết kế hệ thống với UML phiên bản 2.0: Tiếp cận hướng đối tượng
  16. UML 2.0 trong một cái nhìn tổng quan
  17. Phân tích và thiết kế hướng đối tượng với các ứng dụng
  18. Giải thích UML
  19. Mẫu thiết kế: Các yếu tố của phần mềm hướng đối tượng có thể tái sử dụng
  20. Sách nền tảng đối tượng: Phát triển hướng mô hình linh hoạt với UML 2.0

Các liên kết liên quan

  1. Công cụ thiết kế UML chuyên nghiệp cho mô hình hóa trực quan


Visual Paradigm Online

Leave a Reply