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 ...
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:
- bai_giang_bao_tri_phan_mem_phan_iv_cac_ky_thuat_va_cong_cu_b.pdf