THỰC HÀNH VỀ XÂY DỰNG BIỂU ĐỒ USE CASE| Môn Phân tích và thiết kế hệ thống| Trường Đại học Bách Khoa Hà Nội

1. Mục tiêu
- Trình bày được các thành phần trong biểu đồ Use case
- Xác định được các Actor trong hệ thống
- Xác định được các Use case trong hệ thống
- Xác định được các mối quan hệ giữa các Use case
- Sử dụng được phần mềm Rational Rose để biểu diễn biểu đồ Use case
- Rèn luyện tư duy logic, sáng tạo của người học

Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 1
Bài thực hành 01:
THỰC HÀNH VỀ XÂY DỰNG BIỂU ĐỒ USE CASE
1. Mục tiêu
Tnh bày được các thành phần trong biểu đồ Use case
Xác định được các Actor trong hệ thống
Xác định được các Use case trong hệ thống
Xác định được các mi quan hệ gia các Use case
Sử dụng được phần mm Rational Rose để biểu diễn biểu đồ Use case
n luyện duy logic, sáng tạo của người học
2. Các ký hiệu trong bản vẽ Use case:
Actor: Actor được ng để ch ni s dng hoc một đối tượng nào đó bên
ngoài tương tác với h thng. Actor được biu din như sau:
Use Case: là chức năng mà các Actor sẽ s dụng. Nó được ký hiu như sau:
Với việc xác định các chức ng Actor sử dụng bạn sẽ xác định được các Use
Case cần có trong hệ thống.
Relationship(Quan h): Hay n gi là conntector đưc s dụng đ kết ni gia
các đốing với. Có các kiểu quan h:
+ Quan hệ Association:
Association thưng được ng để mô tả mi quan hệ giữa Actor và Use Case và
gia các Use Case với nhau. Ví d thể hin Actor User sử dụng Use Case Login
+ Quan h Generalization: được sử dụng để thể hiện quan hệ thừa kế gia các
Actor hoặc giữa các Use Case với nhau
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 2
Ví dụ Actor User thừa kế toàn bộ quyn ca Actor Guest
+ Quan hệ Include: Include là quan hệ giữa các Use Case với nhau, nó mô tả việc
một Use Case lớn được chia ra thành các Use Case nhỏ để dễi đặt (module hóa)
hoặc thể hin sựng li.
Use Case “Verify Password” có thể gộp chung vào Use Case Login nhưng tách ra
để cho các Use Case khác sử dụng hoặc để module hóa cho dễ hiểu, dễ cài đặt
+ Quan h Extend: ng để tả quan hệ gia 2 Use Case. Quan hệ Extend
được sử dụng khi có một Use Case được tạo ra để bổ sung chức năng cho một Use
Case có sẵn và được sử dụng trong một điu kiện nhất định nào đó
.
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 3
Trong d trên “Open Account” Use Case cơ sở để cho khách ng mở i
khoản. Tuy nhiên, thêm một điu kin là nếu khách ng ng ty thì thể
thêm người sở hữu lên tài khoản này. Add Account Holder là chức năng mrộng
của Use Case Open Account” cho trường hợp c thể nếu Actor là ng ty nên
quan hệ của nó là quan hệ Extend.
+ System Boundary: đưc s dụng để xác đnh phm vi ca h thng mà chúng
ta đang thiết kế. Các đối ng nm ngoài h thng này tương tác với h thng
được xem là các Actor.
System Boundary sẽ giúp chúng ta dễ hiểu hơn khi chia hệ thống ln thành các hệ
thống con để phân tích, thiết kế.
3. Các bước xây dựng Use Case Diagram
Bước 1: Tìm các Actor
Trả lời các câu hỏi sau để xác định Actor cho hệ thống:
Ai sử dụng hệ thống này?
Hệ thống nào tương tác với hệ thống này?
Xem xét ví dụ về ATM ở trên chúng ta thấy:
Ai sử dụng hệ thống? -> Customer, ATM Technician
Hệ thống nào tương tác với hệ thống này? -> Bank
Như vậy có 03 Actor: Customer, ATM Technician và Bank
Bước 2: Tìm các Use case
Trả li u hỏi các Actor sử dụng chức năng trong hệ thống? chúng ta sxác
định được các Use Case cn thiết cho hệ thống.
Xem xét ví dụ ở trên ta thấy:
Customer s dụng các chức năng: Check Balance, Deposit, Withdraw
Transfer
ATM technician s dụng: Maintenance và Repair
Bank tương tác với tt c các chc năng trên.
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 4
Tóm li, chúng ta phải y dựng hệ thống các chức năng: Check
Balance, Deposit, Withdraw, Transfer, Maintenance và Repair để đáp ứng được
cho ni sử dụng và các hệ thống tương tác.
+ Bước 3: Xác định các quan h
Phân tích và các định các quan loại hệ giữa các Actor và Use Case, giữa các Actor
vi nhau, giữa các Use Case vi nhau sau đó nối chúng lại chúng ta sẽ được bản vẽ Use
Case.
Bản vẽ Use Case về ATM
Bài tập 1. Xây dựng đồ Use case cho một h thống thương mại đin tử (E-
Commerce) như sau:
Một ng ty chuyên kinh doanh vcác thiết bị đin tử và ng nghệ thông tin
trong nhiều năm nay đã một lưng khách ng nhất định.Để mrộng hoạt động
kinh doanh của mình, ng ty mong muốn y dựng một hệ thống tơng mi đin tử
nhằm mở rộng phạm vi kinh doanh trên mạng Internet.
Hệ thống mới phải đảm bảo cho kháchng viếng thăm Website dễ dàng lựa chọn
các sản phẩm, xem các khuyến mãi cũng như mua ng. Việc thanh toán thể được
thực hiện qua mạng hoặc thanh toán trực tiếp tại cửa ng. Khách ng thể nhận hàng
tại cửa hàng hoặc sử dụng dch vụ chuyển hàng có phí của công ty.
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 5
Ngoài ra, hệ thống cũng cần phân hệ để đảm bảo cho ng ty quản lý các hoạt
động kinh doanh như số lượng ng trong kho, qun đơn đặt hàng, nh trạng giao
ng, thanh toán v.v
Tng tin chi tiết các chức năng các bạn thể tham khảo thêm tại các Website
bán hàng.
Bạny giúp công tyy dựng hệ thống use casse trên.”
Hướng dẩn: Các bước xây dựng bản vẽ Use Case
c 1: Thu thp kiến thức liên quan đến h thng s xây dựng
Trưc hết, để phân tích hệ thống trên bạn phải kiến thc v h thống thương
mi đin tử, chúng ta có thể tìm hiểu thông qua các ngun sau:
Xem các trang Web bán hàng qua mạng n amazon, lazada.vn, bkc.vn v.v..
Xem các hệ thống mẫu vthương mại điện tử ngun mở n Magento, OpenCart,
Spree Commerce v.v…
Đọc sách, báo về eCommerce
Hỏi những ni chuyên về lĩnh vực này (hỏi chuyên gia)
Lưu ý: Bạn không thể thiết kế tốt được nếu bn không kiến thức về lĩnh vc ca sản
phẩm mà bạn sẽ xây dựng.
Bước 2: Xác địnhc Actor
Hãy trả lời cho câu hỏi “Ai sử dụng hệ thống này?”
Xem xét Website chúng ta nhận thấy:
Những người mun mua ng vào website để xem thông tin. Những người này
Khách hàng tiềm năng (Guest).
Những người đã đặt ng vào kim tra đơn ng, thanh toán v.v.. gọi là Khách
hàng (Customer).
Về phía đơn vị bán hàng, có những người sau đây tham gia vào hệ thống:
o Người quản lý bán hàng: quyết định nhập ng, gbán, quản tồn kho,
doanh thu, chính sách khuyến mãi.
o Người n hàng: Tư vn cho khách hàng, theo i đơn ng, thu tin,
theo dõi chuyển hàng cho khách.
o Qun lý kho: xuất, nhập hàng, quản lý tồn kho
o Qun trị hệ thống: Tạo ngườing, Phân quyền, Tạo cửa hàng
Tiếp theo chúng ta trả lời câu hỏi “Hệ thống nào tương tác với hệ thống này?”
Gisử đây, chúng ta sử dụng dịch vụ của Ngân Lưng để thanh toán trực tuyến
và gọi nó là Cổng thanh toán” thì ta có thêm một Actor tương tác với hệ thống.
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 6
Như vậy, chúng ta đã các Actor của hệ thống gồm: Khách ng tim
năng, khách hàng, Người n hàng, Qun Kho, Quản tr hệ thng, Cổng thanh
toán
Bạn cần khảo sát và phân tích thêm cũng như hỏi trực tiếp khách hàng để xác định
đầy đủ các Actor cho hệ thống.
Bước 3: Xác định Use Case
Bạn cần trả lời câu hỏi “Actor sử dụng chức năng gì trên hệ thống?”.
Tớc tiên, xem xét với Actor Khách hàng tiềm năngtrên trang bkc.vn để xem họ
sử dụng chức năng nào?
Xem trang chủ
Xem các sản phẩm theo:
+ Theo chủng loại
+ Nhà sản xuất
+ Tìm kiếm theo văn bản gõ vào
Xem chi tiết sản phẩm được chọn
Xem khuyến mãi
Xem so sánh
Mua hàng
Qun lý ging
Chat vi ni bán hàng
Đăng ký tài khoản để trở thành khách ng
Tiếp theo, xem xét Actor Khách hàngvà nhận thấy họ sử dụng chức năng:
Đăng nhập
Xem đơn hàng
Thanh toán
Tiếp theo, xem xét Actor “Ngườin hàngvà họ có thể sử dụng các chức năng:
Đăng nhập
Chat vi khách hàng
Theo dõi đơn hàng
Thu tiền
Theo dõi chuyển hàng
Tương tự n vy bạn xác định chức năng cho các Actor còn lại.
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 7
Bước 4: Vẽ bản vẽ Use Case
Tớc hết chúng ta xem xét và phân tích các chức năng của “Khách ng tim năng”
chúng ta nhận thấy.
Chức năng xem sản phẩm 2 cách là chọn loại sản phẩm, nsản xuất để xem
và gõ vào ô tìm kiếm. Nên chúng ta tách ra làm 2 Xem sản phẩm Tìm kiếm.
Chức năng mua ng, thực chất là thêm vào giỏ hàng nên có thể xem là chức năng
con của quản lý giỏ hàng.
Đặt li tên cho gọn và xác định các mối quan hệ của chúng, chúng ta có thể vẽ Use
Case Diagram cho Actor này như sau:
Bản vẽ Use Case cho Actor “Khách hàng tìm năng”
Tiếp theo, chúng xem xét các chức năng cho Actor “Khách ng và nhận thấy
chức năng “Thanh toán” thưng thực hin cho từng đơn ng cụ th nên thể
chức năng con ca Qun đơn ng”. Ngoài ra, các chức năng Actor này sử dụng
không giao với Actor “Khách hàng tim năng” nên nó được biu diễn như sau:
Bản vẽ Use Case cho Actor “Khách hàng”
Tiếp tục xem xét Actor “Người bán hàng” chúng ta nhận thấy:
Chức năng “Thu tin” thực tế thanh toán trực tiếp tại quày cho từng đơn ng
và chức năng “Theo i chuyn ng” được thực hin trên từng đơn ng nên
có thể là chức năng con của “Quản lý đơn hàng”.
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 8
Chức năng “Quản đơn ng” đây qun cho nhiều khách ng nên sẽ khác
vi chức năng Quản lý đơn ng” ca Actor “Khách hàng” nên để phân biệt
chúng ta sửa chức năng Quản lý đơn hàng của Actor “Khách ng” thành
Quản lý đơn hàng cá nn
Chức năng “Đăng nhập” thể ng chung với Actor “Khách ng”, chức năng
Chat dùng chung với Actor “Khách hàng tim năng”
Vẽ chúng chung với nhau chúng ta được bn vẽ như sau:
Bản vẽ Use Case khi bổ sung các chức năng cho
“Khách hàng tiềm năng”, “Khách hàng” và “Ngườin hàng”
Các bn y tiếp tc hoàn tất các chức năng cho các Actor n li để một bn
vẽ hoàn chỉnh về Use Case cho hệ thống.
Bài tập 2: Mô tả chức năng và yêu cầu ca H THNG QUẢN LÝ THƯ VIỆN
Xây dựng hệ thống quản lý tviện cho trường Đại học gm các hoạt động qun
thông tin sách, quản lý thông tin độc giả, quản lý hoạt động mượn trả sách:
Sinh Viên ca trường mun mượn sách của thư viện thì trước tiên phải đăng làm
thẻ thư viện theo lớp, thông tin v thẻ thư viện gồm (Mã độc giả, hn, lớp, ngày
sinh, giới nh), khi đó th thư thực hiện nhập thông tin vthẻ thư viện vào hệ thống
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 9
và in thẻ thư viện giao cho sinh viên, khi thông tin về thẻ thư vin có sai sót hệ thống
cho phép thủ thư sửa, khi độc gibị loại bkhỏi thư viện hệ thống cho phép xóa thẻ
thư viện.
Các cun sách trong thư vin được qun lý thông tin theo đầu sách, mi đầu sách
trong thư vin có nhiều bản sao khác nhau. Thông tin về đầu sách gồm (Mã đầu sách,
n đầu sách, nhà xuất bn, số trang, kích thước, tác giả, số lưng sách), thông tin v
bn sao các đầu sách gồm (mã đầu, mã sách,nh trạng, ngaynhap). Khi thư vin nhập
sách mi về thủ thư có nhim vụ nhập thông tin sách vào trong thư vin, nếu thông tin
vsách thay đổi hoặc loại bỏ ra khỏi thư vin, thủ thư thực hiện sửa thông tin sách
hoặc xóa sách.
T vin quản lý các đầu sách theo các chuyên ngành, các đầu sách được phân thành
các chuyên nnh khác nhau. Thông tin chuyên ngành gồm (Mã chuyên ngành, n
chuyên ngành, mô tả).
Mỗi một độc giả một ln mưn chđược mượn một cun sách, khi độc gi mun
mưn sách vào m sách trong t vin ghi thông tin vào phiếu mưn gồm mã
sách, mã độc giả và gửi cho thủ thư. Thủ thư tiến nh ghi nhận thông tin phiếu mượn
vào trong hệ thống, gi li thẻ ca độc givà giao sách cho độc giả. Thông tin phiếu
mưn gồm (Mã sách, mã độc giả, mã thủ thư cho mưn sách, ngày mưn, tình trạng).
Khi độc giả trả sách th thư thực hiện chức năng trả sách để ghi nhn nh trạng trả
ch cho phiếu mưn.
Định kỳ ththư phải làm các báo cáo thng gửi lên lãnh đạo thư viện các báo cáo
gồm: Tng tin các đầu sách cho mượn nhiều nhất, thông tin vcác độc giả chưa trả
sách.
Để qun lý người dùng hệ thống, trong thư việnmột nhân viên đóng người quản trị
vai trò m. Nhân viên này quyền quản lý thông tin ni ng hthống. Khi
nn viên thư vin mới người quản trị cập nhật thông tin thủ thư vào hệ thống, tạo i
khoản và cấp quyn cho nhân viên thư viện. Khi thông tin nhân viên thư vin sai
sót hoặc loại bỏ ra khỏi hệ thống thì người quản trsửa hoặc xóa thông tin nhân viên
thư viện ra khỏi hệ thống.
Người dùng hệ thống phải đăng nhập trước khi thực hiện.
Yêu cầu:
1. Dựa vào bản mô tả hệ thống quản lý thư viện, hãy xác định các Actor Use case
của hệ thống quản lý thư vin
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 10
2. Xây dựng biểu đồ Use case mc tổng quát cho hệ thống quản lý thư viện
3. Xây dựng các biểu Use case phân rã cho các Use case tổng quát nếu có
4. Xây dựng kịch bản cho Use case
Hướng dẫn thc hiện:
1. Dựa vào bản tả hệ thng quản tviện, y xác định c Actor của h
thng quản lý tvin
- Phân tích bài toán
Trả lời u hỏi ai, hệ thống nào…tác động trực tiếp, gián tiếp vào hệ thống
qun lý thư vin
Xác định được các Actor.
Minh họa
- T mô tả trên ta m thấy 2 Actor chính trong hệ thống là : Actor ththư và Actor
ni qun trị. 2 Actor nhận kết qutừ hệ thống Actor Độc gi Actor
Qun lý thư vin.
2. Xây dựng biu đồ Use case mc tổng quát cho hệ thng qun lý thư vin.
Phân tích bài toán:
- Bước 1: Từ các Actor chính xác định các Use Case tổng quát
Hệ thống có 2 Actor chính là thủ thư và người qun trị, trong đó người quản trị
quyn thực hiện các chức năng trong hệ thống như một th thư, ngoài ra ni
qun trị có quyền quản lý ngườing.
Các Use case mà Thủ tsử dụng gồm: Qun lý độc giả, quản lý sách, qun
lý mượn trả sách, thốngbáo cáo, Đăng Nhập.
Các Use case mà người qun trị sử dụng gồm: Các Use case n của thủ thư
và Use case Quản lý ngườing.
- Bước 2: Xác định các mối quan hệ giữa các Actor Actor, Actor Use Case, Use
Case Use Case.
Minh họa:
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 11
- Hai Actor chính của hệ thống Actor Ththư Actor QuanTri là các Actor sử
dụng trực tiếp các Use case ca hệ thống, nên c Actor mối quan hệ
Association với các Actor Use case sử dụng.
- Actor Quản trcó vai trò n một Thủ thư, ngi ra quyền thực hin Use case
QuanLyNguoiDung. n Actor QuanTri thể thực hiện tất cả các Use case
Thủ thư thực hin, nên Actor QuanTri và Actor ThuThu có mối quan hệ kế thừa.
- Khi thực hin tất cả các Use case người dùng đều phải Đăng nhập, vì vậy Use case
đăng nhập là phần chung được tách ra từ các Use case khác. vy các Use case
này đều có mối quan hệ include với Use case đăng nhập.
- Hai Actor Bạn đọc Quản thư viện Actor không trực tiếp mà nhận kết qu
từ hệ thống, nên có mối quan hệ phụ thuộc vào các Use case mà tác nn nhận kết
quả.
3. Xây dựng kịch bản cho Use case.
Phân tích:
- Kịch bản Use case là một chuỗi ơng tác gia Actor và phản ng hệ thống để
thực hiện Use case, khi đó tùy thuộc vào hành động tác nhân tác động lên hệ thống
mà có thể dẫn đến
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 12
- Các phảnng khác nhau với cùng một hành động tùy thuộc vào dữ liu đầu vào
các yếu tố khác. n một Use case thể luồng sự kin cnh và các lung sự
kin phụ.
- Khi y dựng kch bn chúng ta y dựng kch bn Use case tổng quát trước
kịch bản của Use case phân rã sau.
Ví dụ:
Kịch bản Use case Qun lý Sách
Tên use case
QuanLySach
Tên Actor
Thủ thư
Mức
1
Tin điều kin
Thủ thư phải đăng nhập hệ thống
Đảm bảo tối thiểu
Đảm bảo thành công
Kích hoạt
Thủ thư yêu cầu chức năng QL sách
Hành động tác nhân
Phản ứng hệ thống
1.Th thư yêu cầu chức
năng
1.1. Hệ thống lấy về thông tin các chuyên ngành
1.2. Lấy về thông tin ngày giờ hệ thng.
1.3. Hệ thống chọn chuyên ngành mặc định.
1.4. Hệ thống ly về các đầu sách thuộc chuyên ngành, hiển
thị lên giao din
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 13
2. Thực hin các chức
năng theo yêu cầu
Kịch bản Use case Thêm đầu sách mới:
Tên use case
QuanLySach
Tên Actor
Thủ thư
Mức
1
Tin điều kin
Thủ thư phải đăng nhập hệ thống
Đảm bảo tối thiểu
Đảm bảo thành công
Kích hoạt
Thủ thư yêu cầu chức năng QL sách
Hành động tác nhân
Phản ứng hệ thống
1. Thủ thư yêu cầu chức
năng nhập đầu sách
2. Th thư chọn chuyên
nnh
2.1. Hệ thống lấy về các đầu sách thuộc chuyên nnh
3. Ththư nhập thông tin
về đầu sách
2.1. Hệ thống hợp lệ hóa thông tin
4. Thủ thư yêu cầu chức
năng nhập đầu sách
2.2. Hệ thống sinh mã tự động cho đầu sách (Theo nguyên
tắc 1), sinh mã tự động cho các bản sao theo nguyên tắc 2.
2.3. Hệ thống cập nhật đầu sách, cập nhật các bn sao ca
đầu sách.
- Nguyên tắc 1: đầu sách = chuyên ngành.Số thứ tự. dụ đầu sách thứ 5
của chuyên ngành ck sẽ là ck.5
- Nguyên tắc 2: Mã sách = mã đầu sách.số thứ tự. Ví dụ đầu sách ck.5, có 2 cuốn thì
mã sách lần lượt ca 2 cuốn là ck.5.1, ck.5.2
Kịch bản Use case sửa sách
Tên use case
Sửa sách
Tên Actor
Thủ thư
Mức
2
Tin điều kin
Thủ thư phải đăng nhập hệ thống
Đảm bảo tối thiểu
Đảm bảo thành công
Kích hoạt
Thủ thư yêu cầu chức năng QL sách
Hành động tác nhân
Phản ứng hệ thống
1. Chọn, nhập đầu sách
cần sửa
1.1. Hin thị các thuộc tính của đầu sách lên các điều khin
1.2. Vô hiu hóa chức năng nhập đầu sách
Thực hành Pn tích thiết kế ng đối tượng
ThS. Dương Thành Phết Khoa CNTT HUTECH Trang 14
2. Sửa thông tin đầu sách
3. Yêu cầu sửa thông tin
đầu sách
3.1. Sửa thông tin đầu sách
3.2. Nếu số lưng mới > số lưng cũ chuyển sang lung ph
1. Nếu số lượng mi < số lượng cũ chuyển sang luồng phụ 2
Ngoại lệ
Lung phụ 1
3.2.1. Bổ sung thêm các bản sao chênh lệch
Lung phụ 2
3.2.1. Xóa đi các bản sao chênh lệch
Bài tập tự thực hiện:
1. Vẽ biểu đồ phân rã cho các Use case tổng quát còn lại.
2. Xây dựng kịch bn cho các Use case đó
-------------Hết Lab 01---------
| 1/14

Preview text:

Thực hành Phân tích thiết kế hướng đối tượng Bài thực hành 01:
THỰC HÀNH VỀ XÂY DỰNG BIỂU ĐỒ USE CASE 1. Mục tiêu
 Trình bày được các thành phần trong biểu đồ Use case
 Xác định được các Actor trong hệ thống
 Xác định được các Use case trong hệ thống
 Xác định được các mối quan hệ giữa các Use case
 Sử dụng được phần mềm Rational Rose để biểu diễn biểu đồ Use case
 Rèn luyện tư duy logic, sáng tạo của người học
2. Các ký hiệu trong bản vẽ Use case:
 Actor: Actor được dùng để chỉ người sử dụng hoặc một đối tượng nào đó bên
ngoài tương tác với hệ thống. Actor được biểu diễn như sau:
Use Case: là chức năng mà các Actor sẽ sử dụng. Nó được ký hiệu như sau:
Với việc xác định các chức năng mà Actor sử dụng bạn sẽ xác định được các Use
Case cần có trong hệ thống.
Relationship(Quan hệ): Hay còn gọi là conntector được sử dụng để kết nối giữa
các đối tượng với. Có các kiểu quan hệ:
+ Quan hệ Association:
Association thường được dùng để mô tả mối quan hệ giữa Actor và Use Case và
giữa các Use Case với nhau. Ví dụ thể hiện Actor User sử dụng Use Case Login
+ Quan hệ Generalization: được sử dụng để thể hiện quan hệ thừa kế giữa các
Actor hoặc giữa các Use Case với nhau
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 1
Thực hành Phân tích thiết kế hướng đối tượng
Ví dụ Actor User thừa kế toàn bộ quyền của Actor Guest
+ Quan hệ Include: Include là quan hệ giữa các Use Case với nhau, nó mô tả việc
một Use Case lớn được chia ra thành các Use Case nhỏ để dễ cài đặt (module hóa)
hoặc thể hiện sự dùng lại.
Use Case “Verify Password” có thể gộp chung vào Use Case Login nhưng tách ra
để cho các Use Case khác sử dụng hoặc để module hóa cho dễ hiểu, dễ cài đặt
+ Quan hệ Extend: dùng để mô tả quan hệ giữa 2 Use Case. Quan hệ Extend
được sử dụng khi có một Use Case được tạo ra để bổ sung chức năng cho một Use
Case có sẵn và được sử dụng trong một điều kiện nhất định nào đó .
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 2
Thực hành Phân tích thiết kế hướng đối tượng
Trong ví dụ trên “Open Account” là Use Case cơ sở để cho khách hàng mở tài
khoản. Tuy nhiên, có thêm một điều kiện là nếu khách hàng là công ty thì có thể
thêm người sở hữu lên tài khoản này. Add Account Holder là chức năng mở rộng
của Use Case “Open Account” cho trường hợp cụ thể nếu Actor là Công ty nên
quan hệ của nó là quan hệ Extend.
+ System Boundary: được sử dụng để xác định phạm vi của hệ thống mà chúng
ta đang thiết kế. Các đối tượng nằm ngoài hệ thống này có tương tác với hệ thống
được xem là các Actor.
System Boundary sẽ giúp chúng ta dễ hiểu hơn khi chia hệ thống lớn thành các hệ
thống con để phân tích, thiết kế.
3. Các bước xây dựng Use Case Diagram
Bước 1: Tìm các Actor
Trả lời các câu hỏi sau để xác định Actor cho hệ thống:
 Ai sử dụng hệ thống này?
 Hệ thống nào tương tác với hệ thống này?
Xem xét ví dụ về ATM ở trên chúng ta thấy:
 Ai sử dụng hệ thống? -> Customer, ATM Technician
 Hệ thống nào tương tác với hệ thống này? -> Bank
Như vậy có 03 Actor: Customer, ATM Technician và Bank
Bước 2: Tìm các Use case
Trả lời câu hỏi các Actor sử dụng chức năng gì trong hệ thống? chúng ta sẽ xác
định được các Use Case cần thiết cho hệ thống.
Xem xét ví dụ ở trên ta thấy:
 Customer sử dụng các chức năng: Check Balance, Deposit, Withdraw và Transfer
 ATM technician sử dụng: Maintenance và Repair
 Bank tương tác với tất cả các chức năng trên.
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 3
Thực hành Phân tích thiết kế hướng đối tượng
Tóm lại, chúng ta phải xây dựng hệ thống có các chức năng: Check
Balance, Deposit, Withdraw, Transfer, Maintenance và Repair để đáp ứng được
cho người sử dụng và các hệ thống tương tác.
+ Bước 3: Xác định các quan hệ
Phân tích và các định các quan loại hệ giữa các Actor và Use Case, giữa các Actor
với nhau, giữa các Use Case với nhau sau đó nối chúng lại chúng ta sẽ được bản vẽ Use Case.
Bản vẽ Use Case về ATM
Bài tập 1. Xây dựng sơ đồ Use case cho một hệ thống thương mại điện tử (E- Commerce) như sau:
“Một công ty chuyên kinh doanh về các thiết bị điện tử và công nghệ thông tin
trong nhiều năm nay và đã có một lượng khách hàng nhất định.Để mở rộng hoạt động
kinh doanh của mình, công ty mong muốn xây dựng một hệ thống thương mại điện tử
nhằm mở rộng phạm vi kinh doanh trên mạng Internet.
Hệ thống mới phải đảm bảo cho khách hàng viếng thăm Website dễ dàng lựa chọn
các sản phẩm, xem các khuyến mãi cũng như mua hàng. Việc thanh toán có thể được
thực hiện qua mạng hoặc thanh toán trực tiếp tại cửa hàng. Khách hàng có thể nhận hàng
tại cửa hàng hoặc sử dụng dịch vụ chuyển hàng có phí của công ty.
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 4
Thực hành Phân tích thiết kế hướng đối tượng
Ngoài ra, hệ thống cũng cần có phân hệ để đảm bảo cho công ty quản lý các hoạt
động kinh doanh như số lượng hàng có trong kho, quản lý đơn đặt hàng, tình trạng giao hàng, thanh toán v.v…
Thông tin chi tiết các chức năng các bạn có thể tham khảo thêm tại các Website bán hàng.
Bạn hãy giúp công ty xây dựng hệ thống use casse trên.”
Hướng dẩn: Các bước xây dựng bản vẽ Use Case
Bước 1: Thu thập kiến thức liên quan đến hệ thống sẽ xây dựng

Trước hết, để phân tích hệ thống trên bạn phải có kiến thức về hệ thống thương
mại điện tử, chúng ta có thể tìm hiểu thông qua các nguồn sau:
 Xem các trang Web bán hàng qua mạng như amazon, lazada.vn, bkc.vn v.v..
 Xem các hệ thống mẫu về thương mại điện tử nguồn mở như Magento, OpenCart, Spree Commerce v.v…
 Đọc sách, báo về eCommerce
 Hỏi những người chuyên về lĩnh vực này (hỏi chuyên gia)
Lưu ý: Bạn không thể thiết kế tốt được nếu bạn không có kiến thức về lĩnh vực của sản
phẩm mà bạn sẽ xây dựng.
Bước 2: Xác định các Actor
Hãy trả lời cho câu hỏi “Ai sử dụng hệ thống này?”
Xem xét Website chúng ta nhận thấy:
 Những người muốn mua hàng vào website để xem thông tin. Những người này
Khách hàng tiềm năng (Guest).
 Những người đã đặt hàng vào kiểm tra đơn hàng, thanh toán v.v.. gọi là Khách hàng (Customer).
 Về phía đơn vị bán hàng, có những người sau đây tham gia vào hệ thống:
o Người quản lý bán hàng: quyết định nhập hàng, giá bán, quản lý tồn kho,
doanh thu, chính sách khuyến mãi.
o Người bán hàng: Tư vấn cho khách hàng, theo dõi đơn hàng, thu tiền,
theo dõi chuyển hàng cho khách.
o Quản lý kho: xuất, nhập hàng, quản lý tồn kho
o Quản trị hệ thống: Tạo người dùng, Phân quyền, Tạo cửa hàng
Tiếp theo chúng ta trả lời câu hỏi “Hệ thống nào tương tác với hệ thống này?”
Giả sử ở đây, chúng ta sử dụng dịch vụ của Ngân Lượng để thanh toán trực tuyến
và gọi nó là “Cổng thanh toán” thì ta có thêm một Actor tương tác với hệ thống.
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 5
Thực hành Phân tích thiết kế hướng đối tượng
Như vậy, chúng ta đã có các Actor của hệ thống gồm: Khách hàng tiềm
năng, khách hàng, Người bán hàng, Quản lý Kho, Quản trị hệ thống, Cổng thanh toán
Bạn cần khảo sát và phân tích thêm cũng như hỏi trực tiếp khách hàng để xác định
đầy đủ các Actor cho hệ thống.
Bước 3: Xác định Use Case
Bạn cần trả lời câu hỏi “Actor sử dụng chức năng gì trên hệ thống?”.
Trước tiên, xem xét với Actor “Khách hàng tiềm năng” trên trang bkc.vn để xem họ
sử dụng chức năng nào?  Xem trang chủ
 Xem các sản phẩm theo: + Theo chủng loại + Nhà sản xuất
+ Tìm kiếm theo văn bản gõ vào
 Xem chi tiết sản phẩm được chọn  Xem khuyến mãi  Xem so sánh  Mua hàng  Quản lý giỏ hàng
 Chat với người bán hàng
 Đăng ký tài khoản để trở thành khách hàng
Tiếp theo, xem xét Actor “Khách hàng” và nhận thấy họ sử dụng chức năng:  Đăng nhập  Xem đơn hàng  Thanh toán
Tiếp theo, xem xét Actor “Người bán hàng” và họ có thể sử dụng các chức năng:  Đăng nhập  Chat với khách hàng  Theo dõi đơn hàng  Thu tiền  Theo dõi chuyển hàng
Tương tự như vậy bạn xác định chức năng cho các Actor còn lại.
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 6
Thực hành Phân tích thiết kế hướng đối tượng
Bước 4: Vẽ bản vẽ Use Case
Trước hết chúng ta xem xét và phân tích các chức năng của “Khách hàng tiềm năng” chúng ta nhận thấy.
 Chức năng xem sản phẩm có 2 cách là chọn loại sản phẩm, nhà sản xuất để xem
và gõ vào ô tìm kiếm. Nên chúng ta tách ra làm 2 là Xem sản phẩm Tìm kiếm.
 Chức năng mua hàng, thực chất là thêm vào giỏ hàng nên có thể xem là chức năng
con của quản lý giỏ hàng.
 Đặt lại tên cho gọn và xác định các mối quan hệ của chúng, chúng ta có thể vẽ Use
Case Diagram cho Actor này như sau:
Bản vẽ Use Case cho Actor “Khách hàng tìm năng”
Tiếp theo, chúng xem xét các chức năng cho Actor “Khách hàng” và nhận thấy
chức năng “Thanh toán” thường thực hiện cho từng đơn hàng cụ thể nên có thể nó là
chức năng con của “Quản lý đơn hàng”. Ngoài ra, các chức năng Actor này sử dụng
không giao với Actor “Khách hàng tiềm năng” nên nó được biểu diễn như sau:
Bản vẽ Use Case cho Actor “Khách hàng”
Tiếp tục xem xét Actor “Người bán hàng” chúng ta nhận thấy:
 Chức năng “Thu tiền” thực tế là thanh toán trực tiếp tại quày cho từng đơn hàng
và chức năng “Theo dõi chuyển hàng” được thực hiện trên từng đơn hàng nên nó
có thể là chức năng con của “Quản lý đơn hàng”.
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 7
Thực hành Phân tích thiết kế hướng đối tượng
 Chức năng “Quản lý đơn hàng” ở đây quản lý cho nhiều khách hàng nên sẽ khác
với chức năng “Quản lý đơn hàng” của Actor “Khách hàng” nên để phân biệt
chúng ta sửa chức năng “Quản lý đơn hàng ” của Actor “Khách hàng” thành
“Quản lý đơn hàng cá nhân”
 Chức năng “Đăng nhập” có thể dùng chung với Actor “Khách hàng”, chức năng
Chat dùng chung với Actor “Khách hàng tiềm năng”
Vẽ chúng chung với nhau chúng ta được bản vẽ như sau:
Bản vẽ Use Case khi bổ sung các chức năng cho
“Khách hàng tiềm năng”, “Khách hàng” và “Người bán hàng”
Các bạn hãy tiếp tục hoàn tất các chức năng cho các Actor còn lại để có một bản
vẽ hoàn chỉnh về Use Case cho hệ thống.
Bài tập 2: Mô tả chức năng và yêu cầu của HỆ THỐNG QUẢN LÝ THƯ VIỆN
Xây dựng hệ thống quản lý thư viện cho trường Đại học gồm các hoạt động quản lý
thông tin sách, quản lý thông tin độc giả, quản lý hoạt động mượn trả sách:
 Sinh Viên của trường muốn mượn sách của thư viện thì trước tiên phải đăng ký làm
thẻ thư viện theo lớp, thông tin về thẻ thư viện gồm (Mã độc giả, họ tên, lớp, ngày
sinh, giới tính), khi đó thủ thư thực hiện nhập thông tin về thẻ thư viện vào hệ thống
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 8
Thực hành Phân tích thiết kế hướng đối tượng
và in thẻ thư viện giao cho sinh viên, khi thông tin về thẻ thư viện có sai sót hệ thống
cho phép thủ thư sửa, khi độc giả bị loại bỏ khỏi thư viện hệ thống cho phép xóa thẻ thư viện.
 Các cuốn sách trong thư viện được quản lý thông tin theo đầu sách, mỗi đầu sách
trong thư viện có nhiều bản sao khác nhau. Thông tin về đầu sách gồm (Mã đầu sách,
tên đầu sách, nhà xuất bản, số trang, kích thước, tác giả, số lượng sách), thông tin về
bản sao các đầu sách gồm (mã đầu, mã sách, tình trạng, ngaynhap). Khi thư viện nhập
sách mới về thủ thư có nhiệm vụ nhập thông tin sách vào trong thư viện, nếu thông tin
về sách có thay đổi hoặc loại bỏ ra khỏi thư viện, thủ thư thực hiện sửa thông tin sách hoặc xóa sách.
 Thư viện quản lý các đầu sách theo các chuyên ngành, các đầu sách được phân thành
các chuyên ngành khác nhau. Thông tin chuyên ngành gồm (Mã chuyên ngành, tên chuyên ngành, mô tả).
 Mỗi một độc giả một lần mượn chỉ được mượn một cuốn sách, khi độc giả muốn
mượn sách vào tìm sách trong thư viện và ghi thông tin vào phiếu mượn gồm mã
sách, mã độc giả và gửi cho thủ thư. Thủ thư tiến hành ghi nhận thông tin phiếu mượn
vào trong hệ thống, giữ lại thẻ của độc giả và giao sách cho độc giả. Thông tin phiếu
mượn gồm (Mã sách, mã độc giả, mã thủ thư cho mượn sách, ngày mượn, tình trạng).
 Khi độc giả trả sách thủ thư thực hiện chức năng trả sách để ghi nhận tình trạng trả sách cho phiếu mượn.
 Định kỳ thủ thư phải làm các báo cáo thống kê gửi lên lãnh đạo thư viện các báo cáo
gồm: Thông tin các đầu sách cho mượn nhiều nhất, thông tin về các độc giả chưa trả sách.
 Để quản lý người dùng hệ thống, trong thư viện có một nhân viên đóng người quản trị
vai trò làm. Nhân viên này có quyền quản lý thông tin người dùng hệ thống. Khi có
nhân viên thư viện mới người quản trị cập nhật thông tin thủ thư vào hệ thống, tạo tài
khoản và cấp quyền cho nhân viên thư viện. Khi thông tin nhân viên thư viện có sai
sót hoặc loại bỏ ra khỏi hệ thống thì người quản trị sửa hoặc xóa thông tin nhân viên
thư viện ra khỏi hệ thống.
 Người dùng hệ thống phải đăng nhập trước khi thực hiện. Yêu cầu:
1. Dựa vào bản mô tả hệ thống quản lý thư viện, hãy xác định các Actor và Use case
của hệ thống quản lý thư viện
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 9
Thực hành Phân tích thiết kế hướng đối tượng
2. Xây dựng biểu đồ Use case mức tổng quát cho hệ thống quản lý thư viện
3. Xây dựng các biểu Use case phân rã cho các Use case tổng quát nếu có
4. Xây dựng kịch bản cho Use case
Hướng dẫn thực hiện:
1. Dựa vào bản mô tả hệ thống quản lý thư viện, hãy xác định các Actor của hệ
thống quản lý thư viện - Phân tích bài toán
 Trả lời câu hỏi ai, hệ thống nào…tác động trực tiếp, gián tiếp vào hệ thống quản lý thư viện
 Xác định được các Actor.  Minh họa -
