Estudio comparativo de la Ingeniería de Requisitos en aplicaciones web
percyhuertas9 de Junio de 2011
3.858 Palabras (16 Páginas)3.005 Visitas
Estudio comparativo de la Ingeniería de Requisitos en Aplicaciones Web
Lic. Percy Oscar Huertas Niquén
Universidad Andina Néstor Cáceres Velásquez
Universidad Nacional de San Agustín
Universidad Católica Santa María
phuertas@unsa.edu.pe
phuertas@ucsm.edu.pe
percyhuertas@gmail.com
Resumen
En los últimos años ha ganado reconocimiento la importancia de la ingeniería de requisitos y los riesgos en que se incurren si ésta es realizada en forma incompleta o incorrecta. Actividades propias de esta área, como la captura de requisitos del usuario, la especificación de requisitos o la validación de los mismos, son algunas de las consideradas más críticas en el desarrollo y la producción del software. Estas actividades tienen por objetivo la determinación de las necesidades del sistema, la adquisición por parte del equipo de desarrollo de la información necesaria para desarrollar un producto de calidad y en definitiva, la comunicación inicial entre el grupo de expertos y los clientes y usuarios. Este trabajo ofrece una visión general y un estudio comparativo del tratamiento de requisitos en las actuales metodologías para la web.
Palabras clave: Sistemas web, metodologías para la web, ingeniería de requisitos.
Abstract
In the last years, the requeriments engeneer has a very important recognize and soon the risks if they are incompletes. Proper activities, why requisites capture and the requisites especifications are some of the criticals areas in the software development. These activities have the objetives: to specify the system nonsense, the information of the software product and the comunications by the users and the experts. These work have the porpose to bring a comparative study of the treatment of the requisites in the methodologys.
Introducción
El avance de Internet y las comunicaciones de los últimos años ha provocado un interés creciente por el desarrollo de propuestas metodológicas que ofrezcan un marco de referencia adecuado cuando se desarrolla un sistema de información web. Así, en los últimos años son varios los grupos que han trabajado y han propuesto metodologías que ofrecen procesos, modelos y técnicas adecuadas para trabajar con este tipo de sistemas (Koch, 1999 & 2001, Retschitzegger & Schwinger, 2000 y Escalona, Mejías & Torres, 2002). Sin embargo, si se analizan las diferentes propuestas, la gran mayoría de ellas enfocan su trabajo en la etapa de diseño del ciclo de vida, dando menor importancia a la ingeniería de requisitos, al testeo y a la gestión de calidad. Este trabajo presenta un estudio comparativo de las actuales propuestas que existen en el entorno de la web y que utilizan diferentes técnicas y modelos para la captura y el análisis de requisitos. Para ello, en el apartado 2 se presenta una visión general de las técnicas clásicas utilizadas en el mundo de la ingeniería de requisitos para capturar, definir y verificar los requisitos de un sistema. En el apartado 3, se presentan aquellas metodologías del ámbito de la web. En el apartado 4, se clasifican y comparan las propuestas presentadas en el apartado 3 y por último, en el apartado 5 se presentan las conclusiones.
Materiales y Métodos
El presente trabajo de investigación tiene su base en el análisis hecho, sobre este tema, por James O. Coplin en su publicación: A Pattern Definition, Software Patterns.
1. La Ingeniería de Requisitos
En el proceso de desarrollo de un sistema, el equipo de desarrollo se enfrenta al problema de la identificación de requisitos. La definición de las necesidades del sistema es un proceso complejo en el que hay que identificar los requisitos que el sistema debe cumplir para satisfacer las necesidades de los usuarios finales y de los clientes. Para realizar este proceso, no existe una única técnica estandarizada y estructurada que ofrezca un marco de desarrollo que garantice la calidad del resultado. Teniendo un conjunto de técnicas, que proponen diferentes metodologías para el desarrollo de aplicaciones web . Se debe tener en cuenta que la selección de las técnicas y el éxito de los resultados que se obtengan depende en gran medida tanto del equipo de análisis y desarrollo como de los propios clientes o usuarios que en ella participen. El proceso de especificación de requisitos se puede dividir en tres grandes actividades (Lowe & Hall, 1999): Captura de requisitos, definición de requisitos y validación de requisitos.
2. Tratamiento de Requisitos en Propuestas para la Web
El desarrollo de sistemas de aplicaciones web, agrupa una serie de características que lo hacen diferente del desarrollo de otros sistemas (Koch, 2001). Por un lado, hay que tener en cuenta que roles muy diferentes de desarrolladores participan en el proceso: analistas, clientes, usuarios, desarrolladores, diseñadores gráficos, expertos en multimedia y seguridad, etc. Por otro lado, la existencia en estos sistemas de un importante estructura de navegación obliga a un desarrollo preciso de este aspecto que garantice que el usuario no se "pierde en el espacio navegacional del sistema". Estas ideas unidas al hecho que los sistemas web suelen tratar con múltiples medios y es esencial que ofrezcan una interfaz adecuada en cada momento, obligan a que estos aspectos propios de la web deban ser tratados de una forma especial en el proceso de desarrollo. Para facilitar la comprensión de las propuestas, antes de presentarlas, presentamos una clasificación de requisitos relevantes en sistemas web: Requisitos de datos, interfaz, navegacionales, personalización, transaccionales y no funcionales.
2.1. WSDM: Web Site Design Metod
WSDM (De Troyer & Leune, 1997) es una propuesta para el desarrollo de sitios web, en la que el sistema se define en base a los grupos de usuarios. Su proceso de desarrollo se divide en cuatro fases: modelo de usuario, diseño conceptual, diseño de la implementación e implementación. La fase que más repercusión tiene para este trabajo es la primera en la que intenta detectar los perfiles de usuarios para los cuales se construye la aplicación. Para ello, se deben realizar dos tareas: Clasificación de usuarios y descripción de los grupos de usuarios.
2.2. SOHDM: Scenario-based Object-Oriented Hypermedia Design Methodology
Esta propuesta (Lee, Lee & Yoo, 1998) presenta la necesidad de disponer de un proceso que permita capturar las necesidades del sistema. Para ello, propone el uso de escenarios. El proceso de definición de requisitos parte de la realización de un diagrama de contexto tal y como se propone en diagramas de flujos de datos (DFD) de Yourdon . En este diagrama de contexto se identifican las entidades externas que se comunican con el sistema, así como los eventos que provocan esa comunicación. La lista de eventos es una tabla que indica en qué eventos puede participar cada entidad. Por cada evento diferente SOHDM propone elaborar un escenario. Éstos son representados gráficamente mediante los denominados SACs2 (Scenario Activity Chart). Cada escenario describe el proceso de interacción entre el usuario y el sistema cuando se produce un evento determinado especificando el flujo de actividades, los objetos involucrados y las transacciones realizadas. SOHDM propone un proceso para conseguir a partir de estos escenarios el modelo conceptual del sistema que es representado mediante un diagrama de clases. El proceso de SOHDM continua reagrupando estas clases para conseguir un modelo de clases navegacionales del sistema.
2.3. RNA: Relationship-Navegational Analysis
RNA (Bieber, Galnares & Lu, 1998) plantea una secuencia de pasos centrándose fundamentalmente en el flujo de trabajo de análisis. El proceso de trabajo que presenta RNA se basa en la realización de las siguientes fases: Análisis de entorno, elementos de interés, conocimiento, navegación e implementación del análisis.
2.4. HFPM: Hypermedia Flexible Process Modeling
La propuesta de FPM (Olsina,1998) describe un proceso detallado que cubre todo el ciclo de vida de un proyecto software. HFPM propone un total de trece fases para las cuales se especifican a su vez una serie de tareas. Para este estudio es principalmente relevante la primera fase denominada de modelado de requisitos cuyas tareas son las siguientes: Breve descripción del problema, descripción de los requisitos funcionales mediante casos de uso, realización del modelo de datos, el interfaz de usuario y los requisitos no funcionales. Se puede observar que la propuesta de HFPM ofrece mayor detalle a la hora de realizar el tratamiento de los requisitos. Sin embargo, no ofrece técnicas concretas, especialmente a la hora de trabajar con los requisitos no funcionales.
2.5. OOHDM: Object Oriented Hypermedia Design Model
OOHDM es una propuesta metodológica ampliamente aceptada para el desarrollo de aplicaciones de la web(Schwabe & Rossi, 1998). En sus comienzos no contemplaba la fase de captura y definición de requisitos, pero actualmente propone el uso de user interaction diagrams (UIDs) . Esta propuesta parte de los casos de uso que considera una técnica muy difundida, ampliamente aceptada y fácilmente entendible por los usuarios y clientes no expertos, pero que resulta ambigua para el equipo de desarrollo en fases posteriores del ciclo de vida. Igualmente, resalta la necesidad de empezar el diseño del sistema, especialmente en los entornos web, teniendo un claro y amplio conocimiento de las necesidades de interacción, o lo que es lo mismo de la forma en la que el usuario va a comunicarse con el sistema. Partiendo de estas dos premisas, OOHDM propone que la comunicación con el usuario se realice utilizando
...