1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Phát triển, vận hành, bảo trì phần mềm: Chương 4 - ThS. Nguyễn Thị Thanh Trúc

66 55 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 66
Dung lượng 0,93 MB

Nội dung

Bài giảng Phát triển, vận hành, bảo trì phần mềm - Chương 4: Các tác vụ yêu cầu bảo trì cung cấp cho người học các kiến thức: Hiểu chương trình, người bảo trì và các nhu cầu thông tin, mô hình qui trình nắm bắt thông tin, reverse engineering. Mời các bạn cùng tham khảo.

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM PHÁT TRIỂN VẬN HÀNH BẢO TRÌ PHẦN MỀM ThS NGUYỄN THỊ THANH TRÚC UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung (Chương 4) HIỂU CHƯƠNG TRÌNH NGƯỜI BẢO TRÌ VÀ CÁC NHU CẦU THƠNG TIN MƠ HÌNH QUI TRÌNH NẮM BẮT THÔNG TIN REVERSE ENGINEERING Thảo luận làm tập UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Company Logo Chương 4: CÁC TÁC VỤ YÊU CẦU BẢO TRÌ 4.1 HIỂU CHƯƠNG TRÌNH 4.2 NGƯỜI BẢO TRÌ VÀ CÁC NHU CẦU THƠNG TIN 4.3 MƠ HÌNH QUI TRÌNH NẮM BẮT THƠNG TIN 4.4 REVERSE ENGINEERING UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 3: CÁC TÁC VỤ YÊU CẦU BẢO TRÌ HIỂU CHƯƠNG TRÌNH o Mục tiêu nắm bắt chương trình      Phạm vi vấn đề Hiệu thực thi Mối liên hệ Nhân – Quả (Cause-Effect) Mối liên hệ sản phẩm – Môi trường Đặc trưng Quyết định – Hỗ trợ NGƯỜI BẢO TRÌ VÀ CÁC NHU CẦU THÔNG TIN o Managers o Analysts o Designers o Programmers MƠ HÌNH QUI TRÌNH NẮM BẮT THƠNG TIN o Chiến lược nắm bắt chương trình  Top-Down Model Ill  Bottom-Up / Chunking Model  Opportunistic Model REVERSE o o o o o ENGINEERING Định nghĩa Mục đích mục tiêu reverse engineering Các mức reverse engineering Kỹ thuật hỗ trợ Các lợi điểm UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.1 HIỂU CHƯƠNG TRÌNH Mục tiêu nắm bắt chương trình o Phạm vi vấn đề o Hiệu thực thi o Mối liên hệ Nhân – Quả (Cause-Effect) o Mối liên hệ sản phẩm – Môi trường o Đặc trưng Quyết định – Hỗ trợ UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phạm vi vấn đề  Nắm bắt kiến thức phạm vi quan trọng Tác động đến vấn đề vùng phạm vi chuyên biệt, cụ thể o Vd: môi trường điều trị bệnh nhân …  Trong hệ thống lớn o Ví dụ chăm sóc sức khoẻ, viễn thơng, tài phân nhỏ thành vấn đề nhỏ, thành phần nhỏ hơn, quản lý thành đơn vị chương trình mơ đun, thủ tục, hàm o Ví dụ Trình biên dịch bao gồm thành phần parser, phân tích, phát sinh code, thành phần phân rà thành phần nhỏ  Tác động đến thay đổi, ước tính nguồn tài ngun đòi hỏi cho tác vụ bảo trì, kiến thức phạm vi vấn đề nói chung vấn đề nhỏ cụ thể cần thiết tác động trực tiếp nhân bảo trị việc chọn lựa thuật tốn phù hợp, phương pháp luận, cơng cụ  Việc chọn lựa nhân với mức độ chuyên gia kỹ phù hợp khía cạnh khác Thơng tin bao gồm từ nguồn khác – tài liệu hệ thống, end-users, chương trình nguồn UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hiệu thực thi  Ở mức cao trừu tượng, nhân bảo trì cần phải nắm (dự đốn) kết chương trình phát sinh kết từ đầu vào cho mà khơng cần biết đơn vị chương trình xây dựng để có kết tổng thể kết cho  Ở mức thấp, họ cần biết kết đơn vị chương trình tạo thực thi  Kiến thức data flow, control flow, thuật tốn thuận tiện hồn thành thực thi mục tiêu  Ví dụ người lập trình muốn biết mức trù tượng, đầu qui trình hoàn tất biên dịch mức thấp, đầu từ parser Trong khi, thông tin giúp cho người bảo trì xác định thay đổi thực thi có đạt hiệu mong đợi hay khơng UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mối liên hệ Cause-Effect Trong chương trình lớn phức tạp,kiến thức mối liên hệ quan trọng: Cho phép nhân bảo trì đưa lý làm thành phần sản phẩm phần mềm tương tác thực thi Cho phép người lập trình dự đốn phạm vi thay đổi hệ phát sinh từ thay đổi Mối liên hệ cause-effect sử dụng để lưu vết luồng thông tin qua chương trình Tại điểm mà nơi có gián đoạn bất thường luồng thông tin mang dấu hiệu nguồn phát sinh bug chương trình UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ: A string reversing program MODULE StringReversing: FROM InOut IMPORT WriteString, Write, Read, EOL,WriteLn; FROM StacksLibrary IMPORT StackType, Create, IsEmpty, Pop, Push; VAR Stack: StackType; Char, Response: CHAR; BEGIN REPEAT Create (Stack); WriteString ("Enter string to be reversed"); WriteLn; UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ: A string reversing program (tt) Read (Char); WHILE Char # EOL DO < Segment A Push (Stack, Char); Read (Char); END (* While *) WriteLn; WriteString ("Reversed string is: "); WHILE NOT IsEmpty (Stack) DO < -Segment B Pop (Stack, Char); Write (Char); END (* While *) WriteLn; WriteString ("Process another string (Y or N)? "); Read (Response); UNTIL CAP (Response) # 'Y' END StringReversing UIT-VNUHCM 2009 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 REVERSE ENGINEERING Định nghĩa Mục đích mục tiêu reverse engineering Các mức reverse engineering Kỹ thuật hỗ trợ Các lợi ích UIT-VNUHCM 2009 52 CuuDuongThanCong.com https://fb.com/tailieudientucntt Định nghĩa Abstraction –là mơ hình tóm tắt chi tiết chủ đề tái thể Forward engineering – tiếp cận công nghệ phần mềm truyền thống bắt đầu với phân tích yêu cầu tiến hành thực thi hệ thống Reengineering – Qui trình kiểm tra thơng báo nơi hệ thống thay đổi lần đầu reverse engineering sau forward engineering Restructuring – chuyển đổi hệ thống từ hình thức sang hình thức khác Reverse engineering – Qui trình phân tích hệ thống: nhận diện thành phần hệ thống mối liên hệ bên tạo thể hệ thống hình thức khác mức trừu tượng cao UIT-VNUHCM 2009 53 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tính trừu tượng Trừu tượng chức Trừu tượng liệu Trừu tượng qui trình UIT-VNUHCM 2009 54 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mục đích mục tiêu reverse engineering Khôi phục thông tin mát : To facilitate migration between platforms: Cải thiện cung cấp sưu liệu : To provide alternative views: Trích rút thành phần dùng lại : Đối phó với độ phức tạp : Dò hiệu ứng phụ: Giảm nỗ lực bảo trì : UIT-VNUHCM 2009 55 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tóm tắt mục tiêu lợi ích UIT-VNUHCM 2009 56 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các mức reverse engineering UIT-VNUHCM 2009 57 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các mức reverse engineering Redocumentation Khôi phục thiết kế Khôi phục đặc tả Những điều kiện cho Reverse Engineering UIT-VNUHCM 2009 58 CuuDuongThanCong.com https://fb.com/tailieudientucntt Kỹ thuật hỗ trợ Forward Engineering Restructuring o Control-flow-driven restructuring: o Efficiency-driven restructuring: o Adaption-driven restructuring: Reengineering UIT-VNUHCM 2009 59 CuuDuongThanCong.com https://fb.com/tailieudientucntt Bài tập UIT-VNUHCM 2009 60 CuuDuongThanCong.com https://fb.com/tailieudientucntt UIT-VNUHCM 2009 61 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các lợi ích Bảo trì o Corrective Change o Adaptive Change/Perfective change o Preventive Change Tính sử dụng lại phần mềm Reverse Engineering kỹ thuật kết hợp thực nghiệm UIT-VNUHCM 2009 62 CuuDuongThanCong.com https://fb.com/tailieudientucntt Case study 7.8 Đọc hiểu case study 7.8 Phân tích vấn đề trạng nêu: o Vấn đề tự động hóa : o Vấn đề đặt tên : o ??? Thực tập theo sau: UIT-VNUHCM 2009 63 CuuDuongThanCong.com https://fb.com/tailieudientucntt Bài tập (1) Exercise 7.1 Giải thích khác loại khác kỹ thuật reverse engineering cho ví dụ thích hợp Exercise 7.2 Thực khôi phục đặc tả thiết kế tất hay phần hệ thống phần mềm mà bạn khơng quen (hệ thống nên có 2K dòng code độ lớn) o Những kỹ thuật bạn dùng nhận diện đặc tả thiết kế sao? o Những hình thức thể bạn xem phù hợp cho tác vụ gì? Chỉ lý o Bài học kinh nghiệm mà bạn học công việc gì? UIT-VNUHCM 2009 64 CuuDuongThanCong.com https://fb.com/tailieudientucntt Bài tập (2) Exercise 7.3 Một ngân hàng có substantial investment hệ thống phần mềm viết Cobol triệu dòng code chạy 20 năm Nó dùng ngày để thực thi thao tác khác quản lý tài khoản khách hàng loans Sau vài năm cập nhật, dự định không hoạch định – hệ thống trở nên đắt tiền để bảo trì Kết là, ngân hàng muốn vài lời khuyên bước tiếp để làm o Giả sử bạn thuê làm việc nhân viên tư vấn bảo trì o Bạn cho Ngân hàng lời khuyên gì? o Chỉ lý cho đề nghị mà bạn thực UIT-VNUHCM 2009 65 CuuDuongThanCong.com https://fb.com/tailieudientucntt Yêu cầu thực tuần Viết lại báo cáo cho thảo luận lớp tập Tiếp tục chuẩn bị công việc cho nhóm Mỗi nhóm tự chuẩn bị tìm hiểu thử nghiệm công cụ hỗ trợ qui trình bảo trì  hướng dẫn sử dụng demo trước lớp Chủ động Đăng ký thuyết trình nhóm với lớp trưởng, để điều phối nhóm thuyết trình buổi học UIT-VNUHCM 2009 66 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... Company Logo Chương 4: CÁC TÁC VỤ YÊU CẦU BẢO TRÌ 4. 1 HIỂU CHƯƠNG TRÌNH 4. 2 NGƯỜI BẢO TRÌ VÀ CÁC NHU CẦU THƠNG TIN 4. 3 MƠ HÌNH QUI TRÌNH NẮM BẮT THƠNG TIN 4. 4 REVERSE ENGINEERING UIT-VNUHCM 2009... phân tích chương trình đạt chương trình kiểu ứng dụng Restructuring hay refactoring chương trình tác vụ quan trọng qui trình bảo trì Bài tập: - Tìm hiểu kỹ thuật refactoring - Chọn chương trình nguồn... chương trình o  What-How-Why cho đối tượng (object) chương trình cho việc hiểu chương trình UIT-VNUHCM 2009 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt (WHAT) Đối tượng chương trình

Ngày đăng: 11/01/2020, 19:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN