Bài giảng Bảo trì phần mềm - Phần IV: Các kỹ thuật và công cụ bảo trì

Tóm tắt Bài giảng Bảo trì phần mềm - Phần IV: Các kỹ thuật và công cụ bảo trì: ...n theo chuẩn Nên: phù hợp, ngắn gọn, rõ ràng và thống nhất; Tiết lộ các đặc điểm cấu trúc của chương trình Tiết lộ các hành vi động của chương trình Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ 22 Kỹ thuật đảo ngược (Reverse Engineering)  Định nghĩa  Mục đích của kỹ thuật đảo ngược  ...PM, Khoa CNTT & TT, ĐH Cần Thơ 36 Các mức của kỹ thuật đảo ngược  Phục hồi đặc tả (Specification recovery)  Phục hồi đặc tả liên quan đến việc nhận dạng, trừu tượng hóa và mô tả các mức trừu tượng cao hơn và có ý nghĩa dựa trên thiết kế hay mã nguồn của hệ thống.  Đặc tả được khôi phục b...tạo  Tái kiến tạo giao diện người dùng  Phải sử dụng kỹ thuật đảo ngược để trừu tượng hóa mô hình khái niệm giao diện người dùng.  Sau đó sử dụng kỹ thuật chuyển tiếp để tái cài đặt các giao diện người dùng bằng một công nghệ khác. Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ 51 Một số loại ...

pdf18 trang | Chia sẻ: havih72 | Lượt xem: 251 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Bảo trì phần mềm - Phần IV: Các kỹ thuật và công cụ bảo trì, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
thực hiện kỹ thuật đảo ngược 
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
23
Định nghĩa
 Kỹ thuật đảo ngược là quy trình phân tích một hệ 
thống chủ thể để:
 Nhận dạng các thành phần của hệ thống và các mối 
quan hệ giữa chúng.
 Tạo ra các biểu diễn của hệ thống ở một dạng khác 
hay ở các mức trừu tượng cao hơn.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
24
Mục đích của kỹ thuật đảo ngược
 Kỹ thuật đảo ngược tạo điều kiện thuận lợi cho sự 
thay đổi bằng cách cho phép hệ thống phần mềm 
được hiểu dưới dạng nó làm gì, nó làm như thế 
nào và biểu diễn kiến trúc của nó.
 Kỹ thuật đảo ngược có thể bắt đầu từ đặc tả các 
yêu cầu hay từ thiết kế kiến trúc và chi tiết hay từ 
mã nguồn.
 Điểm bắt đầu phổ biến nhất của kỹ thuật đảo 
ngược là mã nguồn của chương trình.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
725
Mục đích của kỹ thuật đảo ngược
 Phục hồi thông tin bị mất
 Tạo điều kiện thuận lợi cho sự di dời giữa các nền
 Cải tiến hay cung cấp tài liệu
 Cung cấp những cái nhìn khác về hệ thống
 Rút trích thành phần có thể tái sử dụng
 Đối phó với độ phức tạp
 Phát hiện hiệu ứng lề
 Giảm thiểu công sức bảo trì
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
26
Mục đích của kỹ thuật đảo ngược
 Phục hồi thông tin bị mất, cải tiến hay cung cấp tài liệu
 Theo thời gian, hệ thống phải trải qua một chuỗi các thay 
đổi.
 Do áp lực quản lý và các ràng buộc về thời gian, tài liệu 
(đặc tả, thiết kế) có thể không được cập nhật hay thậm chí 
không có => Mã lệnh trở thành nguồn thông tin duy nhất 
của hệ thống
 Các công cụ của kỹ thuật đảo ngược cho phép thông tin 
(đặc tả, thiết kế) này được phục hồi.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
27
Mục đích của kỹ thuật đảo ngược
 Tạo điều kiện thuận lợi cho sự di dời giữa các nền
 Để nắm bắt lợi thế của một nền phần mềm hay phần 
