Software reusability is widely believed to be a key to help overcome the ongoing software crisis by improving software productivity and quality. New computer technology and the demands of an advancing society require new and more complicated software. It is unrealistic to expect that every software system can be developed solely reusing existing software; however, software reusability has proven to be a way of enhancing software productivity and quality in different organizations. It is also believed that reuse of code segments alone does not significantly reduce software development effort.
By creating reuse support information while software is being developed (when the software is best known to software developers), the reuse effort for both software development and maintenance can be potentially reduced.
In this paper, five types of RSI are presented: Semantic Web, Horizontal Web, Vertical Web, Syntactic Web, and Alternative Web. We collectively call these five webs a Quintet Web. The Semantic Web enables software developers to locate a software segment. The Horizontal Web provides a means to reuse a block of soflware along with other types of software from other phases of a development process. The inter-phase integration of software can be performed through this Web. The Vertical Web identifies the vertical relationship of a software block to its operational environment. The Syntactic Web locates all statements in which a variable is used. The Alternative Web provides alternative software blocks that perform an identical operation.
A prototype of the Quintet Web is presented.
This is a preview of subscription content, log in to check access.
Buy single article
Instant access to the full article PDF.
Price includes VAT for USA
W. Wong,Management Guide to Software Reuse. NBS Special Publication 500-155, U.S. Department of Commere, April 1988.
G.W. Jones,Software Engineering. John Wiley & Sons: New York, New York, 1990.
T. J. Biggerstaff, and C. Richter, “Reusability framework, assessment, and directions.”IEEE Software, pp. 41–49, March 1987.
R. Prieto-Díaz, “Making software reuse work: An implementation model.”ACM SIGSOFT Software Engineering Notes 16(3), pp. 61–68, July 1991.
S. Isoda, “Experience report on software reuse project: Its structure, activities, and statistical reslt.”Proceedings: 14th International Conference on Software Engineering, 1992, pp. 320–326.
A. J. Incorvaia, A. M. Davis, and R. E. Fairley, “Case studies in software reuse.”Proceediings: The Fourteenth Annual International Computer Software and Applications Conference, 1990, pp. 301–306.
R. D. Banker, R. J. Kauffman, and D. Zweig, “Repository evaluation of software reuse.”IEEE Transactions on Software Engineering 19(4), pp. 379–389, April 1993.
M. Jarke, “Strategies for integrating CASE environments.”IEEE Software, pp. 54–61, March 1992.
J.-M. Lin, and S. R. Tsai, “Integrating existing software packages using the virtual machine technique.”Journal of Systems Software, 18 pp. 207–218, 1992.
T. L. Wang, “Evolving toward systems integration.”IEEE Software, p. 12, November 1993.
A. R. Heavner, S. A. Becker, and L. B. Pedowitz, “Integrated CASE for cleanroom development.”IEEE Software, pp. 69–76, March 1992.
C. Fernström, K.-H. Närfelt, and L. Ohlsson, “Software factory principles, archtecture, and experiments.”IEEE Software, pp. 36–44, March 1992.
W. Tracz, “Where does reuse start?”ACM SIGSOFT Software Engineering Notes 15(2), pp. 42–46, April 1990.
D. D. Cowan, T. M. Stepien, R. Ierusalimschy, and C. J. P. Lucena, “Application integration: Constructing composite applications from interactive components.”Software-Practice and Experience 23(3), pp. 255–275, March 1993.
M. Lenz, H. A. Schmid, and P. F. Wolf, “Software reuse through building blocks.”IEEE Software, pp. 34–42, July 1987.
I. Sommerville. Software Engineering. Addison-Wesley. 1995.
About this article
Cite this article
Cho, Y.S., Carver, D.L. A model for software reuse. Journal of Systems Integration 6, 181–201 (1996). https://doi.org/10.1007/BF02265085
- software reuse
- software integration
- software development
- software engineering