BLOQUE I 3 Técnicas en Ingeniería Web Diseño Centrado en el Usuario Profesorado: Dra. María José Escalona Cuaresma mjescalona@us.es Dr. José Mariano González Romano mariano@lsi.us.es Master Oficial en Ingeniería y Tecnología del Software http://www.lsi.us.es/docencia/master-oficial.php Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Curso 2007/08
Técnicas Web Introducción Captura Definición Validación Comparativa Ideas NDT Como se ha visto, la Ingeniería Web ofrece un conjunto de técnicas específicas para tratar los aspectos específicos de la web. En este tema se van a presentar las técnicas más usadas en la Ingeniería de Requisitos Web y se va a ofrecer un estudio comparativo de las técnicas estudiadas en el tema anterior para ver cómo se ha evolucionado. Tras ver las técnicas de Ingeniería de Requisitos para la web, se presentan técnicas específicas de la Ingeniería Web en análisis y diseño. Por último se presenta NDT en detalle como ejemplo de metodología web orientada a los requisitos.
Técnicas Web Ingeniería de Requisitos [Escalona & Koch, 2003] Information Validación de requisitos Correcciones Definición de Captura de Catalogo de Analistas Desarrolladores Disenadores Clientes Usuarios Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT [Escalona & Koch, 2003]
Técnicas Web Entrevistas Ingeniería de Requisitos Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT 1. Captura de requisitos: Actividad mediante la que se extraen las necesidades del sistema TÉCNICAS: Entrevistas JAD (Joint Application Development Brainstorming Concept Mapping Sketches y Storyboards Casos de Uso Cuestionario y Checklist Comparación de terminología
Técnicas Web Lenguaje Natural Ingeniería de Requisitos Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT 2. Definición de requisitos: Proceso mediante el que se representan y describen los requisitos capturados TÉCNICAS: Lenguaje Natural Glosarios y Ontologías Plantillas y Patrones Escenarios Casos de uso Lenguajes Formales
Técnicas Web Reviews o Walk-throughs Ingeniería de Requisitos Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT 3. Validación de requisitos: Proceso que tiene como misión demostrar que la definición de los requisitos define realmente el sistema que el usuario necesita. TÉCNICAS: Reviews o Walk-throughs Auditorías Matrices de trazabilidad Prototipos
Técnicas Web REQUISITOS TRATADOS Comparativa Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT Req. datos interfaz Naveg. Req. Personaliz. Req. Transacion. Req. no funcionales WSDM SOHDM RNA HFPM OOHDM UWE W2000 UWA NDT DDDP
Técnicas Web TÉCNICAS Y ACTIVIDADES CONTEMPLADAS: en captura Comparativa Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT TÉCNICAS Y ACTIVIDADES CONTEMPLADAS: en captura WSDM SOHDM RNA OOHDM HFPM W2000 UWE UWA DDDP NDT Entrevistas JAD Brainstorming Concept Mapping Rol-Activid. Casos de uso Cuestionario/ Checklist Prototipos Otra técnicas DFD
Técnicas Web TÉCNICAS Y ACTIVIDADES CONTEMPLADAS: en definición Comparativa TÉCNICAS Y ACTIVIDADES CONTEMPLADAS: en definición Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT WSDM SOHDM RNA OOHDM HFPM W2000 UWE UWA DDDP NDT Lengua. natural Glosarios Plantillas Escenarios SAC Casos de uso Lenguaj. formal XML Sketches Prototipos Otras técnicas Lista even. UID Grafo requis. Fras. BNL
Técnicas Web TÉCNICAS Y ACTIVIDADES CONTEMPLADAS: en validación Comparativa TÉCNICAS Y ACTIVIDADES CONTEMPLADAS: en validación Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT WSDM SOHDM RNA OOHDM HFPM W2000 UWE UWA DDDP NDT Reviews/ Walk-throughs Auditorías Matriz trazabilidad Prototipos Otras técnicas Grafo requis.
Técnicas Web GRADO DE DETALLE EN DESCRIPCIONES Comparativa Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT GRADO DE DETALLE EN DESCRIPCIONES Orientación al proceso Orientación a la técnica Orientación al resultado WSDM o - SOHDM + RNA HFPM OOHDM UWE W2000 UWA NDT DDDP
Técnicas Web GRADO DE DETALLE EN DESCRIPCIONES Comparativa Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT GRADO DE DETALLE EN DESCRIPCIONES Orientación al proceso Orientación al resultado Orientación a la técnica
Técnicas Web Comparativa Existen tendencias en las propuestas Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT Existen tendencias en las propuestas 1- Representación gráfica 2- Representación textual Existe poco soporte en cuanto a herramientas case Existe una terminología muy variada
Técnicas Web Conceptos heredados del análisis y diseño La separación de conceptos: Modelo conceptual, de información, de clases, etc. Modelo navegacional Modelo de presentación etc. Los modelos como extensiones formales. Se comenzó con modelos propios Luego se utilizaron modelos estándares como diagramas de clases Actualmente se marca como extensiones formales de lenguajes estándares como UML. Esto está permitiendo que se unifiquen conceptos Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT
Técnicas Web Ejemplo. NDT NDT es una aproximación que intenta salvar algunos problemas que se detectaron en los estudios comparativos. Intenta salvar el “abandono” de la Ingeniería de Requisitos y trata las fases de Ingeniería de Requisitos y Análisis. Separa los conceptos desde la Ingeniería de Requisitos: Requisitos de almacenamiento de información Requisitos de actores Requisitos funcionales Requisitos de interacción Requisitos no funcionales Aunque también sigue las directrices de separación en análisis. Modelo conceptual Modelo de navegación Modelo de interfaz Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT
[se han detectado errores] Capturar y definir requisitos Validar requisitos Especificación de requisitos Generar el modelo conceptual modelo de navegación Análisis [correctos] DRS [no correctos] [se han detectado errores] [sin errores] Generar prototipos DAS Técnicas Web Ejemplo. NDT Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT
Técnicas Web Ejemplo. NDT NDT es una aproximación que intenta salvar algunos problemas que se detectaron en los estudios comparativos. Sigue las directrices buscando modelos y formas de trabajo estándar que permita una fácil adecuación a otras metodologías. Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT
LA ELICITACIÓN DE REQUISITOS Técnicas Web Ejemplo. NDT Captura de requisitos Definición de requisitos Validación de Generación de modelos Definición de Procesos de derivación Requisitos Analisis NDT Modelos de análisis Patrones basados en metamodelos METODOLOGÍA PARA LA ELICITACIÓN DE REQUISITOS BNL UML UWE OOHDM The approach Influencias NDT es una aproximación que intenta salvar algunos problemas que se detectaron en los estudios comparativos. Sigue las directrices buscando modelos y formas de trabajo estándar que permita una fácil adecuación a otras metodologías. Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT
Técnicas Web Ejemplo. NDT NDT es una aproximación que intenta salvar algunos problemas que se detectaron en los estudios comparativos. En la actualidad ha evolucionado hacia los entornos MDD como veremos más adelante. Muchos grupos han detectado que pasar de Ingeniería de Requisitos a Análisis es complejo. NDT propone una forma de llevarlo. Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT
Técnicas Web Ejemplo. NDT Metamodelos para la fase de requisitos Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT Metamodelos para la fase de requisitos Sistemático Metamodelos para la fase de análisis Modelos básicos Controlado Modelos finales NDT (Navigational Development Techniques)
Técnicas Web Ejemplo. NDT NDT es una aproximación que intenta salvar algunos problemas que se detectaron en los estudios comparativos. Introduce al usuario en el proceso de Ingeniería de Requisitos. Para ello propone un sistema basado en patrones. Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT Patrón para RA Patrón para NA Patrón para OBJ Patrón para PV Patrón para RF Patrón para ACT Patrón para RNF Patrón para FR
Técnicas Web Ejemplo. NDT MDA aplicado a la web Introducción Técnicas Captura Definición Validación Comparativa Ideas NDT MDA aplicado a la web Metodologías Web Ingeniería de Requisitos
BLOQUE I 4 Ingeniería guiada por modelos Diseño Centrado en el Usuario Profesorado: Dra. María José Escalona Cuaresma mjescalona@us.es Dr. José Mariano González Romano mariano@lsi.us.es Master Oficial en Ingeniería y Tecnología del Software http://www.lsi.us.es/docencia/master-oficial.php Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Curso 2007/08
Ingeniería Guiada por modelos Introducción Introducción Definición Estructura básica Conceptos Transformaciones Ventajas La Ingeniería Guiada por modelos es un nuevo paradigma que da más importancia a los conceptos que a la forma de representarlo. La idea es detectar los conceptos y representarlos de manera abstracta. Tras esto se definen las relaciones entre estos conceptos. Basándose en los conceptos se pueden definir transformaciones. Concepto 1 Concepto 2
MDA Definición No hay que mezclar los conceptos. MDA no es lo mismo que MDE Model Driven Archietecture (MDA) es la estandarización de la OMG como platarforma para soportar MDD. MDA se basa en separar la especificación de los detalles de implementación. MDA ofrece una aproximación que consiste en paso a paso ir consiguiendo modelos basado en transformaciones. Introducción Definición Estructura básica Conceptos Transformaciones Ventajas MDA is an approach to system development, which increases the power of models in that work. It is model driven because it provides a means for using models to direct the course of understanding, design, construction, deployment, operation, maintenance and modification.
MDA Estructura básica MDA contempla cuatro modelos: Introducción Definición Estructura básica Conceptos Transformaciones Ventajas MDA contempla cuatro modelos: CIM: Computation independent model PIM: Platform independent model PSM: Platform specific model Code [Koch, Zhang, Escalona 2006]
MDE Definiendo los conceptos. Ej. WebRE Primero se definen los conceptos Introducción Definición Estructura básica Conceptos Transformaciones Ventajas [Escalona & Koch, 2006]
MDE Definiendo los conceptos. Ej. WebRE Esto ya es un avance porque permite UNIFICAR conceptos. Así, WebRE permite representar conceptos de 4 aproximaciones: NDT, UWE, W2000, UID de OOHDM. Introducción Definición Estructura básica Conceptos Transformaciones Ventajas WebRE Concept NDT OOHDM UWE W2000 Behavior WebUser Actor Navitation Visualization prototype Use case Navigation use case Browse use case WebProcess Browse Single choice Activity Search Phrase Optional data entry UserTransaction Functional requirement Application processing Structure Node Content Storage requirement Data entry Class WebUI Interaction [Escalona & Koch, 2006]
MDE Definiendo los conceptos. Ej. WebRE Veamos un mismo ejemplo: Introducción Definición Estructura básica Conceptos Transformaciones Ventajas FR-01 Login Description Authentication to allow access to the checkout process Actors Use case actor AC-01. WebUser Normal sequence Step Action 1 The system asks for the userID and password and the option to remember both userID and password 2 The user puts the userID and the password 3 The userID and the password are checked 4 The userID and the password is stored if the field remember is true 5 Access to checkout is allowed Exceptions The user is not registered, so the user executes FR-02 The userID or the password are not valid, continue with step 1 [Escalona & Koch, 2006]
MDE Definiendo los conceptos. Ej. WebRE Veamos un mismo ejemplo: Introducción Definición Estructura básica Conceptos Transformaciones Ventajas [Escalona & Koch, 2006]
MDE Definiendo los conceptos. Ej. WebRE Primero se definen los conceptos Introducción Definición Estructura básica Conceptos Transformaciones Ventajas [Koch, Zhang, Escalona, 2006]
MDE Definiendo transformaciones Luego se definen las transformaciones Introducción Definición Estructura básica Conceptos Transformaciones Ventajas [Koch, Zhang, Escalona 2006]
MDE Definiendo transformaciones Luego se definen las transformaciones Introducción Definición Estructura básica Conceptos Transformaciones Ventajas transformation Content2Class (webre:WebRE, uwe:UWE) { top relation R1 { checkonly domain webre c:Content { name = n }; enforce domain uwe cc: Class { name = n }; } top relation R2 { cn: String; checkonly domain webre p: Property { namespace=c: Content {}, name = cn}; enforce domain uwe p1:Property { namespace = cc: Class{}; name = cn} when {R1 (c,cc); } [Koch, Zhang, Escalona]
MDD Ventajas La forma de “representar” los conceptos ya no es tan relevante. Lo importante son los conceptos. Las relaciones permiten “controlar” la consistencia de los modelos. Las transformaciones son una vía que se pueden traducir en “procesos” de transformación. Introducción Definición Estructura básica Conceptos Transformaciones Ventajas
BLOQUE I Ingeniería Web Diseño Centrado en el Usuario Profesorado: Dra. María José Escalona Cuaresma mjescalona@us.es Dr. José Mariano González Romano mariano@lsi.us.es Master Oficial en Ingeniería y Tecnología del Software http://www.lsi.us.es/docencia/master-oficial.php Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Curso 2007/08