C05_PhanTichUseCase_LuocDoActivity_Sequence_CongTac

142 46 0
C05_PhanTichUseCase_LuocDoActivity_Sequence_CongTac

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

• Kiểm tra, đối chứng chúng với điều kiện biên và các điều kiện đặc biệt khác, những điều kiện rất có thể đã chưa được quan tâm đủ độ trong thời gian tạo dựng biểu đồ trạng[r]

(1)

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CƠNG NGHỆ THƠNG TIN

MƠ HÌNH TƯƠNG TÁC ĐỐI TƯỢNG

DINAMIC MODEL

(2)

NỘI DUNG

1 Khái niệm mơ hình động 2 Activity diagram

3 Sequence diagram

4 Collaboration diagram

(3)(4)

KHÁI NIỆM MƠ HÌNH ĐỘNG (DINAMIC MODEL)

Mơ hình động (dynamic model) để mơ hình hóa

hoạt động thật hệ thống trình bày hướng nhìn hệ thống thời gian hệ thống hoạt động

• Hành vi hệ thống mơ tả mơ hình động bao gồm:

– Tương tác đối tượng: cộng tác hay trình tự – Trạng thái đối tượng/lớp

– Quá trình hoạt động lớp/đối tượng

(5)

TƯƠNG TÁC GIỮA CÁC ĐỐI TƯỢNG(1)

• Đối tượng tương tác (interaction) với cách gởi nhận kích hoạt(stimulus)

• Actor gởi kích hoạt đến đối tượng

(6)

TƯƠNG TÁC GIỮA CÁC ĐỐI TƯỢNG(1)

• Các loại thông điệp:

– Đơn giản – Đồng bộ

– Bất đồng bộ

– Trả gọi hàm

(7)

VAI TRÒ CỦA SƠ ĐỜ TƯƠNG TÁC

• UC mơ tả chức hệ thống, actor có thể sử dụng hệ thống để làm (what), không chỉ hệ thống làm

(8)

CÁC LOẠI BIỂU ĐỜ ĐỘNG

Bốn loại biểu đờ động UML

• Sơ đồ hoạt động (activity diagram) • Sơ đồ (sequence diagram)

• Sơ đồ cộng tác (collaboration diagram) • Sơ đồ trạng thái (status diagram)

(9)

ACTIVITY DIAGRAM

• Một sơ hoạt động (activity) dùng để mơ hình hóa cách trực quan bước thực use case

• Các hoạt động mơ hình thực đồng thời

• Một sơ đồ hoạt động ln có điểm khởi đầu điểm kết thúc

• Nó ra:

– buớc luồng công việc – điểm định

– có trách nhiệm thực buớc

(10)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

• Các phần tử sơ đồ hoạt động

Activity Partition (Swimlines): xác định đối tượng tham gia hoạt động qui trình

Ví dụ Customer Insert Card cịn ATM Machine Show Balance.

(11)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

b Nút Start, End

• Start thể điểm bắt đầu qui trình, End thể điểm kết thúc qui trình

Ký hiệu nút Start

(12)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Trần Thị Kim Chi 12

c Activity

• Activity mơ tả hoạt động hệ thống Các hoạt động đối tượng thực

d Branch

(13)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

e Fork

• Fork thể cho trường hợp

(14)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Trần Thị Kim Chi 14

f Join

• Cùng ký hiệu với Fork thể trường hợp phải thực hai hay nhiều hành động trước thực hành động

(15)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

L̀ng hoạt động

– Minh họa trình chuyển đổi từ trạng thái hoạt động sang trạng thái hoạt động khác

Ký hiệu UML

Nút Merge

– Sự kết hợp luồng kiện Các đầu vào không đồng

– Nhiều đầu vào có đầu

(16)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Trần Thị Kim Chi 16

Ứng dụng vẽ Activity Diagram:

Phân tích nghiệp vụ để hiểu rõ hệ thống Phân tích Use Case

(17)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Cách xây dựng Activity Diagram Bước 1: Xác định nghiệp vụ cần mô tả

Xem xét vẽ Use Case để xác định nghiệp vụ bạn cần mô tả

Bước 2: Xác định trạng thái đầu

tiên trạng thái kết thúc

Bước 3: Xác định hoạt động tiếp theo

(18)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Trần Thị Kim Chi 18

Xây dựng Activity Diagarm cho hệ thống eCommerce

Bước 1: Xác định nghiệp vụ cần phân tích.

Xem xét vẽ Use Case Diagram, thấy Use Case sau cần làm rõ:

Xem sản phẩm theo chủng loại

Thêm sản phẩm theo nhà cung cấp Thêm giỏ hàng

Chat

Quản lý đơn hàng Thanh toán

Theo dõi chuyển hàng Đăng nhập

(19)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Xây dựng Activity Diagarm cho hệ thống eCommerce

Bước 2: Xác định bước thực đối tượng liên quan

Để thực chức xem sản phẩm theo chuẩn loại hệ thống thực sau:

Điều kiện ban đầu: trang chủ

Điều kiện kết thúc: Hiển thị xong trang sản phẩm Các bước sau:

Người dùng chọn loại sản phẩm

Hệ thống lọc lấy loại sản phẩm tương ứng, sau lấy giá, lấy khuyến cho tất sản phẩm chọn hiển thị lên hình

(20)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Trần Thị Kim Chi 20

Xây dựng Activity Diagarm cho hệ thống eCommerce Bước 3: Thực vẽ

Chúng ta thấy có đối tượng tham gia vào giao dịch Người dùng Hệ thống Chúng ta nên dùng Swimlance để thể đối tượng

(21)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Xây dựng Activity Diagarm cho hệ thống eCommerce Bước 3: Thực vẽ

Xác định trạng thái

Hành động Guest chọn loại sản phẩm

(22)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Trần Thị Kim Chi 22

Xây dựng Activity

Diagarm cho hệ thống eCommerce

Bước 3: Thực vẽ

Hệ thống lấy danh sách sản phẩm tương ứng với loại đó, sau lấy giá,lấy khuyến chúng hiển thị hình

Hành động lấy giá

(23)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Hệ thống tập hợp danh sách sản phẩm thông tin liên quan để hiển thị lên

Browser

Người dùng xem danh sách sản phẩm kết thúc

(24)

ACTIVITY DIAGRAM

(25)

Thí dụ: Khách hàng nhận sản

phẩm lỗi, yêu cầu trả lại hàng

• Customer viết thư yêu cầu bồi thuờng Customer service representative nghiên cứu thư Nếu thiếu tài liệu yêu cầu họ viết thư từ chối bồi thuờng Nếu đầy đủ tài liệu họ lưu trữ thư đồng thời Account payable clerk viết séc Khi xong hai việc này, Customer service representative thông báo cho khách hàng yêu cầu họ chấp nhận

(26)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

(27)(28)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Vẽ sơ activity cho đăng nhập vào website với user admin user

(29)(30)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

(31)

VÍ DỤ ACTIVITY DIAGRAM

(32)

VÍ DỤ ACTIVITY DIAGRAM

Sơ hoạt động thực hoá use case Quản lý nhập hàng

(33)(34)

CÁC DẠNG ACTIVITY DIAGRAM

Trần Thị Kim Chi 34

(35)

KIỂM TRA ACTIVITY DIAGRAM

(36)

KIỂM TRA ACTIVITY DIAGRAM

Trần Thị Kim Chi 36

(37)

VÍ DỤ ACTIVITY DIAGRAM

Bài tập 2: Xây dựng use case diagram activity ứng dụng quản lý TKB với chức sau:

• SV chọn chức xem TKB lớp

• Hệ thống hiển thị hình xem TKB lớp • SV chọn lớp, niên khóa, học kỳ

• SV chọn chức xem TKB

• Hệ thống truy cập CSDL lấy thông tin TKB tương ứng với lớp SV chọn

(38)

VÍ DỤ ACTIVITY DIAGRAM

(39)(40)

BÀI TẬP ACTIVITY DIAGRAM

Trần Thị Kim Chi 40

• Sử dụng sơ Activity mơ hình hóa hoạt động use case rút tiền hệ thống ATM.

(41)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

• Sơ đồ sử dụng giai đoạn phân tích thiết kế

• Trong giai đoạn phân tích yêu cầu toán, sơ đồ sử dụng để mô tả luồng kiện theo thời gian cấu trúc

các hoạt động thực use case

Sơ đồ biểu diễn chi tiết quan hệ giao tiếp đối

tượng trình thực use case

• Sơ đồ có hai trục: trục nằm dọc thời gian, trục nằm ngang tập hợp đối tượng

(42)

Lifetime

Message Return

Local message

(43)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Ưu điểm

– Biểu diễn rõ ràng trình tự thơng điệp tương tác đối tượng trường hợp phức tạp

Nhược điểm

– Chiếm không gian theo chiều ngang thêm đối tượng

Ứng dụng Sequence Diagram Thiết kế chức

(44)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

1: PerformResponsibility

Client Object Supplier Object

Message :Client :Supplier Execution Occurrence Reflexive Message Object Lifeline

Thời gian sống

1.1: PerformAnother Responsibility Hierarchical Message Numbering Interaction Occurrence ref Event Occurrence

(45)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Đối tượng tham gia (Participant): đối tượng thực

hành động sơ đồ trình tự.

Ký hiệu UML

(46)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Trần Thị Kim Chi 46

Lớp (Classes) thể (Instances)

Trong UML, thể (instances) lớp

(class) có ký hiệu giống Lớp, tên thể hiện (instances) gạch chân.

• Ví dụ:

Tên Instance sơ đồ,

khơng đặt tên đặt dấu : trước tên Lớp gạch chân

(47)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Ánh xạ đối tượng vào lớp Mapping an Object to a Class

• Tất đối tượng sơ đồ cần ánh xạ (map) vào lớp

(48)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Các thành phần Sequence diagram:

Lifeline (thời gian sống): yếu tố đặt tên đại diện cho cá nhân tham gia tương tác Biểu diễn thời gian sống đối tượng sơ đồ tuần tự,

Kích hoạt (Activation): biểu diễn thời gian đối tượng trạng thái hoạt động

Kết thúc đối tượng (Destroying): đối tượng kết thúc sau hoàn tất hoạt động

Ký hiệu UML

48

Oject:Class :Class

Activat ion

(49)(50)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Trần Thị Kim Chi 50

Tng điệp (Messages): biểu diễn giao tiếp giữa đối tượng

Thông điệp không đồng bộ: gửi từ đối

tượng không chờ thông điệp trả từ đối tượng nhận trước tiếp tục.

Ký hiệu UML:

(51)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Thông điệp đồng bộ: đối tượng gửi thông điệp chờ

đến thông điệp xử lý trước tiếp tục.

(52)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Trần Thị Kim Chi 52

Return Message

(53)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Self Message

– Một gọi đệ quy hoạt động, một phương thức gọi phương thức khác cùng đối tượng

(54)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Thơng điệp (Message)

• Mỗi thơng điệp có cú pháp sau:

– return := message(parameter : parameterType) : returnType – Parameter: tham số thông điệp,

– returnType: loại giá trị trả (tùy chọn)

• Ví dụ :

– spec := getProductSpect(id)

– spec := getProductSpect(id:ItemID)

– spec := getProductSpect(id:ItemID): ProductSpect

(55)(56)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

(57)(58)

ĐIỀU HƯỚNG GỌI METHODS

Trần Thị Kim Chi 58

Frame: hộp biểu diễn phần sơ đồ

để thể lựa chọn lặp

• hộp xung quanh phần biểu đồ trình tự để biết sự lựa chọn loop

if -> (opt) [condition]

(59)

ĐIỀU HƯỚNG GỌI METHODS

Alt

– Biểu diễn cho lựa chọn thay hành vi.

(60)

ĐIỀU HƯỚNG GỌI METHODS

Trần Thị Kim Chi 60

Option

– Đại diện cho lựa chọn hành vi mà trong hai (duy nhất) tốn hạng xảy khơng có xảy

(61)

ĐIỀU HƯỚNG GỌI METHODS

Loop

(62)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Interaction Frame

(63)(64)

LINKING SEQUENCE DIAGRAMS

• If one diagram is too large or refers to another, indicate with:

– an unfinished arrow and comment,

– or a "ref" frame that names the other diagram

• when would this occur in our system?

(65)(66)

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Bước 1: Xác định chức cần thiết kế Bạn dựa vào Use Case Diagram để xác định xem chức cần thiết kế

Bước 2: Dựa vào Activity Diagram để xác định bước thực theo nghiệp vụ

Bước 3: Đối chiếu với Class Diagram để xác định lớp hệ thống tham gia vào nghiệp vụ

Bước 4: Vẽ Sequence Diagarm

Bước 5: Cập nhật lại vẽ Class Diagram

Trần Thị Kim Chi 66

(67)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Khi vẽ sơ đồ tuần tự, cần ý:

• Sự kiện biểu diễn đường thẳng nằm ngang. • Đối tượng đường nằm dọc.

(68)

VÍ DỤ SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Xây dựng Sequence Diagarm cho hệ thống eCommerce

Bước 1: Xác định Use Case cần thiết kế • Các Use Case sau cần thiết kế:

Xem sản phẩm theo chủng loại Thêm sản phẩm theo nhà cung cấp Thêm giỏ hàng

Chat

Quản lý đơn hàng Thanh toán

Theo dõi chuyển hàng Đăng nhập

Tiếp theo, thiết kế cho chức “Xem sản

phẩm theo chủng loại”.

(69)

VÍ DỤ SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Xây dựng Sequence Diagarm cho hệ thống eCommerce

Bước 2: Xem Activity Diagram cho Use Case xác định bước sau:

Người dùng chọn loại sản phẩm

Hệ thống lọc lấy loại sản phẩm tương ứng, sau lấy giá, lấy khuyến hiển thị lên hình

(70)

VÍ DỤ SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Xây dựng Sequence Diagarm cho hệ thống eCommerce

Bước 3: Đối chiếu với Class Diagram ta xác định đối tượng thực sau:

Người dùng: chọn loại sản phẩm qua giao diện

Giao diện: lấy danh sách sản phẩm tương ứng từ ProductsGiao diện: lấy giá sản phẩm từ Class Prices

Promotion Amount từ lớp PromotionsGiao diện: tổng hợp danh sách hiển thịNgười dùng: Xem sản phẩm

(71)

VÍ DỤ SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Bước 4: Vẽ sequence Diagram

• Xác định lớp tham gia vào hệ thống gồm: người dùng (Guest), Giao diện (GUI System), Sản phẩm (Products), Giá (Prices), Khuyến (Promotions)

(72)

VÍ DỤ SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Các bước thực Use Case sau:

Guest gửi yêu cầu xem sản phẩm lên giao diện kèm theo chủng loại

GUI system: gửi yêu cầu lấy danh sách sản phẩm tương ứng với chủng loại cho lớp sản phẩm nhận lại danh sách • GUI system: gửi yêu cầu lấy Giá cho sản phẩm từ

Prices

GUI system: gửi yêu cầu lấy khuyến cho sản phẩm từ Promotions nhận lại kết

GUI system: ghép lại danh sách hiển thị lên browser trả cho Guest

(73)(74)

VÍ DỤ SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Bước 5: Kiểm tra cập nhật vẽ Class Diagram

• Chúng ta nhận thấy để thực vẽ cần bổ sung phương thức cho lớp sau:

Products class: bổ sung phương thức

GetProductInfo(Product Type): trả thông tin sản phẩm

có loại truyền vào Việc đối tượng lớp Products hồn tồn làm họ có thuộc tính

ProductType nên họ trả thơng tin • Prices: bổ sung phương thức GetPrice(ProductID):

UnitPrice Sau lấy ProductID từ Products, GUI gọi phương thức để lấy giá sản phẩm từ lớp giá Các đối tượng từ lớp Prices hoàn toàn đáp ứng điều

(75)

VÍ DỤ SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Bước 5: Kiểm tra cập nhật vẽ Class DiagramPromotions: tương tự bổ sung phương thức

GetPromotion(ProductID).

GUI System(View Product Page): bổ sung phương thứcDisplayProductList(List of product) để hiển thị danh sách

lên sản phẩm Ngoài ra, bạn cần có thêm phương thức

ViewProductbyType(ProductType) để mơ tả hoạt

(76)

CÁC VÍ DỤ SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

• Có ba lớp tham gia cảnh kịch này: khách hàng, máy ATM tài khoản

• Khách hàng đưa thẻ tiền vào máy ATM

• Đối tượng máy ATM yêu cầu khách hàng cung cấp mã số

• Mã số gửi cho hệ thống để kiểm tra tài khoản

• Đối tượng tài khoản kiểm tra mã số báo kết kiểm tra đến cho ATM ATM gửi kết kiểm tra đến khách hàng

• Khách hàng nhập số tiền cần rút.

• ATM gửi số tiền cần rút đến cho tài khoản

• Đối tượng tài khoản trừ số tiền vào mức tiền tài khoản Tại thời điểm này, thấy có mũi tên quay trở lại vào đối tượng tài khoản Ý nghĩa đối tượng tài khoản xử lý yêu cầu nội đối tượng khơng gửi kiện ngồi

• Đối tượng tài khoản trả mức tiền tài khoản cho máy ATM

• Đối tượng ATM trả mức tiền tài khoản cho khách hàng dĩ nhiên, lượng tiền khách hàng yêu cầu rút

(77)(78)

VÍ DỤ SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

(79)(80)(81)

Use case: Withdraw

Actor: Client

Purpose: To allow the client to withdraw money

Pre-conditions: User already logged-in

Post-conditions: Amount is deducted from user’s

account

Main flow:

1) Client initiates this usecase by selecting 'withdraw' 2) System displays all the accounts related to the

Card and prompts to select any one 3) Client selects one account

4) System prompts for the amount (fast cash or …) 5) Client enter amount

… Alternative flows: Client User Account Amount Money Card Cash Identify Nouns

Ví dụ: Use case rút tiền hệ thống ATM

(82)

sơ – Use case rút tiền (tt)

: Client : WithdrawUI : WithdrawControl : Card : Account 1: // select withdraw( )

2: // get list accounts( )

3: // get accounts( )

4: // get info( )

5: // display account( )

6: // select account( ) 7: // enter money( )

8: // withdraw( )

9: [enough money] // withdraw( )

(83)

VÍ DỤ ACTIVITY DIAGRAM

(84)

SƠ ĐỜ TRÌNH TỰ - SEQUENCY DIAGRAM

Vẽ sơ trình tự cho hoạt động cấp thẻ khách hàng thành viên

(85)

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

Sơ đồ cộng tác: miêu tả actor đối tượng hệ thống tương tác với sao, vị trí đối tượng khơng quan trọng trọng điểm biểu đồ cộng tác kiện Tập trung vào kiện có nghĩa ý đặc biệt đến mối quan hệ (nối kết) đối tượng, mà phải thể chúng cách rõ ràng biểu đồ

• sơ đồ cộng tác thường dùng để biểu diễn kịch khai thác (scenario) use case

• Có thể tạo nhiều collaboration diagram cho usecase.

(86)

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

• Các thành phần sơ đồ cộng tác:

1: PerformResponsibility

Client Object

Supplier Object

Message Link

:Client

:Supplier

(87)

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

(88)

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

• Đầu tiên thủ tục WithdrawalReq() gọi từ lớp khách hàng Đó lệnh gọi số

• Bước hàm AskForPin(), số 1.1, gọi từ lớp ATM Thông điệp biểu đồ viết dạng pin:= AskForPin(), thể "giá trị trả về" hàm mã số mà lớp khách hàng cung cấp

• Hình cung bên lớp tài khoản biểu thị hàm ComputeNetBalance() gọi nội lớp tài khoản xử lý cục Thường thủ tục riêng (private) lớp

(89)

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

Các thành phần có sơ đồ cộng tác: • Actor

• Object • Message

(90)

SƠ ĐỜ CỘNG TÁC (COLLABORATION DIAGRAM)

• Actor:

– Tác nhân bên tương tác với hệ thống

• Object

– Đối tượng tham gia trình tương tác người dùng hệ thống

• Message

– Thơng điệp mô tả tương tác đối tượng

– Thông điệp gửi từ đối tượng sang đối tượng khác – Thơng điệp u cầu thực thi hệ thống, lời gọi hàm

khởi tạo đối tượng, hủy đối tượng, cập nhật đối tượng,…

(91)

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

(92)

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

Thuộc tính thơng điệp: • Action

• Control Flow • Operation • Arguments • Return Value • Predecessor list • Condition

(93)

SƠ ĐỜ CỘNG TÁC (COLLABORATION DIAGRAM)

Thuộc tính thơng điệp: • Action

– Create: đối tượng gởi thơng điệp gọi hàm khởi tạo đối tượng nhận thông điệp

– Destroy: đối tượng gửi thông điệp gọi hàm hủy đối tượng nhận thông điệp

(94)

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

Thuộc tính thơng điệp: • Control Flow

– Undefined: không định nghĩa

– Asynchronous: thông điệp không đồng bộ, đối tượng gởi thông điệp không cần đợi kết trả từ đối tượng nhận, thơng điệp thực đồng thời

– Procedure Call: thông điệp đồng bộ, đối tượng gởi thông điệp phải đợi kết trả từ đối tượng nhận

– Return: thông điệp return thường liên kết với thông điệp loại :Procedure call”

(95)

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

Thuộc tính thơng điệp: • Operation

– Nếu đối tượng sơ đồ thể lớp đối tượng (class), chọn operation class để liên kết message

– Không thể liên kết return message với operation

• Arguments

(96)

VÍ DỤ ACTIVITY DIAGRAM

sơ hoạt động thực hoá use case Quản lý khách hàng thân thiết

(97)

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

(98)

SƠ ĐỜ CỘNG TÁC (COLLABORATION DIAGRAM)

• Ví dụ: sơ đồ cộng tác tạo thẻ thành viên

(99)

Ví dụ: sơ cộng tác Đăng ký học phần : Student : RegisterForCoursesForm : RegistrationController : Schedule : Student : CourseCatalogSystem 1.2 // display course offerings( )

1.3 // display blank schedule( )

: Course Catalog // create schedule( )

2 // select primary and alternate offerings( )

1.1 // get course offerings( ) 2.1 // create schedule with offerings( )

2.1.1 // create with offerings( )

1.1.1 // get course offerings(forSemester)

2.1.2 // add schedule(Schedule)

(100)

: CourseOffering : Student : RegistrationController : Schedule : Student : PrimaryScheduleOfferingInfob

1.1.2.4 // any conflicts?( ) : RegisterForCoursesForm

1 // submit schedule( )

1.1 // submit schedule( )

1.1.2 // submit( )1.1.1 // save( )

1.1.2.3 // still open?( ) 1.1.2.5 // add student(Schedule)

1.1.2.1 // is selected?( ) 1.1.2.6 // mark as enrolled in( )

1.1.2.2 // has pre-requisites(CourseOffering)

Ví dụ: sơ cộng tác đăng ký học phần(tt)

(101)(102)

Bài tập: BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

1 Xây dựng sơ cộng tác cho Đặt vé tàu, sinh viên

2 Xây dựng sơ activity, sequence Collaboration diagram ứng dụng quản lý TKB:

• SV chọn chức xem TKB lớp

• Hệ thống hiển thị hình xem TKB lớp • SV chọn lớp, niên khóa, học kỳ

• SV chọn chức xem TKB

• Hệ thống truy cập CSDL lấy thông tin TKB tương ứng với lớp SV chọn

• Hệ thống hiển thị thơng tin TKB

(103)(104)

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

(105)(106)

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

(107)(108)

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

(109)

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

(110)

Biểu đồ tuần tự: Đặt trước sách

(111)(112)

Thêm phương thức vào lớp

(113)

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

Bài tập:

(114)

sơ trạng thái (State Diagram) biểu diễn mối liên hệ

trạng thái đối tượng

• Thơng thường sơ đồ trạng thái áp dụng cho đối tượng/ lớp  biểu diễn hành vi lớp

• Thơng thường đối tượng nằm trạng thái khoảng thời gian định dịch chuyển từ trạng thái sang trạng thái khác

SƠ ĐỒ TRẠNG THÁI

(115)

• Một lớp có thuộc tính đặc biệt xác định trạng thái, trạng thái xác định qua giá trị thuộc tính “bình thường" đối tượng

SƠ ĐỒ TRẠNG THÁI

Ví dụ trạng thái đối tượng:

• Hóa đơn (đối tượng) trả tiền (trạng thái)

• Chiếc xe ô tô (đối tượng) đứng yên (trạng thái)

