La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 BLOQUE I 4 MDE orientado al usario Diseño Centrado en el Usuario Profesorado: Dra. María José Escalona Cuaresma Dr. José Mariano González.

Presentaciones similares


Presentación del tema: "1 BLOQUE I 4 MDE orientado al usario Diseño Centrado en el Usuario Profesorado: Dra. María José Escalona Cuaresma Dr. José Mariano González."— Transcripción de la presentación:

1 1 BLOQUE I 4 MDE orientado al usario 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 2008/09

2 2 MDE para la Web Introducción El paradigma guiado por modelos ofrece una nueva perspectiva de trabajo en el desarrollo de software. En la Ingeniería Web ofrece una vía importante para “facilitar” el desarrollo y reducir el tiempo, aumentando la consistencia y trazabilidad. Esta aplicación se ha comenzado a denominar Ingeniería Guiada por modelos para la Web (MDWE) Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación ATKINSON, C., KÜHNE, T. 2003. Model-Driven Development: A metamodeling Foundation. IEEE Software. Vol 20. Issue 5. pp. 36-41.

3 3 MDE para la Web Introducción La Ingeniería Guiada 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 Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación

4 4 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. MDE para la Web MDA Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación 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. http://www.omg.org

5 5 MDE para la Web MDA Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación MDA contempla cuatro modelos: CIM: Computation independent model PIM: Platform independent model PSM: Platform specific model Code KOCH, N., ZHANG, G., ESCALONA, M.J. 2006. Model Transformations from Requirements to Web System Design. ACM International Conference Proceeding Series. 6th international conference on Web Engineering (ICWE 2006). Ed. ACM. pp. 281-288. La ingeniería guiada por modelos es mucho más genérica, aunque se basa en la misma idea

6 6 MDE para la Web Estructura básica Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación PASO 1: Definir los conceptos (abstractos) PASO 2: Definir las relaciones entre ellos PASO 3: Definir las transformaciones PASO 4: Elegir una sintaxis concreta Hay que abstraerse para definir los artefactos con los que se trabaja. Independientemente de cómo los representemos (metamodelo) La forma más extendida es usar un diagrama de clases en el que, además hay que estudiar las asociaciones (metaasociaciones). Los metamodelos de diferentes fases se interrelacionan y se definen transformaciones que más adelante definirán el proceso sistemático de obtención de conceptos Cuando ya se tiene definido todo el entorno, es cuando se busca el cómo se va a representar. La ventaja es que ya la metodología no “cierra” a una representación.

7 7 MDE para la Web Definiendo los conceptos. Ej. NDT Requisitos Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación PASO 1: Definir los conceptos (abstractos) ESCALONA, M.J., ARAGÓN, G. NDT. 2008. A Model-Driven approach for Web requirements. IEEE Transaction on Software Engineering. Vol. 34. Nº3. pp.370-390

8 8 MDE para la Web Definiendo los conceptos. Ej. NDT Navegación (UWE) Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación PASO 1: Definir los conceptos (abstractos) UWE Metamodel

9 9 MDE para la Web Definiendo los conceptos. Ej. NDT Constraints Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación PASO 1: Definir los conceptos (abstractos) PASO 2: Definir las relaciones entre ellos

10 10 MDE para la Web Transformaciones Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación Las transformaciones definen, mediante relaciones dinámicas, los pasos que hay que dar para conseguir un modelo a partir de otro. Se pueden expresar de muchas formas diferentes. ATL (Atlas Transformation languages). Lenguaje transformación soportadopor Eclipse http://www.eclipse.org/m2m/atl/ Teoría de grafos, caso por ejemplo de OOWS. (AGG Graphs) QVT (Query-view Transformations). Caso de NDT o UWE http://www.omg.org/cgi- bin/apps/doc?ad/04-04-01.pdf Solución propia

