UML là viết tắt của Unified Modeling Language (Ngôn ngữ Mô hình hóa Thống nhất). Đây là một ngôn ngữ đồ họa được tiêu chuẩn hóa, được sử dụng trong lĩnh vực kỹ thuật phần mềm để đặc tả, hình dung, xây dựng và làm tài liệu cho các hệ thống phần mềm hướng đối tượng.
1. Khái niệm và Mục đích
- Ngôn ngữ Trực quan (Visual Language): UML cung cấp một tập hợp các ký hiệu đồ họa thống nhất để tạo ra các “bản vẽ” hoặc “bản thiết kế” của một hệ thống, giúp mọi người (nhà phát triển, khách hàng, quản lý) có thể hiểu rõ cấu trúc và hành vi của nó.
- Hướng đối tượng (Object-Oriented): UML được thiết kế đặc biệt để mô hình hóa các hệ thống sử dụng phương pháp phát triển hướng đối tượng (OOAD – Object-Oriented Analysis and Design).
- Mục đích:
- Trực quan hóa: Giúp hình dung kiến trúc, thiết kế và các thành phần phức tạp của hệ thống.
- Đặc tả: Mô tả chính xác các yêu cầu, chức năng và cơ chế hoạt động của hệ thống.
- Xây dựng: Các mô hình UML có thể được ánh xạ trực tiếp sang mã nguồn (code) của nhiều ngôn ngữ lập trình.
- Tài liệu hóa: Ghi lại các quyết định thiết kế, kiến trúc và yêu cầu của hệ thống trong suốt quá trình phát triển.
2. Các Loại Biểu đồ UML Cơ bản
UML 2.x cung cấp 14 loại biểu đồ, được chia thành hai nhóm chính:
A. Biểu đồ cấu trúc (Structure Diagrams)
Mô tả các thành phần tĩnh (static parts) của hệ thống—những thứ cần phải có trong hệ thống.
- Class Diagram (Biểu đồ Lớp): Phổ biến nhất; thể hiện cấu trúc tĩnh của hệ thống bằng cách mô tả các lớp, thuộc tính, phương thức và mối quan hệ giữa chúng.
- Component Diagram (Biểu đồ Thành phần): Mô tả cách các thành phần phần mềm được nhóm lại và mối quan hệ phụ thuộc giữa chúng.
- Deployment Diagram (Biểu đồ Triển khai): Thể hiện kiến trúc vật lý của hệ thống: các thiết bị phần cứng (nodes) và cách các thành phần phần mềm (artifacts) được triển khai trên các thiết bị đó.
- Object Diagram (Biểu đồ Đối tượng): Giống như Biểu đồ Lớp, nhưng thể hiện các thể hiện (instance/object) cụ thể tại một thời điểm.
B. Biểu đồ hành vi (Behavior Diagrams)
Mô tả hành vi động (dynamic behavior) của hệ thống, bao gồm các hoạt động, sự tương tác và thay đổi trạng thái theo thời gian.
- Use Case Diagram (Biểu đồ Ca sử dụng): Thể hiện các yêu cầu chức năng của hệ thống dưới góc nhìn của người dùng (Actor), mô tả hệ thống làm gì chứ không phải làm như thế nào.
- Activity Diagram (Biểu đồ Hoạt động): Mô tả luồng công việc (workflow) từng bước, thể hiện trình tự và sự điều kiện hóa của các hoạt động.
- Sequence Diagram (Biểu đồ Trình tự): Mô tả sự tương tác giữa các đối tượng theo thứ tự thời gian, cho thấy các đối tượng gửi và nhận thông điệp nào.
- State Machine Diagram (Biểu đồ Máy trạng thái): Mô tả vòng đời của một đối tượng đơn lẻ và các trạng thái mà nó có thể chuyển đổi.
3. Tầm quan trọng trong Phát triển Phần mềm
UML là công cụ giao tiếp chuẩn hóa, đóng vai trò quan trọng trong mọi giai đoạn của chu trình phát triển phần mềm:
- Phân tích Yêu cầu: Sử dụng Biểu đồ Use Case để xác định các chức năng và tương tác giữa người dùng với hệ thống.
- Thiết kế Kiến trúc: Sử dụng Biểu đồ Lớp, Thành phần và Triển khai để phác thảo cấu trúc tĩnh của hệ thống.
- Thiết kế Chi tiết: Sử dụng Biểu đồ Trình tự và Hoạt động để mô tả luồng logic và hành vi của các đối tượng.
- Bảo trì và Cải tiến: Tài liệu UML giúp các nhà phát triển mới dễ dàng hiểu cấu trúc hệ thống để thực hiện bảo trì và mở rộng.
Tóm lại, UML là ngôn ngữ chung giúp các bên liên quan truyền đạt và thống nhất về thiết kế phức tạp của hệ thống một cách rõ ràng và ít mâu thuẫn.
« Back to Glossary Index