Process productivity improvements through semantic and linked data technologies

  1. EITO BRUN, RICARDO
Dirixida por:
  1. Juan Miguel Gómez-Berbís Director
  2. Antonio de Amescua Seco Co-director

Universidade de defensa: Universidad Carlos III de Madrid

Fecha de defensa: 28 de abril de 2022

Tribunal:
  1. José María Álvarez Rodríguez Presidente/a
  2. Rafael Valencia García Secretario/a
  3. Alejandro Rodríguez González Vogal

Tipo: Tese

Resumo

El desarrollo de aplicaciones software implica la creación de distintos artefactos y productos de trabajo. Estos suelen consistir en información no estructurada (documentos), y en datos semiestructurados entre los que se debe mantener la trazabilidad. La información y los documentos se gestionan en aplicaciones informáticas heterogéneas que no comparten un modelo común para codificar e intercambiar los datos. Esto se traduce en dificultades para acceder a la información, conocer las relaciones entre los datos y comprender el producto software en sus distintos niveles de abstracción. A la complejidad del producto software se suma la dificultad de conocer y seguir los requisitos de proceso que deben guiar las actividades de desarrollo. Cuando el producto software se debe desarrollar siguiendo una norma de referencia como la utilizada en esta investigación, los equipos de trabajo deben contemplar: • Requisitos que afectan a los productos de trabajo, y • Requisitos de proceso relativos a las actividades y métodos aplicables. La información necesaria para dar apoyo a las actividades de desarrollo debe analizarse desde una doble perspectiva: • La correspondiente al producto software y a los artefactos intermedios. • La relativa al proceso adoptado por la organización responsable del desarrollo. La información del producto software se genera de manera progresiva como resultado de los procesos de ingeniería. Incluye, entre otros elementos, las especificaciones de requisitos, la documentación de interfaces externos e internos, componentes de arquitectura, elementos del diseño detallado, código fuente, especificaciones de pruebas, etc. Esta información, materializada normalmente en forma de documentos, se utiliza como entrada para otras actividades y para elaborar nuevos artefactos, hasta completar todas las actividades requeridas por el modelo de proceso y obtener un producto que satisfaga las necesidades del negocio. En paralelo a la ejecución de los procesos de ingeniería, los modelos de proceso exigen procesos de apoyo o soporte (verificación, aseguramiento de calidad, etc.) que también generan datos que deben ser conocidos por el personal dedicado a los procesos de ingeniería. Respecto a la información relativa al proceso, incluye datos sobre los procesos, actividades, tareas, métodos y productos de trabajo, en forma de requisitos de proceso. El cumplimiento de estos requisitos es una garantía de que el producto software satisfará los objetivos del negocio, y alcanzará un nivel de calidad que asegure su mantenibilidad y fiabilidad. Las prácticas de la industria contemplan evaluaciones progresivas del cumplimiento de estos requisitos de proceso, como un factor que anticipa el nivel de confianza que se podrá depositar en el producto final. En ciertos casos puede ser necesario cumplir con requisitos de proceso procedentes de distintas normas y estándares (impuestas por el cliente, por la propia organización, etc.). Estos requisitos de proceso pueden estar distribuidos en distintos documentos y ser necesario establecer mecanismos que faciliten su integración y el acceso unificado a los mismos. Se presenta así la necesidad de capturar, organizar, compartir y publicar información relativa al producto y al proceso, que se gestiona desde herramientas heterogéneas que no comparten un modelo de información común. No disponer de este modelo dificulta la visión global del producto y del proceso que debe seguirse. Esto puede conducir a errores que impacten en la calidad final del producto, entre otros: • requisitos no contemplados, • requisitos de cuya implementación no se tiene trazabilidad, • medidas correctivas que no se han llegado a implementar, • medidas correctivas que se han implementado en una etapa posterior, con el consiguiente incremento de costes, • código fuente cuya presencia es difícil de justificar, • actividades, controles y métodos del proceso que han sido obviados por los equipos de desarrollo, • no generación de evidencias que demuestren la ejecución de ciertas actividades. Las tecnologías de la Web Semántica ofrecen la flexibilidad necesaria para resolver problemas de integración de información. Entre sus ventajas se encuentra la posibilidad de reutilizar los datos de formas no anticipadas por sus creadores ni limitadas a un único contexto de utilización. Con el objetivo de mitigar estas restricciones, se ha desarrollado un modelo de información a partir de los elementos de datos que se identifican en el análisis de la norma ECSS-E-ST-40C, incluyendo sus DRD. El modelo de información se ha codificado como una ontología OWL. El modelo se puede utilizar para codificar y agregar, en un repositorio semántico, datos sobre los procesos y los productos software. Una vez agregados estos datos, los usuarios dispondrán de un punto de acceso unificado a toda la información relevante para su proyecto. La posibilidad de serializar los datos en RDF/XML facilita que las salidas generadas por las herramientas que se utilizan en las actividades de desarrollo y verificación se puedan mapear con las clases y propiedades de la ontología. Esto facilita la reutilización de datos y su agregación en el repositorio semántico. Las conclusiones de esta investigación demuestran los beneficios que se pueden obtener del modelo de información propuesto, y del uso de las tecnologías de la Web Semántica en el desarrollo de proyectos software, tanto para representar la información como para acceder a la misma. Se consigue así minimizar el riesgo de omitir u obviar cualquier información relevante para la ejecución de las actividades del proceso.