5.3.01 Design Level Specifications

As noted above, the key to solving the application development problem is to create a way of keeping the development process comprised entirely of design-level specifications, avoiding all the effort normally spent transforming information back and forth between programming and design. It is very reasonable to assume that if such structures existed, algorithms could be created to generate executing systems from those structures.

 It should be noted also that, given the magnitude of the problem, it is unlikely that a single design-level structure would do the trick. But if it is necessary to create several design-level structures, it is imperative that they work in seamless concert as an integrated system. Twenty-five years ago, much excitement was generated around a series of tools called CASE (Computer Aided Software Engineering). One major reason for its downfall, however, was that the CASE tools were built on incompatible design structures that created something far short of an integrated system.

AOA is built on a set of highly integrated design structures. At the heart of the design is the ER, a logical representation of persistent data. Extending out from the ER, is the LOD, the major AOA building block and the foundation of the object oriented structure of AOA. The Domain and Technical Design objects are further extensions addressing validation and logical to physical mapping. Finally, the Dialog and Report structures are the natural fall-out of providing human interface definitions for a LOD.