cứng mới, sự kết hợp giữa kỹ thuật đảo ngược và kỹ 
thuật chuyển tiếp có thể được sử dụng.
 Các công cụ của kỹ thuật đảo ngược được sử dụng để 
có các đặc tả và thiết kế. 
 Kỹ thuật chuyển tiếp sau đó được áp dụng lên đặc tả 
theo các chuẩn của nền mới.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
28
Mục đích của kỹ thuật đảo ngược
 Cung cấp những cái nhìn khác về hệ thống
 Các công cụ đảo ngược có thể được sử dụng để 
cung cấp những tài liệu khác (như các lưu đồ: dòng 
dữ liệu, dòng điều khiển, quan hệ thực) thể nhằm 
bổ sung cho tài liệu hiện có.
=> cung cấp những cái nhìn khác về hệ thống 
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
829
Mục đích của kỹ thuật đảo ngược
 Rút trích thành phần có thể tái sử dụng
 Việc tái sử dụng các thành phần có có thể làm gia tăng 
hiệu suất và cải thiện chất lượng sản phẩm. 
 Sự thành công của việc tái sử dụng các thành phần phụ 
thuộc phần nào vào tính sẵn có của các thành phần đó.
 Các phương pháp và công cụ đảo ngược tạo cơ hội để 
truy xuất và trích ra các thành phần chương trình. 
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
30
Mục đích của kỹ thuật đảo ngược
 Đối phó với độ phức tạp
 Một trong các vấn đề chính của các hệ thống kế thừa là 
độ phức tạp gia tăng khi chúng tiến hóa.
 Khi thực hiện sự thay đổi, độ phức tạp phải được xử lý 
bằng cách rút ra thông tin liên quan tới sự thay đổi và 
bỏ qua cái không liên quan.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
31
Mục đích của kỹ thuật đảo ngược
 Phát hiện hiệu ứng lề
 Trong trường hợp bảo trì viên thiếu cái nhìn toàn cục 
về hệ thống, các hiệu ứng gợn sóng (hiệu ứng lề không 
mong muốn được tạo ra và các hiện tượng lạ bị bỏ qua) 
là kết quả phổ biến của sự thay đổi.
 Các công cụ của kỹ thuật đảo ngược giúp làm rõ kiến 
trúc tổng thể của hệ thống => việc dự đoán tác động 
của thay đổi và việc phát hiện các vấn đề về dòng dữ 
liệu và luận lý trở nên dễ hơn.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
32
Mục đích của kỹ thuật đảo ngược
 Giảm thiểu công sức bảo trì
 Việc hiểu chương trình chiếm một tỷ lệ lớn trong toàn 
bộ thời gian cần để tạo ra sự thay đổi do thiếu các tài 
liệu phù hợp hay kiến thức về phạm vi không đủ.
 Kỹ thuật đảo ngược cung cấp biện pháp để lấy được 
thông tin đang mất => giảm công sức bảo trì. 
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
933
Các mức của kỹ thuật đảo ngược
Mức trừu tượng Các giai đoạn 
Đặc tả
Thiết kế
Thực thi
Cao
Trung bình
Thấp
Trung bình
Phục hồi đặc tả
Phục hồi thiết kế
Dẫn chứng lại 
tài liệu
Dẫn chứng lại 
tài liệu
Dẫn chứng lại 
tài liệu
Kỹ 
thuật 
đảo 
ngược
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
34
Các mức của kỹ thuật đảo ngược
 Dẫn chứng lại tài liệu (Redocumentation)
 Dẫn chứng lại tài liệu là sự tái tạo lại một biểu diễn 
tương đương về mặt ngữ nghĩa ở cùng một mức trừu 
tượng.
 Mục đích của dẫn chứng lại tài liệu:
 Tạo ra những cái nhìn khác về hệ thống nhằm gia tăng sự 
hiểu biết.
 Cải tiến tài liệu hiện có.
 Sinh ra tài liệu cho chương trình được sửa đổi gần đây => 
