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 |
Chia sẻ: haohao89 | Lượt xem: 2308 | 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