Reuse of early life-;cycle artifacts: workproducts, methods and tools
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.
Unable to display preview. Download preview PDF.
- 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
- 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
- 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
- Frakes, W. and S. Isoda (1994), “Sucess Factors of Systematic Reuse,” IEEE Software 11, 5, 15–19.Google Scholar
- 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
- Henninger, S. (1994), “Using Iterative Refinement to Find Reusable Software,” IEEE Software 11, 5, 38–59.Google Scholar
- 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
- 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
- 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
- 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
- Prieto-Diaz, R. and G.A. Jones (1987), “Breathing New Life into Old Software,” GTE Journal of Science and Technology, 23–31.Google Scholar
- 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