Practitioner and SoftClass: A comparative study of two software reuse research projects

Abstract Software reuse is regarded by many researchers as a key factor to improving software productivity and quality. Software reuse challenges are numerous and require us to rethink the entire spectrum of activities involved in the engineering of software. In this article, we focus on the technical aspects of software reuse, namely, building reusable software, repackaging existing software to make it more readily reusable, and providing computer support for software development with reusable components. We describe two research projects, Practitioner, an ESPRIT-funded collaboration, and SoftClass, a project funded mainly by TANDEM Computers. Both projects attempt to address the above issues, with an emphasis on developing computer tools that support the various reuse activities. The representation of software components is central to both projects. The Practitioner project, which focuses on the early stages of the software life-cycle, has developed tools and representations that support domain analysis activities. SoftClass focuses on the development of representations that lend themselves to computer inferencing for the purposes of supporting design with reusable components. We conclude by summarizing the major technical differences between the projects and discussing other factors that are, in our opinion, equally important to the success of such projects.

[1]  Edward Yourdon,et al.  Object-oriented analysis , 2012 .

[2]  Paul Bassett,et al.  Frame-Based Software Engineering , 1987, IEEE Software.

[3]  Victor R. Basili,et al.  The Future Engineering of Software: A Management Perspective , 1991, Computer.

[4]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[5]  Dagobert Soergel,et al.  Organizing information - principles of data base and retrieval systems , 1985 .

[6]  Brad J. Cox,et al.  Planning the software industrial revolution , 1990, IEEE Software.

[7]  Peter Freeman,et al.  Classifying Software for Reusability , 1987, IEEE Software.

[8]  Victor R. Basili,et al.  Identifying and qualifying reusable software components , 1991, Computer.

[9]  Gerard Salton,et al.  Another look at automatic text-retrieval systems , 1986, CACM.

[10]  Edward Yourdon,et al.  Structured design : fundamentals of a discip!ine of computer proqram and system desiqn , 1979 .

[11]  Mary Shaw,et al.  Abstraction Techniques in Modern Programming Languages , 1984, IEEE Software.

[12]  Ellis Horowitz,et al.  An Expansive View of Reusable Software , 1984, IEEE Transactions on Software Engineering.

[13]  David W. Embley,et al.  Can Programmers Reuse Software? , 1987, IEEE Software.

[14]  Terry Bollinger,et al.  Making reuse cost-effective , 1991, IEEE Software.

[15]  T. Biggerstaff,et al.  Reusability Framework, Assessment, and Directions , 1987, IEEE Software.

[16]  Roy Rada,et al.  Medical expertext as regularity in semantic nets , 1990, Artif. Intell. Medicine.

[17]  Atul Prakash,et al.  Support for Reusability in Genesis , 1988, IEEE Trans. Software Eng..

[18]  Richard C. Waters,et al.  The Programmer's Apprentice: a research overview , 1988, Computer.

[19]  Yongbeom Kim,et al.  Software reuse: issues and research directions , 1991, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[20]  Ralf Steinbrüggen,et al.  Program Transformation Systems , 1983, CSUR.

[21]  Roy Rada Hypertext: from Text to Expertext , 1994, SIGB.

[22]  Roy Rada,et al.  Development and application of a metric on semantic nets , 1989, IEEE Trans. Syst. Man Cybern..

[23]  Susan P. Arnold,et al.  The Reuse System: Cataloging and Retrieval of Reusable Software , 1988, IEEE Computer Society International Conference.

[24]  Michael McGill,et al.  Introduction to Modern Information Retrieval , 1983 .

[25]  Gerhard Fischer,et al.  Cognitive View of Reuse and Redesign , 1987, IEEE Software.

[26]  M. E. Maron,et al.  An evaluation of retrieval effectiveness for a full-text document-retrieval system , 1985, CACM.

[27]  Hafedh Mili,et al.  Managing documentation for software reuse , 1992 .

[28]  C. Boldyreff,et al.  Reuse, software concepts, descriptive methods, and the practitioner project , 1989, SOEN.

[29]  Will Tracz,et al.  Software reuse myths , 1988, SOEN.

[30]  Peter Freeman,et al.  Domain engineering for software reuse , 1988 .

[31]  Roy Rada,et al.  A model of hierarchies based on graph homomorphisms , 1992 .

[32]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.