Você está na página 1de 14

Aplicaciones Web a tu medida!

Nota aclaratoria: El presente documento se realiz tomando como base el documento titulado Ingeniera de Requisitos en Aplicaciones para la Web Un estudio comparativo escrito por Mara Jos Escalona (Universidad de Sevilla) y Nora Koch (Universidad de Munich) del Departamento de Lenguajes y Sistemas Informticos, Escuela Tcnica Superior de Ingeniera Informtica de la Universidad de Sevilla. A su vez, se adjuntaron algunas fotografas de la presentacin titulada Introduccin a la Ingeniera Web Diseo Centrado en el Usuario realizada por Mara Jos Escalona Cuaresma y Jos Mariano Gonzlez del Departamento de Lenguajes y Sistemas Informticos, Escuela Tcnica Superior de Ingeniera Informtica de la Universidad de Sevilla.

INGENIERIA DE REQUISITOS Para generar un sistema completamente funcional y acorde a las exigencias del cliente es indispensable identificar los requisitos que el sistema debe cumplir y as satisfacer las necesidades de los usuarios como de los clientes. Para dar una solucin de excelente calidad y funcionabilidad el proceso de especificacin de requerimientos debe ser claro y adecuado a las exigencias del ambiente donde se aplicar la solucin, de lo contrario el producto obtenido contar con falencias y provocar retardos que afectarn organizacional y financieramente tanto al equipo de desarrollo como al cliente. Actualmente, se han organizado una serie de tcnicas y procedimientos para realizar esta labor y el levantamiento de requerimientos genere unos resultados exitosos. El proceso de especificacin de requisitos se puede dividir en tres grandes actividades: 1. Captura de Requisitos Es la actividad mediante la cual un equipo de desarrollo de un sistema de software extrae, de cualquier fuente de informacin disponible, las necesidades que debe cubrir dicho sistema. Este proceso puede ser tedioso y complejo si el grupo de desarrolladores no conocen el ambiente de trabajo donde se aplicar la solucin, sin embargo, el mundo de la ingeniara de requerimientos ha realizado una coleccin de diferentes tcnicas que han sido utilizadas en esta actividad: Entrevista: Las entrevistas le permiten al analista tomar conocimiento del problema y comprender los objetivos de la solucin buscada. Para que esta labor sea exitosa la estructura de la entrevista abarca tres pasos: identificacin de los entrevistados, preparacin de la entrevista, realizacin de la entrevista y documentacin de los resultados (protocolo de la entrevista). Igualmente, requiere que el entrevistador tenga experiencia en este tipo de tcnicas. JAD (Joint Application Development / Desarrollo conjunto de aplicaciones): Es una prctica de grupo que se desarrolla durante varios das y en la que participan analistas, usuarios, administradores del sistema y clientes. Basada en cuatro principios fundamentales: dinmica de grupo, el uso de ayudas visuales para mejorar la comunicacin, mantener un proceso organizado y racional y una filosofa de documentacin WYSIWYG (What You See Is What You Get, lo queve es lo que obtiene), es decir, durante la aplicacin de la tcnica se trabajar sobre lo que se generar.

Aplicaciones Web a tu medida!


Brainstorming (Tormenta de ideas): Es una tcnica de reuniones en grupo cuyo objetivo es que los participantes muestren sus ideas de forma libre. Consiste en la acumulacin de ideas y/o informacin sin evaluar. El grupo de personas que participa en estas. Esta tcnica ofrecer una visin general de las necesidades del sistema, pero normalmente no sirve para obtener detalles concretos del mismo, por lo que suele aplicarse en los primeros encuentros. Concept Mapping: Son grafos en los que los vrtices representan conceptos y las aristas representan posibles relaciones entre dichos conceptos. Estos grafos de relaciones se desarrollan con el usuario y sirven para aclarar los conceptos relacionados con el sistema a desarrollar. Sketches y Storyboards: Est tcnica es usada por diseadores grficos de aplicaciones en el entorno web. La misma consiste en representar sobre papel en forma muy esquemtica las diferentes interfaces al usuario (sketches). Casos de Uso: Los casos de uso permiten mostrar el contorno (actores) y el alcance (requisitos funcionales expresados como casos de uso) de un sistema. Un caso de uso describe la secuencia de interacciones que se producen entre el sistema y los actores del mismo para realizar una determinada funcin. La ventaja esencial de los casos de uso es que resultan muy fciles de entender para el usuario o cliente, sin embargo carecen de la precisin necesaria. Cuestionarios y Checklists: Esta tcnica requiere que el analista conozca el mbito del problema en el que est trabajando. Consiste en redactar un documento con preguntas cuyas respuestas sean cortas y concretas, o incluso cerradas por unas cuantas opciones en el propio cuestionario (Checklist). Comparacin de terminologa: Uno de los problemas que surge durante la captura de requisitos es que usuarios y expertos no llegan a entenderse debido a problemas de terminologa. Esta tcnica es utilizada en forma complementaria a otras tcnicas entre equipo de desarrollo y el cliente.

2. Definicin de requisitos En la actividad de definicin de requisitos en el proceso de ingeniera hay un gran nmero de tcnicas propuestas. A continuacin relacionamos brevemente algunas de ellas: Lenguaje natural: Consiste en definir los requisitos en lenguaje natural sin usar reglas para ello. A pesar de que son muchos los trabajos que critican su uso, es cierto que a nivel prctico se sigue utilizando. Glosario y ontologas: En la IWeb el equipo de desarrollo suele ser interdisciplinario, por esta razn se desarrolla un glosario de trminos en los que se recogen y definen los conceptos ms relevantes y crticos para el sistema. El uso de Ontologas adems de tener el concepto de los trminos contiene las relaciones de los mismos en el desarrollo del sistema. Planillas o patrones: Tiene por objetivo el describir los requisitos mediante el lenguaje natural pero de una forma estructurada. Una plantilla es una tabla con una serie de campos y

Aplicaciones Web a tu medida!


una estructura predefinida que el equipo de desarrollo va cumplimentando usando para ello el lenguaje del usuario. Las plantillas eliminan parte de la ambigedad del lenguaje natural al estructurar la informacin; cuanto ms estructurada sea sta, menos ambigedad ofrece. Escenarios: Esta tcnica consiste en describir las caractersticas del sistema a desarrollar mediante una secuencia de pasos. La representacin del escenario puede variar dependiendo del autor. Esta representacin puede ser casi textual o ir encaminada hacia una representacin grfica en forma de diagramas de flujo. Casos de Uso: Los casos de uso describen la relacin actor y usuario de acuerdo a los requerimientos del sistema. Utilizan los diagramas mas la documentacin de los mismos. Lenguajes Formales: Esta tcnicas es el extremo opuesto al lenguaje natural, es utilizar una terminologa ms tcnica. El mayor inconveniente es que no favorecen la comunicacin entre cliente y analista. Es la representacin menos ambigua de los requisitos y la que ms se presta a tcnicas de verificacin automatizadas.

3. Validacin de requisitos La validacin de requisitos tiene como misin demostrar que la definicin de los requisitos define realmente el sistema que el usuario necesita o el cliente desea. Es necesario asegurar que el anlisis realizado y los resultados obtenidos de la etapa de definicin de requisitos son correctos. A continuacin se relacionan algunas tcnicas que se pueden aplicar para la validacin: Reviews o Walk-throughs: Est tcnica consiste en la lectura y correccin de la completa documentacin o modelado de la definicin de requisitos. Con ello solamente se puede validar la correcta interpretacin de la informacin transmitida. Ms difcil es verificar consistencia de la documentacin o informacin faltante. Auditoras: La revisin de la documentacin con esta tcnica consiste en un chequeo de los resultados contra una checklist predefinida o definida a comienzos del proceso, es decir slo una muestra es revisada. Matrices de trazabilidad: Esta tcnica consiste en marcar los objetivos del sistema y chequearlos contra los requisitos del mismo. Es necesario ir viendo qu objetivos cubre cada requisito, de esta forma se podrn detectar inconsistencias u objetivos no cubiertos. Prototipos: Algunas propuestas se basan en obtener de la definicin de requisitos prototipos que, sin tener la totalidad de la funcionalidad del sistema, permitan al usuario hacerse una idea de la estructura de la interfaz del sistema con el usuario. Esta tcnica tiene el problema de que el usuario debe entender que lo que est viendo es un prototipo y no el sistema final.

Aplicaciones Web a tu medida!

TRATAMIENTO DE REQUISITOS EN PROPUESTA PARA LA WEB

Si queremos generar un producto o aplicacin web debemos tener en cuenta muchos aspectos que se podran omitir en otro tipo de aplicaciones; uno de estos aspectos es el perfil de los desarrolladores, es decir, se necesita que cada integrante del equipo de desarrolladores posea diferentes conocimientos especficos, por ejemplo: se necesitan analistas, clientes, usuarios, diseadores grficos, expertos en multimedia y seguridad, etc. Otro aspecto importante a tener en cuenta en el tratamiento de requisitos es la accesibilidad y la facilidad de navegacin. El cliente siempre debe saber dnde est ubicado y como puede regresar a adonde estaba.

Clasificacin de requisitos Requisitos de datos: tambin denominados requisitos de contenido, requisitos conceptuales o requisitos de almacenamiento de informacin. stos requisitos responden a la pregunta de qu informacin debe almacenar y administrar el sistema. Requisitos de interfaz (al usuario): tambin llamados en algunas propuestas requisitos de interaccin o de usuario. Responden a la pregunta de cmo va a interactuar el usuario con el sistema. Requisitos de navegacin: recogen las necesidades de navegacin del usuario. Requisitos de personalizacin: describen cmo debe adaptarse el sistema en funcin de qu usuario interacte con l y de la descripcin actual de dicho usuario. Requisitos transaccionales o funcionales internos: recogen qu debe hacer el sistema de forma interna, sin incluir aspectos de interfaz o interaccin. Tambin son conocidos en el ambiente web como requisitos de servicios. Requisitos no funcionales: son por ejemplo los requisitos de portabilidad, de reutilizacin, de entorno de desarrollo, de usabilidad, de disponibilidad, etc.

A continuacin se presentan algunos criterios (metodologas) para el tratamiento de requisitos:

1. WSDM - Web Site Design Method: es una propuesta para el desarrollo de sitios web, en la que el sistema se define en base a los grupos de usuarios.

Aplicaciones Web a tu medida!


Fases: Modelo de usuario o Clasificacin de usuarios o Descripcin de los grupos de usuarios Diseo conceptual Diseo de la implementacin Implementacin.

2. SOHDM - Scenario-based Object-Oriented Hypermedia Design Methodology: Esta propuesta ofrece una modelo de escenarios propia, denominada SAC (Scenario Activity Chart), para representar los requisitos. En el desarrollo los mismos hace uso del diagrama de contexto propuesto en los DFD (diagramas de flujos de datos).

Aplicaciones Web a tu medida!

3. RNA - Relationship-Navegational Analysis: plantea una secuencia de pasos para el desarrollo de aplicaciones web, centrndose fundamentalmente en el flujo de trabajo de anlisis. Fases: Anlisis del Entorno Elementos de Inters Anlisis del Conocimiento Anlisis de la Navegacin Implementacin del Anlisis

Aplicaciones Web a tu medida!

4. HFPM - Hypermedia Flexible Process Modeling: propone un total de trece fases para las cuales se especifican a su vez una serie de tareas. En la primera etapa: Modelar Requisitos, propone: Descripcin breve del problema Descripcin de los requisitos funcionales Realizacin del modelo de datos Modelado de la interfaz de usuario Modelado de los requisitos no funcionales

5. OOHDM - Object Oriented Hypermedia Design Model: Esta propuesta parte de los casos de uso, que considera una tcnica muy difundida, ampliamente aceptada y fcilmente entendible por los usuarios y clientes no expertos, pero que resulta ambigua para el equipo de desarrollo en fases posteriores del ciclo de vida.

Aplicaciones Web a tu medida!

6. UWE - UML-Based Web Engineering: es una propuesta metodolgica basada en el Proceso Unificado y UML para el desarrollo de aplicaciones web. UWE cubre todo el ciclo de vida de este tipo de aplicaciones, centrando adems su atencin en aplicaciones personalizadas (adaptivas). El resultado final de la captura de requisitos en UWE es un modelo de casos de uso acompaado de documentacin que describe los usuarios del sistema, las reglas de adaptacin, los casos de uso y la interfaz. UWE clasifica los requisitos en dos grandes grupos: funcionales y no funcionales. Los requisitos funcionales tratados por UWE son: Requisitos relacionados con el contenido Requisitos relacionados con la estructura Requisitos relacionados con la presentacin Requisitos relacionados con la adaptacin Requisitos relacionados con los usuarios

Entre las ventajas ms importantes de UWE es su uso 100% UML.

Aplicaciones Web a tu medida!

7.

W2000: supone una propuesta que ampla la notacin de UML con conceptos para modelar elementos de multimedia heredados de la propuesta HDM (Hypermedia Design Model). El proceso de desarrollo de W2000 se divide en tres etapas: anlisis de requisitos, diseo de hipermedia y diseo funcional. En la etapa de anlisis de requisitos se divide en dos sub-etapas: anlisis de requisitos funcionales y anlisis de requisitos de navegacin.

