Biểu đồ UML Use case trong thiết kế hệ thống thông tin

Biểu đồ UML Use case trong thiết kế hệ thống thông tin

1. UML là gì?

1.1. Khái niệm UML

Ngôn ngữ mô hình hóa thống nhất (tiếng Anh: Unified Modeling Language, viết tắt thành UML) là ngôn ngữ dành cho việc đặc tả, hình dung, xây dựng và làm tài liệu của các hệ thống phần mềm.

UML tạo cơ hội để viết thiết kế hệ thống, bao gồm những khái niệm như tiến trình nghiệp vụ và các chức năng của hệ thống.

1.2. Mục Tiêu Của UML

UML cung cấp cho người dùng một ngôn ngữ mô hình hoá trực quan sẵn sàng để dùng và có ý nghĩa:

  • Cho phép phát triển và trao đổi những mô hình mang nhiều ý nghĩa.
  • Cung cấp khả năng mở rộng và chuyên môn hoá để mở rộng những khái niệm cốt lõi.
  • Độc lập với ngôn ngữ lập trình chuyên biệt và các tiến trình phát triển.
  • Cung cấp nền tảng về sự hiểu biết ngôn ngữ mô hình hoá.
  • Khuyến khích và hỗ trợ sự phát triển của các công cụ hướng đối tượng.
  • Hỗ trợ những khái niệm phát triển cấp độ cao như collaboration, framework, pattern and component.
  • Tích hợp một cách tốt nhất với thực tiễn.
1.3. Phân loại UML

Sơ đồ UML (UML diagrams). Có các loại sơ đồ UML chủ yếu sau:

  • Sơ đồ lớp (Class Diagram)
  • Sơ đồ đối tượng (Object Diagram)
  • Sơ đồ tình huống sử dụng (Use Cases Diagram)
  • Sơ đồ trình tự (Sequence Diagram)
  • Sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure Diagram)
  • Sơ đồ trạng thái (State Machine Diagram)
  • Sơ đồ thành phần (Component Diagram)
  • Sơ đồ hoạt động (Activity Diagram)
  • Sơ đồ triển khai (Deployment Diagram)
  • Sơ đồ gói (Package Diagram)
  • Sơ đồ liên lạc (Communication Diagram)
  • Sơ đồ tương tác (Interaction Overview Diagram - UML 2.0)
  • Sơ đồ phối hợp thời gian (Timing Diagram - UML 2.0)

Bài blog này sẽ tìm hiểu về sơ đồ USE CASE nhé ae!

2. Hiểu biết cơ bản về biểu đồ USE CASE

2.1. Biểu đồ use case là gì?

Use Case là kỹ thuật dùng để mô tả sự tương tác giữa người dùng và hệ thống với nhau, trong một môi trường cụ thể và vì một mục đích cụ thể.

2.2. Khi nào thì nên sử dụng Use case:

Use case không phải biểu đồ dùng để mô tả đi sâu vào chi tiết. Thay vào đó, một biểu đồ use case thích hợp để mô tả tổng quan về mối quan hệ giữa các use case, tác nhân và hệ thống.

2.3. Use case UML lý tưởng cho:
  • Trình bày các mục tiêu của việc tương tác giữa người dùng và hệ thống
  • Xác định và tổ chức các yêu cầu chức năng trong một hệ thống
  • Xác định bối cảnh và yêu cầu của hệ thống
  • Mô hình hóa luồng sự kiện (events) cơ bản
2.3. Cấu trúc của use case:

Use Case Diagram gồm 5 thành phần chính:

  • Actor: ULM quy định là người que, là một user hoặc hệ thống vì không phải giải pháp/ phần mềm nào làm ra đều được sử dụng bởi con người. Có những phần mềm làm ra, để cho… phần mềm khác sử dụng.
    Use-Case-Actor2
  • Use Case: thể hiện dưới dạng hình Oval, thể hiện sự tương tác giữa các Actor và hệ thống.
  • Communication Link: thể hiện sự tương tác giữa Actor nào với System. Nối giữa Actor với Use Case.
  • Boundary of System: là phạm vi mà Use Case xảy ra.
  • Relationships: gồm 3 loại: Include, Extend, và Generalization.
    Cac-thanh-phan-cua-UseCase