tạo điều kiện thuận lợi cho công việc bảo trì hệ thống trong 
tương lai (bảo trì dự phòng).
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
35
Các mức của kỹ thuật đảo ngược
 Phục hồi thiết kế (Design recovery)
 Phục hồi thiết kế cần nhận dạng và trích dẫn sự trừu tượng 
hóa mức cao hơn và có ý nghĩa dựa trên những gì thu được 
trực tiếp từ sự kiểm tra mã nguồn. 
 Thiết kế được khôi phục – không nhất thiết là thiết kế gốc –
có thể được sử dụng để:
 Tái phát triển hệ thống.
 Phát triển các ứng dụng tương tự nhưng không giống hệt.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
36
Các mức của kỹ thuật đảo ngược
 Phục hồi đặc tả (Specification recovery)
 Phục hồi đặc tả liên quan đến việc nhận dạng, trừu tượng hóa và 
mô tả các mức trừu tượng cao hơn và có ý nghĩa dựa trên thiết kế 
hay mã nguồn của hệ thống.
 Đặc tả được khôi phục bằng kỹ thuật đảo ngược có thể được sử 
dụng để:
 Hỗ trợ cho hoạt động bảo trì phần mềm mà không cần truy 
xuất vào mã nguồn. 
 Hỗ trợ bảo trì viên đạt được mức hiểu biết phù hợp để thực 
hiện sự thay đổi trên hệ thống phần mềm.
 Phát triển hay bảo trì của các hệ thống phần mềm tương tự.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
10
37
Các điều kiện để thực hiện kỹ thuật 
đảo ngược
 Điều kiện để thực hiện kỹ thuật đảo ngược 
 Liên quan đến sản phẩm / môi trường
 Liên quan đến quy trình bảo trì
 Liên quan về phương diện thương mại
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
38
Các điều kiện để thực hiện kỹ thuật 
đảo ngược
 Điều kiện để thực hiện kỹ thuật đảo ngược 
 Liên quan đến sản phẩm / môi trường
 Thiết kế / đặc tả thiếu hay không hoàn chỉnh.
 Tài liệu thiếu, không chính xác, lạc hậu.
 Độ phức tạp của chương trình gia tăng.
 Mã nguồn có cấu trúc kém.
 Cần chuyển chương trình sang ngôn ngữ lập trình khác.
 Cần tạo các sản phẩm tương thích.
 Cần di dời sang nền phần cứng hay phần mềm khác.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
39
Các điều kiện để thực hiện kỹ thuật 
đảo ngược
 Điều kiện để thực hiện kỹ thuật đảo ngược
 Liên quan đến quy trình bảo trì
 Giảm năng suất.
 Cần thay đổi hiệu chỉnh liên tục.
 Các lỗi tồn đọng gia tăng.
 Liên quan về phương diện thương mại
 Cần kéo dài thời gian sống kinh tế của hệ thống.
 Cần tạo ra sản phẩm tương tự nhưng không giống hệt.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
Lưu ý
 Trong trường hợp mã nguồn của một số chương trình (của 
hệ thống phần mềm đang được bảo trì) bị mất, bảo trì 
viên phải dùng đến các mã máy của chúng => công cụ: 
disassembler và decompiler.
 Để sử dụng kỹ thuật và công cụ đảo ngược hiệu quả, bảo 
trì viên cần có sự hiểu biết về phần mềm cấp thấp và lập 
trình cấp thấp.
 Hợp ngữ 
 Trình biên dịch
 Máy ảo và bytecode
 Hệ điều hành 40
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
11
41
Kỹ thuật tái kiến tạo (Reengineering)
 Mục đích của kỹ thuật tái kiến tạo
 Các bước trong kỹ thuật tái kiến tạo
 Một số loại tái kiến tạo
 Điều kiện sử dụng kỹ thuật tái kiến tạo
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
42
Mục đích của kỹ thuật tái kiến tạo
 Tái kiến tạo (hệ thống) để đạt các chuẩn hiện tại và nhận được 
sự hỗ trợ của các công nghệ mới hơn.
 Khai thác công nghệ mới như các chuẩn hay thư viên mới.
 Di dời hệ thống sang một hệ nền mới.
 Không bắt buộc hệ thống phải nguyên khối, các thành phần 
của nó có thể được dễ dàng đưa ra thị trường một cách riêng 
biệt hoặc kết hợp theo nhiều cách khác nhau.
 Trích xuất các thiết kế và sử dụng chúng để cài đặt mới.
 Cải thiện hiệu suất.
 
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
43
Các bước trong kỹ thuật tái kiến tạo
 Kỹ thuật đảo ngược (Reverse Engineering)
 Kỹ thuật tái cấu trúc (Restructuring)
 Kỹ thuật chuyển tiếp (Forward Engineering)
Phân tích
Mô hình 
kiến trúc mức cao
Hệ thống 
phần mềm cũ
Mô hình được tái xây 
dựng được cải tiến 
Hệ thống 
phần mềm mới
Hiểu,
Rút trích,
Trừu tượng
Tạo ra,
Tinh chỉnh
Cải tiến,
Cấu trúc lại,
Mở rộng
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
44
Các bước trong kỹ thuật tái kiến tạo
 Kỹ thuật đảo ngược
 Không thay đổi hệ thống
 Giúp hiểu hệ thống và cung cấp cách nhìn khác về hệ 
thống
 Được sử dụng khi nền tảng công nghệ của hệ thống 
phần mềm (ngôn ngữ, công cụ, máy móc, hệ điều 
hành) là lỗi thời. 
 Chi tiết về kỹ thuật đảo ngược đã được trình bày trong 
phần trước. 
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
12
45
Các bước trong kỹ thuật tái kiến tạo
 Kỹ thuật tái cấu trúc
 Chuyển đổi các biểu diễn trừu tượng (là kết quả của kỹ 
thuật đảo ngược) sang các biểu diễn khác ở cùng một 
mức trừu tượng. 
 Kỹ thuật tái cấu trúc bao gồm:
 Tái cấu trúc lại mã nguồn hoặc lược đồ cơ sở dữ liệu 
mà không thay đổi hành vi bên ngoài nhưng cải tiến 
được cấu trúc bên trong của nó.
 Phát hiện các đoạn mã trùng lặp và các đoạn mã chết 
để loại bỏ chúng.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
46
Các bước trong kỹ thuật tái kiến tạo
 Kỹ thuật chuyển tiếp
 Là ngược lại của kỹ thuật đảo ngược. 
 Tương tự như phương pháp phát triển phần mềm truyền 
thống – tiến hành từ các yêu cầu tới thực thi chi tiết thông 
qua thiết kế. 
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
47
Một số loại tái kiến tạo
 Kỹ thuật tái kiến tạo được sử dụng trong:
 Tái kiến tạo hệ thống thông tin
 Tái kiến tạo theo hướng đối tượng
 Tái kiến tạo giao diện
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
48
Một số loại tái kiến tạo
 Tái kiến tạo hệ thống thông tin
Kỹ thuật tái kiến tạo thông tin bao gồm: 
 Tái kiến tạo cơ sở dữ liệu
 Tái kiến tạo hệ chuyên gia 
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
13
49
Một số loại tái kiến tạo
 Tái kiến tạo cơ sở dữ liệu
 Dịch lược đồ: dịch trực tiếp và dịch gián tiếp.
 Chuyển đổi dữ liệu: chuyển đổi vật lý, chuyển đổi logic, và 
chương trình cầu nối.
 Chuyển đổi chương trình: viết lại, dùng chương trình cầu 
nối, cạnh tranh, dịch ngược, và cùng tồn tại.
 Tái kiến tạo hệ chuyên gia 
 Dựa trên hệ thống hiện tại: cải tiến các hệ cơ sở dữ liệu hiện 
tại, cải tiến các hệ chuyên gia hiện tại, kết nối chủ - tớ giữa 
hệ chuyên gia và hệ cơ sở dữ liệu, và kết nối ngang hàng 
cho hệ chuyên gia và hệ cơ sở dữ liệu.
 Sử dụng một hệ thống quản lý cơ sở tri thức mới: liên quan 
đến việc tìm kiếm một mô hình mới để biểu diễn tri thức.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
50
Một số loại tái kiến tạo
 Tái kiến tạo giao diện người dùng
 Phải sử dụng kỹ thuật đảo ngược để trừu tượng hóa mô 
hình khái niệm giao diện người dùng.
 Sau đó sử dụng kỹ thuật chuyển tiếp để tái cài đặt các 
giao diện người dùng bằng một công nghệ khác.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
51
Một số loại tái kiến tạo
Mô hình tái kiến tạo giao diện người dùng theo 
phương pháp của Merlo
 Hiểu giao diện ban đầu và dữ liệu mà nó di chuyển 
giữa giao diện và phần còn lại của ứng dụng
 Tổ chức lại hành vi (của giao diện hiện tại) thành một 
chuỗi có ý nghĩa trong ngữ cảnh của giao diện mới.
 Thực hiện những cải tiến nhằm tạo ra chế độ tương tác 
hiệu quả hơn.
 Xây dựng và tích hợp giao diện mới.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
52
Một số loại tái kiến tạo
Mô hình tái kiến tạo giao diện người dùng theo phương pháp 
MORPH
 Phát hiện: một phân tích tĩnh được tiến hành để xác định và 
trích xuất các mô hình thực hiện giao diện người dùng từ 
mã nguồn.
 Biểu diễn: xây dựng mô hình trừu tượng phân cấp, trong đó 
các mô hình lập trình giao diện người dùng được xác định 
là các nút lá; các thuộc tính hay nhiệm vụ tương tác khái 
niệm mức cao hơn được trừu tượng hóa từ các mô hình cấp 
thấp hơn. 
 Chuyển đổi: xác định một tập các quy tắc để chuyển mô 
hình trừu tượng thành một thực hiện cụ thể với công nghệ 
giao diện xác định. 
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
14
53
Một số loại tái kiến tạo
 Tái kiến tạo theo hướng đối tượng
 Công nghệ phần mềm hướng đối tượng trở thành mô hình 
phát triển lựa chọn của nhiều tổ chức phần mềm. 
 Hiện tại, có khá nhiều các ứng dụng được phát triển bằng 
cách sử dụng các phương pháp truyền thống => các ứng 
dụng đó phải được tái kiến tạo để chúng có thể dễ dàng 
được tích hợp với các hệ thống hướng đối tượng lớn.
 Trong tái kiến tạo hướng đối tượng, những kỹ thuật được sử 
dụng là: tái cấu trúc trong ngữ cảnh hướng đối tượng 
(refactoring) và các mẫu tái kiến tạo (reengineering 
patterns).
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
54
Tái kiến tạo công trình
 Tái kiến tạo theo hướng đối tượng
Kỹ thuật tái kiến tạo theo hướng đối tượng thực hiện những 
công việc: 
 Đảo ngược phần mềm hiện tại để tạo ra các mô hình dữ liệu, 
hành vi và chức năng phù hợp. 
 Tạo các use – case nếu hệ thống được tái kiến tạo mở rộng 
chức năng hay hành vi của ứng dụng ban đầu.
 Sử dụng các mô hình dữ liệu được tạo ra trong suốt quá trình 
đảo ngược cùng với mô hình lớp – trách nhiệm – cộng tác 
(Class – Responsibility – Collaborator) nhằm thiết lập cơ sở 
cho định nghĩa lớp. 
 Bắt đầu thực hiện các hệ thống con theo được định nghĩa và 