8. UWA - Ubiquituos Web Applications: En concreto, la propuesta de W2000 se encuentra incluida en UWA. Sin embargo, W2000 ha sido incluida en UWA slo en la fase de diseo hipermedia, siendo ambas propuestas diferentes en la fase de definicin de requisitos. El proceso de captura de requisitos en UWA (Uwa Requirements Elicitation) comienza definiendo los diferentes roles de usuario que pueden interactuar con el sistema, los objetivos globales de ste y la relacin entre ellos. El proceso contina haciendo un refinamiento de esos objetivos globales, concretndolos en subobjetivos. Estos subobjetivos son estudiados y refinados para detectar conflictos entre ellos. De esta forma, se concretizan an ms dividindolos en requisitos. Los requisitos son clasificados en varios tipos: de contenido, de estructura de contenido, de acceso, de navegacin, de presentacin, de operaciones de usuario y de operaciones del sistema. De esta forma, los requisitos se van refinando hasta que solo pertenezcan a uno de estos grupos. Y finalmente los requerimientos son asignados a artefactos de diseo o a reglas de customizacin

Aplicaciones Web a tu medida!

9. NDT - Navigational Development Techniques: es una tcnica para especificar, analizar y disear el aspecto de la navegacin en aplicaciones web. NDT clasifica los requisitos en: Requisitos de almacenamiento de informacin Requisitos de actores Requisitos funcionales Requisitos de interaccin, representados mediante: Frases, que recogen cmo se va a recuperar la informacin del sistema utilizando un lenguaje especial denominado BNL (Bounded Natural Language). Prototipos de visualizacin, que representan la navegacin del sistema, la visualizacin de los datos y la interaccin con el usuario. Requisitos no funcionales

Aplicaciones Web a tu medida!

10. Design-driven Requirements Elicitation: La propuesta consiste en realizar la captura, definicin y validacin de requisitos durante el proceso de diseo. Ello hace necesario que las actividades de diseo sean realizadas de modo que los requerimientos pueden ser tratados y administrados. El proceso se basa en el uso de prototipos para ayudar al cliente en la exploracin de las posibles soluciones y de los problemas que tienen que ser resueltos. Los usuarios o clientes definen sus

Aplicaciones Web a tu medida!


requerimientos basndose en la observacin o trabajo con estos prototipos. Es un proceso iterativo que consiste en reducir la incertidumbre del cliente. El ciclo tiene tres fases: evaluacin, especificacin y construccin.

COMPARATIVA

Se tiene en cuenta tres aspectos fundamentales para la comparacin de las propuestas:

1. Requisitos tratados: Consiste en determinar qu tipos de requisitos son contemplados en las diferentes propuestas para las aplicaciones web.

2. Tcnicas y actividades contempladas: Se relacionan las tcnicas que afrontan los tipos de requerimientos en su desarrollo.

Aplicaciones Web a tu medida!

Esta tabla nos da una visin clara de las tcnicas que se pueden utilizar en la recoleccin de los requisitos, dependiendo de la propuesta que vayamos emplear.

3. Grado de detalle en las descripciones: Se analizan las propuestas de acuerdo a las siguientes tcnicas: Si son orientados al proceso: describen un proceso claro y concreto a seguir para realizar la definicin, captura y validacin de requisitos. Si son orientados a la tcnica: describen tcnicas concretas a aplicar durante el proceso.

Aplicaciones Web a tu medida!


Si son orientadas al resultado: descripcin concreta del producto que se debe obtener tras el proceso de desarrollo. Se tiene en cuenta el peso de cada tcnica: Si son orientados al proceso: describe claramente los pasos a seguir (+), describe el proceso sin detallarlo (o), no describe ningn proceso (-). Si son orientados a la tcnica: describe claramente las tcnicas y la forma de aplicarlas (+), enumera las tcnicas a aplicar (o), no propone ninguna tcnica concreta o referencia a tcnicas generales (-). Si son orientadas al resultado: describe claramente la estructura del producto a obtener (+), describe el contenido del producto sin entrar en detalle de su estructura (o), no comenta nada sobre el producto resultante (-). De acuerdo a lo mencionado se relacionan las propuestas con el peso de cada tcnica de acuerdo a los requisitos

Otros aspectos: de los cuales se resalta que en la fase de definicin de requisitos se orientan a travs de dos tendencias: Definicin de requisitos de una manera grafica Definicin de requisitos de manera textual Se debe tener en cuenta que para la elaboracin de requisitos para el desarrollo de sitios web no se encuentra suficiente soporte.

Você também pode gostar