a) Include

  • Include nghĩa: là mối quan hệ bắt buộc phải có giữa các Use Case với nhau.
  • Include nghĩa là bao gồm, tức nếu Use Case A có mối quan hệ include Use Case B, thì nghĩa là: Use Case A bao gồm Use Case B. Để Use Case A xảy ra, thì Use Case B phải đạt được.
    Use-Case-Include3
    Muốn rút được tiền thì đầu tiên khách hàng phải xác thực tài khoản.

b) Extend
Extend là mối quan hệ mở rộng giữa các Use Case với nhau.

Nếu Include là mối quan hệ bắt buộc, thì Extend là một mối quan hệ không bắt buộc. Nó thể hiện mối quan hệ có thể có hoặc có thể không giữa các Use Case với nhau.

Một Use Case B là extend của Use Case A thì có nghĩa Use Case B chỉ là một thứ optional, và chỉ xảy ra trong một hoàn cảnh cụ thể nào đó.
Use-Case-Extend5
Mối quan hệ Extend trong Use Case Diagram của Faceboolk và user.

c) Generalization
Generalization đơn giản là quan hệ cha con giữa các Use Case với nhau. Nhưng khác biệt với Include và Extend là nó còn được dùng để thể hiện mối quan hệ giữa các… Actor với nhau.

4. Các giai đoạn xây dựng một Use Case Diagram

Giai đoạn mô hình hóa:

+/ Bước 1: Thiết lập ngữ cảnh của hệ thống đích. +/ Bước 2: Chỉ định các Actor.

+/ Bước 3: Chỉ định các Use Case.

+/ Bước 4: Định nghĩa các quan hệ giữa các Actor và các Use Case.

+/ Bước 5: Đánh giá các Actor và các Use Case để tìm cách chi tiết hóa.

Giai đoạn cấu trúc:

+/ Bước 6: Đánh giá các Use Case cho quan hệ phụ thuộc «include».

+/ Bước 7: Đánh giá các Use Case cho quan hệ phụ thuộc «extend».

+/ Bước 8: Đánh giá các Use Case cho quan hệ generalizations.

Giai đoạn review: Sau khi định nghĩa Use Case, cần tiến hành thử nghiệm Use Case:

+/ Kiểm tra (verification): đảm bảo là hệ thống đã được phát triển đúng đắn và phù hợp với các đặc tả đã được tạo ra.

+/ Phê chuẩn (validation): đảm bảo rằng hệ thống sẽ được phát triển chính là thứ mà khách hàng hoặc người sử dụng cuối thật sự cần đến.

+/ Một trong những kỹ thuật hữu dụng được dùng trong cả giai đoạn định nghĩa lẫn thử nghiệm Use Case gọi là walk-throughs with use-case storyboards (đi bộ dọc Use Case).

5. Các ví dụ đơn giản của Use case:

Ví dụ 1:
Use-case_diagram-ex

Trên đây là ví dụ về Use case diagram cho trường hợp "Login". Trong ví dụ này, chúng ta có nhiều người sử dụng hệ thống và tất cả đều được đặt bên ngoài hệ thống. Students, Teacher, Parents được xem như là những người dùng chính (Actors) của hệ thống vì thế họ được đặt bên trái và ở ngoài hình chữ nhật.Admin và Staff được xem là người dùng phụ vì thế cũng được đặt bên phải và ở ngoài hình chữ nhật. Tất cả các người dùng đều có thể đăng nhập vào hệ thống vì thế chúng ta biểu diễn mối quan hệ giữa người dùng (Actors) và chức năng Login.Ngoài ra, còn những chức năng khác của hệ thống như "Reset Password" và "Forgot Password". Chúng cũng có mối liên quan đến chức năng "Login", vì thế chúng ta cũng cần có biểu diễn mối quan hệ giữa các chức năng này với nhau.

Ví dụ 2:
Tưởng tượng đêm đi làm về gặp một người đàn ông cầm cưa máy đứng giữa đường, có thể lập ra use case sau:
use-case-diagram-example-525x528

6.Công cụ vẽ biểu đồ UML

Trên đây là một số lý thuyết cơ bản khi thực hiện xác định các use case của một hệ thống. Đối với Tester, việc xác định các use case rõ ràng là một sự cần thiết.
Cảm ơn ace đã đọc bài viết!!!