Abstract
Combining goal-oriented and use case modeling has been proven to be an effective method in requirements elicitation and elaboration. To ensure the quality of such modeled artifacts, a detailed model analysis needs to be performed. However, current requirements engineering approaches generally lack reliable support for automated analysis of consistency, correctness and completeness (3Cs problems) between and within goal models and use case models. In this paper, we present a goal–use case integration framework with tool support to automatically identify such 3Cs problems. Our new framework relies on the use of ontologies of domain knowledge and semantics and our goal–use case integration meta-model. Moreover, functional grammar is employed to enable the semiautomated transformation of natural language specifications into Manchester OWL Syntax for automated reasoning. The evaluation of our tool support shows that for representative example requirements, our approach achieves over 85 % soundness and completeness rates and detects more problems than the benchmark applications.
Similar content being viewed by others
Notes
For a detailed account of FG, the interested reader is referred to (Nguyen 2014).
The verb collection can be found at http://goo.gl/gCUofM.
Except requirements from TSN are confidential, original requirements for OPS and SPS can be found at http://www.cse.msu.edu/~chengb/RE-491/Papers/SRSExample-webapp.doc and http://www.cise.ufl.edu/class/cen3031sp13/SRS_Example_1_2011.pdf.
References
Anton, A. I. (1996) Goal-based requirements analysis. In Requirements engineering, 1996, proceedings of the second international conference on (pp. 136–144): IEEE.
Anton, A. I., Carter, R. A., Dagnino, A., Dempster, J. H., & Siege, D. F. (2001). Deriving goals from a use-case based requirements specification. Requirements Engineering, 6(1), 63–73.
Boetticher, G., Menzies, T., & Ostrand, T. (2007) The PROMISE repository of empirical software engineering data. West Virginia University, Department of Computer Science.
Breaux, T. D., Antón, A. I., & Doyle, J. (2008). Semantic parameterization: A process for modeling domain descriptions. ACM Transactions on Software Engineering and Methodology (TOSEM), 18(2), 5.
Cimiano, P., & Völker, J. (2005). Text2Onto. In A. Montoyo, R. Muńoz & E. Métais (Eds.), Natural language processing and information systems (pp. 227–238). Berlin, Heidelberg: Springer.
Cockburn, A. (1997). Structuring use cases with goals. Journal of Object-Oriented Programming (JOOP/ROAD), 10(5), 56–62.
Dermeval, D., Vilela, J., Bittencourt, I. I., Castro, J., Isotani, S., Brito, P., et al. (2015). Applications of ontologies in requirements engineering: A systematic review of the literature. Requirements Engineering, 1–33. doi:10.1007/s00766-015-0222-6.
Dik, S. C. (1989). The theory of functional grammar. Berlin: Walter de Gruyter.
Drazan, J., & Mencl, V. (2007). Improved processing of textual use cases: Deriving behavior specifications. In J. van Leeuwen, G. F. Italiano, W. van der Hoek, C. Meinel, H. Sack & F. Plášil (Eds.), SOFSEM 2007: Theory and practice of computer science (pp. 856–868). Berlin, Heidelberg: Springer.
Dwyer, M. B., Avrunin, G. S., & Corbett, J. C. (1999). Patterns in property specifications for finite-state verification. In Software Engineering. Proceedings of the 1999 international conference on, 1999 (pp. 411–420): IEEE.
Dzung, D. V., & Ohnishi, A. (2009). Improvement of quality of software requirements with requirements ontology. In Quality software. QSIC’09. 9th international conference on, 2009 (pp. 284–289): IEEE.
Fellbaum, C. (1998). WordNet. London: Wiley Online Library.
Fuxman, A., Liu, L., Mylopoulos, J., Pistore, M., Roveri, M., & Traverso, P. (2004). Specifying and analyzing early requirements in Tropos. Requirements Engineering, 9(2), 132–150.
Gervasi, V., & Zowghi, D. (2005). Reasoning about inconsistencies in natural language requirements. ACM Transactions on Software Engineering and Methodology (TOSEM), 14(3), 277–330.
Glinz, M. (2000). Improving the quality of requirements with scenarios. In Proceedings of the second world congress on software quality (pp. 55–60).
Horridge, M., Drummond, N., Goodwin, J., Rector, A. L., Stevens, R., & Wang, H. (2006). The manchester OWL syntax. In: Proceeding of of the OWL Experiences and Directions Workshop (OWLED’06) at the ISWC’06.
Horrocks, I., Patel-Schneider, P. F., Boley, H., Tabet, S., Grosof, B., & Dean, M. (2004). SWRL: A semantic web rule language combining OWL and RuleML. W3C Member submission, 21, 79.
Hull, E., Jackson, K., & Dick, J. (2005). Requirements engineering (Vol. 3). Berlin: Springer.
Kaiya, H., & Saeki, M. (2005). Ontology based requirements analysis: Lightweight semantic processing approach. In Quality Software, 2005.(QSIC 2005). Fifth international conference on, 2005 (pp. 223–230): IEEE.
Kim, J., Park, S., & Sugumaran, V. (2006). Improving use case driven analysis using goal and scenario authoring: A linguistics-based approach. Data and Knowledge Engineering, 58(1), 21–46.
Klein, D., & Manning, C. D. (2003). Accurate unlexicalized parsing. In Proceedings of the 41st annual meeting on association for computational Linguistics-Volume 1, 2003 (pp. 423–430): Association for Computational Linguistics.
Lami, G., Gnesi, S., Fabbrini, F., Fusani, M., & Trentanni, G. (2004). An automatic tool for the analysis of natural language requirements. Pisa: Informe técnico, CNR Information Science and Technology Institute.
Lee, W. J., Cha, S. D., & Kwon, Y. R. (1998). Integration and analysis of use cases using modular Petri nets in requirements engineering. Software Engineering, IEEE Transactions on, 24(12), 1115–1130.
Nguyen, T. H. (2014). GUI-F Meta-model descriptions. http://www.it.swin.edu.au/personal/huannguyen/dls/GUIF_metamodel.pdf.
Nguyen, T. H., Grundy, J., & Almorsy, M. (2014). GUITAR: An ontology-based automated requirements analysis tool. In Requirements engineering conference (RE), IEEE 22nd International, 2014 (pp. 315–316): IEEE
Nguyen, T. H., Vo, B. Q., Lumpe, M., & Grundy, J. (2012). REInDetector: A framework for knowledge-based requirements engineering. In Proceedings of the 27th IEEE/ACM international conference on automated software engineering, 2012 (pp. 386–389): ACM.
Nguyen, T. H., Vo, B. Q., Lumpe, M., & Grundy, J. (2014). KBRE: A framework for knowledge-based requirements engineering. Software Quality Journal, 22(1), 87–119.
Noy, N. F., & McGuinness, D. L. (2001). Ontology development 101: A guide to creating your first ontology. Stanford knowledge systems laboratory technical report KSL-01-05 and Stanford medical informatics technical report SMI-2001-0880.
Noy, N. F., & Musen, M. A. (2003). The PROMPT suite: Interactive tools for ontology merging and mapping. International Journal of Human-Computer Studies, 59(6), 983–1024.
Osis, J. (2010). Model-driven domain analysis and software development: Architectures and functions: Architectures and functions. Hershey: IGI Global.
Poveda-Villalón, M., Suárez-Figueroa, M. C., & Gómez-Pérez, A. (2012). Validating ontologies with oops! In A. ten Teije, J. Völker, S. Handschuh, H. Stuckenschmidt, M. d'Acquin, A. Nikolov, N. Aussenac-Gilles & N. Hernandez (Eds.), Knowledge engineering and knowledge management (pp. 267–281). Berlin, Heidelberg: Springer.
Rajan, A., & Wahl, T. (2013). CESAR: Cost-efficient Methods and Processes for Safety-relevant Embedded Systems (Vol. 978-3709113868): Springer.
Rolland, C., Souveyet, C., & Achour, C. B. (1998). Guiding goal modeling using scenarios. Software Engineering, IEEE Transactions on, 24(12), 1055–1071.
Sikora, E., Daun, M., & Pohl, K. (2010). Supporting the consistent specification of scenarios across multiple abstraction levels. In R. Wieringa & A. Persson (Eds.), Requirements engineering: Foundation for software quality (pp. 45–59). Berlin, Heidelberg: Springer.
Sommerville, I. (2011). Software engineering (9th ed.). Pearson Education Inc.
Sutcliffe, A. (2003). Scenario-based requirements engineering. In Requirements engineering conference, 2003. Proceedings. 11th IEEE international, 2003 (pp. 320–329): IEEE.
Van Lamsweerde, A. (2001). Goal-oriented requirements engineering: A guided tour. In Requirements engineering, 2001. Proceedings. Fifth IEEE international symposium on, 2001 (pp. 249–262): IEEE.
Van Lamsweerde, A., Darimont, R., & Letier, E. (1998). Managing conflicts in goal-driven requirements engineering. Software Engineering, IEEE Transactions on, 24(11), 908–926.
Van Lamsweerde, A., & Willemet, L. (1998). Inferring declarative requirements specifications from operational scenarios. Software Engineering, IEEE Transactions on, 24(12), 1089–1114.
Verma, K., & Kass, A. (2008). Requirements analysis tool: A tool for automatically analyzing software requirements Documents. Berlin: Springer.
Acknowledgments
The authors gratefully acknowledge support from the Victorian Government under the Victorian International Research Scholarships scheme, Swinburne University of Technology, and the Australian Research Council under Linkage Project LP130100201.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Nguyen, T.H., Grundy, J.C. & Almorsy, M. Ontology-based automated support for goal–use case model analysis. Software Qual J 24, 635–673 (2016). https://doi.org/10.1007/s11219-015-9281-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-015-9281-7