Bài giảng Nhập môn công nghệ phần mềm: Chương 6 - Nguyễn Thanh Bình

13 54 0
Bài giảng Nhập môn công nghệ phần mềm: Chương 6 - Nguyễn Thanh Bình

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế phần mềm cung cấp cho người học các kiến thức: Định nghĩa thiết kế phần mềm, các giai đoạn thiết kế, thiết kế và sự thay đổi, thiết kế hướng mô-đun,...Mời các bạn cùng tham khảo.

Thiết kế (6) Nguyễn Thanh Bình Khoa Cơng nghệ Thơng tin Trường ðại học Bách khoa ðại học ðà Nẵng Thiết kế ? phân tích tốn/vấn đề xuất phát từ yêu cầu mô tả nhiều giải pháp ñánh giá giải pháp, chọn giải pháp tốt mức trừu tượng ñịnh sử dụng mơ hình tính chất trả lời câu hỏi “như nào” mô tả chủ yếu cấu trúc bỏ qua chi tiết cài đặt • giải pháp trừu tượng ≠ giải pháp cụ thể CuuDuongThanCong.com https://fb.com/tailieudientucntt Các giai ñoạn thiết kế Hoạt ñộng thiết kế xuất mơ hình phát triển khác Hai giai đoạn thiết kế Thiết kế kiến trúc • phân tích giải pháp thành thành phần • định nghĩa giao diện thành phần • định nghĩa phần vấn ñề ñược giải thành phần • thực nhiều mức trừu tượng Thiết kế chi tiết • thiết kế thuật tốn, cấu trúc liệu Các giai ñoạn thiết kế Requirements specification Design activities Architectural design Abstract specificatio n Interface design Component design Data structure design Algorithm design System architecture Software specification Interface specification Component specification Data structure specification Algorithm specification Design products CuuDuongThanCong.com https://fb.com/tailieudientucntt Các giai ñoạn thiết kế Architectural design xác ñịnh hệ thống Abstract specification ñặc tả hệ thống Interface design mô tả giao diện hệ thống Component design phân tích hệ thống thành thành phần Data structure design cấu trúc liệu lưu trữ liệu toán Algorithm design thiết kế thuật tốn cho hàm/mơ-đun Tại phải thiết kế ? có kiến trúc tốt làm chủ cấu trúc hệ thống “chia ñể trị” ñạt ñược tiêu chuẩn chất lượng tái sử dụng / dễ keỉem thử / dễ bảo trì thiết kế hướng đến thay ñổi (design for change) CuuDuongThanCong.com https://fb.com/tailieudientucntt Thiết kế thay đổi Thay đổi = tích chất ñặc trưng phần mềm Dự báo thay ñổi cần thiết giảm chi phí bảo trì Dự báo thay đổi khó khăn thay đổi thường khơng xác ñịnh trước nhiều yếu tố thay ñổi lúc thời điểm thay đổi khó biết trước Thiết kế thay ñổi Các yếu tố thay đổi thuật tốn cấu trúc liệu biểu diễn liệu bên thiết bị ngoại vi môi trường xã hội yêu cầu khách hàng CuuDuongThanCong.com https://fb.com/tailieudientucntt Thiết kế hướng mơ-đun Phần mềm tập hợp gồm mơ-đun tương tác với Mơ-đun hóa đóng vai trò quan trọng để có phần mềm chất lượng với chi phí thấp Mục đích thiết kế hệ thống xác định mơ-đun xác định tương tác mơ-đun Các tiêu chuẩn phương pháp thiết kế Các tiêu chuẩn ñể ñánh giá phương pháp thiết kế hướng mơ-đun tính phân rã (modular decomposability) tính tổng hợp (modular composability) tính dễ hiểu (modular understandability) tính liên tục (modular continuity) tính bảo vệ (modular protection) 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các tiêu chuẩn phương pháp thiết kế tính phân rã (modular decomposability) phân rã vấn ñề thành vấn ñề nhỏ giải vấn đề cách ñộc lập phương pháp thiết kế từ xuống (todown design) thỏa mãn tiêu chuẩn 11 Các tiêu chuẩn phương pháp thiết kế tính tổng hợp (modular composability) mơ-đun dễ dàng kết hợp với ñể tạo nên hệ thống có mối quan hệ chặt chẽ với tính tái sử dụng tính tổng hợp xung đột với tính phân rã • phân rã thành mơ-đun chun biệt thay mơ-đun tổng qt 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các tiêu chuẩn phương pháp thiết kế tính dễ hiểu (modular understandability) thiết kế mơ-đun cách dễ hiểu tính chất mơ-đun • mơ-đun hiểu ? • tên sử dụng có ý nghĩa ? • cso sử dụng thuật tốn phức tạp ? Ví dụ sử dụng “goto” chương trình vài nghìn dòng lệnh, khơng sử dụng hàm/thủ tục 13 Các tiêu chuẩn phương pháp thiết kế tính liên tục (modular continuity) thay ñổi ñặc tả yêu cầu dẫn ñến thay ñổi (hoặc số ít) mơ-đun Ví dụ ☺khơng sử dụng số chuỗi ký tự chương trình, sử dụng ñã ñịnh nghĩa sử dụng mảng 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các tiêu chuẩn phương pháp thiết kế tính bảo vệ (modular protection) kiến trúc ñươc thiết kế cho ñiều kiện bất thường xảy ra, (hoặc số ít) mơ-đun bị ảnh hưởng 15 Thiết kế kiến trúc Kiến trúc = tập hợp thành phần/mơ-đun quan hệ chúng thành phần/mơ-đun • hàm / nhóm hàm / lớp quan hệ • sử dụng / gọi / thừa kế 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chất lượng kiến trúc mơ-đun có tính kết cố cao (high cohesion) mơ-đun đơn vị lơ-gíc tồn mơ-đun đóng góp thực mục tiêu liên kết lỏng lẽo (low coupling) mơđun ràng buộc, phụ thuộc lẫn dễ hiểu ñịnh nghĩa rỏ ràng mơ-đun quan hệ chúng 17 Các loại kiến trúc Ba loại mơ hình kiến trúc thường sử dụng chia liệu: mơ hình “Repository” chia dịch vụ, servers: mơ hình “ClientServer” mơ hình lớp (layered model) 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình “Repository” Nguyên tắc liệu chia ñược tập trung CSDL hệ thống ñều truy cập vào CSDL chung Khi lượng liệu lớn cần chia hệ thống mơ hình “Repository” thường sử dụng 19 Mơ hình “Repository” Ví dụ kiến trúc công cụ CASE 20 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình “Repository” Ưu diểm đơn giản hiệu chia lượng liệu lớn ñộc lập hệ thống Hạn chế hệ thống phải thống mơ hình liệu “repository” khó khăn phân tán liệu 21 Mơ hình “Client-Server” Ngun tắc mơ hình phân tán: liệu xử lý ñược phân tán nhiều thành phần khác Hệ thống bao gồm servers cung cấp dịch vụ • có nhiều servers clients u cầu dịch vụ phương thức trao đổi • mạng hay máy tính 22 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình “Client-Server” Ví dụ 23 Mơ hình “Client-Server” Ưu điểm sử dụng hiệu mạng dễ dàng thêm server nâng cấp server phân tán liệu dễ dàng Hạn chế hệ thống quan lý liệu riêng • dẫn đến dư thừa khơng có kiến trúc tập trung ghi nhận dich vụ • khó khăn để xác định liệu hay dịch vụ sử dụng 24 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình lớp Ngun tắc tổ chức hệ thống thành tập hợp lớp lớp cung cấp tập hợp dịch vụ sử dụng để mơ tả quan hệ hệ thống giao diện lớp thay ñổi, lớp kế cận bị ảnh hưởng hỗ trợ mơ hình phát triển tăng trưởng 25 Mơ hình lớp Ví dụ: hệ thống quản lý phiên 26 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... m - un Phần mềm tập hợp gồm m - un tương tác với M - un hóa đóng vai trò quan trọng để có phần mềm chất lượng với chi phí thấp Mục đích thiết kế hệ thống xác định m - un xác định tương tác m - un... (hoặc số ít) m - un bị ảnh hưởng 15 Thiết kế kiến trúc Kiến trúc = tập hợp thành phần/ m - un quan hệ chúng thành phần/ m - un • hàm / nhóm hàm / lớp quan hệ • sử dụng / gọi / thừa kế 16 CuuDuongThanCong.com... m - un có tính kết cố cao (high cohesion) m - un đơn vị lơ-gíc tồn m - un đóng góp thực mục tiêu liên kết lỏng lẽo (low coupling) mơđun ràng buộc, phụ thuộc lẫn dễ hiểu ñịnh nghĩa rỏ ràng m - un

Ngày đăng: 11/01/2020, 20:10

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan