Abstract

In this paper we consider the problem of extracting a design for an existing software system. This problem is clearly relevant to understanding and maintaining software systems. The basis of our approach is a formalization of top-down design with information hiding. This formalization allows an accurate and concise formulation of constructing an a posteriori design for a software system using only the source text. The theory predicts that in general there are many possible designs and that these designs can be partially ordered and form a lattice. The lattice has a smallest element and this element is the best top-down design in the sense that it has the most information hiding. We show how this element can be constructed.A tool has been built on the basis of the theory developed here. It has been applied to many software systems, written in various programming languages. These applications have shown that the theory is successful and can be used for understanding, documenting, maintaining, and restructuring software systems, without requiring from the user a detailed knowledge of the underlying theory.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call