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 )
18 trang
| Chia sẻ : nguyenlam99
| Lượt xem: 1206
| Lượt tải: 0
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ố tác động ảnh hưở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ể triển khai 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ệ mẫu 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ề 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ự biến hóa 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 cung ứng 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ự triển khai 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ự biến hóa được thực thi 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 tác dụng 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 các tác dụng 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, 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à 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ự 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 – thiên nhiên và môi trường 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 tác động ảnh hưởng từ bên ngoài ảnh hưởng tác độ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 biến hóa trong thiên nhiên và môi trường ảnh hưởng tác động đến loại 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ó kỹ năng và kiến thức 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 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ó 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 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 – thiên nhiên và môi trường. 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ó 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ó kỹ năng và kiến thức 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ệ 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ơ 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 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, nghiên cứu và điều tra 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 một 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 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ó triển khai. Sau đó từ từ tiến tới việc hiểu các chi tiết 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à điều khiển và tinh chỉnh, 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 Model ) 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 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ố ảnh hưởng tác độ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, tranh 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 chuẩn 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 để 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à 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à trình 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ả các 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 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ự di 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 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 các đổi khác. 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 hồi 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 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 để phân phối những tài liệu khác ( như các 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 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 giải pháp 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 triển khai sự biến hóa, độ 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 ảnh hưởng tác động của đổi khác 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 công sức của con người 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 quá trình Đặ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 quá 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 để triển khai kỹ thuật đảo ngược Điều kiện để thực thi kỹ thuật đảo ngược Liên quan đến mẫu sản phẩm / môi trường tự nhiên 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 tiến 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 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 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ý và điều hành 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 tích 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 để thiết lập 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à phân phối 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ệ quản lý và điều hành ) 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à tác dụng của kỹ thuật đảo ngược ) sang các trình 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ư giải pháp tăng trưởng phần mềm truyền thống lịch sử – triển khai 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 tiêu 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 bắt đầu và tài liệu mà nó vận động và 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 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 các quy mô thực thi 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 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 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 tiêu 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 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 công dụng hay hành vi của ứng dụng khởi đầ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 thực thi 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 đ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 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à đo lường và thống kê 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ệ điều hành 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ử trong 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 thực thi kiểm thử hồi quy 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 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ử vẻ vang hoạt động giải trí một cách chi tiết 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 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. 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 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. 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 đổi khác, thao tác với các thuộc tính SVN, xem lịch sử vẻ vang 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 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 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 :
- bao_tri_phan_mem_phan_iv_cac_ky_thuat_va_cong_cu_bao_tri_782.pdf