You are on page 1of 33

PHÂN TÍCH, THIẾT KẾ HỆ THỐNG THÔNG TIN

v Giảng viên: ThS. Nguyễn Đức Hiếu


v Khoa: Công nghệ thông tin
v Bộ môn: Khoa học máy tính
v Email: nguyenduchieu247@gmail.com
v Mobile: 0968.240.787
Mục tiêu

v Hiểu được vai trò của Biểu đồ ca sử dụng và Biểu đồ hoạt động
trong UML.

v Nắm được các thành phần chính trong Biểu đồ ca sử dụng và


Biểu đồ hoạt động.

v Có khả năng đọc hiểu Biểu đồ ca sử dụng và Biểu đồ hoạt động.

v Nắm được cách xác định và kiểm tra các tác nhân và các ca sử
dụng của hệ thống.
2
Biểu đồ ca sử dụng (use case diagram)

v Tổng quan:
• Mỗi hệ thống tương tác với con người hoặc các hệ thống khác để
thực hiện nhiệm vụ.

• Các hành vi của hệ thống có thể được mô tả trong các ca sử dụng:


o What, not How.

o Các ca sử dụng mô tả các tương tác giữa hệ thống và môi trường của nó.

3
Biểu đồ ca sử dụng (use case diagram)

v Tổng quan (tt.):


• Biểu đồ ca sử dụng mô tả các yêu cầu chức năng của ht dưới dạng
các ca sử dụng, tổ chức và mô hình hoá các hành vi của hệ thống.

• Biểu đồ ca sử dụng chứa các chức năng mong đợi của hệ thống
(use case) và môi trường (actor) của nó.

4
Vai trò của biểu đồ ca sử dụng

v Đóng vai trò như một bản hợp đồng giữa


bên phát triển phần mềm và khách hàng.

v Là công cụ mạnh mẽ cho việc lập kế hoạch


-> Được dùng trong tất cả các giai đoạn của
quy trình phát triển hệ thống.
• Khách hàng phải phê chuẩn biểu đồ ca sử dụng.
• Sử dụng biểu đồ ca sử dụng để thảo luận với
khách hàng.

• Các bên liên quan đến dự án sẽ hiểu rõ hơn về ht


thông qua biểu đồ ca sử dụng. 5
Vai trò của biểu đồ ca sử dụng (tt.)

6
Tác nhân (actor)
v Tác nhân là bất kỳ thứ gì tương tác với hệ thống, có sự trao đổi dữ liệu
với hệ thống.
• Tác nhân là một lớp/loại người dùng chứ không phải một người cụ thể.

• Một người cụ thể có thể đóng vai trò là các tác nhân khác nhau, có nghĩa là người
đó có nhiều vai trò khác nhau trong hệ thống.

• Tác nhân KHÔNG phải là một phần của hệ thống.


o actors are EXTERNAL.

• Tác nhân trao đổi thông tin với hệ thống:


Actor
o Gửi thông tin tới hệ thống.

o Nhận thông tin từ hệ thống.

• Tác nhân có thể là người dùng, thiết bị phần cứng hoặc hệ thống phần mềm khác. 7
Tìm kiếm các tác nhân của hệ thống
v Đặt các câu hỏi sau để tìm ra các tác nhân:
• Nhóm người nào yêu cầu hệ thống làm việc cho họ?

• Nhóm người nào kích hoạt chức năng của hệ thống?

• Nhóm người nào sẽ duy trì và quản trị hệ thống hoạt động?
• Hệ thống có tương tác với các thiết bị phần cứng hoặc các phần
mềm ngoại vi nào khác hay không?

v Thông tin về tác nhân:


• Tên tác nhân phải mô tả vai trò của tác nhân đó một cách rõ ràng.

• Tên tác nhân nên là danh từ.


8
• Cần mô tả khái quát khả năng của tác nhân đó.
Ca sử dụng (Use Case - UC)

v Ca sử dụng là một chuỗi các hành động mà hệ thống thực hiện


nhằm thu được một kết quả dễ thấy bởi một tác nhân nào đó.
• Mô tả chức năng của hệ thống.
• Một ca sử dụng mô hình hoá một hội thoại giữa một hoặc nhiều tác nhân
với hệ thống.

• Kết thúc ca sử dụng, hệ thống cung cấp một giá trị nào đó cho tác nhân.

Use Case

9
Tìm kiếm các ca sử dụng của hệ thống
v Xem xét các yêu cầu chức năng của hệ thống để tìm ra các UC.
v Đối với mỗi tác nhân tìm được, đặt các câu hỏi sau:
• Tác nhân đó yêu cầu những gì từ hệ thống?
• Các công việc chính mà tác nhân đó muốn hệ thống thực thi?
• Tác nhân đó có tạo ra hoặc thay đổi dữ liệu gì của hệ thống?
• Tác nhân đó có phải thông báo gì cho hệ thống?
• Tác nhân đó có cần thông tin thông báo gì từ hệ thống?
v Thông tin về ca sử dụng:
• Tên của ca sử dụng nên chỉ rõ kết quả của quá trình tương tác với
tác nhân.
• Tên của ca sử dụng nên là động từ.
• Mô tả ngắn gọn về mục đích của ca sử dụng.
10
Những điều nên tránh khi tạo các UC
v Tạo ra các UC quá nhỏ.
• Hành động quá đơn giản.

v Tạo ra quá nhiều UC (hàng chục):


• Nhóm các UC liên quan thành một UC tổng quát (mức 1).

• Mô tả các UC tổng quát ở một biểu đồ khác (mức 2).

v Sử dụng các UC quá cụ thể.


• VD1: “Nhập PIN vào máy ATM” -> “Nhập PIN”.
• VD2: “Tìm tài liệu theo tên” -> “Tìm tài liệu”.

• VD3: “Thêm sách” -> “Quản lý sách”. 11


Kiểm tra các tác nhân

v Tất cả các tác nhân đã được tìm ra?


• Đảm bảo tất cả các vai trò trong môi trường của hệ thống đã được xét tới và
mô hình hoá.
v Tác nhân có liên quan đến ca sử dụng nào không?
• Loại bỏ các tác nhân không được đề cập trong bất kỳ một mô tả ca sử dụng
nào hoặc không có liên kết với bất kỳ ca sử dụng nào.
v Tác nhân có vai trò thực sự gì trong hệ thống? Tác nhân đó có
nên phân tách hoặc hợp nhất với tác nhân khác hay không?
• Các tác nhân có vai trò tương tự nhau trong hệ thống -> hợp nhất chúng
thành một tác nhân tổng quát.
• Tác nhân sử dụng hệ thống theo nhiều cách thức khác nhau hoặc thực hiện
một ca sử dụng nào đó với nhiều mục đích khác nhau -> tác nhân đó nên
được phân tách.

12
Kiểm tra các tác nhân (tt.)

v Có hai tác nhân có vai trò tương đồng nhau đối với một UC?
• Nếu có -> sử dụng quan hệ tổng quát hoá để mô hình hoá chúng thành
tác nhân tổng quát.
v Tên các tác nhân có trực quan?
• Khách hàng và người dùng phải hiểu tên các tác nhân.
• Tên các tác nhân phải mô tả vai trò của chúng một cách rõ ràng.

13
Kiểm tra các ca sử dụng

v Ca sử dụng có liên quan đến tác nhân nào không?


• Loại bỏ ca sử dụng không giao tiếp với bất kỳ một tác nhân nào.
v Các ca sử dụng có hành vi hoặc luồng các sự kiện giống
nhau hay không?
• Nếu có -> hợp nhất chúng thành một ca sử dụng duy nhất.
v Tên các ca sử dụng có trực quan hay không?
• Tên các ca sử dụng phải mô tả hành vi của chúng một cách rõ ràng.
v Mô tả các ca sử dụng có rõ ràng và dễ hiểu hay không?
• Khách hàng và người dùng phải hiểu tên các ca sử dụng.

14
Mối quan hệ trong biểu đồ ca sử dụng
v Mối quan hệ giữa các actor với nhau:
• Tổng quát hoá (generalization).

• Giao tiếp.

v Mối quan hệ giữa actor và use case:


• Giao tiếp.

v Mối quan hệ giữa các use case với nhau:


• Tổng quát hoá (generalization).
• Bao hàm (include).

• Mở rộng (extend). 15
Mối quan hệ giữa các actor với nhau

v Tổng quát hoá (generalization):


• Tác nhân con kế thừa tính chất và hành vi của tác nhân cha.

v Giao tiếp:

Đăng ký Đăng ký
Độc giả Thủ thư Độc giả 16
Mối quan hệ giữa actor với use case

v Tác nhân và ca sử dụng tương tác bằng cách gửi các tín hiệu cho
nhau.
• Chiều của quan hệ chính là chiều của tín hiệu gửi đi.
v Một UC mô hình hoá một hội thoại giữa các tác nhân và hệ thống.
v Một UC được bắt đầu bởi một tác nhân để gọi một chức năng nào
đó trong hệ thống.

Use Case
Association

Actor
17
Mối quan hệ giữa các use case với nhau

v Tổng quát hoá (generalization):


• Một ca sử dụng được đặc biệt hoá thành một
hoặc nhiều ca sử dụng con.

• Sử dụng cơ chế kế thừa:


o Mô tả hành vi chung (chia sẻ) trong ca sử dụng cha.

o Mô tả hành vi riêng trong (các) ca sử dụng con.

18
Mối quan hệ giữa các use case (tt.)

v Bao hàm (include):


• Một ca sử dụng có thể tích hợp hành vi của các ca sử dụng khác
như là các phân đoạn trong hành vi tổng thể của nó.

• Cho phép một UC sử dụng chức năng của UC khác.

• Chức năng của inclusion UCs sẽ được gọi trong base UC.

• Sử dụng stereotype là <<include>>.

19
Mối quan hệ giữa các use case (tt.)

v Mở rộng (extend):
• Cho phép mở rộng chức năng của một UC.

• Chèn hành vi của extension UC vào base UC.


• Sử dụng stereotype là <<extend>>.

Rút tiền In biên lai


« extend »

20
Ví dụ: Các mối quan hệ giữa các use case

21
Ví dụ: Một biểu đồ ca sử dụng

22
Đọc biểu đồ ca sử dụng trong slide 22

v Các chức năng của hệ thống là gì?

v Sinh viên có thể tác động lên những UC nào?

v Giáo viên có thể tác động lên những UC nào?

v Nếu A đóng vai trò vừa là tác nhân Professor vừa là tác
nhân Registrar, A có thể thực hiện được những UC nào?

v Biểu đồ ca sử dụng này không nói lên được điều gì?

v UC nào cần phải thực hiện đầu tiên?


23
Biểu đồ hoạt động (activity diagram)

v Một đồ thị gồm các nút hoạt động và các luồng, tương ứng
với luồng điều khiển.
v Được sử dụng để mô tả các hoạt động và các hành động
được thực hiện trong một UC.
• Biểu đồ luồng (flow chart) chỉ ra luồng điều khiển từ hoạt
động/hành động này đến hoạt động/hành động khác.

24
Nút hoạt động

v Đặc tả cho hành vi được diễn tả như một luồng thực thi thông
qua sự sắp xếp thứ tự của các đơn vị nhỏ hơn.
v Các đơn vị nhỏ hơn bao gồm các hoạt động lồng nhau và các
hoạt động riêng lẻ.
v Có thể chứa các ràng buộc biểu thức Boolean khi hoạt động
được gọi hoặc kết thúc.

25
Biểu đồ hoạt động cho UC “Đăng ký môn học”

26
Gọi một biểu đồ hoạt động khác

27
Làn bơi (swimlane)

v Biểu đồ hoạt động chỉ mô tả hoạt động gì xảy ra chứ không mô


tả ai làm gì.

v Nếu muốn chỉ ra ai làm gì thì có thể tổ chức các hoạt động vào
từng làn bơi.
v Mỗi làn bơi chứa các hoạt động do ai làm.

v Các làn bơi được phân tách bởi các đoạn thẳng.

v Có thể xây dựng các làn bơi theo một chiều (hàng hoặc cột)
hoặc hai chiều (cả hàng và cột).
28
Ví dụ: Sử dụng các làn bơi một chiều (cột)
Customer Salesman Accountant

Car Selection

[success]

Financing Car Ordering

[not found]

Checking Payment

[Failed]
[Paid]

Car Hand Over

29
Bài tập 1
Cho:
v Các tác nhân: Người mua, Hệ thống e-mail, Hệ thống cho vay và Hệ thống báo
cáo tín dụng.
v Các UC: Tìm người môi giới, Quản lý hồ sơ cá nhân, Tìm kiếm nhà và Yêu cầu
vay.
v Các mối liên kết:
• Từ Người mua tới Tìm người môi giới.
• Từ Người mua tới Quản lý hồ sơ cá nhân.
• Từ Người mua tới Tìm kiếm nhà.
• Từ Người mua tới Yêu cầu vay.
• Quản lý hồ sơ cá nhân tới Hệ thống e-mail.
• Tìm kiếm nhà tới Hệ thống e-mail.
• Yêu cầu vay tới Hệ thống e-mail, Hệ thống cho vay.
• Yêu cầu vay tới Hệ thống báo cáo tín dụng.
Anh/chị hãy vẽ biểu đồ ca sử dụng? 30
Bài tập 2

Cho:
v Các hoạt động/hành động: Chọn hồ sơ, Tìm hồ sơ người mua,
Tạo hồ sơ mới, Đăng nhập.

v Luồng hoạt động: Bắt đầu từ Chọn hồ sơ tới Tìm hồ sơ người mua
rồi đi từ Tìm hồ sơ người mua đến Tạo hồ sơ mới nếu hồ sơ
không tồn tại. Nếu hồ sơ tồn tại thì có thể Đăng nhập.

Anh/chị hãy vẽ biểu đồ hoạt động?

31
Bài tập 3

v Đề xuất biểu đồ ca sử dụng cho một hệ thống máy rút tiền


tự động ATM với những chức năng cơ bản nhất.

v Đề xuất biểu đồ ca sử dụng cho hệ thống quản lý đăng ký


môn học tại Học viện Kỹ thuật mật mã.

v Mô hình hoá luồng nghiệp vụ đặt mua sách trên mạng dưới
dạng biểu đồ hoạt động.

v Mô hình hoá quy trình “Đặt mua hàng” sử dụng các làn bơi.
32

You might also like