Subscribe by Email

Monday, June 18, 2012

What is meant by Software Reengineering Process Model?

Software re- engineering process model is based up on the principles of the software re- engineering that was proposed by Chifosky in the year of 1990.  Before we discuss about the software re- engineering process model let us see what software re- engineering is.

What is Software Re-engineering?

- The software re- engineering is considered to be a process that alters a software system and thus reconstituting it in to a new form that is better than its previous form.
- The process of the re- engineering usually occurs after the software system or application has been reverse engineered. 
- The re- engineering is also carried out for the addition of the new functionalities or to correct the discovered faults and errors. 
- Sometimes this whole process is often collectively called as reverse engineering. 
But there is a subtle difference between the two! 
- The former process i.e., the reverse engineering is like an initial examination of the software system and the latter is like the subsequent modification. 
- Re- engineering of the software systems often comes in to play where there is an involvement of a legacy system. 
- In such cases the re- engineering can be considered to be a process that re- structures a legacy system in to a new system that is constituted of much better features and functionality and maintain the quality constraint.

Re- engineering is not a thing that can be achieved in an instant rather it takes a lot of time since there is a utilization of many information technological resources over the years. Therefore every organization requires a well defined strategy for carrying out the software re-engineering. 

Steps in Software re-engineering process model

The software engineering process model consists of the following steps:
1.Inventory analysis: Analysis of all the active applications listed in the inventory of an organization.
2.Document reconstruction: The software systems that are business critical are re- documented.
3. Reverse engineering
4. Code restructuring: It involves the analyzation of the source code and reviewed again.
5. Data restructuring: It begins with reverse engineering and ends with the review of all the data structures.

Scenario behind software re-engineering process
- Software re- engineering process serves the purpose of bringing up the poorly documented and poorly structured code to a standard that is maintainable and acceptable. 
- Let us see the scenario behind the need of re- engineering. 
- In a code that is poorly controlled and maintained, lies either a large number of files spread over a number of locations or consists of only a single file consisting of a very lengthy code.
Observing these files, one could notice that the comments do not appear to have any relationship with the code itself and the associated documentation has become outdated or refers to the previous versions of that software system or application that has underwent many modifications since then which were left undocumented. 
- To say, an executable file does exists but many decisions have to be taken to run it. 
- At this point the identification of the actual objectives of the software re- engineering process becomes important. 
- There might be so many problems underlying those decisions that now can be easily addressed. 
- It is very important that before beginning with the re- engineering of the whole code that you check its correctness otherwise you will suffer a major set back if you would have been re- engineering the wrong code all the time. 
- At the end of the process the final code needs to be base-lined with the associated project log and the documentation.
- The re- engineered software system or application is brought to a well defined stage at which it can be considered to be ready for the release and also its future maintenance will be less arduous.

No comments:

Facebook activity