[Hệ Thống Thông Tin] Phân Tích Chức Năng Phần 2

Sau khi đã tìm được use case, tác nhân cần xây dựng bảng theo mẫu sau
Mô tả sơ lược ca sử dụng
Mô tả sơ lược ca sử dụng
Ø  Mô tả mô hình ca sử dụng tổng thể
mô tả ca sử dụng tổng thể

Sau khi đã mô tả xong chúng ta đã sơ lược có thể tạo được giao diện người dùng, tuy
nhiên sẽ được nghiên cứu sâu hơn sau.
Giao diện người dùng
Giao diện người dùng
Là biểu đồ thể hiện sự tương tác, mối quan hệ giữa các Use case và actor trong hệ thống.
Mỗi hệ thống thường có một biểu đồ Use case chính thể hiện phạm vi của hệ thống và các chức năng chính của hệ thống. Số lượng các Use case khác được tạo ra sẽ tùy thuộc vào yêu cầu. Có thể là:

 * Một biểu đồ thể hiện tất cả các Use case liên quan đến một actor nào đó
 * Một biểu đồ thể hiện tất cả các Use case được cài đặt trong một giai đoạn phát triển.
 * Một biểu đồ thể hiện một Use case và tất cả các mối quan hệ của nó.

Tuy nhiên nên cân nhắc để các biểu đồ thể hiện đủ các thông tin cần thiết, nếu quá nhiều biểu đồ sẽ gây ra sự nhầm lẫn và mất đi lợi ích của việc đơn giản hóa. Tập hợp các Use case giúp cho khách hàng dễ dàng xem xét ở mức tổng quát hệ thống mà ta sẽ xây dựng.
Một hệ thống thông thường có từ 20 đến 50 Use case.
Biểu đồ là các hình vẽ bao gồm các ký hiệu phần tử mô hình hóa được sắp xếp để minh họa một thành phần cụ thể hay một khía cạnh cụ thể của hệ thống. Một mô hình hệ thống thường có nhiều loại biểu đồ, mỗi loại có nhiều biểu đồ khác nhau. Một biểu đồ là một thành phần của một hướng nhìn cụ thể; và khi được vẽ ra, nó thường thường cũng được xếp vào một hướng nhìn. Mặt khác, một số loại biểu đồ có thể là thành phần của nhiều hướng nhìn khác nhau, tùy thuộc vào nội dung của biểu đồ.
Công cụ UML trong Rational Rose
Công cụ UML trong Rational Rose
Phần sau miêu tả các khái niệm căn bản nằm đằng sau mỗi loại biểu đồ. Tất cả các chi tiết về biểu đồ, ngữ cảnh của chúng, ý nghĩa chính xác của chúng và sự tương tác giữa chúng với nhau được miêu tả chi tiết trong các chương sau (mô hình đối tượng – mô hình động). Các biểu đồ lấy làm ví dụ ở đây được lấy ra từ nhiều loại hệ thống khác nhau để chỉ ra nét phong phú và khả năng áp dụng rộng khắp của ULM.
Tài liệu ca sử dụng là việc chúng ta thu thập các thông tin về một ca sử dụng nào đó.

Trong biểu đồ use có biểu đồ gộp và biểu đồ chi tiết. Biểu đồ gộp là biểu đồ cho toàn bộ hệ thống và toàn bộ các use case, các mối quan hệ giữa các usecase.
Như vậy một biểu đồ usecase thể hiên
- Hệ thống
- Tác nhân
- Use Case.
biểu đồ Usecase trong UML

Quan hệ giữa Use case và Actor:
Thường gọi là quan hệ tương tác vì nó thể hiện sự tương tác giữa một actor và một Use case. Mối quan hệ này có thể là hai chiều (từ Actor đến Use case và ngược lại), nó cũng có thể chỉ là một chiều, lúc đó chiều của quan hệ sẽ chỉ ra rằng ai là người khởi tạo liên lạc (communicate). Quan hệ này thể hiện bởi một đường thẳng nối giữa actor và Use case (quan hệ hai chiều) hay một mũi tên (quan hệ một chiều).

Quan hệ giữa Use case với Use case:
Có ba loại quan hệ Use Case: Quan hệ mở rộng, quan hệ sử dụng và quan hệ tạo nhóm. Quan hệ mở rộng và quan hệ sử dụng là hai dạng khác nhau của tính thừa kế. Quan hệ tạo nhóm là một phương cách để đặt nhiều Use Case chung với nhau vào trong một gói.
Quan hệ Uses (sử dụng):
Có thể có nhiều Use case có chung một số chức năng nhỏ. Khi đó nên tách chức năng đó thành một Use case riêng hơn là mô tả nó trong tất cả các Use case mà cần chức năng đó. Khi đó có một quan hệ Uses giữa các Use case trên và Use case vừa tạo ra.

