Xây dựng đặc tả usecase và sơ đồ usecase trong quy trình phát triển phần mềm sau giai đoạn phân tích yêu cầu. Giai đoạn thiết kế các diagram cho phần mềm, để xác định chức năng, người dùng ứng dụng ta cần thiết kế sơ đồ usecase.
Trang 12009 1
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Giai đoạn 2 Phân tích hệ thống
Chương 4
Mô hình hóa use-case
Trang 32009 3
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Tác nhân nghiệp vụ (business actor) là
một người giữ một vai trò trong nghiệp vụ, một phòng ban, hoặc một hệ thống phần mềm khác.
nghiệp vụ được thực hiện, từ đó xác định
các use-case.
vụ khác nhau tại nhiều thời điểm khác nhau.
Tác nhân
Trang 4a Car.
NoMember
A Customer who identity and credit-worthiness have been validated and who, therefore, has access to special services (such as making Reservations by phone or over the Internet).
Trang 52009 5
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Tác nhân hệ thống (system actor) là thực
thể ngoài (external entity) tương tác trực tiếp 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), hoặc 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ể.
dụng.
Tác nhân
Trang 7nhân đảm nhận, không là tên công việc.
Tác nhân
Hình 4.3 Ký hiệu tác nhân.
Trang 82009 8
Chương 4 Mô hình hóa use-case Nguyễ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à
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
Trang 102009 10
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Tác nhân
Old Patient New Patient
Patient Generalization association
Hình 4.4 Tổng quát hóa giữa các tác nhân.
Trang 112009 11
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Bản chú giải thuật ngữ
Bản chú giải thuật ngữ
giải thích các thuật ngữ được sử dụng trong việc phát triển phần mềm.
Trang 122009 12
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
A logical grouping of classes, used to organize the development.
Trang 132009 13
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
A Customer whose identity and worthiness have been validated and who, therefore, has access to special services (such
credit-as making Reservations by phone, or over the Internet).
Member (business object)
A person who pays us money in return for one
of our standard services.
Customer (business actor,
business object)
A model in our Catalog, available for Reservation.
CarModel (business object)
Instance of a CarModel kept by a Store for Rental purposes.
Car (bisiness object)
Definition Term
Bản chú giải thuật ngữ
Hình 4.6 Ví dụ của bản chú giải thuật ngữ.
Trang 142009 14
Chương 4 Mô hình hóa use-case Nguyễ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 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.
vụ quan trọng.
Use-case
Trang 152009 15
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
tích và có thể được sử dụng trong quá trình phát triển.
những gì xảy ra trong hệ thống hiện tại hoặc để mô hình hóa hệ thống mới.
về cách thực hiện nghiệp vụ (mô hình hóa yêu cầu nghiệp vụ - business requirements
modeling) và mô tả hệ thống mới có khả
năng thực hiện nghiệp vụ (mô hình hóa yêu cầu hệ thống - system requirements
modeling).
Use-case
Trang 162009 16
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Use-case nghiệp vụ (business use-case)
sử dụng cách mô tả quen thuộc để mô tả một điều gì đó đã tồn tại – dùng cho người không chuyên nghiệp.
Use-case hệ thống (system use-case) mô
tả các yêu cầu chức năng (functionality
need) được thực hiện – dùng cho người
phát triển phần mềm.
Use-case
Trang 17B5.Customer Returns Car: Customer returns a Car that they have rented.
B4.Customer Cancels Reservation: Customer cancels an unconcluded Reservation, by phone or in person.
B3.NonMember Reserves CarModel: NonMember pays a deposit to be notified when a CarModel becomes available.
B2.Member Reserves CarModel: Member asks to be notified when a CarModel becomes available.
B1.Customer Rents Car: Customer rents a Car that they have selected from those available.
Hình 4.7 Các use-case nghiệp vụ của iCoot.
Trang 182009 18
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Use-case
B16.Car is Unreturnable: A Car is wrecked or breaks down.
B15.MembershipCar is Renewed: Assistant contacts Member to renew membership when their CreditCard has expired.
B14.Customers Loses Keys: Replacement Keys are provided for a Customer who has lost them.
B13.Customer Notified Car is Overdue: Assistant contacts Customer to warn them that a Car they have rented is more than a week overdue.
B12.Customer Becomes a Member: Customer provides CreditCard details and proof of Address to become a Member.
B11.Customer Collects Reserved Car: Customer collects a Car that they have reserved.
B10.Customer Fined for Uncollected Reservation: Customer fails to collect a Car that they have reserved.
B9.Customer Accesses Catalog: Customers browse the catalog, in-store or at home.
Hình 4.7 Các use-case nghiệp vụ của iCoot.
Trang 19U1.Browse Index: A Customer browses the index of CarModels.
Hình 4.8 Các use-case hệ thống của iCoot.
Trang 202009 20
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Use-case
U12.Lof Off: A Member logs off from iCoot.
U11.Cancel Reservation: A Member cancels a Reservation that is not yet concluded.
U10.View Reservations: A Member views a summary of Reservations that are not yet concluded, such as date, time and CarModel.
U9.Change Password: A Member changes the password that they use to log on.
Hình 4.8 Các use-case hệ thống của iCoot.
Trang 212009 21
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Mô hình hóa chuỗi các hành động mà hệ
thống thực hiện và tạo ra kết quả hữu ích cho người sử dụng hoặc hệ thống bên ngoài (được gọi là tác nhân).
Cung cấp cái nhìn mức cao về hệ thống
làm gì và ai sử dụng hệ thống này.
Xác định giao tiếp người - máy.
Mô hình hóa kịch bản (scenario) của
use-case, bao gồm chuỗi các hành động.
Mục đích tạo các use-case
Trang 222009 22
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Sử dụng ký hiệu đồ họa đơn giản, dễ hiểu
để những người sử dụng có thể liên lạc với nhau về cái nhìn mức cao của hệ thống.
Dùng để xác định các đặc tả kiểm tra (test
specification).
Mục đích tạo các use-case
Trang 232009 23
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
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.
Tên của use-case
dưới, nhưng phải nhất quán trong cùng một
mô hình.
Ký hiệu use-case
Trang 242009 24
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
để phân cách tên use-case với tên gói (package name).
từ hoặc cụm danh từ để mô tả hành vi của hệ thống
information.
Make appointment
Produce schedule
information
Ký hiệu use-case
Hình 4.9 Đặt tên use-case.
Trang 252009 25
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Viết mô tả chi tiết (văn bản) cho use-case,
Trang 262009 26
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Phân loại use-case dựa vào mục đích và
lượng thông tin của use-case.
Use-case khái quát và use-case chi tiết
f Use-case khái quát (overview use-case) cho
phép người phân tích và người sử dụng thỏa thuận các yêu cầu thông tin ở mức khái quát.
cầu hệ thống.
use-case, số ID, tác nhân chính, loại và mô tả
vắn tắt của use-case.
f Use-case chi tiết (detail use-case) cung cấp
tất cả thông tin cần thiết cho use-case.
Các loại use-case
Trang 272009 27
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Use-case chính yếu và use-case thực
f Use-case chính (major use-case) chỉ mô tả
các vấn đế chính yếu tối thiểu để hiểu tính năng cần có.
f Use-case thực (real use-case) mô tả các
bước cụ thể, chi tiết hóa của use-case chính
yếu.
Các loại use-case
Trang 28The user enters the finish time and destination address.
The user clicks on Another to enter another journey (loop back to 3) or clicks on Done to save and exit.
The system confirms that the start address can be matched against the geographical database.
The user enters the start time and start address.
The system prompts for the details of a journey by displaying the Journey entry dialogue box.
The user enters the telephone number of the car sharer into the Car Sharer entry window.
The system confirms that the address can be matched against the geographical database.
The user enters the name and address of the car sharer in the Car Sharer entry window.
System Actor
Hình 4.10 Ví dụ của use-case thực.
Trang 292009 29
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Bản đặc tả use-case
(pseudo code).
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 đặc tả use-case (use-case
description).
Trang 30Normal flow of events:
Relationships: (Association, Include, Extend, Generalization)
Trigger:
Type:
Brief description:
Stakeholders and interests:
Primary actor: Use-case type:
Use-case name: ID: Importance level:
Hình 4.11 Bản đặc tả use-case
Trang 31Include: Make Payment Arrangements
Extend: Create New Patient
Generalization:
Trigger: Patient calls and asks for a new appointment or asks to cancel or
change an existing appointment.
Type: External
Brief description: This use case describes how we make an appointment as well
as changing or canceling an appointment.
Stakeholders and interests:
Patient - wants to make, change, or cancel an appointment
Doctor - wants to ensure patient’s needs are met in timely manner
Primary actor: Patient Use-case type: Detail, essential
Use-case name: Make appointment ID: 2 Importance level: High
Hình 4.12 Một ví dụ của bản đặc tả use-case
Trang 322009 32
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Bản đặc tả use-case
Normal flow of events:
1 The Patients contacts the office regarding an appointment.
2 The Patient provides the Receptionist with his or her name and address.
3 The Receptionist validates that the Patient exists in the Patient database.
4 The Receptionist executes the Make Payment Arrangements use-case.
5 The Receptionist asks Patient if he or she would like to make a new
appointment, cancel an existing appointment or change an existing appointment.
If the patient wants to make a new appointment,
the S-1: new appointment subflow is performed.
If the patient wants to cancel an existing appointment,
the S-2: cancel appointment subflow is performed.
If the patient wants to change an existing appointment,
the S-3: change appointment subflow is performed.
6 The Receptionist provides the results of the transaction to the Patient.
Trang 332009 33
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Bản đặc tả use-case
Alternative / exceptional flows:
3a: The Receptionist executes the Create New Patient use-case.
S-1, 2a1: The Receptionist proposes some alternative appointment times
based on what is available in the appointment schedule.
S-1, 2a2: The Patient chooses one of the proposed times or decides not to
make an appointment.
Subflows:
S-1: New Appointment
1 The Receptionist asks the Patient for possible appointment times.
2 The Receptionist matches the Patient’s desired appointment times with
available dates and times and schedules the new appointment.
S-2: Cancel Appointment
1 The Receptionist asks the Patient for the old appointment time.
2 The Receptionist finds the current appointment in the appointment file
and cancels it.
S-3: Change Appointment
1 The Receptionist performs the S-2: cancel appointment subflow.
2 The Receptionist performs the S-1: new appointment subflow.
Trang 342009 34
Chương 4 Mô hình hóa use-case Nguyễ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
Trang 352009 35
Chương 4 Mô hình hóa use-case Nguyễ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
Trang 362009 36
Chương 4 Mô hình hóa use-case Nguyễ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.
Trang 372009 37
Chương 4 Mô hình hóa use-case Nguyễ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
Hình 4.13 Tổng quát hóa giữa các use-case.
Trang 382009 38
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Tổ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à
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.
nghiêng
Trang 392009 39
Chương 4 Mô hình hóa use-case Nguyễ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.
Đường biên hệ thống
System
System boundary
Hình 4.14 Đường biên hệ thống.
Trang 402009 40
Chương 4 Mô hình hóa use-case Nguyễ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
Trang 412009 41
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
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 đượ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.
Use-case cơ sở (base use-case) gọi thực
hiện use-case được sử dụng (used
use-case).
Mũi tên đi từ use-case cơ sở đến use-case
được sử dụng.
Khi thực hiện use-case cơ sở thì phải thực
hiện use-case được sử dụng.
Mối liên kết <<include>>
Trang 422009 42
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Mối liên kết <<include>>
Produce schedule information Management
Doctor
Record availability
Manage schedule
Trang 432009 43
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
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 cách thêm vào một hành vi mới.
use-case) mở rộng use-case phổ quát
Trang 442009 44
Chương 4 Mô hình hóa use-case Nguyễn Trung Trực - Khoa CNTT
Mối liên kết <<extend>>
Update patient information
Management Management
Make appointment
Make old patient appt
<<extend>>
Make new patient appt
Make payment arrangement
<<extend>>
Management
Specialized use-case General use-case
Hình 4.17 Mối liên kết <<extend>> giữa các use-case.