A requirements engineering approach for the development of web applications.
Pedro Jose Valderas Aranda · 2008
One of the most important problems that were presented to be solved when Web Engineering emerged was the insufficient requirements specification techniques that exist for Web applications.Although a significant number of proposals provide methodological solutions for developing Web applications, they mainly focus on defining Web applications from conceptual models, and do not pay much attention to the specification of requirements.Furthermore, traditional techniques for specifying requirements are not appropriate to support distinctive characteristics of Web applications such as Navigation.In this thesis, we present a Requirements Engineering approach for specifying Web applications requirements.This approach includes mechanisms based on the task metaphor for specifying not only requirements related to the structural and behavior aspect of Web applications but also those related to the navigational aspects.However, requirements specifications alone are of little use if we do not translate them into the proper software artefacts.This is a classical problem that the Software Engineering community has been trying to solve from its beginning: how to go from the problem space (user requirements) to the solution space (design and implementation) with a sound methodological guidance.In this thesis, we present a tool-supported strategy based on graph transformations that allows us to automatically perform model-to-model transformations between task-based requirements specifications and Web conceptual schemas.Furthermore, this strategy has been integrated with a Web engineering method that provides us with code generation capabilities.This integration allows us to provide a mechanism to automatically generate Web application prototypes from requirements specification. XIII ResumenUno de los problemas más importantes que se propuso solucionar cuando apareció la Ingeniería Web fue la carencia de técnicas para la especificación de requisitos de aplicaciones Web.Aunque se han presentado diversas propuestas que proporcionan soporte metodológico al desarrollo de aplicaciones Web, la mayoría de ellas se centran básicamente en definir modelos conceptuales que permiten representar de forma abstracta una aplicación Web; las actividades relacionadas con la especificación de requisitos son vagamente tratadas por estas propuestas.Además, las técnicas tradicionales para la especificación de requisitos no proporcionan un soporte adecuado para considerar características propias de las aplicaciones Web como la Navegación.En esta tesis, se presenta una aproximación de Ingeniería de Requisitos para especificar los requisitos de las aplicaciones Web.Esta aproximación incluye mecanismos basados en la metáfora de tarea para especificar no sólo los requisitos relacionados con aspectos estructurales y de comportamiento de una aplicación Web sino también los requisitos relacionados con aspectos navegacionales.Sin embargo, una especificación de requisitos es poco útil si no somos capaces de transformarla en los artefactos software adecuados.Este es un problema clásico que la comunidad de Ingeniería del Software ha tratado de resolver desde sus inicios: cómo pasar del espacio del problema (requisitos de usuario) al espacio de la solución (diseño e implementación) siguiendo una guía metodológica clara y precisa.En esta tesis, se presenta una estrategia que, basándose en transformaciones de grafos, y estando soportada por un conjunto de herramientas, nos permite realizar de forma automática transformaciones entre especificaciones de requisitos basadas en tareas y esquemas conceptuales Web.Además, esta estrategia se ha integrado con un método de Ingeniería Web con capacidades de generación automática de código.Esta integración nos permite proporcionar un mecanismo para generar de forma automática prototipos de aplicaciones Web a partir de especificaciones de requisitos. XV ResumUn dels problemes més importants que es va proposar solucionar quan va aparèixer l'Enginyeria Web va ser la manca de tècniques per a l'especificació de requisits d'aplicacions Web.Encara que s'han presentat diverses propostes que proporcionen suport metodològic al desenvolupament d'aplicacions Web, la majoria d'elles es centren bàsicament en definir models conceptuals que permeten representar de forma abstracta una aplicació Web; les activitats relacionades amb l'especificació de requisits són vagament tractades per aquestes propostes.A més, les tècniques tradicionals per a l'especificació de requisits no proporcionen un suport adequat per a considerar característiques pròpies de les aplicacions Web com pot ser la Navegació.En aquesta tesi, es presenta una aproximació d'Enginyeria de Requisits per a especificar els requisits de les aplicacions Web.Aquesta aproximació inclou mecanismes basats en la metàfora de tasca per a especificar no sols els requisits relacionats amb aspectes estructurals i de comportament d'una aplicació Web, sinó també els requisits relacionats amb aspectes navegacionals.No obstant això, una especificació de requisits és poc útil si no som capaços de transformar-la en els artefactes de programari corresponents.Aquest és un problema clàssic que la comunitat d'Enginyeria del Programari ha tractat de resoldre des dels seus inicis: com passar de l'espai del problema (requisits d'usuari) a l'espai de la solució (disseny i implementació) seguint una guia metodològica clara i precisa.En aquesta tesi, es presenta una estratègia que, basant-se en transformacions de grafs, i estant suportada per un conjunt d'eines, ens permet realitzar de forma automàtica transformacions entre especificacions de requisits basades en tasques i esquemes conceptuals Web.A més, aquesta estratègia s'ha integrat amb un mètode d'enginyeria Web amb capacitats de generació automàtica de codi.Aquesta integració ens permet proporcionar un mecanisme per a generar de forma automàtica prototips d'aplicacions Web a partir d'especificacions de requisits. Chapter 1"Man is the only animal that can be skinned more than once."Jimmy Durante.(American Comedian, Pianist and Singer, 1893-1980) Requirements Specification Limitations: Navigation is captured in a narrow way.Navigation is captured for each use case individually (from its associated UID) and then navigation is not captured from a global view of the system.In this context, navigational requirements captured by UID are not properly related to each other (e.g.how users access different navigational structures captured by different UIDs).Furthermore, although transactional requirements can be textually described in a use case they cannot be completely specified in UIDs.For instance, a sequence of system operations cannot be defined in a UID.On the other side, data requirements must be extracted from interactions between the user and the system which is not always adequate.For instance, data that is only required to support internal operations of the system is not properly considered.Tool Support: Currently, there is no tool which supports the Requirements Gathering phase.Then, each step must be manually performed.Guidelines for Obtaining Conceptual Models: This approach presents guidelines in order to help analysts to define the conceptual and navigational schema from requirements specifications.These guidelines are defined from a set of rules presented in [Vilain et al. 2000b] and[Vilian & Schwabe 2002].These rules indicate how the elements that define both a class diagram (conceptual schema) and a context diagram (navigational schema) can be systematically derived from UIDs.These rules are textually described by using natural language.No formalism is used in the rule definition.In this context, certain ambiguity degree is introduced in the rule definition (derived from the use of natural language).This aspect becomes critical if we consider that rules must be manually interpreted and applied.No tool is provided to support the application of these rules. WSDM: Web Site Design MethodWSDM was developed by De Troyer and Leune in 1998 [De Troyer & Leune 1998].It is a user-centred approach.WSDM defines a Web application by describing the requirements of the different groups of users that must interact with it.It was one of the first approaches in considering the problem of the diversity of users in Web applications.This approach is continuously being extended and improved. Development Process:The development process of this approach is divided into five main phases:• Mission Statement Specification: In this phase, we must express the purpose and the subject of the Web application.We must also declare the target audience.• User Modelling: In this phase, users are classified and grouped in order to study system requirements according to each user group.