Bài giảng phát triển vận hành và bảo trì phần mềm chương 4

74 270 1
Bài giảng phát triển vận hành và bảo trì phần mềm   chương 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương BẢO TRÌ PHẦN MỀM MỤC TIÊU:  Hiểu vai trò việc bảo trì phần mềm  Nắm vấn đề liên quan đến bảo trì: phân loại, phương pháp, chi phí bảo trì …  Hiểu số quy trình chiến lược cải tiến phần mềm  Tìm hiểu tái kỹ nghệ NỘI DUNG CHÍNH 3.1 Giới thiệu 3.2 Tiến trình bảo trì 3.3 Một số hiệu ứng lề 3.4 Những vấn đề bảo trì 3.5 Các kỹ thuật cho bảo trì 3.6 Ma trận chủ đề bảo trì p/m tài liệu tham khảo 3.1 Giới thiệu 3.1.1 3.1.2 3.1.2 3.1.3 Định nghĩa Tại phải bảo trì Phân loại bảo trì Chi phí bảo trì 3.1.1 Định nghĩa • Bảo trì công việc tu sửa, thay đổi phần mềm phát triển (chương trình, liệu, loại tư liệu đặc tả, ) theo lý • Bảo trì thường không bao gồm thay đổi liên quan tới kiến trúc hệ thống • Những thay đổi hệ thống thường cài đặt cách: – điều chỉnh thành phần tồn – bổ sung thành phần cho hệ thống 3.1.2 Tại phải bảo trì • Bảo trì tránh khỏi vì: – Các yêu cầu hệ thống thay đổi hệ thống xây dựng => hệ thống chuyển giao không thoả mãn yêu cầu – Hệ thống gắn kết chặt chẽ với môi trường => thay đổi môi trường thay đổi yêu cầu hệ thống – Các hệ thống phải bảo trì chúng muốn phần hữu ích môi trường nghiệp vụ 3.1.2 Tại phải bảo trì • Bảo trì cần thiết – để đảm bảo hệ thống tiếp tục t/mãn y/cầu người dùng • Bảo trì phải thực để – – – – – – Sửa lỗi Sửa yêu cầu chỗ hổng thiết kế Cải tiến thiết kế Tạo nâng cấp Giao tiếp với hệ thống khác Chuyển đổi chương trình sang tảng p/cứng, p/mềm, … phù hợp 3.1.2 Tại phải bảo trì • Các khía cạnh mà bảo trì tập trung là: – Bảo trì điều khiển toàn chức hệ thống hàng ngày – Bảo trì điều khiển toàn sửa đổi hệ thống – Hoàn thiện chức chấp nhận tồn – Ngăn chặn thực hệ thống từ mức thấp đến mức chấp nhận => P/mềm phải cải tiến bảo trì 3.1.3 Phân loại bảo trì Chia làm loại: – Bảo – Bảo – Bảo – Bảo trì trì trì trì để tu chỉnh để thích nghi để hoàn thiện để phòng ngừa Bảo trì tu chỉnh phòng ngừa xếp vào loại bảo trì sửa chữa Bảo trì thích nghi hoàn thiện thuộc loại nâng cấp a) Bảo trì để tu chỉnh • Là bảo trì khắc phục khiếm khuyết có phần mềm • Một số nguyên nhân điển hình – Kỹ sư phần mềm khách hiểu nhầm – Lỗi tiềm ẩn phần mềm sơ ý lập trình kiểm thử chưa bao quát hết – Vấn đề tính phần mềm: không đáp ứng yêu cầu nhớ, tệp, thiết kế sai, biên soạn sai – Thiếu chuẩn hóa phát triển phần mềm • Các bước thực hiện: dò lại thiết kế để tu sửa b) Bảo trì để thích nghi • Là tu chỉnh phần mềm theo thay đổi môi trường bên nhằm trì, thích nghi quản lý phần mềm theo vòng đời • Những nguyên nhân chính: – Thay đổi phần cứng (ngoại vi, máy chủ, ) – Thay đổi phần mềm (môi trường): đổi OS – Thay đổi cấu trúc tệp mở rộng CSDL 3.5.2 Tái kỹ nghệ hệ thống (System re-engineering ) • Tái kỹ nghệ hệ thống kỹ thuật cấu trúc lại viết lại phần toàn hệ thống thừa kế mà không thay đổi chức • Tái kỹ nghệ giúp – giảm rủi ro • trình xây dựng phần mềm rủi ro xảy cao – giảm chi phí – Tái kỹ nghệ ngày sử dụng kỹ nghệ ngược để cải thiện cấu trúc chương trình hướng đối tượng 3.5.3 Kỹ nghệ ngược (reverse engineering ) • Mô hình sau giúp phân biệt forward reverse-engineering: 3.5.3 Kỹ nghệ ngược (reverse engineering ) • Là tiến trình phân tích hệ thống (mã nguồn) – để xác định thành phần hệ thống – mối quan hệ bên chúng – để tạo lại biểu diễn hệ thống theo • dạng khác • mức độ trừu tương cao • Kỹ nghệ ngược chủ động – Không thay đổi hệ thống – Ví dụ đơn giản hoạt động kỹ nghệ ngược: tạo đồ thị luồng điều khiển từ mã nguồn 3.5.3 Kỹ nghệ ngược • Quy trình kỹ nghệ ngược bao gồm hoạt động sau: – Dịch mã nguồn: chuyển mã lệnh thành ngôn ngữ – Kỹ nghệ ngược: phân tích chương trình để tìm hiểu – Cải thiện cấu trúc chương trình – Mô-đun hoá chương trình: tổ chức lại cấu trúc chương trình – Tái kỹ nghệ liệu: thu dọn cấu trúc, sd lại liệu hệ thống 3.5.3 Kỹ nghệ ngược 3.5.3 Kỹ nghệ ngược • Các yếu tố ảnh hưởng tới chi phí kỹ nghệ ngược: – Chất lượng hệ thống tái kỹ nghệ – Các công cụ hỗ trợ kỹ nghệ ngược – Mức mở rộng cần thiết việc chuyển đổi liệu – Những nhân viên có kỹ tái kỹ nghệ hệ thống kỹ nghệ ngược 3.5.4 Phân tích ảnh hưởng • nhận biết tất hệ thống thành phần hệ thống bị ảnh hưởng y/cầu thay đổi • Phân tích ảnh hưởng cần thiết để giảm rủi ro • p/m TK cho khả bảo trì thuận lợi cho việc phân tích ảnh hưởng • Ước lượng tài nguyên cần thiết để hoàn thành việc thay đổi – Thực sau y/cầu thay đổi được đưa vào tiến trình lý cấu hình 3.5.4 Phân tích ảnh hưởng • Arthur [Art 88] phát biểu đối tượng phân tích ảnh hưởng là: – Phạm vi thay đổi: • Lên kế hoạch • Cài đặt thay đổi – Ước lượng xác tài nguyên • Cần thực cài đặt thay đổi – Phân tích chi phí lợi nhuận việc thay đổi – Sự giao tiếp với yêu cầu khác, độ phức tạp thay đổi cho 3.6 Ma trận chủ đề bảo trì tài liệu tham khảo 3.6 Ma trận chủ đề bảo trì tài liệu tham khảo 3.6 Ma trận chủ đề bảo trì tài liệu tham khảo Tài liệu tham khảo Tài liệu tham khảo Tài liệu tham khảo HẾT CHƯƠNG [...]... trì 3.2 Tiến trình bảo trì 3.2.1 Cải thiện phần mềm 3.2.2 Mô hình tiến trình bảo trì 3.2.3 Các hoạt động bảo trì 3.2 .4 Tiến trình bảo trì khẩn cấp 3.2.1 Cải thiện phần mềm • Để cải thiện hệ thống hiện có, người ta đã đề xuất 4 chiến lược cơ bản: – Tách hệ thống và chỉnh sửa các quy trình nghiệp vụ – Tiếp tục bảo trì hệ thống – Biến đổi hệ thống bằng cách tái kỹ nghệ để nâng cấp khả năng bảo trì của nó... họ bị hạn chế • Tuổi thọ và cấu trúc chương trình: khi tuổi thọ và cấu trúc chương trình bị xuống cấp thì chúng càng trở lên khó hiểu và thay đổi nhiều Dự đoán bảo trì • Dự đoán bảo trì: – liên quan tới việc đánh giá những phần nào của hệ thống có thể gây ra lỗi và cần bao nhiêu chi phí để bảo trì • Khả năng chịu được sự thay đổi – phụ thuộc vào khả năng bảo trì của các thành phần bị ảnh hưởng bởi sự... đổi đó • Thực hiện các thay đổi – có thể làm hỏng hệ thống và giảm khả năng bảo trì của nó • Chi phí bảo trì – phụ thuộc vào số lượng các thay đổi và – chi phí thay đổi phụ thuộc vào khả năng bảo trì Dự đoán bảo trì • Có thể dự đoán bảo trì thông qua việc đánh giá độ phức tạp của các thành phần hệ thống • Độ phức tạp của thành phần phụ thuộc vào: – Độ phức tạp của cấu trúc điều khiển – Độ phức tạp của... trì • Chi phí bảo trì thường lớn hơn chi phí xây dựng gấp từ 2 đến 100 lần phụ thuộc vào từng ứng dụng: – Chi phí bảo trì bị ảnh hưởng bởi cả các yếu tố kỹ thuật và phi kỹ thuật – Nếu bảo trì càng nhiều, sẽ càng làm thay đổi cấu trúc phần mềm và do đó sẽ làm cho việc bảo trì càng trở lên khó khăn hơn – Phần mềm có tuổi thọ càng cao thì cần chi phí bảo trì càng cao Phân bổ chi phí bảo trì Các yếu tố... hơn d) Bảo trì để phòng ngừa • Mục đích: – sửa đổi p/m để thích hợp với yêu cầu thay đổi sẽ có của người dùng • Là công việc tu chỉnh chương trình có tính đến tương lai của phần mềm đó sẽ mở rộng và thay đổi như thế nào • Thực ra trong khi thiết kế phần mềm đã phải tính đến tính mở rộng của nó, nên thực tế ít khi ta gặp bảo trì phòng ngừa nếu như phần mềm được thiết kế tốt 3.1.3 Chi phí bảo trì • Chi... Cải thiện phần mềm • Đánh giá chất lượng hệ thống thông qua: – Quy trình nghiệp vụ: quy trình nghiệp vụ đã hỗ trợ cho các mục tiêu nghiệp vụ như thế nào? – Môi trường hệ thống: môi trường hệ thống có hiệu quả như thế nào và chi phí để bảo trì nó – Khả năng ứng dụng: chất lượng của ứng dụng? 3.2 2 Mô hình tiến trình bảo trì • Mô hình tiến trình bảo trì theo IEEE Phân tích ảnh hưởng Phân loại và nhận dạng... Cài đặt Phát hành Kiểm thử Chấp thuận Kiểm thử Hệ thống 3.2.2 Mô hình tiến trình bảo trì • Các hoạt động của tiến trình bảo trì theo ISO/IEC – tương tự như IEEE, – Chúng được kết hợp theo trình tự như sau: Cài đặt tiến trình Phân tích vấn đề sửa đổi Bảo trì chấp thuận Cài đặt sửa đổi Nghỉ hưu Chuyển dịch Phân tích vấn đề sửa đổi • Thực hiện phân tích ban đầu – Xác minh vấn đề cần sửa đổi • Phát triển. .. • Phát triển các kế hoạch bảo trì • Thiết lập các thủ tục cho việc sửa đổi các y/cầu • Cài đặt các thủ tục và tiến trình quản lý cấu hình Bảo trì chấp thuận • Kiểm tra lại với dữ liệu người dùng • Đảm bảo hệ thống người dùng chấp thuận Chuyển dịch • Đảm bảo rằng sự chuyển dịch là phù hợp với chuẩn • Phát triển một kế hoạch chuyển dịch • Thông báo cho người dùng về các kế hoạch chuyển dịch • Đảm bảo. .. hưu • Phát triển một kế hoạch nghỉ hưu, • Thông báo cho người dùng về các kế hoạch nghỉ hưu • Đảm bảo rằng dữ liệu cũ có thể truy cập 3.2.3 Các hoạt động bảo trì • Tương tự như các hoạt động phát triển p /mềm – Phân tích, thiết kế, mã hóa, kiểm thử và tư liệu hóa (theo mô hình tiến trình trên) • Các hoạt động khác: – Hiểu mã nguồn – Quản lý cấu hình – Đảm bảo chất lượng hệ thống – Lập kế hoạch bảo trì. .. buộc với các thay đổi trong tương lai • Tách ra các thành phần mà có thể thay đổi trong tương lai • Giành sự cố gắng hơn trong quá trình thiết kế ban đầu để có được các yêu cầu đúng của người sử dụng Làm thế nào để giảm độ phức tạp bảo trì • Khi quyết định lựa chọn hoạt động bảo trì hay thay thế phần mềm, ta cần trả lời các câu hỏi sau: – Chí phí bảo trì không quá cao? – Tính tin cậy của hệ thống có được ... Tại phải bảo trì Phân loại bảo trì Chi phí bảo trì 3.1.1 Định nghĩa • Bảo trì công việc tu sửa, thay đổi phần mềm phát triển (chương trình, liệu, loại tư liệu đặc tả, ) theo lý • Bảo trì thường... chấp nhận => P /mềm phải cải tiến bảo trì 3.1.3 Phân loại bảo trì Chia làm loại: – Bảo – Bảo – Bảo – Bảo trì trì trì trì để tu chỉnh để thích nghi để hoàn thiện để phòng ngừa Bảo trì tu chỉnh phòng... phí bảo trì phần cứng không trở nên đắt mà phần cứng bị thay => Nếu tất trả lời Yes thi ta nên tiến hành bảo trì 3.2 Tiến trình bảo trì 3.2.1 Cải thiện phần mềm 3.2.2 Mô hình tiến trình bảo trì

Ngày đăng: 03/12/2015, 16:24

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan