JREM: An Approach for Formalising Models in the Requirements Phase with JSON and NoSQL Databases
Authors: Aitana Alonso-Nogueira, Helia Estévez-Fernández, Isaías García
Abstract:
This paper presents an approach to reduce some of its current flaws in the requirements phase inside the software development process. It takes the software requirements of an application, makes a conceptual modeling about it and formalizes it within JSON documents. This formal model is lodged in a NoSQL database which is document-oriented, that is, MongoDB, because of its advantages in flexibility and efficiency. In addition, this paper underlines the contributions of the detailed approach and shows some applications and benefits for the future work in the field of automatic code generation using model-driven engineering tools.
Keywords: Conceptual modeling, JSON, NoSQL databases, requirements engineering, software development.
Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1129189
Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1082References:
[1] Jovanovich, D., & Dogsa, T. “Software Development: Agile vs. Traditional”. In Proceedings of the 7th International Conference on pp. 11-13, 2003.
[2] Schwaber, K. “Scrum development process”. In Business Object Design and Implementation. Springer London. pp. 117-134, 1997.
[3] Zave, P. “Classification of research efforts in requirements engineering”, ACM Computing Surveys, pp. 315-321, 1997.
[4] Dermeval, D., Vilela, J., Bittencourt, I. I., Castro, J., Isotani, S., Brito, P., & Silva, A. “Applications of ontologies in requirements engineering: a systematic review of the literature.” Requirements Engineering, pp. 1-33, 2015.
[5] De Gea, J. M. C., Nicolás, J., Alemán, J. L. F., Toval, A., Ebert, C., & Vizcaíno, A. “Requirements engineering tools: Capabilities, survey and assessment.” Information and Software Technology, 54(10), 1142-1157, 2012.
[6] Boukhari, I., Bellatreche, L., & Jean, S. “An ontological pivot model to interoperate heterogeneous user requirements.” In International Symposium on Leveraging Applications of Formal Methods, Verification and Validation Springer Berlin Heidelberg. pp. 344-358, 2012.
[7] Cardei, I., Fonoage, M., & Shankar, R. “Model based requirements specification and validation for component architectures.” In Systems Conference, 2nd Annual IEEE (pp. 1-8). IEEE, 2008.
[8] Myers, B. A. “The case for an open data model” (No. CMU-CS-98-153). Carnegie-Mellon Univ Pittsburgh PA School of Computer Science, 1998.
[9] de Gea, J. M. C., Nicolás, J., Alemán, J. L. F., Toval, A., Ebert, C., & Vizcaíno, A. Requirements engineering tools. IEEE software, 28(4), 86-91, 2011.
[10] Zhang, J., Brand, M. V. D., Şutîi, A. M., & Hamilton, M. “Pattern specification and application in meta-models in Ecore”. In Proceedings of the 1st Industry Track on Software Language Engineering (pp. 3-12). ACM. 2006.
[11] Feiler, P. H., Gluch, D. P., & Hudak, J. J. “The architecture analysis & design language (AADL): An introduction (No. CMU/SEI-2006-TN-011)”. Carnegie-Mellon Univ Pittsburgh PA Software Engineering Inst. 2006.
[12] OMG, S., & Notation, O.M.G. “Software & Systems Process Engineering Meta-Model Specification”. OMG Std., Rev, 2. 2008.
[13] Friedenthal, S., Moore, A., & Steiner, R. “A practical guide to SysML: the systems modeling language”. Morgan Kaufmann. 2014.
[14] “UML” (Online: http://www.uml.org). Accessed on 31/01/2017.
[15] Bennett, S., McRobb, S., & Farmer, R. “Object-oriented systems analysis and design using UML”. McGraw Hill Higher Education. 2005.
[16] Deeptimahanti, D. K., & Babar, M. A. “An automated tool for generating UML models from natural language requirements”. IEEE/ACM International Conference on Automated Software Engineering, pp. 680-682, 2009
[17] Joshi, S. D., & Deshpande, D. “Textual requirement analysis for UML diagram extraction by using NLP”. International Journal of Computer Applications, 50(8), 2012.
[18] Kumar, D. D., & Sanyal, R. “Static UML model generator from analysis of requirements (SUGAR)”. In Advanced Software Engineering and Its Applications, pp. 77-84, 2008.
[19] More, P., & Phalnikar, R. “Generating UML Diagrams from Natural Language Specifications”. International Journal of Applied Information Systems, Foundation of Computer Science, 1(8), 2012.
[20] Mich, L., & Garigliano, R. “A linguistic approach to the development of object oriented systems using the NL system LOLITA”. In Object-Oriented Methodologies and Systems. Springer Berlin Heidelberg, pp. 371-386, 1994.
[21] Overmyer, S. P., Lavoie, B., & Rambow, O. “Conceptual modeling through linguistic analysis using LIDA”. In Proceedings of the 23rd international conference on Software engineering. IEEE Computer Society, pp. 401-410, 2001.
[22] Bajwa, I. S., & Choudhary, M. A. “From natural language software specifications to UML class models”. In International Conference on Enterprise Information Systems. Springer Berlin Heidelberg, pp. 224-237, 2011.
[23] Bray, T. (2014). “The JavaScript Object Notation (JSON)” Data Interchange Format (No. RFC 7158).
[24] Benson, T., & Grieve, G. “Principles of health interoperability: SNOMED CT, HL7 and FHIR.” Springer, pp. 74–81, 2016.
[25] “MongoDB”. (Online: https://www.mongodb.com). Accessed on 31/01/2017.
[26] Han, J., Haihong, E., Le, G., & Du, J. “Survey on NoSQL database.” Pervasive computing and applications (ICPCA), 6th international conference on. IEEE, pp. 363-366, 2011.
[27] Amber S.W.: “UML 2 Class diagram Guidelines”, (Online: http://www.agilemodeling.com/style/classDiagram.htm), 2016. Accessed on 20/12/2016
[28] “Mean Stack”, (Online: http://www.mean.io). Accessed on 31/01/2017.
[29] “Express”, (Online: http://www.expressjs.com). Accessed on 31/01/2017.
[30] “AngularJS”, (Online: https://angularjs.org). Accessed on 31/01/2017.
[31] “Node.js”, (Online: http://nodejs.org). Accessed on 31/01/2017.
[32] “Mongoose”, (Online: http://mongoosejs.com). Accessed on 31/01/2017.
[33] “Bootstrap”, (Online: https://getbootstrap.com). Accessed on 31/01/2017.
[34] Callan. R.E. “Building Object-Oriented Systems: An introduction from concepts to implementation in C++.” In Computational Mechanics Publications, 1994.
[35] Harmain, H. M., Gaizauskas R. “CM-Builder: A Natural Language-Based CASE Tool for Object- Oriented Analysis.” Automated Software Engineering. 10(2):157-181, 2003.
[36] Sharma, R., Srivastava, P. K., & Biswas, K. K. “From natural language requirements to UML class diagrams”. Second International Workshop on Artificial Intelligence for Requirements Engineering (AIRE). IEEE. pp. 1-8, 2015.