Bài giảng Phát triển vận hành bảo trì phần mềm - Chương 2: Nền tảng của sự thay đổi phần mềm - Nguyễn Thị Thanh Trúc

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN  
KHOA CÔNG NGHỆ PHẦN MỀM  
PHÁT TRIỂN VẬN HÀNH BẢO  
TRÌ PHẦN MỀM  
ThS. NGUYỄN THỊ THANH TRÚC  
Khoa Công Nghệ Phần Mềm  
1
UIT-VNUHCM 2009  
Nội dung (Chương 2)  
Nền tảng của sự thay đổi phần mềm  
Mối liên quan kinh tế của việc cập nhật phần mềm  
Giải pháp tiềm năng đối với vấn đề bảo trì  
Thảo luận và làm bài tập  
Q&A  
2
Company Logo  
UIT-VNUHCM 2009  
Chương 2:  
NỀN TẢNG CỦA SỰ THAY ĐỔI PHẦN MỀM  
2.1 Nền tảng của sự thay đổi phần mềm  
2.2 Mối liên quan kinh tế của việc cập nhật phần mềm  
2.3 Giải pháp bảo trì  
3
UIT-VNUHCM 2009  
Chương 2:  
NỀN TẢNG CỦA SỰ THAY ĐỔI PHẦN MỀM  
1. NỀN TẢNG SỰ THAY ĐỔI PHẨN MỀM  
o Sự thay đổi phần mềm  
o Phân loại sự thay đổi  
Corrective Change (Thay đổi hiệu chỉnh)  
Adaptive Change (Thay đổi thích nghi)  
2. MỐI LIÊN HỆ KINH TẾ CỦA ViỆC CẬP NHẬT PHẦN MỀM  
o Giới hạn đối với sự thay đổi  
o Hạn chế tài nguyên  
o Chất lượng của hệ thống tồn tại  
o Chiến lược tổ chức  
o Tính trì trệ (không thay đổi)  
3. GiẢI PHÁP TiỀM TRÌ  
o cấp phát Ngân sách và Nỗ lực (Effort)  
o Hoàn chỉnh thay thế hệ thống  
o Bảo trì hệ thống tồn tại  
4
UIT-VNUHCM 2009  
2.1 NỀN TẢNG CỦA SỰ THAY ĐỔI PHẦN MỀM  
Sự thay đổi phần mềm  
o Tiến hoá phần mềm  
Loại phần mềm  
Luật tiến hoá  
Phân loại những thay đổi  
o Thay đổi hiệu chỉnh (Corrective Change)  
o Thay đổi thích nghi (Adaptive Change)  
o Thay đổi hoàn chỉnh (Perfective Change)  
o Thay đổi ngăn ngừa (Preventive Change)  
Tầm quan trọng của việc phân loại  
Cho ví dụ cho mỗi loại?  
5
UIT-VNUHCM 2009  
Định nghĩa  
E-type system  
o the criteria for acceptability is based on its performance  
in a real world situation.  
S-type system  
o the criteria for acceptability is that it is correct relative to  
an absolute specification  
On-going support  
o a service offered to customers to assist their continuing  
use of a product  
Ripple effect  
o consequences of an action in one place, occurring  
elsewhere  
6
UIT-VNUHCM 2009  
Luật đầu tiên của Công nghệ phần mềm  
“No matter where you are in the  
system life cycle, the system will  
change, and the desire to change it  
will persist throughout the life cycle”  
soff et al. (1980)  
7
UIT-VNUHCM 2009  
Nguồn của sự thay đổi  
Những điều kiện kinh doanh và thị trường mới gây  
ra thay đổi những yêu cầu sản phẩm và qui tắc  
nghiệp vụ (business rules)  
Khách hàng mới cần thay đổi nhu cầu dữ liệu,  
chức năng hay dịch vụ phân phối bởi hệ thống  
Tái tổ chức hay cắt giảm kinh doanh mà thay đổi  
ưu tiên và cấu trúc nhóm (team)  
Ràng buộc ngân sách và lịch trình gây ra tái định  
nghĩa hệ thống  
HẦU HẾT SỰ THAY ĐỔI LÀ CÓ LÝ DO CHÍNH  
ĐÁNG  
8
UIT-VNUHCM 2009  
Thay đổi hiệu chỉnh (Corrective Change)  
Thay đổi hiệu chỉnh ám chỉ đến cập nhật khởi  
nguồn từ dò lỗi trong phần mềm  
Dò lỗi có thể kết quả từ lỗi thiết kế, lỗi logic hay lỗi  
chương trình  
o Lỗi thiết kế (Design)  
Thay đổi không chính xác, hoàn chỉnh, truyền thông sai  
lệch hay yêu cầu thay đổi hiểu nhầm  
o Lỗi logic  
Kết quả từ kiểm thử không hợp lệ, dữ liệu thử, thực thi  
không đúng thiết kế, lỗi luồng logic  
o Lỗi cài đặt (coding)  
Gây ra bởi thực thi không chính xác thiết kế chi tiết  
mức logic và sử dùng không chính xác logic của  
chương trình nguồn.  
9
UIT-VNUHCM 2009  
Thay đổi thích nghi (Adaptive change)  
Để thích nghi phần mềm với bất kỳ thay đổi môi  
trường  
Kết quả khởi nguồn từ loại bỏ software, hardware  
khác biệt, phần mềm nền, trình biên dịch, hệ điều  
hành  
Kết quả từ thay đổi máy ảo (virtual machine), thêm  
tiện ích cho hệ điều hành, lưu không gian đĩa, khôi  
phục sự cố lỗi  
Thay đổi hệ thống phần mềm liên quan khu vực  
(areas), ví dụ: giao dịch ngân hàng, kinh doanh  
10  
UIT-VNUHCM 2009  
Thay đổi hoàn chỉnh (Perfective Change)  
Mở rộng những yêu cầu tồn tại của hệ thống  
Xuất phát từ thêm mới chức năng hay tinh chế  
chức năng đã cung cấp, một số chức năng có thể  
bị bỏ đi.  
11  
UIT-VNUHCM 2009  
Thay đổi ngăn ngừa (Preventive change)  
Đề cập đến vấn đề làm hỏng (giảm giá trị) cấu trúc  
Ngăn chức năng lạ hay cải thiện khả năng bảo trì của  
phần mềm  
Gồm: tái cấu trúc mã nguồn, tối ưu mã nguồn và cập  
nhật sưu liệu  
12  
UIT-VNUHCM 2009  
Tầm quan trọng của phân loại thay đổi phần mềm  
Về nguyên tắc, những hoạt động bảo trì được  
phận loại cách riêng lẻ  
Tuy nhiên trong thực tế, những thay đổi luôn  
quấn vào nhau  
Một vài thay đổi đòi đáp ứng nhanh hơn những  
cái khác  
Việc hiểu bản chất của thay đổi được thực thi  
mang lại độ ưu tiên hiệu quả của những yêu cầu  
thay đổi.  
13  
UIT-VNUHCM 2009  
Mối liên hệ giữa các loại thay đổi phần mềm  
14  
UIT-VNUHCM 2009  
15  
UIT-VNUHCM 2009  
Bảo trì và SDLC  
Qui trình phát triển phần mềm Waterfall, chúng ta  
có họp ở mỗi cuối qui trình và được bỏ qua trong  
mô tả qui trình  
Chu trình cải tiến hơn như Spiral Model,bảo trì  
phù hợp nhiều vị trí nổi bật  
Bảo trì vẫn liên quan đến khía cạnh của SDLC  
Ví dụ: Pressman không có chương cụ thể về Bảo  
Trì, Somerville có 15 trang trong 742 trang  
16  
UIT-VNUHCM 2009  
Loại chương trình  
Chương trình S-type (“Specifiable”)  
Source: Adapted from Lehman 1980, pp1061-1063  
o Vấn đề được khẳng định hình thức và hoàn chỉnh  
o Chấp nhận: Chương trình có chính xác như đặc tả của nó?  
o Phần mềm này không tiến triển.  
Thay đổi đặc tả định nghĩa vấn đề mới, như vậy một chương trình mới  
Chương trình P-type (“Problem-solving”)  
o Khẳng định khô
o Chấp nhận: Chương trình là giải pháp có thể chấp nhận đối với vấn đề?  
o Phần mềm này xem như tiến triển liên tục  
Bởi giải pháp không bao giờ hoàn hảo, và có thể cải tiến  
Bởi thế giới thực thay đổi và vấn đề thay đổi  
Chương trình E-type (“Embedded”)  
o Một hệ thống trở thành một phần thế giới nó được mô hình hoá  
o Chấp nhận: phụ thuộc toàn bộ vào ý kiến và phán xét  
o Phần mềm này vốn đã tiến hoá  
Thay đổi trong phần mềm và thế giới tác động lẫn nhau  
17  
UIT-VNUHCM 2009  
Source: Adapted from Lehman 1980, pp1061-1063  
formal  
statement  
of problem  
may  
relate  
to  
controls the  
production  
of  
P-type  
real  
world  
change  
real  
PROGRAM  
world  
abstract  
view of world  
provides  
solution  
maybe of  
interest to  
change  
E-type  
requirements  
specification  
real world  
solution  
PROGRAM  
change  
PROGRAM  
abstract  
view of world  
Thảo luận: nêu ví dụ  
hệ thống phần mềm  
tương ứng 3 loại trên  
requirements  
specification  
model  
18  
UIT-VNUHCM 2009  
Loại Bảo trì phần mềm  
Làm thế nào và tại sao chúng ta tốn khá nhiều thời  
gian và nỗ lực cho việc bảo trì?  
Bảo trì thì nhiều vấn đề hơn việc fix bug  
Phân chia thành ba loại chính  
o Corrective Mntnanc(bảo trì hiệu chnh)  
o Adaptive Maintenance (Bảo trì thích nghi)  
o Perfective Maintenance (Bảo trì hoàn chỉnh)  
Ranh giới giữa các loại bảo trì khá mờ không rõ  
Chúng ta có thể định nghĩa các loại bảo trì khác –  
bảo trì ngăn ngừa  
19  
UIT-VNUHCM 2009  
Các loại bảo trì phần mềm  
Source: Adapted from van Vliet, 1999, p449.  
Corrective Maintenance  
fixing latent errors  
includes temporary patches and  
workarounds  
3%  
4%  
21%  
Adaptive Maintenance  
responding to external changes  
changes in hardware platform  
changes in support software  
corrective  
user  
enhancements  
43%  
Perfective Maintenance  
adaptive  
25%  
improving the as-delivered software  
user enhancements  
efficiency improvements  
4%  
Preventative Maintenance  
Improves (future) maintainability  
Documenting, commenting, etc.  
UIT-VNUHCM 2009  
preventative  
20  
Tải về để xem bản đầy đủ
pdf 65 trang yennguyen 16060 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phát triển vận hành bảo trì phần mềm - Chương 2: Nền tảng của sự thay đổi phần mềm - Nguyễn Thị Thanh Trúc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_phat_trien_van_hanh_bao_tri_phan_mem_chuong_2_nen.pdf