Tải bản đầy đủ (.pdf) (25 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (829.28 KB, 25 trang )

26/10/2012
1
Gv: Vũ Thị Dương
Email:
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
26/10/2012
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
1. Tại sao cần phải mô hình hóa hành vi
2. Có mấy cách mô hình hóa hành vi
3. Biểu đồ tương tác có mấy loại. Ưu nhược điểm từng loại
4. Cách xây dựng biểu đồ tương tác


Phân tích thiết kế hướng đối tượng Bài 5 - 4/38
Mô hình hóa hành vi
 Hành vi (behavior) là cách hành động, cách cư xử của
một hệ thống
 Mô hình hóa hành vi là sự diễn tả khía cạnh động của hệ
thống.
 Có 3 cách tiếp cận hành vi hệ thống
 Hành vi thể hiện trong sự tương tác giữa các đối tượng, tạo nên
kịch bản


 Hành vi biểu lộ cách ứng xử của mỗi đối tượng trước các sự kiện
xảy ra với nó
 Hành vi bộc lộ ở công việc và luồng công việc
 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
26/10/2012
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:
 Diễn tả sự tương tác giữa các đối tượng nhằm tạo ra các kịch
bản của mỗi ca sử dụng của hệ thống
 Thực hiện thực sự các kịch bản của mỗi ca sử dụng
 Hai loại biểu đồ được sử dụng để mô hình hóa đối tượng
 Biểu đồ trình tự (Sequence diagram)
 Tập trung vào mô tả điều khiển
 Biểu đồ cộng tác (Colaboration diagram)
 Tập trung vào mô tả dữ liệu
 Biểu đồ trình tự và biểu đồ cộng tác đều chỉ ra cùng loại thông
tin. Gọi tên chung cho hai loại biểu đồ này là biểu đồ tương tác
(Interaction diagram)
 Biểu đồ tương tác giúp xác định hệ thống làm việc như thế nào?
Phân tích thiết kế hướng đối tượng Bài 5 - 6/38
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
26/10/2012
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
 Bàn, ghế, quyển sách
 Đố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
 Có các thông tin:
Ngày bay 10 April, giờ bay 8h30, số hiệu máy bay VN358, bay từ Hà Nội
 Có các hành vi
 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à
 [Tần nhìn]/[/]tên[:kiểu][cơ số][=giá trị đầu[{xâu tính chất}]
 Tầm nhìn: cho biết thuộc tính đó được thấy và dùng ở các lớp khác
 Public- ký hiệu +; Private- ký hiệu – ; Protected- ký hiệu #
 Cơ số: trỏ số các giá trị có thể nhận

 Kiểu: kiểu giá trị các thuộc tính
 Giá trị đầu: giá trị ngầm định
 Xâu tính chất: trỏ các giá trị có thể gán cho các thuộc tính
26/10/2012
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
 Tầm nhìn: cho biết thuộc tính đó được thấy và dùng ở các
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:
 Gọi (call): yêu cầu thực hiện một thao tác của đối tượng nhận
 Trả lại (return): trả lại một giá trị cho bên gọi
 Gửi (send): gửi một tín hiệu tới một đối tượng
 Tạo tập (create): tạo lập một đối tượng mới
 Hủy bỏ (destroy): hủy một đối tượng

Phân tích thiết kế hướng đối tượng Bài 5- 10/34
26/10/2012
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)
 Đó là một chuyển giao điều khiển lồng, tức là một lời gọi thao tá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
 Bên bị gọi thực hiện tao tác yêu cầu, nếu cần có thể chuyển điều
khiển cho bên khác và có thể kèm theo kết quả trả lời
 Thông điệp trả về có thể biểu diễn tường minh bởi mũi tên nét đứt
hay có thể bỏ quả (ví nó là thời điểm kết thúc thao tác )

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)
 Là chuyển giao điều khiển phẳng. Thông điệp gửi đi vào hàng đợi
bên nhận
 Bên gửi không cần biết thông điệp đã nhận chưa mà tiếp tục làm
việc ngay
 Bên nhận thực hiện một thao tác và cũng có thể trả về một thông
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
26/10/2012
7
Phân tích thiết kế hướng đối tượng Bài - 13/34

Các thông điệp (tt)
 Các tác giả UML khuyên rằng
 Nên ít dùng thông điệp không đồng bộ, đặc biệt trong biểu đồ
trình tự hệ thống
 Thông điệp nối giữa tác nhân và hệ thống thường dùng là 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
 Thông điệp đồng bộ nên được dùng trong các trường hợp còn
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 thông điệp còn lại ít được dùng hơn vì đó là các diễn tả cho
các trường hợp hiếm gặp.
Phân tích thiết kế hướng đối tượng Bài 5 - 14/38
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
 luồng chính, luồng thay thế, luồng lỗi
 Nếu hai luồng thay thế và luồng lỗi tương tự nhau thì gộp chúng
lại
 Các bước 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
 Bổ sung thông điệp vào biểu đồ

