skip to main content
research-article
Open Access

Ensuring the Consistency between User Requirements and Task Models: A Behavior-Based Automated Approach

Authors Info & Claims
Published:18 June 2020Publication History
Skip Abstract Section

Abstract

Evaluating and ensuring the consistency between user requirements and modeling artifacts is a long-time issue for model-based software design. Conflicts in requirements specifications can lead to many design errors and have a decisive impact on the quality of systems under development. This article presents an approach based on Behavior-Driven Development (BDD) to provide automated assessment for task models, which are intended to model the flow of user and system tasks in an interactive system. The approach has been evaluated by exploiting user requirements described by a group of experts in the domain of business trips. Such requirements gave rise to a set of BDD stories that have been used to automatically assess scenarios extracted from task models that were reengineered from an existing web system for booking business trips. The results have shown our approach, by performing a static analysis of the source files, was able to identify different types of inconsistencies between the user requirements and the set of task models analyzed.

References

  1. Jim Barnett and et al. 2019. State Chart XML (SCXML): State Machine Notation for Control Abstraction, W3C. http://www.w3.org/TR/scxml/Google ScholarGoogle Scholar
  2. Judy Bowen and Steve Reeves. 2011. UI-driven test-first development of interactive systems. In Proceedings of the 3rd ACM SIGCHI symposium on Engineering interactive computing systems. ACM, 165--174.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. José Creissac Campos, Camille Fayollas, Marcelo Goncc alves, Célia Martinie, David Navarre, Philippe Palanque, and Miguel Pinto. 2017. A more intelligent test case generation approach through task models manipulation. Proceedings of the ACM on Human-Computer Interaction, Vol. 1, EICS (2017), 9.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. José C Campos, Camille Fayollas, Célia Martinie, David Navarre, Philippe Palanque, and Miguel Pinto. 2016. Systematic automation of scenario-based testing of user interfaces. In Proceedings of the 8th ACM SIGCHI Symposium on Engineering Interactive Computing Systems. ACM, 138--148.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Chelimsky and D. Astels. 2010. The RSpec Book: Behaviour-driven Development with RSpec, Cucumber, and Friends .Pragmatic Bookshelf. 2011281911Google ScholarGoogle Scholar
  6. Elliot J. Chikofsky and James H Cross. 1990. Reverse engineering and design recovery: A taxonomy. IEEE software, Vol. 7, 1 (1990), 13--17.Google ScholarGoogle Scholar
  7. Mike Cohn. 2004. User Stories Applied: For Agile Software Development .Addison-Wesley Professional.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Rogerio Atem de Carvalho, Fernando Luiz de Carvalho e Silva, and Rodrigo Soares Manhaes. 2010a. Mapping Business Process Modeling constructs to Behavior Driven Development Ubiquitous Language. arxiv: 1006.4892 [cs.SE]Google ScholarGoogle Scholar
  9. Rogerio Atem de Carvalho, Rodrigo Soares Manhães, and Fernando Luis de Carvalho e Silva. 2010b. Filling the Gap between Business Process Modeling and Behavior Driven Development. arxiv: 1005.4975 [cs.SE]Google ScholarGoogle Scholar
  10. Clarisse Sieckenius De Souza. 2005. Semiotic engineering: bringing designers and users together at interaction time. Interacting with Computers, Vol. 17, 3 (2005), 317--341.Google ScholarGoogle Scholar
  11. Anurag Dwarakanath and Shubhashis Sengupta. 2012. Litmus: Generation of Test Cases from Functional Requirements in Natural Language. In Proceedings of the 17th International Conference on Applications of Natural Language Processing and Information Systems (Groningen, The Netherlands) (NLDB'12). Springer-Verlag, Berlin, Heidelberg, 58--69.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Christof Ebert. 2011. Global software and IT: a guide to distributed development, projects, and outsourcing .John Wiley & Sons.Google ScholarGoogle Scholar
  13. Abigail Egbreghts. 2017. A Literature Review of Behavior Driven Development using Grounded Theory. In 27th Twente Student Conference on IT .Google ScholarGoogle Scholar
  14. Racim Fahssi, Célia Martinie, and Philippe Palanque. 2015. Enhanced task modelling for systematic identification and explicit representation of human errors. In Human-Computer Interaction. Springer, 192--212.Google ScholarGoogle Scholar
  15. Gherkin. 2020. Gherkin Reference. https://cucumber.io/docs/gherkin/reference/Google ScholarGoogle Scholar
  16. Iyad Khaddam, Nesrine Mezhoudi, and Jean Vanderdonckt. 2015. Towards task-based linguistic modeling for designing GUIs. In 27ème conférence francophone sur l'Interaction Homme-Machine. ACM, a17.Google ScholarGoogle Scholar
  17. G. Kotonya and I. Sommerville. 1996. Requirements engineering with viewpoints. Software Engineering Journal, Vol. 11, 1 (Jan 1996), 5--18. https://doi.org/10.1049/sej.1996.0002Google ScholarGoogle ScholarCross RefCross Ref
  18. Julio Cesar Sampaio do Prado Leite and Peter A. Freeman. 1991. Requirements Validation Through Viewpoint Resolution. IEEE Trans. Softw. Eng., Vol. 17, 12 (Dec. 1991), 1253--1269. https://doi.org/10.1109/32.106986Google ScholarGoogle Scholar
  19. J. C. S. P. Leite and A. P. Oliveira. 1995. A client oriented requirements baseline. In Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95). 108--115. https://doi.org/10.1109/ISRE.1995.512551Google ScholarGoogle ScholarCross RefCross Ref
  20. John Horn Lopes. 2012. Evaluation of Behavior-Driven Development. Master's thesis. Delft University of Technology.Google ScholarGoogle Scholar
  21. G. Lucassen, F. Dalpiaz, J. M. E. M. v. d. Werf, S. Brinkkemper, and D. Zowghi. 2017. Behavior-Driven Requirements Traceability via Automated Acceptance Tests. In 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW). 431--434. https://doi.org/10.1109/REW.2017.84Google ScholarGoogle ScholarCross RefCross Ref
  22. Kris Luyten, Tim Clerckx, Karin Coninx, and Jean Vanderdonckt. 2003. Derivation of a Dialog Model from a Task Model by Activity Chain Extraction. In Interactive Systems. Design, Specification, and Verification, Joaquim A. Jorge, Nuno Jardim Nunes, and Jo ao Falc ao e Cunha (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 203--217.Google ScholarGoogle Scholar
  23. D. Lübke and T. van Lessen. 2016. Modeling Test Cases in BPMN for Behavior-Driven Development. IEEE Software, Vol. 33, 5 (Sep. 2016), 15--21. https://doi.org/10.1109/MS.2016.117Google ScholarGoogle ScholarCross RefCross Ref
  24. Célia Martinie, David Navarre, Philippe Palanque, and Camille Fayollas. 2015. A generic tool-supported framework for coupling task models and interactive applications. In Proceedings of the 7th ACM SIGCHI Symposium on Engineering Interactive Computing Systems. ACM, 244--253.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Célia Martinie, Philippe Palanque, and Marco Winckler. 2011. Structuring and Composition Mechanisms to Address Scalability Issues in Task Models. In IFIP Conference on Human-Computer Interaction. Springer, 589--609.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Grigori Igorovych Melnik. 2007. Empirical Analyses of Executable Acceptance Test Driven Development. Ph.D. Dissertation. University of Calgary. AAINR33806.Google ScholarGoogle Scholar
  27. Dan North. 2019. What's in a Story? http://dannorth.net/whats-in-a-story/Google ScholarGoogle Scholar
  28. B. Nuseibeh, J. Kramer, and A. Finkelstein. 1994. A framework for expressing the relationships between multiple views in requirements specification. IEEE Transactions on Software Engineering, Vol. 20, 10 (Oct 1994), 760--773. https://doi.org/10.1109/32.328995Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Fabio Paternò. 2004. ConcurTaskTrees: An Engineered Notation for Task Models. The handbook of task analysis for human-computer interaction (2004), 483--503.Google ScholarGoogle Scholar
  30. Fabio Paternò and et al. 2017. W3C, MBUI - Task Models. http://www.w3.org/TR/task-models/Google ScholarGoogle Scholar
  31. Z. Pozgaj. 2000. Requirement analysis using VORD. In ITI 2000. Proceedings of the 22nd International Conference on Information Technology Interfaces (Cat. No.00EX411). 105--110.Google ScholarGoogle Scholar
  32. Jaroslav Pullmann. 2019. MBUI - Glossary - W3C. https://www.w3.org/TR/mbui-glossary/Google ScholarGoogle Scholar
  33. Thiago Rocha Silva, Marco Winckler, and Cédric Bach. 2019. Evaluating the usage of predefined interactive behaviors for writing user stories: an empirical study with potential product owners. Cognition, Technology & Work (16 May 2019). https://doi.org/10.1007/s10111-019-00566--3Google ScholarGoogle Scholar
  34. T. R. Silva. 2016. Definition of a Behavior-Driven Model for Requirements Specification and Testing of Interactive Systems. In 2016 IEEE 24th International Requirements Engineering Conference (RE). 444--449. https://doi.org/10.1109/RE.2016.12Google ScholarGoogle ScholarCross RefCross Ref
  35. T. R. Silva, J. Hak, and M. Winckler. 2017. A Behavior-Based Ontology for Supporting Automated Assessment of Interactive Systems. In 2017 IEEE 11th International Conference on Semantic Computing (ICSC). 250--257. https://doi.org/10.1109/ICSC.2017.73Google ScholarGoogle ScholarCross RefCross Ref
  36. T. R. Silva, J-L. Hak, and M. Winckler. 2016. An Approach for Multi-Artifact Testing Through an Ontological Perspective for Behavior-Driven Development. Complex Systems Informatics and Modeling Quarterly 7 (June/July 2016), 81--107. https://doi.org/10.7250/csimq.2016--7.05Google ScholarGoogle Scholar
  37. Thiago Rocha Silva, Jean-Luc Hak, and Marco Winckler. 2016. Testing Prototypes and Final User Interfaces Through an Ontological Perspective for Behavior-Driven Development. In Human-Centered and Error-Resilient Systems Development, Cristian Bogdan, Jan Gulliksen, Stefan Sauer, Peter Forbrig, Marco Winckler, Chris Johnson, Philippe Palanque, Regina Bernhaupt, and Filip Kis (Eds.). Springer International Publishing, Cham, 86--107. https://doi.org/10.1007/978--3--319--44902--9_7Google ScholarGoogle Scholar
  38. Thiago Rocha Silva, Jean-Luc Hak, and Marco Winckler. 2017. A Formal Ontology for Describing Interactive Behaviors and Supporting Automated Testing on User Interfaces. International Journal of Semantic Computing, Vol. 11, 04 (2017), 513--539. https://doi.org/10.1142/S1793351X17400219Google ScholarGoogle ScholarCross RefCross Ref
  39. Thiago Rocha Silva and Marco Winckler. 2016. Towards Automated Requirements Checking Throughout Development Processes of Interactive Systems. In Joint Proceedings of the 22nd International Conference on Requirements Engineering: Foundation for Software Quality (REFSQ 2016), Vol. 1564. CEUR-WS.org.Google ScholarGoogle Scholar
  40. Thiago Rocha Silva and Marco Winckler. 2017. A Scenario-Based Approach for Checking Consistency in User Interface Design Artifacts. In Proceedings of the XVI Brazilian Symposium on Human Factors in Computing Systems (Joinville, Brazil) (IHC 2017). Association for Computing Machinery, New York, NY, USA, Article 3, 10 pages. https://doi.org/10.1145/3160504.3160506Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. John Ferguson Smart. 2014. BDD in Action: Behavior-driven development for the whole software lifecycle .Manning Publications.Google ScholarGoogle Scholar
  42. H. M. Sneed. 2007. Testing against Natural Language Requirements. In Seventh International Conference on Quality Software (QSIC 2007). 380--387. https://doi.org/10.1109/QSIC.2007.4385524Google ScholarGoogle ScholarCross RefCross Ref
  43. C. Solis and X. Wang. 2011. A Study of the Characteristics of Behaviour Driven Development. In 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications. 383--387. https://doi.org/10.1109/SEAA.2011.76Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Ioannis Stamelos and Alexis Tsoukias. 2003. Software evaluation problem situations. European Journal of Operational Research, Vol. 145, 2 (2003), 273--286.Google ScholarGoogle ScholarCross RefCross Ref
  45. Jeff Tian. 2005. Software quality engineering: testing, quality assurance, and quantifiable improvement .John Wiley & Sons, Chapter Software Inspection, 237--250.Google ScholarGoogle Scholar
  46. Pedro Valente, Thiago Silva, Marco Winckler, and Nuno Nunes. 2016a. Bridging Enterprise and Software Engineering Through an User-Centered Design Perspective. In Web Information Systems Engineering -- WISE 2016, Wojciech Cellary, Mohamed F. Mokbel, Jianmin Wang, Hua Wang, Rui Zhou, and Yanchun Zhang (Eds.). Springer International Publishing, Cham, 349--357. https://doi.org/10.1007/978--3--319--48743--4_28Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Pedro Valente, Thiago Silva, Marco Winckler, and Nuno Nunes. 2017. The Goals Approach: Agile Enterprise Driven Software Development. In Complexity in Information Systems Development, Jerzy Goluchowski, Malgorzata Pankowska, Henry Linger, Chris Barry, Michael Lang, and Christoph Schneider (Eds.). Springer International Publishing, Cham, 201--219. https://doi.org/10.1007/978--3--319--52593--8_13Google ScholarGoogle Scholar
  48. Pedro Valente, Thiago Rocha Silva, Marco Winckler, and Nuno Jardim Nunes. 2016b. The Goals Approach: Enterprise Model-Driven Agile Human-Centered Software Engineering. In Human-Centered and Error-Resilient Systems Development, Cristian Bogdan, Jan Gulliksen, Stefan Sauer, Peter Forbrig, Marco Winckler, Chris Johnson, Philippe Palanque, Regina Bernhaupt, and Filip Kis (Eds.). Springer International Publishing, Cham, 261--280. https://doi.org/10.1007/978--3--319--44902--9_17Google ScholarGoogle Scholar
  49. Rudolf Van Megen and Dirk B Meyerhoff. 1995. Costs and benefits of early defect detection: experiences from developing client server and host applications. Software Quality Journal, Vol. 4, 4 (1995), 247--256.Google ScholarGoogle ScholarCross RefCross Ref
  50. Marco Winckler and Philippe Palanque. 2003. StateWebCharts: A Formal Description Technique Dedicated to Navigation Modelling of Web Applications. In Interactive Systems. Design, Specification, and Verification. Springer Berlin Heidelberg, 61--76.Google ScholarGoogle Scholar
  51. Marco Winckler and Philippe Palanque. 2012. Models as Representations for Supporting the Development of e-Procedures. In Usability in Government Systems. Elsevier, 301--315.Google ScholarGoogle Scholar
  52. Andreas Wolff, Peter Forbrig, Anke Dittmar, and Daniel Reichart. 2005. Linking GUI elements to tasks: supporting an evolutionary design process. In Proceedings of the 4th international workshop on Task models and diagrams. ACM, 27--34.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Ensuring the Consistency between User Requirements and Task Models: A Behavior-Based Automated Approach

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!