Un modelo de procesamiento terminológico para la obtención y validación de requisitos de software basado en el diagrama de objetivos de Kaos
Type
Trabajo de grado - Doctorado
Document language
EspañolPublication Date
2014Metadata
Mostrar registro completoSummary
Resumen: La educción y validación de requisitos de software son actividades propias de la Ingeniería de Software, estas se realizan en las primeras fases del ciclo de vida del software, es decir, en la definición y el análisis respectivamente. En estas fases se intentan capturar los requisitos que debe cumplir el sistema (software) y transformarlos en modelos conceptuales que permitan explicar los elementos significativos del área del problema. Sin embargo, los productos obtenidos a través de estas fases presentan problemas en su concepción debido a: (i) la brecha de comunicación presente entre el interesado (usuario) y el analista, es decir, debido a la comunicación limitada o insuficiente que se genera por las diferencias entre sus especialidades, y (ii) la ambigüedad verbal presente en el universo del discurso. Estos problemas, impiden una correcta identificación y validación de los requisitos que debe cumplir un sistema (software). Asimismo, hacen que el producto final sea más costoso debido a la corrección de errores en las etapas de implementación y producción del sistema (software). Con el propósito de: (i) mejorar los resultados en la educción y validación de requisitos de software, y (ii) reducir la brecha de comunicación entre el interesado y el analista, se utilizan diversos esquemas conceptuales, entre estos se emplea el diagrama de objetivos de KAOS (Knowledge Acquisition in Automated Specification), el cual le permite al usuario la identificación y la validación de los requisitos asociados al sistema (software). Además, a partir de este diagrama se pueden obtener diagramas UML propios de la tercera fase (diseño) del ciclo de vida del software, los cuales hacen parte del dominio del analista. Sin embargo, en los diferentes trabajos que especifican o utilizan el diagrama de diagrama de objetivos de KAOS, se logran identificar los siguientes problemas: (i) falta de consistencia entre el lenguaje natural y los elementos básicos que conforman el diagrama de objetivos de KAOS, (ii) no utilizan herramientas terminológicas que permitan minimizar la ambigüedad semántica presente en el universo del discurso, (iii) falta de validación semiautomática de requisitos de software por parte del interesado en la etapa inicial, y (iv) no obtienen de manera semiautomática el diagrama de objetivos correspondiente. Con la intención de dar solución a los problemas identificados en el párrafo anterior, se logró realizar en esta tesis doctoral lo siguiente: (i) caracterizar los elementos que componen el diagrama de objetivos de KAOS, (ii) construir una Ontología para representar con mayor precisión los elementos del diagrama de objetivos KAOS, (iii) definir un conjunto de formas morfosintácticas que permiten caracterizar a partir de lenguaje natural los elementos básicos (objetivo, entidad, operación y agente) del diagrama de objetivos de KAOS, de tal forma, que se logró dar una solución a la necesidad de identificar la consistencia que debe existir entre el lenguaje natural y los elementos básicos que conforman diagrama de objetivos de KAOS, (iv) definir un conjunto de reglas semánticas que permiten minimizar la ambigüedad semántica presente en el universo del discurso, la cual afecta de forma negativa las actividades asociadas a la educción y validación de requisitos de software, (v) crear un modelo de procesamiento terminológico para la educción y validación interactiva con el usuario de requisitos de software inicialmente descritos en lenguaje natural, (vi) desarrollar la aplicación NL2KAOS (elaborada en JAVA, JSP y PHP) que permite automatizar el modelo propuesto, además, incluye las formas morfosintácticas y las reglas semánticas definidas en esta tesis, (vii) obtener de manera semiautomática el diagrama de objetivos de KAOS, (viii) realizar la evaluación del modelo mediante la experimentación y el análisis de los resultados obtenidos, los cuales fueron confrontados con varios casos de estudio registrados en la literatura científica, en los experimentos se analizaron las características de la exhaustividad, la precisión, la correctitud, la completitud y la consistencia de los elementos básicos (objetivo, entidad, operación y agente).Summary
Abstract: The elicitation and validation of software requirements are specific activities belonging to software engineering which are performed in the early stages of the software life cycle, namely, definition and analysis. In these phases the goal is to capture the requirements to be met by the system (software) and transform them into conceptual models that explain the significant components of the problem area. However, there are problems in the conception of the products obtained in these phases because of: (i) the communication gap existing between the stakeholder (user) and the analyst due to limited or insufficient communication caused by the differences in their specialties, and (ii) the verbal ambiguity present in the universe of discourse. These problems make it impossible to correctly identify and validate the requirements that must be met by the system (software). Likewise, they increase the cost of the final product because errors must be corrected during the system's (software) implementation and production stages. In order to: (i) improve the results of the requirements elicitation and validation phases, and (ii) reduce the communication gap between the stakeholder and the analyst, a number of conceptual schemes are used. One of such is the KAOS (Knowledge Acquisition in Automated Specification) diagram, which allows users to identify and validate the requirements associated with the system (software). Furthermore, the UML diagrams, which belong to the third phase (design) of the software life cycle and are a part of the analyst's domain, can be obtained from this diagram. However, the following problems have been observed in the various studies which specify or use the KAOS goal diagram: (i) lack of consistency between natural language and the basic components of the KAOS goal diagram, (ii) lack of terminological tools that can be used to minimize the semantic ambiguity in the universe of discourse, (iii) lack of semi-automatic validation of software requirements performed by the stakeholder during the initial stage, and (iv) the corresponding goal diagram is not obtained semi-automatically. In order to solve the problems stated in the preceding paragraphs, the following objectives where achieved in this doctoral dissertation: (i) characterize the components of the KAOS goal diagram. (ii) Build an Ontology that represents the components of the KAOS goal diagram more accurately. (iii) Define a set of morphosyntactic forms which make it possible to extract the basic components of the KAOS goal diagram from natural language (goal, entity, operation and agent) to solve the problem of consistency between natural language and the basic components of the KAOS goal diagram. (iv) Define a set of semantic rules that make it possible to minimize the semantic ambiguity found in the universe of discourse that negatively affects the activities associated with software requirements elicitation and validation. (v) Create a terminology processing model for eliciting and validating the software requirements expressed in natural language, with the help of the user and in an interactive manner. (vi) Develop the NL2KAOS application (written in JAVA, JSP and PHP) which automates the proposed model and includes the morphosyntactic forms and semantic rules defined in this dissertation. (vii) Semi-automatically obtain the KAOS goal diagram. (viii) Evaluate the model by experimenting and analyzing the results obtained; such results were compared with a number of case studies appearing in the scientific literature. Additionally, the exhaustive, precision, correctness, completeness and consistency of the basic components (goal, entity, operation and agent).Keywords
Collections
Exceto quando indicado o contrário, a licença deste item é descrito como Creative Commons Reconocimiento-NoComercial 4.0.This document has been deposited by the author (s) under the following certificate of deposit