Abstract
Increasingly, software organisations are looking towards large-;scale reuse as a way of improving productivity, raising quality and reducing delivery timescales. Many in the reuse community have suggested notions of product-;line development and domain engineering life-;cycles. Achieving these in practice, however, requires a systematic process for “early” reuse (requirements reuse) as well as late reuse (code reuse). This paper discusses pratical experience of early reuse. We describe FORE (Family Of REquirements), an approach that we have developed in our work in the domain of aircraft engine control systems. The FORE approach concentrates on the definition of a generic product concept and the formalisation of its requirements. We describe the FORE approach in general terms, and then show how it has been applied in an industrial case-;study. We make an initial evaluation of the FORE approach (and early reuse in general) in terms of how it has changed an existing requirements engineering process. We compare the FORE approach to related work in early reuse, and draw some conclusions about how the approach may scale to other problems.
Similar content being viewed by others
References
Bailin, S. (1995), “Difference-Based Engineering,” In Proceedings of the 7th Annual Workshop on Institutionalising Software Reuse, University of Maine, Orono, ME, pp. 1–4.
Biggerstaff, T. and C. Ritcher (1987), “Reusability Framework, Assessment and Directions,” IEEE Software 41, 3.
Bolton, D., S. Jones, D. Till, D. Furber and S. Green (1994), “Using Domain Knowledge in Requirements Capture and Formal Specification Construction,” In Requirements Engineering: Social and Technical Issues, M. Jirotka and J. Goguen, Eds., Academic Press, London, UK, pp. 141–162.
Cauvert, C. and F. Semmak (1996), “Semantic Units and Connectors: Towards Domain Knowledge,” In Proceedings of IFIP Working Groups 8.1/13.2 Conference Domain Knowledge for Interactive System Design, Chapman and Hall, London, UK, pp. 258–273.
Coad, P. (1992), “Object-Oriented Patterns,” Communications of the ACM 35, 9, 152–159.
Coplien, J.O. and D.C. Schmidt, Eds. (1995), Pattern Languages of Program Design, Addison-Wesley, London, UK.
Fafchamps, D. (1994), “Organisational Factors and Reuse,” IEEE Software 11, 5, 31–41.
Finkelstein, A. (1988), “Reuse of Formatted Requirements Specifications,” Software Engineering Journal 3, 5, 186–197.
Frakes, W.B. and S. Isoda (1994), “Success Factors for Systematic Reuse,” IEEE Software 11, 5, 15–19.
Frakes, W. and C. Terry (1996), “Software Reuse: Metrics and Models,” ACM Computing Surveys 28, 2, 415–435.
Gentner, D. (1983), “Structure Mapping: A Theoretical Framework for Analogy,” Cognitive Science 7, 155–170.
Gomaa, H. (1995), “Reusable Software Requirements and Architectures for Families of Systems,” Journal of Systems and Software 28, 189–202.
Horowitz, E. and J.B. Munson (1989), “An Expansive View of Reusable Software,” In Software Reusability: Concepts and Models, T. Biggerstaff and A. Perlis, Eds., Volume 2, ACM Press/Addison-Wesley, New York, pp. 19–41.
Kang, K., S. Cohen, J. Hess, W. Novak and S. Peterson (1990), “Feature-Oriented Domain Analysis Feasibility Study,” Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie-Mellon University, Pittsburgh, PA.
Kelly, T.P., W. Lam and B.R. Whittle (1996), “Diary of a Domain Analyst: A Domain Analysis Case-Study from Avionics,” In Proceedings of IFIP Working Groups 8.1/13.2 Conference Domain Knowledge for Interactive System Design, Chapman and Hall, London, UK, pp. 19–33.
Lam, W. (1994), “Reasoning about Requirements from Past Cases,” PhD Dissertation, Kings College, University of London, London, UK.
Lam, W. and J. McDermid (1997), “A Summary of Domain Analysis Experience by Way of Heuristics,” In Proceedings of the ACM Symposium on Software Reusability, Software Engineering Notes 22, 3, 54–64.
Lam, W., J. McDermid and A.J. Vickers (1997), “Ten Steps Towards Systematic Requirements Reuse,” Journal of Requirements Engineering 2, 102–113.
Lam, W. (1997), “Achieving Requirements Reuse: A Domain-Specific Approach from Avionics,” Journal of Systems and Software 38, 3, 197–209.
Lim, W.C. (1994), “Effects of Reuse on Quality, Productivity, and Economics,” IEEE Software 11, 5, 23–30.
Macala, R., L. Stuckey and D. Gross (1996), “Managing Domain-Specific, Product-Line Development,” IEEE Software 13, 3, 57–67.
Maiden, N. and A. Sutcliffe (1993), “Exploiting Reusable Specification Through Analogy,” Communications of the ACM 35, 4, 55–64.
Maymir-Ducharme, F. (1995), “A Framework for Reuse Technology Transfer,” In Proceedings of the 4th International Workshop on Software Reuse Education and Training, West Virginia High Technology Consortium Foundation, Fairmont, West Virginia, pp. 1–1–1–19.
Miriyala, K. and T.H. Harandi (1991), “Automatic Derivation of Formal Software Specifications from Informal Descriptions,” IEEE Transactions on Software Engineering 17, 10, 1126–1142.
O'Connor, J., C. Mansour, J. Turner-Harris and G. Campbell (1994), “Reuse in Command-and-Control Systems,” IEEE Software 11, 5, 70–79.
Parnas, D.L. (1976), “On the Design and Development of Program Families,” IEEE Transactions on Software Engineering 2, 1, 1–9.
Poulin, J.S., J.M. Caruso and D.R. Hancock (1993), “The Business Case for Software Reuse,” IBM Systems Journal 32, 4, 567–594.
Prieto-Diaz, R. (1990), “Domain Analysis: an Introduction,” ACM SIGSOFT Software Engineering Notes 15, 2, 47–54.
Reubenstein, H.B. (1990), “Automated Acquisition of Evolving Informal Descriptions,” Technical Report No. AI-TR 1205, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, MA.
Robertson, S. and K. Strunch (1993), “Reusing the Products of Analysis,” Technical Report, Atlantic Systems Guild, London, UK.
Ryan, K. and B. Mathews (1993), “Matching Conceptual Graphs as an Aid to Requirements Reuse,” In Proceedings of the IEEE International Symposium on Requirements Engineering, IEEE Computer Society Press, Los Alamitos, CA, pp. 112–120.
Slade, S. (1991), “Case-Based Reasoning: A Research Paradigm,” AI Magazine 12, 1, 42–55.
SPC (1992), “Software Productivity Consortium Reuse Adoption Guidebook,” Technical Report SPC-92051-CMC, Software Productivity Consortium, Herndon, VA.
SSR (1997), “Proceedings of the International Symposium on Software Reusability,” Software Engineering Notes 22, 3, 54–64.
STARS (1995), “Organisation Domain Modeling Guidebook,” Technical Report STARS-VC-A023/011/00, Unisys Corporation, Reston, VA.
Tracz, W. (1995), “DSSA (Domain-Specific Software Architecture) Pedagogical Example,” ACM SIGSOFT Software Engineering Notes 20, 3, 49–62.
Tracz, W., L. Coglianese and P. Young (1993), “A Domain-Specific Software Architecture Engineering Process Outline,” ACM SIGSOFT Software Engineering Notes 18, 2, 40–49.
Wartik S. and P. Prieto-Diaz (1992), “Criteria for Comparing Reuse-Oriented Domain Analysis Approaches,” International Journal of Software Engineering and Knowledge Engineering 2, 3, 403–431.
WISR (1995), Proceedings of the 7th Annual Workshop on Institutionalising Software Reuse, University of Maine, Orono, ME.
WSRET (1995), Proceedings of the 4th International Workshop on Software Reuse Education and Training, Morgantown, Education and Training, West Virginia High Technology Consortium Foundation, Fairmont, WV.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Lam, W. A case-;study of requirements reuse through product families. Annals of Software Engineering 5, 253–277 (1998). https://doi.org/10.1023/A:1018912105115
Issue Date:
DOI: https://doi.org/10.1023/A:1018912105115