Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 7: Quá trình phát triển phần mềm hướng đối tượng - Thạc Bình Cường
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
để phát triển các mô hình thiết kế hướng đối tượng;
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ơ
đồ 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ữ
liệu, quan sát và miền;
Các sơ đồ tương tác mở rộng các sơ đồ trình tự hệ thống
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 7: Quá trình phát triển phần mềm hướng đối tượng - Thạc Bình Cường", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 7: Quá trình phát triển phần mềm hướng đối tượng - Thạc Bình Cường
p và các sơ đồ 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ữ liệu, quan sát và miền; Các sơ đồ tương tác mở rộng các sơ đồ trình tự hệ thống. 2 1 4 3 5 5v2.0013112205 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ế. 6v2.0013112205 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. 7v2.0013112205 SƠ ĐỒ CHƯƠNG TRÌNH HƯỚNG ĐỐI TƯỢNG DỰA TRÊN SỰ KIỆN Đối tượng sinh viên Đối tượng dữ liệu đầu ra 2. Tạo đối tượng sinh viên 1. Nhập ID sinh viên 4. Nhập các cập nhật thông tin cá nhân Đối tượng cơ sở dữ liệu 5. Cập nhật cơ sở dữ liệu 3. Truy lục dữ liệu về sinh viên 6. Lưu các cập nhật vào cơ sở dữ liệu 8v2.0013112205 VÍ DỤ LỚP THIẾT KẾ CHO LỚP HỌC SINH VIÊN ĐÃ ĐƠN GIẢN HÓA 9v2.0013112205 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. 10v2.0013112205 CÂU HỎI TƯƠNG TÁC Dùng các công cụ nào để vẽ các biểu đồ? 11v2.0013112205 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 sơ đồ trình tự hệ thống Các sơ đồ lớp mô hình vùng Các mô tả tình huống sử dụng và sơ đồ hoạt động Các mô hình phân tích Các mô hình thiết kế Các sơ đồ lớp thiết kế Các sơ đồ tình huống sử dụng Các sơ đồ đóng gói 12v2.0013112205 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ể” “Kiểm soát” “Đường bao” “Truy cập thông tin” Khách hàng Điều khiển tình huống sử dụng Cửa sổ order Cửa sổ order 13v2.0013112205 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. 14v2.0013112205 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ố) 15v2.0013112205 VÍ DỤ: DÙNG SƠ ĐỒ MIỀN VÀ SƠ ĐỒ THIẾT KẾ LỚP 16v2.0013112205 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. 17v2.0013112205 TÍNH HIỂN THỊ CÓ HƯỚNG GIỮA KHÁCH HÀNG VÀ ĐƠN ĐẶT HÀNG 18v2.0013112205 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. 19v2.0013112205 VÍ DỤ 1 SƠ ĐỒ LỚP MÔ HÌNH DOMAIN RMO 20v2.0013112205 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 21v2.0013112205 5.1. CÁC ĐỐI TƯỢNG ĐƯỢC BAO HÀM TRONG TÌM KIẾM CÁC MẶT HÀNG CÓ SẴN (LOOK UP ITEM AVAILABILITY) 22v2.0013112205 5.2. SSD ĐỐI VỚI KỊCH BẢN ĐẶT HÀNG QUA ĐIỆN THOẠI CỦA TÌNH HUỐNG TẠO ORDER MỚI 23v2.0013112205 5.3. SƠ ĐỒ TRÌNH TỰ MỘT PHẦN CHO KỊCH BẢN ĐẶT HÀNG QUA ĐIỆN THOẠI 24v2.0013112205 6. THIẾT KẾ VỚI CÁC SƠ ĐỒ HỢP TÁC • Các sơ đồ hợp tác và các sơ đồ trình tự: Cả hai loại đều là các sơ đồ tương tác; Cả hai loạI đều lưu giữ các thông tin giống nhau; Qui trình thiết kế cho hai loại cũng giống nhau. • Mô hình được sử dụng là tham chiếu cá nhân của người thiết kế: Sơ đồ trình tự (Sequence diagram): Vì các mô tả tình huống sử dụng và các bước của trình tự theo hội thoại; Sơ đồ hợp tác (Collaboration diagram): Nhấn mạnh sự kết hợp. 25v2.0013112205 6.1. CÁC KÍ HIỆU CỦA MỘT SƠ ĐỒ KẾT HỢP 26v2.0013112205 6.2. SƠ ĐỒ HỢP TÁC TRONG TÌM KIẾM CÁC MẶT HÀNG CÓ SẴN 27v2.0013112205 6.3. SƠ ĐỒ HỢP TÁC CHO TẠO MỘT ORDER MỚI 28v2.0013112205 6.4. TÌNH HUỐNG TÌM KIẾM CÁC MẶT HÀNG CÓ SẴN DÙNG CÁC KÝ HIỆU BIỂU TƯỢNG 29v2.0013112205 7. CẬP NHẬT SƠ ĐỒ THIẾT KẾ LỚP • Sơ đồ thiết kế lớp được phát triển cho từng tầng: Các lớp mới cho tầng quan sát và truy cập dữ liệu; Các lớp mới cho các kiểm soát tình huống tầng domain. • Các thông điệp của sơ đồ trình tự được sử dụng để bổ sung các phương thức: Các phương thức xây dựng (Constructor methods); Lấy dữ liệu và tạo lập phương thức; Các phương thức cụ thể cho từng tình huống sử dụng. 30v2.0013112205 7.1. LỚP THIẾT KẾ VỚI ĐỊNH DANH HÀM CHO MỘT LỚP ORDER 31v2.0013112205 7.2. SƠ ĐỒ THIẾT KẾ LỚP CẬP NHẬT CHO TẦNG MIỀN NGHIỆP VỤ 32v2.0013112205 8. CÁC CHƯƠNG TRÌNH ĐÓNG GÓI – KẾT CẤU CÁC THÀNH PHẦN CHỦ YẾU • Sơ đồ cấp bậc cao trong UML để tổ chức các lớp của các nhóm liên quan; • Nhận dạng các thành phần chính của hệ thống và sự phụ thuộc; • Quyết định các phân chia chương trình cho từng tầng: Quan sát, miền nghiệp vụ và truy cập dữ liệu; Có thể chia hệ thống thành các hệ thống con và thể hiện cấp lồng bên trong nghỉ phép. 33v2.0013112205 VÍ DỤ 1 THIẾT KẾ MỘT PHẦN CỦA SƠ ĐỒ ĐÓNG GÓI PACKAGE CHO RMO 34v2.0013112205 VÍ DỤ 2 CÁC GÓI HỆ THỐNG CON RMO 35v2.0013112205 TỔNG KẾT PHẦN THIẾT KẾ SƠ ĐỔ UML • Thiết kế hướng đối tượng chính là cầu nối giữa các đòi hỏi của người sử dụng (trong các mô hình phân tích) và hệ thống cuối cùng (được tạo lập bằng ngôn ngữ lập trình); • Thiết kế hệ thống do các tình huống thiết kế, các chương trình thiết kế lớp, và các sơ đồ trình tự; • Sơ đồ lớp miền domain được biến đổi thành các sơ đồ lớp thiết kế: Các sơ đồ trình tự là sự mở rộng các sơ đồ trình tự của hệ thống. 36v2.0013112205 9. CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG • Mở rộng trực tiếp của thiết kế và kiểu lập trình OO; • ODBMS lưu trữ dữ liệu như các đối tượng hoặc các lớp; • Hỗ trợ trực tiếp cho phương pháp lưu trữ, dịch chuyển, lồng, liên kết đối tượng hoặc kiểu do lập trình viên xác định; • Ngôn ngữ định nghĩa đối tượng (ODL): Ngôn ngữ chuẩn để mô tả cấu trúc và nội dung của một cơ sở dữ liệu đối tượng. 37v2.0013112205 CÂU HỎI TƯƠNG TÁC Có phải dùng hết các loại biểu đồ không? Tại sao? 38v2.0013112205 10. THIẾT KẾ CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG • Xác định các lớp yêu cầu phải được lưu trữ một cách bền vững; • Định nghĩa các lớp bền vững; • Thể hiện quan hệ giữa các lớp bền vững; • Lựa chọn kiểu dữ liệu phù hợp và giới hạn giá trị (nếu cần thiết) cho mỗi trường. 39v2.0013112205 11. BIỂU DIỄN QUAN HỆ • Các định danh đối tượng: Nhằm xác định các đối tượng duy nhất; Lưu trữ địa chỉ hoặc tham chiếu vật lý; Liên kết các đối tượng của một lớp với lớp khác. • ODBMS sử dụng các thuộc tính có chứa các định danh đối tượng để tìm kiếm các đối tượng có liên kết với các đối tượng khác; • Từ khoá quan hệ có thể được sử dụng để thể hiện quan hệ giữa các lớp; • Các thuận lợi: ODBMS có trách nhiệm xác định liên kết giữa các đối tượng; ODBMS có trách nhiệm duy trì toàn vẹn tham chiếu. • Loại quan hệ: 1:1, 1:M, M:M (một-một, một-nhiều, nhiều-nhiều); Lớp Liên kết được sử dụng với M:M. 40v2.0013112205 11.1. SƠ ĐỒ LỚP RMO 41v2.0013112205 11.2. QUAN HỆ 1:1 THỂ HIỆN THÔNG QUA CÁC THUỘC TÍNH CHỨA ĐỊNH DANH ĐỐI TƯỢNG 42v2.0013112205 11.3. QUAN HỆ 1-M GIỮA CÁC LỚP CUSTOMER VÀ ORDER 43v2.0013112205 11.4. QUAN HỆ 1:M VỚI CÁC THUỘC TÍNH CHƯA ĐỊNH DANH ĐỐI TƯỢNG 44v2.0013112205 11.5. QUAN HỆ M:M GIỮA CÁC LỚP EMPLOYEE VÀ PROJECT 45v2.0013112205 11.5. QUAN HỆ M:M GIỮA CÁC LỚP EMPLOYEE VÀ PROJECT 46v2.0013112205 VÍ DỤ KHÁI QUÁT HÓA PHÂN CẤP TRONG MÔ HÌNH LỚP RMO 47v2.0013112205 12. THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ - ĐỐI TƯỢNG LAI GHÉP • RDBMS (DBMS lai ghép) được sử dụng để lưu trữ các thuộc tính và quan hệ đối tượng; • Thiết kế sơ đồ quan hệ hoàn chỉnh và đồng thời thiết kế tập các lớp tương đương; • Không khớp giữa kiểu dữ liệu quan hệ và OO: Các phương pháp lớp không thể lưu trữ trực tiếp hoặc thực thi tự động; Quan hệ hạn chế hơn so với ODBMS; ODBMS có thể thể hiện nhiều kiểu dữ liệu hơn. 48v2.0013112205 13. LỚP VÀ THUỘC TÍNH • Các trình thiết kế lưu trữ các lớp và thuộc tính đối tượng trong RDBMS thông qua các bảng; • Sơ đồ quan hệ được thiết kế dựa vào sơ đồ lớp; • Bảng được tạo cho từng lớp; • Các trường của từng bảng cũng như các thuộc tính của từng lớp; • Hàng chứa các giá trị thuộc tính của một đối tượng duy nhất; • Trường khoá được lựa chọn cho từng bảng. 49v2.0013112205 13.1. HIỂN THỊ CÁC DỮ LIỆU ĐƯỢC LƯU TRỮ Sự phù hợp về khái niệm trong hiển thị cơ sở dữ liệu hướng đối tượng CSDL thực thể liên kết và CSDL quan hệ của các dữ liệu được lưu trữ CộtThuộc tínhThuộc tính HàngEntity InstanceĐối tượng BảngLoại thực thểLớp Cơ sở dữ liệu quan hệLiên kết thực thểHướng đối tượng 50v2.0013112205 13.2. TƯƠNG TÁC GIỮA CÁC LỚP 51v2.0013112205 14. KIỂU DỮ LIỆU • Định dạng lưu trữ và nội dung được phép của biến chương trình, biến trạng thái đối tượng hoặc trường hay đối tượng cơ sở dữ liệu; • Các kiểu dữ liệu cơ bản được thực thi trực tiếp: Địa chỉ bộ nhớ (con trỏ), Boolean, số nguyên; • Các kiểu dữ liệu phức hợp do người dùng định nghĩa: Ngày, giờ, chuyển động sóng, hình video, URLs. 52v2.0013112205 14.1. CÁC KIỂU DỮ LIỆU DBMS QUAN HỆ • Trình thiết kế phải chọn kiểu dữ liệu phù hợp cho từng trường trong sơ đồ cơ sở dữ liệu quan hệ; • Các lựa chọn cho các trường rất rõ ràng: Tên và địa chỉ sử dụng một tập các dãy ký tự có độ dài cố định hoặc biến đổi; Số lượng lưu kho có thể sử dụng các số nguyên; Giá từng vật phẩm có thể sử dụng các số thực. • Các kiểu dữ liệu phức hợp (DATE, LONG, LONGRAW). 53v2.0013112205 14.2. CÁC CƠ SỞ DỮ LIỆU PHÂN TÁN • Hiếm khi các cơ sở dữ liệu tổ chức được lưu trữ trong một vị trí trong một cơ sở dữ liệu đơn nhất; • Các hệ thống thông tin khác nhau trong một tổ chức được xây dựng tại các thời điểm khác nhau; • Các phần nhỏ dữ liệu của một tổ chức có thể do các bộ phận khác nhau nắm giữ và quản lý; • Chất lượng của hệ thống được cải thiện khi dữ liệu gần với các chương trình ứng dụng chính. 54v2.0013112205 14.3. CẤU TRÚC MÁY CHỦ CƠ SỞ DỮ LIỆU ĐƠN Một cấu trúc máy chủ cơ sở dữ liệu đơn Mạng LAN Mạng diện rộng Mạng LAN Máy chủ CSDL 55v2.0013112205 14.4. CẤU TRÚC MÁY CHỦ CƠ SỞ DỮ LIỆU NHÂN BẢN Một cấu trúc máy chủ cơ sở dữ liệu tái tạo Mạng LAN Mạng diện rộng Mạng LAN Máy chủ CSDL (bản sao 1) Máy chủ CSDL (bản sao 2) 56v2.0013112205 14.5. SƠ ĐỒ CƠ SỞ DỮ LIỆU PHÂN KHU THÀNH 2 NHÓM CON TRUY NHẬP MÁY KHÁCH Sơ đồ cơ sở dữ liệu phân khu thành hai nhóm con truy nhập máy khách Sơ đồ dành cho các khách hàng nhóm A Sơ đồ dành cho các khách hàng nhóm B 57v2.0013112205 14.6. CẤU TRÚC MÁY CHỦ CƠ SỞ DỮ LIỆU PHÂN KHU LAN nhóm khách hàng A WAN LAN nhóm khách hàng B Máy chủ CSDL phần B Máy chủ CSDL phần A 58v2.0013112205 14.7. CẤU TRÚC MÁY CHỦ CƠ SỞ DỮ LIỆU TẬP TRUNG Máy chủ CSDL Marketing Máy chủ CSDL Sản phẩm Máy chủ CSDL Kế toán Máy chủ CSDL Kết hợp 59v2.0013112205 14.8. CẤU TRÚC MÁY CHỦ CƠ SỞ DỮ LIỆU PHÂN KHU VÀ NHÂN BẢN CỦA RMO Máy chủ CSDL Phân khu tái tạo Máy chủ CSDL Phân khu tái tạo Máy chủ CSDL Trung tâm Máy chủ CSDL phân khu tái tạo Trung tâm dữ liệu LAN Trụ sở công ty LAN Trung tâm đặt hàng qua điện thoại Trung tâm đặt hàng qua thư LAN Nhà kho (3 địa điểm) LAN WAN 60v2.0013112205 CÂU HỎI TƯƠNG TÁC Ưu điểm của CSDL hướng đối tượng? Tại sao hiện nay vẫn dùng CSDL dạng quan hệ? 61v2.0013112205 TÓM LƯỢC CUỐI BÀI • Các hệ thống thông tin hiện đại lưu trữ thông tin trong các cơ sở dữ liệu, truy nhập và quản lý dữ liệu thông qua DBMS; • DBMS quan hệ được sử dụng phổ biến; • DBMS đối tượng ngày càng trở nên phổ biến; • Hoạt động chính của thiết kế hệ thống là xây dựng các sơ đồ cơ sở dữ liệu đối tượng và quan hệ; • Cơ sở dữ liệu quan hệ là tập hợp các dữ liệu được lưu trữ trong các bảng và được phát triển từ sơ đồ quan hệ thực thể; • Cơ sở dữ liệu đối tượng lưu trữ dữ liệu như là tập hợp các đối tượng có liên kết và được phát triển từ các sơ đồ lớp; • Các đối tượng cũng có thể được lưu trữ trong RDBMS; • RDBMS không thể lưu trữ các phương pháp; • RDBMS không thể trực tiếp thể hiện dịch chuyển; • Các hệ thống thông tin vừa và lớn thường sử dụng nhiều cơ sở dữ liệu hoặc các máy chủ cơ sở dữ liệu trong nhiều khu vực địa lý.
File đính kèm:
- bai_giang_phan_tich_thiet_ke_he_thong_thong_tin_bai_7_qua_tr.pdf