Skip to main content

Introducing a software reuse culture in practice

  • Conference paper
  • First Online:
Software Engineering Education (CSEE 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 750))

Included in the following conference series:

  • 144 Accesses

Abstract

The following paper deals with experiences derived from an industrial consulting project for designing a reuse model. The model is oriented towards actual use in practice and therefore also towards different levels of reuse intensity. It was outlined for a company employing more than 200 software engineers who primarily develop software for bank services and bank administrations. The field of investigation on hand is connected with a lot of vital software engineering (SE) questions for any larger developer: heterogeneity in age of software, heterogeneity of applications, heterogeneity of development environments as well as different levels of software engineering consciousness and of knowledge among the software engineers. The model presented is drawn from state-of-the-art suggestions in reuse research which were adapted to meet local constraints of time and costs. The model can be taken as a recipe for reuse in practice as it is providing three different levels of reuse intensities/investments, and thus returning three different levels of reuse maturity.

Level I reuse maturity in practice is to achieve maintainability: Many older programs turned out to be widely undocumented; often requirements and/or abstract design were missing, the programs do not meet basic criteria of maintainability.

Level II reuse maturity is represented by balance within similar projects: We define a group of software systems as balanced, if there is a clear top-down structure from the general to the specific in documents concerning analysis, design, code and test. A new but similar system can be designed reusing upper level software document components and adapting lower level ones.

Level III reuse maturity affords several technical and organizational efforts to establish a true reuse culture. Making a reuse culture work needs developing, providing and enforcing of standards. On the technical level this requires the use of repositories for all phases of development as well as the application of quality assurance methodology. On the organizational level cooperation among people responsible for the development of standards (metric analysis, quality check through reviews) as well as those coordinating the reuse environment is required. The roles for a reuse culture as well as the educational prerequisites are defined.

