Xem mẫu

Nội dung BẢO TRÌ PHẦN MỀM PHẦN IV – CÁC KỸ THUẬT VÀ CÔNG CỤ BẢO TRÌ 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 Công nghệ phần mềm, Khoa CNTT & TT, Đại học Cần Thơ 1 2 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ 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 đối với bảo trì viên Các hoạt động liên quan đến việc hiểu chương trình Các chiến lược để hiểu chương trình Các yếu tố ảnh hưởng đến việc hiểu chương trình Mục đích của việc hiểu chương trình Mục đích cuối cùng của việc đọc và hiểu chương trình là có thể thực hiện thành công các thay đổi được yêu cầu. Điều này đòi hỏi phải có kiến thức về những điểm đặc trưng của một hệ thống phần mềm: Lĩnh vực vấn đề Ảnh hưởng của sự thực hiện Quan hệ nhân - quả Quan hệ sản phẩm - môi trường Các điểm đặc trưng hỗ trợ việc ra quyết định 3 4 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ 1 Mục đích của việc hiểu chương trình Lĩnh vực vấn đề Kiến thức về lĩnh vực vấn đề nhìn chung và về các vấn đề con nhìn riêng là cần thiết để giúp nhân sự bảo trì trong việc: Lựa chọn các giải thuật, phương pháp và công cụ phù hợp để thực hiện sự thay đổi một cách hiệu quả. Ước lượng nguồn tài nguyên cần cho hoạt động bảo trì. Nguồn cung cấp thông tin để hiểu phạm vi vấn đề có thể là: tài liệu về hệ thống, người sử dụng cuối và mã nguồn của chương trình. Mục đích của việc hiểu chương trình Ảnh hưởng của sự thực hiện  Kiến thức về ảnh hưởng của sự thực hiện hỗ trợ nhân sự bảo trì trong việc quyết định xem sự thay đổi được thực hiện có đạt được hiệu quả mong muốn hay không.  Tại mức trừu tượng cao, nhân sự bảo trì cần biết những kết quả mà chương trình sẽ tạo ra cho một kết xuất đầu vào xác định mà không cần biết những đơn vị chương trình nào góp phần đưa ra kết quả toàn diện đó hay cách thức có được kết quả đó.  Tại mức trừu tượng thấp, nhân sự bảo trì cần biết các kết quả mà những đơn vị chương trình riêng lẻ sẽ tạo ra.  Để đạt được những hiểu biết này một cách dễ dàng, nhân sự bảo trì cần có kiến thức về dòng dữ liệu, dòng điều khiển và các mô 5 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ hình giải thuật. 6 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ 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ề quan hệ này là quan trọng vì nó: Cho phép nhân sự bảo trì diễn giải về cách thức mà các thành phần của sản phẩm phần mềm tương tác với nhau trong suốt sự thực hiện. Cho phép lập trình viên dự đoán phạm vi của sự thay đổi và bất cứ hiệu ứng truyền nào có thể xuất hiện từ sự thay đổi. Có thể được sử dụng để theo vết dòng thông tin xuyên suốt chương trình. 7 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ Mục đích của việc hiểu chương trình Quan hệ sản phẩm – môi trường Sản phẩm là hệ thống phần mềm. Môi trường là toàn bộ các điều kiện và các ảnh hưởng từ bên ngoài tác động lên sản phẩm. Kiến thức này có thể được sử dụng để dự đoán cách thức mà các thay đổi trong môi trường tác động đến sản phẩm nói chung và các chương trình cơ bản nói riêng. 8 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ 2 Mục đích của việc hiểu chương trình Các điểm đặc trưng hỗ trợ việc ra quyết định Các thuộc tính của sản phẩm phần mềm (như độ phức tạp hay tính có thể bảo trì) có thể giúp nhân sự bảo trì trong các quy trình ra quyết định về kỹ thuật và quản lý. Các phép đo độ phức tạp của hệ thống có thể được sử dụng để xác định những thành phần nào của hệ thống cần nhiều tài nguyên hơn cho kiểm thử. Tính có thể bảo trì của hệ thống có thể được sử dụng như một bộ đo chất lượng của hệ thống. Yêu cầu kiến thức đối với bảo trì viên Các thành viên trong đội bảo trì gồm người quản lý, phân tích viên, 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 hệ thống đang được bảo trì, tùy thuộc vào vị trí công việc mà họ phải có kiến thức về một số mặt của hệ thống. 9 10 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ Yêu cầu kiến thức đối với bảo trì viên Người quản lý Cần phải có kiến thức hỗ trợ ra quyết định nhằm đưa ra các quyết định đúng. Mức độ hiểu biết cần có sẽ tùy thuộc vào quyết định được ra. Phân tích viên Cần có kiến thức về phạm vi vấn đề, về quan hệ sản phẩm – môi trường. 11 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ Yêu cầu kiến thức đối với bảo trì viên Nhà thiết kế Cần có kiến thức về ảnh hưởng của sự thực hiện, quan hệ nhân - quả. Lập trình viên Cần có kiến thức về ảnh hưởng của sự thực hiện của hệ thống tại các mức trừu tượng khác nhau, quan hệ nhân - quả và quan hệ sản phẩm – môi trường. 12 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ 3 Yêu cầu kiến thức đối với bảo trì viên Về nguyên tắc, ta có thể phân loại các vai trò của nhân sự bảo trì nhưng trong thực tế sự phân chia này không rõ ràng. Việc xác định vai trò của nhân sự bảo trì sẽ phụ thuộc vào những yếu tố như sự tổ chức của công việc bảo trì và vào quy mô của nhóm bảo trì. Các hoạt động liên 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 13 14 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ Các hoạt động liên 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ề hệ thống Đọc, nghiên cứu kỹ các nguồn thông tin khác nhau (như tài liệu về hệ thống). Đọc mã nguồn để có được cái nhìn tổng thể và cục bộ về chương trình Tổng thể: sự hiểu biết mức cao về hệ thống, phạm vi ảnh hưởng của sự thay đổi lên các phần của hệ thống. Cục bộ: sự hiểu biết về một phần cụ thể của hệ thống. Các hoạt động liên quan đến việc hiểu chương trình Chạy chương trình để tìm hiểu hành vi động của chương trình Có thể bộc lộ một số điểm đặc trưng của hệ thống mà bảo trì viên khó có thể biết nếu chỉ đọc tài liệu và mã nguồn. 15 16 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ 4 Các chiến lược để 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 mức cao của chương trình, chẳng hạn như nó làm cái gì và khi nào nó thực hiện. Sau đó dần dần tiến tới việc hiểu các chi tiết mức thấp chẳng hạn như các kiểu dữ liệu, các dòng dữ liệu và điều khiển, các mô hình thuật toán theo cách từ trên xuống. Các chiến lược để 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 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 toàn bộ chương trình được hiểu. 17 18 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ Các chiến lược để 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 chiến lược để hiểu chương trình Mô hình cơ hội (Opportunistic model) Thực tế, quy trình để hiểu một chương trình thường hiếm khi được tổ chức một cách rành mạch như các mô hình từ trên xuống hay từ dưới lên. 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ảo trì viên có khuynh hướng nắm lấy lợi thế của bất cứ manh mối nào mà họ tình cờ gặp (theo cách cơ hội). Bảo trì viên thực hiện cả hai chiến lược từ trên xuống và từ dưới lên, mặc dù không đồng bộ. 19 20 Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ Bộ môn CNPM, Khoa CNTT & TT, ĐH Cần Thơ 5 ... - tailieumienphi.vn
nguon tai.lieu . vn