Marco para la selección de técnicas de educción de requisitos

  1. CARRIZO MORENO, DANTE HUGO
Zuzendaria:
  1. Natalia Juristo Juzgado Zuzendaria
  2. Oscar Dieste Tubío Zuzendarikidea

Defentsa unibertsitatea: Universidad Politécnica de Madrid

Fecha de defensa: 2009(e)ko ekaina-(a)k 17

Epaimahaia:
  1. Oscar Pastor López Presidentea
  2. Ana María Moreno Sánchez-Capuchino Idazkaria
  3. Xavier Franch Kidea
  4. Alan Mark Davis Kidea
  5. Amador Durán Toro Kidea

Mota: Tesia

Laburpena

Resumen Los desarrolladores de software se enfrentan, en la actualidad, recurrentemente a la decisión de cómo realizar la educción de información relevante para requisitos desde las personas interesadas en el desarrollo del producto. Pese a que la importancia de la especificación de requisitos es bien entendida por ellos, aún realizan la selección de la técnica de educción de forma subjetiva. Esto se debe a dos razones: (1) Su conocimiento sobre la cantidad de técnicas disponibles actualmente es limitado, lo que quiere decir que hay una gran cantidad de técnicas que es desconocida para el desarrollador medio; y (2) la información de la que se dispone en relación a las distintas técnicas de educción existentes, es de tipo procedimental en su mayoría (es decir, centrada en cómo usar la técnica), siendo la información pragmática o prescriptiva (es decir, centrada en cuándo usar la técnica) casi inexistente. Es este problema abierto el que aborda este trabajo, es decir, cómo ayudar a los desarrolladores en la selección de las técnicas de educción de requisitos más adecuadas en un momento del proceso. Para satisfacer este objetivo, este trabajo propone un marco que requirió de establecer tres componentes: (1) Los atributos de influencia, es decir las características del contexto que influyen en la diferencia de efectividad de las técnicas; (2) la adecuación de las técnicas de educción, es decir, las prescripciones de uso de las técnicas para los valores de los atributos; y (3) el procedimiento de selección, que permite, una vez conocida la situación contextual (los valores que toman los atributos en un momento dado), proponer técnicas por su adecuación para ser utilizadas en una próxima sesión de educción. La forma en que se generó el marco se basó en tres tipos de fuentes: (1) Teóricas, que son aquellas opiniones o prescripciones de autores basados en su experiencia y conocimiento; (2) empíricas, que son las evidencias resultantes de la experimentación en educción; y (3) razonamiento propio, que es la propuesta juiciosa hecha por el autor de esta investigación. El marco propuesto fue validado construyendo un software que lo soporte y a través de dos experimentos que contrastaron varios aspectos de interés. En definitiva, este trabajo aporta una herramienta práctica que facilita a los desarrolladores la selección de técnicas de educción de requisitos en un proyecto software de modo sistemático y objetivo. Summary Nowadays, software developers recurrently have to decide how to elicit requirements information from product development stakeholders. Even though they appreciate the importance of requirements specification, they still select elicitation techniques subjectively. There are two reasons for this: (1) they have limited knowledge of how many techniques are currently available, meaning that the average developer is unaware of a great many techniques; and (2) the information available about existing elicitation techniques is mostly procedural (i.e. focused on how to use the technique), and there is hardly any pragmatic or prescriptive information (i.e. focused on when to use the technique). This research addresses this open problem, that is, how to help developers select the best requirements elicitation techniques at any time in the process. To achieve this objective, this research proposes a framework. To build this framework I had to establish three components: (1) the influential attributes, that is, the features of the context affecting technique effectiveness; (2) adequacy of the elicitation techniques, that is, prescriptions on technique use for the attribute values; and (3) selection procedures that suggest, after determining the contextual situation (the values of the attributes at any time), techniques for use in the next elicitation session subject to technique adequacy. The framework was generated on the basis of three sources: (1) theoretical inputs, which are the opinions or prescriptions of authors based on their experience and knowledge; (2) empirical inputs, which is the evidence from experiments on elicitation; and (3) reasoning, which is my own judicious input. The proposed framework was validated by building support software and conducting two experiments to test several aspects of interest. In sum, this research provides a practical tool to help developers systematically and objectively select requirements elicitation techniques for a software project.