ACM Computing Surveys
31(4), December 1999,
http://www.acm.org/surveys/Formatting.html. Copyright ©
1999 by the Association for Computing Machinery, Inc. See the permissions statement below.
Flexible CASE and Hypertext
Department of Information Processing Science Web: http://www.tol.oulu.fi/
P.O. Box 3000, FIN-90401 Oulu, Finland
Software design environments can and should be improved to serve better the needs of system developers. Emphasis should be placed on providing convivial support for knowledge structures echoing those found in the human mind. This paper describes an overall research cycle to determine how and to what extent the functionality of software design environments can be improved by using hypertext. It conceives a hypertext implementation for a full-blown CASE environment. Hypertext is incorporated into CASE tools as generic support functionality. A hypertext-based design rationale tool is also developed. These together integrate different degrees of information structures, and thus can support different uses of design information by individuals and groups. Generic objects and forms of hypertext of this kind improve the flexibility of software design environments.
Categories and Subject Descriptors: D.2.2 [Software engineering] Design Tools and Techniques, H.5.4 [Information interfaces and presentation] Hypertext/Hypermedia
General Terms: Design, Human Factors
Additional Key Words and Phrases: Computer-aided software engineering (CASE), integrated environments
Software designers use multiple ways to express their ideas and to communicate them to other team members, depending on the development phase, the methods and techniques being used, individual styles of processing information, or other factors. Sometimes they use more formal representations (e.g. data flow diagrams), defining a high degree of structure by formalizing properties and dependencies between pieces of information, and sometimes they use less formal representations (e.g. textual notes), defining a low degree of structure through free-form linkages. A generally adopted view is that a higher degree of formality is better. However, it is also possible to express a deep understanding in an informal manner, just as it is possible to hide a poor understanding behind a lot of formalism. Thus, a means of supporting the coexistence and integration of different levels of information structure should be provided in flexible Computer-Aided Software Engineering (CASE) environments.
Three golden rules for deciding about the use of hypertext presentation have been defined as: (1) there is a lot of information, (2) the information is naturally composed of small pieces of information, and (3) the relationships between the pieces can be defined and represented [Shneiderman 1989]. Rule 1 is interpreted to mean a lot of information either in quantity or in quality, the latter meaning domains where the representation of relationships becomes critical like CASE. Rules 2 and 3 are by definition fulfilled in CASE.
The applicability of hypertext to CASE has been examined in a number of projects (see Table 1). Some general-purpose hypertext systems have been used to support systems development [Akscyn 1988], [Roth 1994], and some hypertext systems have been especially designed to play different roles in CASE [Garg 1990] and other design environments [Fischer 1991]. Even if the potential of hypertext technology for CASE has been recognized, the current systems have some major weaknesses. The main research emphasis so far has been on the development of CASE environments, which are fully hypertext-based [Bigelow 1988], [Cybulski 1992], [Isakowitz 1996], or closed hypertext systems supporting the solving of specific sub-problems, such as capturing design rationale [Conklin 1988]. However, the introduction of the former would require the users to have to abandon their current tools or environments and the latter (specialized, monolithic systems) would not provide an adequate level of document integration. A more recent research approach has utilized hypertext as an alternative information representation method to more traditional modelling methods such as structured analysis or object-oriented design [Jarke 1992], [Jarke 1994]. Even if this partly addresses CASE flexibility through providing a means for informal modelling, e.g. requirements definition, it does not directly address hypertext as a means of supporting the coexistence and relation of different degrees of structure [Haake 1994].
Table 1. Different approaches to integrate hypertext with CASE.
While the existence of facilities for (1) drawing diagrams, and (2) describing and defining design objects can be presumed with any CASE environment, the general aim of hypertext becomes to improve (1) the identification of relationships between design components, and (2) the provision of annotations. These four facilities denote together the key features of a CASE environment [Chikofsky 1988]. The associative capabilities of hypertext can be regarded as a means to improve CASE functionality, which increases the quality of systems designed and decreases the perceived complexity of CASE tools.
2 Improving CASE functionality
This research has been carried out during 1991-1997 as part of the MetaPHOR research project (the acronym originates from 'Metamodelling: Principles, Hypertext, Objects and Repositories'). The overall purpose of the project is to develop models, architectures, and technical solutions for the next generation of CASE environments. These environments are characterized by a high degree of flexibility, which permits the user to adapt the environment to the organizational, team and individual needs. A central question in this is how software descriptions can be utilized and represented effectively in a user-friendly manner using emerging hypertext information technology.
An analysis of CASE literature revealed major lacks in tool support for document integration, representation of semi-structured information and developer collaboration [Oinas-Kukkonen 1992]. A conceptual framework of special hypertext software providing such support was developed, known as the intermediary hypertext agent in CASE environments [Kerola 1992]. This can be investigated from three different viewpoints or at three levels of abstraction:
The conceptual framework was instantiated by developing two hypertext systems into a full-blown CASE environment, known as MetaEdit+. The Debate Browser was added to MetaEdit+ as a new tool, and the Linking Ability was integrated into the Diagram Editor and Debate Browser as support functionality (Fig. 1a). These systems were implemented by using Smalltalk/Visual Works programming environment, which runs on most common platforms including Windows, Macintosh and Unix. To some extent, these two systems emphasize mediation at different levels of abstraction (Fig. 1b). Debate Browser focuses on organizational and conceptual support, while Linking Ability focuses on technical and conceptual support.
Figure 1a. The intermediary hypertext agent in MetaEdit+.
Figure 1b. Support for different abstraction levels by hypertext systems.
The Debate Browser [Oinas-Kukkonen 1996] is based on the idea that design is constant alternation between construction of design artifacts and argumentation on why these were designed the way they were. It utilizes a design rationale method, known as QAR (Question-Answer-aRgument), to enable argumentation within the environment. The existence of this kind of design rationale representations in the form of hypertext nodes and links supplement the traditional modelling capabilities of design environments. These can also support a gradual improvement in the understanding of the target system during development phases, instead of rushing from requirements to analysis and design without paying enough attention to reasoning.
The Linking Ability [Oinas-Kukkonen 1997] provides free-form hypertext representations to coexist with more formal design information such as diagrams, allowing developers to represent and traverse interrelationships between pieces of information and to capture contextual annotations. Hyperlinks can be placed from any component in a diagram/document into other documents at will, and the documents become immediately accessible for traversing the dependencies in the user-defined way. Other key features include a set of hyperlink types, providing support for dependency representation and navigation, requirements traceability, annotation, argumentation, and bookmarking and landmarking capabilities. The link type system can be extended through link subtypes and keywords. A variety of link navigation features are also beneficial, including a link attribute query facility, a link history list, and link lists for incoming, outgoing and dangling links.
The usability and utility of the Debate Browser and Linking Ability have been evaluated through field experiments e.g. [Oinas-Kukkonen 1998]. Debate Browser was found to be highly usable in terms of learnability, memorability, efficiency, robustness and satisfaction, and Linking Ability was found to be subjectively pleasing, efficient to use and robust, but not as easy to learn and remember as Debate Browser. Both systems were usable to the extent that all software designers with minimal training could perform model reading and to some extent authoring tasks with greater satisfaction than without them. In terms of utility, both systems were found to help design document reading through improved author-reader communication and understanding of solutions. The question, how designers can be supported in creating the appropriate associations between the design elements, needs further research.
Hypertext provides a promising approach for expressing software models in a transparent and associative manner, especially when CASE environments may have a supplemental, internal structure and action principle through hypertext systems. These also support by definition the production and integration of different kinds of knowledge which would not otherwise exist explicitly in the environment. In this manner, hypertext information systems help to make software design environments more interactive and help to make them conform with the way people think. Hypertext information systems allow for differences in interpretation and use of design information between individuals and groups in different development phases. Since hypertext systems provide such generic objects and forms of behavior, they improve the flexibility of software design environments. Flexibility is also improved by providing a means for the coexistence and integration of different degrees of information structure.
To conclude, this paper proposes for CASE:
These kinds of hypertext information systems can be utilized not only for software design but also more generally in design environments. The design rationale systems can also be applied in other problem solving situations. The core of general hypertext functionality, i.e. the ability to create, modify, traverse and delete links and annotations, can be utilized in many other knowledge-intensive applications. It may well be that hypertext functionality will become a central construct of many, if not most, applications in the future. This wide applicability arises from the inherent flexibility of hypertext information systems.[Akscyn 1988] Robert M. Akscyn, Donald L. McCracken, and Elise A. Yoder. "KMS: A Distributed Hypermedia System for Managing Knowledge in Organizations" in Communications of the ACM (CACM), 31(7), 820-835, July 1988.
[Bigelow 1988] James Bigelow. "Hypertext and CASE" in IEEE Software, 5(2), 23-27, March 1988.
[Chikofsky 1988] Elliot J. Chikofsky and Burt L. Rubenstein. "CASE: Reliability Engineering for Information Systems" in IEEE Software, 5(2), 11-16, March 1988.
[Conklin 1988] Jeff Conklin and Michael L. Begeman. "gIBIS: A Hypertext Tool for Exploratory Policy Discussion" in ACM Transactions on Office Information Systems (TOIS), 6(4), 303-331, October 1988.
[Cybulski 1992] Jacob L. Cybulski and Karl Reed. "A Hypertext-Based Software Engineering Environment" in IEEE Software, 9(2), 62-68, March 1992.
[Fischer 1991] Gerhard Fischer, Andreas C. Lemke, Raymond J. McCall, and Anders I. Morch. "Making Argumentation Serve Design" in Human-Computer Interaction, 6(3&4), 393-419, 1991.
[Garg 1990] Pankaj K. Garg and Walt Scacchi. "A Hypertext System to Manage Software Life-Cycle Documents" in IEEE Software, 7(3), 90-98, May 1990.
[Haake 1994] Jľrg M. Haake, Christine M. Neuwirth, and Norbert A. Streitz. "Coexistence and Transformation of Informal and Formal Structures: Requirements for More Flexible Hypermedia Systems" in Proceedings of the ACM European Conference on Hypermedia Technology (ECHT '94), Edinburgh, Scotland, 1-12, September 1994.
[Isakowitz 1996] TomĚs Isakowitz and Rober J. Kauffman. "Supporting search for reusable software objects. IEEE Transactions on Software Engineering, 22, 7 (July 1996), 407-423.
[Jarke 1992] Matthias Jarke. "Strategies for Integrating CASE Environments" in IEEE Software, 9(2), 54-61, March 1992.
[Jarke 1994] Matthias Jarke, Klaus Pohl, Colette Rolland, and Jean-Roch Schmitt. "Experience-based Method Evaluation and Improvement: A Process Modeling Approach" in Methods and Associated Tools for the Information Systems Life Cycle, A. A. Verrijn-Stuart and T. W. Olle (editors), IFIP Transactions A-55, North-Holland, Amsterdam, 1-27, 1994.
[Kerola 1992] Pentti Kerola and Harri Oinas-Kukkonen. "Hypertext System as an Intermediary Agent in CASE Environments" in The Impact of Computer-Supported Technologies on Information Systems Development, K.E. Kendall, K. Lyytinen, and J. I. DeGross (editors), Elsevier North-Holland, New York, 289-313, 1992.
[Oinas-Kukkonen 1992] Harri Oinas-Kukkonen. "Empowering the components and use of CASE environments with hypertext" in Proceedings of the 2nd Golden West International Conference on Intelligent Systems, Reno, Nevada, USA, 201-205, June 1992.
[Oinas-Kukkonen 1996] Harri Oinas-Kukkonen. "Debate Browser 3/4 an argumentation tool for MetaEdit+ environment" in Proceedings of the Seventh European Workshop on Next Generation of CASE Tools (NGCT '96), Crete, Greece, 77-86, May 1996.
[Oinas-Kukkonen 1997] Harri Oinas-Kukkonen. "Towards greater flexibility in software design systems through hypermedia functionality" in Information and Software Technology, 39(6), 391-397, June 1997.
[Oinas-Kukkonen 1998] Harri Oinas-Kukkonen. "Evaluating the Usefulness of Design Rationale in CASE" in European Journal of Information Systems, 9(3), 201-207, September 1998.
[Roth 1994] Tina Roth, Peter Aiken, and Scarlette Hobbs. "Hypermedia support for software development: a retrospective assessment" in Hypermedia, 6(3), 149-173, 1994.
[Shneiderman 1989] Shneiderman B., and Kearsley G. Hypertext Hands-On! An introduction to a New Way of Organizing and Accessing Information. Addison-Wesley Publishing Company, Reading, 1989.
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or firstname.lastname@example.org.