A solution to the problem of salvaging the past investments in centralised,
mainframe-oriented software development, while keeping competitive in the
dynamic business world, consists of migrating legacy systems towards more m
odern environments, in particular client-server platforms. However, a migra
tion process entails costs and risks that depend on the characteristics of
both the architecture of the source system and the target client-server pla
tform.
We propose an approach to program decomposition as a preliminary step for t
he migration of legacy systems. A program slicing algorithm is defined to i
dentify the statements implementing the user interface component. An intera
ctive re-engineering tool is also presented that supports the software engi
neer in the comprehension of the source code during the decomposition of a
program. The focus of this paper is on the partition of a legacy system, wh
ile issues related to the re-engineering, encapsulation, and wrapping of th
e legacy components and to the definition of the middleware layer through w
hich they communicate are not tackled. (C) 2000 Elsevier Science Inc. All r
ights reserved.