You are on page 1of 31

Chương 11

PHA BẢO TRÌ

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 1
Khái quát chung
 Bảo trì gồm:
 Điều chỉnh các lỗi chưa được phát hiện trong các
giai đoạn trước
 Nâng cấp tính năng sử dụng và vận hành an toàn
của hệ thống
 Chiếm 65% - 75% công sức trong chu kỳ sống
của phần mềm
 Nhiệm vụ: Giữ cho phần mềm được cập nhật
khi môi trường thay đổi và yêu cầu người
dùng thay đổi

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 2
Khái quát chung
 Chuẩn IEEE (1993):
 Sửa đổi phần mềm sau khi đã bàn giao để chỉnh lại
các lỗi phát sinh, cải thiện hiệu năng của phần mềm
hoặc các thuộc tính khác
 Làm cho phần mềm thích ứng một môi trường đã bị
thay đổi

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 3
Khái quát chung
 Các loại bảo trì:
 Sửa lại cho đúng: sửa lỗi/ hỏng hóc phát sinh do
thiết kế, lỗi logic, coding, xử lý dữ liệu, hoạt động,…
 Thích ứng: sửa cho phù hợp với môi trường trên
quy tắc kinh doanh, pháp luật, giáo dục,…
 Hoàn thiện: đáp ứng yêu cầu mới hoặc thay đổi của
ngưởi dung, nâng cao chức năng hệ thống
 Bảo vệ: giúp sau này hệ thống dễ bảo trì hơn

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 4
Khái quát chung
◉ Hiệu chỉnh
 Các lỗi đặc tả
 Thiết kế
 Tài liệu
 Mã nguồn
 Hay các dạng khác

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 5
Khái quát chung
◉ Hoàn thiện
 Thay đổi mã lệnh
=> Hoàn thiện hiệu năng sản phẩm
◉ Thích ứng
 Các thay đổi nhằm tác động lại những thay đổi
trong môi trường sản phẩm đang vận hành
◉ Các dạng khác
 Ngoài 3 dạng trên

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 6
Khái quát chung

Hiệu chỉnh
18%
Hoàn thiện

17.5% Thích ứng


60.5%

Các dạng khác

Sơ đồ các khoảng thời gian cho mỗi dạng bảo trì


© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 7
Phạm vi bảo hành, bảo trì
 Gồm sửa lỗi phần mềm do công ty xây dựng
 Không bao gồm việc xử lý các tình huống
xảy ra do nguyên nhân là lỗi chương trình
khác, phần mềm hệ thống khác, phần mềm
hệ điều hành, phần mềm mạng, hay những
lỗi do môi trường, vận hành, dữ liệu và lỗi
phần cứng

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 8
Phạm vi bảo hành, bảo trì
 Trong trường hợp yêu cầu bảo hành/bảo trì
bao gồm các yêu cầu phát sinh ngoài dịch vụ
bảo trì (lỗi phát sinh không bắt nguồn từ bản
thân phần mềm), chủ đầu tư phải có trách
nhiệm thanh toán chi phí bổ sung
 Chi phí này sẽ được công ty thông báo cho
chủ đầu tư trước khi tiến hành công việc

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 9
Quy trình
 Bảo hành chủ động
 Rà soát, thu thập thông tin bảo hành. Người có
trách nhiệm của công ty sẽ theo dõi và rà soát
định kỳ hàng tháng các lỗi (nếu có trên hệ
thống), nếu phát hiện lỗi hệ thống hoặc khi công
ty phát hành phiên bản phần mềm mới, công ty
sẽ gửi thông báo bảo hành đển chủ đầu tư
 Hai bên phối hợp thời gian và lên phương án xử
lý việc bảo hành
 2 bên bàn giao lại hệ thống cho chu đầu tư sau
khi thực hiện xong công việc bảo hành

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 10
Quy trình
 Bảo hành bị động
 Chủ đầu tư gửi yêu cầu bảo hành đến công ty khi
phát hiện sự cố hoặc lỗi hệ thống
 Công ty thu thập thông tin và lên phương án xử
