Các qui tắc và các hướng dẫn về use-case và sơ đồ use-case.
Quá trình dùng để tạo use-case và sơ đồ use-case.
Tạo các mô hình chức năng sử dụng use-case và sơ đồ use-case.
                
              
                                            
                                
            
                       
            
                 34 trang
34 trang | 
Chia sẻ: haohao89 | Lượt xem: 2532 | Lượt tải: 1 
              
            Bạn đang xem trước 20 trang tài liệu Bài giảng Mô hình hóa chức năng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 6. Mô hình hóa chức năng 2006 1Nguyễn Trung Trực - Khoa CNTT
Chương 6
Mô hình hóa chức năng
Chương 6. Mô hình hóa chức năng 2006 2Nguyễn Trung Trực - Khoa CNTT
 Các qui tắc và các hướng dẫn về use-case
và sơ đồ use-case.
 Quá trình dùng để tạo use-case và sơ đồ
use-case.
 Tạo các mô hình chức năng sử dụng use-
case và sơ đồ use-case.
Nội dung
Chương 6. Mô hình hóa chức năng 2006 3Nguyễn Trung Trực - Khoa CNTT
Các thành phần của sơ đồ use-case
Chương 6. Mô hình hóa chức năng 2006 4Nguyễn Trung Trực - Khoa CNTT
 Use-case là một chuỗi các tác vụ mà hệ
thống thực hiện để đạt được mục đích nào 
đó của người sử dụng hoặc hệ thống bên 
ngoài.
 Use-case dùng để mô tả một hành vi cụ
thể của hệ thống dưới các điều kiện khác 
nhau khi hệ thống đáp ứng các yêu cầu 
của người sử dụng.
f Người sử dụng có thể làm gì.
f Hệ thống đáp ứng như thế nào.
 Use-case biểu diễn một quá trình nghiệp 
vụ quan trọng.
Use-case
Chương 6. Mô hình hóa chức năng 2006 5Nguyễn Trung Trực - Khoa CNTT
 Ký hiệu use-case
f Use-case được biểu diễn bằng một hình bầu 
dục, cho phép người phân tích nhìn thấy mỗi 
use-case liên quan đến tác nhân và các use-
case khác trong hệ thống hoặc hệ thống con.
f Tên của use-case
y Được ghi trong hình bầu dục hoặc ở phía 
dưới, nhưng phải nhất quán trong cùng 
một mô hình.
y Bao gồm các ký tự chữ, số, dấu phân 
cách.
Use-case
Chương 6. Mô hình hóa chức năng 2006 6Nguyễn Trung Trực - Khoa CNTT
 Ký hiệu use-case
f Tên của use-case
y Không chứa dấu hai chấm (:) vì dấu này 
dùng để phân cách tên use-case với tên 
gói (package name).
y Bắt đầu bằng động từ, theo sau là một 
danh từ hoặc cụm danh từ để mô tả hành 
vi của hệ thống. Ví dụ: Make appointment, 
Produce schedule information.
Use-case
Make 
appointment
Produce schedule 
information
Chương 6. Mô hình hóa chức năng 2006 7Nguyễn Trung Trực - Khoa CNTT
 Các bước tạo một use-case
f Viết mô tả chi tiết (văn bản) cho use-case, 
dùng bản mô tả use-case.
f Chuyển mô tả thành các sơ đồ: sơ đồ lớp, sơ 
đồ tuần tự, …
Tạo use-case
Chương 6. Mô hình hóa chức năng 2006 8Nguyễn Trung Trực - Khoa CNTT
Bản mô tả use-case
 Use-case có thể được mô tả:
f Bằng văn bản có cấu trúc: ví dụ mã giả
(pseudo code).
f Thông qua đặc tả hành vi (behavior 
specification) được biểu diễn bởi một liên kết 
đến một sơ đồ khác: ví dụ sơ đồ cộng tác 
(collaboration diagram).
 Sử dụng bản mô tả use-case (use-case 
description).
Chương 6. Mô hình hóa chức năng 2006 9Nguyễn Trung Trực - Khoa CNTT
Bản mô tả use-case
Use-case name: ID: Importance level:
Primary actor: Use-case type:
Stakeholders and interests:
Brief description:
Trigger:
Type:
Relationships: (Association, Include, Extend, Generalization)
Normal flow of events:
Subflows:
Alternative/exceptional flows:
Bản mô tả use-case
Chương 6. Mô hình hóa chức năng 2006 10Nguyễn Trung Trực - Khoa CNTT
 Viết mỗi bước theo dạng “SVDPI”
(Subject-Verb-Direct Object / Preposition-
Indirect Object).
 Làm rõ người bắt đầu (initiator) và người 
nhận (receiver) của tác vụ.
 Viết các bước từ góc nhìn của người quan 
sát (observer) riêng biệt.
 Viết các bước ở cùng một mức trừu tượng 
hóa.
 Bảo đảm use-case bao gồm các bước hợp 
lý.
Hướng dẫn tạo mô tả use-case
Chương 6. Mô hình hóa chức năng 2006 11Nguyễn Trung Trực - Khoa CNTT
 Áp dụng nguyên tắc KISS (Keep It Simple 
Stupid) tùy nghi.
 Viết các chỉ thị lặp vòng cho các bước 
được lặp lại.
Hướng dẫn tạo mô tả use-case
Chương 6. Mô hình hóa chức năng 2006 12Nguyễn Trung Trực - Khoa CNTT
Tổng quát hóa giữa các use-case
 Một use-case phổ quát (general use-case) 
có nhiều phiên bản khác nhau, được gọi là
use-case chuyên biệt (specialized use-
case).
 Các use-case chuyên biệt thực hiện một 
số hành động giống nhau và một số hành 
động khác nhau riêng biệt.
 Mối liên kết tổng quát hóa (specialization 
association) được biểu diễn bởi một mũi 
tên có đầu mũi tên rỗng, đi từ use-case
chuyên biệt đến use-case phổ quát.
Chương 6. Mô hình hóa chức năng 2006 13Nguyễn Trung Trực - Khoa CNTT
Tổng quát hóa giữa các use-case
Make 
appointment
Make old 
patient appt
Make new 
patient appt
General use-case
Specialized use-case
Generalization association
Chương 6. Mô hình hóa chức năng 2006 14Nguyễn Trung Trực - Khoa CNTT
Tổng quát hóa giữa các use-case
 Use-case chuyên biệt thừa kế các hành 
động của use-case phổ quát.
 Đôi khi use-case phổ quát không tồn tại 
thực sự trong hệ thống thực, được gọi là
use-case trừu tượng (abstract use-case), 
nó chỉ dùng để cho thấy các hành động 
chung của các use-case chuyên biệt.
f Tên của use-case trừu tượng được viết 
nghiêng.
Chương 6. Mô hình hóa chức năng 2006 15Nguyễn Trung Trực - Khoa CNTT
 Tác nhân (actor) là thực thể ngoài 
(external entity) tương tác với hệ thống 
(các use-case).
 Đa số các tác nhân biểu diễn các vai trò 
của người sử dụng (user role) nhưng các 
tác nhân cũng có thể là các hệ thống ngoài 
(external system).
 Một tác nhân là một vai trò (role), không 
phải là một người sử dụng cụ thể.
fMột người sử dụng có thể có nhiều vai trò.
fMột tác nhân có thể biểu diễn nhiều người sử
dụng.
Tác nhân
Chương 6. Mô hình hóa chức năng 2006 16Nguyễn Trung Trực - Khoa CNTT
 Ký hiệu tác nhân
f Tác nhân được biểu diễn bằng một hình 
người.
f Tên của tác nhân
y Được ghi ở phía dưới hình người.
y Là một danh từ số ít.
y Tên của tác nhân là tên của vai trò mà tác 
nhân đảm nhận, không là tên công việc.
Tác nhân
Chương 6. Mô hình hóa chức năng 2006 17Nguyễn Trung Trực - Khoa CNTT
 Tác nhân được đặt bên ngoài hệ thống.
 Tác nhân được kết nối với use-case bằng 
một mối liên kết giữa tác nhân và use-
case.
fMột tác nhân có thể liên kết với nhiều use-
case.
fMột use-case có thể liên kết với nhiều tác 
nhân.
 Một tác nhân có thể liên kết với các tác 
nhân khác bằng cách sử dụng mối liên kết 
tổng quát hóa (generalization association) 
được biểu diễn bởi một mũi tên có đầu 
mũi tên rỗng.
Tác nhân
Chương 6. Mô hình hóa chức năng 2006 18Nguyễn Trung Trực - Khoa CNTT
 Xác định các tác nhân
f Ai sẽ đưa thông tin vào hệ thống?
f Ai sẽ nhận thông tin từ hệ thống?
f Các hệ thống khác sẽ thương tác với hệ
thống này?
Tác nhân
Chương 6. Mô hình hóa chức năng 2006 19Nguyễn Trung Trực - Khoa CNTT
Tác nhân
Old Patient New Patient
Patient Generalization association
Chương 6. Mô hình hóa chức năng 2006 20Nguyễn Trung Trực - Khoa CNTT
 Đường biên hệ thống (system boundary) là 
đường phân chia giữa hệ thống với môi 
trường.
f Các use-case ở bên trong đường biên.
f Các tác nhân ở bên ngoài đường biên.
Đường biên hệ thống
System
System boundary
Chương 6. Mô hình hóa chức năng 2006 21Nguyễn Trung Trực - Khoa CNTT
 Mối liên kết (relationship) là một kết nối 
giữa một tác nhân với một use-case.
 Mối liên kết mô tả mối quan hệ sử dụng 
(usage relationship).
 Mối liên kết không cho biết dòng dữ liệu 
(data flow).
Mối liên kết
Relationship
Chương 6. Mô hình hóa chức năng 2006 22Nguyễn Trung Trực - Khoa CNTT
 Mối liên kết > là một kết nối 