The value of the presented work lies in mapping the reuse state-of-the-art to often appearing financial and organizational restrictions consciously, thus opening possibilities beyond the “total reuse or no reuse” advice.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Arango: Domain Analysis: From art form to Engineering discipline. ACM, pp.152–159 (1989)

    Google Scholar 

  2. S.P., Arnold, S.L. Stepoway: The Reuse System: Cataloging and Retrieval of Reuse Software. Proceedings of COMPCON 1987, pp. 376–379

    Google Scholar 

  3. V.R. Basili, H.D. Rombach: Support for comprehensive reuse,. Software Eng. J., Sept. 1991, pp. 303–316

    Google Scholar 

  4. B. Beizer: Software Testing Techniques. Van Nostrand Reinhold, 2nd ed., (1990)

    Google Scholar 

  5. L.A. Belady: Foreword. in: Software Reusability (vol. I), Concepts and Models,. Addison Wesley, p. vii–viii (1989)

    Google Scholar 

  6. H. Berlack: Software Configuration Management. Wiley 1992

    Google Scholar 

  7. T.J. Biggerstaff, A.J. Perlis: Foreword (Special issue on software Reusability). IEEE Transactions on SE, Sept. 1984, pp. 474–476

    Google Scholar 

  8. T. Biggerstaff, Ch. Richter: Reusability Framework, Assessment, and Directions. IEEE Software 4(2): 41–49, March 1987

    Google Scholar 

  9. T. Biggerstaff: Design recovery for maintenance and reuse. IEEE Computer 22(7): 36–49 (1989)

    Google Scholar 

  10. T.J. Biggerstaff, A.J. Perlis: Software Reusability. ACM-Press 1989

    Google Scholar 

  11. B.A. Burton, R.W. Aragon: The reusable software Library. IEEE Software, July 1987, pp. 25–33

    Google Scholar 

  12. G. Caldiera, V. Basili: Identifying and Qualifying Reusable software Components. IEEE Computer, Feb. 91, pp. 61–70

    Google Scholar 

  13. M. Cavaliere: Reusable Code at the Hartford Insurance Group, in: T. Biggerstaff and A. Perlis: “Software Reusability — Vol. 2, Applications and Experience”. Addison Wesley and acm Press, 1989, and in: Proc. of the ITT Workshop on Reusability in Programming, Newport R. I., 1983.

    Google Scholar 

  14. P. Devanbu, R.J. Brachman: LaSSIE: A Knowledge-Based software Information System. CACM 34(5): 34–49, May 1991

    Google Scholar 

  15. R. Fairley, S. Pfleeger et al.: Final Report: Incentives for Reuse of Ada Components. vols. 1 through 5, George Mason University, Fairfax, Va., 1989

    Google Scholar 

  16. W.B. Frakes, B.A. Nejimeh: An Information System for Software Reuse. Proceedings of the Tenth Minnowbrook Workshop on Software Reuse 1987

    Google Scholar 

  17. J. Goguen: Principles of Parameterized Programming. in: T. Biggerstaff and A. Perlis: Software Reusability — Vol. 1, Concepts and Models. Addison Wesley and acm Press, 1989 (ext. vers, of IEEE TR-SE, Sept 84)

    Google Scholar 

  18. G.E. Kaiser, D. Garlan: Melding Software Systems from Reusable Building Blocks. IEEE Software, July 1987, pp. 17–24

    Google Scholar 

  19. R.G. Lanergan, Ch.A. Grasso: Software Engineering with Reusable Designs and Code. IEEE TSE SE-10(5): 498–501, Sept. 1984

    Google Scholar 

  20. J.A. Lewis, S.M. Henry, D.G. Kafura: An Empirical Study of the Object-Oriented Paradigma and Software Reuse. ACM Sigplan Notices, OOPSLA '91, p.184–196

    Google Scholar 

  21. Y. Matsumoto: A Software Factory: An Overall Approach to Software Production. Proc. of the ITT Workshop on Reusability in Programming, Newport R.I., 1983 and in Freeman P.: Tutorial “Software Reusability”; IEEE-CS Press, 1987

    Google Scholar 

  22. B. Meyer: Reusability: The Case of Object-Oriented Design. IEEE Software 4, 2: 50–64, March 1987

    Google Scholar 

  23. W. Myers: We Want to Write Less Code. Computer 23(7): 117–118, July 1990

    Article  Google Scholar 

  24. J. Neighbors: The Draco Approach to Constructing software from Reusable Components. IEEE TSE, SE-10(5), p. 564–574, Sept. 1984

    Google Scholar 

  25. R. Prieto-Diaz, P. Freeman: Classifying Software For Reusability, IEEE Software 4, 1: 6–16, 1987

    Google Scholar 

  26. R. Prieto-Diaz: Domain analysis for reusability, Proc. of COMPSAC 87, Tokyo, Japan,. pp. 23–29

    Google Scholar 

  27. R. Prieto-Diaz: Making software Reuse work: an implementation model. ACM SIGSOFT SE Not. 16(3): 61–68, July 1991

    Article  Google Scholar 

  28. H.B. Reubenstein, R.C. Waters: The Requirements Apprentice: Automated Assistance for Requirements Acquisition. IEEE TSE, Vol. 17, No.3, March 91, pp. 226–240

    Google Scholar 

  29. R. Riehle: Software components — designing generalized components by creating abstractions. Programmers J., pp. 75–78, Nov./Dec. 1990

    Google Scholar 

  30. R. Selby: Quantitative Studies of Software Reuse. in: Software Reusability: Vol. II Applications and Experience, ed. T. Biggerstaff and A.J.Perlis, 213–33, 1989

    Google Scholar 

  31. D. Taenzer, M. Ganti, S. Podar: Object-Oriented Software Reuse: The Yoyo Problem. Journal of Object-Oriented Programming 2(3):30–35, 1989

    Google Scholar 

  32. W. Tracz: Reusability Comes on Age. IEEE Software, July 1987, pp. 6–8

    Google Scholar 

  33. W. Tracz: Software Reuse: Motivators and Inhibitors. Proceedings of COMPCON S 87, pp. 358–363

    Google Scholar 

  34. R.C. Waters, Y.M. Tan: Toward a Design Apprentice: Supporting Reuse and Evolution in Software Design. Software Engineering Notes 16(2): 33–44, 1991

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jorge L. Díaz-Herrera

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Grechenig, T., Biffl, S. (1993). Introducing a software reuse culture in practice. In: Díaz-Herrera, J.L. (eds) Software Engineering Education. CSEE 1994. Lecture Notes in Computer Science, vol 750. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017639

Download citation

  • DOI: https://doi.org/10.1007/BFb0017639

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57461-3

  • Online ISBN: 978-3-540-48191-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics