Bài giảng Công nghệ phần mềm: Chương 3 - ĐH Công nghệ TP.HCM
Số trang: 54
Loại file: pptx
Dung lượng: 1.45 MB
Lượt xem: 13
Lượt tải: 0
Xem trước 6 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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!
Nội dung trích xuất từ tài liệu:
Bài giảng Công nghệ phần mềm: Chương 3 - ĐH Công nghệ TP.HCM Insert or Drag and Drop your Image THIẾT KẾ PHẦN MỀM Jens Martensson 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.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 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 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 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 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 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 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 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 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 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 3.1.1.5 Phân rã thiết kế • Ví dụ: DFD hệ thống bán vé Jens Martensson 13 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 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 ...
Nội dung trích xuất từ tài liệu:
Bài giảng Công nghệ phần mềm: Chương 3 - ĐH Công nghệ TP.HCM Insert or Drag and Drop your Image THIẾT KẾ PHẦN MỀM Jens Martensson 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.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 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 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 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 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 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 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 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 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 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 3.1.1.5 Phân rã thiết kế • Ví dụ: DFD hệ thống bán vé Jens Martensson 13 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 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 ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Công nghệ phần mềm Công nghệ phần mềm Thiết kế phần mềm Kiến trúc phần mềm Phương pháp thiết kế phần mềmTài liệu liên quan:
-
62 trang 403 3 0
-
Đề cương chi tiết học phần Vi xử lý
12 trang 298 0 0 -
Giáo trình Công nghệ phần mềm nâng cao: Phần 2
202 trang 230 0 0 -
Giáo trình Công nghệ phần mềm nâng cao: Phần 1
151 trang 198 0 0 -
Báo cáo chuyên đề Công nghệ phần mềm: Pattern searching
68 trang 188 0 0 -
Lecture Introduction to software engineering - Week 3: Project management
68 trang 187 0 0 -
Xây dựng mô hình và công cụ hỗ trợ sinh tác tử giao diện
13 trang 181 0 0 -
6 trang 175 0 0
-
Giáo trình tóm tắt Công nghệ phần mềm
149 trang 171 0 0 -
Bài giảng Công nghệ phần mềm - Chương 2: Quy trình xây dựng phần mềm
36 trang 157 0 0