Software Re-Engineering
Software re-engineering means "Reorganising and modifying existing software systems to make them more maintainable". In developing a product line or migrating to modern software architecture, it is often unrealistic to start with a "green field" development effort. A realistic approach can start by analyzing legacy systems to understand the current architecture and developing a strategy for mining and reusing existing assets. Mining involves rehabilitating parts of an old system for use in a new system.

When to re-engineer
  • When system changes are mostly confined to part of the system then re-engineer that part.
  • When hardware or software support becomes obsolete.
  • When tools to support re-structuring are available.
Software Re-engineering Advantage
Reduced risk - There is a high risk in new software development in terms of development problems, staffing problems and specification problems but in software re-engineering, you are re-engineering the old product so the risk is very low. Read more about FlexOrbits Risk Management

Reduced cost - The cost of software re-engineering is often significantly less than the costs of developing new software for enterprise.

Increase efficiency - In software re-engineering, re-designing business process to make them more responsive and more efficient.

Mining software assets is crucial because of the large number of legacy systems in production as well as budgetary cutbacks. We capture and improve best practices and demonstrate how these approaches can be used in the migration to a product line practice. Our work focuses on the technical aspects of mining software assets, an integrated approach to migration planning, and conceptual understanding of basic re-engineering principles.

The technical approaches focus on two aspects of mining assets for a product line:
  • Mining components for a product line through Options Analysis for Re-engineering (OAR).
  • Mining existing systems at an architectural level through Mining Architectures for Product line (MAP) evaluation.
Options Analysis for Re-engineering identifies potential reusable components and analyzes the changes that would be needed to rehabilitate them for reuse within a software product line or new software architecture. OAR provides a set of mining options and the cost, effort and risks associated with the options. It provides insights into implicit stakeholder assumptions, constraints, and other major drivers that impact the mining of components. OAR has also been customized for working within an acquisition context.

Mining Architectures for Product line performs architecture analyses of multiple systems in a similar domain. It determines the potential for moving to common product line architecture, and identifies commonalities, variabilities, risks, and sensitivity points across the systems. MAP relies on architecture reconstruction techniques to gain an understanding of the architectures of the current systems. It then evaluates the potential of the existing architectures to form the basis for software product line architecture.

Migration Planning is required when an organization faces the challenge of migrating from legacy systems to new target systems. The migration plan addresses issues associated with phasing out the legacy systems and moving to the new system. These issues include user interface compatibility, database compatibility, transition support, system interface compatibility, and training. Using a migration plan, a development organization can help a user community make the transition in an orderly fashion.

We have contributed to conceptual issues in software re-engineering, through a "horseshoe" model in which re-engineering and architectural views of software analysis and evolution are combined. This view represents an approach that unifies the software re-engineering work at different levels of abstraction: source code, functions, and architecture. The horseshoe is not a replacement for other software re-engineering or architectural analysis techniques, but rather a description of how they are complementary in the process of controlled software evolution.

SEI- Re-Engineering Resources
  • The OAR Method
  • MAP
  • Migration Planning
  • The Horseshoe Model
  • Re-engineering Publications
Require more information about how your business Software Re-engineering would be? Fill the Free Project Evaluation Form to reach us.
Request a Call Back
captcha value

Proven Process.
World-Class Quality

Take a sneak-peek at our workflow process and our Quality policies in place.
Read more

Outsourcing to

We bring to your table a host of benefits more than just cost efficiency.
Read more

Talk to us Today.
We are all ears.

We bring to your table a host of benefits more than just cost efficiency.
Read more
FlexOrbits is a STPI Registered Company.
When you contract or outsource a project to FlexOrbits, you automatically get the assurance of top-notch quality and industry best practices approach that conform to universal standards. We have in place a stringent Quality Policy, Confidentiality Policy, Security Policy, and a comprehensive Business Continuity Plan. Rest assured, we leave no stone unturned to deliver the solutions that best