Ngơn ngữ mơ hình hóa thống nhất UML (Unified Modeling Language) [60] là một chuẩn ngôn ngữ, phiên bản đầu tiên 0.9 ra đời vào năm 1997 bởi sự hợp nhất của các phương pháp: phương pháp của Grady Booch [69], kỹ thuật mơ hình hóa đối tượng (Object Modeling Technique - OMT) của James Rumbaugh [59] và kỹ nghệ phần mềm hướng đối tượng (Object- Oriented Software Engineering - OOSE) của Ivar Jacobsen [31]. UML được công nhận là chuẩn ISO (International Organization for Standardization) bởi tổ chức OMG (Object Management Group) vào năm 2005. UML bao gồm một tập các ký pháp đồ họa thống nhất được sử dụng rộng rãi, hiệu quả trong việcđặc tả vàthiết kế các hệ thống phần mềm theo phương pháp hướng đối tượng [9, 41]. Mơ hình hóa hệ thống bằng UML giúp người phát triển hệ thống có được cái nhìn trực quan, dễ dàng xác định được các thành phần chính, cấu trúc tĩnh cũng như các hành vi động của hệ thống.
Phiên bản mới nhất của UML là 2.5 phát hành vào năm 2015 và bổ sung nhiều loại biểu đồ hơn so với các phiên bản UML trước đây. Hình 2.1 mô tả tổng quan các loại biểu đồ trong UML 2.5 [61]. Các biểu đồ này được phân loại thành hai nhóm chính: (1) nhóm các biểu đồ mơ tả cấu trúc (structure diagram) và (2) nhóm các biểu đồ mơ tả hành vi (behavior diagram). Nhóm
hệ thống, các khía cạnh này biểu diễn các thành phần của biểu đồ và tạo thành cấu trúc chính của hệ thống. Các biểu đồ lớp (class diagram), biểu đồ đối tượng (object diagram), biểu đồ gói (package diagram) và một số biểu đồ khác như phía bên trái của Hình 2.1 [61] thuộc về nhóm các biểu đồ cấu trúc. Nhóm các biểu đồ mơ tả khía cạnh động (dynamic) của hệ thống là các biểu đồ hành vi, bao gồm các biểu đồ tiêu biểu là biểu đồ ca sử dụng (use case diagram), biểu đồ tương tác (interaction diagram), biểu đồ trạng thái (state diagram) và biểu đồ hoạt động (activity diagram). Các biểu đồ này cho phép trực quan hóa, đặc tả, xây dựng và tài liệu hóa các hoạt động biểu diễn hành vi của hệ thống phần mềm.
Trong tiểu mục này, luận án trình bày chi tiết hai biểu đồ tiêu biểu trong UML là biểu đồ lớp và biểu đồ tuần tự. Biểu đồ lớp thuộc về nhóm các biểu đồ cấu trúc và biểu đồ tuần tự thuộc về nhóm các biểu đồ hành vi, đây là các biểu đồ được sử dụng trong các Chương 3, 4 của luận án.
2.3.1 Biểu đồ lớp
Biểu đồ lớp (Class Diagram-CD) [60] được sử dụng để biểu diễn khung nhìn tĩnh (static view) của hệ thống. Khung nhìn tĩnh là nền tảng cơ bản của UML. Các phần tử của khung nhìn tĩnh của mơ hình là các khái niệm trong miền ứng dụng, bao gồm các khái niệm thế giới thực, các khái niệm trừu tượng, các khái niệm cài đặt, các khái niệm máy tính và nhìn chung là tất cả các khái niệm xuất hiện trong hệ thống phần mềm.
Khung nhìn tĩnh phản ánh cấu trúc đối tượng của hệ thống. Cấu trúc dữ liệu và các hành vi được thống nhất trong cấu trúc đối tượng. Khung nhìn tĩnh mơ tả các khai báo hành vi dưới dạng khai báo các thao tác. Phần tử chính trong khung nhìn tĩnh là các phân lớp (lớp, giao diện và kiểu dữ liệu) và quan hệ giữa chúng (quan hệ kết hợp, quan hệ tổng quát hóa và quan hệ phụ thuộc). Trong khung nhìn này, mỗi đối tượng là một đơn vị cơ bản làm nên hệ thống và gói là đơn vị tổ chức chung để quản lý các nội dung của mơ hình. Hình 2.2minh họa các khái niệm cơ bản của biểu đồ lớp trong UML [61].
Hình 2.1: Tổng quan về các loại biểu đồ trong UML 2.5
2.3.2 Biểu đồ tuần tự
Biểu đồ tuần tự (Sequence Diagram - SD) tập trung vào trình tự thời gian của các thơng điệp [60]. Nó biểu diễn tương tác ở dạng biểu đồ hai chiều. Chiều dọc là trục thời gian, tính từ trên xuống. Chiều ngang chỉ ra các vai trò của đối tượng tham gia cộng tác. Mỗi vai trò được tái hiện bởi một cột dọc gồm hai phần, phần tiêu đề thường là phần khai báo thể hiện lớp và phần đường thẳng dọc gọi là đường chu kỳ sống (lifeline). Thời gian tồn tại của đối tượng được biểu diễn bằng đường nét đứt. Trong khoảng thời gian thực hiện của một thủ tục đối tượng, đường chu kỳ sống sẽ là đường nét đơi.
Hình 2.2: Minh họa biểu đồ lớp trong UML
Một thông điệp được biểu diễn ở dạng đường mũi tên từ đường chu kỳ sống của một đối tượng gửi đến đối tượng nhận. Các mũi tên này được sắp xếp theo trình tự thời gian từ trên xuống. Khác với các thông điệp đồng bộ, các thông điệp không đồng bộ sẽ được biểu diễn bằng đường mũi tên ở đầu khơng được tơ đặc.
Hình2.3[61] minh họa biểu đồ tuần tự và luận án còn sử dụng khái niệm
kịch bản (scenario) để tham chiếu đến biểu đồ tuần tự trong UML.