Advertisement

DataMock: An Agile Approach for Building Data Models from User Interface Mockups

  • José Matías Rivero
  • Julián Grigera
  • Damiano Distante
  • Francisco Montero
  • Gustavo Rossi
Regular Paper

Abstract

In modern software development, much time is devoted and much attention is paid to the activity of data modeling and the translation of data models into databases. This has motivated the proposal of different approaches and tools to support this activity, such as semiautomatic approaches that generate data models from requirements artifacts using text analysis and sets of heuristics, among other techniques. However, these approaches still suffer from important limitations, including the lack of support for requirements traceability, the poor support for detecting and solving conflicts in domain-specific requirements, and the considerable effort required for manually checking the generated models. This paper introduces DataMock, an Agile approach that enables the iterative building of data models from requirements specifications, while supporting traceability and allowing inconsistencies detection in data requirements and specifications. The paper also describes how the approach effectively allows improving traceability and reducing errors and effort to build data models in comparison with traditional, state-of-the-art, data modeling approaches.

Keywords

Data modeling Agile methods Mockups Annotations Requirements engineering Requirements traceability Model-driven development 

References

  1. 1.
    Topi, H., Ramesh, V.: Human factors research on data modeling. J. Database Manag. 13(2), 3–19 (2002). doi: 10.4018/jdm.2002040101 CrossRefGoogle Scholar
  2. 2.
    Davies, I., Green, P., Rosemann, M., Indulska, M., Gallo, S.: How do practitioners use conceptual modeling in practice? Data Knowl. Eng. 58(3), 358–380 (2006). doi: 10.1016/j.datak.2005.07.007 CrossRefGoogle Scholar
  3. 3.
    Pinheiro, F.A., Goguen, J.A.: An object-oriented tool for tracing requirements. IEEE Softw. 13(2), 52–64 (1996). doi: 10.1109/52.506462 CrossRefGoogle Scholar
  4. 4.
    Gotel, O.C.Z., Finkelstein, C.W.: An analysis of the requirements traceability problem. In Proceedings of IEEE International Conference on Requirements Engineering, pp. 94–101. (1994) doi: 10.1109/ICRE.1994.292398
  5. 5.
    Fliedl, G., Kop, C., Mayr, H.C., et al.: Deriving static and dynamic concepts from software requirements using sophisticated tagging. Data Knowl. Eng. 61(3), 433–448 (2007). doi: 10.1016/j.datak.2006.06.012 CrossRefGoogle Scholar
  6. 6.
    Kop, C., Fliedl, G., Mayr, H.C.: From Natural Language Requirements to a Conceptual Model. In: Proceedings of the First International Workshop on Evolution Support for Model-Based Development and Testing (EMDT2010), CEUR-WS.org, pp. 67 – 74 (2010)Google Scholar
  7. 7.
    Gorschek, T., Tempero, E., Angelis, L.: On the use of software design models in software development practice: an empirical investigation. J. Syst. Softw. 95, 176–193 (2014). doi: 10.1016/j.jss.2014.03.082 CrossRefGoogle Scholar
  8. 8.
    Liu, W., Easterbrook, S., Mylopoulos, J.: Rule Based detection of Inconsistency in UML Models, pp. 106–123 (2002)Google Scholar
  9. 9.
    Escalona, M.J., Urbieta, M., Rossi, G., Garcia-Garcia, J.A., Luna, E.R.: Detecting Web requirements conflicts and inconsistencies under a model-based perspective. J. Syst. Softw. 86(12), 3024–3038 (2013). doi: 10.1016/j.jss.2013.05.045 CrossRefGoogle Scholar
  10. 10.
    Chang, C.K., Zhu, H.: Specifications in software prototyping. J. Syst. Softw. 42(2), 125–140 (1998). doi: 10.1016/S0164-1212(98)10004-3 CrossRefGoogle Scholar
  11. 11.
    Hussain, Z., Holzinger, A., Slany, W.: Current state of agile user-centered design?: A survey. In: Proceedings of the 5th Symposium of the Workgroup Human–Computer Interaction and Usability Engineering, pp. 416–427. Springer, Berlin (2009)Google Scholar
  12. 12.
    Ferreira, J., Noble, J., Biddle R.: Agile development iterations and UI design. In: AGILE 2007 Conference, IEEE Computer Society: Washington, DC, pp 50–58 (2007)Google Scholar
  13. 13.
    Ton, H.A.: Strategy for balancing business value and story size. In: AGILE 2007 Conference, IEEE Computer Society: Washington, DC, USA, pp. 279–284 (2007)Google Scholar
  14. 14.
    Rivero, J.M., Rossi, G., Grigera, J., Luna, E.R., Navarro, A.: From interface mockups to web application models. In 12th International Conference on Web Information System Engineering, Sydney, Australia, pp. 257–264 (2011)Google Scholar
  15. 15.
    Mukasa, K.S., Kaindl, H.: An integration of requirements and user interface specifications. In: 6th IEEE International Requirements Engineering Conference, pp. 327–328, IEEE Computer Society: Barcelona, Catalunya (2008)Google Scholar
  16. 16.
    Ricca, F., Scanniello, G., Torchiano, M., Reggio, G., Astesiano, E.: On the effectiveness of screen mockups in requirements engineering. In: 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, ACM Press: New York (2010)Google Scholar
  17. 17.
    Rivero, J.M., Grigera, J., Rossi, G., Luna, E.R., Montero, F., Gaedke, M.: Mockup-Driven development: providing agile support for model-driven web engineering. Inform. Softw. Technol. 56(6), 1–18 (2014). doi: 10.1016/j.infsof.2014.01.011 CrossRefGoogle Scholar
  18. 18.
    Zhang, J., Chung, J.Y.: Mockup-driven fast-prototyping methodology for web application development. Softw. Pract. Exp. 33(13), 1251–1272 (2003). doi: 10.1002/spe.547 CrossRefGoogle Scholar
  19. 19.
    Forward, A., Badreddin, O., Lethbridge, T.C., Solano, J.: Model-driven rapid prototyping with Umple. Softw. Pract. Exp. 42(7), 781–797 (2012). doi: 10.1002/spe.1155 CrossRefGoogle Scholar
  20. 20.
    Brambilla, M., Fraternali, P.: Interaction Flow Modeling Language: Model-Driven UI Engineering of Web and Mobile Apps with IFML. Morgan Kaufmann, Burlington (2014)Google Scholar
  21. 21.
    Koch, N., Knapp, A., Zhang, G., Baumeister, H.: Uml-based web engineering: an approach based on standards. In: Rossi, G., Pastor, O., Schwabe, D., Olsina, L. (eds.) Web Engineering: Modelling and Implementing Web Applications. Springer, London (2008)Google Scholar
  22. 22.
    Jwo, J.-S., Cheng, Y.C.: Pseudo software: A mediating instrument for modeling software requirements. J. Syst. Softw. 83(4), 599–608 (2010). doi: 10.1016/j.jss.2009.10.042 CrossRefGoogle Scholar
  23. 23.
    Ramdoyal, R., Cleve, A.: From pattern-based user interfaces to conceptual schemas and back. In: Proceedings of the 30th International Conference on Conceptual Modeling—ER 2011, Brussels, Belgium, pp. 247–260 (2011)Google Scholar
  24. 24.
    Rosenberg, D., Stephens, M.: Collins–Cope. Agile development with ICONIX process—people, process, and pragmatism. (Apress ed) (2005)Google Scholar
  25. 25.
    Fortuna, M.H., Werner, C.M.L., Borges, M.R.S.: Info Cases: Integrating Use Cases and Domain Models. In: 16th IEEE international requirements engineering conference (RE), vol 0. IEEE Computer Society: Catalunya, Spain, 2008; 81–84. DOI:http://doi.ieeecomputersociety.org/10.1109/RE.2008.43
  26. 26.
    Kulak, D., Guiney, E.: Use cases: requirements in context. Addison-Wesley, Boston (2004)Google Scholar
  27. 27.
    Linehan, M.H.: SBVR Use Cases. Bassiliades N., Governatori G., Paschke A. (eds). Lecture Notes in Computer Science Volume 2008; 5321: 182–196. doi: 10.1007/978-3-540-88808-6
  28. 28.
    Bajwa, I.S., Choudhary, M.A.: From natural language software specifications to UML class models. Zhang, R., Zhang, J., Zhang, Z., Filipe, J., Cordeiro, J. (eds). Lecture Notes in Business Information Processing, vol. 102, pp. 224–237. (2012). doi: 10.1007/978-3-642-29958-2
  29. 29.
    Winkler, S., Pilgrim, J.: A survey of traceability in requirements engineering and model-driven development. Softw. Syst. Model. 9(4), 529–565 (2009). doi: 10.1007/s10270-009-0145-0 CrossRefGoogle Scholar
  30. 30.
    Huzar, Z., Kuzniarz, L., Reggio, G., Sourrouille, JL.: Consistency Problems in UML-Based Software Development. In: Jardim Nunes, N., Selic, B., Rodrigues da Silva, A., Toval Alvarez, A., (eds). Lecture Notes in Computer Science, vol. 3297, pp. 1–12. (2005) doi: 10.1007/b106725
  31. 31.
    Usman, M., Nadeem, A., Kim, T., Cho, E.: A survey of consistency checking techniques for UML models. In: Proceedings of Advanced Software Engineering and Its Applications (ASEA) (2008). doi: 10.1109/ASEA.2008.40
  32. 32.
    LaRoche, C.S., Traynor, B.: User-centered design (UCD) and technical communication: The inevitable marriage. In: 2010 IEEE international professional communication conference. IEEE, pp. 113–116 (2010). doi: 10.1109/IPCC.2010.5529821
  33. 33.
    Nielsen, J.: The usability engineering life cycle. IEEE Comput. 25(3), 12–22 (1992). doi: 10.1109/2.121503 CrossRefGoogle Scholar
  34. 34.
    Constantine, L.: Canonical Abstract Prototypes for Abstract Visual and Interaction Design. In: Jorge, J.A., Jardim Nunes, N., Falcão e Cunha, J., (eds.) Springer, Berlin (2003). doi: 10.1007/b13960
  35. 35.
    Martin, A., Biddle, R., Noble, J.: The XP customer role in practice: Three studies. In Agile Development Conference, IEEE Computer Society: Salt Lake City, Utah, USA, pp. 42–54 (2004)Google Scholar
  36. 36.
    Muller, M.J.: The Human–Computer Interaction Handbook. In: Jacko, J.A., Sears, A. (ed.) pp. 1051–1068, L. Erlbaum Associates Inc, Hillsdale (2003)Google Scholar
  37. 37.
    Batra, D.: Conceptual data modeling patterns: representation and validation. In: Wang, J. (ed.) Data Warehousing and Mining: Concepts, Methodologies, Tools, and Applications, pp. 280–302. Hershey Publisher, Hershey (2008)CrossRefGoogle Scholar
  38. 38.
    Vidya Sagar, V.B.R., Abirami, S.: Conceptual modeling of natural language functional requirements. J. Syst. Softw. 88, 25–41 (2014). doi: 10.1016/j.jss.2013.08.036 CrossRefGoogle Scholar
  39. 39.
    Rivero, J.M., Robles Luna, E., Grigera, J., Rossi, G., Improving user involvement through a model-driven requirements approach. In: 2013 International Workshop on Model-Driven Requirements Engineering (MoDRE). Rio de Janeiro, Brazil, pp. 20–29 (2013). doi: 10.1109/MoDRE.2013.6597260
  40. 40.
    Wills, L.M., Kordon, F.: Rapid system prototyping. J. Syst. Softw. 70(3), 225–227 (2004). doi: 10.1016/S0164-1212(03)00070-0 CrossRefGoogle Scholar
  41. 41.
    Ghabi, A., Egyed, A.: Exploiting traceability uncertainty among artifacts and code. J. Syst. Softw. 108, 178–192 (2015). doi: 10.1016/j.jss.2015.06.037 CrossRefGoogle Scholar
  42. 42.
    Cohn, M.: User stories applied: for agile software development. Addison-Wesley, Boston (2004)Google Scholar
  43. 43.
    Rivero, J.M., Rossi, G., Grigera, J., Burella, J., Robles Luna, E., Gordillo, S.: From mockups to user interface models: an extensible model driven approach. In: Proceedings of the 10th International Conference in Web Engineering (ICWE’10), Springer, Berlin, pp. 13–24 (2010)Google Scholar
  44. 44.
    Limbourg, Q., Vanderdonckt, J., Michotte, B., Bouillon, L., Florins, M., Trevisan, D.: USIXML: A User Interface Description Language for Context-Sensitive User Interfaces. In: Proceedings of the ACM AVI 2004 WorkshopGoogle Scholar
  45. 45.
    Fowler, M., Beck, K.: Refactoring: improving the design of existing code. Addison-Wesley, Boston (1999)Google Scholar
  46. 46.
    Beijering, K., Gooskens, C., Heeringa, W.: Predicting intelligibility and perceived linguistic distance by means of the Levenshtein algorithm. Linguist. Neth. 24, 13–24 (2008)Google Scholar
  47. 47.
    Basili, V., Caldiera, G., Rombach, D.: The Goal Question Metric Approach. (1994)Google Scholar
  48. 48.
    Nelson, H.J., Poels, G., Genero, M., Piattini, M.: A conceptual modeling quality framework. Softw. Qual. J. 20(1), 201–228 (2011). doi: 10.1007/s11219-011-9136-9 CrossRefGoogle Scholar
  49. 49.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Berlin (2012)CrossRefzbMATHGoogle Scholar
  50. 50.
    Cliff, N.: Dominance statistics: ordinal analyses to answer ordinal questions. Psychol. Bull. 114(3), 494 (1993)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2017

Authors and Affiliations

  • José Matías Rivero
    • 1
    • 2
  • Julián Grigera
    • 1
  • Damiano Distante
    • 3
  • Francisco Montero
    • 4
  • Gustavo Rossi
    • 1
    • 2
  1. 1.LIFIA, Facultad de InformáticaUniversidad de La PlataLa PlataArgentina
  2. 2.ConicetLa PlataArgentina
  3. 3.Unitelma Sapienza UniversityRomeItaly
  4. 4.Universidad de Castilla-La ManchaAlbaceteSpain

Personalised recommendations