Trabajo de grado - Maestría
Modelo para la especificación de requisitos iniciales de software a partir de la relación sintáctica y semántica entre objetivos y problemas
Fecha
2016Autor
Vargas Agudelo, Fabio Alberto
Institución
Resumen
Uno de los desafíos de la educción de requisitos de software es garantizar que los requisitos del sistema sean consistentes, pertinentes y contextualizados con las necesidades de la organización. Para llevar a cabo esta tarea, el analista realiza el proceso de forma manual, basado en su experiencia y conocimiento. La educción de requisitos de software requiere, en sus procesos iniciales de análisis organizacional, una alta participación del analista y el interesado, para reconocer el dominio en el que se desplegará el producto de software, incluyendo objetivos de la organización, problemas del dominio y objetivos del sistema a implementar. Muchos de los trabajos enfocados en esta fase de la ingeniería de software establecen que los objetivos organizacionales son una base importante para generar trazabilidad y consistencia entre los problemas del dominio y los requisitos del sistema. Algunas metodologías de desarrollo de software, de ingeniería de software orientada a objetivos (Goal-Oriented Requirements Engineering, GORE) y de análisis organizacional utilizan esquemas de representación para los problemas del dominio y los objetivos. Por ejemplo, el UNC-Method (Método para el Desarrollo de Aplicaciones de Software de la Universidad Nacional de Colombia) emplea una adaptación del diagrama causa-efecto para especificar los problemas del dominio y relacionarlos con los objetivos y los actores del sistema; el Business Modeling with UML define un esquema de objetivos que relaciona gráficamente objetivos y problemas; el NFR FrameWork especifica los problemas por medio de marcos de problemas en el proceso de educción de requisitos no funcionales. La metodología KAOS y los FrameWorks I* y TROPOS definen requisitos de software a partir de objetivos organizacionales y la metodología de análisis organizacional marco lógico relaciona objetivos y problemas en la formulación de proyectos para la toma de decisiones. Todos estos trabajos carecen de representaciones formales para la especificación de objetivos organizacionales, problemas de dominio y objetivos del sistema y, por tal motivo, es difícil generar consistencia y trazabilidad en el proceso, porque los analistas suelen especificar objetivos y problemas de forma subjetiva y en muchos casos no se enuncian con información que denote realmente un problema o un objetivo. Existe un trabajo inicial que vincula objetivos y problemas a partir de la negación de los primeros, generando una relación entre ellos, pero que sólo utiliza reglas sintácticas para relacionar términos comunes enunciados en los objetivos y los problemas. La Tesis Doctoral que se presenta a continuación define un modelo para la especificación, formalización y relación de los objetivos organizacionales, problemas del dominio y objetivos del sistema en la fase de educción de requisitos de software, permitiendo generar trazabilidad y consistencia. Se estructura un conjunto de reglas sintácticas y semánticas que facilitan una relación de asociación de términos comunes del dominio. La Tesis se valida por medio de casos de estudio donde se aplica el modelo y se respalda con un conjunto de publicaciones generadas de la propuesta doctoral. Abstract: guaranteeing the systems requirements are consistent, relevant, and in the context of the organizational needs is one of the most important challenges in software requirements elicitation. With this aim in mind, analysts—based on their experience and knowledge—manually execute the process. The early stages of software requirements elicitation requires high involvement of the analyst and the stakeholder for recognizing the domain in which the software product will be displayed. Such a domain comprises the organizations goals, the goals of the system to be implemented, and the domain problems.Some research has been focused on this stage of software engineering. According to this, organizational goals are important foundations for the generation of traceability and consistency among domain problems and systems requirements. Some methodologies for software development—Goal-Oriented Requirements Engineering (GORE) and organizational analysis—use representation schemes for domain problems and goals. For example, the UNC-Method (software application development method of the Universidad Nacional de Colombia) employs an adaptation of cause-effect diagrams for specifying domain problems and linking them to the systems goals and actors. Business Modelling with UML creates a diagram of goals for graphically connecting goals and problems. NFR FrameWork specifies problems by means of problem frameworks in the non-functional requirements elicitation process. KAOS methodology, I*, and TROPOS define software requirements—system goals—based on organizational goals, whereas the logical framework methodology for organizational analysis relates goals to problems in the creation of projects for making decisions. All of this research lacks formal representations to specify goals—both organizational and system goals—and domain problems. Therefore, traceability and consistency are difficult to evaluate in the process. Analysts tend to specify goals and problems in a subjective way, so problems and goals are unrecognized. An initial study links goals and problems by denying the former and generating a relationship between them. However, only syntactical rules to relate common terms that appear in the goals and problems are used. Thus, low traceability or consistency can be established among organizational goals, domain problems and system goals. In this doctoral dissertation, we define a model to specify, formalize and relate domain problems, and organizational and system goals in the early stages of software requirements elicitation. Thus, we can evaluate traceability and consistency among them. A set of semantic and syntactic rules is generated for linking common terms belonging to the domain. The dissertation is validated by using case studies in which the model is applied. Also, some publications based on the dissertation proposal are used to validate the model