Structured analysis and design methodologies have long been recognized as the most popular tools in information systems development. They are widely accepted by practicing systems developers because they are top-down and graphical. A complex systems specification can be decomposed into an easily comprehensible modular and hierarchical structure. These structures enable practitioners to visualize the target systems and to communicate with users much more easily than conventional methods. The purpose of this book is to create a unifying framework to link and explain the various structured analysis methods and models currently being used in practice and found in the literature.
Different structured models have been found to be suitable for different situations depending on the user’s requirements, the emphasis, and the stage of development. Thus, we need more than one model during the development of a typical system. The author believes that developers should be provided with a computer-aided means of mapping one model to another, which will improve the efficiency of systems development.
In spite of the popularity of all the models, relatively little work has been done to provide a theoretical framework for them. As a result, the transition from one model to another has been somewhat arbitrary and is done manually. Automatic validation and development aids have tended to be ad hoc and model-dependent.
The author proposes a unifying framework behind the structured models and approaches the problem from the viewpoints of initial algebra and category theory. In the initial algebra framework, a term algebra of structured systems is defined as being mapped by unique homomorphisms to a DeMarco algebra of dataflow diagrams, a Yourdon algebra of structure charts, and a Jackson algebra of structure texts. The author shows that this term algebra and the DeMarco, Yourdon, and Jackson notations fit nicely into a category theoretical framework. DeMarco dataflow diagrams can be mapped to term algebras through free functors. Conversely, specifications in term algebras can be mapped to other notations such as Yourdon structure charts by means of other functors. As a corollary, the framework provides a theoretical basis for manipulating incomplete or unstructured specifications through refinement morphisms.
This book is not for the faint of heart, but if you would enjoy refreshing your knowledge of category theory and related branches of mathematics, this text will show how the power of mathematics can be used in practical ways. The author states (p. 36) that “Only a knowledge of elementary set theory is assumed in this book.” Don’t you believe him!