BLOQUE I
4 MDE orientado al usario
Diseño Centrado en el Usuario
Profesorado:
Dra. María José Escalona Cuaresma
[email protected]
Dr. José Mariano González Romano
[email protected]
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
1
MDE para la Web
Introducción
Introducción
Definición
Estructura
básica
Conceptos
Transformaciones
Ventajas
Evaluació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)
ATKINSON, C., KÜHNE, T. 2003. Model-Driven
Development: A metamodeling Foundation. IEEE
Software. Vol 20. Issue 5. pp. 36-41.
2
MDE para la Web
Introducción
Introducción
Definición
Estructura
básica
Conceptos
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.
Transformaciones
Ventajas
Basándose en los conceptos se pueden definir transformaciones.
Evaluación
Concepto
1
Concepto
2
3
MDE para la Web
MDA
Introducción
Definición
Estructura
básica
No hay que mezclar los conceptos. MDA no es lo mismo que MDE
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
Conceptos
Transformaciones
Ventajas
Evaluación
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.
4
MDE para la Web
MDA
Introducción
MDA contempla cuatro modelos:
Definición
Estructura
básica
Conceptos
Transformaciones
Ventajas
R e q u ire m en ts
B u sin ess M od els
(C IM )
 CIM: Computation independent model
 PIM: Platform independent model
 PSM: Platform specific model
 Code
C o n te n t
C IM to PIM
T ra n sfo rm atio n
N a v ig a tio n
M o d el
M o d el
La ingeniería guiada por modelos es mucho
más genérica, aunque se basa en la misma
idea
M o d els
P re s e n ta tio n
M o d el
P IM to PIM
T ra n sfo rm atio n
P la tform In d ep en d en t
D esig n M o d els (PIM )
``B ig P ic tu re ´´
Evaluación
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.
P ro c e s s
M o d el
P IM to P S M
T ra n sfo rm atio n
P la tform
S p ecific
M o d els
(P S M )
M o d el fo r
J2E E
M o d el fo r
.N E T
…
P S M to C o d e
T ra n sfo rm atio n
Code
5
MDE para la Web
Estructura básica
Introducción
Definición
PASO 1:
Definir los conceptos
(abstractos)
Estructura
básica
Conceptos
PASO 2:
Definir las relaciones
entre ellos
Transformaciones
Ventajas
Evaluación
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.
6
MDE para la Web
Definiendo los conceptos. Ej. NDT Requisitos
NDT Behaviour
0..n
+incompatible
<<stereotype>>
Introducción
PASO 1:
Definir los conceptos
(abstractos)
WebActor
0..n
1..n
Definición
Estructura
básica
Conceptos
1..n
<<stereotype>>
<<stereotype>>
WebTransactionalUseCase
WebUseCase
(f rom NDT Behav iour)
(f rom NDT Behav iour)
1..n
0..n
+offered
1..n
1..n
1..n
+norm alSequence
0..n
+exceptions
<<stereotype>>
<<stereotype>>
<<stereotype>>
Phrase
Browse
(f rom NDT Behav iour)
Transaction
(f rom NDT Behav iour)
(f rom NDT Behav iour)
Transformaciones
Ventajas
Evaluación
NDT Structure
+transactions
+target
1..n
+source
1
+parameters
1..n
1..n
Concept
SpecificField
VisualizationPrototype
(f rom NDT Structure)
type
0..n
0..n
(f rom NDT Structure)
1..n
0..1
+nature
NewNature
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
7
MDE para la Web
Definiendo los conceptos. Ej. NDT Navegación (UWE)
UWE Metamodel
Introducción
Definición
PASO 1:
Definir los conceptos
(abstractos)
Estructura
básica
Conceptos
Transformaciones
Ventajas
Evaluación
8
MDE para la Web
Definiendo los conceptos. Ej. NDT Constraints
NDT Behaviour
0..n
+incompatible
Introducción
PASO 1:
Definir los conceptos
(abstractos)
<<stereotype>>
WebActor
Definición
0..n
1..n
1..n
Estructura
básica
Conceptos
<<stereotype>>
<<stereotype>>
WebTransactionalUseCase
WebUseCase
(f rom NDT Behav iour)
(f rom NDT Behav iour)
1..n
0..n
+offered
1..n
1..n
1..n
+norm alSequence
0..n
+exceptions
<<stereotype>>
<<stereotype>>
<<stereotype>>
Phrase
Browse
(f rom NDT Behav iour)
Transaction
PASO 2:
Definir las relaciones
entre ellos
(f rom NDT Behav iour)
(f rom NDT Behav iour)
Transformaciones
Ventajas
NDT Structure
Evaluación
+transactions
+target
1..n
+source
1
+parameters
1..n
1..n
Concept
SpecificField
VisualizationPrototype
(f rom NDT Structure)
type
0..n
0..n
(f rom NDT Structure)
1..n
0..1
+nature
NewNature
9
MDE para la Web
Transformaciones
Introducción
Definició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.
Estructura
básica
ATL (Atlas Transformation languages).
Lenguaje transformación soportadopor
Eclipse
http://www.eclipse.org/m2m/atl/
Conceptos
Transformaciones
Ventajas
Teoría de grafos, caso por ejemplo de
OOWS. (AGG Graphs)
Evaluación
Solución
propia
QVT (Query-view Transformations). Caso
de NDT o UWE
http://www.omg.org/cgibin/apps/doc?ad/04-04-01.pdf
10
MDE para la Web
Transformaciones. Ej. NDT & QVT
De los RA a las CL
Introducción
Definición
Estructura
básica
Conceptos
Transformaciones
Ventajas
Evaluación
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);}
PASO 1:
Definir los conceptos
(abstractos)
PASO 2:
Definir las relaciones
entre ellos
PASO 3:
Definir las
transformaciones
11
MDE para la Web
Definir la sintaxis concreta. Ej. NDT
Patrones
REM
Introducción
Definición
Requistios
&
Patrones
NDT
Estructura
básica
PASO 1:
Definir los conceptos
(abstractos)
PASO 2:
Definir las relaciones
entre ellos
Conceptos
Transformaciones
Ventajas
Evaluación
Análisis
UWE
&
&
Prototipos HTML
PASO 3:
Definir las
transformaciones
PASO 4:
Elegir una sintaxis
concreta
12
MDE para la Web
Ventajas. Ejemplo WebRE (I)
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.
Introducción
Definición
Estructura
básica
Conceptos
Transformaciones
WebRE Concept
NDT
OOHDM
UWE
W2000
B
e
h
a
vi
o
r
WebUser
Actor
Actor
Actor
Actor
Navitation
Visualization
prototype
Use case
Navigation use case
Browse use case
WebProcess
Use case
Use case
Use case
Use case
Browse
Visualization
prototype
Single choice
Activity
Search
Phrase
Optional data entry
Activity
UserTransaction
Functional
requirement
Application processing
Activity
Node
Visualization
prototype
Content
Storage requirement
Data entry
Class
Ventajas
Evaluación
St
r
u
ct
u
r
e
WebUI
Interaction
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.
13
MDE para la Web
Ventajas. Ejemplo WebRE (II)
Veamos un mismo ejemplo:
Introducción
S e a rch C D
« e xte n d »
AddTo
S h o p p in g C a rt
Definición
L istC o n te n t
S h o p p in g C a rt
Estructura
básica
Conceptos
W eb U se r
L o g in
FR-01
Login
Description
Authentication to allow access to the checkout process
Actors
Use case actor
AC-01. WebUser
Transformaciones
Ventajas
« e xte n d »
C h e cko u t
Normal sequence
R e g iste r
« e xte n d »
Evaluación
Exceptions
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
Step
Action
4
The user is not registered, so the user executes FR-02
4
The userID or the password are not valid, continue with
step 1
14
MDE para la Web
Ventajas. Ejemplo WebRE (III)
Veamos un mismo ejemplo:
Introducción
u se rID
Definición
Estructura
básica
E rro r
M e ssa g e
p a ssw o rd
S e a rch C D
« e xte n d »
AddTo
S h o p p in g C a rt
re m e m be r
(a cce ss to ch e cko u t)
L istC o n te n t
S h o p p in g C a rt
Conceptos
[e ls e ]
Transformaciones
W eb U se r
L o g in
Ventajas
[a lre a d y lo g g e d in ]
u se rID
« e xte n d »
Evaluación
[c a n c e l]
p a ss w o rd
F in d U S e r
In p u t
re m e m b e r
C h e cko u t
R e g iste r
« e xte n d »
[re p e a t]
[e ls e ]
[fo u n d ]
V e rify
P a s s w o rd
S h o w E rro r
[c a n c e l]
[e ls e ]
[c o rre c t]
15
MDE para la Web
Ventajas
Introducción
Se pueden aprovechar las ventajas e inconvenientes de varias propuestas
realizando transformaciones entre las diferentes metodologías.
Definición
Estructura
básica
Conceptos
Transformaciones
Ventajas
Evaluación
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.
16
MDE para la Web
Ventajas. Ejemplo NDT-Profile (I)
Introducción
Definición
Estructura
básica
Conceptos
Transformaciones
El uso y definición de profiles, es otra
oportunidad para ampliar el elenco de
herramientas de una manera ágil y
sencilla.
Ventajas
Evaluación
17
MDE para la Web
Ventajas. Ejemplo NDT-Profile (II)
Introducción
Definición
Estructura
básica
Conceptos
Transformaciones
Ventajas
Evaluación
18
MDE para la Web
Ventajas
Permite “dedicar más tiempo” al usuario. Es un tiempo que se va a
recuperar porque:
Introducción
Definición
Estructura
básica
Conceptos
Transformaciones
Se reduce el tiempo de
desarrollo por la
automatización de la
generación
Ventajas
Evaluación
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
Los errores se detectan
antes y se garantiza más
fácilmente la trazabilidad
19
MDE para la Web
Ventajas
Introducción
Definición
Estructura
básica
Conceptos
Transformaciones
Ventajas
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.
Evaluación
20
MDE para la Web
Evaluación
Introducción
Definición
Estructura
básica
Conceptos
FASE I: Definir el metamodelo de diagramas de clase
FASE II: Puesta en común
Transformaciones
Ventajas
Evaluación
FASE III: Definir nuestro profile en EA
FASE IV: Elaboración y defensa de las conclusiones
21
Descargar

Curso de Doctorado MTP