Đang tải... (xem toàn văn)
• 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
• Thơng đ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ừ Products • Giao diện: lấy giá sản phẩm từ Class Prices
Promotion Amount từ lớp Promotions • Giao 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 Diagram • Promotions: tương tự bổ sung phương thức
GetPromotion(ProductID).
• GUI System(View Product Page): bổ sung phương thức • DisplayProductList(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 - State • Sự 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ái • Exit: 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