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.
Similar content being viewed by others
Notes
The 9th Annual State of \(\hbox {Agile}^{\mathrm{TM}}\) Survey. http://www.versionone.com/pdf/2013-state-of-agile-survey.pdf.
TopLink JPA Annotation Reference—http://www.oracle.com/technetwork/middleware/ias/toplink-jpa-annotations-096251.html.
Code First Data Annotations—https://msdn.microsoft.com/en-us/data/jj591583.aspx.
Balsamiq Mockups. http://balsamiqmockups.com.
Pencil Project. http://pencil.evolus.vn.
OMG Unified Modeling Language (OMG UML), Infrastructure, Version 2.4.1. http://www.omg.org/spec/UML/2.4.1/Infrastructure/PDF.
XML Metadata Interchange—http://www.omg.org/spec/XMI/.
ArgoUML—http://argouml.tigris.org/.
DataMock tooling source code repository—https://bitbucket.org/jmrivero/datamock-tool-public/.
The need for this second iteration might also come from an evolution of the developed application.
\(\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.
DataMock Stats for BT and ES metrics—https://docs.google.com/spreadsheets/d/1Sv4qLUdI87n23ERMndPSqGZcn4fBqHvfIu4ksUXc_Ts/.
PlantUML: Open-source tool that uses simple textual descriptions to draw UML models—http://plantuml.com/.
References
Topi, H., Ramesh, V.: Human factors research on data modeling. J. Database Manag. 13(2), 3–19 (2002). doi:10.4018/jdm.2002040101
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
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
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
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
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)
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
Liu, W., Easterbrook, S., Mylopoulos, J.: Rule Based detection of Inconsistency in UML Models, pp. 106–123 (2002)
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
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
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)
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)
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)
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)
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)
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)
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
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
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
Brambilla, M., Fraternali, P.: Interaction Flow Modeling Language: Model-Driven UI Engineering of Web and Mobile Apps with IFML. Morgan Kaufmann, Burlington (2014)
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)
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
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)
Rosenberg, D., Stephens, M.: Collins–Cope. Agile development with ICONIX process—people, process, and pragmatism. (Apress ed) (2005)
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
Kulak, D., Guiney, E.: Use cases: requirements in context. Addison-Wesley, Boston (2004)
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
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
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
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
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
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
Nielsen, J.: The usability engineering life cycle. IEEE Comput. 25(3), 12–22 (1992). doi:10.1109/2.121503
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
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)
Muller, M.J.: The Human–Computer Interaction Handbook. In: Jacko, J.A., Sears, A. (ed.) pp. 1051–1068, L. Erlbaum Associates Inc, Hillsdale (2003)
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)
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
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
Wills, L.M., Kordon, F.: Rapid system prototyping. J. Syst. Softw. 70(3), 225–227 (2004). doi:10.1016/S0164-1212(03)00070-0
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
Cohn, M.: User stories applied: for agile software development. Addison-Wesley, Boston (2004)
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)
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
Fowler, M., Beck, K.: Refactoring: improving the design of existing code. Addison-Wesley, Boston (1999)
Beijering, K., Gooskens, C., Heeringa, W.: Predicting intelligibility and perceived linguistic distance by means of the Levenshtein algorithm. Linguist. Neth. 24, 13–24 (2008)
Basili, V., Caldiera, G., Rombach, D.: The Goal Question Metric Approach. (1994)
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
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Berlin (2012)
Cliff, N.: Dominance statistics: ordinal analyses to answer ordinal questions. Psychol. Bull. 114(3), 494 (1993)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Benoit Baudry.
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-017-0586-9