Resumen: Actualmente, existe un amplio portafolio de soluciones para la gestión de la configuración de software (GCS) así como: IEEE 828-2012, CMMI-DEV, ISO 10007:2003 e ISO/IEC 29110, entre otros. Sin embargo, las empresas han realizado esfuerzos de mejora sin tener una terminología común que permita eliminar la confusión y conflictos terminológicos que afectan la adopción e implementación de estas soluciones. Este artículo presenta la ontología SCMOnto, la cual fue definida utilizando el formalismo REFSENO y cuyo objetivo es sugerir una terminología común y coherente que permita compartir el conocimiento generado en torno a la GCS en los procesos de software de una empresa de manera genérica, formal y sin ambigüedad. Asimismo, se presenta la evaluación satisfactoria de SCMOnto en tres casos de aplicación. La ontología propuesta podría ser de gran utilidad para las empresas y consultores que planean llevar a cabo el análisis, implementación o evaluación del proceso de GCS.
Palabras-clave: Gestión de configuración de Software (GCS); CMMI; IEEE 828-2012; ISO 10007:2003; ISO/IEC 29110.
Abstract: Currently, although there is a wide portfolio of solutions for software configuration management (SCM) as well as: IEEE 828-2012, CMMI-DEV, ISO 10007:2003 and ISO/IEC 29110, among others. However, companies have made improvement efforts without having a common terminology that eliminates the confusion and terminological conflicts that affect the adoption and implementation of these solutions. This article presents the SCMOnto ontology, which was defined using the REFSENO formalism and whose objective is to suggest a common and coherent terminology that allows sharing the knowledge generated around the SCM in the software processes of a company in a generic, formal and unambiguously way. Likewise, the satisfactory evaluation of SCMOnto in three application cases is presented. The proposed ontology could be very useful for organizations and consultants who plan to carry out the analysis, implementation or evaluation of the SCM process.
Keywords: Software configuration management (GCS); CMMI; IEEE 828-2012; ISO 10007:2003; ISO/IEC 29110.
1.Introducción
Actualmente, las empresas de software deben afrontar múltiples desafíos relacionados a los cambios constantes que suceden durante la ejecución de los proyectos que llevan a cabo, por lo cual, es necesario adoptar soluciones que faciliten el control y seguimiento sistemático de las actividades relacionadas a la gestión de los cambios en los artefactos involucrados durante el proceso de desarrollo con el propósito de mantener su integridad y trazabilidad, así como: cambios en la documentación de análisis y diseño, control de las versiones generadas durante la fase de implementación y pruebas del software, gestión y control de los cambios durante el despliegue y el mantenimiento de la solución, entre otros (Perera et al, 2013). En este sentido, la adopción de buenas prácticas que faciliten la gestión de la configuración en los proyectos software se hace necesaria y crucial (Ben Menachem, 1995).
Teniendo en cuenta lo anterior, actualmente existen soluciones que permiten soportar al proceso de GCS, algunas de ellas son: IEEE 828-2012 (IEEE, 2012), CMMI-DEV 2.0 (CMMI Institute, 2020), ISO 10007:2003 (ISO 10007, 2003) e ISO 33000 (ISO, 2020), estas soluciones (en adelante modelos de referencia - MR) son aplicadas por las empresas como el medio para mejorar su proceso de desarrollo, alcanzar un grado de capacidad o llegar a un nivel madurez exigido por auditores externos. Las empresas con suficiente capital y recursos humanos optan por aplicar modelos como IEEE 828-2012 o CMMI-DEV 2.0. Por otro lado, las micro, pequeñas y medianas empresas (Mincomercio, 2020) desarrolladoras de software (MiPyMEs_DS) que son limitadas en aspectos relacionados a: su capacidad económica, talento humano y tiempo (Regalado Hernández, 2007), lo hacen mediante la aplicación de modelos de facto más ligeros como el estándar ISO/IEC 29110 (ISO/IEC 29110-2-1, 2015), o el uso de enfoques ágiles que no describen practicas específicas para la GCS y que deben ser complementados, por ejemplo: Scrum, Kanban, XP, SAFe, LeSS, entre otros.
La gran variedad emergente de MR contribuye a que las empresas de software puedan evaluar e institucionalizar nuevos y/o mejorados procesos, aumentando su competitividad y produciendo productos de mayor calidad. Adicionalmente, esto les permite elegir un modelo en particular para cubrir un problema específico o seleccionar varios modelos para abordar diferentes necesidades (Ortega, Pardo & Pino, 2019). No obstante, actualmente las empresas buscan mejorar continuamente mediante la adopción de uno o varios modelos con el objetivo de obtener un grado de capacidad y madurez que resulten en una mejora de sus procesos internos. Según (Pardo, Pino, García, Piattini & Baldassarre, 2011), los factores que pueden persuadir a un empresa para considerar la necesidad de trabajar con más de un modelo son: (i) nichos de mercado con modelos específicos, (ii) mejora de procesos legados, (iii) posicionamiento comercial, (iv) apalancamiento o fusión corporativa, (v) búsqueda sistemática de la capacidad de sus procesos, (vi) crecimiento del negocio, entre otros. Sin embargo, las empresas han experimentado dificultades para trabajar con más de un modelo al mismo tiempo y a menudo hacen un gran esfuerzo para interpretarlos, esto, debido a que cada modelo se ha definido a partir de diferentes: opiniones y puntos de vista, grupos de trabajo (culturales y políticos), intereses y organismos de GCS (Wang & King, 2000). En este sentido, cada uno de los modelos de referencia propone su propia terminología, estructura y elementos a instanciar, por lo que existe cierto grado de heterogeneidad y ambigüedad en las definiciones, conceptos y relaciones, perspectiva de calidad, alcance, orientación, propósito y otras características presentadas por cada MR con respecto a los demás (Ortega et al, 2019).
Teniendo en cuenta lo anterior, el objetivo de este artículo es presentar una solución al problema a través de una ontología llamada SCMOnto, que describe de manera genérica los conceptos y las relaciones comunes a considerar en el proceso de GCS, en este sentido, la ontología puede ser utilizada independientemente del MR que utilice o desee adoptar una empresa, reduciendo la ambigüedad de los conceptos y términos en ese dominio, y permitiendo que los interesados puedan reutilizar y compartir el conocimiento en el área. Asimismo, SCMOnto promueve y facilita la evaluación del cumplimiento del proceso de software de GCS a través de la identificación de las relaciones entre los elementos propuestos. Por otro lado, SCMOnto usa, amplía y adapta algunos de los conceptos de diferentes MR para la GCS, esto con el objetivo de presentar una solución unificada, homogénea y sin ambigüedad, lo que resulta útil y facilita su adopción, esto se ha logrado mediante la armonización de los elementos propuestos por diferentes MR relacionados con la GCS, entre ellos: IEEE 828-2012, CMMI-DEV 2.0, ISO 10007:2003, ISO 33000 y algunas sub-ontologías: ontología de GCS propuesta por (Arantes, Falbo & Guizzardi, 2007), la ontología para MR de procesos PrMO (Pardo, García, & Piattini, 2014) y la ontología para la armonización de MR presentada en (Pardo, Pino, García, Piattini & Baldassarre, 2012).
Además de la presente introducción, el documento está organizado de la siguiente manera. La Sección 2 muestra los trabajos relacionados. La Sección 3 presenta el método para definir ontologías en la ingeniería de software - REFSENO. La Sección 4 presenta la ontología para la GCS - SCMOnto a nivel de sus conceptos, relaciones y discusión de algunos de sus elementos. La Sección 5 presenta la evaluación de SCMOnto en tres casos de aplicación: a través de la narración de un ejemplo teórico, una instanciación en Protégé usando prácticas de CMMI-DEV 2.0 y la validación cualitativa por expertos profesionales en GCS. Las conclusiones y trabajos futuros se presentan en la Sección 6.
2.Trabajos relacionados
Con el análisis de los trabajos relacionados, fue posible observar propuestas relacionadas al uso de ontologías para soportar la GCS, algunos de ellos fueron: estudio que presenta una ontología genérica de modelos de referencia de procesos denominado PrMO, que define una estructura común de elementos de procesos como medio para apoyar la armonización de diferencias estructurales entre múltiples procesos, entre ellos la gestión de la configuración de software (Pardo et al, 2014), una ontología para soportar la GCS (Arantes et al, 2007). Finalmente, un estudio en el cual se presenta una herramienta que busca facilitar la integración de la GCS durante el proceso de desarrollo de software soportado en una proto-ontología (Nunes & Falbo, 2006). Otros estudios se han centrado principalmente en el desarrollo de ontologías para representar los elementos de dominios particulares: ontologías para representar los modelos ISO y CMMI, por ejemplo: CMMI-SW (Soydan & Kokar, 2008); CMMI e ISO/IEC 15504 (Liao & Qu, 2005) (Salviano & Figueiredo, 2008) e ISO 9001 y CMMI-SW (Ferchini, Bigand & Lefebvre, 2008) y en (Malzahn, 2009) se define una ontología para vincular las similitudes entre varios modelos de software. Además, en (Mendes & Abran, 2004) se presenta una ontologia para el dominio de la ingeniería basado en SWEBOK y otros modelos.
Teniendo en cuenta la situación descrita anteriormente, es posible ver que la mayoría de los estudios se han centrado esencialmente en el desarrollo de ontologías para representar y/o apoyar los elementos clave de dominios particulares, así como comprender la estructura de los enfoques de calidad basados en procesos. Si bien se encontró una propuesta para GCS en (Nunes & Falbo, 2006), esta está desactualizada. Por otra parte, fue posible encontrar que otros estudios también se centran en ontologías de desarrollo para apoyar la integración de procesos de negocio, pero este tema va más allá del alcance de este artículo. En este sentido, en contraste con los trabajos relacionados analizados, la propuesta aquí presentada tiene la intención de proporcionar un nivel más detallado para la GCS.
3. REFSENO como método para la definición de ontologías en SW
Para el diseño y definición de ontologías existen varias metodologías, por ejemplo: Methontology, un enfoque de traducción para las especificaciones de ontologías (Fernández, Gómez & Juristo, 1997), un modelo para la gestión de conocimiento basado en ontologías (Gruber, 1993), el formalismo de representación para ontologías de ingeniería de software - REFSENO (Tautz & Von Wangenheim, 1998), entre otros. Después de realizar la revisión de dichas propuestas y estudiar su posible aplicación para la definición de SCMOnto, se decidió utilizar REFSENO (Tautz & Von Wangenheim, 1998) tomando en cuenta los siguientes criterios: (i) REFSENO, a pesar de estar basada en Methontology, es una metodología ampliamente utilizada para la definición de ontologías de diferentes campos del conocimiento, propone una adaptación específica de aplicación para el diseño de ontologías de ingeniería del software, (ii) REFSENO define diferentes mecanismos de análisis y presentación de la solución a nivel de conceptos, atributos y relaciones. Esto es posible debido a que REFSENO propone tres tablas para representar dichos elementos: glosario de conceptos, atributos y relaciones y (iii) a diferencia de otros enfoques, REFSENO provee numerosas técnicas para el análisis de la consistencia de la ontología e instancias a nivel de implementación. Además, REFSENO permite realizar una caracterización entre los niveles de conocimiento conceptual y de contexto específico; de esta manera, REFSENO representa una alternativa más intuitiva para lectores que no estén familiarizados con lógica de predicado de primer orden o similares.
4. SCMOnto: Una ontología para la GCS
Después de realizar un análisis exhaustivo de los MR existentes, se evidenció que existe heterogeneidad y ambigüedad en sus definiciones, en este sentido, se establecieron los siguientes objetivos para la definición de SCMOnto: (i) ubicación e identificación de sinónimos, homónimos, inconsistencias y conflictos terminológicos e (ii) integración de los conceptos encontrados en la literatura. Estos objetivos se logran con SCMOnto, la cual es una ontología común que representa el dominio de la GCS, y además proporciona: conceptos, términos con definiciones claras y concisas, y sus respectivas relaciones. Estos elementos también se pueden utilizar como base para respaldar los requisitos de valoración y evaluación del proceso de GCS de una empresa independiente del MR que ésta use o desee adoptar.
De acuerdo con la clasificación propuesta por (Ruiz & Hilera, 2006), las ontologías en el área de ingeniería de software se pueden agrupar en dos categorías: (i) ontologías de dominio, aquellas que describen el conocimiento de un dominio particular y (ii) ontologías como artefactos de software, que sirven como artefactos durante el proceso de desarrollo de software. De acuerdo con lo anterior, SCMOnto, es una ontología de dominio dado que permite organizar el conocimiento relacionado con los conceptos y las relaciones en torno a la GCS. A continuación, se presenta una aproximación general de la ontología en términos de su propósito, el glosario de conceptos y su representación gráfica.
4.1.Propósito
SCMOnto permite que aquellos interesados en el desarrollo de software conozcan los conceptos y las relaciones que deben estar presentes en el proceso de GCS, independientemente del enfoque particular que se adopte. SCMOnto se puede usar desde las siguientes perspectivas: (i) académico, aquellos interesados en aprender o investigar sobre este tema pueden usar la ontología para conocer los términos y relaciones utilizados en la GCS e (ii) industrial, las empresas de software pueden utilizar la ontología para instanciar sus procesos de software y saber en qué medida están presentes los conceptos y las relaciones básicas que se producen en el proceso de GCS. Asimismo, puede usarse como base para apoyar la valoración y evaluación de la GCS de una empresa, por otra parte, SCMOnto también se puede usar como herramienta conceptual para facilitar la armonización de múltiples modelos relacionados con GCS.
4.2.Integración de SCMOnto con otros modelos de GCS
La definición de SCMOnto se llevó a cabo mediante la armonización de los conceptos de MR para GCS, entre ellos: IEEE 828-2012 (IEEE, 2012), CMMI-DEV 2.0 (CMMI Institute, 2020), ISO/IEC 29110 (ISO/IEC 29110-2-1, 2015) y una sub-ontología de GCS que presenta la evolución y actualización de la ontología definida en (Nunes & Falbo, 2006) llamada EvSCMO. Además de los modelos de referencia, SCMOnto utiliza dos sub-ontologías adicionales que aportan conceptos y relaciones entre conceptos y que están estrechamente relacionados a la GCS desde la perspectiva de área de proceso, ellas son: la ontología de GCS (Arantes et al, 2007), la ontología para MR de procesos PrMO (Pardo et al, 2014) y la ontología para la armonización de múltiples estándares y modelos presentada en (Pardo et al, 2012). La Figura 1 presenta los conceptos y las relaciones de SCMOnto mediante la notación de diagramas UML, la convención de colores especifica los conceptos utilizados de otras ontologías, por limitaciones de espacio se presenta un extracto de la ontología, el diagrama completo está disponible en https://bit.ly/2VYN7KH y el código fuente en: https://bit.ly/3barhbL
4.3.Conceptos de SCMOnto
Las definiciones precisas de los conceptos incluidos en SCMOnto son presentados en la Tabla 1, la cual ha sido organizada en cuatro columnas: en la primera y segunda columna se indica el término que será descrito y su súper concepto en caso de ser una especialización de otro concepto definido en SCMOnto, la tercera y cuarta columna muestran la definición del término y la fuente relacionada de donde se extrajo en caso de no ser una definición propia de la propuesta. La Tabla 2 presenta las relaciones entre los conceptos presentados en la Tabla 1.
4.4.Discusión de algunos conceptos y sus relaciones
Algunos de los términos que conforman la propuesta de SCMOnto merecen un análisis especial para clarificar su contexto de utilización e inclusión dentro de esta ontología, tales como: (i) Producto, aunque en (IEEE, 2012) un producto está definido como el conjunto de artefactos a ser desarrollados, entregados y mantenidos en un proyecto, la definición utilizada en SCMOnto ha sido extraída y adaptada de CMMI-DEV 2.0 (CMMI Institute, 2020), debido a que su aplicación dentro del contexto de GCS pudiera brindar una mayor utilidad explicitando que un producto puede ser un entregable a cliente o puede ser utilizado como insumo interno del proyecto, (ii) Técnico de configuración es una especialización del concepto Persona. Se ha definido como un rol especial para todo aquel miembro de proyecto que se vea involucrado en la modificación, actualización y/o alteración de un ítem de configuración tras la aprobación de una petición de cambio, (iii) Autoridad de gestión de la configuración, a nivel de proyecto, es el rol responsable de la correcta planeación e implementación del proceso de gestión de la configuración. Este rol personifica al experto, es visto como el mentor y orientador del proceso de GCS, y no como la persona encargada de la toma de decisiones por sí mismo y (iv) Comisión de control de la configuración, es otra de las especializaciones del concepto Persona que se han definido en SCMOnto. Este rol es desempeñado por un grupo de personas encargadas del estudio de cada una de las peticiones de cambio que surjan para un ítem de configuración dentro del proyecto; son los responsables de aprobar o rechazar dichas peticiones y de asegurar su realización en caso de resultar aprobadas.
5.Evaluación de SCMOnto
Según (Saraiva de Almeida, Pardo & Mira-da Silva, 2018), la evaluación de la ontologia debe centrarse principalmente en la evaluación del usuario en tres elementos relacionados con el rendimiento y la definición correcta: consistencia, integridad y concisión. La evaluación de la consistencia, si es posible inferir el conocimiento de la ontología, la evaluación de la integridad, demostrando la inexistencia de lo incompleto, determinando si las definiciones individuales están bien establecidas y si todo lo que se supone que debe establecerse en la ontología está presente o puede inferirse. Además, si la ontología propuesta no es redundante y tiene definiciones inútiles, entonces la ontología puede considerarse concisa.
La ontología resumida y presentada en este documento fue implementada en el lenguaje de ontologías web OWL (OWL, 2012), usando Protégé (Protégé, 2020) y el razonador Hermit para analizar y evaluar la consistencia de la estructura ontológica de SCMOnto, el código de SCMOnto se puede consultar en el siguiente enlace: https://bit. ly/3barhbL. Una vez que se realizó el análisis, fue posible verificar que SCMOnto no presentaba inconsistencias en su estructura. A continuación, se presenta un resumen de cómo SCMOnto fue evaluada teóricamente a través de un ejemplo de aplicación, una instanciación de un proceso basado en los elementos propuestos para GCS de CMMI-DEV 2.0 y una evaluación cualitativa por medio de una entrevista realizada a un grupo de expertos profesionales en GCS de la industria.
5.1.Narración de un ejemplo teórico de aplicación
A continuación, se presenta un ejemplo teórico de aplicación de algunos de los conceptos incluidos en SCMOnto, los conceptos se podrán apreciar en letra cursiva. Una MiPyME_ DS interesada en incrementar la calidad de sus productos, ha fijado su atención en la inclusión de mejores prácticas en su proceso de desarrollo de software, esto bajo la motivación de llevar a cabo procesos más controlados, organizados y de acuerdo a modelos de calidad reconocidos internacionalmente que brinden características de madurez a su empresa; de esta manera ha decidido adoptar prácticas propias de gestión de la configuración de software. Teniendo en cuenta lo anterior, la empresa deberá identificar: (i) elementos de proceso primordiales que constituyan a la gestión de la configuración, tales como identificación de la configuración y control de la configuración, y (ii) aquellos artefactos en los que se basará dicha área de proceso, así como: líneas base, ítems de configuración, y sus respectivos repositorios, entre otros. Una MiPyME_DS que haya implementado un proceso de GCS, muy probablemente estará interesada en auditar y evaluar constantemente el grado de cumplimiento que sus artefactos, para llevarlo a cabo, la principal herramienta que la empresa tendrá serán los dos tipos de auditoría de configuración que la GCS incluye: la auditoría de configuración física y la auditoría de configuración funcional, ambas son utilizadas con el propósito de verificar el estado y proceso de evolución y desarrollo de los artefactos involucrados durante el proceso de construcción de software y el grado de correspondencia con respecto a su documentación.
5.2.Soportando la instanciación de control de la configuración
La Figura 2 muestra un extracto de la instancia de SCMOnto utilizando el plugin gráfico GraphViz (GraphViz, 2020), base para la visualización de ontología en Protégé, también fue necesario complementar dicha representación con el plugin gráfico OntoGraph (OntoGraph, 2020), responsable de la creación visual de las entidades, así como de sus relaciones. En el extracto se presenta el concepto de control de la configuración, uno de los principales componentes de la GCS que se encarga de establecer las actividades necesarias para garantizar la integridad de los artefactos sensibles a cambio durante el proceso de desarrollo de un producto. En la Figura 2 es posible observar cómo algunos de los conceptos representados tienen influencia directa o indirecta sobre otros conceptos mediante la correcta representación de las relaciones presentadas en la Tabla 2, lo que permite apreciar que la ontologia definida provee un correcto soporte a la representación de los conceptos utilizados en este dominio, más concretamente en el universo del discurso relacionado a la GCS. Las líneas punteadas representan las relaciones entre conceptos, asimismo, las líneas continuas representan herencia entre conceptos, por ejemplo: el concepto Línea Base es una especialización del concepto Ítem de Configuración.
Uno de los aspectos más importantes de la instanciación de la ontología es buscar información relevante que brinde información adicional sobre el proceso a través de consultas a la ontología que devuelvan información de interés. Gracias a ello, fue posible realizar un mapeo general de todos los conceptos y relaciones entre conceptos con el objetivo de encontrar aquellos que son más recurrentes en la GCS. Como resultado de realizar esta actividad se logró identificar que los términos Identificación de la configuración, Comisión de control de la configuración, Auditoria de configuración, Ítem de configuración, Línea base y Gestión de la configuración son los conceptos más significativos de la ontología, lo cual es consecuente con la terminología propuesta por los modelos existentes que definen la GCS a partir de su Identificación, Control, Seguimiento y Auditoría (CMMI Institute, 2020), describiendo de manera exitosa los aspectos más relevantes del área de proceso de forma transparente a cualquier modelo o estándar.
5.3.Evaluación cualitativa a través de entrevistas con profesionales
Se realizó una evaluación cualitativa con una entrevista en la que participaron un total de seis profesionales especialistas en el campo del desarrollo de software y el proceso de GCS que fueron parte de un grupo focal. El procedimiento para llevar a cabo la evaluación sigue los lineamientos definidos en (Kontio, Bragge & Lehtola, 2008). Para la evaluación, los participantes recibieron la documentación correspondiente a un proceso formal para soportar la GCS en el cual se describen los conceptos más relevantes asociados a la terminología propuesta en SCMOnto. Posteriormente, se realizó una evaluación cualitativa en la que los participantes explicaron en sus propias palabras los términos utilizados en el proceso y evaluaron en una escala discreta de 1 a 5 si las definiciones presentadas en SCMOnto corresponden con su propia definición. Los participantes también evaluaron las definiciones de SCMOnto a nivel de su: completes, consistencia y concisión. La Tabla 3 presenta el extracto de la terminología identificada y su calificación, la escala discreta utilizada corresponde a: valor 1: Completamente En Desacuerdo (CD) con la definición del concepto, valor 2: En Desacuerdo (ED) con la definición del concepto, valor 3: el Concepto es Ambiguo (CA), valor 4: Parcialmente de Acuerdo (PA) con la definición del concepto y valor 5: Totalmente de Acuerdo (TA) con la definición del concepto. En general, se pudo observar que los participantes estuvieron de acuerdo con la mayoría de los conceptos evaluados y declararon que SCMOnto es un recurso de gran ayuda que proporciona una visión más clara y completa sobre la GCS, así como un referente a tener en cuenta para adelantar procesos de valoración o evaluación de los procesos software en lo referente a la GCS. Sin embargo, en la Tabla 3 se puede observar que 2 conceptos no fueron calificados de manera favorable: línea base (No. 7) y comisión de control (No. 11), razón por la cual se realizaron acciones de mejora sobre ellos. Asimismo, como resultado del grupo focal, surgieron algunas sugerencias que fueron consideradas en la versión aquí presentada.
6.Conclusiones y trabajos futuros
En este documento, se ha presentado el resumen de una ontologia semi-formal para el dominio de la GCS llamada SCMOnto. El vocabulario descrito en SCMOnto permite organizar el conocimiento relacionado con el desarrollo de software y específicamente el relacionado con la GCS de manera genérica y formal, reduciendo los problemas de inconsistencia, integridad y ambigüedad de los conceptos y términos presentes en este campo de investigación. Además, SCMOnto ha sido definida usando el formalismo REFSENO, representado en UML y construida en el lenguaje OWL para facilitar su uso por la comunidad académica y las empresas de software (el código fuente está disponible en https://bit.ly/3barhbL).
Por otro lado, el objetivo principal de SCMOnto es proporcionar una base para la discusión de los términos, conceptos y relaciones identificados en este campo de investigación, y que ha sido aplicada con éxito en tres casos de implementación: (i) una validación teórica como ejemplo de aplicación, (ii) la instanciación de algunos de los conceptos de CMMI-DEV 2.0 que permiten apoyar la GCS; y (iii) la evaluación cualitativa con una entrevista en la que participaron un total de seis profesionales especialistas en el campo del desarrollo de software y GCS. Tanto el ejemplo narrativo, como la instanciación de SCMOnto y el grupo focal trajeron consigo un conjunto de beneficios comentados por los participantes, entre ellos: (i) los conceptos, y relaciones entre conceptos son homogéneos y no presentan ambigüedad con respecto a los modelos y estándares existentes, (ii) la instanciación del modelo permitió observar el comportamiento de SCMOnto en un entorno controlado y aclaró los conceptos que inicialmente eran difusos, y (iii) la evaluación cualitativa del modelo por los participantes permitió refinar aquellos conceptos que no eran completamente claros y podían presentar ambigüedad.
Los resultados obtenidos en el desarrollo de SCMOnto se utilizarán para abordar algunos trabajos futuros en el siguiente orden: (i) mejorar la evaluación del constructo de SCMOnto a través de la formulación de preguntas de competencia y el lenguaje de consulta SPARQL, (ii) se espera evaluar la ontología mediante la aplicación de estudios de casos en empresas de software que implementan GCS en sus procesos software y actualizar y ampliar la ontología en función de las recomendaciones obtenidas, (iii) utilizar la ontología como base conceptual para la definición de un marco que respalde la evaluación de la GCS y (iv) focalizar también los esfuerzos en la automatización de la etapa de evaluación, ya que el proceso de evaluación generalmente en las auditorías es actualmente un área manual.
7.Agradecimientos
El profesor César Pardo agradece la contribución de la Universidad del Cauca, donde trabaja como profesor Asociado.
Referencias
Ben Menachem, M. (1995). Software Configuration Management Guidebook. Retreived from: http://dl.acm.org/citation.cfm?id=541488
Ferchini, A. Bigand, M., & Lefebvre, H. (2008). An ontology for quality standards integration in software collaborative projects. In proceedings of the 1st workshop on model driven interoperability for sustainable information systems, Montepellier (pp. 17-30).
Fernández, M., Gómez, A., & Juristo, N. (1997). METHONTOLOGY: From Ontological Art Towards Ontological Engineering. In AAAI-97 Spring Symposium Series, 97(6), 33-40. doi: 10.1109/AXMEDIS.2007.19.
GraphViz. (2020). Graphviz-Graph visualization software. Retrieved from https://www.graphviz.org/
Gruber, T. R. (1993). A translation approach to portable ontology specifications. In Knowledge Acquisition, 5(2), 199-200. doi: I0.i006/knac.i993.i008.
IEEE. (2012). IEEE 828-2012, IEEE Standard for Configuration Management in Systems and Software Engineering IEEE Computer Society. Retreived from: https://ieeexplore.ieee.org/document/6170935
ISO/IEC 29110-2-1. (2015). Software engineering - Lifecycle profiles for Very Small Entities (VSEs). Retreived from: https://www.iso.org/standard/62712.html
ISO. (2020). ISO 33000: Familia de normas para la evaluación y mejora de la capacidad y madurez de procesos. Retreived from: https://www.iso33000.es/
ISO 10007. (2003). Quality management systems. Guidelines for configuration management. Retreived from: goo.gl/qHsRqR
Jyrki, K., Bragge, J., & Lehyola, L. (2008). The Focus Group Method as an Empirical Tool in Software Engineering. In S. Forrest, S. Janice, & B. Dag I. K (Eds). Guide to Advanced Empirical Software Engineering, (pp. 93-116). London, UK: Springer London.
Malzahn, D. (2009). Assessing-Learning-Impriving an integrated approach for self assessment and process improvement systems. In Proceedings of the 4th international conferenec on systems. IEEE Computer Society. Guadeloupe (pp. 126-130).
Mendes, O., & Bran, A. (2004). Software engineering ontology: A development methodology. Metrics News, 9(1), 68-76.
Mincomercio. (2020). Definición tamaño empresarial Micro, Pequeña, Mediana o Grande empresa. Retreived from: https://bit.ly/2Wd8b0l
Liao, L., & Qu, H. (2005). A software process ontology and its application. In Proceedings of the 4th International Semantic Web Conference, Springer lecture notes in conputer science. doi: 10.3233/978-1-61499-370-4-207
OntoGraph. (2020). OntoGraph - Protege. Retrieved from: https://protegewiki. stanford.edu/wiki/OntoGraf
Ortega, W., Pardo, C., & Pino, F. (2019). OntoAgile: An ontology for agile software development processes. DYNA, 86(209), 79-90.
OWL 2 Web Ontoogy Languaje. (2012). Retreived from: https://www.w3.org/TR/owl2-overview/
Pardo, C., García-rubio, F., & Piattini, M. (2014). Una ontologia de referencia para la armonización de modelos de referencia de procesos. Revista Facultad de Ingeniería Universidad de Antioquia. 73(1), 29-42. doi: 10.19053/issn.0121-1129.
Pardo, C., Pino, F. J., García, F., Piattini, M., & Baldassarre, M. T. (2011). Trends in Harmonization of Multiple Reference Models. In 5th International Conference ENACE 2010, 230(1), 61-73. doi: 10.1007/978-3-642-23391-3.
Pardo, C., Pino, F. J., García, F., Piattini, M., & Baldassarre, M. T. (2012). An ontology for the harmonization of multiple standards and models. In Computer Standards and Interfaces. 34(1), 48-59. doi: 10.1016Zj.csi.2011.05.005.
Perera, P. N. G., Atapattu, A. R. D. C., Dias, H. T., Liyanage, N. T., Silva, R. O. C., Rupasingha, P. S., Fernando, S. G. S., & Manawadu, C. D. (2013). The impact of effective configuration management usage in software development firms in Sri Lanka. In Proceedings of the 8th International Conference on Computer Science and Education. doi: 10.1109/ICCSE.2013.6553997.
Protége (2020). The Protégé Ontology Editor and Knowledge Acquisition System. Retrieved from goo.gl/vQvpvo.
Regalado Hernández, R. (2007). Las MiPyMEs en Latinoamérica. Retreived from: goo. gl/6MiTxe.
Ruiz, F., & Hilera, J. (2006). Using ontologies in software engineering and technology. In Ontologies for Software Engineering and Software Technology. (pp. 126-130). doi: 10.1007/3-540-34518-3_2.
Salviano, C., & Figueiredo, A. (2008). Unified basic concepts for procees cabability models. In Proceedings of the conference on SEKE. San Francisco, USA. (pp. 173-178).
Saraiva de Almeida, R., Pardo, C., & Mira-da Silva, M. (2018). An ontology-based model for ITL process assessment using TIPA for ITIL. Software process improvement and capability determination. New York, NY. Springer editors.
Software Engineering Institute. (2010). CMMI for Development, Version 2.0. Software Engineering Institute. Retreived from: goo.gl/bbyt4z.
Soydan, G., & Kokar, M. (2013). An OWL ontology for representing the CMMI-SW model. Retreived from: http://km.aifb.kit.edu/ws/swese2006/final/soydan-full. pdf
Tautz, C., & Von Wangenheim, C. G. (1998). REFSENO: A Representation Formalism for Software Engineering Ontologies. Retreived from: https://bit.ly/3fudno7.
Wang, Y., & King, G. (2000). Software Engineering Processes: Principles and Applications (1st Ed). Cleveland, Ohio. CRC Press.
You have requested "on-the-fly" machine translation of selected content from our databases. This functionality is provided solely for your convenience and is in no way intended to replace human translation. Show full disclaimer
Neither ProQuest nor its licensors make any representations or warranties with respect to the translations. The translations are automatically generated "AS IS" and "AS AVAILABLE" and are not retained in our systems. PROQUEST AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY AND ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES FOR AVAILABILITY, ACCURACY, TIMELINESS, COMPLETENESS, NON-INFRINGMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Your use of the translations is subject to all use restrictions contained in your Electronic Products License Agreement and by using the translation functionality you agree to forgo any and all claims against ProQuest or its licensors for your use of the translation functionality and any output derived there from. Hide full disclaimer
© 2020. This work is published under https://creativecommons.org/licenses/by-nc-nd/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Abstract
Abstract: Currently, although there is a wide portfolio of solutions for software configuration management (SCM) as well as: IEEE 828-2012, CMMI-DEV, ISO 10007:2003 and ISO/IEC 29110, among others. [...]companies have made improvement efforts without having a common terminology that eliminates the confusion and terminological conflicts that affect the adoption and implementation of these solutions. The proposed ontology could be very useful for organizations and consultants who plan to carry out the analysis, implementation or evaluation of the SCM process. Sin embargo, las empresas han experimentado dificultades para trabajar con más de un modelo al mismo tiempo y a menudo hacen un gran esfuerzo para interpretarlos, esto, debido a que cada modelo se ha definido a partir de diferentes: opiniones y puntos de vista, grupos de trabajo (culturales y políticos), intereses y organismos de GCS (Wang & King, 2000).
You have requested "on-the-fly" machine translation of selected content from our databases. This functionality is provided solely for your convenience and is in no way intended to replace human translation. Show full disclaimer
Neither ProQuest nor its licensors make any representations or warranties with respect to the translations. The translations are automatically generated "AS IS" and "AS AVAILABLE" and are not retained in our systems. PROQUEST AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY AND ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES FOR AVAILABILITY, ACCURACY, TIMELINESS, COMPLETENESS, NON-INFRINGMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Your use of the translations is subject to all use restrictions contained in your Electronic Products License Agreement and by using the translation functionality you agree to forgo any and all claims against ProQuest or its licensors for your use of the translation functionality and any output derived there from. Hide full disclaimer
Details
1 Grupo de investigación GTI, Universidad del Cauca, Carrera 2° Calle 15n Esquina Campus Tulcán 19001, Popayán, Colombia