Nội dung

BẢO TRÌ PHẦN MỀM (BTPM)

 Giới thiệu  Framework (khung làm việc) của BTPM

PHẦN I – GIỚI THIỆU TỔNG QUAN VỀ BẢO TRÌ PHẦN MỀM

2

Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Nội dung

Một số thuật ngữ cơ bản

 Giới thiệu

 Một số thuật ngữ cơ bản  So sánh giữa hoạt động bảo trì và hoạt động phát triển

mới

 Phần mềm (Software) Phần mềm bao gồm:  Mã nguồn và mã đối tượng;  Tài liệu như phân tích yêu cầu, đặc tả, thiết kế;  Các thủ tục được sử dụng để thiết lập và điều hành hệ

thống phần mềm.

 Sự cần thiết của bảo trì phần mềm  Các loại thay đổi phần mềm  Các loại bảo trì phần mềm

1

3 4 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Một số thuật ngữ cơ bản

Một số thuật ngữ cơ bản

 Phần mềm

 Sự tiến hóa của phần mềm (Software Evolution) là

quá trình thay đổi liên tục từ một trạng thái thấp hơn, đơn giản hơn hay tệ hơn sang một trạng thái cao hơn, phức tạp hơn hay tốt hơn.

Các luật về sự tiến hóa

 Luật phát triển liên tục  Luật chất lượng suy thoái  Luật các hệ thống thông tin

phản hồi

 Luật thay đổi liên tục  Luật phức tạp gia tăng  Luật tự điều chỉnh  Luật bảo toàn sự ổn định tổ chức  Luật bảo toàn tính quen thuộc

5 6 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Một số thuật ngữ cơ bản

Một số thuật ngữ cơ bản

 Bảo trì phần mềm (Software Maintenace)

 Bảo trì (Maintenance) là hoạt động giữ cho một

thực thể ở trạng thái hiện tại được chỉnh sửa, hiệu quả, và hợp lệ; giữ cho nó không bị sai hay suy thoái.

 [IEEE 1219] Bảo trì phần mềm là sự sửa đổi một sản phẩm phần mềm sau khi phát hành nhằm hiệu chỉnh lỗi, cải thiện sự thực thi hay các đặc tính khác, hay làm cho sản phẩm thích ứng với môi trường bị thay đổi.

 [ISO/IEC 12207] Bảo trì phần mềm là sản phẩm phần mềm phải trải qua sự sửa đổi về mã lệnh và các tài liệu liên quan do có vấn đề hay có nhu cầu cải tiến. Mục đích là sửa đổi sản phẩm phần mềm hiện có mà vẫn giữ được tính toàn vẹn của nó.

2

7 8 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Một số thuật ngữ cơ bản

Một số thuật ngữ cơ bản

 Bảo trì phần mềm (Software Maintenace)

Một số ký hiệu viết tắt

 IEEE: The Institute of Electrical and Electronics

Engineers

 ISO: The International Organization for

Standardization

 IEC: The International Electrotechnical Commission

 [ISO/IEC/IEEE 14764] bảo trì phần mềm là toàn bộ các hoạt động được cần để cung cấp sự hỗ trợ hiệu quả về chi phí cho phần mềm. Các hoạt động bảo trì được thực hiện trong suốt giai đoạn tiền phát hành phần mềm cũng như trong suốt giai đoạn sau phát hành, khi sản phẩm đã được đưa vào vận hành.

9 10 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

So sánh giữa các hoạt động bảo trì và phát triển mới

So sánh giữa các hoạt động bảo trì và phát triển mới

 Bảo trì được xem như sự tiếp tục của phát triển mới.

Phân tích yêu cầu & Định nghĩa

Thiết kế

 Phát triển mới, với các ràng buộc xác định, được thực hiện từ đầu trong khi Bảo trì phải thực hiện với các thông số và ràng buộc của hệ thống hiện có.

Cài đặt

Kiểm thử

 Phát triển phần mềm đòi hỏi phải nhìn lại một cách có kiểm soát và cẩn thận trong khi Bảo trì không những nhìn lại sản phẩm phát triển mà còn nhìn tới.

Triển khai

Bảo trì

3

12 11 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Sự cần thiết của BTPM

So sánh giữa các hoạt động bảo trì và phát triển mới

 So sánh chi phí giữa bảo trì và phát triển mới

 Bảo trì phần mềm được cần đến vì:  Cung cấp tính liên tục của dịch vụ  Hỗ trợ các nâng cấp bắt buộc  Hỗ trợ các yêu cầu cải tiến của người sử dụng  Làm thuận tiện công việc bảo trì tương lai

13 14 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các loại thay đổi PM

Các loại thay đổi PM

 Thay đổi hiệu chỉnh (Corrective Change)

 Thay đổi thích ứng (Adaptive Change)

 Là sự thay đổi được bắt nguồn từ những nhược điểm

trong phần mềm.

 Là sự thay đổi được phát sinh từ nhu cầu phù hợp với các thay đổi trong môi trường của hệ thống phần mềm.

 Môi trường trong ngữ cảnh này nói đến toàn bộ các

 Một nhược điểm có thể là kết quả của các lỗi thiết kế, lỗi luận lý và lỗi lập trình . Tất cả những lỗi này, đôi khi còn được gọi là các lỗi “còn dư” (residual) hay bug.

điều kiện và các ảnh hưởng từ bên ngoài tác động vào hệ thống. Một thay đổi của toàn bộ hay một phần của môi trường này đảm bảo là có sự sửa đổi tương ứng của phần mềm.

4

15 16 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các loại thay đổi PM

Các loại thay đổi PM

 Thay đổi hoàn thiện (Perfective Change)

 Thay đổi dự phòng (Preventive Change)

 Là sự thay đổi được thực hiện để mở rộng những yêu

 Là sự thay đổi được thực hiện để ngăn ngừa sự làm

cầu hiện tại của hệ thống.

việc sai chức năng hay cải thiện tính có thể bảo trì của phần mềm.

 Sự mở rộng các yêu cầu có thể ở dạng như: cải tiến chức năng của hệ thống hiện hành hay cải thiện hiệu quả tính toán.

 Thường được đề nghị bởi tổ chức bảo trì với mục đích làm cho chương trình dễ hiểu hơn và vì thế làm cho việc bảo trì trong tương lai dễ dàng hơn.

 Thường không dẫn đến sự thay đổi đáng kể về chức

năng.

17 18 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các loại thay đổi PM

Các loại thay đổi phần mềm

 Các yếu tố cản trở sự thay đổi phần mềm

 Thiếu tài nguyên  Chất lượng của hệ thống hiện hành  Chiến lược của tổ chức  Sự trì trệ (sức ì) của người sử dụng  Thu hút và giữ được nhân viên (bảo trì) có năng lực

Quan hệ tiềm ẩn giữa các loại thay đổi phần mềm

5

19 20 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các loại BTPM

Các loại BTPM

 Các loại BTPM

 Bảo trì hiệu chỉnh (Corrective Maintenance)

 Xác định và giải quyết các vấn đề về lỗi  Công việc của bảo trì viên:

 Tìm các nguyên nhân gây ra lỗi  Thực hiện chỉnh sửa hay thay đổi (các: yêu cầu, thiết kế,

 Bảo trì hiệu chỉnh  Bảo trì thích ứng  Bảo trì hoàn thiện  Bảo trì dự phòng

chương trình, công cụ kiểm thử, và tài liệu) khi cần

Các bước thực hiện:

 Sửa chữa ban đầu (tạm thời)  Hiệu chỉnh các vấn đề tổng quát hơn (tầm xa)

21 22 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các loại BTPM

Các loại BTPM

 Bảo trì thích ứng (Adaptive Maintenance)

 Bảo trì hoàn thiện (Perfective Maintenance)

 Sự thay đổi được thực hiện để đáp ứng những thay đổi

 Bảo trì hoàn thiện đòi hỏi phải thực hiện những thay

trong môi trường.

đổi để cải tiến một mặt nào đó của hệ thống nhằm đáp ứng các yêu cầu của người sử dụng, những thay đổi không bắt nguồn từ các lỗi.

6

23 24 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các loại BTPM

Các loại BTPM

 Bảo trì dự phòng (Preventive Maintenance)

 Công sức bảo trì

 Bảo trì dự phòng đòi hỏi phải thay đổi một mặt nào đó của hệ thống để ngăn ngừa những thất bại trước khi chúng xảy ra.

 Bảo trì dự phòng thường do lập trình viên hay người

phân tích chương trình tìm thấy lỗi thực sự hay tiềm ẩn mà lỗi này vẫn chưa gây ra sự thất bại cho hệ thống và thực hiện các hành động để hiệu chỉnh lỗi trước khi sự phá hủy bị xảy ra.

26 25 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các loại BTPM

