Tesis doctoral en la UNS, Bahía Blanca. Doctor en Ciencias de la Computación (uns.edu.ar)
Tesis: Ponderación de requisitos de software usando técnicas cognitivas y orientación por objetivos.
Directora: Alejandra Cechich
Colaborador: Pablo Fillottrani
Resumen
El proceso para realizar una buena obtención de requisitos depende ampliamente de las habilidades de las personas que lo llevan a cabo y lamentablemente, hoy día sigue siendo una de las principales causas de fallas en el software. Indepen-dientementedel conocimiento y experiencia de los ingenieros de software, surgen problemas de comunicación ya que los dominios de aplicación en los que se desarrolla el software generalmente son demasiado complejos como para entenderse por completo. La forma en la que los participantes perciben el contexto y consecuentemente la información que deriva en requisitos de software, afecta sus apreciaciones tanto en aspectos de modelado como de priorización. Al priorizar requi-sitos, interpretamos una realidad que es modelada durante el proceso de elicitación, entrando así en el ámbito de los as-pectos comunicacionalesde la ingeniería de requisitos. En este ámbito, la realidad percibida sugiere que los aspectos físicos no son suficientes para describir un estímulo, sino que debe-mos examinar el comportamiento de las personas relacionado al entorno y sus percepciones. La percepción se relaciona estrechamente con la comunicación y con la forma en que las personas expresan sus pensamientos. Es decir, depende de su capacidad de interpretar, abstraer y modelar la realidad de acuerdo a los estímulos que normalmente percibe. Asignar prioridades se transforma entonces en una actividad con un alto margen de incertidumbre, ya que no podemos estar seguros de entender realmente el objeto priorizado – por ejemplo, su percepción podría haberse distorsionado si un individuo es más propenso a identificar un tipo de estímulo que otro. Este trabajo de Tesis está orientado a la forma de establecer prioridades sobre una selección de requisitos de software considerando la manera en que las personas perci-ben y abstraen el entorno. En particular, utilizamos conceptos de la psicología cognitiva (concerniente a la manera en que la gente obtiene información y cómo estos mecanismos de infor-mación afectan el comportamiento humano), para mejorar el proceso de elicitación de requisitos. La contribución principal de esta Tesis es un marco conceptual para priorización de requisitos de software que tiene en cuenta el perfil cognitivo de los participantes. La temática encarada profundiza no sólo cuestiones teóricas, sino que lleva al campo de la aplicación un espacio aún no resuelto denitivamente y que es necesa-rio abordar científicamente: la definición de requisitos de software relacionada en gran medida a las preferencias de los participantes como aspectos fundamentales de la negocia-ción. La realidad de los desarrollos de software es que existe una brecha importante entre lo que realmente considera el participante y lo que verdaderamente será el producto final, por lo cual tratando de resolver este problema, nuestra estra-tegia considera la influencia que ejercen las características personales en los procesos de priorización de requisitos. En particular, el marco conceptual propuesto en esta Tesis se instancia en un caso específico de modelado utilizando orien-tación por objetivos y se valida utilizando modelos visuales y no visuales. Esa diferenciación permite destacar la incidencia de los perfiles cognitivos en la conceptualización y priorización de requisitos.
The degree of success of a process for eliciting and gathering software requirements strongly depends on stakeholders abilities and, unfortunately, this aspect is still one of the main causes of software failure. In spite of knowledge and experience of software engineers, there are many communication problems because of the inherent complexity of the application domains. The way stake-holders perceive a domain, and consequently information that derives into software requirements, affects their appreciations about modeling as well as prioritization. Prioritizing requirements involves interpreting reality during the elicitation process, highlighting communica-tional aspects of the requirements engineering process. In this context, perceived reality suggests that physical aspects are not enough to describe a stimuli and that we should examine peoples behavior related to their percep-tions. They are related to the way people communicate and express their thoughts. In other words, it depends on peoples capability to interpret, abstract and model reali-ty from perceived stimulus. Therefore, assigning require-ments priorities becomes an uncertain activity since we cannot be certain of understanding really what the priori-tized object is for instance, its perception might have been distorted if an individual is more likely to identify one kind of stimulus than another (such as visual effect against verbal ones). This Thesis is focused on the prio-ritizing process during software requirement elicitation by considering the way people perceive and abstract their environment. Particularly, we use concepts from the cogni-tive psychology field (related to the way people obtain information and how these mechanisms affect human behavior) to improve the software elicitation process. The main con-tribution of this Thesis relies on a conceptual framework for requirements prioritization, which takes into account the cognitive profiles of stakeholders. The study is approached from a not traditional perspective and based on scientific assumptions: the definition of software requi-rements related to stakeholders preferences as a fundamen-tal matter for negotiation. So far, there is an important gap between what a stakeholder really wants and what the final product does; then, trying to contribute to solving this problem, our strategy considers the influence of personal characteristics on the requirements elicitation process. Particularly, the conceptual framework we are proposing is instantiated in a specific case of modeling by using goal-oriented approaches; and it is validated by using visual and non-visual models. These differences allow us to highlight the incidence of cognitive profiles on requirements conceptualization and prioritization.