Bài giảng mô hình hóa chức năng
Trang 1Chương 6
Mô hình hóa chức năng
Trang 2 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-use-case.
Nội dung
Trang 3Các thành phần của sơ đồ use-case
Trang 4 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.
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
Trang 5use-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
Trang 6 Ký hiệu 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
Trang 7 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
Trang 8Bản mô tả use-case
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).
Trang 9Bả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
Trang 10 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
Trang 11 Á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
Trang 12Tổng quát hóa giữa các use-case
có nhiều phiên bản khác nhau, được gọi là
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.
Trang 13Tổ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
Trang 14Tổng quát hóa giữa các use-case
độ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à
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.
Trang 15 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ể.
f Một người sử dụng có thể có nhiều vai trò.
f Một tác nhân có thể biểu diễn nhiều người sửTác nhân
Trang 16 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
Trang 17 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
được biểu diễn bởi một mũi tên có đầu
Tác nhân
Trang 18 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
Trang 19Tác nhân
Trang 20 Đườ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
Trang 21 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
Trang 22 Mối liên kết <<include>> là một kết nối
giữa hai use-case, cho thấy một use-case
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ừ case cơ sở (base
use-case) đến use-case được sử dụng (used use-case).
Mối liên kết <<include>>
Trang 23Mối liên kết <<include>>
Produce schedule information Management
Doctor
Record availability
Manage schedule
<<include>>
<<include>>
Base use-case
Trang 24 Mối liên kết <<extend>> là một kết nối giữa
hai use-case, mở rộng một use-case bằng
use-case) mở rộng use-case phổ quát
Trang 25Mối liên kết <<extend>>
Update patient information
Make appointment
Make old patient appt
<<extend>>
Make new patient appt
Trang 26 Sử dụng <<extend>> 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 <<include>> 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
Trang 27Include và Extend
Trang 28 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à
>>.
<<extend>> và <<include>> là các kiểu mở rộng.
Kiểu mở rộng
Trang 29 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
Trang 30Viết mô tả use-case hiệu quả
Trang 31 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
Trang 32 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
Trang 33 Xem lại tập các use-case hiện tại.
f Xem cú pháp và ngữ nghĩa.
f Giú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
Trang 34 Bắt đầu từ đường biên hệ thống.
f Xác định các mối liên kết <<include>> và
<<extend>> 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