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