Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
638,5 KB
Nội dung
PHÂN TÍCH & THIẾT KẾ HỆ THỐNG HƯỚNG ĐỐI TƯỢNG THIẾT KẾ HỆ THỐNG THIẾT KẾ LỚP THIẾT KẾ USE CASE THIẾT KẾ DỮ LiỆU THIẾT KẾ CÀI ĐẶT THIẾT KẾ THỬ NGHIỆM Chương THIẾT KẾ LỚP Các tiên đề thiết kế hướng đối tượng Thiết kế lớp Tinh chế thuộc tính Tinh chế method Các tiên đề thiết kế hướng đối tượng Tiên đề 1: tiên đề độc lập Duy trì tính độc lập thành phần thiết kế Tinh độc lập thành phần không cao Tinh độc lập thành phần cao Các tiên đề thiết kế hướng đối tượng Tiên đề 2: tiên đề thông tin Giảm tối đa thông tin đối tượng thiết kế Tách thành nhiều đối tượng đơn giản Tách thành cấu trúc phân cấp kế thừa Đối tượng phức tạp Nhiều đối tượng đơn giản Các tiên đề thiết kế hướng đối tượng Tiên đề 2: tiên đề thông tin Giảm tối đa thông tin đối tượng thiết kế - ví dụ: Hố Đơn LậpHốĐơn() Hố Đơn LậpHốĐơn() InHốĐơn() Máy In InHoáĐơn() Các tiên đề thiết kế hướng đối tượng Các hệ Hệ 1: thiết kế độc lập, giảm tối đa thông tin trao đổi (Uncouple Design with Less Information ) ( Coupling Dùng để đo mức độ liên quan lẫn đối tượng thành phần phần mềm Biểu diễn thông qua kết hợp nhị phân Coupling mạnh liên hệ đối tượng phức tạp Đánh giá coupling dựa vào: Mức độ phức tạp kết nối Kết nối tham chiếu đến thân đối tượng bên ngồi đối tượng Các thơng điệp nhận gửi Các tiên đề thiết kế hướng đối tượng Các hệ Hệ 1: thiết kế độc lập, giảm tối đa thông tin trao đổi (Uncouple Design with Less Information ) ( Coupling – ví dụ: A B D Coupling mạnh C Coupling yếu Các tiên đề thiết kế hướng đối tượng Coupling Hai loại coupling: tương tác kế thừa Coupling tương tác: chia thành loại Data coupling: liên kết thành phần liệu nguyên tố tổng hợp Ví dụ: Class_A + Operation_A () : Integer integer Operation_A() { int x,y; Class_B cB; Class_B + Operation_B (Integer Para_1) : Integer … y = cB.Operation_B(x); … } Các tiên đề thiết kế hướng đối tượng Coupling Coupling tương tác: chia thành loại Data coupling - Ví dụ: GiaoDịch + rútTiền(sốTK) TàiKhoản + cậpNhật SốDư (sốTiền) rútTiền (sốTK:String) { … Tk.cậpNhậtSốDư(this.sốTiềnGiaoDịch); … } : Integer Dữ liệu trao đổi 10 Thiết kế lớp Tinh chế thuộc tính Kiểu thuộc tính Thuộc tính dùng để tham chiếu tới đối tượng khác tới thể kết nối Hiển thị thuộc tính : = + : toàn cục # : bảo vệ - : cục Ghi chú: phạm vi mặc định thuộc tính cục 22 Thiết kế lớp Tinh chế thuộc tính Ví dụ: hệ thống ATM NgânHàng KháchHàng #tênKháchHàng:String #họKháchHàng:String #mãPIN::String #sốThẻ:String #tàiKhoản:TàiKhoản Các thuộc tính cài đặt liên kết MáyATM #địaChỉ:String #trạngThái:String #sốTiềnHiệnTại:float TàiKhoản #sốTàiKhoản:String có #loạiTàiKhoản:String #sốDư:float #giaoTác:GiaoDịch #kháchHàng:KháchHàng GiaoDịch #giaoDịchID:String #ngàyGiaoDịch:Date #thờiGianGiaoDịch:Time #loạiGiaoDịch:String n #sốTiền:float #sốDư:float GiaoDịchRút 23 GiaoDịchGởi Thiết kế lớp Tinh chế method: Các method để cài đặt lớp là: Constructor: methode tạo thể (đối tượng) lớp Destructor: methode huỷ thể lớp Conversion: method chuyển đổi đơn vị đo lường sang đơn vị đo lường khác Copy: method chép nội dung thể sang thể khác Attribute set: method gán giá trị cho nhiều thuộc tính Attribute get: method trả giá trị nhiều thuộc tính I/O method: method cung cấp tới nhần liệu từ thiết bị Domain specific: method xác định tới ứng dụng đối tượng 24 Thiết kế lớp Thiết kế method Hiển thị method : Các method đa số method có phạm vi tồn cục Ví dụ: +get_Tên(): String +get_SốTàiKhoản(vtàiKhoản : TàiKhoản): String 25 Thiết kế lớp Thiết kế method Thiết kế nội dung method Các method xác định giai đoạn phân tích Thiết kế việc phân tích sơ đồ use case Các method thiết kế Các method vừa phát 26 Thiết kế lớp Thiết kế method Ví dụ: Thiết kế method hệ thống ATM KháchHàng:: kiểmTraMậtKhẩu() TàiKhoản::rútTiển() TàiKhoản::gửiTiền() TàiKhoản::xemThôngTin() MáyATM::khởiĐộngMáy() MáyATM::đóngMáy() 27 Thiết kế lớp Thiết kế method Ví dụ: Thiết kế method hệ thống ATM KháchHàng::+ kiểmTraMậtKhẩu(sốThẻ:String, vPIN:String): vkháchHàng: KháchHàng TàiKhoản::+ rútTiền(sồTiền: foat ) TàiKhoản::+ gửiTiền(sốTiền:float): mãTrảVề:String MáyATM::+ khởiĐộngMáy(sốTiềnKhởiTạo:float ) MáyATM::+ đóngMáy() 28 Thiết kế lớp Thiết kế method KháchHàng::+ kiểmTraMậtKhẩu(sốThẻ:String, vPIN:String): vkháchHàng: KháchHàng : MáyATM : KháchHàng KiểmTraMậtKhẩu(vSốThẻ, vPIN) vKháchHàng = lấy_KháchHàng(sốThẻ, vPIN) Hiển thị thông báo PIN khơng hợp lệ, vui lịng nhập lại Cung cấp quyền truy cập cho người dùng Method phát vKháchHàng 29 Thiết kế lớp Thiết kế method TàiKhoản::+ rútTiền(sồTiền: foat ) soTien > soDu maTraVe = "So tien rut vuot qua so du" soTien