11 11 MDE para la Web Transformaciones. Ej. NDT & QVT Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación PASO 1: Definir los conceptos (abstractos) PASO 2: Definir las relaciones entre ellos PASO 3: Definir las transformaciones Transformation Requirements2Content (ndt:NDT, uml: UML){ top relation R1{ checkonly domain ndt c:Concept {name = n}; enforce domain uml cl: Class{name = n}; relation R2{ checkonly domain ndt sf : SpecificField {namespace = cp:Concept{}, name =sfn}; enforce uml at: Attribute {namespace = cc: Class{}, name = atn}; where {sf.nature->size () = 0;} when {R1(cp, cc);} relation R3{ checkonly domain ndt sf : SpecificField {namespace = cp:Concept{}, name =sfn, nature = conc:Concept{}}; enforce uml as: Association {name = asn}; where {asn.connection = {cp, conc};} when {R1(cp, cc);} De los RA a las CL

12 12 MDE para la Web Definir la sintaxis concreta. Ej. NDT Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación PASO 1: Definir los conceptos (abstractos) PASO 2: Definir las relaciones entre ellos PASO 3: Definir las transformaciones PASO 4: Elegir una sintaxis concreta Requistios Patrones REM Patrones NDT & Análisis UWE & & Prototipos HTML

13 13 MDE para la Web Ventajas. Ejemplo WebRE (I) WebRE ConceptNDTOOHDMUWEW2000 B e h a vi o r WebUserActor NavitationVisualization prototype Use caseNavigation use caseBrowse use case WebProcessUse case BrowseVisualization prototype Single choiceActivity SearchPhraseOptional data entryActivity UserTransactionFunctional requirement Application processingActivity St r u ct u r e NodeVisualization prototype ContentStorage requirementData entryClass WebUIInteraction Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación La representación queda en un segundo nivel, dando importancia a los concpetos indepedientemente de como cada una lo utilice. Esto facilita encontrar similitudes entres las propuestas. ESCALONA, M.J., KOCH, N. 2007. Metamodelling the requirements of Web Systems. Web Information Systems and Technologies. International Conferences WEBIST 2005 and WEBIST 2006. Revised Selected Papers. LNBIP, Vol. 1, Springer, pp. 267-280.

14 14 Veamos un mismo ejemplo: FR-01Login DescriptionAuthentication to allow access to the checkout process ActorsUse case actor AC-01. WebUser Normal sequenceStepAction 1The system asks for the userID and password and the option to remember both userID and password 2The user puts the userID and the password 3The userID and the password are checked 4The userID and the password is stored if the field remember is true 5Access to checkout is allowed ExceptionsStepAction 4The user is not registered, so the user executes FR-02 4The userID or the password are not valid, continue with step 1 MDE para la Web Ventajas. Ejemplo WebRE (II) Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación

15 15 Veamos un mismo ejemplo: MDE para la Web Ventajas. Ejemplo WebRE (III) Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación

16 16 MDE para la Web Ventajas Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación Se pueden aprovechar las ventajas e inconvenientes de varias propuestas realizando transformaciones entre las diferentes metodologías. MORENO, M., ROMERO, J. R., VALLECILLO, A. 2007. An overview of Model-Driven Web Engineering and the MDA. Web Engineering and Web Applications Design Methods. Vol. 12. Human-Computer Interaction Series. Chapter 12. Srpinger.

17 17 MDE para la Web Ventajas. Ejemplo NDT-Profile (I) Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación El uso y definición de profiles, es otra oportunidad para ampliar el elenco de herramientas de una manera ágil y sencilla.

18 18 MDE para la Web Ventajas. Ejemplo NDT-Profile (II) Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación

19 19 MDE para la Web Ventajas Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación Permite “dedicar más tiempo” al usuario. Es un tiempo que se va a recuperar porque: Los requisitos se transforman en análisis de manera sistemática (incluso automática) Se pueden transformar en pantallas (NDT-Suite) y validarlos automáticamente con ellos Se reduce el tiempo de desarrollo por la automatización de la generación Los errores se detectan antes y se garantiza más fácilmente la trazabilidad

20 20 MDE para la Web Ventajas Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación Sin embargo, el marco de trabajo aún es muy joven. Las herramientas para definir metamodelos y transformaciones están aún muy verdes. Además, hay que buscar “artificios” para hacer transparente todas esta abstracción en el mundo empresarial. El concepto de metamodelo y transformaciones no encaja directamente con el mundo empresarial.

21 21 MDE para la Web Evaluación FASE I: Definir el metamodelo de diagramas de clase FASE II: Puesta en común FASE III: Definir nuestro profile en EA FASE IV: Elaboración y defensa de las conclusiones Introducción Definición Estructura básica Conceptos Transformaciones Ventajas Evaluación


Descargar ppt "1 BLOQUE I 4 MDE orientado al usario Diseño Centrado en el Usuario Profesorado: Dra. María José Escalona Cuaresma Dr. José Mariano González."

Presentaciones similares


Anuncios Google