RENAISSANCE Documents

Introduction

Foundations

Method

Book

Preface

The RENAISSANCE of Legacy Systems presents a systematic method for software system evolution. The method is the result of the ESPRIT project RENAISSANCE.

The RENAISSANCE consortium includes partners from both industry and academia. The industrial partners have identified a real need for managing their substantial base of legacy systems. These are systems which may be business-critical, but which prove difficult and expensive to maintain. All partners have collaborated to develop a comprehensive method for managing the evolution phase of the software lifecycle.

A method is of little use without accompanying practical advice. The book presents useful advice and techniques for three areas, which collectively provide the foundations for the method:

Evolution planning

How to assess legacy systems for fitness for evolution; developing possible evolution strategies for a legacy system; selecting the most appropriate evolution strategy based on a cost benefit analysis exercise; and, general management of evolution projects.

Architectural modelling

How to develop both technical and context models for legacy and new systems. We show how existing modelling notations, such as the UML can be used to develop such models.

Client/server migration

Client/server architectures; integration models; how to migrate from legacy technology to a modern distributed client/server architecture.

The method has added value because it has been evaluated and refined by the industrial partners. The book illustrates use of the method with two very different case studies. The first involves a traditional legacy system and shows how the system should be evolved according to a number of different scenarios. The second case study concerns a client/server system, which is difficult to maintain because of technology misuse. The two studies are complementary to expose much of the method.

Contents

Part A Managing Software Evolution

Background

An Abstract Model of Software Evolution

The Method

Part B Method Foundations

Evolution Planning

Architectural Modelling

Client/ Server Migration

Part C Case Studies

A Typical Legacy System

A Client/Server Legacy System

Chapter One

This chapter is designed to introduce the reader to the field of system evolution.

We begin by exposing why evolution is fundamental to software systems, and identify the main factors that drive system change.

We continue with an introduction to legacy systems. In particular, we explain why they exist and point out the legacy dilemma, which faces a significant proportion of the IT industry. Essentially, many legacy systems are business-critical, but their continued maintenance is prohibitively expensive.

We then characterise the traditional develop-and-maintain model of software development, and expose the pitfalls of this approach.

The Evolutionary paradigm is an alternative to the develop-and-maintain model. An evolutionary system is a system that is in a continual state of evolution. We present technology that enables evolutionary system development. Reengineering is essentially improvement to a system in some way. We show how reengineering appears promising as a bridge between legacy and evolutionary systems.

View this report online
Download the report in Adobe Acrobat 3 format

Chapter Two

Chapter 2 lays the groundwork on which the method is based.

In particular, we provide the rationale for the method, and present an abstract model for system evolution. The model provides three views of a legacy system: technical, economic, and managerial. These views collectively provide for sound decision-making.

We describe the generic process model, which can be split into two parts: what-to-do, and how-to-do. The former constitutes the decision making process; the latter deals with implementing the decision. The goal of the what-to-do phase is to identify an evolution strategy. An evolution strategy defines how a legacy system will evolve.

We elaborate on the following evolution strategies: continued maintenance, reengineering, and redevelopment.

View this report online
Download the report in Adobe Acrobat 3 format

Introduction

Foundations

Method

Book