Various types of restructuring techniques and how restructuring help in maintaining a program

Software restructuring modifies source code and / or data an effort to make it amenable to future changes. In general, restructuring does not modify the overall program architecture. It tends to focus on the design details of individual modules and on local data structures define within the module.

There are following types of restructuring techniques:

(a) Code Restructuring: It is performed to yield a design that produces the same function but with higher quality than the original program. In general, code-restructuring techniques model program logic using Boolean algebra and then apply a series of transformation rules that yield restructured logic. The objective is to take “spaghetti-bowl” code and derive a procedural design that conforms to the structured programming philosophy.

(b) Data Restructuring: Before data restructuring begins, a reverse engineering activity called analysis of source code must be conducted. The intent is to extract data items and objects, to get information on data flow, and to understand the existing data structures that have been implemented. This activity is sometimes called data analysis. Once it has been completed, data redesign commences. Another form of redesign, called data rationalization, which ensures that all data naming conventions conform to local standards and that aliases are eliminated as data flow through the system.

The restructuring helps in maintaining a program in the following ways:

1.    Programs have higher quality, better documentation, less complexity, and conformance to modern software engineering practices and standards.
2.    Frustration among software engineers who must work on the program is reduced, thereby improving productivity and making learning easier.
3.    Effort requires performing maintenance activities is reduced.
4.    Software is easier to test and debug. 

No comments:

Post a Comment