Từ mô tả trên ta tìm thấy 2 Actor chính trong hệ thống là : Actor thủ thư và Actor
người quản trị. và 2 Actor nhận kết quả từ hệ thống là Actor Độc giả và Actor Quản lý thư viện.
2. Xây dựng biểu đồ Use case mức tổng quát cho hệ thống quản lý thư viện.
Phân tích bài toán: -
Bước 1: Từ các Actor chính xác định các Use Case tổng quát
Hệ thống có 2 Actor chính là thủ thư và người quản trị, trong đó người quản trị
có quyền thực hiện các chức năng trong hệ thống như là một thủ thư, ngoài ra người
quản trị có quyền quản lý người dùng.
Các Use case mà Thủ thư sử dụng gồm: Quản lý độc giả, quản lý sách, quản
lý mượn trả sách, thống kê báo cáo, Đăng Nhập.
Các Use case mà người quản trị sử dụng gồm: Các Use case như của thủ thư
và Use case Quản lý người dùng. -
Bước 2: Xác định các mối quan hệ giữa các Actor – Actor, Actor – Use Case, Use Case – Use Case. Minh họa:
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 10
Thực hành Phân tích thiết kế hướng đối tượng
- Hai Actor chính của hệ thống là Actor Thủ thư và Actor QuanTri là các Actor sử
dụng trực tiếp các Use case của hệ thống, nên các Actor có mối quan hệ
Association với các Actor mà Use case sử dụng.
- Actor Quản trị có vai trò như một Thủ thư, ngoài ra có quyền thực hiện Use case
QuanLyNguoiDung. Nên Actor QuanTri có thể thực hiện tất cả các Use case mà
Thủ thư thực hiện, nên Actor QuanTri và Actor ThuThu có mối quan hệ kế thừa.
- Khi thực hiện tất cả các Use case người dùng đều phải Đăng nhập, vì vậy Use case
đăng nhập là phần chung được tách ra từ các Use case khác. Vì vậy các Use case
này đều có mối quan hệ include với Use case đăng nhập.
- Hai Actor Bạn đọc và Quản lý thư viện là Actor không trực tiếp mà nhận kết quả
từ hệ thống, nên có mối quan hệ phụ thuộc vào các Use case mà tác nhân nhận kết quả.
3. Xây dựng kịch bản cho Use case. Phân tích:
- Kịch bản Use case là một chuỗi tương tác giữa Actor và phản ứng hệ thống để
thực hiện Use case, khi đó tùy thuộc vào hành động tác nhân tác động lên hệ thống mà có thể dẫn đến
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 11
Thực hành Phân tích thiết kế hướng đối tượng
- Các phản ứng khác nhau với cùng một hành động tùy thuộc vào dữ liệu đầu vào và
các yếu tố khác. Nên một Use case có thể có luồng sự kiện chính và các luồng sự kiện phụ.
- Khi xây dựng kịch bản chúng ta xây dựng kịch bản Use case tổng quát trước và
kịch bản của Use case phân rã sau. Ví dụ:
Kịch bản Use case Quản lý Sách Tên use case QuanLySach Tên Actor Thủ thư Mức 1 Tiền điều kiện
Thủ thư phải đăng nhập hệ thống Đảm bảo tối thiểu Đảm bảo thành công Kích hoạt
Thủ thư yêu cầu chức năng QL sách
Hành động tác nhân
Phản ứng hệ thống
1.1. Hệ thống lấy về thông tin các chuyên ngành
1.2. Lấy về thông tin ngày giờ hệ thống.
1.Thủ thư yêu cầu chức 1.3. Hệ thống chọn chuyên ngành mặc định. năng
1.4. Hệ thống lấy về các đầu sách thuộc chuyên ngành, hiển thị lên giao diện
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 12
Thực hành Phân tích thiết kế hướng đối tượng 2. Thực hiện các chức năng theo yêu cầu
Kịch bản Use case Thêm đầu sách mới: Tên use case QuanLySach Tên Actor Thủ thư Mức 1 Tiền điều kiện
Thủ thư phải đăng nhập hệ thống Đảm bảo tối thiểu Đảm bảo thành công Kích hoạt
Thủ thư yêu cầu chức năng QL sách
Hành động tác nhân
Phản ứng hệ thống
1. Thủ thư yêu cầu chức năng nhập đầu sách
2. Thủ thư chọn chuyên 2.1. Hệ thống lấy về các đầu sách thuộc chuyên ngành ngành
3. Thủ thư nhập thông tin 2.1. Hệ thống hợp lệ hóa thông tin về đầu sách
2.2. Hệ thống sinh mã tự động cho đầu sách (Theo nguyên
4. Thủ thư yêu cầu chức tắc 1), sinh mã tự động cho các bản sao theo nguyên tắc 2. năng nhập đầu sách
2.3. Hệ thống cập nhật đầu sách, cập nhật các bản sao của đầu sách.
- Nguyên tắc 1: Mã đầu sách = Mã chuyên ngành.Số thứ tự. Ví dụ đầu sách thứ 5
của chuyên ngành ck sẽ là ck.5
- Nguyên tắc 2: Mã sách = mã đầu sách.số thứ tự. Ví dụ đầu sách ck.5, có 2 cuốn thì
mã sách lần lượt của 2 cuốn là ck.5.1, ck.5.2
Kịch bản Use case sửa sách Tên use case Sửa sách Tên Actor Thủ thư Mức 2 Tiền điều kiện
Thủ thư phải đăng nhập hệ thống Đảm bảo tối thiểu Đảm bảo thành công Kích hoạt
Thủ thư yêu cầu chức năng QL sách
Hành động tác nhân
Phản ứng hệ thống
1. Chọn, nhập đầu sách 1.1. Hiển thị các thuộc tính của đầu sách lên các điều khiển cần sửa
1.2. Vô hiệu hóa chức năng nhập đầu sách
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 13
Thực hành Phân tích thiết kế hướng đối tượng
2. Sửa thông tin đầu sách 3.1. Sửa thông tin đầu sách
3. Yêu cầu sửa thông tin 3.2. Nếu số lượng mới > đầu sách
số lượng cũ chuyển sang luồng phụ
1. Nếu số lượng mới < số lượng cũ chuyển sang luồng phụ 2 Ngoại lệ Luồng phụ 1
3.2.1. Bổ sung thêm các bản sao chênh lệch Luồng phụ 2
3.2.1. Xóa đi các bản sao chênh lệch
Bài tập tự thực hiện:
1. Vẽ biểu đồ phân rã cho các Use case tổng quát còn lại.
2. Xây dựng kịch bản cho các Use case đó
-------------Hết Lab 01---------
ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 14