Una metodología para la recuperación y organización del conocimiento de aspectos tempranos (OCTA)

  1. Barra Zavaleta, Eduardo
Dirigida por:
  1. Jorge Morato Lara Director/a

Universidad de defensa: Universidad Carlos III de Madrid

Fecha de defensa: 16 de octubre de 2015

Tribunal:
  1. Antonio de Amescua Seco Presidente/a
  2. Rafael Valencia García Secretario
  3. Tomás San Feliu Gilabert Vocal

Tipo: Tesis

Resumen

En la actualidad las grandes organizaciones disponen de entornos heterogéneos con procesos de negocio cambiantes. En consecuencia, las organizaciones actuales solicitan productos software que puedan adaptarse a los cambiantes procesos de negocio sin afrontar el riesgo de invertir muchos recursos en el intento. Por otro lado, la ingeniería de software es un área de las ciencias de la computación que ha aportado métodos y técnicas con el objetivo de producir software de calidad. Entre los factores que influyen en la calidad, uno de los más importantes es gestionar los cambios a lo largo del ciclo de vida de un producto software. Sin embargo, actualmente las factorías del software carecen de metodologías efectivas para gestionar los recurrentes cambios en el sistema, provocando constantes problemas a lo largo del proceso de desarrollo software. La propuesta de orientación a aspectos es un paradigma de desarrollo de software que se fundamenta en los principios clásicos de la separación de incumbencias. Una incumbencia es una consideración específica que debe ser tomada en cuenta para satisfacer los propósitos de un producto software. El paradigma orientado a aspectos surgió como una propuesta de programación que permitiera evolucionar la funcionalidad a nivel de código de un producto software. Posteriormente fue rápidamente extendida a las otras etapas del proceso de desarrollo de software hasta llegar a la ingeniería de requisitos. Con este contexto, en esta tesis doctoral “Metodología para la Organización del Conocimiento Temprano asistido por Aspectos” se planteó una hipótesis exponiendo que el paradigma orientado a aspectos podría proporcionar las bases para conseguir la evolución eficiente de un producto software en cualquier momento a lo largo de su desarrollo. Al implicar este planteamiento una investigación muy amplia, se limitó el alcance del presente trabajo a las etapas tempranas de un proceso de desarrollo software. La investigación se inició con el planteamiento del problema, encontrando que la separación de incumbencias en etapas tempranas ya es tratada por las propuestas de ingeniería de requisitos orientada a aspectos y arquitectura software orientada a aspectos. Se encontró que dichas propuestas aportan conceptos importantes pero con enfoques inmaduros para gestionar incumbencias. La investigación continuó con el planteamiento de la solución, proponiendo la realización de un objetivo general con el cumplimiento de cinco objetivos específicos. Concretar estos objetivos proporcionó los medios que permiten el modelado del conocimiento en las etapas tempranas de productos software a través de los conceptos del paradigma orientado a aspectos. Esto facilitó la creación de modelos con una organización del conocimiento que permite una evolución más efectiva, evita conflictos y mejora la gestión de la trazabilidad entre incumbencias. Es decir, se observó un producto software con mejor calidad. El camino recorrido en el desarrollo de los objetivos de esta tesis doctoral tuvo como resultado diferentes aportaciones relevantes que son comentadas a continuación: La primera aportación relevante de esta tesis doctoral fue el desarrollo de un “marco de referencia para la conceptualización de aspectos” con el objetivo principal de identificar claramente los límites de los aspectos tempranos. El marco de referencia propone las conceptualizaciones que pueden existir a lo largo de un proceso de desarrollo software. Por lo tanto, en el mismo marco se identifican las conceptualizaciones de aspectos medios y aspectos finales. Estos conocimientos están diseñados con la intención de continuar con el planteamiento de la hipótesis inicial en trabajos futuros. La segunda aportación importante fue el desarrollo de la propuesta de un “modelo conceptual de aspectos tempranos” que tiene el objetivo de proporcionar las directrices para estructurar la especificación de las etapas tempranas de un producto software dentro del paradigma orientado a aspectos. La propuesta del modelado conceptual de aspectos tempranos contiene varios bloques de construcción. El definido como arquitectura de puntos de vista es muy importante para la organización semántica pero es el más complejo de obtener. Por este motivo el planteamiento de la siguiente aportación relevante fue desarrollar “un método para la creación de una arquitectura de puntos de vista”. El desarrollo de este método se basa en las investigaciones de análisis facetado y garantía literaria. En el desarrollo de esta tesis doctoral se observó la carencia de los medios para verificar la calidad de una especificación de requisitos, es decir, no era posible evaluar objetivamente la propuesta de ingeniería de requisitos orientada a aspectos que forma parte de la propuesta de este trabajo. Dada la situación descrita, la siguiente aportación fue una aproximación de “un marco de referencia base para unificar criterios de calidad en el desarrollo de una especificación de requisitos”. Este punto fue el momento para el desarrollo del objetivo específico más importante de esta investigación. En él se promete crear una metodología que permita el modelado y organización del conocimiento de las etapas tempranas de un producto software que facilite la gestión de los aspectos tempranos. El resultado fue la propuesta de una metodología para una organización del conocimiento temprano asistido por aspectos (OCTA). El desarrollo de esta aportación se basó en los formalismos de la ingeniería ontológica presentada por la ingeniería de conocimiento, así como, en el marco para una conceptualización aspectual, en el modelo conceptual para aspectos tempranos y en el método para la creación de una arquitectura de puntos de vista, propuestos en esta tesis doctoral. La metodología OCTA es la aportación más relevante de esta tesis doctoral. Esta aportación reduce la complejidad de los productos software en las etapas tempranas de un proceso de desarrollo software, facilita la creación de modelos con una alta cohesión semántica y permite una organización del conocimiento efectiva para facilitar su gestión. Estas características mejoran la evolución, reducen los conflictos y mejoran la gestión de la trazabilidad entre incumbencias. Con el objetivo de evaluar las aportaciones de esta investigación se planteó un conjunto de procedimientos. Estos procedimientos se focalizaron en el análisis de una especificación temprana de un caso de estudio desarrollado a través de la metodología OCTA. En el primer procedimiento se verificó la estandarización y estructura de la especificación. En el segundo procedimiento se validó la inferencia del modelado midiendo la exactitud del modelado semántico a través de consultas de su conocimiento. En el tercer procedimiento se evaluó la flexibilidad al cambio de un modelado OCTA comparándola contra dos diferentes especificaciones creadas con un método clásico basadas en el mismo caso de estudio. El resultado de estos procedimientos, demostró que la solución innovadora que se propone en este trabajo reduce el impacto al cambio en las etapas tempranas sin el riesgo de invertir muchos recursos en el intento.