thiết kế hướng đối tượng.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
Điều kiện để sử dụng kỹ thuật 
tái kiến tạo
Các dấu hiệu cảnh báo dẫn đến nhu cầu sử dụng kỹ thuật 
tái kiến tạo:
 Tài liệu lỗi thời hoặc không có 
 Thiếu kiểm thử
 Người phát triển không còn làm việc
 Tài liệu và mã chương trình hiện tại không đồng bộ
 Hiểu biết hạn chế về hệ thống
 Tốn nhiều thời gian thực hiện những thay đổi đơn giản
 Cần sửa lỗi định kỳ
 Khó phân tách thành nhiều phát hành cho các nhóm khách hàng 
khác nhau
 Mã lệnh bị trùng lặp
 Mã lệnh rối, dài, không hiệu quả
55
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
56
Công cụ bảo trì
 Tiêu chuẩn để chọn công cụ bảo trì
 Các loại công cụ bảo trì
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
15
57
Tiêu chuẩn để chọn công cụ bảo trì
 Một số yếu tố cần được xem xét khi lựa chọn công cụ bảo 
trì phần mềm:
 Khả năng
 Các điểm đặc trưng
 Quan hệ vốn - lãi
 Nền tảng
 Ngôn ngữ lập trình
 Tính dễ sử dụng
 Tính mở của kiến trúc
 Sự ổn định của nhà cung cấp
 Văn hóa của tổ chức
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
58
Các loại công cụ bảo trì
 Về nguyên tắc, ta có thể phân loại công cụ bảo trì 
phần mềm dựa trên công việc mà chúng hỗ trợ. 
 Những công việc giúp phân loại công cụ bảo trì:
 Hiểu chương trình, kỹ thuật đảo ngược 
 Kiểm thử
 Quản lý cấu hình
 Lập tài liệu và đo lường
 Trong thực tế, ta khó có được sự phân loại tốt vì 
trạng thái tự nhiên đa dạng hóa và có liên quan 
với nhau của các hoạt động bảo trì phần mềm. 
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
59
Các loại công cụ bảo trì
 Một số các công cụ dùng để hiểu chương trình và đảo 