• Động (đối tượng) chạy (trạng thái) • Jen (đối tượng) đóng vai trị người bán

hàng (trạng thái)

(116)

• Trạng thái tổng hợp trạng thái phân rã trạng thái đơn giản

• Ký hiệu

SƠ ĐỒ TRẠNG THÁI

Tên

Ph n mô t hành ầ ả đ ngộ

(117)

Trạng thái - StateSự kiện – Event

Hành động – Action

Mối liên hệ trạng thái

(118)

Trạng thái – State

• Trạng thái bắt đầu: đối tượng tạo trạng thái tổng hợp xác định Ký hiệu:

• Trạng thái kết thúc: đối tượng bị hủy bỏ trạng thái tổng hợp trở nên khơng xác định.

Trạng thái trung gian

SƠ ĐỒ TRẠNG THÁI

(119)

Sự kiện – Event

Event

Entry: kiện phát sinh đối tượng bắt đầu nhận trạng tháiExit: kiện phát sinh đối tượng kết thúc trạng thái

Do: kiện phát sinh user thực hành động thơng qua bàn phím/chuột

(120)

Trạng thái - State

Action

Entry: hành động thực đối tượng bắt đầu trạng thái

Do: tập hành động thực với trạng thái

Exit: hành động thực đối tượng kết thúc trạng thái

SƠ ĐỒ TRẠNG THÁI

(121)

Mối liên hệ trạng thái -Transition

– Event – Action

– Condition: điều kiện cho phép chuyển từ trạng thái sang trạng thái khác

(122)

State – Event – Action - Transition

SƠ ĐỒ TRẠNG THÁI

(123)(124)

SƠ ĐỒ TRẠNG THÁI

• State diagram mơ trạng hình quản lý danh mục giáo viên

(125)(126)

• Lưu ý:

– Tên trạng thái sơ đồ

– Các hành động bên trong: hành động tác vụ thực nằm trạng thái xét , có cú pháp:

action-label / action –expression

• Các nhãn hành động khác kiện kích hoạt hành động tương ứng biểu thức hành động(action-expression)

• Cú pháp biểu thức hành động:

SƠ ĐỒ TRẠNG THÁI

(127)

• Cú pháp nhãn:

even t-signature[guard-condition] /action-expression VD: sơ đồ trạng thái lớp Message

(128)

SƠ ĐỒ TRẠNG THÁI

Biến đổi trạng thái khơng có kiện từ ngồi Sự thay đổi trạng thái xảy hoạt động trạng thái thực xong

(129)

• Quá trình phát kiện trạng thái mặt chất bao gồm việc hỏi số câu hỏi thích hợp:

• Một đối tượng có trạng thái nào?: Hãy liệt kê tất

trạng thái mà đối tượng có vịng đời

• Những kiện xảy ra?: Bởi kiện gây việc thay đổi trạng thái nên nhận kiện bước quan trọng để nhận diện trạng thái

• Trạng thái gì?: Sau nhận diện kiện, xác định trạng thái kiện xảy trạng thái sau kiện xảy

• Có thủ tục thực thi?: Hãy để ý đến thủ tục ảnh hưởng đến trạng thái đối tượng

• Chuỗi tương tác đối tượng gì?: Tương tác đối tượng ảnh hưởng đến trạng thái đối tượng

• Qui định áp dụng cho phản ứng đối tượng với nhau?:

Các qui định kiềm tỏa phản ứng kiện xác định rõ

(130)

• Những kiện chuyển tải xảy ra?: Nhiều có số kiện thay đổi trạng thái khơng thể xảy Ví dụ bán ô tô bán

• Cái khiến cho đối tượng tạo ra?: Đối tượng tạo để trả lời cho kiện Ví dụ sinh viên ghi danh cho khóa học

• Cái khiến cho đối tượng bị hủy?: Đối tượng bị hủy chúng không cần tới Ví dụ sinh viên kết thúc khóa học

• Cái khiến cho đối tượng cần phải tái phân loại (reclassfied)?: Những loại kiện nhân viên tăng chức thành nhà quản trị khiến cho động tác tái phân loại nhân viên thực

NHẬN BIẾT TRẠNG THÁI VÀ SỰ KIỆN

(131)

• Một số lời mách bảo cho việc tạo dựng biểu đồ trạng thái

• Chuyển biểu đồ trình tự thành biểu đồ trạng thái • Xác định vịng lặp (loop)

• Bổ sung thêm điều kiện biên điều kiện đặc biệt • Trộn lẫn kịch khác vào biểu đồ trạng thái

• Một mơ hình tạo nên, nêu câu hỏi kiểm tra xem mơ hình có khả cung cấp tất cả câu trả lời Qui trình sau cần phải nhắc lại cho đối tượng.

(132)

Chuyển biểu đồ thành biểu đờ trạng thái

• Sắp xếp kiện thành đường dẫn, dán nhãn input (hoặc entry) output (exit) cho kiện Khoảng cách hai kiện trạng thái

• Nếu cảnh kịch nhắc nhắc lại nhiều lần (vô giới hạn), nối đường dẫn từ trạng thái cuối đến trạng thái

(133)

Nhận vịng lặp (loop)

• Một chuỗi kiện nhắc nhắc lại vơ số lần gọi vịng lặp (loop)

• Chú ý:

• Trong vịng lặp, chuỗi kiện nhắc nhắc lại cần phải đồng với Nếu có chuỗi kiện khác chuỗi khác trường hợp khơng có vịng lặp

(134)

Bổ sung thêm điều kiện biên điều kiện đặc biệt

• Kiểm tra, đối chứng chúng với điều kiện biên điều kiện đặc biệt khác, điều kiện chưa quan tâm đủ độ thời gian tạo dựng biểu đồ trạng thái

• Điều kiện biên điều kiện thao tác giá trị, giá trị nằm bên ranh giới điều kiện để định trạng thái đối tượng

• Ví dụ quy định kỳ hạn tài khoản 30 ngày ngày thứ 31 tài khoản điều kiện biên • Các điều kiện đặc biệt điều kiện ngoại lệ

• Ví dụ ngày thứ 30 tháng năm 2000 (nếu có điều kiện tồn đời thực)

(135)

Trộn lẫn cảnh kịch khác vào biểu đờ trạng thái

• Ấn định điểm bắt đầu chung cho tất chuỗi kiện bổ sung

• Xác định điểm nơi ứng xử bắt đầu khác biệt với ứng xử mơ hình hóa biểu đồ trạng thái

Chú ý:

• Biểu đồ trạng thái cần tạo dựng nên cho lớp đối tượng có ứng xử động quan trọng

• Hãy thẩm tra biểu đồ trạng thái theo khía cạnh tính quán kiện dùng chung tồn mơ hình động đắn

(136)

CÂU HỎI VÀ BÀI TẬP

1 Hỏi: Thế vòng lặp?

2 Hỏi: Mơ hình động mơ hình đối tượng cộng thêm

phần ứng xử động hệ thống

Đáp: Đúng

3 Hỏi: Các kiện độc lập kiện song song Đáp: Đúng

4 Hỏi: Một đối tượng khơng thiết phải có trạng thái

Đáp: Sai, đối tượng có trạng thái

Đáp: Một chuổi kiện nhắc đi, nhắc lại vơ số lần gọi vịng lặp (loop)

(137)

CÂU HỎI VÀ BÀI TẬP

1 Một lớp có trạng thái ban đầu trạng thái kết thúc

2 Hỏi: Một vịng đời (chu trình) vịng lặp đối tượng khơng có trạng

thái khởi tạo khơng có trạng thái kết thúc

Đáp: Đúng, đối tượng coi luôn tồn

còn mãi tiếp tục tồn

(138)

CÂU HỎI VÀ BÀI TẬP

• Bài tập: hệ thống ATM xem hoạt động use case “Rút tiền” Các hoạt động

tuần tự mà khách hàng thực hiện:

– Đưa vào thẻ ATM – Nhập mã PIN

– Rút t ATM

Vẽ sơ trình tự, cộng tác hoạt động để thực hóa use case

(139)(140)

CÂU HỎI VÀ BÀI TẬP

(141)

CÂU HỎI VÀ BÀI TẬP

(142)

THANKS YOU

Trần Thị Kim Chi

Ngày đăng: 17/02/2021, 19:41

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan