Abstract
Requirements captured by requirements engineers (REs) are commonly inconsistent with their client’s intended requirements and are often error prone. There is limited tool support providing end-to-end support between the REs and their client for the validation and improvement of these requirements. We have developed an automated tool called MaramaAIC (Automated Inconsistency Checker) to address these problems. MaramaAIC provides automated requirements traceability and visual support to identify and highlight inconsistency, incorrectness and incompleteness in captured requirements. MaramaAIC provides an end-to-end rapid prototyping approach together with a patterns library that helps to capture requirements and check the consistency of requirements that have been expressed in textual natural language requirements and then extracted to semi-formal abstract interactions, essential use cases (EUCs) and user interface prototype models. It helps engineers to validate the correctness and completeness of the EUCs modelled requirements by comparing them to “best-practice” templates and generates an abstract prototype in the form of essential user interface prototype models and concrete User Interface views in the form of HTML. We describe its design and implementation together with results of evaluating our tool’s efficacy and performance, and user perception of the tool’s usability and its strengths and weaknesses via a substantial usability study. We also present a qualitative study on the effectiveness of the tool’s end-to-end rapid prototyping approach in improving dialogue between the RE and the client as well as improving the quality of the requirements.
Similar content being viewed by others
References
Am, Sampaio, R., Chitchyan, R., Rashid, A., Rayson, P.: EA-Miner: a tool for automating aspect-oriented requirements identification. Paper presented at the Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, Long Beach, CA, USA (2005)
Ambler, S.W.: Essential (Low Fidelity) User Interface Prototypes. http://www.agilemodeling.com/artifacts/essentialUI.htm (2003–2009). Accessed 20 April 2010
Ambler, S.W.: The Object Primer: Agile Model-Driven Development with UML 2.0, 3rd edn. Cambridge University Press, New York (2004)
Bjork, R.C.: Use Cases for Example ATM System. http://www.math-cs.gordon.edu/courses/cs320/ATM_Example/UseCases.html (June 1998). Accessed February 2009
Biddle, R., Noble, J., Tempero, E.: Essential use cases and responsibility in object-oriented development. Aust. Comput. Sci. Commun. 24(1), 7–16 (2002)
Biddle, R., Noble, J., Tempero.E.: Pattern for Essential Use Cases (C. science, Trans.) (Vol. CS-TR-01/02). Wellington, Victoria University of Wellington (2000)
Blackwell, A., Britton, C., Cox, A., Green, T., Gurr, C., Kadoda, G., Young, R.: Cognitive dimensions of notations: design tools for cognitive technology. In: Beynon, M., Nehaniv, C., Dautenhahn, K. (eds.) Cognitive Technology: Instruments of Mind, vol. 2117, pp. 325–341. Springer, Berlin (2001)
Blackwell, T.G.a.A.: Cognitive Dimensions of Information Artefacts:a tutorial. Version 1.2. https://www.cl.cam.ac.uk/~afb21/CognitiveDimensions/CDtutorial.pdf (1998)
Buskirk, V.R., Moroney, B.W.: Extending prototyping. IBM Syst. J. 42(4), 613–623 (2003)
Constantine, L.L.: Rapid abstract prototyping. Softw. Dev. 6(11), (1998)
Constantine, L.L., Lockwood, A.D.L.: Structure and style in use cases for user interface design. In: Object modeling and user interface design: designing interactive systems, Addison-Wesley, Longman Publishing Co., Inc., pp. 245–279 (2001)
Constantine, L.L., Lockwood, L.A.D.: Software for Use: A Practical Guide to the Models and Methods of Usage-Centered Design. ACM Press/Addison-Wesley Publishing Co, New York (1999)
Constantine, L.L., Lockwood, A.D.L.: Usage-centered software engineering: an agile approach to integrating users, user interfaces, and usability into software engineering practice. In: Proceedings 25th International Conference on Software Engineering, Portland, Oregon (2003)
Corporation, B.S.: CaliberRM\(^{\rm TM}\) Enterprise Software Requirements Management System. http://www.borland.com/us/products/caliber/index.html (2011). Accessed 08 February 2011
Cristian, B.: Generating an Abstract User Interface from a Discourse Model Inspired by Human Communication (2008)
Dardenne, A., Van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20(1), 3–50 (1993)
Denger, C., Berry, D. M., Kamsties, E.: Higher quality requirements specifications through natural language patterns. Paper presented at the Proceedings of the IEEE International Conference on Software-Science, Technology \(\backslash \) & Engineering, IEEE Computer Society, pp. 80.80-7695-2047-7692 (2003)
Egyed, A.: Scalable consistency checking between diagrams-The ViewIntegra Approach. In: Proceedings of the 16th IEEE International Conference on Automated Software Engineering, IEEE Computer Society, p. 387 (2001)
Evans, G.: Getting from use cases to code, Part 1: Use-Case Analysis. http://www.ibm.com/developerworks/rational/library/5383.html. Retrieved January 2009
Fabbrini, F., Fusani, M., Gnesi, S., Lami, G.: The linguistic approach to the natural language requirements quality: benefit of the use of an automatic tool. Paper presented at the Software Engineering Workshop, 2001. Proceedings of the 26th Annual NASA Goddard (2001)
Geisser, M., Hildenbrand, T., Riegel, N.: Evaluating the Applicability of Requirements Engineering Tools for Distributed Software Development (D. o. I. S. 1, Trans.) Working Paper 2/2007 (Working Papers in Information Systems ed.). University of Mannheim, Germany 2007
Gervasi, V., Zowghi, D.: Reasoning about inconsistencies in natural language requirements. ACM Trans. Softw. Eng. Methodol. 14(3), 277–330 (2005)
Glinz, M.: A lightweight approach to consistency of scenarios and class models. In: Proceedings of the 4th International Conference on Requirements Engineering 2000, pp. 49–58 (2000)
Grundy, J. C., Hosking, Huh, J., Li, N.: Marama: an eclipse meta-toolset for generating multi-view environments. Paper Presented at the 2008 IEEE/ACM International Conference on Software Engineering, Liepzig, Germany (2008)
Guerra, E., de Lara, J., Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schwinger, W.: Automated verification of model transformations based on visual contracts. Automat. Softw. Eng., pp. 1–42, doi:10.1007/s10515-012-0102-y
Horton, T.: Example Use Cases for PARTS. http://www.cs.virginia.edu/~horton/cs494/examples/parts/usecases-ex1.html. Accessed February 2009
Hull, E., Jackson, K., Dick, J.: DOORS: A Tool to Manage Requirements Requirements Engineering, pp. 173–189. Springer, London (2005)
Huzar, Z., Kuzniarz, L., Reggio, G., Sourrouille, J.L.: Consistency Problems in UML-Based Software Development UML Modeling Languages and Applications. Springer, Berlin, pp. 1–12 (2005)
IBM. Rational RequisitePro A requirements management tool. http://www-01.ibm.com/software/awdtools/reqpro/. Accessed 13 February 2011
Inc., S.S.: Serena. Requirements Management The Proven Way to Accelerate Development. http://www.serena.com/docs/repository/products/rm/wp900-001-0505.pdf (2011). Accessed 14 February 2011
Jacobson, I., Booch, G., Rumbaugh, J.: The unified software development process. Addison-Wesley, Reading (1999)
Kim, J., Park, S., Sugumaran, V.: Improving use case driven analysis using goal and scenario authoring: a linguistics-based approach. Data Knowl. Eng. 58, 21–46 (2006)
Kamalrudin, M., Grundy, J., Hosking, J.: Tool support for essential use cases to better capture software requirements. Paper presented at the 25th IEEE/ACM International Conference on Automated Software Engineering, Antwerp, Belgium, 20–24 September 2010
Kamalrudin, M., Grundy, J.: Generating essential user interface prototypes to validate requirements. Paper presented at the Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering (2011)
Kamalrudin, M., Ahmad, S.S., Sidek, S., Daud, N.: A review of requirements engineering tools for requirements validation software engineering process. Int. J. Softw. Eng. IJSET, 1, (2014)
Kamalrudin, M., Grundy, J., Hosking, J.: MaramaAI: tool support for capturing and managing consistency of multi-lingual requirements. In: 27th Automated software Engineering Conference, Essen, Germany (2012)
Kotonya, G., Sommerville, I.: Requirement Engineering Process and Techniques. Wiley, West Sussex (1998)
Kovacevic, S. UML and User Interface Modeling The Unified Modeling Language. « UML »’98: Beyond the Notation, pp. 514–514 (1999)
Kutar, M., Britton, C., Wilson, J.: Cognitive dimensions an experience report. Paper presented at the Twelfth Annual Meeting ofthe Psychology of Programming Interest Group, Memoria, Cozenza Italy (2000)
Lund, A.: USE Questionnaire Resource Page. http://usesurvey.com/IntroductionToUse.html (1998). Retrieved February 2010
Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)
Lamsweerde, A.V., Darimont, R., Letier, R.: Managing conflicts in goal-driven requirements engineering, IEEE Transactions Software Engineering, vol. 24, pp. 908–926 (1998)
Lopez-Herrejon, R.E., Egyed, A.: Towards fixing inconsistencies in models with variability. Paper presented at the Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems. Leipzig, Germany (2012)
Litvak, B.,Tyszberowicz, S., Yehudai, A.: Behavioral consistency validation of UML diagrams. In: Proceedings First International Conference on Software Engineering and Formal Methods 2003. Brisbane, Australia, pp. 118–125 (2003)
Nentwich, C., Wolfgang, E., Anthony, F.: Consistency management with repair actions. Paper presented at the Proceedings of the 25th International Conference on Software Engineering, Portland, Oregon (2003)
Nguyen, T.H., Vo, B.Q., Lumpe, M., Grundy, J.: REInDetector: a framework for knowledge-based requirements engineering. Paper presented at the Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, Essen, Germany (2012)
Nuseibeh, B., Easterbrook, S., Russo, A.: Leveraging inconsistency in software development. Computer 33(4), 24–29 (2000)
Perrouin, G., Brottier, E., Baudry, B., Le Traon, Y.: Composing Models for Detecting Inconsistencies: A Requirements Engineering Perspective Requirements Engineering: Foundation for Software Quality. Springer Berlin, pp. 89–103 (2009)
Reder, A., Egyed, A.: Incremental consistency checking for complex design rules and larger model changes. In: France, R., Kazmeier, J., Breu, R., Atkinson, C. (eds.) Model Driven Engineering Languages and Systems, vol. 7590, pp. 202–218. Springer, Berlin (2012)
Robertson, S., Robertson, J.: Mastering the Requirements Process, 2nd edn. Addison-Wesley Professional, Boston (2006)
Sardinha, A., Chitchyan, R., Weston, N., Greenwood, P., Rashid, A.: EA-Analyzer: automating conflict detection in a large set of textual aspect-oriented requirements. Autom. Softw. Eng. 20(1), 111–135 (2013)
Satyajit, A., Hrushikesha, M., George, C.: Domain consistency in requirements specification. In: Fifth International Conference on Quality Software, 2005 (QSIC 2005). pp. 231–238, 1550–6002 (2005)
Scenario examples: http://www.opensrs.com/resources/documentation/sync/scenarioexamples.htm. Accessed February 2009
Some, S.S.: Use cases based requirements validation with scenarios. Paper presented at the Proceedings 13th IEEE International Conference in Requirements Engineering 2005 (2005)
Tjong, S. F., Hallam, N., Hartley, M. : Improving the quality of natural language requirements specifications through natural language requirements patterns. Paper presented at The Sixth IEEE International Conference Computer and Information Technology, CIT ’06 (2006)
Yijun, Y.: From goals to aspects: discovering aspects from requirements goal models. In: Proceedings of the 12th IEEE International Requirements Engineering Conference 2004, 6–11 Sept. 2004
Yu, E. S.: Towards modelling and reasoning support for early-phase requirements engineering. In: Proceedings of the Third IEEE International Symposium Requirements Engineering, 1997, pp. 226–235 (1997)
Yue, T., Briand, L.C., Labiche, Y.: aToucan: an automated framework to derive UML analysis models from use case models. ACM Trans. Softw. Eng. Methodol. 24(3), 13 (2015)
Yufei, X., Tao, T., Tianhua, X., Lin, Z.: Research on requirement management for complex systems. Paper presented at the 2nd International Conference Computer Engineering and Technology (ICCET), 2010, 16–18 April 2010, (2010)
Zisman, G.S.a.A.: Handbook of Software Engineering and Knowledge Engineering. In: S. K. Chang (Ed.), Vol. 1, pp. 329–380, World Publishing co., Singapore (2001)
Zowghi, D., Gervasi, V.: On the interplay between consistency, completeness, and correctness in requirements evolution, Information and Software Technology, vol. 45, pp. 993–1009 (2003)
Zhang, G.: Aspect-oriented modeling of mutual exclusion in UML state machines. ECMFA 2012, 162–177 (2012)
Acknowledgments
We acknowledge the support of the participants in our evaluation studies who willingly gave their time. Massila Kamalrudin acknowledges financial support from the University of Auckland, Swinburne University of Technology, Ministry of Higher Education Malaysia (FRGS/F00185) and Universiti Teknikal Malaysia Melaka (UTeM) for their assistance in this research. All authors acknowledge the support of the New Zealand Ministry of Business, Innovation & Employment via funding for the Software Process and Product Improvement project. We also thank Jun Huh for his assistance in developing MaramaAIC and Mark Young for his kindness in providing us the exemplar requirements. Finally, we thank the extremely thorough and detailed comments of the anonymous referees who went above and beyond the call of duty to give us very precise, detailed and very helpful assistance on earlier drafts of this article.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kamalrudin, M., Hosking, J. & Grundy, J. MaramaAIC: tool support for consistency management and validation of requirements. Autom Softw Eng 24, 1–45 (2017). https://doi.org/10.1007/s10515-016-0192-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-016-0192-z