Tải bản đầy đủ (.pdf) (12 trang)

Bài giảng Bảo trì phần mềm - Phần 1: Giới thiệu tổng quan về bảo trì phần mềm (ĐH Cần Thơ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.02 MB, 12 trang )

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








Phần mềm (Software)
Phần mềm bao gồm:

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
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





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.

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

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

1



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




5

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

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 tồn tính quen thuộc

6

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


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
thối.

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




[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 tồn vẹn của nó.

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


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

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

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







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

2


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

[ISO/IEC/IEEE 14764] bảo trì phần mềm là tồ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.







IEEE: The Institute of Electrical and Electronics
Engineers
ISO: The International Organization for
Standardization
IEC: The International Electrotechnical Commission

9
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


10

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

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ế



Cài đặt

Kiểm thử

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ó.
Phát triển phần mềm địi hỏi phải nhìn lại một
cách có kiểm số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ì


12

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

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

3


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


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

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


14

13

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)






Là sự thay đổi được bắt nguồn từ những nhược điểm
trong phần mềm.
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.

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





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 tồn bộ các
đ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 tồ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.

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

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

4


Các loại thay đổi PM


Các loại thay đổi PM

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







Là sự thay đổi được thực hiện để mở rộng những yêu
cầu hiện tại của hệ thống.
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 tốn.

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






Là sự thay đổi được thực hiện để ngăn ngừa sự làm
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.
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
Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

18
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
19
Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

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

5


Các loại BTPM



Các loại BTPM

Các loại BTPM







Bảo trì hiệu chỉnh
Bảo trì thích ứng
Bảo trì hồn thiện
Bảo trì dự phịng

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 ngun nhân gây ra lỗi
 Thực hiện chỉnh sửa hay thay đổi (các: u cầu, thiết kế,
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

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)


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



Sự thay đổi được thực hiện để đáp ứng những thay đổi
trong môi trường.

Bảo trì hồn thiện (Perfective Maintenance)


Bảo trì hồn thiện địi hỏi phải thực hiện những thay
đổ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.

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

24

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

6


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.
25

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


Các loại BTPM


Nội dung

Lưu ý:
Nhiều bảo trì viên xem:



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



Framework của BTPM


Bảo trì dự phịng là bảo trì hiệu chỉnh.
Bảo trì thích ứng và bảo trì hồn thiện là bảo trì cải
tiến.





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

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

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

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

7


Định nghĩa








Định nghĩa

Framework
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.
Framework của bảo trì phần mềm
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.
Nhân sự bảo trì (Maintenance Personnel)
Các cá nhân liên quan đến việc bảo trì một sản phẩm phần mềm.

Quy trình bảo trì (Maintenance Process)
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.









Mơi trường (Environment)
Tồn bộ các ảnh hưởng và các điều kiện từ bên ngồi tác động
lên thực thể.
Yếu tố mơi trường (Environmetal Factor)
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ó.
Mơi trường điều hành (Operating Environment)
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.
Môi trường tổ chức (Organizational Environment)

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
Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ


30
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
31
Bộ mơn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

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

8


Các thành phần



Các thành phần

Môi trường






Về cơ bản, môi trường ảnh hưởng đến hệ thống
phần mềm là môi trường điều hành và môi trường
tổ chức.
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.

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
mới về hệ nền phần cứng và phần mềm
Đổ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.

Đổ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
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






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



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, …
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.

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ó.

Quy trình bảo trì
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

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 qn (quy định chung) trong lập trình

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

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


9


Các thành phần

Các thành phần


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ệ
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
xứng.
 Được viết bằng những ngơn ngữ lập trình mức
thấp.
 Dùng các kỹ thuật lập trình cũ.



Những hệ thống trong phần lưu ý thừa hưởng một số
đặ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.
Khơng làm rõ cấu trúc chương trình, các giao diện
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.
Khơng cịn là vấn đề (những ràng buộc ảnh hưởng đến
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
Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ

Các thành phần

Các thành phần


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

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ư






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

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ỹ
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.

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

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

10


Các thành phần


Các thành phần

Sản phẩm phần mềm
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ì:







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.

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
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ì


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


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ì

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

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

11


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








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 đó.

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.
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
Bộ môn CNPM, Khoa CNTT&TT, ĐH Cần Thơ


46
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.
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.

HẾT

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

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


12



×