Skip to main content
Log in

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

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. The 9th Annual State of \(\hbox {Agile}^{\mathrm{TM}}\) Survey. http://www.versionone.com/pdf/2013-state-of-agile-survey.pdf.

  2. TopLink JPA Annotation Reference—http://www.oracle.com/technetwork/middleware/ias/toplink-jpa-annotations-096251.html.

  3. Code First Data Annotations—https://msdn.microsoft.com/en-us/data/jj591583.aspx.

  4. Balsamiq Mockups. http://balsamiqmockups.com.

  5. Pencil Project. http://pencil.evolus.vn.

  6. OCL—http://www.omg.org/spec/OCL/2.4/.

  7. OMG Unified Modeling Language (OMG UML), Infrastructure, Version 2.4.1. http://www.omg.org/spec/UML/2.4.1/Infrastructure/PDF.

  8. XML Metadata Interchange—http://www.omg.org/spec/XMI/.

  9. MagicDraw—http://www.nomagic.com/products/magicdraw.html.

  10. ArgoUML—http://argouml.tigris.org/.

  11. DataMock tooling source code repository—https://bitbucket.org/jmrivero/datamock-tool-public/.

  12. The need for this second iteration might also come from an evolution of the developed application.

  13. \(\mu _{\mathrm{DM}}\) and \(\mu _{\mathrm{M}}\) stand for \(\mu \) values for DataMock and Manual modeling, respectively; \(\upsigma _{\mathrm{DM}}\) and \(\upsigma _{\mathrm{M }}\) stands for \(\upsigma \) values for DataMock and Manual modeling, respectively.

  14. DataMock Stats for BT and ES metrics—https://docs.google.com/spreadsheets/d/1Sv4qLUdI87n23ERMndPSqGZcn4fBqHvfIu4ksUXc_Ts/.

  15. PlantUML: Open-source tool that uses simple textual descriptions to draw UML models—http://plantuml.com/.

References

  1. Topi, H., Ramesh, V.: Human factors research on data modeling. J. Database Manag. 13(2), 3–19 (2002). doi:10.4018/jdm.2002040101

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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. 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

    Article  Google Scholar 

  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)

  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

    Article  Google Scholar 

  8. Liu, W., Easterbrook, S., Mylopoulos, J.: Rule Based detection of Inconsistency in UML Models, pp. 106–123 (2002)

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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)

  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)

  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)

  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)

  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)

  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)

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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. 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)

  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

    Article  Google Scholar 

  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)

  24. Rosenberg, D., Stephens, M.: Collins–Cope. Agile development with ICONIX process—people, process, and pragmatism. (Apress ed) (2005)

  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. Kulak, D., Guiney, E.: Use cases: requirements in context. Addison-Wesley, Boston (2004)

    Google Scholar 

  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. 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. 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

    Article  Google Scholar 

  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. 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. 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. Nielsen, J.: The usability engineering life cycle. IEEE Comput. 25(3), 12–22 (1992). doi:10.1109/2.121503

    Article  Google Scholar 

  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. 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)

  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)

  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)

    Chapter  Google Scholar 

  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

    Article  Google Scholar 

  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. Wills, L.M., Kordon, F.: Rapid system prototyping. J. Syst. Softw. 70(3), 225–227 (2004). doi:10.1016/S0164-1212(03)00070-0

    Article  Google Scholar 

  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

    Article  Google Scholar 

  42. Cohn, M.: User stories applied: for agile software development. Addison-Wesley, Boston (2004)

    Google Scholar 

  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)

  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 Workshop

  45. Fowler, M., Beck, K.: Refactoring: improving the design of existing code. Addison-Wesley, Boston (1999)

    Google Scholar 

  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. Basili, V., Caldiera, G., Rombach, D.: The Goal Question Metric Approach. (1994)

  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

    Article  Google Scholar 

  49. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Berlin (2012)

    Book  MATH  Google Scholar 

  50. Cliff, N.: Dominance statistics: ordinal analyses to answer ordinal questions. Psychol. Bull. 114(3), 494 (1993)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Damiano Distante.

Additional information

Communicated by Dr. Benoit Baudry.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Rivero, J.M., Grigera, J., Distante, D. et al. DataMock: An Agile Approach for Building Data Models from User Interface Mockups. Softw Syst Model 18, 663–690 (2019). https://doi.org/10.1007/s10270-017-0586-9

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-017-0586-9

Keywords

Navigation