Ví dụ: trong hệ thống quản lý thư viện, mọi Use case đều bắt đầu bằng việc kiểm tra định danh của người dùng. Chức năng này có thể mô tả trong một Use case tên là “Đăng nhập hệ thống”, sau đó các Use case khác sẽ sử dụng Use case này khi cần thiết.
Quan hệ mở rộng
Nhiều khi trong quá trình phát triển Use Case, người ta thấy một số Use Case đã tồn tại cung cấp một phần những chức năng cần thiết cho một Use Case mới. Trong một trường hợp như vậy, có thể định nghĩa một Use Case mới là Use Case cũ cộng thêm một phần mới. Một Use Case như vậy được gọi là một Use Case mở rộng (Extended Use Case ). Trong quan hệ mở rộng, Use Case gốc (Base Use Case ) được dùng để mở rộng phải là một Use Case hoàn thiện. Use Case mở rộng không nhất thiết phải sử dụng toàn bộ hành vi của Use Case gốc.
Biểu đồ sau chỉ ra Use Case “Ký hợp đồng mua ô tô” là Use Case mở rộng của "Ký hợp đồng bảo hiểm”.
Quan hệ mở rộng giữa các Use Case được biểu thị bằng đoạn thẳng với hình tam giác rỗng trỏ về phía Use Case được dùng để mở rộng, đi kèm với stereotype <<extends>>.
Không giống như quan hệ Uses trong đó nói rằng khi một Use case A sử dụng Use case B có nghĩa là trong khi thực hiện Use case A phải thực hiện Use case B, quan hệ Extends dùng để chỉ:

 * Các hành vi tùy chọn: có thể thực hiện hoặc không.
  Ví dụ: khi gửi email có thể thực hiện các thao tác bảo mật nội dung thư hoặc là không. Ta có Use case “Bảo mật” có quan hệ extends với Use case “Gửi email”.
 * Các hành vi mà chỉ thực hiện trong một số điều kiện nhất định.
  Ví dụ như: Khi thêm sách mới trong thư viện thì phải nhập các từ khóa cho nó, nếu từ khóa chưa có phải thực hiện thêm từ khóa rồi mới tiếp tục thực hiện thêm các thông tin về sách. Ta có Use case “Thêm từ khóa” có quan hệ extends Use case “Thêm sách”.
 * Một số hành vi khác sẽ được thực hiện phụ thuộc vào sự lựa chọn của người dùng.
  Ví dụ như: người dùng của hệ thống rút tiền tự động có thể chọn Rút tiền nhanh hoặc Rút tiền theo cách bình thường. Ta có Use case “Rút tiền nhanh” có quan hệ extends với Use case “Rút tiền”.

 Quan hệ sử dụng
Khi một nhóm các Use Case cùng chung một hành vi nào đó thì hành vi này có thể được tách riêng ra thành một Use Case riêng biệt và nó có thể được sử dụng bởi các Use Case kia, một mối quan hệ như vậy được gọi là quan hệ sử dụng.
Trong quan hệ sử dụng, phải sử dụng toàn bộ Use Case khái quát hóa, nói một cách khác, ta có một Use Case này sử dụng toàn bộ một Use Case khác. Các hành động trong Use Case khái quát hóa không cần phải được sử dụng trong cùng một tiến trình. Chúng có thể được trộn lẫn với các hành động xảy ra trong Use Case chuyên biệt hóa.
Quan hệ sử dụng giữa các Use Case được biểu thị bằng đoạn thẳng với hình tam giác rỗng trỏ về phía Use Case được sử dụng, đi kèm với stereotype <<uses>>.
- Quan hệ chung nhóm
Khi một số các Use Case cùng xử lý các chức năng tương tự hoặc có thể liên quan đến nhau theo một phương thức nào đó, người ta thường nhóm chúng lại với nhau.
Nhóm các Use Case được thực hiện bằng khái niệm "Gói" (Package) của UML. Gói không cung cấp giá trị gia tăng cho thiết kế.

Ví dụ: tất cả các Use Case có liên quan đến sự tương tác giữa khách hàng và nhân viên thu ngân sẽ được nhóm thành "Package Khách hàng- N/v thu ngân" 
Tóm tắt về Use Case với máy ATM trong ngân hàng lẻ:
Cho tới nay chúng ta đã xác định được một vài Use Case, phân tích dòng hành động chính cũng như các dòng hành động thay thế, cũng như rút ra các mối quan hệ giữa chúng. Biểu đồ sau tổng hợp những thông tin đã thu thập được về nhóm các Use Case căn bản của một hệ thống ATM. 
Biểu đồ Use Case Máy ATM Ngân hàng
Biểu đồ Use Case Máy ATM Ngân hàng
Quan hệ Generalization (thừa kế):
Cũng giống như quan hệ thừa kế giữa hai lớp, quan hệ thừa kế giữa use case A và use case B nói lên rằng use case B kế thừa những đặc điểm của use case A ngoài ra nó cũng có thể có thêm những đặc trưng riêng của nó.
Ví dụ: như kiểm tra định danh người dùng có thể theo nhiều cách: Kiểm tra mã số, kiểm tra dấu vân tay...
Khi đó cả hai đều thực hiện một số hành động tương đối giống nhau của một lớp hành động gọi là “Kiểm tra định danh người dùng”.



System Boundary (khung hệ thống)

Các Use Case thường được bao trong một khung chữ nhật biểu thị hệ thống (System Boundary). Khi đó Uses Case đặt bên trong hệ thống và Actor đặt bên ngoài hệ thống. Ví dụ: Use Case Withdraw là một chức năng của hệ thống con («subsystem») ATM.



Mới hơn Cũ hơn

Biểu mẫu liên hệ