26/10/2012
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
 Kịch bản (Scenario) là một hiện thực của luồng sự kiện
 Mỗi luồng sự kiện có nhiều kịch bản
 Mỗi UC có thể có nhiều biểu đồ tương tác
 Tìm đối tượng không được mô tả trong luồng sự kiện
 Các đối tượng cho phép tác nhân nhập và quan sát thông tin
 Các đối tượng tham gia điều khiển trình tự luồng xuyên qua UC
 Tìm đối tượng tương ứng với khái niệm trừu tượng khi
phân tích
 Thí dụ Tên sách, Tên tạp chí là trừu tượng không tương ứng với
đố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 tuongTen doi tuong
:Name1:Name1 :Name2:Name2
Message1
Message2
Message3
26/10/2012
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
 Ai hay cái gì khởi xướng tiến trình?
 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
đồ tương tác của kịch bản đó

Phân tích thiết kế hướng đối tượng Bài 5 - 18/38
Nội dung chính
 Cách xây dựng biểu đồ tương tác
 Biểu đồ trình tự
 Biểu đồ cộng tác
26/10/2012
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
Nguoi su dung:
Tac nhan 1
Nguoi su dung:
Tac nhan 1
Doi tuong Mau
nhap lieu
Doi tuong Mau
nhap lieu
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
7: Luu tru
4: Luu tru
5: Tao lap
6: Thu thap thong tin
26/10/2012
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 1Doi tuong 1

Doi tuong 2Doi 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ố)
 Tênthông điệp: biểu thức trình tự (có thể là các số hay chữ)+ tên
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
Phân tích thiết kế hướng đối tượng Bài 5- 22/34
26/10/2012
12
Thông điệp lặp
Phân tích thiết kế hướng đối tượng Bài 5- 23/34
Doi tuong ADoi tuong A Doi tuong BDoi tuong B
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:
1. Tên ca sử dụng: chọn môn để giảng
2. Mục đích: Giúp thầy giáo xác định môn mà mình sẽ giảng trong
học kỳ
3. Tóm lược: Thầy giáo chọn học kỳ rồi sau đó có thể thêm, xem, in

các môn và kết thúc
II. Mô tả kịch bản
1. Kịch bản chính
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
2. Kịch bản con
Thêm một lớp giảng (còn nữa)

26/10/2012
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
 Hệ thống hiển thị màn hình các môn học trong học kỳ, gồm tên,
mã số môn học.
 Thầy giáo nhập tên môn học, mã số môn học.
 Hệ thống hiển thị các lớp giảng với môn đã chọn.
 Thầy giáo chọn 1 lớp giảng.
 Hệ thống kết nỗi thầy với lớp giảng đã chọn. Ca sử dụng bắt đầu
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
26/10/2012

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
1: dangNhap(mk)
2: KiemTraMK
3: yc/ChonHK
4: chonHK
6: chonThem
7: hienThi()
8: chonMon(toan)
9: layLopGiang()
10: layLopGiang()
11: layLop( )
12: ketQua
13: ketQua
14: ketQua
15: hienThi()
16: chonLopGiang()
17: nhanLopGiang()
18: themThay()
19: themThay()
5: yc Chon viec
Phân tích thiết kế hướng đối tượng Bài 5- 28/34

26/10/2012
15

Biểu đồ trình tự “đăng nhập”
Phân tích thiết kế hướng đối tượng Bài 5- 29/34

Đăng ký môn học
Phân tích thiết kế hướng đối tượng Bài 5- 30/34

Sinh vien
(from Use Case View)

)
W_DangNhap
- tenDN
- matKhau
- hocKy
- namHoc
+ kiemTraDN()
+ themMon()
+ boMon()
+ layTKB()
(from Bien)
W_dangKyMonHoc
- mon
- lopHoc
- buoiHoc
+ themMon()
+ boMon()
+ hienThi()
+ InLichHoc()
(from Bien)
ThayGiao

# hocham/hocvi : String
# maGV : string
# tenGV : string
# gioiTinh : Int
# noiSinh : String
# ngaySinh : String
# danToc : String
# diaChi : string
# soDT[0 10] : string
# email : String
+ layThay()
+ themThay()
(from QLThay)
MonHoc
# tenMon : String
# maMon : String
# moTa : String
# soTinChi : Integer
# loaiMon : String
# hocKy : string
+ layMon()
+ layLop()
+ laySoTC()
+ luuMon()
(from LichBieu)
QLDangKyMon
+ layMon()
+ themMon()
+ boMon()
+ xemMon()

+ layLop()
+ boLop()
(from DieuKhien)
SinhVien
# tenSV : String
# maSV : String
# gioiTinh : int
# noiSinh : string
# danToc : String
# diaChi : String
# ngaySinh : Date
# soDT : string
# email : String
+ layMK()
+ themSv()
+ xoaSv()
+ capNhatTTsv()
(from QLSinhVien)
LopHoc
# maLop : String
# tenLop : String
# ngayBatDau : Date
# ngayKetThuc : date
# ngayHocTrongTuan : Byte
+ ganThay()
+ themsv()
+ layLop()
+ themLop()
+ xoaLop()
+ capNhatTTLop()

+ ganLop(monHoc, tietHoc,ngayTT)()
+ boSinhVien()
(from LichBieu)
0 4
1 n
0 4
1 n
0 n
1
0 n
1
10 30
0 8
10 30
0 8
BuoiHoc
# tietDau
# tietCuoi
# ghiChu
# stt : Int
+ luuMota()
+ layBuoiHoc()
(from ThucThe)
1
1 n
1
1 n
26/10/2012
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
 Sau khi các thầy giáo đã đăng ký các môn mà mình có thể dạy
trong kỳ
 CBQS đăng nhập thành công vào hệ thống
 Hệ thống yêu cầu chọn việc
 CBQS chọn lập danh sách môn học
 CBQS chọn học kỳ, năm học
 Hệ thống hiển thị danh sách các môn học trong học kỳ + thông tin
tên thầy dạy.
 CBQS chọn môn học
 hệ thống lấy các lớp và thông tin thầy ứng với các lớp
 CBQS nhập thông tin bổ sung: buổi học để sinh viên có căn cứ lựa
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
26/10/2012
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
Phân tích thiết kế hướng đối tượng Bài 5- 34/34
26/10/2012
18
Phân tích thiết kế hướng đối tượng Bài 5 - 35/38
Nội dung chính
 Cách xây dựng biểu đồ tương tác
 Biểu đồ trình tự

 Biểu đồ cộng tác
Phân tích thiết kế hướng đối tượng
Bài 36/34
Biểu đồ cộng tác
 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
 quan hệ giữa các đối tượng
 cấu trúc tổ chức của các đối tượng
 luồng dữ liệu trong kịch bản
 Tương đối khó quan sát trình tự các thông điệp trong biểu
đồ cộng tác
 Do vậy, các dự án thường hay xây dựng cả hai loại biểu đồ này
 Trong Rose: Có thể tự động chuyển đổi qua lại giữa biểu đồ trình
tự và biểu đồ cộng tác (nhấn phím F5)
26/10/2012
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
Phân tích thiết kế hướng đối tượng Bài - 38/34
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ộ
 Biểu thức trình tự: là dãy số theo sau là dấu hai chấm (:) diễn tả trình tự
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.
Các số lại có thể thay bằng các dãy ký tự nhằm mục đích
 Diễn tả lộ trình điều khiển, như là A3, B4/C3.1.2
 Diễn tả điều kiện chọn như là 4.2.[x<0]
 Diễn tả thông điệp lặp như là 1.1.*; hay 2.1.*[i:=1 n}

26/10/2012
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
26/10/2012
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

Phân tích thiết kế hướng đối tượng Bài - 42/34
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

26/10/2012
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
 Trả lời: tùy ý, nghĩa là tùy lúc, tùy nơi và tùy thích; chỉ nên dùng 1
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
biểu đồ t.tác cho 1 ca sử dụng.
 1 biểu đồ là chính,
 Biểu đồ còn lại diễn tả các lối rẽ khả dĩ hay các trường hợp mắc lỗi
khác
Phân tích thiết kế hướng đối tượng Bài 5- 44/34
26/10/2012
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
 Một số lớp đã phát hiện khi lập các biểu đồ tương tác, cần bổ sung
vào biểu đồ cấu trúc (lớp lĩnh vực, lớp tham gia UC)
 Một số lớp trong biểu đồ cấu trúc không hề có đối tượng tham gia
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
 Khi có một thông điệp được gửi từ một đối tượng của lớp A sang
một đối tượng của lớp B thì
 Trong lớp B, phải có một thao tác công cộng tuonwg ứng với
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
 Trong lớp A, bên gửi phải có một thao tác có trách nhiêm gửiđi
thoông điệp trên


Phân tích thiết kế hướng đối tượng Bài 5- 46/34
26/10/2012
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
 Các kiều có thể là kiểu nguyên thủy hay kiểu do người dùng đưa
vào hay cũng có thể là kiểu do người dùng định nghiwax
 Chưa nên chọn tên các kiểu của một ngôn ngữ lập trình cụ thể nào
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
 Khi đối tượng lớp A, gửi một thông điệp cho một đối tượng của 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
 Nếu sự hiểu biết đó là vốn có từ lầu, thì đấy là biểu hiện của liên
kết association giữa A và B
 Nếu sự hiểu biết đó là mới được cung cấp (ví dụ: Thông qua việc
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
26/10/2012
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à
khách có thể thực hiện:
 Đưa thẻ vào
 Nhập mã pin
 Rút thẻ
 Vậy hoạt động hệ thống là chấp nhận quyền truy cập
hay từ chối
 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.

Phân tích thiết kế hướng đối tượng Bài 5- 50/34
: KhachHang
: W_KhachHang : W_ManHinhATM : W_RutTien
: QLRut
: TaiKhoan : GiaoDich : GDRut : MayATM
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
18: ketQua()
19: demTien()
20: ketQua
21: giamSoduTK()
22: thucHien()
23: ketqua
24: ketqua
25: hienThi()
26: ycNhanTien va The

×