Nội dung

 Lưu ý:

 Framework của BTPM

 Một số thuật ngữ  Các thành phần trong framework của bảo trì phần

mềm

Nhiều bảo trì viên xem:  Bảo trì dự phòng là bảo trì hiệu chỉnh.  Bảo trì thích ứng và bảo trì hoàn thiện là bảo trì cải

tiến.

 Mối quan hệ giữa các yếu tố bảo trì

7

27 28 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Định nghĩa

Định nghĩa

 Framework

 Môi trường (Environment)

Một tập hợp các khái niệm, các điều kiện, các giả thiết để xác định cách thức một việc nào đó sẽ được tiếp cận, được hiểu.

Toàn bộ các ảnh hưởng và các điều kiện từ bên ngoài tác động lên thực thể.

 Framework của bảo trì phần mềm

 Yếu tố môi trường (Environmetal Factor)

Ngữ cảnh và môi trường mà trong đó các hoạt động bảo trì phần mềm được thực hiện.

Một tác tử từ bên ngoài tác động lên thực thể và ảnh hưởng đến hình dáng hay sự hoạt động của nó.

 Nhân sự bảo trì (Maintenance Personnel)

 Môi trường điều hành (Operating Environment)

Các cá nhân liên quan đến việc bảo trì một sản phẩm phần mềm.

Tất cả các hệ thống phần cứng và phần mềm tác động đến hay hoạt động theo sản phầm phần mềm bằng bất cứ cách nào.

 Quy trình bảo trì (Maintenance Process)

 Môi trường tổ chức (Organizational Environment)

Bất cứ hoạt động nào được thực hiện hay được cần đến hoặc bởi máy móc hoặc bởi nhân sự bảo trì trong suốt sự bảo trì phần mềm.

Tất cả các yếu tố môi trường không liên quan đến phần cứng và phần mềm.

29 30 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các thành phần

Các thành phần

 Người dùng và các yêu cầu của họ

 Người dùng là các cá nhân sử dụng hệ thống.  Các yêu cầu của người dùng gồm hiệu chỉnh lỗi,

thêm chức năng cho hệ thống, cải thiện tính có thể bảo trì, cung cấp các hỗ trợ không liên quan đến chương trình.

Framework của bảo trì phần mềm

8

31 32 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các thành phần

Các thành phần

 Môi trường

 Môi trường điều hành

 Những yếu tố trong môi trường điều hành: những đổi

 Về cơ bản, môi trường ảnh hưởng đến hệ thống

mới về hệ nền phần cứng và phần mềm

phần mềm là môi trường điều hành và môi trường tổ chức.

 Đổi mới phần cứng: phần cứng mà hệ thống phần mềm chạy trên đó có thể thay đổi trong thời gian tồn tại của phần mềm. Một thay đổi như vậy có khuynh hướng ảnh hưởng tới phần mềm theo một số cách.

 Những yếu tố môi trường điển hình là các: quy tắc nghiệp vụ, quy định của chính phủ, mô hình sản phẩm và nền tảng điều hành phần cứng và phần mềm.

 Đổi mới phần mềm: những thay đổi trong phần mềm chủ có thể dẫn đến sự sửa đổi tương ứng trong sản phẩm phần mềm.

33 34 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các thành phần

Các thành phần

 Môi trường tổ chức

 Quy trình bảo trì

 Các yếu tố của môi trường tổ chức: chính sách và các hệ số (được áp đặt) của thuế và thương mại, sự cạnh tranh thị trường, …

Những yếu tố quan trọng của quy trình bảo trì:  Sự nắm bắt các yêu cầu thay đổi: là một tiến trình tìm ra chính xác những thay đổi nào được yêu cầu.  Lưu ý: lỗ hổng thông tin

 Thay đổi chính sách: một thay đổi trong quy tắc nghiệp vụ hay trong chính sách cụ thể dẫn tới sự sửa đổi tương ứng của các chương trình bị ảnh hưởng.

 Sự khác nhau trong thói quen lập trình: chỉ sự khác nhau trong cách tiếp cận được sử dụng để viết và bảo trì chương trình.  Lưu ý: sự nhất quán (quy định chung) trong lập trình

 Cạnh tranh thị trường: các tổ chức tạo ra các sản phẩm phần mềm tương tự nhau thường ở trong tình trạng cạnh tranh => họ thực hiện các sửa đổi quan trọng để duy trì mức độ hài lòng của khách hàng hoặc cải tiến thành phần mà khách hàng hiện có.

