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

Loading...
Thumbnail Image
Identifiers
Publication date
2015-10
Defense date
2015-10-16
Tutors
Journal Title
Journal ISSN
Volume Title
Publisher
Impact
Google Scholar
Export
Research Projects
Organizational Units
Journal Issue
Abstract
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.
Nowadays large organizations have heterogeneous environments with changing business processes, and require software products that can be adapted to such processes without facing the risk of investing too many resources in the attempt. On the other hand, the software engineering is a computer science field that has contributed with methods and techniques aiming to produce quality software. One of the most important factors that impact the quality of software is the management of changes along the software product lifecycle. However, at the present time the software factories lack of effective methodologies to manage recurrent changes in the software products, generating constant problems along the software development process lifecycle.The aspect-oriented proposal is a software development paradigm based on the classic principles of separation of concerns. A concern is a specific consideration that should be taken into account in order to satisfy the purpose of a software product. The aspect-oriented paradigm emerged as a programming proposal that allowed evolving the functionality of a software product at a code level. Later, it was quickly extended to the other software development process stages up to the requirements engineering. In this context, in this doctoral thesis “Methodology for the early knowledge organization assisted by Aspects”, it was propose a hypothesis sustaining that the aspect-oriented paradigm could provide the basis to efficiently evolve a software product at any point in the software development process lifecycle. Due to this idea involves a wide research; the scope of the present work was limited to the early stages of the software development process. The research work began with the problem statement; it was found that the separation of concerns in early stages was already taken into account in the aspect-oriented requirements engineering and software architecture proposals. It was found that those proposals contribute with relevant concepts but with immature approaches to mange concerns. The research continued with the solution statement; it was proposed the accomplishment of a generic goal comprised of five specific goals. The achievement of these goals provided the means to model the knowledge in early stages of software products through the concepts of the aspect-oriented paradigm. Likewise, it facilitated the models creation with a knowledge organization that allowed a more effective evolution; to avoid conflicts; and to improve traceability management between concerns, i.e., to get a software product with better quality. As a result of meeting the doctoral thesis goals, several relevant contributions were made. Those contributions are presented below: The first contribution was the development of a “concerns conceptualization reference framework” aiming to clearly identify early aspects limits. The reference framework proposes the conceptualizations that can exist through the software process development. Therefore, in the framework the medium aspects and final aspects conceptualizations are identified. This knowledge has been designed with the intention of continuing with the same approach in future research. The second contribution was the proposed of an “early aspects conceptual model” with the aim of provide the guidelines to structure the early stages specification of software product under the aspect-oriented paradigm. The early aspects conceptual model proposal contains several construction blocks. The one defined as points of view architecture is very important for the semantic organization but the most complex to obtain. Therefore, the next contribution was a “point of view architecture development method”. The development of this method was based on faceted analysis and literary warrant researches. Along the development of this doctoral thesis it was observed the lack of means to verify the requirements specification quality, i.e., it was not possible to objectively evaluate the aspect-oriented requirements engineering proposal develop in this work. The next contribution was an approximation to a “quality criteria unification reference model for the requirements specification development”. At this point the development of the most important specific goal began. It was the development of a methodology for modelling and organizing the software product early stages knowledge that facilitates the early aspects management. The result was the proposal of an aspect aid methodology for early knowledge organization (OCTA). The development of this contribution was based on the ontological engineering formalisms included in knowledge engineering, as well as the concerns conceptualization reference framework, early aspects conceptual model, and the point of view architecture development method proposed in the doctoral thesis. The OCTA methodology is the most relevant contribution in this doctoral thesis. By using it, it is possible to reduce the software products complexity in the software process development early stages, to ease the models creation with a high semantic cohesion, and an effective knowledge organization to facilitate its management. These characteristics improve the evolution, reduce the conflicts and improve the traceability management between concerns. In order to evaluate the contributions of this research, a set of procedures were proposed. These procedures were focused in the analysis of an early specification, from a case study, developed with the OCTA methodology. In the first procedure it was verified the specification standardization and structure. In the second procedure it was validated the modelling inference by measuring the semantic modelling correctness through queries to its own knowledge. In the third procedure it was evaluated the change flexibility to an OCTA modelling, comparing it with two different specifications, based on the same case study, that were created with a classic model. The result of these procedures proved that the innovative solution proposed in this work reduces the impact due to changes in the early stages without the risk of investing too many resources in the attempt.
Description
Keywords
Desarrollo de software, Ingeniería del conocimiento, Orientación a aspectos
Bibliographic citation
Collections