giữa hai use-case, cho thấy một use-case 
được sử dụng bởi một use-case khác.
 Liên kết đến các chức năng thường dùng, 
được nhiều use-case khác sử dụng.
 Mũi tên đi từ use-case cơ sở (base use-
case) đến use-case được sử dụng (used 
use-case).
Mối liên kết >
Chương 6. Mô hình hóa chức năng 2006 23Nguyễn Trung Trực - Khoa CNTT
Mối liên kết >
Produce 
schedule 
information
Management
Doctor
Record 
availability
Manage 
schedule
>
>
Base use-case
Used use-case
Chương 6. Mô hình hóa chức năng 2006 24Nguyễn Trung Trực - Khoa CNTT
 Mối liên kết > là một kết nối giữa 
hai use-case, mở rộng một use-case bằng 
cách thêm vào một hành vi mới.
 Use-case chuyên biệt hóa (specialized 
use-case) mở rộng use-case phổ quát 
(general use-case).
 Mũi tên đi từ use-case chuyên biệt hóa đến 
use-case phổ quát.
Mối liên kết >
Chương 6. Mô hình hóa chức năng 2006 25Nguyễn Trung Trực - Khoa CNTT
Mối liên kết >
Update 
patient 
information
Management Management
Make 
appointment
Make old 
patient appt
>
Make new 
patient appt
Make 
payment 
arrangement
>
Management
Specialized use-case General use-case
Chương 6. Mô hình hóa chức năng 2006 26Nguyễn Trung Trực - Khoa CNTT
 Sử dụng > khi muốn mô hình 
hóa sự mở rộng cho một use-case đầy đủ
mà sự mở rộng này chỉ ở trong use-case
này.
 Sử dụng > khi muốn tách ra 
một hành vi chung giữa hai hoặc nhiều 
use-case thành một use-case tổng quát 
hóa (generalized use-case).
Include và Extend
Chương 6. Mô hình hóa chức năng 2006 27Nguyễn Trung Trực - Khoa CNTT
Include và Extend
Các mối liên kết >, > và tổng quát hóa
Chương 6. Mô hình hóa chức năng 2006 28Nguyễn Trung Trực - Khoa CNTT
 Kiểu mở rộng (stereotype) là một thành 
phần (construct) dùng để mở rộng từ vựng 
(vocabulary) của UML.
 Thêm các ngữ nghĩa mới cho các thực thể
hiện tại.
 Được mô tả bởi các ký tự giới hạn << và
>>.
 > và > là các kiểu mở
rộng.
Kiểu mở rộng
Chương 6. Mô hình hóa chức năng 2006 29Nguyễn Trung Trực - Khoa CNTT
 Xác định các use-case chính.
 Mở rộng use-case chính.
 Xác nhận các use-case chính.
 Tạo sơ đồ use-case.
Các bước chính để viết use-case
Chương 6. Mô hình hóa chức năng 2006 30Nguyễn Trung Trực - Khoa CNTT
Viết mô tả use-case hiệu quả
Chương 6. Mô hình hóa chức năng 2006 31Nguyễn Trung Trực - Khoa CNTT
 Xác định đường biên hệ thống.
 Liệt kê các tác nhân chính.
 Liệt kê các mục tiêu của mỗi tác nhân 
chính.
 Xác định và viết các use-case chính.
 Xem lại cẩn thận các use-case.
Xác định các use-case chính
Chương 6. Mô hình hóa chức năng 2006 32Nguyễn Trung Trực - Khoa CNTT
 Chọn một use-case chính để mở rộng.
 Điền các chi tiết vào bản mô tả use-case.
 Điền các bước của các dòng sự kiện thông 
thường.
 Chuẩn hóa kích thước của mỗi bước: 
không quá phức tạp hoặc quá dài, có thể
phân rã thành các dòng sự kiện con.
 Liệt kê các dòng ngoại lệ khác.
 Viết mô tả cho mỗi dòng ngoại lệ, sự đáp 
ứng của các tác nhân.
Mở rộng các use-case chính
Chương 6. Mô hình hóa chức năng 2006 33Nguyễn Trung Trực - Khoa CNTT
 Xem lại tập các use-case hiện tại.
f Xem cú pháp và ngữ nghĩa.
fGiúp ích cho những người sử dụng.
 Lặp lại toàn bộ các bước cho đến khi tất 
cả các use-case được định nghĩa.
Xác nhận các use-case chính
Chương 6. Mô hình hóa chức năng 2006 34Nguyễn Trung Trực - Khoa CNTT
 Bắt đầu từ đường biên hệ thống.
 Xác định các tác nhân và các use-case.
 Đặt các use-case vào sơ đồ sao cho dễ 
đọc.
f Xác định các use-case từ các bản mô tả use-
case.
f Xác định các mối liên kết > và
> giữa các use-case.
 Đặt các tác nhân vào sơ đồ.
 Kết thúc bằng cách nối các tác nhân với 
các use-case bằng các mối liên kết.
Tạo sơ đồ use-case