Software composition with extended entity-relationship diagrams

Abstract

I introduce a compositional approach to application software development. In this approach, an extended entity-relationship diagram (EERD), which represents the component types and the relationship types within an application domain, is used as a template of executable programs in that application domain. As we use structural active objects as the components of a program, we can obtain an executable program if those components are instantiated and interconnected as dictated by an EERD. Furthermore, the graphical editor in the proposed software development environment, entity-relationship software development environment (ERSDE), uses EERDs as menus in constructing application software. An EERD used as a menu can enforce legitimate patterns of relationships among components, in addition to providing an intuitive view of available components and possible relationships among them. Two experiments were conducted in order to compare the effectiveness between EERDs and class diagrams of Object Modeling Technique (OMT) and between the ERSDE and the menu-based Structural-Active Object System (SAOS) graphical editors. From these experiments, we obtained the following results. 1. A significant proportion of the subjects who used EERDs to compose certain applications did so correctly, while only a small proportion of the students who used the OMT class diagrams composed these applications correctly. 2. Most of the subjects preferred EERDs to OMT class diagrams as design documents. 3. Although the proportion of the students who composed applications correctly with the ERSDE application editor was larger than the proportion of the students who did so with the menu-based SAOS graphical editors, this difference was statistically not significant. 4. The subjects took significantly longer time to compose applications with the menu-based SAOS editors than with the ERSDE editor. 5. All the subjects preferred the ERSDE application editor to the menu-based SAOS graphical editors as a software development environment

    Similar works