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

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: 1207

| 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 kiến thức và kỹ năng 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 sau cuối của việc đọc và hiểu chương trình là hoàn toàn có thể thực thi thành công xuất sắc các biến hóa được nhu yếu.  Điều này yên cầu phải có kỹ năng và kiến thức 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ự triển khai  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 nghề dịch vụ yếu tố nhìn chung và về các 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 các giải thuật, giải pháp 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ề ảnh hưởng tác động của sự thực thi tương hỗ nhân sự bảo trì trong việc quyết định hành động xem sự đổi khác đượ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 hiệu quả 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 hiệu quả đó.  Tại mức trừu tượng thấp, nhân sự bảo trì cần biết các 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ó kiến thức và kỹ năng về dòng tài liệu, dòng tinh chỉnh và điều khiển và các 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 các chương trình lớn và phức tạp, kiến thức và kỹ năng 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à các 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ự thực thi.  Cho phép lập trình viên Dự kiến khoanh vùng phạm vi của sự đổi khác 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 các điều kiện kèm theo và các ảnh hưởng tác động từ bên ngoài tác động ảnh hưởng lên mẫu 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à các đổi khác 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à các 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 mẫu 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 các 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 kiến thức và kỹ năng 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ề một 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 kiến thức và kỹ năng so với bảo trì viên  Người quản trị  Cần phải có kỹ năng và kiến thức tương hỗ ra quyết định hành động nhằm mục đích đưa ra các 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ó kiến thức và kỹ năng về khoanh vùng phạm vi yếu tố, về quan hệ mẫu 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 kiến thức và kỹ năng so với bảo trì viên  Nhà phong cách thiết kế  Cần có kỹ năng và kiến thức 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ự thực thi của mạng lưới hệ thống tại các mức trừu tượng khác nhau, quan hệ nhân – quả 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ơ 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 các vai trò của nhân sự bảo trì nhưng trong 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ẽ nhờ 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, điều tra và nghiên cứu kỹ các 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 toàn diện và tổng thể 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ự đổi khác lên các 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 để tìm hiểu và 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 các 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ó triển khai.  Sau đó từ từ tiến tới việc hiểu các cụ thể mức thấp ví dụ điển hình như các kiểu tài liệu, các dòng tài liệu và tinh chỉnh và điều khiển, các 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 các 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ế, quy trình tiến độ để 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ư các 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 thực thi cả hai kế hoạch từ trên xuống và từ dưới lên, mặc dầu không đồng điệu. 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 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, bàn luậ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 các chuẩn nội bộ Nên : update khi mạng lưới hệ thống đổi khác, đú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ộ các đặc thù 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 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 để thực thi 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à tiến 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 các thành phần của mạng lưới hệ thống và các mối quan hệ giữa chúng.  Tạo ra các màn biểu diễn của mạng lưới 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 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ự đổi khác 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ể mở màn từ đặc tả các nhu yếu hay từ phong cách thiết kế kiến trúc và cụ thể hay từ mã nguồn.  Điểm khởi đầu phổ cập 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 các 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 công sức của con người 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 phân phối 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 các biến hóa.  Do áp lực đè nén quản trị và các 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ự sơ tán giữa các 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ự tích 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ó các đặ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 các 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ư các lưu đồ : dòng tài liệu, dòng điều khiển và tinh chỉnh, quan hệ thực ) thể nhằm mục đích bổ trợ cho tài liệu hiện có. => phân phối 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 các 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 loại sản phẩm.  Sự thành công xuất sắc của việc tái sử dụng các thành phần phụ thuộc vào phần nào vào tính sẵn có của các thành phần đó.  Các chiêu thức và công cụ đảo ngược tạo thời cơ để truy xuất và trích ra các 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 các yếu tố chính của các 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ự đổi khác 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, các hiệu ứng gợn sóng ( hiệu ứng lề không mong ước được tạo ra và các hiện tượng kỳ lạ lạ bị bỏ lỡ ) là hiệu quả phổ cập 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 biến hóa và việc phát hiện các 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ự biến hóa do thiếu các 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 phân phối 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 các ứng dụng tựa 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 các 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 các mạng lưới hệ thống phần mềm tương tự như. Bộ môn CNPM, Khoa CNTT và TT, ĐH Cần Thơ 10 37 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 mẫu sản phẩm / thiên nhiên và môi trường  Liên quan đến tiến trình 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 để thực thi kỹ thuật đảo ngược  Liên quan đến loại 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 mực, 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 các 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 để thực thi kỹ thuật đảo ngược  Điều kiện để thực thi kỹ thuật đảo ngược  Liên quan đến quá trình bảo trì  Giảm hiệu suất.  Cần biến hóa 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 loại sản phẩm tương tự 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 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 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 các chuẩn hiện tại và nhận được sự tương hỗ của các công nghệ tiên tiến mới hơn.  Khai thác công nghệ tiên tiến mới như các 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, các 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 phối hợp theo nhiều cách khác nhau.  Trích xuất các 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 kiến thiết 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 biến hóa 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 các trình diễn trừu tượng ( là hiệu quả của kỹ thuật đảo ngược ) sang các 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 các đoạn mã trùng lặp và các đ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ư chiêu thức tăng trưởng phần mềm truyền thống cuội nguồn – thực thi từ các 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 các hệ cơ sở tài liệu hiện tại, nâng cấp cải tiến các 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 thiết lập các 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 chiêu thức 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 chiêu thức MORPH  Phát hiện : một nghiên cứu và phân tích tĩnh được triển khai để xác lập và trích xuất các quy mô triển khai giao diện người dùng từ mã nguồn.  Biểu diễn : kiến thiết xây dựng quy mô trừu tượng phân cấp, trong đó các quy mô lập trình giao diện người dùng được xác lập là các nút lá ; các 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ừ các quy mô cấp thấp hơn.  Chuyển đổi : xác lập một tập các quy tắc để chuyển quy mô trừu tượng thành một triển khai đơ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 dùng  Công nghệ phần mềm hướng đối tượng người 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 các ứng dụng được tăng trưởng bằng cách sử dụng các chiêu thức truyền thống cuội nguồn => các ứ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 các 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 tiêu 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 dùng ( refactoring ) và các 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 tiêu 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 các quy mô tài liệu, hành vi và tính năng tương thích.  Tạo các use – case nếu mạng lưới hệ thống được tái kiến tạo lan rộng ra tính năng hay hành vi của ứng dụng bắt đầu.  Sử dụng các 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 triển khai các 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 tiêu 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 nhất  Hiểu biết hạn chế về mạng lưới hệ thống  Tốn nhiều thời hạn thực thi những đổi khác đơ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 các 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 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 các 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ố 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ộ 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 các đườ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ý và điều hành 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 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ảm ứng, – Có thể sử dụng kiểu tài liệu có sẵn của Datatech hoặc tự tạo ra các kiểu tài 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ỏ 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 triển khai kiểm thử hồi quy một cách tự động hóa. – Hỗ trợ sẵn 1 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 setup 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 các thành viên của dự án Bất Động Sản ; phân quyền các thành viên ; ghi lại lịch sử dân tộc 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 biến hóa 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 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 đượ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 các thành viên của dự án Bất Động Sản, phân quyền các thành viên, ghi lại lịch sử dân tộc 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ự biến hóa 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 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 các Subversive plug-in, ta hoàn toàn có thể thao tác trực tiếp với các 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 không thiếu tính năng : update, đưa tài liệu lên, hợp nhất các biến hóa, thao tác với các thuộc tính SVN, xem lịch sử dân tộc biến hóa và triển khai các hoạt động giải trí khác với SVN một cách trực tiếp từ môi trường tự nhiên 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 đổi khác 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 các 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
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

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay