Vous êtes sur la page 1sur 106

!

"

#"

"

# $

&

"
%
%
*

########################################################$
'##################################################(
' ####################################################)
" +
%
#############,

&%
&%
"

% .
+

'

################################################
/ ############################################################
####################################################

(%$

)
0
2
2
2
2

&

" ###################################################################
1 * #############################################
##########################################################
##################################################
########################################################
3
4
####################################################
"
################################################
/ ############################################
#########################################################################

* %+ ,

$
$
$
(
(
(
)
)
5

%*

.%
/
6 72
.

/
8
8
8
8
8
1

%*

######################################################
###################################################################
#########################################################
###############################################################

%*
"
"
"
"

%
%
%

!
!
$
$
$

(
(
(
)
)
)

#######################################
" 9 #####################################
" 9 ######################################
- ###########################################
"
#######################################
##############################################################

!!

1(

2
;
6

'

##################################################################### ,
######################################################################## ,
############################################################### ,

!
&

2%

$ %

%3

&

&

" ###################################################################3$
&
' ##############################################3(
2
&
'##########################################3(
&
' ######################################3)
##########################################################35
/
" &
' ##########################################3,
%
" &< -' ##################################################3,
=9
&+ .'######################################################!
.
######################################################!
2" 9 &2
' ##################################################!
"
+ . ################################################!3
"
.
########################################!3
"
%
" #########################################!!

*#
2
% 9

7
7

- "

9
/
2
2
%

0!

'

"

$ "

!9

######################################################!)
" ###################################################!5
########################################################!5
9 > ######################################################$
########################################################$
########################################################$3

$ "

&!

)*

!0

&9

" ###################################################################$)
/ /
##############################################################$5
0 ######################################################################$5
/%
###############################################################$,
1
?
################################################################(
#######################################################################(
/ ##################################################################(
"
############################################(
/42
9 ###############################################################(
@ A
############################################################(!

00

+ .###################################################################((
.
########################################################(,
< - ##################################################################)

*#
/
% 9
2
2
2
2

%
/
"
%

$ "

#####################################################)
/
" ##################################################)
###########################################################)3
##############################################################)3
%
#########################################################)!
#############################################################)$

9!

&
:

'

)* ,

%7

9&

(+
9:

%
%

&% ' #########################################################)5


&% '#########################################################5
%
&% 3' #############################################5
9 "
&% !' #####################################################5
&% $' ##########################################################5
/
"
&% (' ###################################5
;
&% )' #####################################################5
+B
&% 5' #################################################53
&% ,' ###########################################################5$
9
"
&% '########################################5(
6
4
&% ' ###############################################5)
6 7&% ' ##############################################################55
2
&% 3' #############################################################5,
+
7 " &% !' ###########################################################5,
2
&% $'###################################5,
2
" 9 9
&% (' #################################################,
8
&% )'#####################################################,

% %7
C

0. 1 2

'

########################################################,
################################################################,
" ################################################################,3

./

-(

;
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"

)"
," 7
% %
+
"
! 2
7
& 2
7
0 2
7
9
%
:
%
' (%$
- %
2
2
2
! =
$
&
%
0 2
7
9 )
: 4
%
' +
"
7 %

!
&
0
9
:
'
-

!
&
0
9
:
'
!!
!
!
!!
!&
!0
!9
!:
!'
&&
&
&
&!
&&
&0
&9

%
7

%
% %+ ,
4
%
%
%
%
%
%
%

% 4 %
% *<

%%

3 7
%%

-5
3 7
+ ,3 7

5
)3 7
5
% %
% 7 %
%7
7 %
)>
.
? @
>
!
3
+ ,
%
%
%*
%
$ *
7
1
% %
%%
3
5
% 7
%
7
8>
.
?0@
% %
4
%
%%
7
7
$
7
%
%
$ 3A 5
B"
328C5
C%
%
%
$
6 %
%3
5
6 %7
" %3 # 5
C
7
%7
41,
"
7
8
2
7
* D 84 % "
7
7
7 %
$
%%
7
$
E%6
28C
7
$
% "
F" 7
7
7
$
CE%6
7
7
3
5
,%
%
$
%
CE%6
%7
G % 7 $
,%
" .%
$
%
" .
$
%
,%
%
* $
*
$
$
%
$
7
$
%7
7 %
4
>
? @
/
4
* %
4
F " 7
$
%
8
6.
H
"%
/
7 7
% %7
7
* 4
"
%
7
=7 %
7
%
%%
4
4
%7
7
%7 * $ %
, D
B
7
4
%7
7 %%
% % %

!
&
0
9
:
'
!
&
0
0
9
:
'
:
!
0
9
9
:
'
!!
!
!!
!&
!9
!9
!:
!:
!'
&&&
&
&
&
&
&!
&!
&:
&'
&'
0
0
0&
0&
00
09
09
0:
0:
0'

)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"
)"

&:
&'
00
0
0
0!
0&
00
09
0:
0'
99
9
9
9!
9&
90
99
9:
9'
::
:

%7

7 %%

"
"
2
= "%
F" 7
,%

%%

*
= "%
%

%
7

$
" .

%
7
7
7
%7

7
% %3 7

%
% %

% %7
%
%

85
4

%
A 3 7
85
"
2%
%7
%
7
8>
.
C 6 %
%
6 %7
"
I %7
" %
4
"
%
7
7
%
7 7
%
%
% 7
%%
7
$

3
?0@
%

4
7

5
8

28C 3 7

85
%
"
%3
3 7
85
". 28C 3
4
28C
7

5
3 7

85

0'
99
9
9
9
9
9!
9!
9!
9&
9&
9:
9'
::!
:&
:0
:9
::
::
:'
''
'

>

1 Introduccin
1.1
+

Contexto
!

D ,, E
"
1 *
0E 1 E ?
2<

&1 *'
%
7

1 *

"

E
"

F
1 /
@

@ A
21C./E

" E

+
%

"

7
9> F

F
-

F
/
F

%
-

7
"

" %
"

E
9>
&. .'

1 *E

"
" E F
9

9>

< J

9>
"
.

F
9

"
@ E F
21C./E

&2 .'
E 9
9

"
E

0
@

9
F

9
7

&%

G
9

'E

:
%7 .* %
$ " %
% E %
+
:
/
/

&%

*
/

E
" 9 'E

"

'E

:
" &!*0 '

>
F
E

:
: : E

@
D $ :
> 0
:
9

&%
7
-

E
9

:
>
9

"

7 "
H
/E >
$
%

"

#
/

>

+
>

:
D

1.2
+

Objetivo del Proyecto

7
B

E
D E
"

1.3

:
-

/E

Mtodo de Trabajo

- "
B

2 E

F
F
F> F

- "
:

"
E
&:

GI
I@@@

/E
9 9I I' +
J E
E !E (E 5E 3 K
"
"

9>

/ J K 6
/E

&'

J ,KE

:
:

"
F :
+

E
&

F
7

9
"

@ A
>
/E
F
" (

-L
@

&'
>F
) )E -

"
/

9
D

"
1 *
>

"

( *
#

: > 6
:

- .

+ , J3K

L
J$K

6
(
:

&
E

"
/

E
J ,K

B
E

M B

:
J K

-L

(
"

>B

>

-L
"
-

/
F

"

0 H

:
:

/
E

"
J 3E !E $E (E )K
-

+
:

"
9

7
F

7
" (

7
0

J K
/
"
9

"

1.4

Organizacin del Documento

7.

7.

"

/E

7.
/

" E
E:

/E

0E

7.

7.
F
$ 6 -L
1
:
7.

/
"
1

"
:

&

"

>

"

"

9:
F

9H

" E

"

>

"

79

7.
E

-L :
:

2 34(
"

+
:
:

! : -

7.
L

1 /( *

"
-

:
-

H
/

7.
9 "

'

>

>

2 Presentacin de MDA
2.1
9H

Introduccin
1 *E
9>E

9
@ AE
"

"

," 7

< - 0

FL
)

F
/Q

@ A
F

@
E

E
9

++

)"

%
OP L

21C./E
1 *E

" E

D :

"

E
E

"

E
E

G
-

E
-

E
"

7
: GI
I
@@@ 9 9I
+
E 6

#
I

9
7

>

/9

9 E

G
%

&(

%
F
%*

9>

$
&( *
F
%

9>
K

$ "

%
%

'

4
9>

" 9
%

*
F
"

+
:
B

(% 'E

F
"

%
%

7
%

%
"

" 9

7 M
7

NE
6
0

9
/E

9
F

)"

2.2

% %

Modelos en MDA

Introduccin a los modelos


"
+ : :

/E
%

%*
0
9

F
+
%

%F %
"
E
M
N

"
/

%>

/
+ ,E
/E

9
F

>F
9

N
9

F
F
F>

:
F

F
9

>

(
0E
E

>

+
0

1
2

7 L
/ 0

EF
F

/E

76

tipoTarjetaCredito = {"VISA", "MasterCard", "American Express"}


tipoPago = {"Tarjeta de Credito", "Contra reembolso", "Transf erencia bancaria"}
estado = {"Pendiente", "Entregado", "Anulado"}

Cliente
clienteID : String
nombre : String
+cliente
nif : String
email : String
1
login : String
password : String

+pedidos
0..n

Pedido
pedidoID : String
fecha : Date
direccion : String
localidad : String
provincia : String
codigoPostal : Integer
tipoPago : String
tipoTarjetaCredito : String
numeroTarjetaCredito : Long
fechaCaducidad : Date
estado : String
/ total : Single

+pedido

LineaPedido
lineaPedidoID : String
unidades : Integer

+lineasPedido
1..n

0..n

calcularPrecioPedido() : Single

+animal
1
Categoria
categoriaID : String +categoria
nombre : String
descripcion : String 1

)"

"

+animales
0..n

Animal
animalID : String
nombre : String
descripcion : String
precio : Single
urlFoto : String

% %+ ,

PIM (Platform Independent Model)3


F

E
+
H

> 9
>

9>

G
+

H
E

"
3

9>
%

/J K
F
:

: L

-L
9

%
=

8 &2
-

E
/

'E

>

"
E

+
3

Cliente

Item

id
fecha

)"

Pedido

nombre
edad
1
dni

-L

! 2

nombre
cantidad
precio

1..n

"

% %

+ ,

PSM (Platform Specific Model)


2

>

9
-

>F
F

+ %

E
E
" 9 F

"

>

:
E

"
0

9 $
-L
- %

%
9

0 +
E

+ .! 2
G
:

D
+.

%
B
B

9
-

"
%
0 F
>

& "
UML & 9 '

&

"

( *

<<EJBEntity>>

&

!E

<<EJBEntity>>

:
:

H-

H-

" &

'

6 $ &1 / ( * 'E F
D

"
%

9
1 /: -

"

E
( * 1 /
" Perfiles

J)K

>

)"

& 2

% 4 %E

%
Generacin de puentes de comunicacin.

%*

%
E9

E9

G
%
F

%
%
:

:
9

E
"
Transformacin & 9 ('
%

-L
$

/
-

E:

9
" 9 F

+ %

:
F
%

%
" 9

"

7
+
"
/ 0 :
Herramientas de

Transformaciones de Modelos ( 9 3'E B


/

>

" E
9
+

>

Generacin de puentes de comunicacin. Ejemplo de desarrollo con


varios PSMs
+

9
9

9
F
% E
%

F
9

/
> F
%
%

F
+
%
E

" 9

7
%
" 9 + 9
7 L
1

6
9
4

1
& "
1

(%

E
-L

(
9

76

6
6
4

&

- >
%

8
*

& "7
:

*
8

(
$ 8
& "7 $

)"

2.3

0 2

% 4 %

Desarrollo tradicional vs. Desarrollo con MDA

>

&'

J ,K

7
/E

+
9

9
-

( &
:

/F

R
H

+.R

< -'
E

>

0
:

"

B >

>

Problemas del desarrollo tradicional


>
C
/
3
!
$
(
0

@
9

D
2
%

"
9

)"

% *<

: :

F :

9
@

/
-

+
E

" E
9

9
E

G
DT'

S
7

:
"
9

>

7
"

"

9
F

9
-

>E
G

9
H

- E
" 9 O+

& F
>F

9
FL

"
9

E
7

Q0
0 F

>

9>
9>
@
B
9 "

&

E N'E -

F
F

:
-

E
9> +
7

9
E

7
E

-9

>

--

F
E

-L =
B
E

"

9
$
:
@
:

F
+
"

F
-

"

@
E
E

= > -

B '

" 9
E
9
"

F
D

9
" 9

F
F

&

9>

"
F
&

/E

L
9

Beneficios del MDA


/

"

"

4
9

G%
$ +

/
&

F
>

%
%

E
" E

S
%

" E

7
9
%

>
7

%
B

:
" 9
-

'

E
M

:
D

F
N

"
>

>

G%
4
$G +
/E
%
/
L
:
%
G
$G0 %
EF

F
" EF

9
F

G
$G 2

"
9

%
" 0

"
E

"
: E
" 9 .
F
F
7
"
%
F
: :

:
9

%
=
E F
/9
2
"9 E
" EF

9> +
-L
:
/

9>E

%
%

-L

9
%

%
D

F
%

" 9 /
B
%

>E 9
% E

El nuevo proceso de desarrollo


/
"
0 F

6 %

F % %E
F % %G

%E

%7

% M

% MG
%

E9

9
%

+
F

9
F

"
-

E
:
F

-L
F
F

0
D
E
*

@
9

9
%

&

$E

"

%
%
F

"
'

$G
7

"
-

9
9

" 9
H

>

D
E M

F
" 9 9

E
9H

/E

H
E

%*

%
9

5
/ ;

%
F

:
@
" 9

/E

F
-

%
"

)"

E F
"
/ +

2.4

"
-

%
%
F

E-

Visin Alternativa de MDA


"

J K

9
/

EF
=7 %
@

"
" G
7
9> :

$
-

C
"

/E
9

>

!
-

:
@

# $

F
9

/
:

7
" 9

" +
9
"

9
3

2% F

% 0

%
9

:
:

9> 0
9

" 9

-L
"
-

:
9
>

"
9

' (%$

7
+

"

)"

>
:

>

3 Fundamentos de MDA
3.1

Metamodelado y MOF

B
B

FL

FL

Introduccin
+

/ >E

"

9
9
%

0
+

9
F

1 *

Las cuatro capas de modelado del OMG


+ 1 *

F
+

9>
"B
%

1 *

M
"

/F >
+ 9

-E

: -

E
>

7 L
6
6

!
<
&

)"

%%

3 7

-5

&
9
8 $ =* >

>

4%

H
@
E

EF

9 >

7 L
9

E
8 $ =*

?
76

8 &
/
6

76
=

6
?
Articulo
codigo : int
titulo : String
descripcion : String
precioAlquiler : float
diasAlquiler : int

Cliente
nombre : string
direccion : string
telefono : int

)"

%%

3 7

0
7

>

7
-

+
8

7 L
/
1 /

1 /6

1 /

UML Class
name : String

)"

+ ,3 7

>

E
0

> E
3E

UML Attribute
name : String

>

1 *E
1

9
E
E + ,%

F
B F

7 L
/ 9
1 /

)
3 +
E
*

+ /
+

)"

%$
>

+
3
*

MOF Attribute
name

MOF Class
name

%
1

0E
) +
F
9
5

)3 7

7 %

!E

1 *

3E

"F
F

>
F

)%

%. %
9

"

1 *
%

U
U

3U

2
/9
N
2
M2
M
- N
+
M

- VM
= V!5!, ()3
N
M =N
02 N
0
M 1 2 N
1

Importancia del Metamodelado en MDA


+

9 E
*
-9

"
-9W

/
F

%
F

H
"
E

0
%

E
9

" %

%*
$>
9
"E

"

>

)"

! =

7 %

MOF
/
1 *F
E
1

)
7
B

"
:

%
9

&./
E
-

"
"

*
%

9
0 &

% %G
%
1 /99

"
'

K
# $G
1 /99
*
:

:
9

0
%
7 "

1 /99

>
0

%G
-

E
0

>

1 /99&

99

%
B

"

%G

/
&

9"

F
-

%
1 /99

E 1 /99
+

*
-

1 *E
1
$

'5

4
E

"
0

%G

0 +

>

3
F
"

)"

= :

&

%7

3E

)>

>

? @

>

"

-L

"

&

F
-

*
-

"

%
%

? 0
5
' S F
-L ?
9
'

+
:

-L

@ % &@ /
>
E

1
-

1
-

7
-

3.2

&

/
9

Perfiles UML
E

6 $
+
-

6
+B

"

o
-

0 %
F
0

E
B
-

F
-

*
<<nombre-estereotipo>> 1

o 0
F
"

>

L
B
o

!
0E

F
L M-

9H
F
" 9

"
"

120

"
"

"

F
-

&

NE
"

'E

&V'E

&

0
F

'
" 9

>

)"

0 2

>

L
*1 / -

+ ,

"

>

>
E

"

9>

"

/
%

"

>-

"
B

"

/D

/D

7 "
" F
" 9

/D

21C./E
9>

>

3.3

E + . 2RRE

OCL

!
-

/
B

! &120'
-

"

E
/9

120

+ +
+B
/
J $K

4 %

EF
9>
*

"

9
9

5
-

"
9

120E B >

F
"

>

0
H

"

A E
-

F $

context Compaia inv:


self.numeroDeEmpleados > 50

+
9

"
:
"

" E F
-

context Persona::ganancias(d : Date) : Integer


post: result = 5000

+ H
"

&
9

$'

"
"

F
" &

'F

L
context Persona::getConyugeActual() : Persona
pre: self.estaCasado = true
body: self.matrimonios->select( m | m.finalizado = false ).conyuje

"

E 120

"

G
9 E
"

"
F

-L

B
E

9
0

B
"
120 =

"

120
-

E
9
1 *

P;6E

>

4 Transformaciones de Modelos
4.1

Definiciones de Transformacin
*

%*
%

"
9

"
9H J KE

1
%
" G

%*

%
" E M
6

7 % 3

9H

15

*
*
(%

'

N +

9
%

+
&

0E
- E

9
" E

'

E
6

-L
% E

7 %G
? (
(% 7

<<ComponentSegment>>

&
)

"
9

(%

%*

B
8 <

C $ A
$ >

%
%

>

& "

& "
B

(
=
6

% 3
F

15
-

%
%
%

"

>
%

7 G
(
6

0
%

0
%

"

& "7
(% D
*

"
"

*6 %
L

E
+

>
%

&
E
7
& "& $

9
7

$
B
F

$
E

>

!
%

- 9E

"
"

>

9
/>

E
F

9
> 9

" E
"

"

>

>

F
%
E F

FL

9
-

FL

"

%
-

0
FL

4.2

Caractersticas Deseables de las Transformaciones

9
J ,K

"
&'
-

F
B
/ +
%

/E

F
>
+
- F
-

>

>

E
%*

%>
0

E
E

#
-

%%
9

Ajustar las Transformaciones


+

- >
9

F
+

:
-

"
"

G
"

FL
FL

"
E

B- E
F

9 +
> G M3
FC

%
9

"

%G
" E
-

'

$G
-

>
>
D

<<persistent>>

7
%
L

%*

%*

"

E
E

M
-

N
H-

&
"

"
%
G <H,>

>
9

E
%

9
E

>

>

"
"
"

0
-

L
0
"

Trazabilidad
0
9

F
/E
F

9
9
-L

7-

>
>

%
%

9
0
7" 9
"

- F

-H F
7:

:
:

:
"

-L

H
"

"

0
%

" 9

Consistencia Incremental
=

EL

" 9
9

2
FL

B E

9 E

9 E

"
-

"
F

9H
7

"

-L

7
"
9

>

Bidireccionalidad
0

F
+
0
/ -

F
9

G
H

"

"
"
"
+

>

: : E

9
:

"
-

"
-

>

9
"

4.3

"
:

E "
9 E 9
9

Herramientas de Transformacin

= 9

/
"

@ AG
0

" 9E
"

>

F
"

"

"
E

" 9
-

0 9
:

/ /

L
"

" 9E

E
/ +
:

E9
:

EF

"

Herramientas de transformacin de PIM a PSM


%
:

:
0 :
&;L

%
:

%
F

+
B

:
La herramienta OptimalJE

F
9 3$'

Herramientas de transformacin de PSM a cdigo


+
%

/
" 9 %

&
9

"

"
&%

" 9' 0
" 9

"

7
+

"
-

'
2/ +

:
F

"

%
&%
" 9

F
F %
"

" 9E
" 9'

Herramientas de transformacin de PIM a cdigo


1
%

:
%

%
"

>

F
F
" 9 +
%
" 9E F
9
E
F

E
>
B

%
%

0 :
B > E

>

%
Herramienta ArcStylerE

9
9 $)'

La

" 9 &;L

Herramientas de transformacin ajustables


0
=

- >

9
:

9
,'E L

"

>
>

>
:
&;L

9
P;6

EF

0E
"

0 +
0

>

-L

-9

"

Herramientas de definicin de transformaciones


H

>

F
E

F
-

H
>

"
9

"

&P6;'
E
>F

Otras herramientas
0

:
/E

"
H

7"
4&'

J ,K

9
F

/E

" G
2
+
% &'E

$ "

7
&%

" E

) D

$ "

&

"

"

/ F

E
B
9

" 9
" 9
B 0

:
E

F
9

:
%

>

o /

9
E

o *

=7 %

:
" 9
F
:
7

% +

B F

:
B F

% 8

" 9 -

: F

9
+
F

"
:

>F
%*

2/ +

=7 %

B
E

% 0
B

" 9

?
2

%E

%*

%E

)"

0
H
:

>

9 )

:
0
2/ +

- E
2/ +
9

:
:

E
" 9
"

>

4.4

QVT

$7

&P;6'
1 +

F
9

EF
1 E

G
9
9
9

7
-

0 H

/E

"B
>

B
E -

P;6

2 34(

J )K

Consultas
2
120

9
J $K
4
4
4

2
0
=
+B
:

"

2 34(
>

"
-

G
7

9
120

Vistas
2 34(

F
"

"
=

E "

Transformaciones
0

J )K
/ 0

B
0

% 7 %

%*

%G
=

%G
- E

F
- 9

: F
6>

"
: F

>

)"

: 4

%*

1G
E

/
*

7 L
/
9

,
6

*
6

>7

8
8
* 6

3
*

)"

= 5$
< * 5

' +

2 34(
E

-L

9
$ 1 1

06

% 1
0

"
2

7 G
1 !

'

relation IncrementoSabiduria {
domain { (Persona)[nombre = n, edad = a, sabiduria = w1]
when a + 1 < 13 or a + 1 > 19 }
domain { (Persona)[nombre = n, edad = a + 1, sabiduria = w2] }
when { w2 > w1 }
}

>

7 '
?I

A >7

(Persona)[nombre = n, edad = a + 1, sabiduria = w2]

A
<
/

?+ $
'
8
!

>

5 Criterios para Evaluar Herramientas MDA


+

9
-

"

" (

:
F
:

"
-

"
:

- -

"
/E

J K

: ->

: ->
:

/
:

9>

E:
9

" E

D
/

"

"

&% '
0 :

F
F
F
9>

"
% 3

&%

:
7

'
9

6
F

"

%
H
M

% $

%
-L

9
" E
N
>

0 :

D
:

% !

"

"

"

:
% (

"

0 :

"
B
F

% )
% 5

>

9H
E

+B

: F
%

0 :
%
-

% ,

"

%
9
B

"

0 :

D
"

E %

" 9E
B

"

0 :

:
E 9
6 -L
M

" 9

%
-

E
%
-

>

33

%
%

6 7-

9
9

% 3

E
-

/E
" E
% !

7 "

0 :

/ %
7

0E
9

?
9
E

DE
9

B
B
1
"

E
E

7
E

% $

" 9 %
E

E
-

% (

" 9 9

" 9
F

9% )

" 9

" E
:

/G
:

9H

" 9E
9 E

:
-

:
"

EB

7 $

>
3
!

5.1

.
+B

Caso de Estudio. Tienda de animales (Pet Store)

:
"

3
>

>

(
++ J ,KE
9>

"
:

F
%
L
7

- >
/

< 9

E
< -

9
"

G
9 I

"

:
F
"

B
>
>
F

>

/
2
C
2

3!

"
-

9 >

7 "
7

E
E

"

F
9G

>
L

0
'

9 > &
E9
>
-L

"

"

tipoTarjetaCredito = {"VISA", "MasterCard", "American Express"}


tipoPago = {"Tarjeta de Credito", "Contra reembolso", "Transf erencia bancaria"}
estado = {"Pendiente", "Entregado", "Anulado"}

Cliente
clienteID : String
nombre : String
+cliente
nif : String
email : String
1
login : String
password : String

+pedidos
0..n

Pedido
pedidoID : String
fecha : Date
direccion : String
localidad : String
provincia : String
codigoPostal : Integer
tipoPago : String
tipoTarjetaCredito : String
numeroTarjetaCredito : Long
fechaCaducidad : Date
estado : String
/ total : Single

+pedido

+lineasPedido
1..n

LineaPedido
lineaPedidoID : String
unidades : Integer
0..n

calcularPrecioPedido() : Single

+animal
1
Categoria
categoriaID : String +categoria
nombre : String
descripcion : String 1

)"

>

"

%%

0..n

" F F
"

% %

+animales

FL 9
/E
-

Animal
animalID : String
nombre : String
descripcion : String
precio : Single
urlFoto : String

9
D

"
" 9

>

3$

6 La herramienta OptimalJ
0

&%
:

7 7
'E
7

/F

&

% 8 22
++
/

"
7 "
( *
&
" 3

6.1

'
F

:
8

&

,
7/

'
-

-L

"

3
"

E >F
" 3

"

Arquitectura de OptimalJ

Introduccin
1
1 E

0E ?

@ A
/:
E ? 0E < 0E
++

9>

&
F

'G

"

$ &

'G
& ++' 2

9>

"
o

'G " 9

$ " 3

" E9

"
/

E1

"
o

G
". &3 5

%
&%

+F

"

'
7
" &%

$ &%
'
" 9

'G
" &%

'
'G

>

3(

+
I

"

G
&

%
F

'G
E

$ &

"

$ " &

'G

" 9E
9
-

'G

J K

F
1

)"

7 %

+B

8>

?0@

"

"B

Modelo del Dominio (Domain Model)


+ 1
+
% %

&
7
4

'
G

%
7

%
% %3
+

"

% %
"
"

"

0 +

>

/F >
1

3)

E(

)"

4
+

%3

% %

"
+
&

) !

&
&

" 9

3
'E
"

H
+
>E
- '

"

"

'

)"

>

35

+ .E
B-

"

:
%

&

%
9

7
-

'

F
B

"
%

"

-L
2

9
" E

+
&#

"

"

'

0
&(

:
"

L
"

+
#

F
"

)"

%%

>E

H
0

7
E-

>F

7
E

"
9
!
"
9
!

' %

E
H

>

3,

Modelo de Aplicacin (Application Model)


7

E1
$ &

7
:
".

++ +

"

"

$E

9
'E

B"

G
%

C%

"B

)"

&

$ 3A

+
" E 9H

8
:

$ 3A

5
"
++ G

: G
5
:

< @-

G
G

"
7
8 : G

5
L

"

"

:
H

F>
"

++ %
++ J !K

>

!
8 :

"

"
%
&

" 9
$

??

'
% F
< -

E 2
-L

" 9 6
&#

"

="

'
F
9

< &+ .'

"
B"

328C5

&

"

E
"
9
&

+.
$

' +
E -$

/ F
-H F

"
+.

)"

&+ .' J)K


9
E

E
5
9> + . J)K

9>
+.9
L
9

B"

328C5

E
E
E

&

"

'

< -

>

(
%

9
+.

+.
6

E
-H F

&

9
E F

-L

F
9
&
calcularPrecioPedido()'
findByCliente()E findByFechas()'

C%

0
++ 0

B
:

%
E

"

"

C%

". +

- E

)"

C%

Modelo de Cdigo (Code Model)


79

"

E1
/

%
+ " 9
9
9
"

"

$ " :

$
"9

&+ .'E -

" &< -'


7 +

E
"
E :

9
9

>

!
9

+ .E

" 9

6
F

E
.
-L

1
++ + " 9 9
" E " 9

" 9 9

< -

1
" 9 9

? 0E

P0

6 %7
E1
D
9
E
" 9

% +

"

6 %
" 9 9

%
2

"
E

"

7 L
&

B
E
- F

5
*5

calcularPrecioPedido()

8
8

<

=
!

>7

*
$

6
7
7

=
5

"

)"

6 %

%3

6 %7

"

%3 # 5

>

!3

-L

" 9
7

" 9 9
9
"

Implementacin del modelo de EJB


0

+. 9

+.
6

+. 1
+ .G

E
-

& "G

+.

& "

5 G
& "
& " -$
G
& "-$

+.
& "
"

& "&
G
H
& "
8G
-

& "

4
D

F
9

J$

F
9

G
+. %

>
6

+
%
7

+.
-L
" & % 'E

&
' +

"

++
%
"

%7

"

E 1
28C

-L

Implementacin del Modelo de Base de Datos


+

"
-

F
9

1
I

"
P0

.
1
P0E F
.2 &

-L

, %

P0

9
-

E1

$'

0 :

-L 9
9

1
+.

:
++

-L

& /C'E

++

! & /1'
9
- 9E + .

>

" E

!!
7

)"

%
1

7 "
-

' C

"%
-

%7

41,

"

:
% %

% )
:

"

E F

Implementacin del Modelo de Presentacin


0

"

"

"

9
"

0
1
%

"

%
" E
@ -86 0
#
E
9
.1CC/C
1
2/C

" &< -'


< - %
%

9
&+ .'
+. B
+

E
7

+. 2
+ .E
-

< 0++CE 2C+/CE


"
" 9

>

1
7 D J KE ;2
7
" %
D
-L
< -&:
%

!$
"
4;

F
"9
B
-

E
%
9

'

9 " < --

:
$

"
:

" F
F
= -

"

< -

)"

4
DE

:
:
- F

- 2

E
F

"
%

< -E

-L

F
"
9

< -E
+
7
H
&

&

- EF

G
2
:

*
< J)
& ;2' 0
F
H
%E 2
"
"

42

9
-

% 9

1
"

- F

*D

84 % "

8
-L

86 0
Y
< -

7 %

>

-L
+.

!(
%

EF
-

84 %

"

6.2

Construccin de la Aplicacin Pet Store con OptimalJ

" 0

9 E

" &%
9

9
7

" G

< -E

+ .E
-

" 9

E " E

" E

" 9
E :

H E

:
7

"

"
9

*
+

9
"
-H F

"

Z %

'E F

9
%
%
%

+
Z

E%6
E -H F

9 >E
7@ -9

E -H F
: E -H F
E

9L
*
-

%E
%
=E
% "
%

%
E

%
9

F"

E : F

-L
F

" G7 %%<

%
%6

E
E
%

" $

E
" @:

"
:

&#
' F
9 3 E
-H F
=

1
"

+ .(

F
"
" 9 9

+
-

"

" 9
-9
-

E
-

>

)"

6.3

%%

!)

E%6

28C

Interfaz de la aplicacin generada

+
1

0 :
" G3 /

" E9

9 "
*
.

< -E
E

9 "
< -E

E
"B

Comprobacin de seguridad
0

" E
- "

"

"

% G

9
"

"

@
4

3 E
+

-L
"

)"

% "

>

!5

Pgina principal de la aplicacin


6

" E

)"

33

F"

9
" EF

"

+.

Mantenimiento de Animal
/

-H F

)"

! CE%6

B
1
1

G 9
G
)
)
"

9
9

3!

G
"

"
" .G 9
G
9

-H F
-H F

9 >
-

>

[\Y :

!,

>

F
- " &'

>
[\Y

% E
9 3$

)"

/
9 3(

9
>%
E

[NY
-9

-9
*

"

& ,%

[#Y
E

0"9

E
H

>

)"

E
E

:
* D
E

7 %
6

- "

-L

9 >

"
0
9
-H F
E
+ .E
F
> [\Y &
>

)"

E
L

9 CE%6

Mantenimiento de Categora

3)E

-H F
' [#Y &

%7

+.;
>

"

7 $

'

>

"
9
>

-H F

9 >

- " &'
9 >E
9 > &:
9

)"

0
3,

>
9 >

9 >E
9 >
%@' +
9

?(

: ,%

"

"
35

" .%

9 >

)"

% H
E
&1
)

'

9
" .'

" .

-H F

-H F

I
3)

"

Mantenimiento de Cliente
+
" E
- E

"
&1

-H F
)

:
'

/
D

>
-H F

>

9 !
9 !

)"

"

!-

)"

9
9
9

!
7

"

" E

,%

-L
E

>

)"

$3

Mantenimiento de Pedido
+

9
>F

F
F>

"

*5

!3
:

F
&

5
E

% H
/

/F >

EF

"

3 ! '
-

>
9

- "

!!
F

E
>

F
%

E
%

- "

>

)"

)"

6.4

$!

!!

Evaluacin de OptimalJ

:
1
9H
Criterios para Evaluar Herramientas MDAE & 9 3 ' 0
9
" G

B
9

>

$$

%
1
%

% 3

3
&.
B- E
" E
+
9

E + . < -' +
< 9

"

% E
& ++' /
% !

"

D
0

%
9

%
-

+.
>E

:
-

>
E

>/

"
< -E

21C./
:

% $
% (

>?

( *
*

&

"
- 9E

% )

M
" N
&

5
0 :

%
%

EF
"

+
-

% 5

9
.

+B

"

" 9
%
2

"

" &< -'E


B

->

E
-

B7

"
% ,

"
" 9
&
%

!
9

"

9
2

0 :
9
"
" 9 /

B
E

%
E

%
" 9E

9
+ 9
%
: :
-

6
4

"
7

"
5

/
6

" 9

%
%

E
"

6 7-

1
%

F
9

+.
%

"

" 9

% 3

>

$(
9
0 :
E -E

9 E

DE

7 "

/
0
IB

% $

9
>?

/ F

/
1

2
9

" 9

+ " 9 9
9-

%
D F

:
-

" 9 =

" 9
" 9
-

" 9
/

"

"

F
E1
+

-L
&6

9
% )

-L

%
% (

" E

=
9

% !

" E

'

+ .& .
7

'
-

&
I %

.'E

>

$)

7 La Herramienta ArcStyler
$

! J K
@

"B
"

/E

E
7

(
"

9H

"

7.1

Arquitectura de ArcStyler

$
)*

,
7,
-7

Introduccin
/

"
-

:
" 9
4
F
" E

E
9 E

>

0
F
"

" 9

9
:

M
-L

"

4
>

"
F

B
++E + .E =+6E

4
< -E

/
-L
H
%
/

@
9
9

*
E

/42
&
'
-L

/% 24 1
' 0
9 !$

&

0
"

E
/

/
9

/
9

:
:
:
:
B
F

9
>
/CI+/C
9 L
-

E
0
F
0
1 F

>

$5

/=6

"

)"

!&

%7

F
/
J 5K
E

>

? @

D
9>
E

&'
E

" 9E

MDA en ArcStyler
+

"

+ ,
2

E+ ,

/ /
!E
H
9
:

"

!(

: /

:
9

0 :
0E

0
"

:
:

/
+

"
:

"

E
"

AE
E

? 0

>

)"

$,

!0 /

* %
/

( *
B

B
9

Perfiles UML
/ +

1 /
F
*

0G

+
6

)"

!9

* %

>

>

E F
& 9

9
-

'

*
0 0
9

F
E

!)

F
*

>
/

+ .E /

"

>
) O
/

0E ?

MOF & 9 5'E O

1 F
? 0

"
/

8
+
& 2%'

9
"

$(

9 "

"

"

"
/

B"

> 9
:

+
E

F
+

/
9

H
F
"
E
/

F
9
H
F D
7
-L -

Marcas MDA
%

9
F

E
+

7
+

E O "
:
9
F

"

>

Q 0
" H F
' +

4
"

F
&
>

>

2
M

N
E

+
E:

!5

/42
+.

9
9

4
4

"

G
3$ G
/
%

&

&

$'

9
G

/42
G

>
/F >
;
"
-

&

(E " (

'
&

'

)"

: :
- 9E
0

!:

F " 7

"

E
0

E
D

E
"

0 & 3E

E/
4

>

F
+

%
2

"

!E

"

0
F

'E

>

(
0

"

" G

6
+
;

H
>

F
F
%*
$
%
Transformacin & 9 3' /
"
&
$
'
J K

" 9

Definiciones de
F
&

%F
7
'

"
-

Funciones de transformacin de modelos


0 *
" 9

$ F
H

%*

"

9 E
"
E
:

9
"9
:

>
E

E
" 9
E
:

"

B F

"
? 0 0

E
E

>
9

4
"

"

"

: NE "

9" 9

"

1
" E

%
"

"

"

"

9
- >

9H
9
9
:
9
< -& % E 86 0'E

:
: >

"
>

F
FL

"

MDA-Cartridges
%
"
/

1
%

7
"

F
E

B
F
7

"

0
9

4
F

>

(3

"
#

"
9
+.

F
:

"

+.

F
G 35

"

53

"

"
9

2/C/6
+

9
-

/42

/
- E/

)"

!' 8

6.

!,
2

"%

" E /
4

4
9

9
:

/
0
/
21C./E =+6E + .

E
E

"

%
-

M: N
" F

9
4

4
F

%
-L

4
;
:

4
B

9
%

!,
E

7
+.

>

(!

J (K

F>

Framework Accessor
+

@ A

/
"

/
"

" E
9

"

9>
(

" 9E

+
%

E
0 +
9

& ;2' +
"
;2 +
-

F
7 B

"

9
"9

9
"B

;2E

E F

>
-

0E
-

4
E
9

D
/ % =+6 0

7
E

;2 C

6
F

:
:

/
9

$
7
-

7
9>

< - +

0E

L
$ A
%E

9</C F

"
F

"
0
%

+
B

% + ,
9
+
9
0G
4
) G
F

.
)

"
9

2
B

9
&

7
'

:
G

9
"

>

&

>

)"

&- /

($

7 7

% %7

$ E

F
9

9
E

K
EF
K

+
$

)"

&

"

9- E
F

- 2
7

0
- " E
"

|RE|::vistaLogin::root::nuevoUsuario

7E
%

:
E

>

((

- "
9
6

-L

$ E

7
EF
1

"
9

79
" 9
%
E
" |RE|::vistaNuevoUsuario::root::aceptar
7

D
9

)"

@ A
$

F
B-

7.2

& =7 %

%%

"
E
E 9

Construccin de la aplicacin Pet Store con ArcStyler

B
" (

/
9

9
+

"

9
E

9
4

9>

" 9

"
H

" E

"
E

"
/

J !K

Modelo EJB
%

9
+ ."
"

+.
:
9

(
L?&A 4,:'E
!,

E:

"
"

E
<<ComponentSegment>>

"

&

'

2
H

"

+.

"

+.
7:
E

"

+.

"
0E

4
/42

0
9

>

7
7G
7G

&
&

"
&"
'

'
'

&
"

2
-$

()

'
.
-

+.

& -9
'
9 & -9
4

)"

&

9
9 $3

<<ComponentSegment>>

< 05
&+ .

I E

+
:

F
9

&!

9 :
/

+ .E
/
&
F

'

)"

'

%7

:
" E E
- E

: E

E
M

'
N

>

7 G
/ 0

(5

MH

& "??N) ,
4
6
(
*(

6
7
%
F /
+ .E &

'

"

)"

&&

%7

9
E/ : /
9

" 9
:
:

/=6
-

BE

? 0

)"

&0 , D

$$
"

9
2
"

'

+.

+ .E
/

$- $

9
&

&

>

:
:

/=6

(,
9
E

/
" 9 9

E
E

< -0 9

- +

E
$(

Modelo de Base de Datos


/

F
E
F
+ . &<0 5'

E
>

B
+. +
B

+ .E

+. %

%
-

- 9E

< 05E

7
-

$)

)"

%
&

E
+.

"

O2"

B >

K
H

&9

%7

'
&
& 1 6 'E

)"

&:

7 %%

% %

3$ 'E

&
9

%7

#K '

$5

7 %%

>

Modelo Web
0
< :
+
Framework Accessor
F
%

"

:
@ A

4
9 (!'

7
&;L
< -E 9
3

< -:

"
%

"

E
B
+

F E

E
L

$,

)"

&'

"

% %7

"

% %

"

"

E
-

>

>
9

9>

@ A

"

E
&/

G
'

7 "

&

F :

" G
/

9
(

G
7

" E

9
0
(

9
9

'

:>

>

"

/
3

)
Interfaz de la aplicacin generada & 9

EF

) '

)"

7.3

0-

"

Interfaz de la aplicacin generada

79

"

Acceso del usuario al sistema


/
7
M

" E
- E :
C

B
/

%
-

D M

)"
3

%%
9

>

-L

+
9

*
%

9
F :
*

)"

- "
9 (
" E

0 = "%

- "

Pgina Principal de la Aplicacin


7

DE

"

9 >
9 >
9 >

(3 +

- "

- "

)"

"

"

F"

>

)3

7F

" E
9

C9
;
;

7
9
" &- " %
&- "
(
'

7
&- "

G
'
'

Consulta de Animales
7
9 >E

9 >E
9 (!
- E

E
2
D
9

- "

%
" E

"
E

>

- "

"

)"

0! , %

" .

Carro de la compra
2

7F
D
E
&- " [4['

E
9
&

- "

($

E
3

F>
&- " &

'
9

&- " [O.'


'

>

)!

- "

)"

0&

Confirmacin de Pedido
/

- "

*
"

"

)"

%
:
9

E
9

- "
9
E

((E
9

00

9
2
F

)"

09 = "%

- " %
- "
(

()E
9

F
9
9

>

)$

Consulta de Pedidos
- "
9

()

(3

7F
0

(5

9
- "

&

>

/= 0/ 1'

)"

-L

"

0'

Evaluacin de ArcStyler
"
:
$
9H
Criterios para Evaluar Herramientas MDA
$
%

%
/

%
9

(,

7
%

)"

7.4

%7

>
- "

0:

/
+

0
9

=1
%

%
E

B >

>

)(
9

% 3

" 9

0 :
&

E + .E
< -E 21C./E
2/C/6 &
4
E
0 :
F
H
E
< -/
+ .E
9
F
"
- 9E
" 9 M 9
N
F
9 "
/
-L
B
>
?
0
"
/42
9
B
B
+
/42
9
=+6E
53

% !

"

% $
% (

!
!

"

' /
'E

E9
-

"
F
% )

+B
2/C/6E
:

/42
9
0
F :
+ . < -/
E
9
9
"
" 9E

>
F

% 5

+B

% ,

0
B

&+ . < -/
E

'

< -/

&+ .
0 4

'
7
"

"

+.
%

3
9

"

/
+
F
=

9
" 9
9

0 :

9
+ .E 9
J (K = E

6 7-

&

% !

7 "

"

%'
/

9 L
@ A
7

F
E
-

"
9

% 3

" 9
" 9

"
9

"
E

E
9
" 9
0 :
9 E
DE
-E
"
&
.
'E F
/
6 -L
F
E
F
:
/

"
:

- 9E
" 9
G

9
:

%
+ B
9
9

>

))
/G

E?

1
1

7
% $

0
" E
9

% (

2
9

" 9

B-

+ " 9 9

:
-

>
" 9E
-

9- / F

:
"

" 9 B
% )

E/
:

&3

'

K3

E
I %
9
E >
:
+.

E
:
/
:
.
" &" :
&(
" ':

+
9
+
'
F
>

E
:

>

)5

8 OptimaJ frente a ArcStyler. Estudio comparativo


6

:
"

B >

$ E 9
Herramientas MDA & 9 3 '
F
- :
%

/
9

E
:

8.1

"
Criterios para Evaluar
F

F
%

Aspectos MDA

Soporte para PIMs (P01)


6
-

+
&

1
"

E %
' +
- >

"

"
&

%
$'E F

F
G
-

)"

9-

% %3 7

85

>

),

-L

%
" E
+

"
7
*
*
8
de Transformacin & 9
(
<<ComponentSegment>>E F
"
%

/
E

)
L

E
%

9
%

F
F

9 )
;

F
+.

/
E

-H F
E
% E
+. = E

- >

B >

:
%

L
-H F

* "$0 5 <> +
+
L
-H F
+ .F
- >

/
" % >
" = E

F
E

:
F
F
-L

<<find>>

:
%

F
F

F
: E

+.

2
%

Definiciones
%

E
H

+ .E

)"

0
E

8
+
3' 0
/
:
F

>E
E
F "
%

F
E

>+

%
9

>

Soporte para PSMs (P02)


+

>
"
9

1
F

9
H
4 %
4 %
4 %

% %

E9

+.
9> < - %I
B

B%
F

>
-H F
< -

5
F

%
9

+ .E
-

4 %
9

E
%

%
7.

% +

%
" 9

E/
"
E

9
5

" 9

2
L

>
G

/ F

/
%

)"

/
" 9E

+ .'

&
-

-H F
%

F
>

Permitir varias implementaciones (P03)


%

/
+

"
E B

/
1

9
< -'E
7
*
8 22 ]
1
0 H
+ .E
9
< :
E D
:
:

%
>
"
F

&
9

H
"

+ .E
"
"
< -

9
B

21C./

F
-

>

>

1 E
< -E
'E

/ :6

=+6E
-

%I

'

&+ .E
&2/C
B

4
F

:
E
9

E B

>

4
/

/
9>

:
&%

B
!
D

'E
"
EF :

"

Integracin de modelos (P04)


2

:
E

: E1
++

+.
9 "

G
F

< 0 :
< 7< H
-

F
+.

- 9E

%
H

9
+ .E

+.
"

+.
E

"

- E

F M

7 N "

9
7 9

9
E

F
-

4
:

"
& "

9H

" 9
" 9 M 9

N
&

4
9

1
< F
7
9

D
+ .E

/
+.
E

' +
"

G
*

B
7G
7G

F 9

" 9
+.

E
E

7 -H F

+.

7%

" 9

>

5
K

G
getVistaNuevoUsuarioRepresenter().getRoot().SetDni(nuevoValor);

+ " 9 M 9
L
1

N
7G
7

>
E

7E M
+ .E

" 9
7

F
-

+.
N

>
"

Interoperabilidad (P05)
C

:
>

F
?

/ - :
>

Acceso a la definicin de las transformaciones (P06)


2

"
*
&
%
&
" ' %

6
%

1
EF
-

1
E

9>'
E

>

D
" G3 /

< F

"
" F
" 9 &
9 "

9
"

"
F

" E
M

"

F
D
"

F
F
- N

"

H
/

9
B
E 2/C/6
>
/
-L

2/C/6

B
F

9
E

>
7

>

" E 9
2
>

"

E
F

9
9
+

8 ->
F

Verificador de modelos (P07)


%

"
&%

'

" 9
9

E
" F

>

9
9

F
"

53
"

" 9

"

"

%
E

E
J!K %
9

:
+.

7E

G
+.

"

&
"
+.

9
-H F

5
-

+.
"

ejbRemove()

+.

ejbRemove()

-L
E

2 &:
F

"

9H
E

F
:/ L' E
-

"

"

"

" 9E
%

F
E
< -/

9
"

" 9

>

"
F

Expresividad de los modelos (P08)


+

F
E

B
"

B-

F
0
:
B

F
1
9

E
)3

9
9

E
< < M

OP L
7

9 " 9
$ 0 :

< < +

.
+. =
9 " < -E

N
1

Q0

7
9 "

>

5!

< - !E
7F
< F

" G3 /
E
" 9

)"

:
E

F
/ F
9

E
9 " 9
9

3 7

5
> H

85

&
E

F :
F

9 "
2
9

" E
F

E
" E

9 " < -E
& :

" 9
9

> 9

>
D

9H
F

E
9 "

:
< -E
+

E
:

B
7

+
9

*
' /

/G

B" E

F L
%E < -

E
< -

9
%

)!
9 9

"

>

5$

@ A
>E

E
7

)"

9!

"

2%

%7

Modelo Web & 9 ) '


% %
%
" +
B
+
9>
9

2
9>
9
F

>

@ A

E
"

Uso de patrones (P09)


/
D

- >

"

"

" 9E

7
-

7
9H
7

"

" E
7

E
E

%
7

"

&%

".
'E

&%
7

'
$

>

5(

" 9

"
/

++

" 9E
" 9 9
1

$ "E
* J K
" 0
" E

&+ .'

"

%
0
F

" "
" &< -'

0P

"
:

B-

& 9 35'
9

)$

)"

9&

8>

1
D F

F
" 9

5
&
E B
La ventaja principal

E F
9

F
F

+ .E

?0@

"

J (E )K

E
"

+.

Soporte para la regeneracin de modelos (P10)


1

%
E9

"

E
%

%
9

"
"

" 9E

F
9

- F
- F
:
9

7
F

9
-

6 %
9
1

/
%
E

" 9
" 9E
6 %7
" % 6
9
+
- F
-

F
9 )(
9

>

%
9

5)

>F

&% ' "


1
9
F
" 9E " F
F
1
F %7
" % +
B
" 9 9
9
9
+
9 ))
/
E
:

"

" 9
7
7
- F
F>
9
9
:
9

F
"

)"

90 C 6 %

6 %7

"

Transformaciones intra-modelo (P11)


1

7
7

%
9
E
7
+. < -= E:
7
%

-L
F

+ /

4
%
>

H
9 L
E

"

4
+
J (K +

@ A
E

7F

9
" E F
>

9
- 9
9
B

>

55

)"

99 I

%7

"

Trazabilidad (P12)
2
:

NF :
"

9
" 9

H E
%

9
-

" 9 & :
9 &

%
" 9E
'

F
&

)"

9:

"

"
9
E
'

"

9
E
- E
'
E ' 0
9

)5

+.

28C 3 7

/
9

- E

"

*
% &
-

7=

9
:

F
E

85

" 9

>

5,

),

" E

)"

9'

"

%3

Ciclo de vida (P13)


1
7
9
/

DE

-L
" E
F
B
/
" 9 B
:

:
/

"
"

%
-

" E

E B
= -

" 9

F
1

" E

9
/ F
9
E 9 F
%

/G

9
1

C
?

7
& L

-L
9( '

Control y refinamiento de las transformaciones (P15)


+

1
"

E F

"

E9
:

Estandarizacin (P14)

"

-E

>

&

5'

"

B
>

&

$'E

- &

)"

+ /

" E

F
&

9 5
' +

F
&$ '

'

:-

7 7

- 9E > B
E9

- E

3 7

85

%
" E

L
9> + .

9
"
" 3$ G
/
%

6
+ .E

&

(
F

&

9
G

$'

-L

&2 %E . %
/42

9'

&

'
+
:

9
9

" E

9 F

F
*
8
Definiciones de Transformacin & 9 3' /
*
8
*
8
1
E
- 9E
7
B

9
*

F
" 9
8

Calidad del cdigo generado (P16)


/ -

9
>

" 9
B

=
1

>

" 9 F

9-

". 28C 3

)"

% 7

Herramientas de soporte (P17)


2

E1
&3

%I

/
F

&
' =

+.
/
>E

" 9E
'

E
9

E
+.& "

"'E

" 9
:
:
/

EF :
/=6

E
/
F

F
6
-

>

8.2

Otros aspectos

/
F

9
-L

/E B
:

"B

Rendimiento y estabilidad
6

/
F

9
7
:
87

"
%

6 %
:
.

E
-

%
-

C/
-

$
+
F

/
E

C/
-

G
0 :

/ &1

+.

'

+.

"
%I
%
/
F /
%

-L

/
E

:
" 9

+
9
F

"
E

9
%

"

:
F 9
"

E
9

+.+
%

"

Facilidad de uso
9

>

F
E

=
7
%

"
%

"

1
H

&#
"

>
-

:
>

E1

'E F
+

E
9>
9 5

>

1
&

1
+
" E

,3

F
"

:
" E
%

7
9

"

"

F
-

7
-

7
>

)"

+
:

%%

>

28C

:
/=6

:
7

3 7

7
H
@ A F
" 9

E
F

" 9

E
E

" 9

"

"
'

85

-L
E

E
@ A

@ A

/
F
I

F
-

EF

< -G
9
" 9

%
E

< -E

1
9
%

&

'E

9 F
-

F
7

7 $
"

E
%

1
0

F
B

Documentacin
/

:
9>

E 1
B

"
"

>

,!

EF
F

-L

%
.
-

% &

E
9

#
< -E

< -

"

:
7
D>' F

E
4

"

"

E
9
+.

E
6

7
-L

/ F

9
7

E
7

%$

7
:
:

E>

E
-

>

N +

>

,$

9 Conclusiones y Trabajo Futuro


/
@ A +
-

" 9

E 9
- 9E
"

4
-

8
E

F
9
:

E
9

F
E

F 1
E
F 1
%
%
F /
" 9
F B
/
>
E/
E
D
:
D

4
1

++
" 9
>
-

E
"

=
/E

+ /
%

F
B
F%

@ A
F
E
E
4

7
:

9
B
B

/
"

E
D

++E
9
9
F
-

%
"
>
9>

B9

>F
6
1

" E9
"

F D
+
E
E

B
>
/

:
E

>

:
:
, \
" 9
" 9 F

" E
F
E
"

E
+

"

"
"

+
/

NE :

/
F

/ M
B-

9
E /

"
6 %
F

+
:

%
:

&

'

"

>

,(

< J

@ A
/

/
%

1(

>

+ , /G

B
+

"

*
9
9

"
"

7
"

"

>

,)

Bibliografa
.

%E

.
C

:E * E / . @ E
@

- 9:E

E1

+,

E1

+ ,93

2
@ E
5
http://javacentral.compuware.com/demos/mda.html
:
*

A E

+,

E0*E0^ S _
7
),
E
E

!E http://javacentral.compuware.com/

!E

` :

E&

"

&

3E <

E0
/ ;
E1 %
8
( * 1 /
!
http://www.lcc.uma.es/~av/Publicaciones/04/UMLProfiles-Novatica04.pdf
*

E+E

,,!E /

8 - E CE
5
http://convergentarchitecture.com

3
!

1-

H,I,

1-

1E
H,
3

1-

1-

1$

$
H,

1-

E
H,

5
$
,

E/E

<

E<

% - : 9

! http://www.arcstyler.com/

0
$

L?*

4<

$
1

*
*

H,
*

H,

* "& :

3
$

3
< .

H,

&'

&'

3E /

4<

>

` 9a 2
&

&

1(

1-

E 1 /) ,

%
E
3 5

! 0

<
$<

>

0>

3 5

9
2

E8

0(

P;64%
3
*

( *

?,?

1?H

E
3

9 0

,5

&

0) ,2

$N

# N

E CE

E1 *

=
E
(
!
http://java.sun.com/developer/releases/petstore/
=
?H
6:

R )(

2
5

&

&

3
@

*
<

>

)&& 1

Vous aimerez peut-être aussi