Lecture Software engineering II: Chapter 27 - Dr. Muzafar Khan

Chapter 27 - Software reengineering. In this chapter, the following content will be discussed: Unified theory of software evolution, reengineering, BPR model, software reengineering process model, reverse engineering. | Software Reengineering SEII-Lecture 27 Dr. Muzafar Khan Assistant Professor Department of Computer Science CIIT, Islamabad. 1 Recap Unified theory of software evolution Reengineering Business process reengineering and software reengineering BPR model Business definition, process identification, Process evaluation, process specification and design, prototyping, refinement and instantiation Software reengineering process model Inventory analysis, document restructuring, reverse engineering, code restructuring, data restructuring, forward engineering Reverse engineering 2 Restructuring Modification of source code and/or data In general, no modification of all program architecture Focus on design details of individual modules and local data structure If it involves program architecture, it becomes forward engineering Restructuring occurs when the basic architecture is solid 3 Code Restructuring Better design to perform the same function Different techniques Warnier’s logical simplification techniques Boolean algebra Conversion of “spaghetti-bowl” code into structured program Reengineering tools Resource exchange diagram maps program module and resources Program architecture is restructured to minimize coupling 4 Data Restructuring Analysis of source code prior to data restructuring Data definitions, file descriptions, I/O, and interface descriptions are evaluated Objective is to extract data related information It is also called data analysis Data redesign Data record standardization Data name rationalization Physical modifications to existing data structures 5 Forward Engineering [1/4] Consider an example “spaghetti bowl” code Modules are 2000 statements long Few meaningful comment lines 290,000 statements No other documentation Modification options Continue the ad hoc design Try to understand inner workings of the program Redesign, recode, and test the relevant portions Complete redesign, recode, and test No single “correct” choice 6 Forward Engineering [2/4] Do not | Software Reengineering SEII-Lecture 27 Dr. Muzafar Khan Assistant Professor Department of Computer Science CIIT, Islamabad. 1 Recap Unified theory of software evolution Reengineering Business process reengineering and software reengineering BPR model Business definition, process identification, Process evaluation, process specification and design, prototyping, refinement and instantiation Software reengineering process model Inventory analysis, document restructuring, reverse engineering, code restructuring, data restructuring, forward engineering Reverse engineering 2 Restructuring Modification of source code and/or data In general, no modification of all program architecture Focus on design details of individual modules and local data structure If it involves program architecture, it becomes forward engineering Restructuring occurs when the basic architecture is solid 3 Code Restructuring Better design to perform the same function Different techniques Warnier’s logical .

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.