Xem mẫu

  1. BÀI 7 QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG Giảng viên: ThS. Thạc Bình Cường v2.0013112205 1
  2. TÌNH HUỐNG DẪN NHẬP • Tiếp sau giai đoạn phân tích là giai đoạn thiết kế. Thiết kế hướng đối tượng bao gồm quá trình triển khai các ý tưởng của phân tích bao gồm cả dữ liệu và các phương thức (xử lý); • Quy trình thiết kế bao gồm xác định các lớp và tương tác giữa các lớp; • Có một số hệ quản trị cơ sở dữ liệu hướng đối tượng ODBMS; • Chúng ta sẽ thiết kế hệ thống quản lý phân phối hàng của tập đoàn RMO bằng phương pháp hướng đối tương. v2.0013112205 2
  3. MỤC TIÊU Giải thích mục đích và mục tiêu của thiết kế hướng đối tượng; Phát triển các sơ đồ thiết kế lớp; Phát triển các chương trình tương tác dựa trên các nguyên tắc nhiệm vụ của đối tượng và các kiểm soát use-case; Phát triển các sơ đồ trình tự chi tiết như là qui trình trọng tâm trong thiết kế các hệ thống; Phát triển các sơ đồ hợp tác như là một phần của thiết kế hệ thống; Dẫn chứng thiết kế cấu trúc bằng cách sử dụng các sơ đồ đóng gói (package diagram). v2.0013112205 3
  4. NỘI DUNG Trọng tâm của chương này và của chương sau là làm thế nào 1 để phát triển các mô hình thiết kế hướng đối tượng; 2 Những lập trình viên sử dụng các mô hình để mã hoá hệ thống; Hai mô hình quan trọng nhất là các sơ đồ thiết kế lớp và các sơ 3 đồ tương tác (sơ đồ trình tự và sơ đồ hợp tác); Các sơ đồ lớp được phát triển cho các tầng (layer) truy cập dữ 4 liệu, quan sát và miền; 5 Các sơ đồ tương tác mở rộng các sơ đồ trình tự hệ thống. v2.0013112205 4
  5. 1. THIẾT KẾ HƯỚNG ĐỐI TƯỢNG – CẦU NỐI GIỮA PHÉP PHÂN TÍCH VÀ LẬP TRÌNH • Cầu nối giữa các yêu cầu của người sử dụng với lập trình hệ thống mới; • Thiết kế hướng đối tượng là qui trình mà qua đó các mô hình hướng đối tượng chi tiết được thiết lập; • Các lập trình viên sử dụng thiết kể để viết mã và test hệ thống mới; • Giao diện sử dụng, mạng, bộ kiểm soát, tính bảo mật, và cơ sở dữ liệu đòi hỏi các mô hình và thao tác thiết kế. v2.0013112205 5
  6. 2. TỔNG QUAN CÁC CHƯƠNG TRÌNH HƯỚNG ĐỐI TƯỢNG • Thiết lập các đối tượng kết hợp cùng nhau để đạt được một kết quả; • Đối tượng chứa đựng các thuộc tính cần thiết và logic chương trình trong một đơn vị; • Các đối tượng gửi cho nhau các thông điệp và hợp tác để hỗ trợ các chức năng của chương trình chính; • Nhà thiết kế hệ thống OO cung cấp chi tiết cho các nhà lập trình: Các sơ đồ thiết kế lớp, các sơ đồ tương tác (vài) sơ đồ trạng thái. v2.0013112205 6
  7. SƠ ĐỒ CHƯƠNG TRÌNH HƯỚNG ĐỐI TƯỢNG DỰA TRÊN SỰ KIỆN 3. Truy lục dữ liệu về sinh viên Đối tượng sinh viên Đối tượng 2. Tạo đối tượng 6. Lưu các cập nhật cơ sở dữ liệu sinh viên vào cơ sở dữ liệu 5. Cập nhật cơ sở dữ liệu Đối tượng dữ liệu đầu ra 4. Nhập các cập nhật 1. Nhập ID thông tin cá nhân sinh viên v2.0013112205 7
  8. VÍ DỤ LỚP THIẾT KẾ CHO LỚP HỌC SINH VIÊN ĐÃ ĐƠN GIẢN HÓA v2.0013112205 8
  9. 3. CÁC MÔ HÌNH VÀ QUY TRÌNH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG • Các sơ đồ được phát triển trong quá trình phân tích: Sơ đồ tình huống sử dụng (use case), các mô tả tình huống sử dụng và các sơ đồ thao tác, các sơ đồ mô hình miền (domain model) lớp, và các sơ đồ trình tự hệ thống; • Các sơ đồ được phát triển trong quá trình thiết kế:  Các sơ đồ thiết kế lớp – thiết lập các lớp hướng đối tượng cần thiết cho lập trình, sự điều hướng giữa các lớp, tên thuộc tính và các đặc tính, tên phương pháp và các đặc tính;  Các sơ đồ tương tác, các sơ đồ đóng gói. v2.0013112205 9
  10. CÂU HỎI TƯƠNG TÁC Dùng các công cụ nào để vẽ các biểu đồ? v2.0013112205 10
  11. 3.1. CÁC MÔ HÌNH THIẾT KẾ VỚI CÁC MÔ HÌNH DỮ LIỆU ĐẦU VÀO TƯƠNG ỨNG Các mô hình phân tích Các mô hình thiết kế Các sơ đồ tình huống sử dụng Các sơ đồ lớp thiết kế Các mô tả tình huống sử dụng và sơ đồ hoạt động Các sơ đồ lớp mô hình vùng Các sơ đồ trình tự hệ thống v2.0013112205 Các sơ đồ đóng gói 11
  12. 3.2. CÁC KÝ HIỆU THIẾT KẾ LỚP • UML không phân biệt giữa các ký hiệu thiết kế lớp và các kí hiệu mô hình miền; • Mô hình miền (Domain model) thể hiện môi trường làm việc của người sử dụng; • Việc thiết kế lớp cụ thể là xác định các lớp của phần mềm; • UML sử dụng các ký tự mẫu sẵn (stereotype) để phân loại một thành tố mô hình bởi chính các đặc tính của nó. “Thực thể” Khách hàng “Kiểm soát” Điều khiển tình huống sử dụng “Đường bao” Cửa sổ order “Truy cập thông tin” Cửa sổ order v2.0013112205 12
  13. 3.3. CÁC LỚP THIẾT KẾ TIÊU CHUẨN • Thực thể (Entity): Các nhận dạng thiết kế cho các lớp miền vấn đề; • Lớp vĩnh cửu (Persistent class): Tồn tại ngay cả sau khi hệ thống đã được đóng; • Đường bao (Boundary): Đựơc thiết kế để tạo nên đường bao tự động của hệ thống; • Các lớp cửa sổ và giao diện sử dụng; • Bộ điều khiển (Control): Trung gian giữa đường bao và các lớp thực thể, giữa tầng quan sát và tầng domain; • Truy cập dữ liệu (Data access): Truy lục dữ liệu và gửi các dữ liệu tới cơ sở dữ liệu. v2.0013112205 13
  14. 3.4. KÍ HIỆU LỚP THIẾT KẾ • Tên: Thông tin mẫu sẵn có và tên lớp; • Thuộc tính (Attributes); Visibility (tính hiển thị riêng hoặc mở rộng), tên thuộc tính, loại hiển thị, trị số ban đầu, đặc tính; • Singature phương pháp (Method signatures): Thông tin cần thiết để cầu viện (gọi) phương pháp:  Tính hiển thị phương pháp, tên phương pháp, loại hiển thị (các thông số phản hồi), danh sách thông số phương pháp (những tranh luận sắp tới);  Phương pháp quá tải (Overloaded method): Phương pháp cùng một tên nhưng có hai hoặc nhiều danh sách thông số khác nhau. • Các ký hiệu bên trong dùng để xác định lớp thiết kế: “Tên stereotype” Tên lớp: Lớp mẹ Danh sách thuộc tính Tên hiển thị: Loại – hiển thị = Trị số ban đầu (đặc tính) Danh sách phương pháp Tên hiển thị: Loại – hiển thị = Trị số ban đầu (danh sách thông số) v2.0013112205 14
  15. VÍ DỤ: DÙNG SƠ ĐỒ MIỀN VÀ SƠ ĐỒ THIẾT KẾ LỚP v2.0013112205 15
  16. 4. MỘT VÀI NGUYÊN TẮC THIẾT KẾ CƠ BẢN • Sự đóng gói (Encapsulation): Mỗi đối tượng là một thể thống nhất chứa đựng các dữ liệu và phương thức để truy cập dữ liệu; • Tái sử dụng đối tượng (Object reuse): Các nhà thiết kế thường tái sử dụng các lớp giống nhau cho các thành phần windows; • Ẩn thông tin (Information hiding): Dữ liệu đồng nhất với đối tượng không được hiển thị; • Tính hiển thị có điều hướng (Navigation visibility): Đối tượng có thể quan sát và tương tác với các đối tượng khác. v2.0013112205 16
  17. TÍNH HIỂN THỊ CÓ HƯỚNG GIỮA KHÁCH HÀNG VÀ ĐƠN ĐẶT HÀNG v2.0013112205 17
  18. 5. KẾT HỢP VÀ GẮN KẾT • Kết hợp (Coupling): Sự đo lường mặt lượng các lớp trong sơ đồ thiết kế lớp có thể liên kết với nhau như thế nào?  Các mũi tên điều hướng trên sơ đồ thiết kế lớp;  Thấp: Hệ thống dễ hiểu và dễ duy trì hơn. • Gắn kết (Cohesion):  Sự đo lường mặt lượng tính nhất quán của các chức năng bên trong một lớp riêng lẻ;  Sự phân chia trách nhiệm (Separation of responsibility) – chia lớp gắn kết thấp thành các lớp có mức gắn kết cao. v2.0013112205 18
  19. VÍ DỤ 1 SƠ ĐỒ LỚP MÔ HÌNH DOMAIN RMO v2.0013112205 19
  20. SƠ ĐỒ LỚP THIẾT KẾ MỘT PHẦN CHO TÌNH HUỐNG TÌM KIẾM CÁC MẶT HÀNG CÓ SẴN v2.0013112205 20
nguon tai.lieu . vn