Annals of Software Engineering

, Volume 5, Issue 1, pp 227–251 | Cite as

Reuse of early life-;cycle artifacts: workproducts, methods and tools

  • Jacob L. Cybulski
  • Ralph D. (Butch) Neal
  • Anthony Kram
  • Jeffrey C. Allen

Abstract

In this article we describe the importance of reusing software artifacts resulting from the earliest stages of the development life-;cycle, i.e., software conception, requirements analysis, feasibility study, requirements specification, architectural and detailed design. Although reuse of early artifacts is deemed beneficial to software development projects, there are no readily available software tools that could facilitate their effective reuse. Hence, we identified nearly one hundred early artifact types. We analyzed, compared and contrasted them. We clustered similar artifact types into distinct artifact affinity groups. We then proposed several methods and techniques useful in the processing of these artifacts to support their reuse. We believe that the proposed methods could be utilized by tool builders to construct software development environments capable of assisting analysts, designers, architects and programmers to effectively reuse the results of early life-;cycle activities.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Castano, S. and V. De Antonellis (1994), “The F3 Reuse Environment for Requirements Engineering,” ACM SIGSOFT Software Engineering Notes 19, 3, 62–65.CrossRefGoogle Scholar
  2. Cybulski, J.L. (1996), “Reusing Requirements Specifications: Review of Methods and Techniques,” In Proceedings of 1st Australian Requirements Engineering Workshop, Monash University, Caulfield, Victoria, Australia, pp. 2.1–2.17.Google Scholar
  3. Ellis, G.P., J.E. Finlay and A.S. Pollit (1994), “HIBROWSE for Hotels: Bridging the Gap Between User and System Views of a Database,” In Proceedings of 2nd Int. Workshop on Interfaces to Database Systems, Springer, pp. 49–62.Google Scholar
  4. Embley, D.W. and S.N. Woodfield (1987), “A Knowledge Structure for Reusing Abstract Data Types,” In Proceedings of Ninth International Conference on Software Engineering, IEEE Computer Society Press, Los Atamitos, CA, pp. 360–368.Google Scholar
  5. Frakes, W. and S. Isoda (1994), “Sucess Factors of Systematic Reuse,” IEEE Software 11, 5, 15–19.Google Scholar
  6. Fugini, M.G. and S. Faustle (1993), “Retrieval of Reusable Components in a Development Information System,” In Advances in Software Reuse: Selected Papers from the Second International Workshop on Software Reusability, IEEE Computer Society Press, Los Alamitos, CA, pp. 89–98.Google Scholar
  7. Henninger, S. (1994), “Using Iterative Refinement to Find Reusable Software,” IEEE Software 11, 5, 38–59.Google Scholar
  8. Johnson, W.L. and D.R. Harris (1991), “Sharing and Reuse of Requirements Knowledge,” In Proceedings of 6th Annual Knowledge-Based Software Engineering Conference, IEEE Computer Society Press, Los Alamitos, CA, pp. 57–66.CrossRefGoogle Scholar
  9. Kang, K.C., S. Cohen, R. Holibaugh, J. Perry and A.S. Peterson (1992), “A Reuse-Based Software Development Methodology,” Technical Report CMU/SEI-92-SR-3, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA.Google Scholar
  10. Maiden, N. and A. Sutcliffe (1989), “The Abuse or Re-use: Why Cognitive Aspects of Software Reusability are Important,” In Software Re-use, Ultecht 1989, L. Dusink and P. Hall, Eds., Springer, London, UK, pp. 109–113.Google Scholar
  11. Matsumoto, Y. (1989), “Some Experiences in Promoting Reusable Software: Presentation in Higher Abstract Levels,” In Software Reusability: Concepts and Models, T.J. Biggerstaff and A.J. Perlis, Eds., ACM Addison-Wesley Publishing Company, New York, NY, pp. 157–185.Google Scholar
  12. Moineau, T., J. Abadir and E. Rames (1990), “Towards Generic and Extensible Reuse Environment,” In Proceedings of Software Engineering 90, Cambridge University Press, pp. 543–573.Google Scholar
  13. Pollit, A.S., G.P. Ellis and M.P. Smith (1994), “HIBROWSE for bibliographic databases,” Journal of Information Science 20, 6, 413–426.CrossRefGoogle Scholar
  14. Poulin, J. (1993), “Integrated Support for Software Reuse in Computer-aided Software Engineering (CASE),” ACM SIGSOFT Software Engineering Notes 18, 4, 75–82.CrossRefGoogle Scholar
  15. Prieto-Diaz, R. (1991), “Implementing Faceted Classification for Software Reuse,” Communications of ACM 33, 5, 88–97.CrossRefGoogle Scholar
  16. Prieto-Diaz, R. and P. Freeman (1987), “Classifying Software for Reusability,” IEEE Software 4, 1, 6–16.CrossRefGoogle Scholar
  17. Prieto-Diaz, R. and G.A. Jones (1987), “Breathing New Life into Old Software,” GTE Journal of Science and Technology, 23–31.Google Scholar
  18. Sorumgard, L.S., G. Sindre and F. Stokke (1993), “Experiences from Application of a Faceted Classification Scheme,” In Advances in Software Reuse: Selected Papers from the Second International Workshop on Software Reusability, P.-D. Ruben and B.F. William, Eds., IEEE Computer Society Press, Los Alamitos, CA, pp. 116–123.Google Scholar
  19. Yglesias, K.P. (1993), “Information Reuse Parallels Software Reuse,” IBM Systems Journal 32, 4, 615–620.CrossRefGoogle Scholar

Copyright information

© Kluwer Academic Publishers 1998

Authors and Affiliations

  • Jacob L. Cybulski
    • 1
  • Ralph D. (Butch) Neal
    • 2
  • Anthony Kram
    • 3
  • Jeffrey C. Allen
    • 4
  1. 1.Department of Information SystemsThe University of MelbourneParkvilleAustralia
  2. 2.NASA/WVU Software Research LabFairmontUSA
  3. 3.MotorolaArlington HeightsUSA
  4. 4.Department of Computer ScienceUniversity of MaineOronoUSA

Personalised recommendations