Location: Hypertext Review / Applications / Software Engineering Site Map

7 Software Engineering

Software design and development is accomplished through the cooperative efforts of team members who have to maintain an active information base in order to improve communication and coordination. Such an active information base can be achieved by applying hypertext to the Software Development Life Cycle (SDLC) [Balzer et al., 1989]. A number of documents are produced during different phases of the life cycle. These can be integrated together to form a highly cross-referenced body of information. For example, a design module in the design statement can be tied to its appropriate requirements specification and also to the relevant fragment of source code. Fragments of code can be linked to technical manuals. Similarly, several tools and concepts of software engineering can be applied to the development, use, and maintenance of hypertext systems.

DynamicDesign was developed at Tektronix as a CASE tool based on hypertext [Bigelow & Riley, 1987]. It is used to store and link C source code, requirements specifications, and other documents. A utility called graphBuild converts C source code into a hypertext graph based on the program’s call tree. A data dictionary is built for the program containing its local and global variables. It also contains sourceBrowse, a browser that allows the developer to traverse, view, and edit a source code tree.

The Documents Integration Facility (DIF) was developed at the System Factory, University of Southern California integrating a hypertext system with software engineering tools [Garg & Scacchi, 1987]. This “software hypertext system” was implemented to exploit the facilities of software engineering tools for automated software development and the unique storage and retrieval mechanisms of hypertext. Based on the experiences with DIF, it was realized that there was a need for developing a hypertext system that could utilize its knowledge about its users and their software tasks and products. Such a system would actively participate in the software development process rather than being just a passive storage facility. The researchers later developed the Intelligent Software Hypertext System (I-SHYS). The knowledge about the environment was partly embedded in the design of I-SHYS while the remaining was defined during the use of I-SHYS.