Bảo trì phần mềm – Phần IV: Các kỹ thuật và công cụ bảo trì – Tài liệu, ebook

13/09/2022 admin
Những công cụ quản trị thông số kỹ thuật nổi bật :  Hệ thống trấn áp mã nguồn ( Source Code Control System – SCCS )  Hệ thống trấn áp phiên bản ( Revision Control System – RSC )

pdf

18 trang

| Chia sẻ : nguyenlam99

| Lượt xem: 1000

| Lượt tải: 0

download

Bạn đang xem nội dung tài liệu 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

11 BẢO TRÌ PHẦN MỀM PHẦN IV – CÁC KỸ THUẬT VÀ CÔNG CỤ BẢO TRÌ Bộ môn Công nghệ phần mềm, Khoa CNTT và TT, Đại học Cần Thơ 2 Nội dung  Sự hiểu biết về chương trình  Kỹ thuật đảo ngược  Kỹ thuật tái kiến tạo  Các công cụ bảo trì Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 3 Sự hiểu biết về chương trình  Mục đích của việc hiểu chương trình  Yêu cầu kỹ năng và kiến thức so với bảo trì viên  Các hoạt động giải trí tương quan đến việc hiểu chương trình  Các kế hoạch để hiểu chương trình  Các yếu tố ảnh hưởng tác động đến việc hiểu chương trình Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 4 Mục đích của việc hiểu chương trình  Mục đích ở đầu cuối của việc đọc và hiểu chương trình là hoàn toàn có thể triển khai thành công xuất sắc những đổi khác được nhu yếu.  Điều này yên cầu phải có kiến thức và kỹ năng về những điểm đặc trưng của một mạng lưới hệ thống phần mềm :  Lĩnh vực yếu tố  Ảnh hưởng của sự thực thi  Quan hệ nhân – quả  Quan hệ loại sản phẩm – môi trường tự nhiên  Các điểm đặc trưng tương hỗ việc ra quyết định hành động Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 25 Mục đích của việc hiểu chương trình  Lĩnh vực yếu tố  Kiến thức về nghành yếu tố nhìn chung và về những yếu tố con nhìn riêng là thiết yếu để giúp nhân sự bảo trì trong việc :  Lựa chọn những giải thuật, chiêu thức và công cụ tương thích để triển khai sự đổi khác một cách hiệu suất cao.  Ước lượng nguồn tài nguyên cần cho hoạt động giải trí bảo trì.  Nguồn phân phối thông tin để hiểu khoanh vùng phạm vi yếu tố hoàn toàn có thể là : tài liệu về mạng lưới hệ thống, người sử dụng cuối và mã nguồn của chương trình. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 6 Mục đích của việc hiểu chương trình  Ảnh hưởng của sự thực thi  Kiến thức về tác động ảnh hưởng của sự triển khai tương hỗ nhân sự bảo trì trong việc quyết định hành động xem sự biến hóa được triển khai có đạt được hiệu suất cao mong ước hay không.  Tại mức trừu tượng cao, nhân sự bảo trì cần biết những tác dụng mà chương trình sẽ tạo ra cho một kết xuất nguồn vào xác lập mà không cần biết những đơn vị chức năng chương trình nào góp thêm phần đưa ra hiệu quả tổng lực đó hay phương pháp có được tác dụng đó.  Tại mức trừu tượng thấp, nhân sự bảo trì cần biết những hiệu quả mà những đơn vị chức năng chương trình riêng không liên quan gì đến nhau sẽ tạo ra.  Để đạt được những hiểu biết này một cách thuận tiện, nhân sự bảo trì cần có kỹ năng và kiến thức về dòng tài liệu, dòng tinh chỉnh và điều khiển và những quy mô giải thuật. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 7 Mục đích của việc hiểu chương trình  Quan hệ nhân – quả Trong những chương trình lớn và phức tạp, kỹ năng và kiến thức về quan hệ này là quan trọng vì nó :  Cho phép nhân sự bảo trì diễn giải về phương pháp mà những thành phần của mẫu sản phẩm phần mềm tương tác với nhau trong suốt sự triển khai.  Cho phép lập trình viên Dự kiến khoanh vùng phạm vi của sự biến hóa và bất kỳ hiệu ứng truyền nào hoàn toàn có thể Open từ sự biến hóa.  Có thể được sử dụng để theo vết dòng thông tin xuyên suốt chương trình. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 8 Mục đích của việc hiểu chương trình  Quan hệ loại sản phẩm – môi trường tự nhiên  Sản phẩm là mạng lưới hệ thống phần mềm.  Môi trường là hàng loạt những điều kiện kèm theo và những ảnh hưởng tác động từ bên ngoài ảnh hưởng tác động lên loại sản phẩm.  Kiến thức này hoàn toàn có thể được sử dụng để Dự kiến phương pháp mà những biến hóa trong thiên nhiên và môi trường ảnh hưởng tác động đến mẫu sản phẩm nói chung và những chương trình cơ bản nói riêng. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 39 Mục đích của việc hiểu chương trình  Các điểm đặc trưng tương hỗ việc ra quyết định hành động  Các thuộc tính của loại sản phẩm phần mềm ( như độ phức tạp hay tính hoàn toàn có thể bảo trì ) hoàn toàn có thể giúp nhân sự bảo trì trong những quá trình ra quyết định hành động về kỹ thuật và quản trị.  Các phép đo độ phức tạp của mạng lưới hệ thống hoàn toàn có thể được sử dụng để xác lập những thành phần nào của mạng lưới hệ thống cần nhiều tài nguyên hơn cho kiểm thử.  Tính hoàn toàn có thể bảo trì của mạng lưới hệ thống hoàn toàn có thể được sử dụng như một bộ đo chất lượng của mạng lưới hệ thống. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 10 Yêu cầu kỹ năng và kiến thức so với bảo trì viên  Các thành viên trong đội bảo trì gồm người quản trị, nghiên cứu và phân tích viên, phong cách thiết kế viên, lập trình viên.  Mọi thành viên của đội bảo trì không nhất thiết phải hiểu mọi mặt của mạng lưới hệ thống đang được bảo trì, tùy thuộc vào vị trí việc làm mà họ phải có kiến thức và kỹ năng về 1 số ít mặt của mạng lưới hệ thống. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 11 Yêu cầu kỹ năng và kiến thức so với bảo trì viên  Người quản trị  Cần phải có kiến thức và kỹ năng tương hỗ ra quyết định hành động nhằm mục đích đưa ra những quyết định hành động đúng. Mức độ hiểu biết cần có sẽ tùy thuộc vào quyết định hành động được ra.  Phân tích viên  Cần có kỹ năng và kiến thức về khoanh vùng phạm vi yếu tố, về quan hệ loại sản phẩm – môi trường tự nhiên. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 12 Yêu cầu kỹ năng và kiến thức so với bảo trì viên  Nhà phong cách thiết kế  Cần có kiến thức và kỹ năng về tác động ảnh hưởng của sự triển khai, quan hệ nhân – quả.  Lập trình viên  Cần có kiến thức và kỹ năng về tác động ảnh hưởng của sự triển khai của mạng lưới hệ thống tại những mức trừu tượng khác nhau, quan hệ nhân – quả và quan hệ loại sản phẩm – thiên nhiên và môi trường. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 413 Yêu cầu kiến thức và kỹ năng so với bảo trì viên  Về nguyên tắc, ta hoàn toàn có thể phân loại những vai trò của nhân sự bảo trì nhưng trong thực tiễn sự phân loại này không rõ ràng.  Việc xác lập vai trò của nhân sự bảo trì sẽ phụ thuộc vào vào những yếu tố như sự tổ chức triển khai của việc làm bảo trì và vào quy mô của nhóm bảo trì. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 14 Các hoạt động giải trí tương quan đến việc hiểu chương trình Đọc tài liệu về chương trình Đọc mã nguồn Chạy chương trình Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 15 Các hoạt động giải trí tương quan đến việc hiểu chương trình  Đọc tài liệu về chương trình để có sự hiểu biết tổng quan về mạng lưới hệ thống  Đọc, nghiên cứu và điều tra kỹ những nguồn thông tin khác nhau ( như tài liệu về mạng lưới hệ thống ).  Đọc mã nguồn để có được cái nhìn tổng thể và toàn diện và cục bộ về chương trình  Tổng thể : sự hiểu biết mức cao về mạng lưới hệ thống, phạm vi ảnh hưởng của sự biến hóa lên những phần của mạng lưới hệ thống.  Cục bộ : sự hiểu biết về một phần đơn cử của mạng lưới hệ thống. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 16 Các hoạt động giải trí tương quan đến việc hiểu chương trình  Chạy chương trình để khám phá hành vi động của chương trình  Có thể thể hiện 1 số ít điểm đặc trưng của mạng lưới hệ thống mà bảo trì viên khó hoàn toàn có thể biết nếu chỉ đọc tài liệu và mã nguồn. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 517 Các kế hoạch để hiểu chương trình  Mô hình từ trên xuống ( Top-down model )  Bắt đầu từ việc hiểu những chi tiết cụ thể mức cao của chương trình, ví dụ điển hình như nó làm cái gì và khi nào nó thực thi.  Sau đó từ từ tiến tới việc hiểu những chi tiết cụ thể mức thấp ví dụ điển hình như những kiểu tài liệu, những dòng tài liệu và điều khiển và tinh chỉnh, những quy mô thuật toán theo cách từ trên xuống. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 18 Các kế hoạch để hiểu chương trình  Mô hình từ dưới lên ( Bottom – up Mã Sản Phẩm )  Bảo trì viên nhận dạng thành công xuất sắc những mẫu ( pattern ) trong chương trình.  Những mẫu này được “ bó ” lại thành những cấu trúc mức cao có ý nghĩa hơn.  Các cấu trúc mức cao sau đó được “ bó ” lại với nhau thành những cấu trúc lớn hơn.  Lặp đi lặp lại bước trên theo kiểu từ dưới lên cho đến khi hàng loạt chương trình được hiểu. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 19 Các kế hoạch để hiểu chương trình Các cụm thứ tự cao Các cấu trúc ngữ nghĩa mức cao ( thủ tục, hàm, module ) Các cấu trúc ngữ nghĩa mức thấp ( câu lệnh ) Các cụm thứ tự mức thấp Chiều hiểu chương trình Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 20 Các kế hoạch để hiểu chương trình  Mô hình thời cơ ( Opportunistic model )  Thực tế, tiến trình để hiểu một chương trình thường hiếm khi được tổ chức triển khai một cách rành mạch như những quy mô từ trên xuống hay từ dưới lên.  Bảo trì viên có khuynh hướng nắm lấy lợi thế của bất kể manh mối nào mà họ vô tình gặp ( theo cách thời cơ ).  Bảo trì viên triển khai cả hai kế hoạch từ trên xuống và từ dưới lên, mặc dầu không đồng nhất. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 621 Các yếu tố tác động ảnh hưởng đến việc hiểu chương trình C Á C Y Ế U T Ố Ả N H H Ư Ở N G Đ Ế N V IỆ C H IỂ U C H Ư Ơ N G T R ÌN H Tri thức nghành nghề dịch vụ Tài liệu Các yếu tố triển khai / Thực tiễn lập trình Sự trình diễn / tổ chức triển khai chương trình Công cụ tương hỗ Vấn đề Ứng dụng Sự phân rã Tính module Sự che dấu thông tin Lập trình / Đặt tên danh biểu Giải thuật Bên ngoài Hệ thống Nội bộ Sự tượng trưng Thuật ngữ Sự sắp xếp Công cụ nghiên cứu và phân tích tĩnh Công cụ nghiên cứu và phân tích động Yếu tố Thành phần Lưu ý Phụ thuộc vào : Kiến thức đã có, tài liệu mạng lưới hệ thống, luận bàn Cách mà nó tương quan với ứng dụng Sự phân cấp và module Liên kết thấp, kết nối cao Độ phức tạp Định nghĩa và tuân theo những chuẩn nội bộ Nên : update khi mạng lưới hệ thống biến hóa, đúng mực và súc tích, tuân theo chuẩn Nên : tương thích, ngắn gọn, rõ ràng và thống nhất ; Tiết lộ những đặc thù cấu trúc của chương trình Tiết lộ những hành vi động của chương trình Bộ môn CNPM, Khoa CNTT và 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  Các mức của kỹ thuật đảo ngược  Các điều kiện kèm theo để triển khai kỹ thuật đảo ngược Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 23 Định nghĩa  Kỹ thuật đảo ngược là quá trình nghiên cứu và phân tích một mạng lưới hệ thống chủ thể để :  Nhận dạng những thành phần của mạng lưới hệ thống và những mối quan hệ giữa chúng.  Tạo ra những trình diễn của mạng lưới hệ thống ở một dạng khác hay ở những mức trừu tượng cao hơn. Bộ môn CNPM, Khoa CNTT và 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 kèm theo thuận tiện cho sự biến hóa bằng cách được cho phép mạng lưới 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à màn biểu diễn kiến trúc của nó.  Kỹ thuật đảo ngược hoàn toàn có thể khởi đầu từ đặc tả những nhu yếu hay từ phong cách thiết kế kiến trúc và chi tiết cụ thể hay từ mã nguồn.  Điểm mở màn thông dụng 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 và 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 kèm theo thuận tiện cho sự sơ tán giữa những nền  Cải tiến hay phân phối tài liệu  Cung cấp những cái nhìn khác về mạng lưới hệ thống  Rút trích thành phần hoàn toà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 sức lực lao động bảo trì Bộ môn CNPM, Khoa CNTT và 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, nâng cấp cải tiến hay cung ứng tài liệu  Theo thời hạn, mạng lưới hệ thống phải trải qua một chuỗi những biến hóa.  Do áp lực đè nén quản trị và những ràng buộc về thời hạn, tài liệu ( đặc tả, phong cách thiết kế ) hoàn toàn có thể không được update hay thậm chí còn không có => Mã lệnh trở thành nguồn thông tin duy nhất của mạng lưới hệ thống  Các công cụ của kỹ thuật đảo ngược được cho phép thông tin ( đặc tả, phong cách thiết kế ) này được phục sinh. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 27 Mục đích của kỹ thuật đảo ngược  Tạo điều kiện kèm theo thuận tiện cho sự di tán giữa những nền  Để chớp lấy lợi thế của một nền phần mềm hay phần cứng mới, sự phối hợp giữa kỹ thuật đảo ngược và kỹ thuật chuyển tiếp hoàn toàn có thể được sử dụng.  Các công cụ của kỹ thuật đảo ngược được sử dụng để có những đặc tả và phong cách thiết kế.  Kỹ thuật chuyển tiếp sau đó được vận dụng lên đặc tả theo những chuẩn của nền mới. Bộ môn CNPM, Khoa CNTT và 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ề mạng lưới hệ thống  Các công cụ đảo ngược hoàn toàn có thể được sử dụng để cung ứng những tài liệu khác ( như những lưu đồ : dòng tài liệu, dòng tinh chỉnh và điều khiển, quan hệ thực ) thể nhằm mục đích bổ trợ cho tài liệu hiện có. => cung ứng những cái nhìn khác về mạng lưới hệ thống Bộ môn CNPM, Khoa CNTT và 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 hoàn toàn có thể tái sử dụng  Việc tái sử dụng những thành phần có hoàn toàn có thể làm ngày càng tăng hiệu suất và cải tổ chất lượng mẫu sản phẩm.  Sự thành công xuất sắc của việc tái sử dụng những thành phần phụ thuộc vào phần nào vào tính sẵn có của những thành phần đó.  Các giải pháp và công cụ đảo ngược tạo thời cơ để truy xuất và trích ra những thành phần chương trình. Bộ môn CNPM, Khoa CNTT và 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 những yếu tố chính của những mạng lưới hệ thống thừa kế là độ phức tạp ngày càng tăng khi chúng tiến hóa.  Khi thực thi sự đổi khác, độ phức tạp phải được giải quyết và xử lý bằng cách rút ra thông tin tương quan tới sự biến hóa và bỏ lỡ cái không tương quan. Bộ môn CNPM, Khoa CNTT và 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ề mạng lưới hệ thống, những hiệu ứng gợn sóng ( hiệu ứng lề không mong ước được tạo ra và những hiện tượng kỳ lạ lạ bị bỏ lỡ ) là hiệu quả thông dụng của sự biến hóa.  Các công cụ của kỹ thuật đảo ngược giúp làm rõ kiến trúc toàn diện và tổng thể của mạng lưới hệ thống => việc Dự kiến tác động ảnh hưởng của đổi khác và việc phát hiện những yếu tố về dòng tài liệu và luận lý trở nên dễ hơn. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 32 Mục đích của kỹ thuật đảo ngược  Giảm thiểu sức lực lao động bảo trì  Việc hiểu chương trình chiếm một tỷ suất lớn trong hàng loạt thời hạn cần để tạo ra sự đổi khác do thiếu những tài liệu tương thích hay kiến thức và kỹ năng về khoanh vùng phạm vi không đủ.  Kỹ thuật đảo ngược cung ứng giải pháp để lấy được thông tin đang mất => giảm sức lực lao động bảo trì. Bộ môn CNPM, Khoa CNTT và 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 quy trình tiế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 phong cách 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 và 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 màn biểu diễn tương tự 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ề mạng lưới hệ thống nhằm mục đích ngày càng 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 kèm theo thuận tiện cho việc làm bảo trì mạng lưới hệ thống trong tương lai ( bảo trì dự trữ ). Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 35 Các mức của kỹ thuật đảo ngược  Phục hồi phong cách thiết kế ( Design recovery )  Phục hồi phong cách 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 Phục hồi – không nhất thiết là phong cách thiết kế gốc – hoàn toàn có thể được sử dụng để :  Tái phát triển mạng lưới hệ thống.  Phát triển những ứng dụng tương tự như nhưng không giống hệt. Bộ môn CNPM, Khoa CNTT và 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ả tương quan đến việc nhận dạng, trừu tượng hóa và diễn đạt những mức trừu tượng cao hơn và có ý nghĩa dựa trên phong cách thiết kế hay mã nguồn của mạng lưới hệ thống.  Đặc tả được Phục hồi bằng kỹ thuật đảo ngược hoàn toàn có thể được sử dụng để :  Hỗ trợ cho hoạt động giải trí 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 tương thích để thực thi sự đổi khác trên mạng lưới hệ thống phần mềm.  Phát triển hay bảo trì của những mạng lưới hệ thống phần mềm tựa như. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 10 37 Các điều kiện kèm theo để thực thi kỹ thuật đảo ngược  Điều kiện để triển khai kỹ thuật đảo ngược  Liên quan đến loại sản phẩm / môi trường tự nhiên  Liên quan đến quy trình tiến độ bảo trì  Liên quan về phương diện thương mại Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 38 Các điều kiện kèm theo để thực thi kỹ thuật đảo ngược  Điều kiện để triển khai kỹ thuật đảo ngược  Liên quan đến mẫu sản phẩm / thiên nhiên và môi trường  Thiết kế / đặc tả thiếu hay không hoàn hảo.  Tài liệu thiếu, không đúng chuẩn, lỗi thời.  Độ phức tạp của chương trình ngày càng tăng.  Mã nguồn có cấu trúc kém.  Cần chuyển chương trình sang ngôn từ lập trình khác.  Cần tạo những mẫu sản phẩm thích hợp.  Cần sơ tán sang nền phần cứng hay phần mềm khác. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 39 Các điều kiện kèm theo để triển khai kỹ thuật đảo ngược  Điều kiện để triển khai kỹ thuật đảo ngược  Liên quan đến tiến trình bảo trì  Giảm hiệu suất.  Cần đổi khác hiệu chỉnh liên tục.  Các lỗi tồn dư ngày càng tăng.  Liên quan về phương diện thương mại  Cần lê dài thời hạn sống kinh tế tài chính của mạng lưới hệ thống.  Cần tạo ra mẫu sản phẩm tựa như nhưng không giống hệt. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ Lưu ý  Trong trường hợp mã nguồn của một số ít chương trình ( của mạng lưới 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 những 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 suất cao, 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ệ quản lý 40 Bộ môn CNPM, Khoa CNTT và 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 và 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 ( mạng lưới hệ thống ) để đạt những chuẩn hiện tại và nhận được sự tương hỗ của những công nghệ tiên tiến mới hơn.  Khai thác công nghệ tiên tiến mới như những chuẩn hay thư viên mới.  Di dời mạng lưới hệ thống sang một hệ nền mới.  Không bắt buộc mạng lưới hệ thống phải nguyên khối, những thành phần của nó hoàn toàn có thể được thuận tiện đưa ra thị trường một cách riêng không liên quan gì đến nhau hoặc tích hợp theo nhiều cách khác nhau.  Trích xuất những phong cách thiết kế và sử dụng chúng để setup mới.  Cải thiện hiệu suất.  Bộ môn CNPM, Khoa CNTT và 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 thiết kế xây dựng được nâng cấp 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 và 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 đổi khác mạng lưới hệ thống  Giúp hiểu mạng lưới hệ thống và cung ứng cách nhìn khác về mạng lưới hệ thống  Được sử dụng khi nền tảng công nghệ tiên tiến của mạng lưới hệ thống phần mềm ( ngôn từ, công cụ, máy móc, hệ điều hành quản lý ) là lỗi thời.  Chi tiết về kỹ thuật đảo ngược đã được trình diễn trong phần trước. Bộ môn CNPM, Khoa CNTT và 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 những trình diễn trừu tượng ( là hiệu quả của kỹ thuật đảo ngược ) sang những màn 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 gồm có :  Tái cấu trúc lại mã nguồn hoặc lược đồ cơ sở tài liệu mà không biến hóa hành vi bên ngoài nhưng nâng cấp cải tiến được cấu trúc bên trong của nó.  Phát hiện những đoạn mã trùng lặp và những đoạn mã chết để vô hiệu chúng. Bộ môn CNPM, Khoa CNTT và 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ư giải pháp tăng trưởng phần mềm truyền thống cuội nguồn – thực thi từ những nhu yếu tới thực thi cụ thể trải qua phong cách thiết kế. Bộ môn CNPM, Khoa CNTT và 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 mạng lưới hệ thống thông tin  Tái kiến tạo theo hướng đối tượng người dùng  Tái kiến tạo giao diện Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 48 Một số loại tái kiến tạo  Tái kiến tạo mạng lưới hệ thống thông tin Kỹ thuật tái kiến tạo thông tin gồm có :  Tái kiến tạo cơ sở tài liệu  Tái kiến tạo hệ chuyên viên Bộ môn CNPM, Khoa CNTT và 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ở tài liệu  Dịch lược đồ : dịch trực tiếp và dịch gián tiếp.  Chuyển đổi tài liệu : quy đổi vật lý, quy đổ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 đối đầu, dịch ngược, và cùng sống sót.  Tái kiến tạo hệ chuyên viên  Dựa trên mạng lưới hệ thống hiện tại : nâng cấp cải tiến những hệ cơ sở tài liệu hiện tại, nâng cấp cải tiến những hệ chuyên viên hiện tại, liên kết chủ – tớ giữa hệ chuyên viên và hệ cơ sở tài liệu, và liên kết ngang hàng cho hệ chuyên viên và hệ cơ sở tài liệu.  Sử dụng một mạng lưới hệ thống quản trị cơ sở tri thức mới : tương quan đến việc tìm kiếm một quy mô mới để màn biểu diễn tri thức. Bộ môn CNPM, Khoa CNTT và 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 quy mô khái niệm giao diện người dùng.  Sau đó sử dụng kỹ thuật chuyển tiếp để tái setup những giao diện người dùng bằng một công nghệ tiên tiến khác. Bộ môn CNPM, Khoa CNTT và 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 giải pháp của Merlo  Hiểu giao diện khởi đầu và tài liệu mà nó chuyển dời 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 nâng cấp cải tiến nhằm mục đích tạo ra chính sách tương tác hiệu suất cao hơn.  Xây dựng và tích hợp giao diện mới. Bộ môn CNPM, Khoa CNTT và 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 giải pháp MORPH  Phát hiện : một nghiên cứu và phân tích tĩnh được thực thi để xác lập và trích xuất những quy mô triển khai giao diện người dùng từ mã nguồn.  Biểu diễn : thiết kế xây dựng quy mô trừu tượng phân cấp, trong đó những quy mô lập trình giao diện người dùng được xác lập là những nút lá ; những thuộc tính hay trách nhiệm tương tác khái niệm mức cao hơn được trừu tượng hóa từ những quy mô cấp thấp hơn.  Chuyển đổi : xác lập một tập những quy tắc để chuyển quy mô trừu tượng thành một thực thi đơn cử với công nghệ tiên tiến giao diện xác lập. Bộ môn CNPM, Khoa CNTT và 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 người tiêu dùng  Công nghệ phần mềm hướng đối tượng người tiêu dùng trở thành quy mô tăng trưởng lựa chọn của nhiều tổ chức triển khai phần mềm.  Hiện tại, có khá nhiều những ứng dụng được tăng trưởng bằng cách sử dụng những chiêu thức truyền thống cuội nguồn => những ứng dụng đó phải được tái kiến tạo để chúng hoàn toàn có thể thuận tiện được tích hợp với những mạng lưới hệ thống hướng đối tượng người dùng lớn.  Trong tái kiến tạo hướng đối tượng người dù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 người tiêu dùng ( refactoring ) và những mẫu tái kiến tạo ( reengineering patterns ). Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 54 Tái kiến tạo khu công trình  Tái kiến tạo theo hướng đối tượng người dùng Kỹ thuật tái kiến tạo theo hướng đối tượng người dùng triển khai những việc làm :  Đảo ngược phần mềm hiện tại để tạo ra những quy mô tài liệu, hành vi và công dụng tương thích.  Tạo những use – case nếu mạng lưới hệ thống được tái kiến tạo lan rộng ra công dụng hay hành vi của ứng dụng khởi đầu.  Sử dụng những quy mô tài liệu được tạo ra trong suốt quy trình đảo ngược cùng với quy mô lớp – nghĩa vụ và trách nhiệm – cộng tác ( Class – Responsibility – Collaborator ) nhằm mục đích thiết lập cơ sở cho định nghĩa lớp.  Bắt đầu thực thi những mạng lưới hệ thống con theo được định nghĩa và phong cách thiết kế hướng đối tượng người dùng. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ Điều kiện để sử dụng kỹ thuật tái kiến tạo Các tín hiệu cảnh báo nhắc nhở dẫn đến nhu yế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 tăng trưởng không còn thao tác  Tài liệu và mã chương trình hiện tại không đồng điệu  Hiểu biết hạn chế về mạng lưới hệ thống  Tốn nhiều thời hạn triển khai những biến hóa đơn thuần  Cần sửa lỗi định kỳ  Khó phân tách thành nhiều phát hành cho những nhóm người mua khác nhau  Mã lệnh bị trùng lặp  Mã lệnh rối, dài, không hiệu suất cao 55 Bộ môn CNPM, Khoa CNTT và 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 và 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ự không thay đổi của nhà sản xuất  Văn hóa của tổ chức triển khai Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 58 Các loại công cụ bảo trì  Về nguyên tắc, ta hoàn toàn có thể phân loại công cụ bảo trì phần mềm dựa trên việc làm mà chúng tương hỗ.  Những việc làm 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ý thông số kỹ thuật  Lập tài liệu và giám sát  Trong trong thực tiễn, 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ó tương quan với nhau của những hoạt động giải trí bảo trì phần mềm. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 59 Các loại công cụ bảo trì  Một số những 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ộ nghiên cứu và phân tích tĩnh  Bộ nghiên cứu và phân tích động  Bộ nghiên cứu và phân tích dòng tài liệu  Bộ tìm hiểu thêm chéo  Bộ phân tích sự nhờ vào  Công cụ quy đổi  Công cụ dịch ngược Bộ môn CNPM, Khoa CNTT và 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 và 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 và 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 và TT, ĐH Cần Thơ 63 Ví dụ : Công cụ dùng cho đảo ngược Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 64V í dụ : Công cụ dùng cho hòn đảo ngượcBộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 17 65V í dụ : Công cụ dùng cho hòn đảo ngượcBộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 66 Các loại công cụ bảo trì  Các công cụ tương hỗ kiểm thử :  Bộ mô phỏng  Bộ sinh trường hợp kiểm thử  Bộ sinh những đường kiểm thử Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 67 Ví dụ : Công cụ tương hỗ kiểm thử Tên công cụ Đặc điểm Hệ quản lý Datatect – Một chương trình mạnh và trực quan được cho phép tạo ra một loạt ( gần như vô hạn ) tài liệu kiểm thử thực tiễn và lưu trong tập tin ASCII hoặc lưu trực tiếp trong những 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 thông minh, – Có thể sử dụng kiểu tài liệu có sẵn của Datatech hoặc tự tạo ra những kiểu tài liệu riêng. Window từ 95 trở lên Allpairs – Xây dựng một tập những trường hợp kiểm thử nhỏ hoàn toàn có thể đồng ý mà vẫn bảo vệ tính bao trùm. QuickTest Pro – Dùng để kiểm thử tính năng và được cho phép thực thi kiểm thử hồi qui một cách tự động hóa. – Hỗ trợ sẵn một số ít 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, ) yên cầu phải thiết lập thêm thành phần bổ trợ. Window từ XP trở lên Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 68 Ví dụ : Công cụ tương hỗ kiểm thử ( Datatect ) Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 18 69 Các loại công cụ bảo trì  Những công cụ quản trị thông số kỹ thuật nổi bật :  Hệ thống trấn áp mã nguồn ( Source Code Control System – SCCS )  Hệ thống trấn áp phiên bản ( Revision Control System – RSC ) Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 70 Ví dụ : Công cụ trấn áp phiên bản Tên công cụ Đặc điểm Google Code + Tortoise SVN Google Code được cho phép quản trị dự án Bất Động Sản từ xa ; update dự án Bất Động Sản ; tạo những thành viên của dự án Bất Động Sản ; phân quyền những thành viên ; ghi lại lịch sử vẻ vang hoạt động giải trí một cách cụ thể ; phục sinh lại phiên bản của những đổi khác trước đó. TortoiseSVN là mạng lưới hệ thống quản trị phiên bản phía client và chỉ tương hỗ trên thiên nhiên và môi trường Windows. Nó được dùng để quản lý sự biến hóa giữa những phiên bản, mã nguồn và sự sửa đổi của những chương trình. VisualSVN Server + Tortoise SVN VisualSVN Server được cho phép quản trị dự án Bất Động Sản từ xa, update dự án Bất Động Sản ( hoàn toàn có thể trải qua trình duyệt web ), tạo những thành viên của dự án Bất Động Sản, phân quyền những thành viên, ghi lại lịch sử vẻ vang hoạt động giải trí một cách chi tiết cụ thể, hồi sinh lại phiên bản của những đổi khác trước đó. TortoiseSVN là mạng lưới hệ thống quản trị phiên bản phía client và chỉ tương hỗ trên môi trường tự nhiên Windows. Nó được dùng để quản lý sự đổi khác giữa những phiên bản, mã nguồn và sự sửa đổi của những chương trình. Eclipse Subversive – Subversion ( SVN ) Team Provider Tích hợp mạng lưới hệ thống trấn áp phiên bản Subversion ( SVN ) với nền tảng Eclipse. Sử dụng những Subversive plug-in, ta hoàn toàn có thể thao tác trực tiếp với những dự án Bất Động Sản được tàng trữ trong kho Subversion từ Eclipse workbench. Công cụ này – Được sử dụng như SVN client với vừa đủ tính năng : update, đưa tài liệu lên, hợp nhất những biến hóa, thao tác với những thuộc tính SVN, xem lịch sử dân tộc biến hóa và thực thi những hoạt động giải trí khác với SVN một cách trực tiếp từ thiên nhiên và môi trường Eclipse. – Bổ sung 1 số ít 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 biến hóa trên một đồ thị phiên bản trực quan. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 71 Các loại công cụ bảo trì  Công cụ tương hỗ 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à tinh chỉnh và dòng tài liệu  Bộ lưu vết những nhu yếu  Công cụ CASE Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 72 Hết Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ
Các file đính kèm theo tài liệu này :

  • pdfbao_tri_phan_mem_phan_iv_cac_ky_thuat_va_cong_cu_bao_tri_782.pdf
0978 922 569