4.4 Reengineering Process - Coggle Diagram
4.4 Reengineering Process
described by means of process models.
Waterfall process model is widely used in developing well-understood software systems.
used to comprehend, evaluate, reason about, and improve processes.
described by means of important relationships among data objects, human roles, activities, and tools
An ordered set of activities designed to perform a specific task
4.4.1 Reengineering Approaches
Big Bang Approach
replaces the whole system at once
used if reengineering cannot be done in parts
the system is brought into its new environment all at once.
the reengineering project becomes a monolithic task, which may not be desirable in all situations.
system is reengineered gradually, one step closer to the target system at a time.
locating errors becomes easier, because one can clearly identify the newly added components
It becomes easy for the customer to notice progress, because interim versions are released
with multiple interim versions and their careful version controls, the incremental approach takes much longer to complete
even if there is a need, the entire architecture of the system cannot be changed.
reengineering process is applied on the source code of a few procedures at a time, with each reengineering operation lasting for a short time.
repeatedly executed on different components in different stages
it guarantees the continued operation of the system during the execution of the reengineering process
the maintainers’ and the users’ familiarities with the system are preserved
the need to keep track of the four types of components during the reengineering process.
components of the original system are substituted with re-engineered components.
existing components are grouped by functions and reengineered into new components
result, the new system is built with functionally cohesive components as needed
the resulting design is more cohesive
the scope of individual components is reduced
all the functions with much similarities must be first identified throughout the operational system
those functions are refined as one unit in the new system.
only a part of the system is reengineered and then it is integrated with the non-engineered portion of the system
the existing system is partitioned into two parts: one part is identified to be reengineered and the remaining part to be not reengineered
reengineering work is performed using either the “Big Bang” or the “Incremental” approach
the two parts, namely, the not-to-be-reengineered part and the reengineered part of the system, are integrated to make up the new system
4.4.2 Source Code Reengineering Reference Model
repository database, and
regeneration, and certification.
4.4.3 Phase Reengineering Model
proposed by Byrne and Gustafson
analysis and planning
target system testing
acceptance testing and system transition