You are on page 1of 33

Bài 3

Phân tích
HƯỚNG ĐỐI TƯỢNG (tt)

GV: Từ Thị Xuân Hiền 1


Nội dung
Phân tích chi tiết chức năng của hệ thống
Cách vẽ sequence diagram
Sử dụng sequence diagram để biểu diễn tương tác giữa các đối
tượng trong hệ thống
So sánh activity và sequence diagram

GV: Từ Thị Xuân Hiền 2


Phân tích chi tiết chức năng của hệ thống
Đặc tả use case, thể hiện sự tương tác giữa người dùng và hệ
thống.
Activity diagram dùng để mô hình hóa một loạt các hoạt động
tương tác giữa người và hệ thống để thực hiện một chức năng
của hệ thống, nhưng chưa thể hiện chi tiết các đối tượng nào bên
trong hệ thống đã tương tác với nhau

GV: Từ Thị Xuân Hiền 3


Phân tích chi tiết chức năng của hệ thống
Bước tiếp theo trong phần phân tích:
Phân tích chi tiết các đối tượng nào bên trong hệ thống
tương tác như thế nào với nhau để thực hiện được chức
năng của hệ thống và đáp ứng yêu cầu của người dùng
Sequence diagram được dùng để mô hình hóa chi tiết quá
trình tương tác giữa các đối tượng bên trong hệ thống.

GV: Từ Thị Xuân Hiền 4


Sequence Diagrams
Sequence diagram - Sơ đồ tuần tự mô hình hóa tuần tự các
thông điệp các tương tác giữa các đối tượng theo thời gian khi
thực hiện một use case.
Sơ đồ tuần tự thường được đặt bên dưới đặc tả use case để
minh họa kịch bản của use case, biểu diễn cách người dùng
tương tác với hệ thống và những gì xảy ra bên trong hệ thống.
Các đối tượng tham gia vào hoạt động được liệt kê từ trái sang
phải tùy theo thời điểm chúng tham gia vào chuỗi thông báo.

GV: Từ Thị Xuân Hiền 5


Sequence Diagrams
Sequence Diagrams mô tả các đối tượng và lớp liên quan đến
kịch bản và chuỗi thông điệp được trao đổi giữa các đối tượng
cần thiết để thực hiện chức năng của kịch bản trong đặc tả use
case
Thông thường, một Sequence Diagrams để biểu diễn luồng sự
kiện chính của use case và các biến thể của sơ đồ để chỉ định các
luồng đặc biệt của use case.

GV: Từ Thị Xuân Hiền 6


Sequence Diagrams
Các thành phần trong sơ đồ tuần tự
Lifeline 
Thông điệp (Message)
Fragment

GV: Từ Thị Xuân Hiền 7


Sequence Diagrams
Lifeline: đại diện cho các đối tượng hoặc các bộ phận khác
nhau trong hệ thống tương tác với nhau khi thực hiện use case.
Ký hiệu trong UML

GV: Từ Thị Xuân Hiền 8


Sequence Diagrams
Object – Đối tượng
Một đối tượng trong sequence diagram được vẽ dưới dạng
hình chữ nhật chứa tên của đối tượng. Một đối tượng có thể
được đặt tên theo một trong ba cách:
 Tên đối tượng, SV1
 Tên đối tượng và lớp của nó, SV1: SinhVien
 Hoặc chỉ tên lớp (đối tượng ẩn danh). Sinhvien

GV: Từ Thị Xuân Hiền 9


Sequence Diagrams
Object – Đối tượng
Các đối tượng chịu trách nhiệm về những việc như quản lý dữ
liệu, di chuyển dữ liệu trong hệ thống, phản hồi các yêu cầu
và bảo vệ hệ thống.
Các đối tượng hoạt động cùng nhau bằng cách giao tiếp hoặc
tương tác với nhau.

GV: Từ Thị Xuân Hiền 10


Sequence Diagrams
Các loại lifeline

lifeline actor Đại diện cho đối tượng thực hiện use case

Lifeline Entity Đại diện cho dữ liệu trong hệ thống

Biểu diễn ranh giới / phần mềm hệ thống trong một hệ


Lifeline boundary
thống

Biểu diễn một đối tượng điều khiển, đóng vai trò trung
Lifeline control
gian tương tác giữa boundaries and entities
GV: Từ Thị Xuân Hiền 11
Sequence Diagrams
Các loại lifeline

Biểu diễn một đối tượng đang hoạt động (hoặc


Thanh kích hoạt
(Activation Bars) khởi tạo) trong quá trình tương tác giữa hai đối
tượng

GV: Từ Thị Xuân Hiền 12


Sequence Diagrams
Thông điệp (Message): Mũi tên từ đối tượng gửi đến đối tượng
nhận biểu diễn thông điệp tương tác giữa các đối tượng, nội dung
của thông điệp đặt trên mũi tên.
Một thông điệp có thể chuyển theo hướng bất kỳ, với các mũi tên khác
nhau, biểu diễn các loại thông điệp khác nhau.
Mũi tên thông điệp đi kèm với một mô tả, được gọi là quy tắc viết thông
điệp

attribute = message_name (arguments): return_type

GV: Từ Thị Xuân Hiền 13


Sequence Diagrams
Các loại thông điệp
Synchronous message: được hiển thị dưới dạng một đường
liền nét với đầu mũi tên đầy, đối tượng gửi chờ bên nhận xử
lý và trả kết quả trước khi gửi thông điệp tiếp theo.

GV: Từ Thị Xuân Hiền 14


Sequence Diagrams
Các loại thông điệp
Asynchronous message: được hiển thị dưới dạng một
đường liền nét với đầu mũi tên rỗng, bên gửi không chờ
bên nhận trả kết quả, tiếp tục gửi thông điệp tiếp theo

GV: Từ Thị Xuân Hiền 15


Sequence Diagrams
Các loại thông điệp
Creation Messages (thông điệp tạo đối tượng): Một thông điệp
hàm tạo sẽ tạo ra một đối tượng mới.
Bên gửi đã tồn tại khi bắt đầu tương tác.

GV: Từ Thị Xuân Hiền 16


Sequence Diagrams
Các loại thông điệp
Destructor message: Một thông báo hủy sẽ hủy đối tượng.

GV: Từ Thị Xuân Hiền 17


Sequence Diagrams
Các loại thông điệp
Non instantaneous message – Thông điệp không tức thời:
 Thông thường, thời gian để thông điệp đến bên nhận là không đáng kể,
được vẽ dưới dạng một mũi tên nằm ngang.
 Nếu phải mất một khoảng thời gian nhất định trước khi bên nhận thực
sự nhận được thông điệp, một mũi tên nghiêng được sử dụng.

GV: Từ Thị Xuân Hiền 18


Sequence Diagrams
Các loại thông điệp
Return message: bên nhận đã xử lý xong thông điệp yêu cầu
và trả lại quyền kiểm soát cho bên gửi

GV: Từ Thị Xuân Hiền 19


Sequence Diagrams
Các loại thông điệp
Self message:Thông điệp của một đối tượng gửi cho chính nó

GV: Từ Thị Xuân Hiền 20


Sequence Diagrams
Các loại thông điệp
Recursive self message: cuộc gọi đệ quy đến cùng một đối
tượng

GV: Từ Thị Xuân Hiền 21


Sequence Diagrams
Fragment được sử dụng để biểu diễn một đoạn tương tác phức
tạp giữa các đối tượng trong hệ thống như các luồng thay thế, cấu
trúc lụa chọn, vòng lặp.
Ký hiệu trong UML

GV: Từ Thị Xuân Hiền 22


Sequence Diagrams
Các loại fragment
Alt đại diện cho một lựa chọn hoặc lựa chọn thay thế của
hành vi

If(balance>0)
accept
Else
reject

GV: Từ Thị Xuân Hiền 23


Sequence Diagrams
Các loại fragment
opt đại diện cho một lựa chọn hoặc lựa chọn thay thế
của hành vi

If(balance>0)
accept

GV: Từ Thị Xuân Hiền 24


Sequence diagram
Các loại fragment
Loop biểu diễn một cấu trúc lặp trong ứng dụng đệ quy

GV: Từ Thị Xuân Hiền 25


Sequence diagram
Các loại fragment
Break biểu diễn cho một kịch bản ngoại lệ được thực hiện thay
cho phần còn lại của đoạn tương tác kèm theo

GV: Từ Thị Xuân Hiền 26


Sequence diagram
Ví dụ: Đặt hàng
Biểu đồ gồm ba đối tượng tham gia: Khách hàng, Đơn đặt
hàng và Mặt hàng.
Các bước đặt hàng:
 Bước 1 và 2: Khách hàng tạo đơn hàng.
 Bước 3: Khách hàng thêm mặt hàng vào đơn hàng.
 Bước 4, 5: Mỗi mặt hàng được kiểm tra tính khả dụng trong kho.
 Bước 6, 7, 8: Nếu sản phẩm có sẵn sẽ được thêm vào đơn hàng.

 Bước 9 trở lại


 Bước 10, 11: Lưu và hủy đơn hàng

GV: Từ Thị Xuân Hiền 27


Ví dụ:

GV: Từ Thị Xuân Hiền 28


Sequence diagram
Ví dụ:
• Đặt phòng
khách sạn
• Đối tượng khởi
tạo chuỗi thông
báo là một
Reservation
window.

GV: Từ Thị Xuân Hiền 29


Ví dụ
Một thành viên (member) của Ship muốn đặt hàng (order) trực
tuyến. Sản phẩm đã đặt sẽ được gửi đến họ, hoặc gửi bằng
chuyển phát nhanh (courier) hoặc bằng thư thông thường
(ordinary mail) tùy thuộc vào tình trạng thành viên của người đặt
hàng.
Theo tùy chọn, shop sẽ gửi cho thành viên thông báo xác nhận
(Notification) nếu thành viên chọn tùy chọn thông báo trong đơn
hàng.

GV: Từ Thị Xuân Hiền 30


Ví dụ
Sơ đồ tuần tự biểu
diễn kịch bản
trong ví dụ gồm
các loại fragment
Loop, Alt, opt

GV: Từ Thị Xuân Hiền 31


Bài tập
Cho kịch bản của use case tìm sách (Search Book) – vẽ sơ đồ
tuần tự.
Khách hàng chọn một tác giả trên trang tìm kiếm (Search Page) có chứa
nút Search
Hệ thống kiểm tra điều kiện tìm kiếm của khách hàng
Nếu tác giả tồn tại thì hệ thống tìm các quyển sách của tác giả được
chỉ định
Khi việc tìm kiếm hoàn tất thì hệ thống hiển thị các quyển sách trên
trang kết quả
Nếu khách hàng không chỉ định tên tác giả trước khi nhấn nút Search
thì hệ thống hiển thị thông báo lỗi
GV: Từ Thị Xuân Hiền 32
GV: Từ Thị Xuân Hiền 33

You might also like