1. Trang chủ
  2. » Công Nghệ Thông Tin

bài 5: Mô hình hóa hành vi và sự tương tác

25 1,1K 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 829,28 KB

Nội dung

Phân tích thiết kế hướng đối tượng Bài 5 - 5/38 Mô hình hóa tương tác đối tượng  Mục đích: bản của mỗi ca sử dụng của hệ thống  Hai loại biểu đồ được sử dụng để mô hình hóa đối tượng

Trang 1

Gv: Vũ Thị Dương Email: duongvt01@gmail.com

KHOA CÔNG NGHỆ THÔNG TIN

Trường Đại học công nghiệp Hà Nội

PHÂN TÍCH THIẾT KẾ

HƯỚNG ĐỐI TƯỢNG

Mô hình hóa hành vi

Mô hình hóa sự tương tác

Bài 5

Trang 2

Phân tích thiết kế hướng đối tượng Bài 5 - 3/38

Mục tiêu

 Sau khi học xong bài học, sinh viên nắm được

Phân tích thiết kế hướng đối tượng Bài 5 - 4/38

 UML có những biểu đồ khác nhau đáp ứng 3 cách tiếp

cận đó với hành vi của hệ thống

Trang 3

Phân tích thiết kế hướng đối tượng Bài 5 - 5/38

Mô hình hóa tương tác đối tượng

 Mục đích:

bản của mỗi ca sử dụng của hệ thống

 Hai loại biểu đồ được sử dụng để mô hình hóa đối tượng

 Tập trung vào mô tả điều khiển

 Tập trung vào mô tả dữ liệu

tin Gọi tên chung cho hai loại biểu đồ này là biểu đồ tương tác

(Interaction diagram)

Nội dung chính

 Khái niệm đối tượng

 Khái niệm thông điệp

 Cách xây dựng biểu đồ tương tác

 Tìm kiếm đối tượng

 Tìm kiếm tác nhân

 Biểu đồ trình tự

 Biểu đồ cộng tác

Trang 4

Phân tích thiết kế hướng đối tượng Bài 4 - 7/23

Đối tượng?

 Ta nhìn thấy đối tượng xung quanh ta

 Đối tượng là cái gì đó gói thông tin và hành vi

 Nó là khái niệm biểu diễn cái cụ thể trong thế giới thực (có

căn cước (định danh/địa chỉ) và ranh giới rõ ràng

 Thí dụ Máy bay VN358 là đối tượng

Ngày bay 10 April, giờ bay 8h30, số hiệu máy bay VN358, bay từ Hà Nội

 Nó biết đón khách vào máy bay, biết đưa khách ra khỏi máy bay, xác

định khi nào máy bay đầy khách

 Thông tin được lưu trữ bởi thuộc tính (Attribute)

 Hành vi của đối tượng được gọi là thao tác (Operation)

Phân tích thiết kế hướng đối tượng Bài 6 - 8/23

Thuộc tính

 Thuộc tính là 1 tính chất có đặt tên của 1 lớp và nó nhận 1

giá trị cho đối tượng thuộc lớp đó tại mỗi thời điểm

 Tên thuộc tính là danh từ hay cụm danh từ, chữ cái đầu

viết thường

 Cú pháp đầy đủ là

 Public- ký hiệu +; Private- ký hiệu – ; Protected- ký hiệu #

Trang 5

Phân tích thiết kế hướng đối tượng Bài 6 - 9/23

Thao tác

 Thao tác là 1 dịch vụ mà đối tượng có thể đáp ứng

khi được yêu cầu (thông qua 1 thông điệp)

 Cú pháp đầy đủ:

 [tầm nhìn] tên[(danh sách tham số)][: kiểu trả lại][{xâu tính chất}]

Ý nghĩa các thành phần tham gia giống với đối tượng

lớp khác

 Public- ký hiệu +; Private- ký hiệu – ; Protected- ký hiệu #

 Danh sách tham số: các dữ liệu cần đưa vào từ ngoài

 Kiểu trả lại: kiểu giá trị các thuộc tính

 Xâu tính chất: trỏ các giá trị có thể gán cho các thuộc tính

Thông điệp

 Thông điệp (message): là một đặc tả sự giao lưu giữa hai

đối tượng gồm quá trình truyền đạt thông tin hay yêu cầu

thực hiện một hoạt động nào đó

 Hành động tạo bởi một thông điệp có thể là các loại sau:

Trang 6

Các loại thông điệp (tt)

 Thông điệp đồng bộ (biểu diễn bằng mũi tên đầu tam giác

đặc)

bên gọi chuyển tới bên bị gọi, rồi tạm ngưng để chờ bên bị gọi trả

lại điều khiển

khiển cho bên khác và có thể kèm theo kết quả trả lời

Phân tích thiết kế hướng đối tượng Bài 5- 11/34

Các loại thông điệp (tt)

 Thông điệp không đồng bộ (biểu diễn bằng mũi tên

thường )(UML 1.3 trở về trước dùng mũi tên nửa)

bên nhận

việc ngay

tin cho bên gửi Nhưng nếu có sự trả lại thì phải biểu diễn tường

minh

Phân tích thiết kế hướng đối tượng Bài 5- 12/34

Trang 7

Phân tích thiết kế hướng đối tượng Bài - 13/34

Các thông điệp (tt)

trình tự hệ thống

điệp không đồng bộ vì

 Hệ thống hiện thời là một khối nguyên

 Các tương tác là những điều khiển theo bước, chưa đi vào bên

trong hệ thống để có các lời gọi theo kiểu thủ tục

lại vì

 Nó diễn tả các lời gọi thao tác thông thường

 Được hỗ trợ trong phần lớn các ngôn ngữ lập trình thông thường

các trường hợp hiếm gặp

Xây dựng biểu đồ tương tác

 Để xây dựng biểu đồ tương tác ta bắt đầu từ luồng sự kiện

 Xây dựng từng biểu đồ cho

lại

 Các bước xây dựng biểu đồ tương tác

Trang 8

dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 5 - 15/34

Tìm kiếm đối tượng

 Khảo sát các danh từ trong đặc tả UC

 Tìm đối tượng trong tài liệu kịch bản

 Tìm đối tượng không được mô tả trong luồng sự kiện

 Tìm đối tượng tương ứng với khái niệm trừu tượng khi

phân tích

đối tượng nào trong thế giới thực

Phân tích thiết kế hướng đối tượng Bài 5 - 16/34

Biểu diễn đối tượng Tênđốitượng Tênđốitượng : Lớp : Lớp <<Stereotype>>> Tênđốitượng

Ten doi tuong :Name1 :Name2

Message1 Message2 Message3

Trang 9

Phân tích thiết kế hướng đối tượng Bài - 17/34

Tìm kiếm tác nhân

 Sau khi xác định đối tượng, ta tìm kiếm tác nhân cho

biểu đồ tương tác

 Tác nhân trong biểu đồ tương tác là sự kích hoạt từ

ngoài để khởi động luồng công việc của luồng sự kiện

 Tìm kiếm tác nhân trong luống sự kiện

 Có thể có nhiều tác nhân cho một biểu đồ tương tác

 Nếu tác nhân nhận hay gửi thông điệp cho hệ thống

theo kịch bản nào đó thì chúng phải có mặt trong biểu

Trang 10

Phân tích thiết kế hướng đối tượng Bài - 19/34

Xây dựng biểu đồ trình tự

(cho các đối tượng tham gia ca sử dụng)

 Xem lại biểu đồ lớp tham gia của các ca sử dụng (ở bước trước) để

 Tìm xem các cá thể nào thực sự tham gia vào kịch bản đang xét

 Xem các đối tượng đóng vai trò gì trong bước đó

 Dàn các đối tượng thành hàng ngang trên đỉnh biểu đồ Bố trí đối

tượng quan trọng ở giữa, phụ trợ phải, đối tác (nếu có) đặt bên trái

 Vẽ đường đời cho các đối tượng

 Xuất phát từ thông điệp khởi đầu, bố trí các thông điệp tiếp lần lượt

từ trên xuống

 Nếu cần làm rõ thời kỳ hoạt động của đối tượng thì đưa thêm tiêu

trình điều khiển (hình chữ nhật)

 Nếu làm rõ ràng buộc thời gian thì thêm các ký hiệu và nếu cần đưa

thêm tiền điều kiện, hậu điều kiện nếu cần

Phân tích thiết kế hướng đối tượng Bài - 20/34

Mô hình tổng quát biểu đồ tt

Doi tuong dieu khien Doi tuong dieu khien

Doi tuong du lieu Doi tuong du lieu 1: Mo mau nhap lieu

2: Nhap thong tin

3: Luu thong tin

Trang 11

Thông điệp tạo và hủy bỏ

Phân tích thiết kế hướng đối tượng Bài 5- 21/34

Doi tuong 1

Doi tuong 2 new()

Thong diep()

Dap ung delete()

Mô tả thông điệp trong biểu đồ tt

 Cú pháp thông điệp: tênthôngđiệp(ds tham số)

thông điệp

 Điều kiện chọn đặt trong [], nghĩa là thông điệp

được gửi đi khi điều kiện này thỏa mãn

 Ký hiệu ở dạng lặp : *, nghĩa là thông điệp được lặp

lại nhiều lần

Trang 12

Thông điệp lặp

Phân tích thiết kế hướng đối tượng Bài 5- 23/34

1: *[X] Message

* Ky hieu lap[] Ky hieu dieu kien

Phân tích thiết kế hướng đối tượng Bài 4 – 24/13

Thí dụ: Chọn môn giảng

 Dựa vào kịch bản đặc tả Chọn môn học để giảng

I. Mô tả tóm tắt:

Ca sử dụng bắt đầu khi thầy giáo đăng nhập hệ thống hợp lệ và nhắc

thầy giáo chọn học kỳ này hay học kỳ sau, thầy chọn học kỳ , hệ

thống nhắc thầy chọn việc: Thêm, bỏ,xem,in ra

Thêm một lớp giảng (còn nữa)

Trang 13

Phân tích thiết kế hướng đối tượng Bài 4 – 25/13

Thí dụ: Chọn môn giảng

 Kịch bản con thêm một lớp giảng

mã số môn học

 Thầy giáo chọn 1 lớp giảng

lại

 ……

Dựa vào kịch bản đặc tả ta phát hiện các lớp:

 Lớp Thực thể: Lớp giảng, môn học, thầy giáo

 Lớp Biên : W_thầy; W_Lớp

 Lớp điều khiển : QLLớpthầy

Chọn môn giảng

Trang 14

Phân tích thiết kế hướng đối tượng Bài - 27/34

: Thay giao : W_Thay : W_LopGiang : QLLopThay toan : MonHoc : LopHoc

9: layLopGiang()

10: layLopGiang() 11: layLop( )

12: ketQua 13: ketQua

14: ketQua 15: hienThi() 16: chonLopGiang()

Trang 15

(from LichBieu)

QLDangKyMon

+ layMon() + themMon() + boMon() + xemMon() + layLop() + boLop()

0 n 1

10 30 0 8 10 300 8

BuoiHoc

# tietDau (from ThucThe)

1

1 n 1

1 n

Trang 16

Phân tích thiết kế hướng đối tượng Bài 5- 31/34

Lập bản giới thiệu môn học

 Tóm tắt

trong kỳ

tên thầy dạy

chọn

Kết quả: Danh sách các môn học đươc tạo ra

Phân tích thiết kế hướng đối tượng Bài 5- 32/34

Trang 17

Lập bảng danh sách môn học

Phân tích thiết kế hướng đối tượng Bài 5- 33/34

Trình tự lập ds môn học

Trang 18

Phân tích thiết kế hướng đối tượng Bài 5 - 35/38

 Tương tự biểu đồ trình tự, biểu đồ cộng tác (Collaboration

diagram) chỉ ra luồng thực hiện trong kịch bản của UC

 Biểu đồ cộng tác tập trung vào

 Tương đối khó quan sát trình tự các thông điệp trong biểu

đồ cộng tác

Trang 19

Phân tích thiết kế hướng đối tượng Bài - 37/34

Biểu đồ cộng tác

 Cả biểu đồ trình tự và biểu đồ cộng tác đều mô tả luồng điều khiển

trong kịch bản

 Khác biệt giữa biểu đồ trình tự và biểu đồ cộng tác

 biểu đồ cộng tác mô tả luồng dữ liệu

 biểu đồ trình tự không mô tả luồng dữ liệu

 Luồng dữ liệu được sử dụng để mô tả thông tin trả lại khi một đối

tượng gửi thông điệp đến đối tượng kia

 Không nên bổ sung mọi luồng dữ liệu bào biểu đồ vì nó sẽ làm rối

 Sử dụng nó khi thấy cần thiết

 Thông điệp được biểu diễn bằng mũi tên nhỏ vẽ dọc theo một kết nối

giữa hai đối tượng

Doi tuong 1

Doi tuong 2

1: Thong diep

Du lieu A

Du lieu B

Biểu đồ cộng tác

 Tiêu đề của thông điệp có cú pháp

 [Bước trước] [Biểu thức trình tự] [Trả lời:=]tên thông điệp (ds

tham số)

 Bước trước: danh sách số thứ tự, cách nhau bằng dấu phẩy và kết thúc

bằng gạch chéo(/) Thông điệp chỉ được chuyển giao khi thông điệp tương

tứng với các số thứ tựu cho trong ds đã chuyển giao rồi -> yc đồng bộ

tiếp nỗi các thông điệp

 Ví dụ: Thông điệp 2.1.3 tiếp sau thông điệp 2.1.2 và cả 2 đều được gửi đi

bởi cùng thao tác thực hiện thông điệp 2.1

Trang 20

Phân tích thiết kế hướng đối tượng Bài - 39/34

Biểu đồ cộng tác

 Trả lời là tên của kết quả trả về bên gửi Tên này có thể là một thuộc tính

của đối tượng gửi hoặc cũng có thể lấy là một biến cục bộ trong thao tác

gửi thông điệp Tên này cũng có thể dùng làm tham số cho thông điệp

khác

 Tên Thông điệp (ds tham số): là tên của thông điệp kèm theo danh sách

tham số Tên thông điệp là thành phần bắt buộc, thường lấy trùng với

thao tác cần được huy động ở bên nhận

Phân tích thiết kế hướng đối tượng Bài - 40/34

Biểu đồ cộng tác

Trang 21

Phân tích thiết kế hướng đối tượng Bài - 41/34

Xây dựng biểu đồ cộng tác

 Xem lai các lớp tham gia ca sử dụng để xác định cá thể

của lớp nào tham gia thực sự vào kịch bản đang xét

 Vẽ các đối tượng như là đỉnh của đồ thị Bố trí đối tượng

quan trọng vào giữa , đối tượng khác ở xung quanh

 Xác định các kết nỗi giữa các đối tượng cùng các thông

điệp có thể có trên đó

 Vẽ liên kết trước, vẽ các kết nỗi và ghi chú khuôn dập nếu cần (global,

local )

 Xuất phát với thông điệp khởi đầu tương tác, bố trí các

thông điệp tiếp theo trên các kết nối, thêm các số tự tự

Dùng ký pháp dấu chấm để làm rõ sự lồng nhau

Xây dựng biểu đồ cộng tác

 Nếu thấy cần các ràng buộc về không gian và thời gian,

hãy thêm vào thông điệp các dấu hiệu về thời gian và đính

kèm các ràng buộc về không gian

 Nếu thấy cần diễn tả luồng điều khiênr này một cách hình

thức hơn hãy đưa thêm tiền điều kiện và hậu điều kiện

cho mỗi thông điệp

Trang 22

Phân tích thiết kế hướng đối tượng Bài - 43/34

Chú ý

 Vậy dùng biểu đồ nào để mô hình hóa sự tương tác

biểu đồ cho 1 tương tác

 Biểu đồ này chỉ diễn tả 1 luồng điều khiển Do đó ta lập 1

Trang 23

Đối chiếu và chỉnh sửa các MH

 Dựa vào các biểu đồ cấu trúc (lớp lĩnh vực, lớp tham gia

ca sử dụng) và các biểu đồ tương tác đã lập (BD trình tự,

cộng tác) Ta cần đối chiếu và sửa lại các biểu đồ để chỉnh

lại các chỗ không phù hợp

 Thêm bớt các lớp

vào biểu đồ cấu trúc (lớp lĩnh vực, lớp tham gia UC)

vào một biểu đồ tương tác nào Cần loại bỏ chúng đi

Phân tích thiết kế hướng đối tượng Bài 5- 45/34

Đối chiếu và chỉnh sửa các MH

 Thêm và chỉnh lý các thao tác trong các lớp

một đối tượng của lớp B thì

thông điệp đó Tên thông điệp và thao tác cần phải phù hợp ngữ

nghĩa với nhau Thông thường thì nên elaays tên trung với tên

thao tác

thoông điệp trên

Trang 24

Đối chiếu và chỉnh sửa các MH

 Thêm các kiểu cho các thuộc tính, các tham số trả lời

vào hay cũng có thể là kiểu do người dùng định nghiwax

mà vẫn dùng tên chung,

 Thêm và chỉnh lý mối liên quan giữa các lớp

B, thì giữa hai lớp đó có một kiết nối với nghĩa là: Bên nhận thuộc

phạm vi hay hiểu biết (tầm nhìn) của bên gửi

kết association giữa A và B

truyền tham số hay việc nhận kết quả trả lời), thì đấy là biểu hiện

