Please enable JavaScript.
Coggle requires JavaScript to display documents.
4.4 Reengineering Process - Coggle Diagram
4.4 Reengineering Process
process
described by means of process models.
example
Waterfall process model is widely used in developing well-understood software systems.
Process models
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
advantage
the system is brought into its new environment all at once.
disadvantage
the reengineering project becomes a monolithic task, which may not be desirable in all situations.
Incremental Approach
system is reengineered gradually, one step closer to the target system at a time.
advantages
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
disadvantages
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.
Iterative Approach
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
advantages
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
disadvantage
the need to keep track of the four types of components during the reengineering process.
Evolutionary Approach
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
advantages
the resulting design is more cohesive
the scope of individual components is reduced
disadvantage
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.
Partial Approach
only a part of the system is reengineered and then it is integrated with the non-engineered portion of the system
steps
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
framework
function,
documentation,
repository database, and
metrication.
function element
encapsulation, transformation,
normalization, interpretation,
abstraction, causation,
regeneration, and certification.
4.4.3 Phase Reengineering Model
proposed by Byrne and Gustafson
five phases
analysis and planning
target system testing
renovation
redocumentation
acceptance testing and system transition