Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
8,99 MB
Nội dung
4/13/2015 Week Hai V Pham Tham khảo tài liệu giáo trình PGS Nguyễn Văn Ba 1 MHH tương tác với biểu đồ trình tự MHH tương tác với biểu đồ giao tiếp ối chiếu, chỉnh sửa MH cấu trúc tương tác Bài tập tổng hợp Hành vi (hay động thái) hoạt động đối tượng nhằm tạo kịch Hành vi bao gồm tương tác (trao đổi thông điệp) ứng xử (phản ứng với kiện) 4/13/2015 1.1 Mục đích MHH tương tác 1.2 Các thơng điệp 1.3 Biểu đồ trình tự 1.4 MHH tương tác ca sử dụng với bđ trình tự Mục đích bước mơ hình hoá tương tác dùng biểu đồ tương tác để diễn tả tương tác đối tượng nhằm tạo kịch ca sử dụng hệ thống Hình thức tương tác có đối tượng chuyển giao thơng điệp có hai biểu đồ sử dụng để diễn tả tương tác (một cách tương đương với nhau) biểu đồ trình tự biểu đồ giao tiếp Dù hai biểu đồ khác hình thức, song thành lập chúng, ta áp dụng chung nguyên tắc sau đây: ◦ Các đối tác tương tác (gửi thông điệp) tới đối tượng biên ◦ Các đối tượng biên tương tác tới đối tượng điều khiển hay đối tượng biên khác ◦ Các đối tượng điều khiển tương tác tới đối tượng biên, đối tượng thực thể hay đối tượng điều khiển khác ◦ Các đối tượng thực thể tương tác với đối tượng thực thể mà 4/13/2015 Thông điệp (message) đặc tả cho giao lưu hai đối tượng, bao gồm truyền đạt số thông tin và/hoặc yêu cầu thực hoạt động thuộc khả bên nhận Hành động tạo nên thơng điệp hành động sau: ◦ Gọi (call): Yêu cầu thực thao tác đối tượng nhận Một đối tượng gửi thơng điệp cho mà kết huy động thao tác riêng tư (gọi cục bộ) ◦ Trả lại (return): Trả lại giá trị cho bên gọi ◦ Gửi (send): Gửi tín hiệu tới đối tượng ◦ Tạo lập (create): Tạo lập đối tượng ◦ Huỷ bỏ (destroy): Huỷ đối tượng Một đối tượng huỷ bỏ (terminate) Khi đối tượng gửi thông điệp cho đối tượng khác, đối tượng hoạt động đáp ứng thơng điệp lại gửi thơng điệp cho đối tượng khác, tạo thành luồng kích hoạt lan dần Gọi lộ trình điều khiển (thread of control) Lộ trình điều khiển phẳng (tuyến tính) hay lồng (do có trả lại) Bởi hình thức tiếp nối thơng điệp, ta phân biệt loại thông điệp sau: Thông điệp đồng bộ, biểu diễn mũi tên đầu tam giác đặc: ◦ ó chuyển giao điều khiển lồng, tức lời gọi thao tác: bên gọi chuyển điều khiển cho bên bị gọ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 thao tác yêu cầu, cần chuyển điều khiển cho đối tượng khác thao tác hoàn thành trả điều khiển bên gọi, kèm theo kết trả lời ◦ Thơng điệp trả biểu diễn tường minh mũi tên đứt nét bỏ qua, mặc định thời điểm kết thúc thao tác 4/13/2015 Thông điệp không đồng bộ, biểu diễn mũi tên thường: UML 1.3 trở trước dùng mũi tên nửa: ó chuyển giao điều khiển phẳng, thông qua gửi tín hiệu Thơng điệp 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 vào làm việc (tức làm việc đồng thời) ◦ Bên nhận thực thao tác trả thông tin cho bên gửi Nhưng có trả lại, phải biểu diễn tường minh ◦ 10 Ngồi ra, cịn tùy thuộc vào nơi phát nơi nhận thơng điệp có biết rõ khơng mà UML 2.0 cịn đưa thêm hai loại thông điệp là: Thông điệp hút (lost message): thơng điệp mà nơi phát biết rõ, song nơi nhận khơng biết (vì ngồi phạm vi mơ tả, phát tán) Thông điệp hút biểu diễn mũi tên có hình trịn đen cuối: Thơng điệp kiếm (found message): thông điệp mà nơi nhận biết rõ, song nơi phát khơng biết đâu (vì ngồi phạm vi mơ tả) Thơng điệp kiếm được biểu diễn mũi tên có hình trịn đen gốc: 11 Biểu đồ trình tự (Sequence Diagram) hai biểu đồ tương tác chính, với chủ ý làm bật trình tự theo thời gian thơng điệp Nó trình bày tập hợp đối tượng với thông điệp chuyển giao chúng với Các đối tượng nói thường cá thể có tên hay khuyết danh lớp, song vào chỗ đối tượng, cịn đối tác, hợp tác, thành phần, nút 12 4/13/2015 Biểu đồ trình tự trình bày theo hai chiều: ◦ Chiều ngang bố trí đối tượng Các đối tượng vẽ theo dạng hình chữ nhật biểu tượng, dàn thành hàng ngang đỉnh biểu đồ Trật tự đối tượng không quan trọng, song đối tượng khởi phát thông điệp nên vẽ phía trái Các đối tượng tạo lập vẽ thấp xuống, ngang với thơng điệp tạo lập chúng ◦ Chiều dọc trục thời gian (hướng xuống dưới) Mỗi đối tượng có mang trục đứng (vẽ đứt nét), gọi đường đời ường đời đối tượng kết thúc dấu gạch chéo, đối tượng bị huỷ bỏ 13 Các thông điệp (đồng bộ, không đồng hay trả lời) mũi tên nằm ngang nối đường đời hai đối tượng vẽ từ xuống theo thứ tự thời gian Nếu muốn làm rõ thời kỳ hoạt động (tức lúc đối tượng nắm giữ điều khiển) làm rõ lồng thông điệp, ta vẽ thêm đường đời hay số dải hẹp hình chữ nhật, gọi tiêu trình điều khiển (focus of control) Lề phải lề trái biểu đồ dùng để ghi giải thích, ràng buộc 14 15 4/13/2015 16 Mỗi thông điệp mang theo tên thông điệp dạng thôngđiệp(ds tham số) Tên thơng điệp lại gắn thêm tiền tố với ý nghĩa sau: Một biểu thức trình tự có dạng a: thường a số thứ tự thơng điệp, nhãn (ký tự) Vì trật tự thơng điệp biểu rõ, nên biểu đồ trình tự biểu thức trình tự thường dùng Một điều kiện chọn, dạng [điều kiện], với nghĩa thông điệp gửi điều kiện thoả mãn Nếu vẽ nhiều thông điệp xuất phát điểm, thông điệp mang điều kiện riêng ta diễn tả: ◦ Một rẽ nhánh chọn, điều kiện loại trừ lẫn ◦ Một rẽ nhánh song song, điều kiện khơng loại trừ lẫn 17 Một ký hiệu lặp dạng *, với nghĩa thông điệp lặp lại nhiều lần (thường lặp thực nhiều đối tượng, đối tượng nhận đối tượng bội) Thí dụ: Một biểu đồ trình tự diễn tả liên lạc điện thoại Các đối tượng đối tượng tương tranh (làm việc song song), vẽ với viền đậm Các thông điệp không đồng (trừ d) 18 4/13/2015 19 20 21 4/13/2015 22 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 yêu cầu rút 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 23 24 4/13/2015 25 26 Một ca sử dụng gồm nhiều kịch tương ứng với nhiều luồng điều khiển khác Một biểu đồ trình tự diễn tả luồng điều khiển, biểu đồ diễn tả rẽ nhánh hay lặp đơn giản Vậy thông thường ta lập số biểu đồ trình tự cho ca sử dụng Một vài biểu đồ chính, số biểu đồ cịn lại diễn tả lối rẽ hay trường hợp mắc lỗi 27 4/13/2015 ể lập biểu đồ trình tự cho kịch ca sử dụng ta tiến hành bước sau: ◦ Xem lại biểu đồ lớp tham gia ca sử dụng (đã lập bước trước) để xác định cá thể lớp biểu đồ tham gia thực vào kịch xét Muốn thế, dõi theo bước kịch để xem đối tượng đóng vai trị bước (biên, điều khiển, thực thể) ◦ Dàn đối tượng thành hàng ngang đỉnh biểu đồ trình tự Bố trí đối tượng quan trọng bên trái, đối tượng phù trợ đặt bên phải ối tác, có, đặt lề trái 28 • • Vẽ đường đời cho đối tượng (và đối tác) Trong đa số trường hợp đối tượng tồn suốt thời gian tương tác Tuy nhiên có đối tượng tạo lập bị huỷ bỏ thời gian tương tác, cần vẽ đường đời ngắn, từ lúc sinh tới lúc chết; với khuôn dập thích hợp cho thơng điệp tạo lập hay huỷ bỏ chúng Xuất phát với thông điệp khởi đầu tương tác Bố trí thơng điệp từ xuống dưới, đường đời Chỉ rõ đặc điểm thông điệp (như tham số nó) Nếu cần cho thêm giải thích ngữ nghĩa tương tác 29 • Nếu thấy cần làm rõ thời kỳ hoạt động đối tượng làm rõ lồng thơng điệp, vẽ thêm tiêu trình điều khiển đường đời đối tượng • Nếu cần làm rõ ràng buộc phải có thời gian khơng gian, cho thêm ký hiệu thời gian (như biểu thức trình tự, ký hiệu lặp *) ràng buộc khơng thời gian thích hợp • Nếu thấy cần diễn tả luồng điều khiển cách hình thức hơn, đưa thêm tiền đề hậu đề cho thông điệp 30 10 4/13/2015 Một số lớp phát thêm ta lập biểu đồ tương tác, cần bổ sung chúng vào biểu đồ cấu trúc Ngược lại có lớp biểu đồ cấu trúc khơng có đối tượng tham gia vào biểu đồ tương tác nào, cần phải loại bỏ chúng 46 Khi có thông điệp gửi từ đối tượng lớp A sang đối tượng lớp B, thì: Trong lớp B (bên nhận) phải có thao tác cơng cộng tương ứng với thơng điệp Tên thơng điệp thao tác phải phù hợp ngữ nghĩa với nhau, thơng thường thơng điệp nên lấy trùng tên với thao tác Danh sách tham số thao tác phải phù hợp yêu cầu thông điệp Trong lớp A (bên gửi) phải có thao tác có trách nhiệm gửi thơng điệp 47 Tuy nhiên quy luật có ngoại lệ: Thơng điệp đến đối tác: ◦ Nếu đối tác người, thơng điệp u cầu người làm việc ghi hướng dẫn sử dụng, thao tác (tức chương trình máy tính) ◦ Nếu đối tác thiết bị, thơng điệp kích hoạt cảm biến hay động thiết bị ◦ Nếu đối tác hệ thống ngồi, phải đại diện lớp chứa giao thức thích hợp Bấy thơng điệp kích hoạt thao tác lớp 48 16 4/13/2015 Thông điệp đến lớp giao diện GUI: ◦ Yêu cầu thông điệp cài đặt thành yếu tố đồ hoạ GUI, trường hay nút không thao tác Các thao tác riêng tư: ◦ ó thao tác dùng nội bộ, tương ứng với thông điệp đệ quy, không tương ứng với thông điệp từ đối tượng khác gửi đến 49 Các kiểu kiểu nguyên thuỷ hay kiểu người dùng đưa vào, lớp Tuy nhiên chưa nên vội dùng tên kiểu ngơn ngữ lập trình cụ thể nào, mà dùng tên chung, linh hoạt 50 Khi đối tượng lớp A gửi thông điệp cho đối tượng lớp B, hai đối tượng có kết nối với ý nghĩa bên nhận thuộc phạm vi hiểu biết (hay tầm nhìn) bên gửi: ◦ Nếu hiểu biết vốn có từ lâu, biểu liên kết (association) A B ◦ Nếu hiểu biết cung cấp (chẳng hạn thông qua việc truyền tham số hay việc nhận kết trả lời), biểu phụ thuộc (dependency) A vào B 51 17 4/13/2015 ể MHH tương tác, Larman Jacobson đề nghị bước sau: 1) Xác định vòng lặp: Mỗi vịng lặp thường ca SD, song có gói ca SD 2) Xác định thao tác hệ thống: ó yêu cầu mà đối tác đưa HT (tức kịch mà đối tác khởi động) 3) Lập B tương tác cho thao tác HT 52 Câu hỏi h i 17: Xác định vòng lặp cho việc MHH tương tác Nhìn phụ thuộc B gói, ta thấy cách tự nhiên nên bắt đầu với gói Catalơ T, đến gói ề nghị T Tài vụ Vậy B ca SD +Kếtoán ề nghị T +Hốđơn +Nhânviên ta chia cắt vịng lặp +NgườiPT T trang sau Catalô T + ơnxin T + ăngký +Trảlời + ồngý +Khôngđồngý +Catalô +Cơsở T +Lớp T +Nộidung +Kỳhọc 53 Câu hỏi h i 17 (tt): Các vòng lặp cho việc MHH tương tác: Nhân viên Đề nghị ĐT Lặp Tra cứu catalô Lặp Quản lý catalô Người PTĐT Huỷ yêu cầu Đăng ký ĐT Lặp Cơ sở ĐT 54 18 4/13/2015 Câu hỏi h i 18: ịnh nghĩa thao tác HT cho vòng lặp Với thao tác HT, Larman đề nghị “hợp đồng thao tác” gồm điểm sau: Hệ thống 1) Tên 2) Trách nhiệm tạolậpLớp T() điềuchỉnhLớp T() tạolậpCơsở T() điềuchỉnhCơsở T() tạolậpChủđề() điềuchỉnhChủđề() tạolậpKỳhọc() điềuchỉnhKỳhọc() 3) Tham chiếu 4) iều kiện vào 5) iều kiện 6) Ngoại lệ (tuỳ chọn) 7) Chú thích (tùy chọn) Nghiên cứu ca sử dụng ‘Quảnlýcatalô’, ta đưa thao tác HTcho vịng lặp 1, Hình bên 55 Câu hỏii 18 (tt): tt): Lập hợp đồng thao tác HT: ”tạolậpLớp T” Trước hết ta cần lưu ý lớp thuộc gói Catalơ T, thao tác HT “tạolậpLớp T” đề cập lớp Song ta thấy thiếu lớp Chủ đề, mà ta phải bổ sung vào gói hình bên Bây lập hợp đồng sau: Catalơ 1 * Chủ đề * * Lớp đào tạo 56 Câu hỏi h i 18 (tt): 1) 2) Tên: tạolậpLớp T Trách nhiệm: Tạo lập lớp T theo mơ tả CS T đặt lớp vào Chủ đề 3) Tham chiếu: Ca SD Quản lý Catalô 4) Các điều kiện vào: Catalô 1 * ◦ Catalơ T có từ trước ◦ Có Chủ đề catalơ ◦ Cơ sở ◦ Người PT T kết nối với intranet T cung cấp thơng tin có catalơ Chủ đề * * Lớp đào tạo 57 19 4/13/2015 Câu hỏi h i 18 (tt): 5) Các điều kiện ra: ◦ Một lớp ◦ Một đối tượng nội dung n tạo lập T d tạo lập thuộc tính thuộc tính ◦ n kết nối với d ◦ d kết nối với sở * T tương ứng Các kỳ học có phải tạo lập ◦ Catalô Chủ đề * thuộc tính d phải kết nối với Chủ đề ◦ * Lớp đào tạo 58 Câu hỏi h i 19: Lập B tương tác (B trình tự hay B giao tiếp) thực thao tác HT “tạolậpLớp T” Các điều kiện kể cho ta thấy đích cần đạt được: ◦ ◦ ◦ ◦ ◦ ◦ Một lớp T d tạo lập thuộc tính Một đối tượng nội dung n tạo lập thuộc tính n kết nối với d d kết nối với sở T tương ứng Các kỳ học có phải tạo lập thuộc tính d phải kết nối với Chủ đề 59 Tuy nhiên điều kiện khơng có thứ tự Ta cần định trình tự thực hiện, chẳng hạn: 1) 2) 3) 4) Khởi tạo đối tượng d thuộc tính Tạo lập nội dung n Tạo lập kỳ học Ghép d vào (vài) chủ đề với sở đào tạo 60 20 4/13/2015 Thực câu B :Người :Ngư i PT T :W:W-PT T tạolậpLớp T() trình tự: :Wp T :W-Lớp : Kp T K-Lớp khởihoạt() khởitạoLớp(tên,thờigian,giá) d: Lớp L p T khởitạoLớp (tên,thờigian,giá) «create tên,thờigian,giá) »( 61 Thực câu B :Người :Ngư i PT T :W:W-PT T tạolậpLớp T( ) :Wp T :W-Lớp :Widung :W-Nộidung trình tự: : Kp T K-Lớp khởihoạt( ) khởitạoLớp(tên,thờigian,giá) tạolậpNôidung( ) khởitạoLớp (tên,thờigian,giá) d: Lớp L p T «create»(tên,thờigian,giá) khởihoạt( ) tạolậpNơidung(ngườihọc,m ụctiêu,cơngcụ,kếhoạch) tạolậpNơidung(ngườihọc, mụctiêu,cơngcụ,kếhoạch) n: Nộidung N idung «create»(ngườihọc,mục tiêu, cơngcụ,kếhoạch) 62 Số đối tượng nhiều B trình tự khó đọc, khó trình bày Ta thay B trình tự B giao tiếp (tương đương) sau dùng để triển khai bước tiếp: 1: tạolậpLớp T( ) :W:W-PT T 1.1:.khởihoạt( ) 2:khởitạoLớp(tên,thờigian,giá) 3:tạolậpNôidung( ) :Người :Ngư i PT T 2.1.1:«create»(tên,thờigian,giá) 2.1:khởitạoLớp (tên,thờigian,giá) d: Lớp L p T :Wp T :W-Lớp 3.1:khởihoạt( ) : Kp T K-Lớp 4:tạolậpNôidung(ngườihọc,m 4.1:tạolậpNôidung(ngườihọc,m ụctiêu,cơngcụ,kếhoạch) ụctiêu,cơngcụ,kếhoạch) :Widung :W-Nộidung 4.1.1:«create»(ngườihọc, mục n: Nộidung N idung tiêu, côngcụ,kếhoạch) 63 21 4/13/2015 Thực câu cách dùng đối tượng bội: 1: tạolậpLớp T( ) 6.1.1:«create»(ngàyBắtđầu, địađiểm) k: Kỳhọc Kỳh c :W:W-PT T 6.1.2:add(k) 1.1:.khởihoạt( ) k: Kỳhọc Kỳh c 2:khởitạoLớp(tên,thờigian,giá) 2.1:khởitạoLớp (tên,thờigian,giá) 3:tạolậpNôidung( ) 5:tạolậpKỳ( ) :Người :Ngư i PT T 2.1.1:«create»(tên,thờigian, giá) :Wp T :W-Lớp 3.1:khởihoạt( ) d: Lớp L p T 5.1:khởihoạt( ) : Kp T K-Lớp 4.1:tạolậpNơidung(ngườihọc,m ụctiêu,cơngcụ,kếhoạch) 4:tạolậpNơidung(ngườihọc,m ụctiêu,cơngcụ,kếhoạch) 4.1.1:«create»(ngườihọc, N idung mục tiêu, côngcụ,kếhoạch) n: Nộidung :Widung :W-Nộidung 6:tạolậpKỳ(ngàyBắtđầu,địađiểm) 6.1:tạolậpKỳ(ngàyBắtđầu,địađiểm) :W:W-Kýhọc Kýh c 64 Thực câu 4: 6.1.1:«create»(ngàyBắtđầu,địađiểm) 1: tạolậpLớp T( ) : Cơ sở s T k: Kỳhọc Kỳh c :W:W-PT T 1.1:.khởihoạt( ) 2:khởitạoLớp(tên,thờigian,giá) 3:tạolậpNôidung( ) 2.1:khởitạoLớp (tên, thờigian,giá) 5:tạolậpKỳ( ) 7.1:ghép(chủđề,CS T) 7:ghép(chủđề,CS T) :Người :Ngư i PT T 6.1.2:add(k) : Kỳhọc Kỳh c 2.1.1:«create»(tên, thờigian,giá) 7.1.1:ghép(chủđề,CS T) :Wp T :W-Lớp 3.1:khởihoạt( ) 5.1:khởihoạt( ) : Kp T K-Lớp 4.1:tạolậpNôidung( ngườihọc,mụctiêu,c ôngcụ,kếhoạch) 4:tạolậpNôidung(ngườihọc,m ụctiêu,côngcụ,kếhoạch) 7.1.2:add(d) : Lớp L p T 4.1.1:«create»(người học,mụctiêu,cơngcụ, kếhoạch) :Widung :W-Nộidung 6:tạolậpKỳ(ngàyBắtđầu,địađiểm) :W:W-Kỳhọc Kỳh c : Lớp L p T d: Lớp L p T 2.1.2:add(d) n: Nộidung N idung : Chủđ Ch đề 6.1:tạolậpKỳ(ngàyBắtđầu,địađiểm) 65 B trang trước lớn ể lặp B làm đôi trang trang sau nhỏ ta cắt 1: tạolậpLớp T( ) :W:W-PT T 1.1:.khởihoạt( ) 2:khởitạoLớp(tên,thờigian,giá) 3:tạolậpNôidung( ) 5:tạolậpKỳ( ) 7:ghép(chủđề,CS T) 2.1:khởitạoLớp (tên, thờigian,giá) 7.1:ghép(chủđề,CS T) :Người :Ngư i PT T :Wp T :W-Lớp 5.1:khởihoạt( ) 3.1:khởihoạt( ) : Kp T K-Lớp 4:tạolậpNôidung(ngườihọc,m ụctiêu,côngcụ,kếhoạch) 4.1:tạolậpNôidung(ngườihọc,m ụctiêu,côngcụ,kếhoạch) :Widung :W-Nộidung 6:tạolậpKỳ(ngàyBắtđầu,địađiểm) :W:W-Kỳhọc Kỳh c 6.1:tạolậpKỳ(ngàyBắtđầu,địađiểm) 66 22 4/13/2015 3.1:«create»(ngàyBắtđầu,địađiểm) 3.2:add(k) k: Kỳhọc Kỳh c : Kỳhọc Kỳh c 1.2:add(d) 1:khởitạoLớp(tên,thờigian,giá) 2:tạolậpNôidung(ngườihọc, mụctiêu,côngcụ,kếhoạch) : Cơ sở s T 1.1:«create»(tên, : Lớp L p T thờigian,giá) 4.1:ghép(chủđề,CS T) 3:tạolậpKỳ(ngàyBắtđầu,địađiểm) 4:ghép(chủđề,CS T) : Kp T K-Lớp d: Lớp L p T 4.2:add(d) : Lớp L p T : Chủđ Ch đề 2.1:«create»(ngườihọc, mụctiêu,cơngcụ,kếhoạch) n: Nộidung N idung 67 Câu hỏi h i 20: 20: Căn B giao tiếp vừa thành lập, bổ sung nội dung cho lớp tham gia Nội dung bổ sung gồm: ◦ Các thao tác: Một thông điệp gửi tới đối tương phải tương ứng với thao tác có sẵn lớp đối tượng ◦ Lưu hành: Tuỳ theo kết nối đối tượng biểu đồ giao tiếp (giá đỡ cho thông điệp) «association», «self», hay «parameter», «global», «local» mà ta thiết lập liên kết hay phụ thuộc hai lớp (theo chiều gửi thông điệp) Kết áp dụng quy tắc vào B giao tiếp xét B lớp tham gia sau đây, để bớt rườm rà, ta lược bỏ thao tác «create» thao tác chung lớp chứa đựng (như add()…): 68 «parameter» «entity» Kỳhọc Kỳh c «local» - ngàyBắtđ ngàyB tđầu tđ u - địađi ađiểm ađi m «ordered» «control» K_Lớp K_L p T +khởit +kh itạoL it oLớp() oL p() +tạol +t olậpNôidung() ol pNôidung() +tạol +t olậpKỳ() ol pKỳ() +ghép() 1 «entity» Nộidung idung «local» 1 - người ngư i học h c - m ụctiêu ctiêu - côngcụ côngc - k ếho hoạch ho ch «entity» Cơsở Cơs T - tên - địach achỉ ach - điệntho nthoại ntho i –Fax - Email 1 «entity» Lớp p T - tên - thờigian th igian - giá + ghép() 1 «entity» Ch Chủđ đề - tên «parameter» 69 23 4/13/2015 Nhận xét cải tiến mơ hình: Các lớp tham gia vừa lập (đặc biệt lớp thực thể) đương nhiên tham gia nhiều B tương tác khác mà ta chưa xét tới, định chúng tạm thời: ◦ Sự chọn lựa hướng lưu hành liên kết phải tham khảo thêm B tương tác khác ◦ Các phụ thuộc trở thành liên kết đối tượng đòi hỏi kết nối lâu bền thay kết nối thời Trong B lớp vừa lập ta thấy lớp lại ó tượng nên tránh Bởi cần san sẻ bớt trách K_Lớp T tương liên với lớp nhiệm (chẳng hạn việc tạo lập đối tượng Nộidung Kỳhọc) cho lớp khác (chẳng hạn cho lớp Lớp T) sau: 70 Trước hết chỉnh sửa lại B giao tiếp: : Cơ sở s T k: Kỳhọc Kỳh c : Kỳhọc Kỳh c 3.1.1:«create»(ngàyBắ tđầu,địađiểm) 1.2:add(d) 3.1.2:add(k) 1.1:«create»(tên, thờigian,giá) : Lớp L p T 2.1:tạolậpNơidung (ngườihọc, 3.1:tạolậpKỳ(ngàyBắtđầu,địađiểm) mụctiêu,côngcụ,kếhoạch) 4.1:ghép(chủđề,CS T) 3:tạolậpKỳ(ngàyBắtđầu,địađiểm) p T d: Lớp : KK-Lớp L p T 4:ghép(chủđề,CS T) 1:khởitạoLớp(tên,thờigian,giá) 2:tạolậpNôidung(ngườihọc, mụctiêu,côngcụ,kếhoạch) : Lớp L p T 4.2:add(d) 2.1.1:«create»(ngườihọc, mụctiêu,cơngcụ,kếhoạch) : Chủđ Ch đề n: Nộidung N idung 71 Tiếp đến từ B giao tiếp chỉnh sửa, ta lập lại B «entity» Cơsở Cơs T lớp tham gia: «control» K_Lớp K_L p T -tên:String -địachỉ:String -điệnthoại:Số -fax:Số -email:Email «parameter» -tên:String 1 1 «entity» Lớp p T «entity» Nộidung idung người học:String -mụctiêu:String -cơngcụ:String -kếhoạch:String «entity» Chủđ Ch đề +khởitạoLớp(tên:String,thờigian:short,giá:int) +tạolậpNơidung(ngườihọc:String,mụctiêu:String,c ơngcụ:String,kếhoạch:String) +tạolậpKỳ(ngàyBắtđầu:Date,địađiểmString) +ghép(chủđề:Chủđề,cơsở T:String) - «parameter» 1 - tên:String - thờigian:short - giá:int +tạolậpNôidung(ngườihọc:String,mụctiêu:String,c ôngcụ:String,kếhoạch:String ) +tạolậpKỳ(ngàyBắtđầu:Date,địađiểmString) +ghép(chủđề:Chủđề,cơsở T:String) «entity» Kỳhọc Kỳh c - ngàyBắtđầu:Date - địađiểm: ịachỉ 72 24 4/13/2015 Phân tích tiếp phần lại vòng lặp 1, ta bổ sung thêm nhiều thông tin cho lớp thực thể gói Catalơ T sau: «entity» Cơsở Cơs T -tên:String -địachỉ:String -điệnthoại:Số -fax:Số -email:Email «entity» PhầntửCatalơ «entity» Kỳhọc Kỳh c - ngàyBắtđầu:Date địađiểm: ịachỉ «parameter» «entity» Chủđ Ch đề -tên:String «entity» Catalơ -thờihạn:Thờihạn +lấyLớptheoChủđề(chủđề:Chủđề) +lấyLớptheoTên(tên:String) +lấyChủđềtheoTên(tên:String) +lấyKỳtheoNgày(ngàyBắtđầu:Date) +lấyMọiPhần tử() 1 «entity» idung Nộidung -người học:String -mụctiêu:String -cơngcụ:String -kếhoạch:String «entity» Lớp p T - tên:String - thờigian:short - giá:int +tạolậpNôidung(ngườihọc:String, mụctiêu:String,côngcụ:String,kếhoạch:String) +tạolậpKỳ(ngàyBắtđầu:Date,địađiểmString) +ghép(chủđề:Chủđề,cơsở T:Cơsở T) +điềuchỉnhNộidung(ngườihọc:String, mụctiêu:String,côngcụ:String,kếhoạch:String) +điềuchỉnhKỳ(ngàyBắtđầu:Date,địađiểmString) +điềuchỉnh (chủđề:Chủđề,cơsở T:Cơsở T) +huỷKỳ(k:Kỳhọc) 73 IV Bài tập t p tổng t ng hợp: h p: MHH tương tác (tt) Câu hỏi h i 21: 21: ịnh nghĩa thao tác HT cho vịng lặp ọc lại mơ tả ca SD ‘ ề nghị đào tạo’ ca SD ’Huỷ đào tạo’ (hoặc xem B trình tự HT tương ứng), lưu ý ca SD có đối tác Nhânviên NgườiPT T, ta tìm thao tác HT cho vịng lặp sau: Hệthống lậpđơnxin T() chấpnhận ơn() từchối ơn() huỷ ơn() đềnghịcácKỳ() chọnKỳ() 74 Câu hỏii 22: 22: Lập hợp đồng thao tác HT: “lập ơnxin T” “từchối ơn” Lập hợp đồng cho thao tác HT ‘lậpđơnxin T” 1) Tên: Lập ơnxin T 2) Trách nhiệm: Lập đơn xin T, dựa kết tra cứu từ catalơ gửi đơn cho người PT T để duyệt 3) Tham chiếu: Ca SD ‘ ề nghị T’ 4) Các điều kiện vào: • • • Catalơ T có trước Nhân viên kết nối với intranet Một đối tượng nv biểu diễn cho nhân viên có HT 75 25 4/13/2015 Câu hỏi h i 22 (tt): 5) Các điều kiện ra: • Một đối tượng đơn xin T dx tạo lập • Các thuộc tính ‘ngàygửi’ ‘ngàyxin T’ dx khởi gán • dx kết nối với nv • dx kết nối với phần tử ca talơ (điều không phù hợp với B MHH nghiệp vụ) 6) Ngoại lệ: Nhân viên xin huỷ đơn xin trước đơn duyệt 76 Câu hỏi h i 22 (tt): Lập hợp đồng thao tác HT: “từchối ơn” 1) Tên: từchối ơn 2) Trách nhiệm: Từ chối đơn xin T nhân viên, có đưa lý từ chối 3) Tham chiếu: Ca SD ‘ ề nghị T’ 4) Các điều kiện vào: • Một đối tượng đơn xin T dx có trước • Người PT T kết nối với intranet • Một đối tượng nv biểu diễn cho nhân viên có HT kết nối với dx 77 Câu hỏi h i 22 (tt): 5) Các điều kiện ra: • ối tượng đơn xin T dx bị huỷ bỏ • Một đối tượng từ chối t tạo lập • Các thuộc tính ‘ngày’ ‘lýdo’ t khởi gán • Một e-mail chứa t gửi cho nhân viên nv 6) Ngoại lệ: Khơng có 78 26 4/13/2015 Câu hỏi h i 23: 23: Lập B ‘lập ơnxin T’ giao tiếp thực thao tác HT pt: PtCatalô 4.1.1.1: đơnmới(nv,pt,ngàygửi) dx: ơnxin T :Người :Ngư i PT T 1.:lập ơnxin T() nv: Nhânviên :W:W-Nhânviên 1.1:khởihoạt( ) 2.1.1:«create»(nv) 3.1.1:nối(pt) 4.1.1:gán(ngàyxin T) :Nhânviên 2.1:khởitạo(nv) 3.1:nối ơn(pt) 4.1:gán(ngàyxin T) 2:khởitạo() 3:chọnKỳ(pt) 4:gán(ngàyxin T) :W:W- ơnxin T : KK- ơnxin T 79 Câu hỏi h i 24: 24: Lập B lớp thực thể cho gói ề nghị xin học h c «parameter» «entity» Kỳhọc Kỳh c {từ {t Catalơ T} «entity» ăngký «entity» ơnxin T - ngàygửi:Date ngàyg i:Date - ngàyxin T:Date +nối(ph +n i(phầnt i(ph ntử:Ph nt :Phầnt :Ph ntửCatalô) nt Catalô) +gán(ngàyxin T:Date) +từch +t chối() ch i() +chấpnh +ch pnhận() pnh n() +chọnKỳ(k:Kỳh +ch nKỳ(k:Kỳhọc) nKỳ(k:Kỳh c) +kếtthúcKỳ() +k tthúcKỳ() +huỷ() +huỷKỳ(k:Kỳh +hu () +hu Kỳ(k:Kỳhọc) Kỳ(k:Kỳh c) - gửiđi(ngàyg iđi(ngàygửi:Date) iđi(ngàyg i:Date) - gửiT iTừch iT chối(lýdo:String) ch i(lýdo:String) - gửii ồngý() ngý() đáp ứng ng T «entity» Nhânviên - ngày:Date - họ:String :String - tên:String - phòng:String - chứcv ch cvụ:String cv :String - email:Email 1 +huỷ() +hu () a «entity» Phầnt Ph ntửCatalơ nt Catalơ {từ {t Catalơ T} ngườixin ngư ixin «entity» Trảl Tr l ờii - ngày:Date cho 1 «entity» ồngý ngý «entity» ngý Khơng ồngý - lýdo:String 80 81 27 4/13/2015 82 83 84 28 4/13/2015 85 86 87 29 4/13/2015 88 89 90 30 ... Mục đích MHH tương tác 1.2 Các thơng điệp 1.3 Biểu đồ trình tự 1.4 MHH tương tác ca sử dụng với bđ trình tự Mục đích bước mơ hình hố tương tác dùng biểu đồ tương tác để diễn tả tương tác đối tượng... «local» 1 - người ngư i học h c - m ụctiêu ctiêu - côngcụ côngc - k ếho hoạch ho ch «entity» Cơsở Cơs T - tên - địach achỉ ach - điệntho nthoại ntho i –Fax - Email 1 «entity» Lớp p T - tên - thờigian... K_L p T -tên:String -? ?ịachỉ:String -? ?iệnthoại:Số -fax:Số -email:Email «parameter» -tên:String 1 1 «entity» Lớp p T «entity» Nộidung idung người học:String -mụctiêu:String -cơngcụ:String -kếhoạch:String