You are on page 1of 41

PHÂN TÍCH VÀ THIẾT KẾ

HƯỚNG ĐỐI TƯỢNG

BUỔI 7-8:
MÔ HÌNH HÓA YÊU CẦU VỚI USE CASE
PHẠM THỊ MINH THƯƠNG 1
MỤC TIÊU

Cung cấp cho sinh viên những kiến thức về:


• Tác nhân, cách xác định tác nhân, quan hệ giữa các tác nhân
• Ca sử dụng (use case), cách xác định ca sử dụng, quan hệ giữa các ca sử
dụng
• Biểu đồ ca sử dụng, đặc tả ca sử dụng

PHẠM THỊ MINH THƯƠNG 2


NỘI DUNG

• Biểu đồ ca sử dụng, mục đích?


• Các thành phần của biểu đồ ca sử dụng
• Cách xác định các thành phần
• Sử dụng Rational Rose xây dựng biểu đồ ca sử dụng

Phạm Thị Minh Thương 3


GIỚI THIỆU

• Biểu đồ ca sử dụng mô tả sự tương tác giữa các tác nhân ngoài và hệ thống thông
qua các ca sử dụng

Các yêu cầu của hệ thống


Tác nhân và ca sử dụng
Biểu đồ ca sử dụng

Luồng công việc Các kịch bản Cấu trúc của đối tượng

Biểu đồ hành động Biểu đồ tương tác Biểu đồ lớp

Phạm Thị Minh Thương 4


LỢI ÍCH

• Là kết quả thỏa thuận giữa khách hàng và nhà phát triển
• Là công cụ mạnh mẽ cho việc lập kế hoạch

Phạm Thị Minh Thương 5


AI QUAN TÂM?

Phạm Thị Minh Thương 6


CÁC THÀNH PHẦN

Ca sử dụng – use
case

Tác nhân

Mối quan hệ giữa các


ca sử dụng

Phạm Thị Minh Thương 7


TÁC NHÂN (NGOÀI)

• Là những thực thể bên ngoài có tương tác với hệ thống, bao gồm: người, vật,
thiết bị, các hệ thống khác
• Tên tác nhân = danh từ (thể hiện vai trò đối với hệ thống)

Phạm Thị Minh Thương 8


XÁC ĐỊNH CÁC TÁC NHÂN

• Hãy trả lời các câu hỏi sau để tìm tác nhân của hệ thống
• Ai sẽ sử dụng các chức năng chính của hệ thống?
• Ai cần sự hỗ trợ của hệ thống để thực hiện các công việc hàng ngày?
• Ai quản trị, bảo dưỡng để đảm bảo cho hệ thống hoạt động thường xuyên?
• Hệ thống quản lý, sử dụng những thiết bị nào?
• Hệ thống cần tương tác với những bộ phận, hệ thống nào khác?
• Ai hay cái gì quan tâm đến kết quả xử lý của hệ thống?

Phạm Thị Minh Thương 9


CA SỬ DỤNG

• Mô tả tập các hoạt động/yêu cầu của hệ thống theo quan điểm của người sử
dụng
• Tập các ca sử dụng mô tả toàn bộ hệ thống cần xây dựng
• Đặt tên UC
• Tên ca sử dụng = động từ + cụm danh từ diễn tả ý nghĩa của UC
• Đặt theo khái niệm nghiệp vụ của tổ chức
• Không đặt tên sử dụng từ kỹ thuật, chuyên môn
• Nên sử dụng các động từ, cụm từ ngắn gọn

Phạm Thị Minh Thương 10


XÁC ĐỊNH CÁC CA SỬ DỤNG

• Với mỗi tác nhân đã tìm ra, hãy trả lời các câu hỏi sau để tìm ra các UC hệ
thống
• Tác nhân yêu cầu hệ thống thực hiện những tác nhân nào?
• Tác nhân cần phải đọc, ghi, sửa đổi, cập nhật hay lưu trữ thông tin hay không?
• Những thay đổi bên ngoài hệ thống thì tác nhân có cần phải thông báo cho hệ thống hay
không?
• Những tác nhân nào cần được thông báo về những thay đổi của hệ thống?
• Hệ thống cần có những đầu vào, đầu ra, từ đâu và đến đâu?

Phạm Thị Minh Thương 11


MỐI QUAN HỆ

• Quan hệ kết hợp (Association)


• Quan hệ bao gồm (Include)
• Quan hệ mở rộng (Extend)
• Quan hệ khái quát hóa (Generalization)

Phạm Thị Minh Thương 12


QUAN HỆ KẾT HỢP

• Là loại quan hệ giữa tác nhân và UC


• Mũi tên cho biết ai là người khởi xướng giao tiếp

Phạm Thị Minh Thương 13


QUAN HỆ BAO GỒM GIỮA 2 UC

• Dùng để liên kết 2 UC: có stereotype (khuôn mẫu) là <<include>>


• Trong UC nguồn có điểm mở rộng mà ở đó bắt buộc phải chèn UC đích vào
• Tại điểm mở rộng, diễn tiến của UC nguồn tạm thời ngừng lại để chuyển sang diễn tiến của
UC đích
• Khi kết thúc UC đích, diễn tiến của UC nguồn lại tiếp tục

Phạm Thị Minh Thương 14


QUAN HỆ BAO GỒM GIỮA 2 UC (2)

Tốt Tốt hơn


«inc
lude
»
Login
AddUser

AddUser Login

Landlord
Landlord »
n cl ud e
SetDevicePrefs «i
SetDevicePrefs

Phạm Thị Minh Thương 15


QUAN HỆ MỞ RỘNG GIỮA 2 UC

• Dùng để liên kết 2 UC: có khuôn mẫu là <<extend>>


• Trong UC nguồn có một điểm mở rộng mà tại đó có thể (hoặc không) chèn UC
đích vào tùy thuộc vào điều kiện rẽ nhánh hoặc tương tác từ tác nhân
• Tại điểm mở rộng, nếu được mở rộng thì diễn tiến của UC nguồn tạm thời ngừng lại để
chuyển sang diễn tiến của UC đích
• Khi kết thúc UC đích, diễn tiến của UC nguồn tiếp tục

Phạm Thị Minh Thương 16


<<INCLUDE>> VS <<EXTEND>>

Sự khác biệt giữa mối quan hệ «include» và «extend»


Included use case Extending use case

Use case này tùy chọn? Không Có


Hoàn thành use case chính mà
Không Có
không có use case này?
Use case này thực thi theo điều kiện Không Có
Use case này thay đổi hành vi của
use case chính?
Không Có

[ Source: Robert Maksimchuk & Eric Naiburg: UML for Mere Mortals, Addison-Wesley, 2005. ]

Phạm Thị Minh Thương 17


QUAN HỆ KHÁI QUÁT HÓA

• Là mối quan hệ giữa các đối tượng cùng nhóm tạo nên một đối tượng mang những
tính chất chung của các đối tượng kia
• Quan hệ khái quát hóa giữa
• Các tác nhân
• Các UC

Phạm Thị Minh Thương 18


VÍ DỤ

Phạm Thị Minh Thương 19


VÍ DỤ (2)

Use case: Open file

Related use cases:


Generalization of:
• Open file by typing name
• Open file by browsing

Steps:
Actor actions System responses
1. Choose ‘Open…’ command 2. File open dialog appears
3. Specify filename
4. Confirm selection 5. Dialog disappears
Phạm Thị Minh Thương 20
VÍ DỤ (3)

Use case: Open file by typing name

Related use cases:


Specialization of: Open file

Steps:
Actor actions System responses
1. Choose ‘Open…’ command 2. File open dialog appears
3a. Select text field
3b. Type file name
4. Confirm selection 5. Dialog disappears
Phạm Thị Minh Thương 21
VÍ DỤ (4)

Use case: Open file by browsing

Related use cases:


Specialization of: Open file
Includes: Browse for file

Steps:
Actor actions System responses
1. Choose ‘Open…’ command 2. File open dialog appears
3. Browse for file
4. Confirm selection 5. Dialog disappears
Phạm Thị Minh Thương 22
CHÚ Ý

• Một dự án có thể có nhiều biểu đồ ca sử dụng


• Không nên mô hình hóa quan hệ kết hợp giữa tác nhân với tác nhân
• Không hình thành quan hệ kết hợp giữa các UC
• Mỗi UC phải có tác nhân kích hoạt

Phạm Thị Minh Thương 23


ĐẶC TẢ CA SỬ DỤNG
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action

Extensions Step Branching Action

Open Issues

Phạm Thị Minh Thương 24


ĐẶC TẢ CA SỬ DỤNG (2)
Number Unique use case number
Name Brief verb-noun phrase
Summary Brief summary of use case major actions
Priority 1-5 (1 = lowest priority, 5 = highest priority)
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action

Extensions Step Branching Action

Open Issues

Phạm Thị Minh Thương 25


ĐẶC TẢ CA SỬ DỤNG (3)
Number
Name
Summary
Priority
Preconditions What needs to be true before the use case “executes”
Postconditions What will be true after the use case successfully “executes”
Primary Actor(s)
Secondary Actor(s) Precondition: y != 0
Trigger
Postcondition: x / y
Main Scenario Step Action
double divide(double x, double
y) {
return (x / y);
Extensions Step Branching Action
}
Open Issues

Phạm Thị Minh Thương 26


Actor
• Anyone or anything with behavior
ĐẶC TẢ CA SỬ DỤNG (4)
• May be a person or system
Number
• Primary: The stakeholder who or
Name
which initiates an interaction with
Summary
the system to achieve a goal. Is
Priority
generally a category of individuals (a
Preconditions
role).
Postconditions
Primary Actor(s) Primary actor name(s)
• Secondary: Provides a service to the
Secondary Actor(s)
system. Is almost never a person.
Secondary actor name(s)
Trigger
Main Scenario Step Action

Extensions Step Branching Action

Open Issues

Phạm Thị Minh Thương 27


ĐẶC TẢ CA SỬ DỤNG (5)
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger The action that caused the use case to be invoked
Main Scenario Step Action
Step # This is the “main success scenario” or “happy path”
Step # Description of steps in successful use case “execution”
Step # This should be in a “system-user-system, etc.” format
Extensions Step Branching Action

Open Issues
Phạm Thị Minh Thương 28
ĐẶC TẢ CA SỬ DỤNG (6)
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s) Extension
Trigger • Could be an optional path(s)
Main Scenario Step Action
• Could be an error path(s)

Extensions Step Branching Action


Step # Alternative paths that the use case may take
Open Issues
Phạm Thị Minh Thương 29
ĐẶC TẢ CA SỬ DỤNG (7)
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action

Extensions Step Branching Action

Open Issues Issue # Issues regarding the use case that need resolution

Phạm Thị Minh Thương 30


ĐẶC TẢ CA SỬ DỤNG (8)
Number Unique use case number
Name Brief noun-verb phrase
Summary Brief summary of use case major actions
Priority 1-5 (1 = lowest priority, 5 = highest priority)
Preconditions What needs to be true before use case “executes”
Postconditions What will be true after the use case successfully “executes”
Primary Actor(s) Primary actor name(s)
Secondary Actor(s) Secondary actor name(s)
Trigger The action that causes this use case to begin
Main Scenario Step Action
Step # This is the “main success scenario” or “happy path.”
… Description of steps in successful use case “execution”
… This should be in a “system-user-system, etc.” format.
Extensions Step Branching Action
Step # Alternative paths that the use case may take
Open Issues Issue # Issues regarding the use case that need resolution
Phạm Thị Minh Thương 31
VÍ DỤ

• Mô tả
Một hệ thống dịch vụ ngân hàng trực tuyến cung cấp dịch vụ
ngân hàng cho các tài khoản. Yêu cầu nghiệp vụ kinh doanh
được quyết định cho người dùng A là tóm lược tài khoản và
chuyển tiền. Trong khi đối với người dùng B yêu cầu kinh doanh
là tóm lược tài khoản và thanh toán hóa đơn.

PHẠM THỊ MINH THƯƠNG 32


VÍ DỤ

• Mô tả
Một hệ thống dịch vụ ngân hàng trực tuyến cung cấp dịch vụ
ngân hàng cho các tài khoản. Yêu cầu nghiệp vụ kinh doanh
được quyết định cho người dùng A là tóm lược tài khoản và
chuyển tiền. Trong khi đối với người dùng B yêu cầu kinh
doanh là tóm lược tài khoản và thanh toán hóa đơn.

PHẠM THỊ MINH THƯƠNG 33


VÍ DỤ

• Các Use cases


• Tóm lược tài khoản
• Chuyển tiền
• Thanh toán hóa đơn
• Các tác nhân
• Người dùng A
• Người dùng B

PHẠM THỊ MINH THƯƠNG 34


THẢO LUẬN

1. Nêu mối quan hệ giữa


a) Tác nhân và tác nhân
b) Tác nhân và use case
c) Use case và Use case
2. Quan hệ mở rộng là gì? Quan hệ bao gồm là gì?

PHẠM THỊ MINH THƯƠNG 35


BÀI TẬP 1

• Giải thích ý nghĩa của các quan hệ sau

Phạm Thị Minh Thương 36


BÀI TẬP 2

• Bổ sung quan hệ cho biểu đồ

Dat ve Tim ghe trong

Khach hang

Giao ve
Giao ve qua mang

Phạm Thị Minh Thương 37


BÀI TẬP 3

• Bổ sung quan hệ cho biểu đồ

Phạm Thị Minh Thương 38


BÀI TẬP 4

Vẽ biểu đồ ca sử dụng cho chức năng mua hàng của hệ thống X như sau:
• Trước khi mua hàng, khách tìm kiếm trên mạng các mặt hàng cần mua. Họ có thể
tìm kiếm mặt hàng theo giá hay theo chủ đề
• Khi mua hàng, khách hàng phải thanh toán bằng thẻ tín dụng. Trong trường hợp
số tiền trong thẻ không đủ để thanh toán, hệ thống sẽ thông báo lỗi cho khách
hàng và kết thúc hoạt động mua của khách.

Phạm Thị Minh Thương 39


BÀI TẬP 5

Vẽ biểu đồ ca sử dụng cho việc tạo lập hộp thư trên Internet
• Người dùng muốn sở hữu một địa chỉ thư trên internet phải tiến hành đăng ký
• Sau khi đăng ký xong, họ được nhà cung cấp dịch vụ tạo cho một tài khoản
trên website và từ đó bạn có thể gửi, đọc, nhận, xóa, chuyển tiếp thư
• Nếu bạn không dùng hòm thư trong vòng 6 tháng, nhà cung cấp sẽ tiến hành
hủy bỏ tài khoản đã cấp
• Nhà cung cấp hay người dùng phải đăng nhập trước khi thực hiện các thao
tác trên tài khoản của mình

Phạm Thị Minh Thương 40


BÀI TẬP 6

Giả sử có các máy rút tiền tự động ATM đặt ở những vị trí khác nhau (tại các phố, khu công sở, trung
tâm thương mại) trong thành phố. Chúng được nối với trung tâm tại trụ sở Ngân hàng thông qua hệ
thống mạng máy tính. Máy tính trung tâm lưu trữ và quản trị CSDL khách hàng, xử lý những công việc
chuyên ngành của ngân hàng và yêu cầu ATM trả tiền.
Máy rút tiền tự động bao gồm máy đọc thẻ từ, màn hình và bàn phím để tương tác với người sử
dụng.
Khách hàng có thể rút tiền tự động, chuyển tiền, xem số dư trong tài khoản và thực hiện thanh toán
với hệ thống tín dụng của ngân hàng.
Trong những trường hợp đặc biệt như bị mất thẻ (bị lộ số thẻ căn cước), hay muốn thay đổi số thẻ thì
khách hàng có thể thay đổi số thẻ căn cước cá nhân (PIN) và tương tự như vậy, khi khách hàng báo bị
mất thẻ thì ngân hàng cũng có thể quyết định thay đổi số thẻ và báo cho khách hàng biết để đảm bảo
không cho những người không phải chủ sở hữu rút được tiền.

PHẠM THỊ MINH THƯƠNG 41

You might also like