Abstract
Research in requirements engineering (RE) has been growing in the last few years. RE researchers are generally concerned with a set of open issues such as: (i) the need for a well-defined process to identify and specify the requirements scope, (ii) suitable mechanisms to support communication among different stakeholders and development teams involved in the RE process, (iii) mechanisms to deal with the inherent volatility of requirements, and (iv) the need for a traceability scheme to help managing requirements in the downstream phases of the development process. In this work, we address some of these open issues by proposing the use of an iterative and incremental model-driven RE process combined with the employment of different notations such as controlled natural language and ontology in each activity of RE process. Based on the argument that there is no single notation suitable to represent requirements from the different perspectives of all the stakeholders and development teams, we propose a RE process encompassing different views, representing each perspective. This paper describes the proposed process, its tool support, and presents a controlled experiment that illustrates the proposal and evaluates its benefits.
Similar content being viewed by others
References
Nuseibeh B, Easterbrook S (2000) Requirements engineering: a roadmap. In: ICSE—future of SE track, pp 35–46. http://blueciteseer.ist.psu.edu/article/nuseibeh00requirement.html
González-Baixauli B, Laguna M, Crespo Y (2005) Product lines, features, and MDD. In: EWMT 2005 workshop
Gómez-Pérez A, Fernández-López M, Corcho O (2004) Ontological engineering: with examples from the areas of knowledge management, e-commerce and the semantic web. Springer
Paulk M, Weber C, Curtis B, Chrissis M (1995) The capability maturity model: guidelines for improving the software process. Addison-Wesley/Longman Publishing, Boston
Pressman R (2005) Software engineering: a practitioner’s approach. McGraw-Hill, New York
Sommerville I (2001) Software engineering, 6th edn. Addison-Wesley, Harlow
Reubenstein H, Waters R (1991) The requirements apprentice: automated assistance for requirements acquisition. IEEE Trans Softw Eng 17(3):226–240
Walz D, Elam J, Curtis B (1993) Inside a software design team: knowledge acquisition, sharing, and integration. Commun ACM 36(10):63–77
Wojcik R, Holmback H (1996) Getting a controlled language off the ground at Boeing. In: Proceedings of the 1st international workshop on controlled language applications, pp 22–31
Mylopoulos J, Borgida A, Jarke M, Koubarakis M (1990) Telos: Representing knowledge about information systems. ACM Trans Info Syst 8(4):325–362
Johnson W, Feather M, Harris D (1992) Representation and presentation of requirements knowledge. IEEE Trans Softw Eng 18(10):853–869
Gordon M (2004) Knowledge representation: logical, philosophical, and computational foundations. Distrib Syst Online IEEE 5(1):9.1–9.3
Wang S, Jin L, Jin C (2006) Ontology definition metamodel based consistency checking of UML models. In: 10th International conference on computer supported cooperative work in design, pp 1–5
Donini F, Lenzerini M, Nardi D, Schaerf A (1996) Reasoning in description logics. In: Brewka G (ed) Principles of knowledge representation and reasoning. Studies in logic, language and information. CLSI Publications, pp 193–238
Lenzerini M (1996) Tbox and abox reasoning in expressive description logics. In: Proceedings of KR-96. Morgan Kaufmann, pp 316–327
Christel M, Kang K (1992) Issues in requirements elicitation. Carnegie Mellon University, Software Engineering Institute
Carter RA, Anton AI, Dagnino A, Williams L (2001) Evolving beyond requirements creep: a risk-based evolutionary prototyping model. In: Proceedings of IEEE 5th international symposium on requirements engineering (RE’01), pp 94–101
Espindola R, Lopes L, Prikladnicki R, Audy J (2005) Uma Abordagem Baseada em Gestão do Conhecimento para Gerência de Requisitos em Desenvolvimento Distribuído de Software. In: VIII workshop on requirements engineering
Sage A, Palmer J (1990) Software systems engineering. Wiley, New York
Macaulay L, Flower C, Kirby M, Hutt A (1990) USTM: a new approach to requirements specification. Interact Comput 2(1):92–118
Antón A, Potts C (2001) Functional paleontology: system evolution as the user sees it. In: Proceedings of the 23rd international conference on software engineering. IEEE Computer Society, pp 421–430
Stark G, Oman P, Skillicorn A, Ameele A (1999) An examination of the effects of requirements changes on software maintenance releases. J Softw Maintenance 11(5):293–310
Dubois E, Hagelstein J, Rifaut A (1989) Formal requirements engineering with ERAE. Philips J Res 43(4):393–414
Al-Rawas A, Easterbrook S (1996) Communication problems in requirements engineering: a field study
Bhat J, Gupta M, Murthy S, Technologies I (2006) Overcoming requirements engineering challenges: lessons from offshore outsourcing. Softw IEEE 23(5):38–44
Goguen JA, Linde C (1993) Techniques for requirements elimination. In: Proceedings of international symposium on requirements engineering. IEEE CS Press, Los Alamitos, pp 152–164. http://blueciteseer.ist.psu.edu/goguen93techniques.html
Nurmuliani N, Zowghi D, Powell S (2004) Analysis of requirements volatility during software development life cycle. In: Software engineering conference, 2004. Proceedings 2004 Australian, pp 28–37
Breitman K, do Prado Leite J (2004) Lexicon based ontology construction. In: LNCS, vol 19–34
Bryant B, Lee B, Cao F, Zhao W, Burt C, Gray J, Raje R, Olson A, Auguston M (2003) From natural language requirements to executable models of software components. In: Proceedings of the monterey workshop on software engineering for embedded systems: from requirements to implementation, pp 51–58. http://blueciteseer.ist.psu.edu/bryant03from.html
Debnath N, Leonardi M, Mauco M, Montejano G, Riesco D (2008) Improving model driven architecture with requirements models. In: 5th International conference on information technology: new generations, 2008 (ITNG 2008), pp 21–26
van Lamsweerde A (2008) Requirements engineering: from craft to discipline. In: Proceedings of the 16th ACM SIGSOFT international symposium on foundations of software engineering. ACM, New York, pp 238–249
White S (2004) Process modeling notations and workflow patterns. In: Workflow handbook, pp 265–294
Kavakli E, Loucopoulos P (2008) Goal driven requirements engineering: evaluation of current methods. In: Proceedings of 8th CAiSE/IFIP8, vol 1
Kaiya H, Saeki M (2006) Using domain ontology as domain knowledge for requirements elicitation. In: Proceedings of the 14th IEEE international requirements engineering conference (RE’06). IEEE Computer Society, Washington, pp 186–195
Gotel O, Finkelstein C (1994, April) An analysis of the requirements traceability problem. In: Proceedings of the 1st international conference on requirements engineering, pp 94–101
Gotel O, Finkelstein A (1997, January) Extended requirements traceability: results of an industrial case study. In: Proceedings of the 3rd IEEE international symposium on requirements engineering, pp 169–178
Cleland-Huang J, Chang C, Christensen M (2003) Event-based traceability for managing evolutionary change. IEEE Trans Softw Eng 29(9):796–810
Egyed A (2003) A scenario-driven approach to trace dependency analysis. IEEE Trans Softw Eng 29(2):116–132
Fuchs NE, Schwertel U, Schwitter R (1999, June) Attempto controlled English—not just another logic specification language. In: Flener P (ed) Logic-based program synthesis and transformation. No. 1559 in Lecture Notes in Computer Science. 8th International workshop LOPSTR’98. Springer, Manchester
Mellor S (2004) MDA distilled: principles of model driven architecture. Addison-Wesley Professional, Canada
Kleppe A, Warmer J, Bast W (2003) MDA explained: the model driven architecture: practice and promise. Co., Inc. Addison-Wesley/Longman Publishing, Boston
Wohlin C, Höst M, Henningsson K (2003) Empirical research methods in software engineering. In: Conradi R, Wang AI (eds) Empirical methods and studies in software engineering, Lecture Notes in Computer Science. Springer, Heidelberg, pp 7–23
OMG (2009) OMG unified modeling language TM (OMG UML), Superstructure. http://www.omg.org/cgi-bin/doc?formal/09-02-02.pdf. Accessed 10 May 2010
Rumbaugh J, Jacobson I, Booch G (2004) Unified modeling language reference manual, The Pearson Higher Education
Breitman K, do Prado Leite J (2003, September) Ontology as a requirements engineering product. In: 11th IEEE international conference on requirements engineering proceedings, pp 309–319
Kaljurand K (2008) ACE view—an ontology and rule editor based on Attempto Controlled English. In: 5th OWL experiences and directions workshop (OWLED 2008). Karlsruhe, 26–27 October, 12 pp
Smith M, Welty C, McGuinness D (2004) Owl web ontology language guide. W3C recommendation 10
Stumme G, Maedche A (2001) FCA-merge: bottom-up merging of ontologies. In: 7th international conference on artificial intelligence (IJCAI01), pp 225–230
Steve G, Gangemi A, Pisanelli D (1998) lntegrating medical terminologies with ONIONS methodology. In: Information modelling and knowledge bases, vol IX
Noy N, Musen M (2000) PROMPT: algorithm and tool for automated ontology merging and alignment. In: Proceedings of the national conference on artificial intelligence (AAAI), pp 450–455
Knublauch H (2004) Ontology-driven software development in the context of the semantic web: an example scenario with protege/OWL. In: Proceedings of MDSW2004, Monterey
Sirin E, Parsia B (2004) Pellet: an owl dl reasoner. In: 2004 International workshop on description logics. Citeseer, p 212
Tsarkov D, Horrocks I (2006) FaCT++ description logic reasoner: system description. In: Automated reasoning, pp 292–297
Fuchs NE, Kaljurand K, Kuhn T (2008) Discourse representation structures for ACE 6.0. Tech. Rep. ifi-2008.02, Department of Informatics, University of Zurich, Zurich
Colomb R, Raymond K, Hart L, Emery P, Welty C, Xie G, Kendall E (2006) Version 3.3: The object management group ontology definition metamodel. In: Ontologies for software engineering and software technology, pp 1–25
Jouault F, Allilaire F, Bézivin J, Kurtev I, Valduriez P (2006) ATL: a QVT-like transformation language. In: Companion to the 21st ACM SIGPLAN symposium on object-oriented programming systems, languages, and applications. ACM, p 720
Catalog Of OMG Modeling and metadata specifications. Available at: http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML
MOF 2.0/XMI (XML Metadata Interchange) Mapping specification, v2.1.1. OMG Available Specification, formal/07-12-01. Available at http://www.omg.org/docs/formal/07-12-01.pdf
Jedlitschka A, Pfahl D (2005) Reporting guidelines for controlled experiments in software engineering. In: International symposium on empirical software engineering, p 10
Basili V, Caldiera G, Rombach H (1994) The goal question metric approach. Encycl Softw Eng 1:528–532
Briand L, Penta MD, Labiche Y (2004) Assessing and improving state-based class testing: a series of experiments. Trans. Softw Eng 30(11):770–793
Gravino C, Scanniello G, Tortora G (2010) An empirical investigation on dynamic modeling in requirements engineering. Lect Notes Comput Sci 5301/2010:615–629. doi:10.1007/978-3-540-87875-9_43
Soares S, Laureano E, Borba P (2002) Implementing distribution and persistence aspects with aspect. J ACM SIGPLAN Notices 37(11):174–190
Guarino N, Welty C (2002) Evaluating ontological decisions with OntoClean. Commun ACM 45(2):65
Oppenheim AN (1992) Questionnaire design, interviewing and attitude measurement. Pinter, London
Gliem JA, Gliem RR (2003, October) Calculating, interpreting, and reporting Cronbach’s Alpha reliability coefficient for Likert-type scales. In: Midwest research-to-practice conference in adult, continuing, and community education, pp 82–88
Cronbach LJ (1951) Coefficient alpha and the internal structure of tests. Psychometrika 16:297–334
Hatcher L (1994) A step-by-step approach to using the SAS(R) system for factor analysis and structural equation modeling. SAS Institute, Cary
Nunnaly J (1978) Psychometric theory. McGraw-Hill, New York
IBM SPSS Statistics 19. Available at: http://www.spss.com. Accessed Dec 2010
Gašević D, Kaviani N, Milanović M (2009) Ontologies and software engineering. In: Staab S, Studer R (eds) International handbooks on information systems, part 5, handbook on ontologies, Springer, Berlin, ISBN 978-3-540-70999-2 (print) 978-3-540-92673-3 (online)
Maedche A (2002) Ontology learning for the semantic web. Kluwer, Boston
Leite JCSP, Franco APM (1993) A strategy for conceptual model acquisition. In: 1st IEEE international symposium on requirements engineering. IEEE Computer Society Press, Los Alamitos, pp 243–246
Vongdoiwang W, Batanov DN (2006) An ontology-based procedure for generating object model from text description. Published in journal: Knowl Inf Syst (KAIS): February 2006. Knowl Inf Syst (2006):93–108. doi:10.1007/s10115-005-0218-5
Völkel M (2006, May) RDFReactor—from ontologies to programatic data access. In: Proceedings of the Jena user conference, 2006. HP, Bristol
Won Lee S, Gandhi R (2005) Ontology-based active requirements engineering framework. In: Proceedings of the 12th Asia-Pacific software engineering conference, pp 481–490
Dobson G, Sawyer P (2006) Revisiting ontology-based requirements engineering in the age of the semantic web. In: Dependable requirements engineering of computerised systems at NPPs
Lin J, Fox MS, Bilgic T (1996) A requirement ontology for engineering design. In: Proceedings of 3rd international conference on concurrent engineering, pp 343–351. A revised version appears in Concurr Eng Res Appl 4(4):279–291
Zong-yong L, Zhi-xu W, Ai-hui Z, Yong X (2007, July) The domain ontology and domain rules based requirements model checking. Int J Softw Eng Appl 1(1):89–100
Oberle D (2006) Semantic management of middleware, vol I of The semantic web and beyond. Springer, New York
Happel H-J, Seedor S (2006) Applications of ontologies in software engineering. In: International workshop on semantic web enabled software engineering (SWESE’06)
Kittredge RI (2003) Sublanguages and controlled languages. In: Mitkov R (ed) The Oxford handbook of computational linguistics. Oxford University Press, Oxford, pp 430–447
Bryant B, Lee B (2002) Two-level grammar as an object-oriented requirements specification language. In: Proceedings of the 35th annual Hawaii international conference on system sciences (Hicss’02)-vol 9 (7–10 Jan 2002), HICSS. IEEE Computer Society, Washington, p 280
Leal LN, Pires PF, Campos MLM, Delicato FC (2006) Natural MDA: controlled natural language for action specifications on model driven development, on the move to meaningful internet systems 2006: CoopIS, DOA, GADA, and ODBASE, doi:10.1007/11914853_33, pp 551–568
Raistrick C, Francis P, Wright J (2004) Model driven architecture with executable UML. Cambridge University Press, ISBN 0-521-53771-1
Kalnins A, Kalnina E, Celms E, Sostaks E (2010) From requirements to code in a model driven way, Lecture Notes in Computer Science v. 5968/2010 (Advances in Databases and Information Systems), pp 161–168. Springer, Berlin, ISBN: 978-3-642-12081-7, ISSN: 0302-9743 (print), pp 1611–3349 (online), doi:10.1007/978-3-642-12082-4
Smialek M, Bojarski J, Nowakowski W et al (2007) Complementary use case scenario representations based on domain vocabularies. In: Engels G, Opdyke B, Schmidt DC, Weil F (eds) MODELS 2007, LNCS, vol 4735. Springer, Heidelberg, pp 544–558
ReDSeeDS, Requirements Driven Software Development System Project. EU 6th framework IST project (IST-33596), http://www.redseeds.eu
Kalnins A, Barzdins J, Celms E (2005) Model transformation language MOLA. In: Aßmann U, Aksit M, Rensink A (eds) MDAFA 2003, LNCS, vol 3599. Springer, Heidelberg, pp 62–76
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Pires, P.F., Delicato, F.C., Cóbe, R. et al. Integrating ontologies, model driven, and CNL in a multi-viewed approach for requirements engineering. Requirements Eng 16, 133–160 (2011). https://doi.org/10.1007/s00766-011-0116-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-011-0116-1