Software redesign means designing and implementing a new overall structure of a software system without changing its external behavior and with the goal to increase its flexibility. More precisely, the changes aim to fix deficiencies in the software design and create structure that allow for incorporating future enhancements. The process of redesigning a software systems may result in a modified static structure and dynamic behavior.
Especially with the use of object oriented programming languages, such as Java and C++, software architecture has become an important issue. Software systems often suffer during software evolution due to quick and dirty implementations of new features, which leads to degeneration. Redesign addresses this issue. Its goal is to restore the software design to decrease the maintenance costs.
The term redesign is often used along with the terms refactoring and reeingeering. To clarifiy the meaning and the relationships of these terms, a hirarchy can be defined.
Reengineering is the general term for conducting major changes of a software system. It does not specify the software aspects that are changed.
Redesign fits in between reengineering and refactoring. It stands for creating a new software design for an existing software system and change it using refactoring.
Refactoring means updating the software design of a software system in order to increase its flexiblity. Fowler defined refactoring as follows "Refactoring is to carry out modifications as a series of small steps. Each of these transformations is called refactoring, and if done correctly will introduce no change to the behavior of the system".
These defintions place the redesign, whose meaning has not been well defined, between reengineering and refactoring. Both of these terms have been well established in the software engineering community and are useful to derive the definition of redesign.
Redesign is also a interior decorating term. It is the repostioning and changing of the homes exisiting furniture to give rooms a new and fresh look without spending money on new furniture. It involves moving the exisiting furniture (except the very large pieces) out of a room. A plan for the re-location of the furniture is done on paper and then all brought back and put in different locations. Accessories are changed with other rooms. Painting also brings a fresh look to the room.
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Redesign".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world