9

35 36 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các thành phần

Các thành phần

 Những hệ thống trong phần lưu ý thừa hưởng một số

 Sự thay đổi mô thức: nói đến sự thay đổi cách thức mà

ta phát triển và bảo trì phần mềm.  Lưu ý: Vẫn còn tồn tại một số lượng lớn các hệ

đặc điểm:  Không đủ để giao tiếp với các điểm đặc trưng cốt yếu như cấu trúc chương trình, trừu tượng hóa dữ liệu và trừu tượng hóa chức năng.

thống được phát triển bằng cách:  Sử dụng các công cụ phần mềm không tương

 Không làm rõ cấu trúc chương trình, các giao diện

xứng.

 Được viết bằng những ngôn ngữ lập trình mức

chương trình, kiểu và các cấu trúc dữ liệu, và các chức năng của hệ thống.

thấp.

 Không còn là vấn đề (những ràng buộc ảnh hưởng đến

 Dùng các kỹ thuật lập trình cũ.

thiết kế của hệ thống) phải quan tâm hiện nay.

 Khó hiểu vì mã lệnh đôi khi được viết bằng các cấu trúc

theo chuẩn hoặc không theo chuẩn

37 38 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các thành phần

Các thành phần

 Phát hiện và chỉnh sửa lỗi

 Phần mềm “không lỗi” là không tồn tại.  Lưu ý: lỗi dư

 Các sản phẩm phần mềm có các lỗi “dư”.  Những lỗi này rất khó phát hiện ngay cả khi với các kỹ

Chi phí sửa lỗi tại các giai đoạn

thuật và công cụ kiểm thử mạnh nhất.

 Các lỗi “dư” được phát hiện trong vòng đời của sản

phẩm phần mềm càng trễ, chi phí để hiệu chỉnh chúng càng cao.

10

39 40 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các thành phần

Các thành phần

 Sản phẩm phần mềm

 Nhân sự bảo trì

Các yếu tố nhân sự ảnh hưởng đến hoạt động bảo trì:  Tốc độ thay thế nhân viên.  Sự thành thạo về lĩnh vực.  Thực tiễn làm việc.

Những khía cạnh của một sản phẩm phần mềm gây khó khăn cho hoạt động bảo trì:  Tính trưởng thành và tính khó của phạm vi ứng dụng.  Chất lượng của các tài liệu.  Tính “dễ uốn” của chương trình.  Chất lượng kế thừa.

41 42 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Mối quan hệ giữa các yếu tố bảo trì

Mối quan hệ giữa các yếu tố bảo trì

 Ba loại quan hệ và tương tác được xác định:

 Sản phẩm/môi trường.  Sản phẩm/người dùng.  Sản phẩm/nhân sự bảo trì.

Mối quan hệ giữa các yếu tố bảo trì

11

43 44 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Mối quan hệ giữa các yếu tố bảo trì

Mối quan hệ giữa các yếu tố bảo trì

 Quan hệ giữa sản phẩm và môi trường

 Quan hệ giữa sản phẩm và người dùng

 Một trong các mục tiêu của sản phẩm phần mềm là

phục vụ các nhu cầu của người sử dụng.

 Một sản phẩm phần mềm không tồn tại cô lập.  Sản phẩm phần mềm có thể được xem như một

thực thể được “làm chủ” bởi môi trường điều hành và môi trường tổ chức của nó.

 Sản phẩm phần mềm kế thừa các thay đổi trong các

thành phần của các môi trường đó.

 Nhu cầu của người dùng thay đổi theo thời gian.  Để một hệ thống vẫn hữu ích và có thể chấp nhận được, nó phải thay đổi để phù hợp với các yêu cầu đang thay đổi này.

45 46 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Mối quan hệ giữa các yếu tố bảo trì

 Sự tương tác giữa nhân sự bảo trì và sản phẩm

 Nhân sự bảo trì là những người thực hiện các thay đổi.  Các thay đổi trong yêu cầu người dùng, quy trình bảo

trì hay môi trường hoạt động và tổ chức sẽ dẫn đến nhu cầu thay đổi trong sản phẩm phần mềm.

HẾT

 Sản phẩm phần mềm sẽ không bị ảnh hưởng cho tới

khi nhân sự bảo trì thực hiện các thay đổi.

 Quy trình bảo trì được sử dụng và tính cách của nhân sự bảo trì sẽ ảnh hưởng đến chất lượng sản phẩm.

12

47 48 Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