Explore Software Re-engineering: The Basics

What is Software Re-engineering | Reverse Engineering in Software Engineering

What is Software Re-engineering | Reverse Engineering in Software Engineering

                Hello Everyone , In this article we will discuss about an important topic of software engineering that is Software Re-engineering with that you will also get to learn these following topic or you can say the approaches of software re-engineering:-

  • Software Re-Engineering
  • Forward Engineering
  • Reverse Engineering
  • Restructuring

         Before starting lets see what is Software Engineering :

What is Software Engineering  :

                We can define software design as a detailed study of engineering for design , development and maintainance of different softwares .Software engineering is itself a vast topic to cover and we will not go through that ...

What is Software Re-Engineering :

  • Software Re-Engineering is a process of software development which is done to improve the maintainability of a software .
  • If you have large software  and some parts / modules needs contineous maintainance ,in such cases you need software re-engineering.
  • When we need to update a software to keep it uptodate on the current market without changing it's functionality and behaviour then on that case we need software re-engineering .
  • This process is basically applicable when some subsystem / parts of a larger system need frequent maintainance .
  • Software Re-Engineering is not only a single steps . It goes through several phases like reverse engineering ,forward engineering,software restructuring .

Phases of Software Re-Engineering :

                Whenever a software or a part of a software is taken for software re-engineering it passes the following phases with the following sequence .

                As you can see in the image , A software basically passes three phases for re-engineering :-

  1. Reverse Engineering
  2. Restructuring
  3. Forward Engineering

What is Software Re-engineering | Reverse Engineering in Software Engineering

What is Reverse Engineering :

  • Reverse Engineering is nothing getting the knowledge of existing software .
  • It is the process of getting software specification by analyzing and understanding the existing software.
  • This process is very much similar to SDLC ( Software Development Life Cycle )    .                    .
  • It is a simple process where the developers, designers looks at the codes of the existing software the want to re-engineer and and plans the changes to be made .
  • In every few months programming languages version changes . So the software is needed to be uptodate according to the version . So its very important for analyzing the existing code , so that functionality will not differ .

What is Restructuring | Program Reconstructing :

  • Software Restructuring or reconstructing is an alternative of program re-writing.
  • Software Restructuring is a process to restructure and re-construct an existing software.It is all about rearranging the source code . In this process developer may use the same programming language or may use any other programming language .
  • Re-constructing does not impact the functionality of the existing software and it's reliability.
  • Sometimes this process is applied on a software when the existing code is difficult to Test,maintain and understand.  so software restructuring in software engineering is very important.         

What is Forward Engineering :

  • Forward Engineering is the process to aquire desired software with available specifications in hand which were brought down by reverse engineering .
  • We can simply say that forward engineering is same as software engineering but with only one difference  that it is always carried out after reverse engineering.
  • Sometimes forward engineering not only provides the equivalent software as the previous but it can add new customer requirements and technologies .

Thank you for reading this Article -:)

Previous Post Next Post

Contact Form