Bài giảng Nhập môn Công nghệ phần mềm: Phần 2
Số trang: 158
Loại file: pdf
Dung lượng: 4.96 MB
Lượt xem: 12
Lượt tải: 0
Xem trước 10 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Nối tiếp phần 1, Bài giảng Nhập môn Công nghệ phần mềm: Phần 2 tiếp tục trình bày những nội dung về pha thiết kế; kỹ thuật hình thức cho thiết kế chi tiết; kỹ thuật thiết kế hệ thống thời gian thực; pha cài đặt và tích hợp; kiểm thử pha cài đặt và tích hợp; case study cho pha cài đặt; pha bảo trì; bảo trì hệ phần mềm hướng đối tượng;... 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 Nhập môn Công nghệ phần mềm: Phần 2NHẬP MÔNCÔNG NGHỆ PHẦN MỀMTÀI LIỆUDÀNH CHO SINH VIÊN CÔNG NGHỆ THÔNG TINTRẦN ĐÌNH QUẾNGUYỄN MẠNH HÙNG Chương 8. Pha thiết kế CHƯƠNG 8: PHA THIẾT KẾ8.1 TỔNG QUAN VỀ PHA THIẾT KẾ8.1.1 Dữ liệu và các hành động • Hai khía cạnh của một sản phẩm phần mềm o Những hành động thực hiện trên dữ liệu o Dữ liệu mà các hành động thao tác trên dữ liệu đó • Hai cách cơ bản của thiết kế hệ thống phần mềm o Thiết kế hướng hành động o Thiết kế hướng dữ liệu • Cách thứ ba o Các phương pháp lai o Chẳng hạn, thiết kế hướng đối tượng8.1.2 Thiết kế và trừu tượng • Các hoạt động thiết kế cổ điển o Thiết kế kiến trúc o Thiết kế chi tiết o Kiểm thử thiết kế • Thiết kế kiến trúc o Đầu vào: Những đặc tả o Đầu ra: Sự phân nhỏ thành các mô đun • Thiết kế chi tiết o Mỗi mô đun được thiết kế Các thuật toán đặc trưng, các cấu trúc dữ liệu 119 Chương 8: Pha thiết kế8.1.3 Thiết kế • Tổng kết luồng công việc thiết kế: o Các tài liệu luồng công việc thiết kế được lặp và tích hợp đến khi người lập trình có thể sử dụng được chúng • Các quyết định bao gồm: o Ngôn ngữ lập trình o Sử dụng lại o Tính khả chuyển • Ý tưởng của việc phân tách luồng công việc lớp thành những luồng công việc nhỏ độc lập (các gói) được thực hiện ở luồng công việc phân tích • Mục tiêu là chia nhỏ luồng công việc cài đặt thành những phần có thể quản lý được o Các hệ thống con • Tại sao phần mềm được chia nhỏ thành các hệ thống con: o Dễ dàng để cài đặt một số hệ thống con hơn là một hệ thống lớn o Nếu các hệ thống con độc lập với nhau thì chúng có thể được cài đặt bởi các đội lập trình khác nhau cùng một lúc Khi đó toàn bộ sản phẩm phần mềm được chuyển giao sớm • Kiến trúc của sản phẩm phần mềm bao gồm: o Các thành phần khác nhau o Cách chúng ăn khớp với nhau o Phân chia các thành phần vào các hệ thống con • Công việc của thiết kế kiến trúc được chuyên môn hóa o Nó được thực hiện bởi các kiến trúc sư phần mềm • Kiến trúc sư (architect)cần có sự cân bằng về: o Mỗi sản phẩm phần mềm phải đáp ứng các yêu cầu chức năng của chúng (các use case) 120 Chương 8: Pha thiết kế o Mỗi sản phẩm phần mềm cũng phải đáp ứng các yêu cầu phi chức năng, bao gồm: Khả chuyển, đáng tin, mạnh mẽ, bảo trì và bảo mật o Mỗi sản phẩm phần mềm phải thực hiện tất cả những yêu cầu này trong ràng buộc chi phí và thời gian • Kiến trúc sư phải giúp khác hàng bằng cách sắp xếp những cân bằng này. • Thường không thể đáp ứng tất cả các yêu cầu chức năng và phi chức năng trong ràng buộc về chi phí và thời gian o Có một vài sự sắp xếp được thực hiện • Khách hàng phải o Giảm bớt một số yêu cầu; o Tăng chi phíe; và /hoặc o Thay đổi thời gian chuyển giao • Kiến trúc của sản phẩm phần mềm là quan trong o Luồng công việc xác định yêu cầu có thể được sửa lại (fix) trong suốt luồng phân tích o Luồng công việc phân tích có thể được sửa lại trong suốt luồng công việc thiết kế o Luồng công việc thiết kế có thể được sửa lại trong suốt luồng công viẹc cài đặt • Nhưng không có cách để phục hồi từ kiến trúc gần tốt nhất o Kiến trúc phải được thiết kế lại ngay lập tức8.1.4 Kiểm thử trong pha thiết kế • Rà soát thiết kế phải được thực hiện o Thiết kế phải phản ánh chính xác đặc tả o Chính thiết kế phải chính xác • Kiểm tra kỹ lưỡng hướng giao tác (Transaction-driven inspections) o Cần thiết cho các phần mềm hướng giao tác 121 Chương 8: Pha thiết kế o Tuy nhiên, những kiểm tra hướng giao tác là chưa đủ nên những kiểm tra hướng đặc tả cũng được yêu cầu8.1.5 Kỹ thuật hình thức cho thiết kế chi tiết • Việc cài đặt một phần mềm hoàn thiện và sau đó chứng minh nó là chính xác là rất khó • Tuy nhiên, sử dụng kỹ thuật hình thứuc trong suốt thiết kế chi tiết có thể giúp: o Việc chứng minh tính chính xác có thể được áp dụng đối với các phần mô đun ...
Nội dung trích xuất từ tài liệu:
Bài giảng Nhập môn Công nghệ phần mềm: Phần 2NHẬP MÔNCÔNG NGHỆ PHẦN MỀMTÀI LIỆUDÀNH CHO SINH VIÊN CÔNG NGHỆ THÔNG TINTRẦN ĐÌNH QUẾNGUYỄN MẠNH HÙNG Chương 8. Pha thiết kế CHƯƠNG 8: PHA THIẾT KẾ8.1 TỔNG QUAN VỀ PHA THIẾT KẾ8.1.1 Dữ liệu và các hành động • Hai khía cạnh của một sản phẩm phần mềm o Những hành động thực hiện trên dữ liệu o Dữ liệu mà các hành động thao tác trên dữ liệu đó • Hai cách cơ bản của thiết kế hệ thống phần mềm o Thiết kế hướng hành động o Thiết kế hướng dữ liệu • Cách thứ ba o Các phương pháp lai o Chẳng hạn, thiết kế hướng đối tượng8.1.2 Thiết kế và trừu tượng • Các hoạt động thiết kế cổ điển o Thiết kế kiến trúc o Thiết kế chi tiết o Kiểm thử thiết kế • Thiết kế kiến trúc o Đầu vào: Những đặc tả o Đầu ra: Sự phân nhỏ thành các mô đun • Thiết kế chi tiết o Mỗi mô đun được thiết kế Các thuật toán đặc trưng, các cấu trúc dữ liệu 119 Chương 8: Pha thiết kế8.1.3 Thiết kế • Tổng kết luồng công việc thiết kế: o Các tài liệu luồng công việc thiết kế được lặp và tích hợp đến khi người lập trình có thể sử dụng được chúng • Các quyết định bao gồm: o Ngôn ngữ lập trình o Sử dụng lại o Tính khả chuyển • Ý tưởng của việc phân tách luồng công việc lớp thành những luồng công việc nhỏ độc lập (các gói) được thực hiện ở luồng công việc phân tích • Mục tiêu là chia nhỏ luồng công việc cài đặt thành những phần có thể quản lý được o Các hệ thống con • Tại sao phần mềm được chia nhỏ thành các hệ thống con: o Dễ dàng để cài đặt một số hệ thống con hơn là một hệ thống lớn o Nếu các hệ thống con độc lập với nhau thì chúng có thể được cài đặt bởi các đội lập trình khác nhau cùng một lúc Khi đó toàn bộ sản phẩm phần mềm được chuyển giao sớm • Kiến trúc của sản phẩm phần mềm bao gồm: o Các thành phần khác nhau o Cách chúng ăn khớp với nhau o Phân chia các thành phần vào các hệ thống con • Công việc của thiết kế kiến trúc được chuyên môn hóa o Nó được thực hiện bởi các kiến trúc sư phần mềm • Kiến trúc sư (architect)cần có sự cân bằng về: o Mỗi sản phẩm phần mềm phải đáp ứng các yêu cầu chức năng của chúng (các use case) 120 Chương 8: Pha thiết kế o Mỗi sản phẩm phần mềm cũng phải đáp ứng các yêu cầu phi chức năng, bao gồm: Khả chuyển, đáng tin, mạnh mẽ, bảo trì và bảo mật o Mỗi sản phẩm phần mềm phải thực hiện tất cả những yêu cầu này trong ràng buộc chi phí và thời gian • Kiến trúc sư phải giúp khác hàng bằng cách sắp xếp những cân bằng này. • Thường không thể đáp ứng tất cả các yêu cầu chức năng và phi chức năng trong ràng buộc về chi phí và thời gian o Có một vài sự sắp xếp được thực hiện • Khách hàng phải o Giảm bớt một số yêu cầu; o Tăng chi phíe; và /hoặc o Thay đổi thời gian chuyển giao • Kiến trúc của sản phẩm phần mềm là quan trong o Luồng công việc xác định yêu cầu có thể được sửa lại (fix) trong suốt luồng phân tích o Luồng công việc phân tích có thể được sửa lại trong suốt luồng công việc thiết kế o Luồng công việc thiết kế có thể được sửa lại trong suốt luồng công viẹc cài đặt • Nhưng không có cách để phục hồi từ kiến trúc gần tốt nhất o Kiến trúc phải được thiết kế lại ngay lập tức8.1.4 Kiểm thử trong pha thiết kế • Rà soát thiết kế phải được thực hiện o Thiết kế phải phản ánh chính xác đặc tả o Chính thiết kế phải chính xác • Kiểm tra kỹ lưỡng hướng giao tác (Transaction-driven inspections) o Cần thiết cho các phần mềm hướng giao tác 121 Chương 8: Pha thiết kế o Tuy nhiên, những kiểm tra hướng giao tác là chưa đủ nên những kiểm tra hướng đặc tả cũng được yêu cầu8.1.5 Kỹ thuật hình thức cho thiết kế chi tiết • Việc cài đặt một phần mềm hoàn thiện và sau đó chứng minh nó là chính xác là rất khó • Tuy nhiên, sử dụng kỹ thuật hình thứuc trong suốt thiết kế chi tiết có thể giúp: o Việc chứng minh tính chính xác có thể được áp dụng đối với các phần mô đun ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Nhập môn Công nghệ phần mềm Nhập môn Công nghệ phần mềm Pha thiết kế Kỹ thuật hình thức cho thiết kế chi tiết Kỹ thuật thiết kế hệ thống thời gian thực Kiểm thử pha cài đặtTài liệu có liên quan:
-
Lecture Introduction to software engineering - Week 3: Project management
68 trang 215 0 0 -
Bài giảng Nhập môn Công nghệ phần mềm: Giới thiệu tổng quan về nội dung học phần - TS. Trần Ngọc Bảo
32 trang 100 0 0 -
Báo cáo đồ án: Nhập môn công nghệ phần mềm - Tìm hiểu các quy trình phát triển phần mềm
18 trang 78 0 0 -
Bài giảng Nhập môn công nghệ phần mềm: Chương 7 - Nguyễn Thanh Bình
77 trang 60 0 0 -
Bài giảng Nhập môn công nghệ phần mềm: Chương 3 - Nguyễn Thanh Bình
20 trang 54 0 0 -
Bài giảng Công nghệ phần mềm: Phần 6 - Vũ Thị Hương Giang
15 trang 50 0 0 -
74 trang 42 0 0
-
Bài giảng Công nghệ phần mềm: Phần 1 - Vũ Thị Hương Giang
52 trang 41 0 0 -
Lecture Introduction to software engineering - Week 1: Course introduction
11 trang 40 0 0 -
Bài giảng Nhập môn công nghệ phần mềm: Giới thiệu môn học - Nguyễn Thanh Bình
2 trang 40 0 0