Description and Analysis of Design Decisions: An Ontological Approach

A success software development process requires a good design stage. During the design, a set of decisions is made in order to improve the productivity, reduce costs for reimplementation and obtain reliable systems, in special for critical domains, such as bank management systems or systems for aeronautics. Nevertheless, it is not easy to find documentation about design decisions or tools which support this process. To address this issue, this article describes a solution based on ontologies to describe design decisions. In order to identify the main elements a systematic literature review was carried out. This review also helped to identify some of the most common design decisions. These elements were used to develop the ontology which allows answering the problem raised. This ontology could be a useful tool for architects and designers during the design stage of a system.

[1]  Antony Tang,et al.  Decision making in software architecture , 2016, J. Syst. Softw..

[2]  Yaisel Nuñez Arcia,et al.  Algoritmo para corregir anomalías a nivel de instancia en grandes volúmenes de datos utilizando MapReduce , 2016 .

[3]  Quan Z. Sheng,et al.  A Reference Architecture for provisioning of Tools as a Service: Meta-model, Ontologies and Design Elements , 2017, Future Gener. Comput. Syst..

[4]  Ferley Medina Rojas,et al.  Diseño de software para calcular la huella de carbono e hídrica durante la producción de café , 2018 .

[5]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[6]  Darío Andrés Silva,et al.  Construyendo Aplicaciones Web con una Metodología de Diseño Orientada a Objetos , 2001, Rev. Colomb. de Computación.

[7]  Nicola Guarino,et al.  Supporting ontological analysis of taxonomic relationships , 2001, Data Knowl. Eng..

[8]  Rey Segundo Guerrero Proenza,et al.  Ontología para la representación de las preferencias del estudiante en la actividad de aprendizaje en entornos virtuales , 2013 .

[9]  Yusniel Hidalgo Delgado,et al.  Método para la integración de ontologías en un sistema para la evaluación de créditos , 2016 .

[10]  Anthony Rafael Sotolongo León,et al.  Modelo de descripción de arquitectura de almacenes de datos para ensayos clínicos del Centro de Inmunología Molecular , 2012 .

[11]  Mary Shaw,et al.  Research toward an engineering discipline for software , 2010, FoSER '10.

[12]  Pablo A. Quezada,et al.  Desarrollo de Aplicación Web para la Gestión de Producción de Camarón , 2018 .

[13]  Teemu Leinonen,et al.  Design Thinking and Collaborative Learning. Pensamiento de diseño y aprendizaje colaborativo , 2014 .

[14]  Gloria Giraldo,et al.  Una ontología para la representación de conceptos de diseño de software , 2011, Rev. Avances en Sistemas Informática.

[15]  Roger S. Pressman,et al.  Ingeniería del software: un enfoque práctico , 1998 .

[16]  Antonio Francisco do Prado,et al.  Improving Agile Software Development with Domain Ontologies , 2018, ITNG 2018.

[17]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[18]  N. F. Noy,et al.  Ontology Development 101: A Guide to Creating Your First Ontology , 2001 .

[19]  Manuel Noguera,et al.  Model-driven and ontology-based framework for semantic description and validation of business processes , 2014, IEEE Latin America Transactions.

[20]  Manuel Noguera,et al.  Ontology-based Transformation from CIM to PIM , 2016, IEEE Latin America Transactions.

[21]  Nenad Medvidovic,et al.  Bringing Architecture Thinking into Developers' Daily Activities , 2017, SOEN.

[22]  Farrokh Mistree,et al.  Ontology-Based Representation of Design Decision Hierarchies , 2016, Journal of Computing and Information Science in Engineering.

[23]  Kai Petersen,et al.  Identifying Strategies for Study Selection in Systematic Reviews and Maps , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[24]  Hernán Astudillo,et al.  Bridging the gap between software architecture rationale formalisms and actual architecture documents: An ontology-driven approach , 2012, Sci. Comput. Program..

[25]  Salah Sadou,et al.  Software architecture constraint reuse-by-composition , 2016, Future Gener. Comput. Syst..

[26]  Ivar Jacobson,et al.  El proceso unificado de desarrollo de software , 2000 .