ngược:
 Bộ cắt lát chương trình 
 Bộ phân tích tĩnh
 Bộ phân tích động
 Bộ phân tích dòng dữ liệu
 Bộ tham khảo chéo
 Bộ phân tích sự phụ thuộc
 Công cụ chuyển đổi
 Công cụ dịch ngược
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
60
Ví dụ: 
Công cụ 
dùng để 
hiểu 
chương 
trình
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
16
61
Ví dụ: Công cụ dùng để hiểu chương trình
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
62
Ví dụ: Công cụ dùng để hiểu chương trình
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
63
Ví dụ: Công cụ dùng cho đảo ngược
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
64Ví dụ: Công cụ dùng cho đảo ngượcBộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
17
65Ví dụ: Công cụ dùng cho đảo ngượcBộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ 66
Các loại công cụ bảo trì
 Các công cụ hỗ trợ kiểm thử:
 Bộ mô phỏng
 Bộ sinh trường hợp kiểm thử
 Bộ sinh các đường kiểm thử 
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
67
Ví dụ: Công cụ hỗ trợ kiểm thử
Tên công cụ Đặc điểm Hệ điều hành
Datatect
- Một chương trình mạnh và trực quan cho phép tạo ra 
một loạt (gần như vô hạn) dữ liệu kiểm thử thực tế và 
lưu trong tập tin ASCII hoặc lưu trực tiếp trong các hệ 
quản trị cơ dở dữ liệu như Oracle, Sybase, SQL 
Server, và Informix.
- Tạo ra hơn 2 tỷ tên riêng, tên doanh nghiệp, địa chỉ 
đường phố, thành phố, tiểu bang, số điện thoại, 
- Có thể sử dụng kiểu dữ liệu có sẵn của Datatech hoặc 
tự tạo ra các kiểu dữ liệu riêng.
Window từ 95 trở 
lên
Allpairs - Xây dựng một tập các trường hợp kiểm thử nhỏ có thể 
chấp nhận mà vẫn đảm bảo tính bao phủ.
QuickTest Pro
- Dùng để kiểm thử chức năng và cho phép thực hiện 
kiểm thử hồi qui một cách tự động.
- Hỗ trợ sẵn một số loại chương trình thông dụng như: 
ứng dụng Windows chuẩn/Win32, ứng dụng web theo 
chuẩn HTML, XML, Visual Basic, ActiveX.
- Một số loại chương trình khác (.NET, Java, ) đòi hỏi 
phải cài đặt thêm thành phần bổ sung.
Window từ XP trở 
lên
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
68
Ví dụ: 
Công cụ 
hỗ trợ 
kiểm thử 
(Datatect)
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
18
69
Các loại công cụ bảo trì
 Những công cụ quản lý cấu hình điển hình:
 Hệ thống kiểm soát mã nguồn (Source Code Control 
System – SCCS) 
 Hệ thống kiểm soát phiên bản (Revision Control 
System - RSC)
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
70
Ví dụ: 
Công 
cụ 
kiểm 
soát 
phiên 
bản
Tên công cụ Đặc điểm
Google Code + 
Tortoise SVN
Google Code cho phép quản lý dự án từ xa; cập nhật dự án; tạo các thành 
viên của dự án; phân quyền các thành viên; ghi lại lịch sử hoạt động một cách 
chi tiết; phục hồi lại phiên bản của những thay đổi trước đó.
TortoiseSVN là hệ thống quản lý phiên bản phía client và chỉ hỗ trợ trên môi 
trường Windows. Nó được dùng để quản lý sự thay đổi giữa các phiên bản, 
mã nguồn và sự sửa đổi của các chương trình.
VisualSVN Server 
+ Tortoise SVN
VisualSVN Server cho phép quản lý dự án từ xa, cập nhật dự án (có thể 
thông qua trình duyệt web), tạo các thành viên của dự án, phân quyền các 
thành viên, ghi lại lịch sử hoạt động một cách chi tiết, phục hồi lại phiên bản 
của những thay đổi trước đó.
TortoiseSVN là hệ thống quản lý phiên bản phía client và chỉ hỗ trợ trên môi 
trường Windows. Nó được dùng để quản lý sự thay đổi giữa các phiên bản, 
mã nguồn và sự sửa đổi của các chương trình.
Eclipse 
Subversive -
Subversion (SVN) 
Team Provider
Tích hợp hệ thống kiểm soát phiên bản Subversion (SVN) với nền tảng 
Eclipse. 
Sử dụng các Subversive plug-in, ta có thể làm việc trực tiếp với các dự án 
được lưu trữ trong kho Subversion từ Eclipse workbench. 
Công cụ này
-Được sử dụng như SVN client với đầy đủ tính năng: cập nhật, đưa dữ liệu 
lên, hợp nhất các thay đổi, làm việc với các thuộc tính SVN, xem lịch sử thay 
đổi và thực hiện các hoạt động khác với SVN một cách trực tiếp từ môi trường 
Eclipse.
-Bổ sung một số tính năng cho một SVN client chuẩn: hiển thị nội dung kho 
SVN theo nhóm cấu trúc logic của cụm, nhánh và thẻ và hiển thị những thay 
đổi trên một đồ thị phiên bản trực quan.
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
71
Các loại công cụ bảo trì
 Công cụ hỗ trợ lập tài liệu
Ví dụ:
 Công cụ dựa trên siêu văn bản
 Bộ sinh lưu đồ điều khiển và dòng dữ liệu
 Bộ lưu vết các yêu cầu
 Công cụ CASE 
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ
72
Hết
Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ

File đính kèm:

  • pdfbai_giang_bao_tri_phan_mem_phan_iv_cac_ky_thuat_va_cong_cu_b.pdf