Bài giảng Phát triển vận hành và bảo trì phần mềm - Chương 4
lượt xem 32
download
Mục tiêu chương 4 Bảo trì phần mềm thuộc bài giảng Phát triển vận hành và bảo trì phần mềm trình bày các kiến thức cơ bản như: vai trò của việc bảo trì phần mềm, nắm được các vấn đề liên quan đến bảo trì: phân loại, phương pháp, chi phí bảo trì, hiểu được một số quy trình và các chiến lược cải tiến phần mềm, tìm hiểu về tái kỹ nghệ.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Phát triển vận hành và bảo trì phần mềm - Chương 4
- Chương 4 BẢO TRÌ PHẦN MỀM MỤC TIÊU: Hiểu được vai trò của việc bảo trì phần mềm Nắm được các vấn đề liên quan đến bảo trì: phân loại, phương pháp, chi phí bảo trì … Hiểu được một số quy trình và các chiến lược cải tiến phần mềm Tìm hiểu về 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 đề về bảo trì hiện nay 3.5 Các kỹ thuật cho bảo trì 3.6 Ma trận các chủ đề bảo trì p/m và tài liệu tham khảo
- 3.1 Giới thiệu 3.1.1 Định nghĩa 3.1.2 Tại sao phải bảo trì 3.1.2 Phân loại bảo trì 3.1.3 Chi phí bảo trì
- 3.1.1 Định nghĩa • Bảo trì là công việc tu sửa, thay đổi phần mềm đã được phát triển (chương trình, dữ liệu, các loại tư liệu đặc tả, . . ) theo những lý do nào đó • Bảo trì thường không bao gồm những thay đổi chính liên quan tới kiến trúc của hệ thống. • Những thay đổi trong hệ thống thường được cài đặt bằng cách: – điều chỉnh những thành phần đang tồn tại và – bổ sung những thành phần mới cho hệ thống.
- 3.1.2 Tại sao phải bảo trì • Bảo trì là không thể tránh khỏi vì: – Các yêu cầu hệ thống thay đổi khi hệ thống đang được xây dựng => hệ thống được chuyển giao có thể không thoả mãn các yêu cầu của nó. – Hệ thống gắn kết chặt chẽ với môi trường của nó => thay đổi môi trường sẽ thay đổi các yêu cầu của hệ thống. – Các hệ thống phải được bảo trì nếu chúng muốn là những phần hữu ích trong môi trường nghiệp vụ.
- 3.1.2 Tại sao phải bảo trì • Bảo trì là cần thiết – để đảm bảo rằng hệ thống tiếp tục t/mãn các y/cầu người dùng • Bảo trì phải được thực hiện để – Sửa các lỗi – Sửa các yêu cầu và các chỗ hổng thiết kế – Cải tiến thiết kế – Tạo các nâng cấp – Giao tiếp với các hệ thống khác – Chuyển đổi chương trình sang nền tảng p/cứng, p/mềm, … phù hợp
- 3.1.2 Tại sao phải bảo trì • Các khía cạnh chính mà bảo trì tập trung là: – Bảo trì điều khiển toàn bộ các chức năng của hệ thống hàng ngày – Bảo trì điều khiển toàn bộ các sửa đổi hệ thống – Hoàn thiện các chức năng có thể chấp nhận đang tồn tại – Ngăn chặn sự thực hiện của hệ thống từ mức thấp đến các mức có thể được chấp nhận => P/mềm phải được cải tiến và bảo trì
- 3.1.3 Phân loại bảo trì Chia làm 4 loại: – Bảo trì để tu chỉnh – Bảo trì để thích nghi – Bảo trì để hoàn thiện – Bảo trì để phòng ngừa Bảo trì tu chỉnh và phòng ngừa được xếp vào loại bảo trì sửa chữa Bảo trì thích nghi và 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 những khiếm khuyết có trong phần mềm • Một số nguyên nhân điển hình – Kỹ sư phần mềm và khách hiểu nhầm nhau – Lỗi tiềm ẩn của phần mềm do sơ ý của lập trình hoặc khi kiểm thử chưa bao quát hết – Vấn đề tính năng của phần mềm: không đáp ứng được yêu cầu về bộ nhớ, tệp, . . . thiết kế sai, biên soạn sai . . . – Thiếu chuẩn hóa trong 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 của môi trường bên ngoài nhằm duy trì, thích nghi và quản lý phần mềm theo vòng đời của nó • Những nguyên nhân chính: – Thay đổi về phần cứng (ngoại vi, máy chủ,. . ) – Thay đổi về phần mềm (môi trường): đổi OS – Thay đổi cấu trúc tệp hoặc mở rộng CSDL
- c) Bảo trì để hoàn thiện • Là việc tu chỉnh phần mềm theo các yêu cầu ngày càng hoàn thiện hơn, đầy đủ hơn, hợp lý hơn • Những nguyên nhân chính: – Mở rộng thêm chức năng mới cho hệ thống – Cải tiến quản lý kéo theo cải tiến tài liệu vận hành và trình tự công việc – Thay đổi người dùng hoặc thay đổi thao tác • Còn gọi là tái kỹ nghệ (re-engineering), với mục đích đưa ra một thiết kế của cùng một chức năng nhưng có chất lượng cao 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 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ố ảnh hưởng đến chi phí bảo trì • Sự ổn định của đội dự án: chi phí bảo trì sẽ giảm nếu nhân viên trong đội dự án không thay đổi. • Những trách nhiệm đã cam kết: người xây dựng hệ thống có thể không cam kết trách nhiệm bảo trì cho nên không có gì để bắt buộc họ phải thiết kế lại cho các thay đổi trong tương lai. • Kỹ năng của nhân viên: nhân viên bảo trì thường không có kinh nghiệm và hiểu biết về miền ứng dụng của 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ự thay đổ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 cấu trúc dữ liệu – Kích thước của đối tượng, phương thức và mô-đun. • Ngoài ra, ta có thể sử dụng các phép đo quy trình để đánh giá khả năng bảo trì của hệ thống. – Số lượng các yêu cầu cần bảo trì sửa lỗi. – Thời gian trung bình cần thiết để phân tích ảnh hưởng – Thời gian trung bình để cài đặt một yêu cầu thay đổi. – Số lượng các yêu cầu cần giải quyết.
- Dự đoán thay đổi – Dự đoán số lượng các thay đổi có thể xảy ra và tìm hiểu mối quan hệ giữa hệ thống và môi trường của nó.
- Làm thế nào để giảm độ phức tạp bảo trì • Sử dụng các kỹ thuật kiểm thử tốt hơn trong suốt quá trình phát triển • Tạo ra các tài liệu tốt hơn, tuân theo các chuẩn và các quy ước • Dự đoán các thay đổi trong tương lai trong suốt giai đoạn xác định yêu cầu – Thiết kế hướng đến sự mở rộng: chi phí bảo trì dòng mã lớn hơn gấp 20 đến 40 so với giai đoạn xd dòng mã đó • Thiết kế cấu trúc hệ thống để không ràng 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 chấp nhận không? – Hệ thống có không mất đi khả năng thích nghi với các thay đổi trong tương lai với một giản đồ và chi phí hợp lý – Hệ thống có thực hiện dựa trên các ràng buộc đã mô tả trước không? – Các chức năng không làm hạn chế tính hữu ích của hệ thống? – Không thể có các hệ thống khác mà làm công việc tương tự nhanh hơn, tốt hơn và rẻ hơn? – Chi phí bảo trì phần cứng không trở nên đắt đến nỗi mà phần cứng có thể bị thay thế => Nếu tất cả các trả lời đều là Yes thi ta mới nên tiến hành bảo trì
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ điều hành: Chương 1 - Phạm Đăng Hải
113 p | 382 | 86
-
Bài giảng Phát triển vận hành và bảo trì phần mềm - Chương 1
41 p | 164 | 28
-
Bài giảng Phát triển vận hành và bảo trì phần mềm - Chương 3
52 p | 159 | 28
-
Bài giảng Công nghệ phần mềm: Chương 9 - Nguyễn Thanh Bình
29 p | 107 | 23
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Nguyễn Khắc Quốc
61 p | 143 | 18
-
Bài giảng Phát triển vận hành và bảo trì phần mềm - Chương 2
139 p | 102 | 13
-
Bài giảng Phát triển vận hành và bảo trì phần mềm - Chương 5
12 p | 100 | 11
-
Bài giảng Công nghệ phần mềm: Chương 2 - Nguyễn Thanh Bình
18 p | 92 | 9
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 7 - Ngô Chánh Đức
26 p | 112 | 8
-
Bài giảng Tin học đại cương (Phần 1: Tin học căn bản) - Nguyễn Duy Hiệp
296 p | 36 | 8
-
Bài giảng Tin học đại cương: Chương 1 - Nguyễn Duy Hiệp
244 p | 32 | 7
-
Bài giảng Nguyên lý hệ điều hành (handout): Chương 1 - Phạm Đăng Hải
33 p | 50 | 6
-
Bài giảng Phát triển phần mềm mã nguồn mở: Giới thiệu về phần mềm mã nguồn mở - Bùi Minh Quân
39 p | 93 | 5
-
Bài giảng môn Nhập môn điện toán: Chương 3 - TS. Nguyễn Văn Hiệp
27 p | 68 | 5
-
Bài giảng Phát triển hệ thống thông tin quản lý: Hệ thống thông tin quản lý - Nguyễn Anh Hào
41 p | 51 | 3
-
Bài giảng Tin học đại cương: Chương 3 - Lê Minh Thủy
55 p | 58 | 3
-
Xây dựng các bài tập thực hành trên Kit phát triển AT89S52 cho môn Hệ thống nhúng
6 p | 58 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn