An investigation into methods for the evolutionary development of computer-aided design systems
A basic requirement of all CAD systems, is that the facilities offered remain relevant to the current needs of users. A characteristic of CAD system users is that their requirements continually change or, to be more accurate, evolve, as their understanding of the design problem and available technology develops. This trait is exemplified by their inability to articulate requirements, both immediate and future with any degree of confidence. Industrial experience of using the traditional methods for developing information systems, which are based upon the Linear Life Cycle (LLC) concept, has proven to be unsuitable for CAD applications. Its failure results from the premise that users' requirements may be accurately stated at the start of the cycle and will not change with time. The need for a new development strategy which supports the evolving requirements of CAD system users is therefore evident. This research resulted in the formulation of such a development strategy. It is based upon an evolutionary approach to system development in which the users' requirements are initially satisfied by the design and implementation of a pilot sub-system which in turn forms the basis for evolution by, its incremental modification and/or extension. The success of this approach principally lies in the ability to modify the software as required with tbe minimum of resources. A major factor determining the degree to which a system may be modified was identified to beits software configuration. A number of design techniques were proposed which contributed to highly flexible configurations, principally through the criteria for functional partitioning, decoupling of functional modules from data storage and the method of organising the data. A new type of data structure was also devised which enabled new data entities and relationships to be added with no modification to the software structure. The development methods resulting from this research were extensively validated during the design and implementation of a large scale industrial CAD system.