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 3 - ĐH Công nghệ TP.HCM

Chia sẻ: Elysale Elysale | Ngày: | Loại File: PPTX | Số trang:54

38
lượt xem
11
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 3 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ế; Kiến trúc phần mềm; Phương pháp thiết kế phần mềm; Ví dụ minh họa. 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 3 - ĐH Công nghệ TP.HCM

  1. Insert or Drag and Drop your Image THIẾT KẾ PHẦN MỀM Jens Martensson
  2. NỘI DUNG 1. Tổng quan về thiết kế 2. Kiến trúc phần mềm 3. Phương pháp thiết kế phần mền 4. Ví dụ minh họa Jens Martensson 2
  3. 3.1. Tổng quan về thiết kế • Mục tiêu của việc thiết kế là định hình hệ thống và tìm dạng thức của phần mềm có thể đáp ứng được mọi yêu cầu. • Dữ liệu đầu vào của giai đọn thiết kế: Kết quả thu được từ bước phân tích trước đó. Jens Martensson 3
  4. 3.1. Tổng quan về thiết kế • Mục đích thiết kế: • Hiểu rõ về yêu cầu và những ràng buộc có liên quan, khả năng tái sử dụng của các thành phần. • Tạo đầu vào thích hợp và điểm xuất phát cho các hoạt động hiện thực • Có thể phân rã việc cài đặt thành các phần nhỏ dễ quản lý để nhiều nhóm phát triển xử lý đồng thời. • Lựa chọn kiến trúc phù hợp với hệ thống. Jens Martensson 4
  5. 3.1.1. Kỹ thuật thiết kế phần mềm • Có hai phương pháp chính: • Thiết kế từ trên xuống (Top- Down) • Thiết kế từ dưới lên (Bottom – Up) Jens Martensson 5
  6. 3.1.1.1 Thiết kế trên xuống (top-down) • Quá trình thiết kế được bắt đầu bằng những thành phần tổng quan nhất của hệ thống. • Triển khai thành những module nhỏ hơn, quá trình này được lặp lại cho đến khi những nhiệm vụ con trở nên đơn giản sao cho một thuật toán có thể tính toán và giải quyết được. Jens Martensson 6
  7. 3.1.1.2 Thiết kế từ dưới lên (bottom–up) • Thiết kế từ dưới lên bắt đầu từ một công việc nhỏ nhất và cụ thể, phát triển liên tiếp thành một thành phần trừu tượng cho đến khi đạt được kết quả mà là các chức năng theo yêu cầu của người dùng. Jens Martensson 7
  8. 3.1.1.3 Thiết kế hệ thống phần mềm • Thiết kế hệ thống phần mềm có ba cấp độ kết quả: • Thiết kế kiến ​trúc: Thiết kế kiến ​trúc là phiên bản trừu tượng cao nhất của hệ thống. Nó xác định phần mềm là một hệ thống có nhiều thành phần tương tác với nhau. • Thiết kế cấp cao:. Thiết kế cấp cao tập trung vào cách hệ thống cùng với tất cả các thành phần của nó có thể được thực hiện dưới dạng các mô- đun. • Thiết kế chi tiết: Thiết kế chi tiết liên quan đến phần thực hiện của một hệ thống và các hệ thống con, xác định cấu trúc logic của từng mô-đun và giao diện của chúng để giao tiếp với các module khác. Jens Martensson 8
  9. 3.1.1.4 Thiết kế bản mẫu (prototype) • Thiết kế bản mẫu: tạo các giao diện sơ bộ, các bản thiết kế phác thảo cho người dùng tham khảo trước khi thiết kế chi tiết • Các bản thiết kế này được thực hiện dạng tài liệu kỹ bằng các phần mềm thiết kế nhanh như MS Visio, MS Visual Basic / C# / C++, MS Front Page / Visual Interdev … • Đây là bước đệm cơ bản trước khi đi vào hiện thực chi tiết. Jens Martensson 9
  10. 3.1.1.5 Phân rã thiết kế • Phân rã thiết kế giúp hiện thực hóa từng phần bản thiết kế đến mức chi tiết. Các nhóm phương pháp phân rã gồm: • Phân rã hướng chức năng • Phân rã hướng dữ liệu Jens Martensson 10
  11. 3.1.1.5 Phân rã thiết kế • Phân rã hướng chức năng • Dựa trên những yêu cầu chức năng để phân rã hướng đến các tác nhiệm của toàn bộ hệ thống. • Sử dụng Sơ đồ phân rã chức năng (FDD): • Xác định các chức năng dựa trên mô tả các tính chất của đầu vào và đầu ra • Xác định phạm vi của hệ thống • Phân hoạch chức năng • Tạo nền tảng cho thiết kế kiến trúc hệ thống Jens Martensson 11
  12. 3.1.1.5 Phân rã thiết kế • Phân rã hướng dữ liệu • Tiến trình thiết kế tập trung vào dữ liệu. • Chiến lược thiết kế hướng đến các đối tượng dữ liệu cần được thực hiện. • Việc phân rã hệ thống dựa trên việc phân tích dữ liệu, bao gồm sơ đồ luồng dữ liệu (Data flow diagram - DFD), giúp xem toàn bộ luồng dữ liệu bên trong hệ thống và cách dữ liệu được xử lý theo nhiều mức chi tiết khác nhau và nhiều biến thể mở rộng khác nhau. Jens Martensson 12
  13. 3.1.1.5 Phân rã thiết kế • Ví dụ: DFD hệ thống bán vé Jens Martensson 13
  14. 3.1.1.5 Phân rã thiết kế • Tiếp cận từ trên xuống (top-down) • Lập sơ đồ luồng dữ liệu cấp 0 (xét tất cả các luồng dữ liệu nhập xuất, tất cả các yêu cầu xử lý) • Phân rã sơ đồ luồng dữ liệu cấp 0 thành các sơ đồ luồng dữ liệu cấp 1: • Phân rã các xử lý thành nhiều xử lý con và quyết định các luồng dữ liệu tương ứng. • Phân rã các luồng dữ liệu nhập xuất thành nhiều luồng dữ liệu con và quyết định các xử lý tương ứng • Quá trình kết thúc khi đạt đến các sơ đồ không thể tiếp tục phân rã được nữa, đây là sơ đồ tương ứng với công việc cụ thể. Jens Martensson 14
  15. 3.1.1.5 Phân rã thiết kế • Nhận xét: Cách tiếp cận từ trên xuống • Thích hợp với phần mềm có số lượng người dùng, số lượng các yêu cầu ít (nếu ngược lại sơ đồ cấp 0 sẽ rất phức tạp và khó lập chính xác). • Đặc biệt thích hợp với các loại phần mềm mà yêu cầu chưa được xác định rõ ngay từ đầu (ví dụ các phần mềm hệ thống). ít được sử dụng. Jens Martensson 15
  16. 3.1.1.5 Phân rã thiết kế • Tiếp cận từ dưới lên (bottom-up) • Lập sơ đồ luồng dữ liệu ở mức cao nhất. • Tích hợp các sơ đồ này để tạo các sơ đồ có cấp nhỏ hơn theo cách: • Tích hợp các xử lý của các sơ đồ cấp k vào sơ đồ cấp k-1 và giữ nguyên các luồng dữ liệu của các sơ đồ cấp k • Tích hợp đồng thời các xử lý và các luồng dữ liệu của các sơ đồ cấp k để tạo lập sơ đồ cấp k-1. • Quá trình kết thúc khi đạt đến các sơ đồ cấp 0 Jens Martensson 16
  17. 3.1.1.5 Phân rã thiết kế • Nhận xét: Cách tiếp cận từ dưới lên • Thích hợp với các phần mềm có yêu cầu chi tiết, cụ thể và có quy mô trung bình. • Khó thực hiện với các dự án có quy mô lớn và yêu cầu chưa được rõ ràng chi tiết Jens Martensson 17
  18. 3.1.1.5 Phân rã thiết kế • Hướng tiếp cận phối hợp: • Lập sơ đồ luồng dữ liệu cấp k theo tiêu chí xác định • Phân rã sơ đồ cấp k thành nhiều sơ đồ cấp k+1 tiếp tục cho đến khi đạt được các sơ đồ lá. • Tích hợp các sơ đồ cấp k thành các sơ đồ cấp k-1 tiếp tục cho đến khi đạt được sơ đồ cấp 0. • Nhận xét • Cách tiếp cận phối hợp thích hợp cho các phần mềm có quy mô yêu cầu lớn, phức tạp • Được dùng nhiều trong thực tế. Jens Martensson 18
  19. 3.1.1.5 Phân rã thiết kế • Lập sơ đồ luồng dữ liệu cho từng công việc • Việc lập các sơ đồ luồng dữ liệu cho toàn bộ phần mềm sẽ trở thành lập sơ đồ luồng dữ liệu cho từng công việc. • Sau đó tích hợp để có sơ đồ cấp 0. • Quá trình lập sơ đồ luồng dữ liệu cho một công việc được tiến hành qua 3 bước. • Xác định dữ liệu nhập • Xác định dữ liệu xuất • Mô tả cách xử lý Jens Martensson 19
  20. 3.1.1.5 Phân rã thiết kế • Bước 1: Xác định dữ liệu nhập, dữ liệu nhập phải thỏa điều kiện sau: • Không nhập vào các dữ liệu có thể tính toán được dựa trên quy định hay công thức đã có. • Không nhập vào các dữ liệu đã được lưu trữ trước đó. • Dữ liệu nhập từ thiết bị nhập khác chỉ được xem xét khi có yêu cầu đặc biệt trong một số phần mềm đặc biệt như: hệ thống thời gian thực, hệ thống bản đồ, nhập qua điện thoại tổng đài … Jens Martensson 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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