intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Công nghệ phần mềm: Chương 4 - Hoàng Thị Hà

Chia sẻ: Khánh Thành | Ngày: | Loại File: PDF | Số trang:29

54
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Công nghệ phần mềm: Chương 4 Thiết kế phần mềm, cung cấp cho người học những kiến thức như: Tổng quan về thiết kế phần mềm; Quá trình thiết kế và sản phẩm thiết kế; Thiết kế kiến trúc; Các phương pháp thiết kế. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Công nghệ phần mềm: Chương 4 - Hoàng Thị Hà

  1. CHƯƠNG 4: THIẾT KẾ PHẦN MỀM GV: Hoàng Thị Hà Email: htha@vnua.edu.vn 1
  2. Nội dung 1. Tổng quan về thiết kế phần mềm 2. Quá trình thiết kế và sản phẩm thiết kế 3. Thiết kế kiến trúc 4. Các phương pháp thiết kế
  3. 1. Tổng quan về thiết kế phần mềm(1) • Thiết kế phần mềm là quá trình thiết kế cấu trúc phần mềm dựa trên những tài liệu đặc tả. • Là tạo mô hình cài đặt cho phần mềm • Nếu không có thiết kế hoặc thiết kế tồi: – Làm tăng công sức viết mã – Làm tăng công sức bảo trì – Có nguy cơ dựng lên một hệ thống không ổn định - một hệ thống sẽ thất bại khi có một thay đổi nhỏ; – Thiết kế tốt là chìa khoá cho công trình hữu hiệu
  4. 1. Tổng quan về thiết kế phần mềm(2) • Mục tiêu thiết kế là xác định – Chức năng của các module – Cách thức cài đặt các module – Tương tác giữa các module
  5. 1. Tổng quan về thiết kế phần mềm(3) • Yêu cầu của thiết kế – Làm cơ sở cho việc thực hiện chi tiết. – Làm phương tiện liên lạc giữa các nhóm thiết kế các hệ con. – Cung cấp đầy đủ thông tin cho người bảo trì hệ thống.
  6. 2. Quá trình thiết kế và các sản phẩm thiết kế
  7. 2. 1. Nội dung thiết kế 1. Thiết kế kiến trúc: Thành phần, cấu trúc chính và mối quan hệ giữa chúng 2. Thiết kế giao diện: với mỗi hệ thống con, các giao diện của nó với những hệ thống con khác phải được thiết kế và tư liệu hoá. 3. Thiết kế dữ liệu: cấu trúc dữ liệu, cách lưu trữ dữ liệu. 4. Thiết kế thuật toán: Các thuật toán được sử dụng ứng với từng thành phần cấu trúc
  8. 2. 2. Quá trình thiết kế và các sản phẩm thiết kế (2)
  9. Các bước thiết kế • Bước 1- Thiết kế sơ bộ: Quan tâm tới việc chuyển hoá các yêu cầu thành kiến trúc dữ liệu và các thành phần phần mềm. • Bước 2- Thiết kế chi tiết: Tập trung vào việc làm mịn biểu diễn kiến trúc để dẫn tới cấu trúc dữ liệu chi tiết và biểu diễn các quy trình tính toán và xử lý của phần mềm.
  10. Các bước thiết kế
  11. Thiết kế thường trợ giúp một vài cách nhìn nhận hệ thống như sau: • Nhìn nhận cấu trúc: Cho cái nhìn cấu trúc thông qua lược đồ cấu trúc. • Nhìn nhận quan hệ thực thể: Mô tả cấu trúc dữ liệu logic thường dùng, đề cập đến đặc tả dữ liệu quan hệ thực thể. • Nhìn nhận dòng dữ liệu: Về lược đồ dòng dữ liệu. • Người ta còn dùng lược đồ chuyển trạng thái để bổ sung cho phương pháp trên.
  12. Các phương pháp thiết kế • Thiết kế hướng chức năng • Thiết kế hướng đối tượng
  13. 3. Thiết kế kiến trúc • Khái niệm – Kiến trúc phần mềm (software architecture) là một cấu trúc tổng thể của phần mềm, qua đó cung cấp sự tích hợp về mặt khái niệm của một hệ thống. – Hiểu một cách đơn giản, kiến trúc là cấu trúc phân cấp của các thành phần chương trình, qua đó thể hiện sự tương tác giữa chúng với nhau và với cấu trúc dữ liệu mà chúng sử dụng. – Theo nghĩa rộng, kiến trúc biểu diễn các thành phần lớn, cốt lõi của hệ thống và mối quan hệ giữa chúng với nhau được nhìn theo những quan điểm khác nhau.
  14. 3. Thiết kế kiến trúc (2) • Vai trò và tầm quan trọng của kiến trúc – Là công cụ giao tiếp giữa những người có liên quan (Stackeholder communication) quan trọng của kiến trúc – Phân tích hệ thống (System Analysis) – Tái sử dụng ở quy mô lớn (Large-scale reuse)
  15. 3. Thiết kế kiến trúc (3) • Kiến trúc và đặc điểm của hệ thống: Kiến trúc hệ thống ảnh hưởng tới sự thực thi, tính hiệu quả, tính phân tán và bảo trì của hệ thống. Kiểu và cấu trúc được lựa chọn cho một ứng dụng cũng có thể phụ thuộc vào những yêu cầu phi chức năng của hệ thống: – Tính hiệu năng (Performance) – Tính bảo mật (security) – Tính an toàn (safety) – Tính sẵn sàng (availability): – Tính bảo trì (maintainability)
  16. 3. Thiết kế kiến trúc (4) • Tổ chức hệ thống: Ba kiểu tổ chức phổ biến nhất: – Mô hình kho dữ liệu; – Mô hình máy khách/máy chủ; – Mô hình máy ảo hoặc phân tầng.
  17. Mô hình kho dữ liệu (The repository model) • Các hệ thống con phải trao đổi dữ liệu. Có thể thực hiện theo hai cách: – Dữ liệu dùng chung được đặt tại CSDL hoặc repository trung tâm và tất cả các hệ thống con đều có thể truy cập; – Mỗi hệ thống con giữ CSDL riêng và truyền dữ liệu một cách tường minh cho các hệ thống con khác. • Khi cần chia sẻ lượng dữ liệu lớn, mô hình chia sẻ kiểu repository được dùng rộng rãi nhất. 17
  18. CASE toolset architecture Design Code editor generator Design Program Project repository translator editor Design Code editor generator 18
  19. Đặc điểm của mô hình repository • Ưu điểm – Các hiệu quả để dùng chung lượng dữ liệu lớn; – Các hệ thống con không cần quan tâm dữ liệu được tạo như thế nào – Công việc quản lý như backup, bảo mật, .. được tập trung. – Mô hình dùng chung được công bố dưới dạng repository schema. • Nhược điểm – Các hệ thống con phải thống nhất về một mô hình dữ liệu repository. Thỏa hiệp là tất yếu; – Tiến hóa dữ liệu là khó khăn và chi phí cao; – Không có phạm vi cho các chính sách quản lý cụ thể; – Khó phân tán một cách có hiệu quả. 19
  20. Mô hình khách chủ (Client-server model) • Mô hình hệ thống phân tán trong đó dữ liệu và xử lý dữ liệu được phân bố cho nhiều component • Một tập các server độc lập cung cấp các dịch vụ cụ thể, chẳng hạn in, quản lý dữ liệu, v.v.. • Một tập các client gọi các dịch vụ đó • Mạng máy tính cho phép client tương tác với các server Server là "trình phục vụ", không phải "máy chủ"! 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2