Danh mục tài liệu

Bài giảng Công nghệ phần mềm: Tiến trình và mô hình tiến trình phần mềm - PGS. TS. Phạm Ngọc Hùng

Số trang: 27      Loại file: pdf      Dung lượng: 1.37 MB      Lượt xem: 29      Lượt tải: 0    
Xem trước 3 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: Tiến trình và mô hình tiến trình phần mềm cung cấp cho người đọc những kiến thức như: Định nghĩa tiến trình và mô hình tiến trình; Lặp tiến trình; Mô tả các mô hình tiến trình; Các hoạt động chung nhất của mọi tiến trình; Đối phó, kiểm soát sự thay đổi yêu cầu phần mềm. 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: Tiến trình và mô hình tiến trình phần mềm - PGS. TS. Phạm Ngọc Hùng Công nghệ phần mềm Tiến trình và mô hình tiến trình phần mềm Nội dung • Định nghĩa tiến trình và mô hình tiến trình • Lặp tiến trình • Mô tả các mô hình tiến trình – Thác nước, tiến hóa, dựa trên thành phần – Lựa chọn các mô hình • Các hoạt động chung nhất của mọi tiến trình • Đối phó, kiểm soát sự thay đổi yêu cầu phần mềm Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 2 Các khái niệm  Tiến trình (software process): là tập hợp các hoạt động để tạo ra phần mềm – Đặc tả - Specification; – Thiết kế và cài đặt – Design and Implementation; – Kiểm định - Validation; – Cải tiến - Evolution.  Mô hình tiến trình (process model) là thể hiện trừu tượng của tiến trình.  Lặp tiến trình (iteration): lặp lại một tiến trình để đạt tới mục tiêu mong đợi – Kết quả của một lần lặp được sử dụng như điểm bắt đầu của lần lặp tiếp theo. Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 3 Các mô hình tiến trình  Mô hình thác nước – Waterfall – Phân tách các giai đoạn đặc tả và phát triển.  Tiến hóa - Evolutionary development – Đặc tả, phát triển và kiểm định được thực hiện xen kẽ nhau.  Component-based software engineering – Hệ thống được kết hợp từ các thành phần có sẵn.  Có nhiều biến thể của các mô hình Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 4 Waterfall model Định nghĩa yêu cầu Requirements definition Thiết kế System and software design Triển khai và kiểm thử đơn vị Implementation and unit testing Tích hợp và kiểm thử hệ thống Integration and system testing Vận hành và bảo trì Operation and maintenance Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 5 Ưu, nhược điểm của mô hình thác nước • Khó đáp ứng khi khách hàng thay đổi yêu cầu. – Ít hệ thống có yêu cầu cố định. • Chậm có phiên bản thực hiện được – Sai sót phát hiện muộn gây tổn thất lớn • Chỉ phù hợp khi yêu cầu được hiểu rõ • Bảo trì thuận lợi – Tài liệu được làm tốt Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 6 Evolutionary development Concurrent activities Specification Initial version Outline Intermediate Intermediate description Development Intermediate version version version Final version Validation Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 7 Evolutionary development • Phát triển thăm dò - Exploratory development – Làm việc với khách hàng và cải tiến hệ thống từng bước • Bắt đầu với những yêu cầu chưa đầy đủ • Thêm những tính năng mới như khách hàng yêu cầu • Lặp lại các bước cho đến khi có phiên bản cuối cùng • Bản mẫu - Throw-away prototyping – Mục tiêu là để hiểu yêu cầu khách hàng Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 8 Evolutionary development • Hạn chế – Thiếu trực quan – Hệ thống thường có cấu trúc nghèo nàn – Đòi hỏi kỹ năng đặc tả • Eg. Rapid prototyping language • Khả năng ứng dụng – Hệ thống có nhiều tương tác, nhỏ và vừa – Cho các phần của hệ lớn (e.g. the user interface) – Cho các hệ có vòng đời ngắn Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 9 Component-based software engineering Thành phần phần mềm (software components) – Thành phần là một đơn vị phần mềm (gói – package hoặc mô đun – module) đóng gói một tập các dịch vụ có liên quan đến nhau. – Mỗi thành phần đều có tên (name), giao diện (interface) và mã (code). Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 10 Component-based software engineering • Component-based software: hệ thống được kết hợp từ các thành phần có sẵn – Reusability – ReplacingBộcomponent môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 11 Component-based software engineering • Dựa trên việc sử dụng lại một cách có hệ thống – Hệ thống được tích hợp từ những thành phần có sẵn. • Các bước – Đặc tả yêu cầu – Phân tích thành phần – Sửa đổi yêu cầu – Thiết kế hệ thống với sử dụng lại – Phát triển và tích hợp – Thẩm định sản phẩm Bộ môn Công nghệ phần mềm - Kho ...