RENAISSANCE Rationale

Current Position & Market Trends

Rationale

These trends constitute the fundamental rationale for the work which we propose here.

While code analysis tools are important, they provide only a partial solution to the problems of evolution. Organisations urgently need support and guidance on how to improve their evolution processes. They are reluctant, however, to make large capital investments in specialised tool support which may have a limited lifetime and applicability as they may have already invested in CASE tools and code re-engineering support.

The application partners in the RENAISSANCE project are already involved in providing re-engineering solutions but they identified a number of key problems which they face and which are not addressed by current technology:

  1. Most re-engineering support is tool-based with no supporting evolution method.
  2. Adapting existing systems to a client-server architecture is an ad-hoc process with little or no method or tool support.
  3. Current tools for design recovery work only with single systems. Most systems exist in multiple versions or system families. Currently, these have to be analysed and understood individually.
  4. Most re-engineering tools are based on COBOL or FORTRAN. Now, applications written in the 1980's using 4GLs are become more and more expensive to maintain.
  5. Software reuse is becoming increasingly widely accepted but it remains difficult to find large-scale reusable components. Potential benefits from sub-system reuse are very high.
  6. Technical managers are faced with different evolution options such as re-engineering, recycling (where some code is reused), continued maintenance or refurbishment where part of the system is replaced. They have no means of choosing which option offers the lowest costs and risks.

We strongly believe that the most cost-effective way to address these problems is to provide an evolution method which addresses these problems. This should exploit existing CASE support and should not require high capital investment in new tools.

Because of the very high costs of evolution, even a 5% reduction in costs from such a method would be very significant. Of equal importance, the use of an evolution method will speed up the evolution process thus allowing software development groups to be more responsive to their customers' needs.

Current Position & Market Trends

Rationale