Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
834,5 KB
Nội dung
Công nghệ phần mềm Các quy trình phần mềm Nội dung • • • • • • Các mô hình quy trình phần mềm tổng quát Process iteration Các hoạt động chung quy trình Agile process Rational Unified Process CASE – Computer-aided software engineering Quy trình phần mềm • Quy trình phần mềm (software process) tập hoạt động cần thiết để phát triển hệ thống phần mềm: – Đặc tả - Specification; – Thiết kế - Design; – Thẩm định - Validation; – Tiến hóa - Evolution • Một mô hình quy trình phần mềm biểu diễn trừu tượng quy trình – Một mô tả quy trình từ góc độ Các mô hình quy trình phần mềm tổng quát • Mô hình thác nước – The waterfall model – Tách biệt pha đặc tả phát triển • Phát triển tiến hóa – Evolutionary development – Các hoạt động đặc tả, phát triển thẩm định xen kẽ • CNPM dựa thành phần – Component-based SE – Hệ thống lắp ráp từ thành phần sẵn có • Có nhiều biến thể mô hình (kết hợp mô hình khác nhau) – v.d hoạt động phát triển dùng quy trình kiểu thác nước hoạt động đặc tả làm mịn qua nhiều bước đạt thiết kế cài đặt Mô hình thác nước Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance Các pha mô hình thác nước • • • • • Phân tích định nghĩa yêu cầu Thiết kế hệ thống phần mềm Cài đặt kiểm thử đơn vị Tích hợp kiểm thử hệ thống Vận hành bảo trì Nhược điểm mô hình thác nước khó khăn việc sửa đổi sau quy trình vào guồng Pha phải hoàn tất trước bước vào pha Các vấn đề mô hình thác nước • Khó đáp ứng việc khách hàng thay đổi yêu cầu – việc phân dự án thành giai đoạn tách biệt • Chỉ thích hợp yêu cầu hiểu rõ có thay đổi quy trình phát triển – Ít hệ thống doanh nghiệp có yêu cầu ổn định thay đổi theo thời gian • Chủ yếu dùng cho dự án hệ thống lớn, hệ thống phát triển địa điểm khác Phát triển tiến hóa • Phát triển thăm dò (exploratory development) – Mục đích làm việc với khách hàng bước phát triển (evolve) từ đặc tả sơ lược ban đầu tới hệ thống sản phẩm cuối • nên yêu cầu hiểu rõ bổ sung tính khách hàng đề xuất • Các phiên thử nghiệm dùng tạm (throw-away prototyping) – Mục đích để hiểu yêu cầu hệ thống • nên yêu cầu không hiểu rõ để làm rõ đâu thực yêu cầu Phát triển tiến hóa Các hoạt động song song Mô tả sơ lược outline description Specification Initial version Development Intermediate Intermediate Intermediate version version version Validation Final version Phát triển tiến hóa • Vấn đề – Tính quy trình rõ ràng; – Các hệ thống thường cấu trúc tồi; – Đòi hỏi kỹ đặc biệt • ví dụ kĩ dùng ngôn ngữ cho việc xây dựng cấp tốc phiên thử nghiệm (rapid prototyping) • Ứng dụng – cho hệ thống kích thước nhỏ trung bình; – Cho số phần hệ thống lớn (chẳng hạn giao diện người dùng); – cho hệ thống dùng thời gian ngắn 10 Phát triển kiểu xoắn ốc • Quy trình biểu diễn dạng xoắn ốc thay chuỗi hoạt động với bước quay lui • Mỗi vòng đường xoắn ốc đại diện cho pha quy trình • Không có pha cố định pha đặc tả hay pha thiết kế - vòng xoắn lựa chọn tùy theo nhu cầu • Các rủi ro đánh giá cách tường minh giải suốt quy trình 17 Mô hình xoắn ốc Xác định mục tiêu, lựa chọn khác, ràng buộc Đánh giá lựa chọn, xác định giải rủi ro REVIE W Requirements plan Life-cycle plan Lập kế hoạch pha Developme nt plan Integration and Test plan phân tích rủi ro phân tích rủi ro phân Operation tích rủi al ro Prototypeprototype phân Prototype tích rủi ro Prototype Simulation, models, Concept benchmarks of W/S Operatiorequiremen Produc n Detaile ts t d Requireme design design nt Cod validation Test Unit e design test Integrati Acceptanc on test e Servic test e Phát triển, kiểm định sản phẩm mức 18 Các phân khu mô hình xoắn ốc • Đặt mục tiêu – xác định mục tiêu cụ thể pha • Đánh giá giảm rủi ro – đánh giá rủi ro xếp hoạt động để giảm rủi ro yếu • Phát triển thẩm định – Chọn mô hình phát triển cho hệ thống, mô hình tổng quát • Lập kế hoạch – Review dự án lập kế hoạch cho pha đường xoắn ốc 19 Các hoạt động chung quy trình Đặc tả Thiết kế cài đặt Thẩm định Tiến hóa 20 Đặc tả yêu cầu phần mềm • Quy trình thiết lập danh sách dịch vụ yêu cầu ràng buộc hoạt động hệ thống việc phát triển hệ thống • Quy trình kĩ nghệ yêu cầu – Nghiên cứu tính khả thi – Feasibility study; – Thu thập phân tích yêu cầu – Requirements elicitation and analysis; – Đặc tả yêu cầu – Requirements specification; – Thẩm định yêu cầu – Requirements validation 21 Quy trình kĩ nghệ yêu cầu Feasibility study Requirements elicitation & analysis Requirements specification Feasibility report Requirements validation System models User and system requirements Requirements documents 22 Thiết kế cài đặt phần mềm • Quy trình biến đổi từ đặc tả hệ thống thành hệ thống chạy • Thiết kế phần mềm – Thiết kế cấu trúc phần mềm mà thực hóa đặc tả; • Cài đặt – Dịch cấu trúc thành chương trình chạy được; • Các hoạt động thiết kế cài đặt có quan hệ chặt chẽ với xen kẽ 23 Các hoạt động quy trình thiết kế • • • • • • Thiết kế kiến trúc – Architectural design Đặc tả trừu tượng – Abstract specification Thiết kế giao diện – Interface design Thiết kế thành phần – Component design Thiết kế cấu trúc liệu – Data structure design Thiết kế thuật toán – Algorithm design 24 Quy trình thiết kế phần mềm Requ ir em en t s specifi ca t ion Desi gn act vi ti ies Arch it ectal ur design Abstr act speci fi ca t ion In t er face design Com pon en t design Dat a st ru cteu r design Al gorit h m design Syst em arch it ectu er Soft ware speci fi ca t ion In t er face specifi ca t ion Com pon en t specifi ca t ion Dat a st ru cteu r specifi ca t ion Al gorit h m specifi ca t ion Desi gn odu pr cts 25 Lập trình tìm lỗi • hoạt động dịch thiết kế thành chương trình loại bỏ lỗi chương trình • lập trình hoạt động cá nhân – quy trình lập trình tổng quát • quy trình tìm lỗi (debugging process), lập trình viên thực việc kiểm thử chương trình để phát lỗi chương trình loại bỏ lỗi 26 Thẩm định phần mềm • Kiểm định (verification) thẩm định (validation) nhằm chứng tỏ hệ thống – tuân theo đặc tả nó, – thỏa mãn yêu cầu khách hàng hệ thống Verification Validation • bao gồm quy trình checking review kiểm thử hệ thống (system testing) – Việc kiểm thử bao gồm việc chạy hệ thống với test case dẫn xuất từ đặc tả 27 Tiến hóa hệ thống Define system requirements Assess existing systems Existing systems Propose system changes Modify systems New system 28 Tiến hóa phần mềm • Về mặt cố hữu, phần mềm có tính mềm dẻo thay đổi • Các yêu cầu thay đổi biến đổi hoàn cảnh doanh nghiệp, phần mềm hỗ trợ doanh nghiệp phải tiến hóa thay đổi theo • Tuy có ranh giới phát triển tiến hóa (bảo trì), ranh giới ngày ý nghĩa ngày hệ thống hoàn toàn 29 Key points • Tiến trình phần mềm tập hoạt động thực để sản xuất tiến hoá phần mềm • Các hoạt động chung tiến trình phần mềm đặc tả yêu cầu, phát triển, thẩm định tiến hoá phần mềm • Các mô hình tiến trình mô tả việc tổ chức hoạt động tiến trình phần mềm 30 Key points • Kĩ nghệ yêu cầu (Requirements engineering) quy trình phát triển đặc tả phần mềm (software specification) • Hoạt động thiết kế cài đặt biến đổi đặc tả thành chương trình chạy • Hoạt động thẩm định (validation) kiểm tra xem hệ thống có thỏa mãn đặc tả nhu cầu người dùng hay không • Tiến hóa (evolution) hoạt động sửa hệ thống sau đưa sử dụng 31