lý trả lời chủ đầu tư trong vòng 24h nếu là yêu
cầu khắc phục sự cố
 Công ty tiến hành xử lý hệ thống sau khi được
chủ đầu tư chấp nhận phương án
 Công ty bàn giao lại hệ thống cho chủ đầu tư sau
khi thực hiện xong công việc bảo hành.

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 11
Quy trình

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 12
Sự cần thiết của bảo trì
 Khắc phục lỗi
 Cải thiện thiết kế
 Thực hiện các cải tiến
 Giao diện với các phần mềm khác
 Thích ứng với các loại phần cứng, phần mềm,
tính năng hệ thống… khác nhau có thể được
sử dụng
 Tiến hóa phần mềm
 Hủy bỏ phần mềm

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 13
Sự cần thiết của bảo trì
 Các đặc điêm chính của hoạt động bảo trì:
 Duy trì kiểm soát các chức năng của phần mềm
liên tục
 Duy trì kiểm soát việc sửa đổi phần mềm
 Hoàn thiện các chức năng hiện có
 Xác định các mối đe dọa an ninh và sửa chữa
các lỗ hổng an ninh
 Ngăn ngừa việc xuống cấp hiệu xuất tới mức
không thể chấp nhận được

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 14
Đòi hỏi với nhà lập trình bảo trì
 Hình thành thuật ngữ nhà lập trình bảo trì
 Khía cạnh khó khăn, nhiều thách thức
 Nghịch lý hiện tại của các công ty
- Xem nhẹ công tác bảo trì
- Giao công tác bảo trì cho lập trình viên mới
 Lý giải
- Không có lỗi nhưng người sử dụng không hiểu
hướng dẫn sử dụng, sử dụng sản phẩm không
đúng cách
- Hướng dẫn sử dụng không chính xác
- Lỗi mã nguồn
© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 15
Đòi hỏi với nhà lập trình bảo trì
 Phải có kỹ năng lần vết
 Lỗi hồi quy: quan tâm đến các lỗi khác
 Chuẩn bị tài liệu chi tiết cho toàn sản phẩm và
từng mô-đun sau sửa
 Dịch vụ hậu mãi
 Là chuẩn mực cho sự thành công của công ty
phần mềm

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 16
Chi phí bảo trì
 Bảo trì tiêu thụ một phần lớn các nguồn lực
tài chính trong vòng đời phần mềm
 Bảo trì tiêu thụ một phần lớn các nguồn lực
tài chính trong vòng đời phần mềm
 Một nhận thức chung về bảo trì thường
thấy: bảo trì đơn thuần là sửa lỗi
 Tuy nhiên, các nghiên cứu và khảo sát
trong những năm qua đã chỉ ra rằng phần
lới, trên 80%, bảo trì phần mềm được sử
dụng cho các hành động khắc phục

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 17
Chi phí bảo trì
 Nhóm các cải tiến và sửa chữa lại với nhau
trong báo cáo quản lý góp phần tạo ra các
quan niệm sai lầm về chi phí cao của việc
sửa chữa
 Hiểu biết về các loại bảo trì phần mềm giúp
hiểu được cơ cấu của chi phí bảo trì
 Ngoài ra, có kiến thức về các yếu tổ ảnh
hưởng tới bảo trì phần mềm sẽ giúp quản
lý được chi phí

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 18
Chi phí bảo trì
 Một số yếu tố môi trường và mối quan hệ
ảnh hưởng tới chi phí bảo trì phần mềm
 Môi trường hoạt động liên quan đến phần cứng
và phần mềm
 Môi trường tổ chức liên quan đến chính sách,
cạnh tranh, quy trình, sản phẩm và nhân viên

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 19
Các vấn đề chính trong bảo trì
 Một số vấn đề quan trọng phải được xử lý
để đảm bảo duy trì hiệu quả phần mềm
 Bảo trì phần mềm cung cấp các thách thức
độc lập về kỹ thuật và quản lý cho các kỷ
sư phần mềm
 Ví dụ: cố gắng tìm được một lỗi trong phần
mềm có chứa lượng lớn các dòng code của
nhà phát triển

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 20
Các vấn đề chính trong bảo trì
 Tương tự như vậy, cạnh tranh với những
nhà phát triển giống như một trận chiến
liên tục
 Lập kế hoạch cho một tương lai phát hành
sản phẩm, thường bao gồm code cho tới
khi tạo ra các bản vá lỗi cho phiên bản hiện
tại, cũng tạo ra một thách thức

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 21
Các vấn đề chính trong bảo trì
 Vấn đề kỹ thuật
 Vấn đề quản lý
 Vấn đề ước lượng chi phí
 Đo lường

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 22
Quản lý bảo trì
 Xây dựng cơ chế cho phép những thay đổi
 Lãnh đạo nhóm SQA, lãnh đạo nhóm phát
triển phần mềm độc lập nhau
 Các báo cáo lỗi
- Người sử dụng điền các thông tin về lỗi trên
các chức năng
- Đủ thông tin để MP có thể tái tạo lại lỗi

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 23
Quản lý bảo trì
 Ủy quyền thay đổi trên sản phẩm
- Xác định lỗi, thay đổi hoặc cố định mã nguồn
- Kiểm thử hồi quy trên toàn sản phẩm
- Cập nhật tài liệu để phản ánh các thay đổi
- Có thể cập nhật tài liệu đặc tả và thiết kế
- Tạo phiên bản mới
- Chuyển đến nhóm SQA để xác nhận lại

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 24
Quản lý bảo trì
 Bảo đảm công tác bảo trì
- Việc bảo trì thực hiện nhiều lần
- Tạo nhiều phiên bản
- Có kế hoạch bảo trì suốt tiến trình
- Ghi nhận cẩn thận các thông tin kỹ thuật
- Tài liệu được hoàn tất và hiệu chỉnh chu đáo,
phản ánh chính xác mọi thành phần của phiên
bản hiện hành

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 25
Quản lý bảo trì
 Lặp lại công tác bảo trì
- Khách hàng thường xuyên thay đổi yêu cầu
- Đưa ra mô hình làm việc, khi có thay đổi
khách sẽ trả thêm chi phí phát triển

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 26
Bảo trì hướng đối tượng
◉ Dễ dàng
 Các khái niệm độc lập
=> dễ xác định vị trí hiệu chỉnh, nâng cao
 Thay đổi bên trong đối tượng
=> Giảm lỗi hồi quy

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 27
Bảo trì hướng đối tượng
◉ Khó khăn
 Nghiên cứu toàn bộ cây thừa kế
 Cài đặt trên NNLT HĐT
=> vấn đề đa hình và động
 Lần vết các thừa kế liên tục nhau khi có lớp có
thay đổi

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 28
So sánh kỹ năng bảo trì và
kỹ năng phát triển

Kỹ năng
Khả năng Kỹ năng phát triển
bảo trì
Xác định nguyên Hiệu chỉnh Kiểm thử tích hợp và
nhân gây lỗi kiểm thử phát triển

Thực hiện hiệu quả Hoàn thiện Đặc tả, thiết kế, cài đặt
các chức năng mà thích ứng và tích hợp, kiểm thử
không có tài liệu
thích hợp
Nắm vững các vấn Đòi hỏi như nhau
đề liên quan trên
các giai đoạn
© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 29
Kiểm thử giai đoạn bảo trì
 Khó khăn khi phải nắm toàn sản phẩm
 Cách tiến hành
- Sử dụng các tính huống kiểm thử đế đảm bảo
sản phẩm vận hành tốt sau cập nhật
- Thay đổi một số tình huống kiểm thử
- Lưu trữ toàn bộ các tình huống kiểm thử với
kết quả cần đạt tương ứng
 Sử dụng kiểm thử hồi quy

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 30
Đánh giá giai đoạn bảo trì
 Sử dụng cách đánh giá các giai đoạn liên quan
 Ngoài ra còn có
- Số lượng báo cáo lỗi
- Phân loại lỗi theo độ khó và kiểu lỗi
- Thông tin về trạng thái hiện hành của báo cáo
lỗi

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 31

You might also like