của sự phụ thuộc của A vào B

Phân tích thiết kế hướng đối tượng Bài 5- 47/34

Đối chiếu và chỉnh sửa các MH

 Ví dụ: Liên kết hay phụ thuộc

Phân tích thiết kế hướng đối tượng Bài 5- 48/34

Trang 25

Phân tích thiết kế hướng đối tượng Bài - 49/34

Ví dụ

 Trong hệ thống ATM xem giải quyết phin không hợp

lệ Ở đây ta cần nghĩ về tuần tự các hoạt động mà

 Tiếp theo, cac định ta đang tương tác với cài gì (ATM

hay hệ thông tin ngân hàng

 Máy ATM sẽ sử dụng đối tượng nào kiểm tra mã PIN

: KhachHang : W_KhachHang : W_ManHinhATM : W_RutTien : QLRut : TaiKhoan : MayATM : GiaoDich : GDRut

1: danNhap(sothe,mk)

2: kiemtramaPin 3: hienThi()

4: Y/c chon viec

5: chon Rut tien

6: hien thi()

7: Y/c chon viec 8: Nhap vao 1 so

9: rutTien( ) 10: ktrSoDuTK() 11: ketQua

12: ktrMenhGiaVaTien()

13: ketQua 14: taoMoiGD()

15: taoMoiGD() 16: taoMoiGD() 17: ketQua

Ngày đăng: 20/03/2015, 11:48

TỪ KHÓA LIÊN QUAN

w