Abstract
While it is acknowledged that system requirements will never be complete, incompleteness is often due to an inadequate process and methods for acquiring and tracking a representative set of requirements. Viewpoint development has been proposed to address these problems. We offer a viewpoint development approach that fits easily into the current practice of capturing requirements as use case descriptions. However, current practice does not support visualization of use case descriptions, the capture of multiple use case descriptions, the modeling of conflicts and the reconciliation of viewpoints. In our approach we apply techniques from natural language processing, term subsumption and set-theory to automatically convert the use case descriptions into a line diagram. The visualisation of use case descriptions is a natural addition to the object-oriented design of systems using the Unified Modelling Language where diagrams act as communication and validation devices. RECOCASE is a comprehensive methodology that includes use case description guidelines, a controlled language to support natural language translation, a requirements engineering process model and a tool to assist the specification and reconciliation of requirements. Our approach combines group and individual processes to minimise contradictions and missing information and maximise ownership of the requirements models. In this paper we describe each of the parts of our methodology following an example through each section.
Similar content being viewed by others
References
Davis AM, Jordan K, Nakajima T (1997) Elements underlying the specification of requirements. Ann Software Eng (Special Issue on Software Requirements Engineering) 3:63–100
Schach S (1996) Classical and object oriented software engineering, 3rd edn. Irwin, Homewood, IL
Easterbrook S (1991) Elicitation of requirements from multiple perspectives. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, University of London
Ramesh B, Dhar V (1992) Supporting systems development by capturing deliberations during requirements engineering. IEEE Trans Software Eng 18(6):498–510
Darke P, Shanks G (1997) Managing user viewpoints in requirements definition. In: 8th Australasian conference on information systems, University of South Australia, Adelaide, pp 495–508
Easterbrook S, Nuseibeh B (1996) Using viewpoints for inconsistency management. BCSEEE Software Eng J January:31–43
Finkelstein ACW, Goedicke M, Kramer J, Niskier C (1989) Viewpoint oriented software development: methods and viewpoints in requirements engineering. In: Proceedings of the 2nd meteor workshop on methods for formal specification. Lecture notes in computer science. Springer, Berlin Heidelberg New York
Kotonya G, Sommerville I (1998) Requirements engineering: process and techniques. Wiley, Chichester, UK
Mullery GP (1979) CORE: a method for controlled requirements expression. In: Proceedings of the 4th international conference on software engineering (ICSE-4). IEEE Computer Society Press, Los Alamitos, CA, pp 126–135
Jacobson I (1992) Object-oriented software engineering. Addison-Wesley, Reading, MA
Boettger K, Schwitter R, Richards D, Aguilera O, Molla D (2001) Reconciling use cases via controlled language and graphical models. In: Proceedings of the 14th international conference on applications of PROLOG, Tokyo, Japan, 20–22 October 2001, pp 186–195
Cockburn A (1997) Structuring use cases with goals. J Object-Oriented Program September–Oct 1997, November–December 1997
Cox K (2001) Experimental material. http://dec/bournemouth.ac.uk/staff/kcox/UCwriting.htm
Maiden NAM (1998) CREWS-SAVRE: scenarios for acquiring and validating requirements. J Automated Software Eng 5: 419–446
Rolland C, Achour CB (1998) Guiding the construction of textual use case specifications. Data Knowl Eng J 25(1–2):125–160
Schwitter R, Fuchs N (1996) Attempto: from specifications in controlled natural language towards executable specifications. In: GI EMISA Workshop, Natrlichsprachlicher Entwurf von Informationssystemen, May 1996, Tutzing, Germany
Huijsen WO (1998) Controlled language: an introduction. In: Proceedings of the 2nd international workshop on controlled language applications. Language Technologies Institute, Carnegie Mellon University, Pittsburgh, PA, 21–22 May 1998, pp 1–15
European Association of Aerospace Industries (AECMA) (1995) AECMA simplified English. AECMA document: PSC-85-16598: A guide for the preparation of aircraft maintenance documentation in the international aerospace maintenance language, Issue 1, September 1995
Mitamura T, Nyberg EH (1995) Controlled English for knowledge-based MT: experience with the KANT system. Center for Machine Translation, Carnegie Mellon University, Pittsburgh, PA
Androutsopoulos I, Ritchie GD, Thanisch P (1995) Natural language interfaces to databases: an introduction. J Nat Lang Eng 1:29–81
Sleator DD, Temperley D (1991) Parsing English with a link grammar. Technical report CMU-CS-91-196, Carnegie Mellon University, School of Computer Science, Pittsburgh, PA
Molla D, Schwitter R, Hess M, Fournier R (2000) Extrans, an answer extraction system. Traitement Automatique des Langues (Special Issue on Information Retrieval Oriented Natural Language Processing) 41(2):495–519
Wille R (1982) Restructuring lattice theory: an approach based on hierarchies of concepts. In: Ordered sets. Reidel, Dordrecht, pp 445–470
Wille R (1992) Concept lattices and conceptual knowledge. Comput Math Appl 23:493–522
Birkhoff G (1967) Lattice theory. American Mathematical Society, Providence, RI
Melcuk I (1988) Dependency syntax: theory and practice. SUNY Press, Albany, NY
Shaw MLG, Gaines BR (1988) A methodology for recognising consensus, correspondence, conflict and contrast in a knowledge acquisition system. In: Proceedings of the 3rd knowledge acquisition for knowledge-based systems workshop, Banff, Canada, November 1988
Spanoudakis G, Finkelstein A, Till D (1999) Overlaps in requirements specifications automated. Software Eng J (available at ftp.cs.city.ac.uk/users/gespan/ase99.ps.gz)
Narayanaswamy K, Goldman N (1992) Lazy consistency: a basis for cooperative software development. In: Proceedings of international conference on computer-supported cooperative work (CSCW'92), Toronto, Ontario, 31 October–4 November 1992, pp 257–264
Balzer R (1991) Tolerating inconsistency. In: Proceedings of 13th international conference on software engineering (ICSE-13) Austin, TX, 13–17 May 1991. IEEE Computer Society Press, Los Alamitos, CA, pp 158–165
Acknowledgements
I would like to thank the many (and growing numbers) who have contributed to this work. Thanks to Tim Menzies for initial discussions that started this work in 1997, Kathrin Boettger for her hard work in developing many of the ideas, starting development of RECOCASE-tool, developing RECOCASE-logic and getting the natural language part working, Oscar Aguilera who continues to develop RECOCASE-tool and assist in evaluations, and Rolf Schwitter and Diego Molla for assisting the natural language work. Thanks Rolf for the RECOCASE name. Thanks to Didar Zowghi for her comments on this work and drafts of papers related to this work. Thanks to Daniel Garratt and David Hood for conducting evaluations of the group process (results not in). Thanks to the hundreds of students who have participated in evaluations. Thanks to the Australian Research Council for funding this work. I needed you all. Thanks.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Richards, D. Merging individual conceptual models of requirements . Requirements Eng 8, 195–205 (2003). https://doi.org/10.1007/s00766-002-0158-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-002-0158-5