Post on 06-Jul-2018
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
1/80
Universidad de Oriente
Núcleo Nueva Esparta
Escuela de Hotelería y Turismo
Programa de Licenciatura en Informática
eminario !"#$%%&'(
COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR
MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJETOS
MULTIMEDIA HIPERMEDIALES (MOOMH)
)utor*
+r El,uri )costa- .e/a0el arait
1I* &234%#322%
)sesor* Prof3 5ladys +enigni
5uatamare- .ulio "$$2
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
2/80
Introdu!"n
El avance de las nuevas tecnologías- la diversidad de plataformas de
e6plotaci7n de los sistemas y los continuos cam0ios de modelos de negocio ytecnología 8ue e6isten en la actualidad- nos e6igen separar al má6imo posi0le- la
especificaci7n funcional- de la especificaci7n de la implementaci7n de dic9a
funcionalidad para una plataforma específica3 La ar8uitectura dirigida por modelos
!:;)( surgi7 como respuesta a esta pro0lemática3 :;) propone un desarrollo
donde la especificaci7n de la implementaci7n se reali/a en forma incremental3
Partiendo de un modelo completamente a0straído de la computaci7n 9asta o0tener el
c7digo de nuestro sistema para la plataforma elegida3En los últimos aare- de0ido a la facilidad 8ue ofrece un 0uen
diseare? de allí la 0ase fundamental de esta investigaci7n la cual
concentra dentro del 1apítulo I un estudio e69austivo de la )r8uitectura ;irigida por
:odelos !:;)(- el 1apítulo II se desarrolla a una nueva metodología utili/ada en
período de evaluaci7n por los estudiantes de la Licenciatura en Informática de la
Universidad de Oriente del Núcleo Nueva Esparta denominada :etodología
Orientada a O0,etos :ultimedia Hipermedial !:OO:H( y por último el 1apítulo III
se reali/a una comparaci7n entre :;) y :OO:H para destacar diferencias-
inconvenientes- 0eneficios y seme,an/as 8ue e6istan entre am0as nuevas
metodologías del campo de la Ingeniería del oft>are3
e espera 8ue las nuevas metodologías 8ue se le presentan en las pr76imas
líneas puedan ampliar su conocimiento so0re la Ingeniería del oft>are y de acuerdo
a sus críticas esco,a la más acorde a sus necesidades o en su defecto del usuario3
"
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
3/80
CAPÍTULO I
ARQUITECTURA DIRIGIDA POR MODELOS(MDA)
Con#$to% B&%!o% %o'r# MDA
;e cara a entender :;) a trav=s de sus características- su funcionamiento y
aplicaci7n al proceso de desarrollo- revisaremos los conceptos 0ásicos de :;) y su
forma de uso3
Sistema
Los conceptos de :;) se definen centrados en la e6istencia o planteamiento
de un sistema- 8ue puede contener un simple sistema informático- o com0inaciones
de componentes en diferentes sistemas informáticos- o diferentes sistemas en
diferentes organi/aciones- etc3
Por tanto- de acuerdo a @alter Arit/ !"$$4( un sistema es un con,unto de
elementos organi/ados 8ue interactúan entre sí y con su am0iente- para lograr
o0,etivos comunes- operando so0re informaci7n- so0re energía o materia u
organismos para producir como salida informaci7n o energía o materia u organismos3
Un sistema aislado no intercam0ia ni materia ni energía con el medio am0iente
Modelo
Un modelo de un sistema es una descripci7n o una especificaci7n de ese
sistema y su entorno para desempe
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
4/80
Dirigido por modelos
:;) es un acercamiento al desarrollo de sistemas- 8ue potencia el uso de
modelos en el desarrollo3 e dice 8ue :;) es dirigido por modelos por8ue usa los
modelos para dirigir el ám0ito del desarrollo- el diseareCIntensive ystems IEEE tandard &'2&C"$$$- una vista es una
representaci7n del sistema desde un determinado punto de vista3
Plataforma
Una plataforma es un con,unto de su0sistemas y tecnologías 8ue aportan uncon,unto co9erente de funcionalidades a trav=s de interfaces y determinados patrones
de uso- 8ue cual8uier aplicaci7n 8ue se construya para esa plataforma puede usar sin
'
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
5/80
preocuparse por los detalles de la implementaci7n o como se lleva a ca0o la misma
dentro de la plataforma3 1orredera !op3 cit3(3
Aplicación
En :;) se define el t=rmino aplicaci7n como una funcionalidad 8ue tiene
8ue ser desarrollada3 Por tanto podemos definir un sistema en t=rminos de la
implementaci7n de una o más aplicaciones- soportadas por una o más plataformas3
:;) 5uide Dersion &3$3& !"$$#(3
Independencia de la plataforma
La independencia de la plataforma tal como se se
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
6/80
C Punto de vista de plataforma específica* com0ina el punto de vista
independiente de la plataforma con un enfo8ue específico para su uso en una
plataforma específica en un sistema3
Modelo independiente de la computación
egún el 5rupo O:5& !"$$#(- un modelo independiente de la computaci7n
!1I:( es una vista del un sistema desde el punto de vista independiente de la
computaci7n3 En algunos casos- nos referimos al modelo independiente de la
computaci7n como el modelo del dominio- y se usa voca0ulario propio de los
e6pertos en el dominio para la especificaci7n3
Modelo independiente de la plataforma
Un modelo independiente de la plataforma !PI:"( es una vista del sistema
desde el punto de vista independiente de la plataforma3 E6pone un carácter
independiente de la plataforma so0re la 8ue se desplegará- de modo 8ue pudiera ser
empleado en diferentes plataformas de carácter similar3 :;) 5uide Dersi7n &3$3&
!op3 cit3(
Una t=cnica común para alcan/ar el grado de independencia de la plataforma
necesario es definir un sistema 0asado en una má8uina virtual 8ue a0straiga los
modelos particulares de las plataformas e6istentes y sea neutral respecto a las
mismas3
& O:5 !O0,ect :anagement 5roup(- es una organi/aci7n sin ánimo de lucro creada en &F formadacon la misi7n de crear un mercado de programaci7n 0asada en componentes- impulsando laintroducci7n de o0,etos de programaci7n estandari/ada3
" PI:- Platform Independent :odel3
4
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
7/80
Modelo específico de la plataforma
Para el grupo O:5- un modelo específico de la plataforma !P:#( es una
vista de un sistema desde el punto de vista dependiente de la plataforma3 1om0ina las
especificaciones del modelo independiente de la plataforma con los detalles 8ueespecifican el uso de una plataforma específica por parte del sistema3
Modelo de plataforma
Un modelo de plataforma e6pone un con,unto de conceptos t=cnicos 8ue
representan las diferentes formas o partes 8ue conforman un sistema- y los servicios
8ue provee3 Tam0i=n e6pone- para su uso en los modelos específicos de la plataforma-
conceptos 8ue e6plican los diferentes elementos 8ue provee una plataforma para laimplementaci7n de una aplicaci7n en un sistema3 :;) 5uide Dersion &3$3& !op3 cit3(
Un modelo de plataforma incluye tam0i=n la especificaci7n de re8uisitos en la
cone6i7n y uso de las partes 8ue integran la plataforma- y la cone6i7n de aplicaciones
a la plataforma3
Transformación de modelos
La transformaci7n de modelos es el proceso de convertir un modelo en otro
modelo del mismo sistema3
La Aigura & ilustra la transformaci7n del modelo independiente de la
plataforma en un modelo específico para una plataforma mediante el uso de
informaci7n a
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
8/80
Figura 1. Trn%or*!"n d# Mod#+o%, Tomado de* )r8uitectura ;irigida por :odelos para .":E3 Por Luis E3 1orredera !"$$%( GBesumen en línea3;isponi0le en* 9ttp*personal3telefonica3terra3es>e0lencorrederamdaJ,"me3pdf 3
Servicios penetrantes
Los servicios penetrantes son servicios 8ue están disponi0les un amplio
catálogo de plataformas3 :;) proveerá servicios penetrantes comunes e
independientes de la plataforma y dispondrá de tra/as para la transformaci7n de losmodelos- 8ue permitirá la transformaci7n de los servicios e6puestos en los PI:s a las
plataformas de destino3 1orredera !op3 cit3(3
D#!n!!"n d# MDAF
http://personal.telefonica.terra.es/web/lencorredera/mda_j2%20me.pdfhttp://personal.telefonica.terra.es/web/lencorredera/mda_j2%20me.pdfhttp://personal.telefonica.terra.es/web/lencorredera/mda_j2%20me.pdfhttp://personal.telefonica.terra.es/web/lencorredera/mda_j2%20me.pdfhttp://personal.telefonica.terra.es/web/lencorredera/mda_j2%20me.pdf
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
9/80
La ar8uitectura dirigida por modelos !:odel ;riven )r8uitectura( es una
especificaci7n detallada por el O:5 !O0,ect :anagement 5roup( 8ue integra
diferentes especificaciones y estándares definidos por la misma organi/aci7n con lafinalidad de ofrecer una soluci7n a los pro0lemas relacionados con los cam0ios en los
modelos de negocio- la tecnología y la adaptaci7n de los sistemas de informaci7n a
los mismos3 1orredera !op3 cit3(3
MDA nos permite el despliegue de aplicaciones empresariales- dise
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
10/80
como el recurso principal en el proceso de desarrollo3 MDA propone 8ue los sistemas
soft>are sean generados directamente a partir de modelos de dic9o sistema soft>are3
O:5 propone y promueve el uso de diversos lengua,es relacionados con la creaci7n
y gesti7n de modelos !U:L- :OA- 1@: y KDT( como mecanismos 0ásicos parasoportar esta estrategia
Hoy MDA es uno de los tantos acr7nimos de moda y- como ocurre algunas
veces con las modas- el concepto puede tender a malinterpretarse3 Por lo tanto-
enumeremos rápidamente 8ue no es :;) !Adrián, 2006):
&3 :;) no es un proceso de desarrollo3
"3 :;) no es una especificaci7n3
#3 :;) no es una implementaci7n3'3 :;) no es una implementaci7n de referencia de ningún estándar particular3
%3 :;) no es un concepto maduro aún3
43 :;) no es simplemente generar c7digo3
23 :;) no tiene- aún- una visi7n unificada en la industria3
F3 :;) no es una ar8uitectura ni un ar8uitectural style o patternM !patr7n(3
Los ingenieros de soft>are y la comunidad científica 9an reci0ido con muc9o
inter=s la propuesta :;)3 Aruto de este inter=s están surgiendo numerosos eventos
relacionados con el tema y un elevado número de pu0licaciones 8ue tratan aspectos
relacionados con :;)3 En un conte6to de creciente difusi7n es comple,o reali/ar un
estudio sin de,ar a algún autor o documento por estudiar3 El 1uadro & presenta un
resumen de la visi7n 8ue ofrece cada autor frente a dic9as cuestiones3
&$
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
11/80
Cuadro 1 . Po%!!"n d# +o% utor#% #%tud!do% r#%$#to +% u#%t!on#% $+nt#d%,Tomado de* :;) a ;e0ate3 Por .avier :uare
dedicado a :;;'- entienden :;) como un con,unto de estándares con una
aplicaci7n concreta* el desarrollo de soft>are dirigido por modelos !:;;(3 Esta
' :;;- :odel ;riven ;evelopment- es una apro6imaci7n al desarrollo de soft>areen el 8ue el enfo8ue y los artefactos fundamentales son modelos !y no programas( eimplica la generaci7n automática de programas a partir de modelos3
&&
http://www.dsic.upv.es/workshops/%20dsdm04/files/01-Munoz.pdfhttp://www.dsic.upv.es/workshops/%20dsdm04/files/01-Munoz.pdfhttp://www.dsic.upv.es/workshops/%20dsdm04/files/01-Munoz.pdfhttp://www.dsic.upv.es/workshops/%20dsdm04/files/01-Munoz.pdfhttp://www.dsic.upv.es/workshops/%20dsdm04/files/01-Munoz.pdf
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
12/80
visi7n implícitamente se refiere al 9ec9o de 8ue :;) constituye una opci7n para
llevar a ca0o el :;;- aun8ue no necesariamente la única3
La descripci7n de Bichler !"$$#(- asigna a :;) la responsa0ilidad de
convertirse en una apro6imaci7n estándar3 Esta puede ser una característicadiferenciadora de esta propuesta frente a otras posi0les apro6imaciones 8ue aplican
:;;3
En conclusi7n- la ar8uitectura dirigida por modelos ! Model-Driven
Architecture o :;)( es un acercamiento al diseare- propuesto y
esponsori/ado por el Object Managemente rou!"3 :;) se 9a conce0ido para dar
soporte a la ingeniería dirigida a modelos de los sistemas soft>are3 Uno de los
principales o0,etivos de :;) es separar el diseare- 0asado en uso fuerte de los modelos, El
impacto de esta nueva metodología muy pro0a0lemente será un nuevo cam0io
revolucionario en la forma de 9acer soft>are- compara0le con el paso de los
lengua,es de má8uina a los lengua,es estructurados- o de de los estructurados a los
orientados a o0,etos3
:;) pretende ingresar un cam0io igual de fuerte- pero esta ve/ en la forma
de construir los sistemas- de 9acer desarrollos- despu=s de más de #$ a
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
13/80
de modificaciones fuertes en el nivel de organi/aci7n de los sistemas de informaci7n
a nivel físico !ar8uitectura clienteservidor- multicapas- componentes- @E+- etc3(3
;urante los a#os $"% el enfo8ue de los ingenieros de soft>are era en nivel delos lengua,es de má8uina3 Ellos desarrolla0an el soft>are 8ue podía reali/ar las
operaciones simples matemáticas y algoritmos de muy 0a,o nivel3
La =poca de los $&% 9a sido marcada por el cam0io a los lengua,es
estructurales !AOBTB)N- Pascal- 1- entre otros( 8ue 9an permitido aumentar la
a0stracci7n del soft>are construido3 e tra0a,a0a fuertemente con los editores de
te6to- 9erramientas de sistema- etc3
1on los lengua,es orientados a o0,etos- a partir de los a#os $'% y $(% se 9an
podido enfrentar los desarrollos de la a0stracci7n más alta todavía- la de sistemas de
apoyo a las actividades 9a0ituales corporativas- tal como conta0ilidad- ventas-
facturaci7n- entre otras3
Los desarrollos de los )ltimos a#os 9an llegado a nivel muy alto y a0stracto-
ya 8ue se están integrando los negocios- se están automati/ando los trámites legales-
los procedimientos contractuales- etc3 sin em0argo- los proyectos de soft>are estánfracasando cada ve/ más- la escala de los atrasos tecnol7gicos es más grande 8ue
antes y el nivel de calidad de los sistemas es más 0a,o 8ue nunca3 ) 8u= se de0e todo
estoQ
El nivel de a0stracci7n del enfo8ue de los desarrolladores no 9a aumentado
suficientemente- como para alcan/ar el nivel de a0stracci7n de los sistemas
construidos3
)lgunas nuevas tecnologías !por e,emplo servicios @E+( son revolucionarias
en el sentido de las nuevas posi0ilidades del uso de los sistemas- pero no de su
estructura interna o forma de desarrollo !8ue sigue siendo el c7digo orientado a
o0,etos(3
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
14/80
La mayoría de los sistemas todavía se están construyendo Ra la antiguaR-
aplicando el enfo8ue tradicional- en los c7digos fuentes- eventualmente 0asado en las
especificaciones informales o parcialmente formales3
En algunos am0ientes de tra0a,o se 9a adoptado el uso del estándar U:L parael modelado de soft>are3 Está práctica 9a mostrado me,oras significativas- pero el
grado de acoplamiento entre el modelo y el c7digo 9a 8uedado relativamente 0a,o3
Los modelos especificados usando U:L- típicamente se siguen programando
manualmente- usando los mismos lengua,es3
U:L 9a permitido el acercamiento de las especificaciones a la a0stracci7n del
pro0lema- pero U:L no permite verificar eficientemente la calidad de los modelos ni
o0liga a los ingenieros a usarlos3
Crt#r.%t!% MDA
;e acuerdo a un estudio 9ec9o por una Universidad de London !Sings
1ollege London( en el "$$# donde se evalúa la Herramienta Optimal. con un caso
práctico de SUN Microsystems denominado Java Pet Store, se extraen una serie de
caracterí sticas importantes de MDA que la 9acen una nueva t=cnica o 8ui/ás una
metodología para el desarrollo de un sistema mediante la ar8uitectura dirigida por
modelos del mismo3 La misma*
e enfoca en la funcionalidad y el comportamiento de un sistema o
aplicaci7n distri0uida3
No interviene en las cualidades de las tecnologías donde se implementa3
epara detalles de implementaci7n de las funciones de negocio3
No es necesario remodelar la funcionalidad o funcionamiento del sistema o
aplicaci7n distri0uida cada ve/ 8ue aparece una nueva tecnología3 Las principales metas de :;) son porta0ilidad- interopera0ilidad y
reusa0ilidad3
&'
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
15/80
En el 1uadro "- se presenta detalladamente las características resaltantes de
:;) por *ing+s College de ,ondon %%/0
Id Pro$!#dd D#%r!$!"n
/0 So$ort# $r PIM Permite 8ue se especifi8ue un sistema mediante unmodelo independiente de una plataforma concreta3
/1 So$ort# $r PSM La 9erramienta captura una implementaci7n demiddle>are de un sistema como un modelo 8uerepresenta la ar8uitectura3
/2 P#r*!t# -r!% !*$+#*#nt!on#% Posi0ilita la generaci7n de varias implementacionesdiferentes !varios P:( a partir de la mismaespecificaci7n del sistema !PI:(3
/3 Int#4r!"n d# Mod#+o%, Permite integrar diferentes modelos para producir unaúnica aplicaci7n3
/5 Int#ro$#r'!+!dd, Opera con notaciones estándar y puede importar ye6portar informaci7n a otras 9erramientas3
/6 D#!n!!"n d# trn%or*!on#%, Proporciona un lengua,e de modelado paratransformaciones y permite manipular lastransformaciones3
/7 So$ort# $r *n#8r + o*$+#8!ddd# *od#+o%,
Proporciona mecanismos para mane,ar la comple,idadde los modelos3
/9 :#r!!!"n d# *od#+o%, Permite compro0ar la correcci7n de modelos3
/; E
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
16/80
trn%or*!on#%, modelos- por e,emplo- entre PI: y P: o entre P: yc7digo3
07 C+!dd d#+ C"d!4o G#n#rdo,
09 H#rr*!#nt% d# So$ort#,
Cuadro . Crt#r.%t!% MDA (?!n4 Co++#4# 1//2), Tomado de* Un estudiocomparativo de dos 9erramientas :;)* Optimal. y )rctyler3 Por .esús 5arcía- .3Bodrígue/- :arcos :enar8ue/- :3.3 Ortín y .3 ánc9e/ !"$$'( GBesumen en línea3;isponi0le en* 9ttp*>>>3dsic3upv3es>ors9opsdsdm$'files$C5arcia3ppt
C!+o d# :!d d#+ D#%rro++o on MDA
) la 9ora de dise
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
17/80
plataformas- por e,emplo ."EE- 3NET- 1OB+) etc3 Bepresenta la estructura-
funcionalidad y restricciones del sistema- siendo este modelo la 0ase para todo
el proceso de desarrollo y es el único 8ue de0e ser creado íntegramente por el
desarrollador3#3 Modelo es!eci6ico de la !lata6orma 78M 7lat6orm 8!eci6ic Model0 es una
vista del sistema desde el punto de vista especifico de la plataforma- o sea con
detalles específicos de la plataforma elegida para implementar el sistema3 Esta
muc9o mas cercano a la vista de c7digo 8ue el PI:- pero puede incluir mas o
menos detalle dependiendo de su prop7sito3 El modelo específico de la
plataforma e6pone un con,unto de conceptos t=cnicos 8ue representan las
diferentes formas o partes 8ue componen un sistema- y los servicios 8ue provee3 Tam0i=n e6pone- para su utili/aci7n en modelos específicos de la
plataforma- conceptos 8ue e6plican los diferentes elementos 8ue provee una
plataforma para implementar una aplicaci7n en un sistema3 Tam0i=n
especifica los re8uerimientos de cone6i7n y uso de las partes 8ue integran la
plataforma y la cone6i7n de las aplicaciones a dic9a plataforma3
'3 5m!lementaci4n es!eci6ica de la !lata6orma 785 7lat6orm 8!eci6ic
5m!lementation0 o Code@ c7digo del sistema a desarrollar3 El c7digo !en su
totalidad o en parte( será generado automáticamente mediante reglas de
transformaci7n !p3e3 KDT(3
%3
Figura . PIM P+tor* Ind#$#nd#nt Mod#+, Tomado de* Ingeniería de :odeloscon :;)3 Por .esús Bodrígue/ Dicente y .esús 5arcía :olina !"$$'( GBesumen enlínea3 ;isponi0le en* 9ttp*dis3um3esW,molinapfcs$ro>#to*d3pdf 3
&2
http://dis.um.es/~jmolina/pfcs/proyecto-mda.pdf%20http://dis.um.es/~jmolina/pfcs/proyecto-mda.pdf%20http://dis.um.es/~jmolina/pfcs/proyecto-mda.pdf%20http://dis.um.es/~jmolina/pfcs/proyecto-mda.pdf%20http://dis.um.es/~jmolina/pfcs/proyecto-mda.pdf%20
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
18/80
Para entender me,or las fases del ciclo de desarrollo del :;)- presentaremos
algunos aspectos importantes y destacados de cada etapa- así como e,emplos 8ue
aclaren las dudas 8ue puedan e6istir con respecto al punto tratado3
El Modelo 5nde!endiente de Com!utaci4n o C5M ? se centra en el entorno delsistema y en los re8uisitos para el mismo3 No aparecen en este punto de vista detalles
de estructura ni de procesamiento3
El Modelo 5nde!endiente de 7lata6orma o 75M ? servirá de 0ase para todo el
proceso de desarrollo- y es el único 8ue de0e ser creado íntegramente por el
desarrollador3 )l no incluir detalles específicos de una tecnología determinada- este
modelo es útil en dos aspectos*
•
Es fácilmente comprensi0le por los usuarios del sistema- y por lo tanto- lesresultará más sencillo validar la correcci7n del sistema3
• Aacilita la creaci7n de diferentes implementaciones del sistema en diferentes
plataformas- de,ando intacta su estructura y su funcionalidad 0ásica3
La Aigura # muestra un e,emplo de un PI: sencillo con tres clases
interrelacionadas- tomado de un ;iagrama de 1lases de un istema de Dentas de
)nimales !ver Aigura '(3 1omo vemos- el PI: se modela mediante el diagrama de
clases de U:L3
Figura / . PIM P+tor* Ind#$#nd#nt Mod#+, Tomado de* Ingeniería de :odeloscon :;)3 Por .esús Bodrígue/ Dicente y .esús 5arcía :olina !"$$'( GBesumen enlínea3 ;isponi0le en* 9ttp*dis3um3esW,molinapfcs$ro>#to*d3pdf 3
&F
http://dis.um.es/~jmolina/pfcs/proyecto-mda.pdf%20http://dis.um.es/~jmolina/pfcs/proyecto-mda.pdf%20http://dis.um.es/~jmolina/pfcs/proyecto-mda.pdf%20http://dis.um.es/~jmolina/pfcs/proyecto-mda.pdf%20http://dis.um.es/~jmolina/pfcs/proyecto-mda.pdf%20
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
19/80
Figura 9 . D!4r* d# C+%#% UML, Tomado de* Ingeniería de :odelos con :;)3Por .esús Bodrígue/ Dicente y .esús 5arcía :olina !"$$'( GBesumen en línea3;isponi0le en* 9ttp*dis3um3esW,molinapfcs$ro>#to*d3pdf 3
El Modelo :s!eci6ico de 7lata6orma o 78M - es pues- un modelo de sistema demás 0a,o nivel- muc9o más cercano a la vista de c7digo 8ue el PI:3 Puede incluir
más o menos detalles- dependiendo de su prop7sito3
La Aigura % muestra un P: construido a partir del PI: de la Aigura #
representado tam0i=n mediante un diagrama de clases U:L3 Para la construcci7n de
los P:s se usan los 7er6iles ;M, ;M, 7ro6iles0
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
20/80
Figura ". PI:- PlatAorm Independent :odel3 Tomado de* Ingeniería de :odelos con:;)3 Por .esús Bodrígue/ Dicente y .esús 5arcía :olina !"$$'( GBesumen enlínea3 ;isponi0le en* 9ttp*dis3um3esW,molinapfcsproyectoCmda3pdf 3
Trn%or*!on#%
egún Bodrígue/ y 5arcía !"$$'(- una definici7n de transformaci7n o
ma!!ing :;) proporciona la especificaci7n de la transformaci7n de un PI: en un
P: para una plataforma determinada3
Podemos distinguir dos !"( tipos de definiciones de transformaci7n*
Trn%or*!"n d# T!$o% (Mod#+ T>$# M$$!n4)@ según laespecificaci7n- un mapping de tipos especifica un mapping para
transformar cual8uier modelo construido con tipos del PI: a otro modelo
e6presado con tipos de P:M !op3 cit3(3 Es decir- cada tipo de elemento del
PI: se le aplica una regla determinada para transformarlo en uno o varios
elementos del P:3 En el caso de U:L- estas reglas pueden estar
asociadas a tipos del metamodelo !clase- atri0uto- relaci7n- entre otros( o
nuevos tipos definidos mediante estereotipos3
Trn%or*!on#% d# In%tn!% (Mod#+ In%tnt# M$$!n4)@ identifica
elementos específicos del PI: 8ue de0en ser transformados de una
manera particular- dada una plataforma determinada3 X esto se puede
conseguir mediante marcas !representa un concepto de P:- y se aplica a
"$
http://dis.um.es/~jmolina/pfcs/proyecto-mda.pdf%20http://dis.um.es/~jmolina/pfcs/proyecto-mda.pdf%20
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
21/80
un elemento del PI: para indicar c7mo de0e ser transformado( 8ue el
desarrollador aplica para dirigir o controlar la transformaci7n a una
plataforma determinada3
La transformaci7n de PI: a P: puede llevarse a ca0o de diferentesmaneras*
• 1onstruyendo manualmente el P: a partir del PI:3
• ;e forma semiautomática- generando el P: es8ueleto 8ue es
completado a mano3
• ;e forma totalmente automática- generando un P: completo a partir
del PI:3
Para este último m=todo se utili/an 9erramientas especiali/adas 8ueimplementan diferentes algoritmos de transformaci7n para pasar de un tipo de modelo
a otro- y forman parte de uno de los pilares de :;)3
) manera de e,emplo- la Aigura 4- nos muestra las diversas formas de e,ecutar
las transformaciones del modelo- anteriormente descritas*
;i Li0ero !"$$4(- se
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
22/80
Figura & . L $!r&*!d# d#+ Mod#+do@ Trn%or*!on#%, Tomado de*:odel ;riven )rc9itectures* )n Overvie>3 Por :arcos Esperan/a y .uan :3Dara !"$$4( GBesumen en línea3 ;isponi0le en*9ttp*y0ele3escet3ur,c3esmtisi Iy5I;ocumentacionIy5I"$$4C:;)3pdf 3
Cuadro /. Lengua,e de Transformaciones en 1onstrucci7n3 Tomado de* U:LE,ecuta0le y :;)3 Por 1raft>are 1onsultores Ltda3 !"$$2( GTra0a,o en línea3
;isponi0le en* 9ttp*>>>3enterpriseanalyst3netdo>nloadU:LJE,ecuta0leJyJ :;)3pdf 3
""
http://kybele.escet.urjc.es/mtisi/%20ISyGI/Documentacion/ISyGI2006-MDA.pdfhttp://www.enterpriseanalyst.net/download/UML_Ejecutable_y_%20MDA.pdfhttp://www.enterpriseanalyst.net/download/UML_Ejecutable_y_%20MDA.pdfhttp://kybele.escet.urjc.es/mtisi/%20ISyGI/Documentacion/ISyGI2006-MDA.pdfhttp://www.enterpriseanalyst.net/download/UML_Ejecutable_y_%20MDA.pdfhttp://www.enterpriseanalyst.net/download/UML_Ejecutable_y_%20MDA.pdf
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
23/80
H#rr*!#nt% MDA
El concepto de 9erramienta 8ue soporta :;) es el de una 9erramienta 8ue provee de automati/aci7n el proceso de desarrollo :;) anteriormente descrito en las
diferentes transformaciones por las 8ue de0e pasar el modelo para o0tener el sistema
esperado3
Las 9erramientas 8ue soportan :;) pueden ofrecer diferentes características-
entre las 8ue son desea0les al menos las siguientes !1orredera- op3 cit3(*
• 1reaci7n de modelos de datos entidad relaci7n partiendo del modelo
1I: !conservando todas las restricciones específicas en el modelo yde acuerdo al mane,o de los disparadores(3
• 5eneraci7n y modelado de PI: desde modelos entidadCrelaci7n !con
el uso de modelos de clases con o0,etos estereotipados- de diagramas
de actividad y otros elementos 8ue demuestren comportamiento- uso
de O1L para la especificaci7n de restricciones y soporte para valores
eti8uetados en las clases de datos(3
• 5eneraci7n de P: !a trav=s de la elecci7n de la plataforma para
generar el P: y elecci7n de la tecnología de cliente- divisi7n del
modelo de datos y la interfa/ grafica de usuario en pa8uetes diferentes-
generaci7n de fic9eros de propiedades- generaci7n correcta de los
diagramas de actividad apropiados y el generar las clases de prue0a(3
• )daptaci7n del P: !para poder introducir c7digo suplementario al
generado 8ue permita completar la aplicaci7n(3
• 5eneraci7n de la aplicaci7n !a trav=s de la generaci7n del es8uema de
0ase de datos- generaci7n del c7digo- generaci7n de :aefiles- )NT u
otros scripts para la generaci7n de c7digo- producci7n de fic9eros de
configuraci7n y producci7n de documentaci7n(3
"#
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
24/80
En este momento no e6isten muc9as 9erramientas 8ue soportan :;) para el
desarrollo de soft>are- aun8ue es previsi0le 8ue el número cre/ca con el paso de no
demasiado tiempo3 Las transformaciones de modelos- 8ue dan soporte completo a:;)- pueden ser implementadas por distintas 9erramientas- 8ue resumiremos a
continuaci7n !Bodrígue/ y 5arcía- "$$'(*
Herramientas de transformación de PIM a PSM
Permiten transformar un PI: de alto nivel en uno o varios P:s3 En la
actualidad no 9ay disponi0les muc9as 9erramientas de este tipo- y las 8ue e6isten
ofrecen escasa funcionalidad3 La 9erramienta Optimal. es una de las pocas9erramientas 8ue ofrecen esta funcionalidad3
Herramientas de transformación de PSM a código
El soporte más popular para :;) lo encontramos en las 9erramientas 8ue
transforman P: a c7digo3 Poseen una definici7n de transformaci7n integrada 8ue
toman un tipo predefinido de modelo de entrada !P:( y producen otro tipo
predefinido como salida !modelo de c7digo(3 Las 9erramientas 1)E tradicionales
siguen este patr7n para la generaci7n de c7digo3
:uc9as de estas 9erramientas mantienen la relaci7n entre el P: y el c7digo-
permitiendo 8ue los cam0ios reali/ados en cual8uiera de los modelos !P: o c7digo(
se refle,en inmediatamente en el otro3 Esto es posi0le por8ue P: y c7digo están
muy cerca el uno del otro- y poseen casi el mismo nivel de a0stracci7n3
Herramientas de transformación de PIM a código
Otro tipo de 9erramienta es a8uella 8ue soporta las dos transformacionesanteriores- de PI: a P: y de P: a c7digo3 En ocasiones el usuario simplemente
verá una transformaci7n directa de PI: a c7digo- 8uedando implícito el P:3 La
9erramienta la enmarcarse en este grupo- ya 8ue no e6iste P: e6plícito- sino 8ue se
"'
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
25/80
usa un PI: con marcas para generar directamente el c7digo3
Herramientas de transformación austa!les
Las 9erramientas de :;) de0erían permitir re6inar o ajustar lastransformaciones3 Normalmente no se permite acceder a las definiciones de las
transformaciones para a,ustarlas a tus propios re8uisitos3 En el me,or de los casos- las
9erramientas proporcionan sus definiciones de transformaciones en lengua,es de
script específicos de la 9erramienta- y resulta muy engorroso 9acer cam0ios en dic9os
lengua,es3 :ientras no se estandarice un lengua,e de definici7n de transformaciones-
=stas seguirán siendo específicas de cada 9erramienta3
Incluso la mayoría de 9erramientas tra0a,an con un lengua,e para PI:s predefinido- 8ue suele ser una variante restrictiva de U:L- e internamente usan
tam0i=n su propia definici7n de U:L3 Esto o0liga a los usuarios de la 9erramienta a
aprender la definici7n específica de U:L de la 9erramienta para poder escri0ir
definiciones de transformaciones3
Herramientas de definición de transformaciones
Un último tipo de 9erramientas lo constituirían a8uellas 9erramientas 8ue nos
permiten crear y modificar transformaciones so0re modelos- imprescindi0les si
necesitamos usar transformaciones distintas a las disponi0les en las 9erramientas3 Las
únicas 9erramientas disponi0les de este tipo usan lengua,es de script específicos3 La
comple,idad de la definici7n de transformaciones nos lleva de nuevo a la necesidad
de un lengua,e estándar de definici7n de transformaciones !KTD( y a disponer de
9erramientas me,or preparadas para esta tarea3 Por desgracia- todavía 8ueda algo de
tiempo para 8ue esto se convierta en realidad3
"%
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
26/80
E%t&ndr#% %o'r# +o% u# %# $o> MDA
;e acuerdo a ;i Li0ero !op3 cit3(- :;) se apoya en tres importantes
estándares* !&( :etamodelos- donde se englo0an O:A !"( U:L y !#( O1L3
1. Metamodelo* El metamodelado es un mecanismo 8ue permite definir
formalmente lengua,es de modelado3 +ásicamente se trata de utili/ar modelos
para descri0ir otros modelos3 Por e,emplo- el metamodelado de U:L define
los conceptos y reglas 8ue se necesitan para crear modelos U:L3 E6isten
cuatro capas de modelado definidas por el O:5* M% = instancias- son las
instancias reales del sistema M1 = Modelos- incluye las entidades del modelo
del sistema M = Metamodelo- incluye las entidades de un lengua,e de
modelado y por último el M/ = Meta-metamodelo- 8ue contiene las entidades
8ue definen los lengua,es de modelado3 El metamodelado es importante para
:;) ya 8ue permite definir lengua,es de modelado no am0iguos de manera
tal 8ue las 9erramientas puedan leer- escri0ir y comprenderlos3 Tam0i=n
utili/a el metamodelado para definir las transformaciones3 En la Aigura 2- se
muestra un e,emplo de la 1apa :$ del metamodelado3
"4
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
27/80
Figura '. Instancias del istema* 1apa :$3 Tomado de* Ingeniería de:odelos con :;)3 Por .esús Bodrígue/ y .esús 5arcía !"$$'( GBesumen enlínea3 ;isponi0le en*9ttp*y0ele3escet3ur,c3esmtisiIy5I;ocumentacion Iy5I"$$4C:;)3pdf 3
Uno de los estándares más importantes utili/ados en :;) es el MOF Meta
Object Facility0 fue definido por el O:5 y pertenece a la capa :# , Utili/a
cinco !%( construcciones 0ásicas para definir un lengua,e de modelado* clases-
generali/aciones- atri0utos- asociaciones- y operaciones3 El estándar :OA
define diversos metamodelos- esencialmente a0strayendo la forma y la
estructura 8ue descri0e los metamodelos3 ;efine los elementos esenciales-
sinta6is y estructuras de metamodelos 8ue son utili/ados para construir
modelos orientados a o0,etos de sistemas3 )demás- proporciona un modelo
común para los metamodelos de 1@:4 y U:L3
El gran potencial de :OA reside en 8ue permite interoperar entre
metamodelos muy diferentes 8ue representan dominios diversos3 Las
6 CWM, Common Warehouse Model, defne un ormato común de intercambiopara metadatos en data warehouse. Provee un lenguaje común defniciones de
metamodelos para datos en datawarehouse. !l metamodelo tiene mucho encomún con el metamodelo "M# agrega metaclases, por ejemplo, para modelar
bases de datos relacionales. !n el conte$to de MDA, la especifcaci%n CWM esútil para la integraci%n legac.
"2
http://kybele.escet.urjc.es/mtisi/ISyGI/Documentacion%20/ISyGI2006-MDA.pdfhttp://kybele.escet.urjc.es/mtisi/ISyGI/Documentacion%20/ISyGI2006-MDA.pdf
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
28/80
aplicaciones 8ue utili/an :OA no tienen por 8ue conocer los interfaces del
dominio específico de algunos de sus modelos- pero pueden leer y actuali/ar
los modelos utili/ando las operaciones gen=ricas y refle6ivas ofrecidas en los
interfaces3 En concreto una implementaci7n :OA de0e proporcionar 9erramientas para la autori/aci7n y la pu0licaci7n de metadatos contra un
repositorio :OA3
En el 1uadro '- se caracteri/a y resume de manera sencilla el contenido de las
capas 8ue comprende un metamodelo cual8uiera3
"3 7er6iles ;M,* Ortega- :ár8ue/- Beina y Zlvare/ !"$$#(- dicen 8ue U:L
define una serie de >submodelos?< 8ue permiten e6presar diferentescaracterísticas de un proyecto en determinadas fases de su desarrollo3 in
em0argo estos submodelos o sublenguajes no están integrados entre sí y las
relaciones entre ellos están po0remente especificadas3
;e acuerdo a especificaciones concretas del o0,etivo del Lengua,e Unificado
de :odelado !U:L(- e6presado por 1arama/ana !"$$%(*
El lengua,e unificado de modelado !U:L( es un lengua,egráfico para el modelado de sistemas y nos permite modelar laar8uitectura- los o0,etos- las interacciones entre o0,etos- datos yaspectos del ciclo de vida de una aplicaci7n- así como otrosaspectos más relacionados con el dise
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
29/80
;NIM3
:" [ :etamodelo Entidades de unlengua,e de modelado3
Entidad U:L 1lassMdel metamodelo deU:L3
:# [ :etaCmetamodelo Entidades para definir lengua,es de modelado
Entidad :OA 1lassM de:OA
Cuadro 9 . R#%u*#n d# +% $% d# *od#+do, Tomado de* Ingeniería de:odelos con :;)3 Por .esús Bodrígue/ y .esús 5arcía !"$$'( GBesumen enlínea3 ;isponi0le en* 9ttp*y0ele3escet3ur,c3esmtisiIy5I;ocumentacionIy5I"$$4C:;)3pdf 3
Los diferentes elementos del modelado U:L permiten especificaciones
estáticas y dinámicas de un sistema orientado a o0,etos3 Los modelos estáticos
incluyen la definici7n de clases- atri0utos- operaciones- interfaces y relaciones
entre clases- como pueden ser la 9erencia- asociaci7n- dependencia- etc3 La
semántica de comportamiento de un sistema puede ser representada por medio
del lengua,e U:L gracias a sus diagramas de secuencia y cola0oraci7n3 Para
modelados más comple,os- U:L tam0i=n proporciona mecanismos para la
representaci7n de má8uinas de estado3 Por último U:L tam0i=n proporciona
una notaci7n para representar el agrupamiento del disee0 son los llamados Casos de
;so- en donde se representan los re8uerimientos de la fase de análisis del
mismo3 En la Aigura F- se muestra un 1aso de Uso de una aplicaci7n de
escritorio para una 0i0lioteca3
"
http://kybele.escet.urjc.es/mtisi/ISyGI/Documentacion%20/ISyGI2006-MDA.pdfhttp://kybele.escet.urjc.es/mtisi/ISyGI/Documentacion%20/ISyGI2006-MDA.pdfhttp://kybele.escet.urjc.es/mtisi/ISyGI/Documentacion%20/ISyGI2006-MDA.pdfhttp://kybele.escet.urjc.es/mtisi/ISyGI/Documentacion%20/ISyGI2006-MDA.pdf
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
30/80
Figura ( . D!4r* d# C%o% d# U%o (UML), Tomado de* O:5 U:L "3$*:arcando un 9ito en el desarrollo de soft>are3 Por Ilver )nac9e y .oel:oreno !"$$%( GBesumen en línea3 ;isponi0le en* 9ttp*>>>3avatar3com3pe>e0sitearticulos)D)T)B]"$C]"$)rticulo]"$OMG]"$UML]"$"3pdf 3
En la actualidad e6isten perfiles para 1OB+)- .ava- E.+- o 1^^ lo 8ue
permitirá construir P:s específicos para estas tecnologías !;i Li0ero-
"$$4(3
#3 Object Constraint ,enguaje OC,0 Es un lengua,e de especificaci7n con el
cual podemos escri0ir e6presiones so0re modelos - por e,emplo el cuerpo de
una especificaci7n de consulta- invariantes y pre y post condiciones- lo 8ue
nos permite 9acer mas precisos y completos los modelos3 e utili/a en :;)
para especificar valores iniciales en atri0utos- definir el cuerpo de operaciones
de consulta- especificar reglas de derivaci7n para atri0utos y asociaciones y
e6presar restricciones so0re clases y atri0utos3
En el "$$%- LeTinc9o aclara 8ue O1L es un lengua,e 9í0rido orientado a
o0,etosCfuncional- y es tipificado- por8ue usa el concepto de tipos de datos3
Estos tipos de datos se encuentran ,erar8ui/ados a trav=s de relaciones de
#$
http://www.avatar.com.pe/%20website/articulos/AVATAR%20-%20Articulo%20OMG%20UML%202.pdfhttp://www.avatar.com.pe/%20website/articulos/AVATAR%20-%20Articulo%20OMG%20UML%202.pdfhttp://www.avatar.com.pe/%20website/articulos/AVATAR%20-%20Articulo%20OMG%20UML%202.pdfhttp://www.avatar.com.pe/%20website/articulos/AVATAR%20-%20Articulo%20OMG%20UML%202.pdfhttp://www.avatar.com.pe/%20website/articulos/AVATAR%20-%20Articulo%20OMG%20UML%202.pdfhttp://www.avatar.com.pe/%20website/articulos/AVATAR%20-%20Articulo%20OMG%20UML%202.pdfhttp://www.avatar.com.pe/%20website/articulos/AVATAR%20-%20Articulo%20OMG%20UML%202.pdfhttp://www.avatar.com.pe/%20website/articulos/AVATAR%20-%20Articulo%20OMG%20UML%202.pdf
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
31/80
inclusi7n3 Tam0i=n e6isten varios tipos 0ásicos predefinidos !similares a los
de cual8uier lengua,e(- y unos pocos tipos param=tricos !o estructurados(
predefinidos3 Los tipos no predefinidos van a estar asociados a las clases del
diagrama de clases3
En fin- el desarrollo de oft>are es un proceso comple,o y a menudo difícil
8ue re8uiere la síntesis de muc9os sistemas3 ;esde el modelado y dise
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
32/80
:OO:H es una metodología orientada a o0,etos para el desarrollo de
sistemas Mu+t!*#d! H!$#r*#d!+#% y 8ue en el pr76imo capitulo podrá a9ondar de
la misma para 9acer comparaciones y las me,ores conclusiones de las dos
innovaciones metodol7gicas 8ue la Ingeniería del oft>are nos presenta 9oy en día3
CAPÍTULO II
METODOLOGÍA ORIENTADA A OBJETOS MULTIMEDIA HIPERMEDIAL
(MOOMH)
D#!n!!"n d# MOOMH
;e cara a entender a la :etodología Orientada a O0,etos :ultimedia
Hipermedia !:OO:H( y sus características- funcionamiento y aplicaci7n al proceso
de desarrollo- la definiremos de manera sencilla y concreta en las siguientes líneas3#"
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
33/80
:OO:H- no es más 8ue una metodología multimedia e 9ypermedia 8ue toma
como 0ase central al m=todo :OO: !:etodología O0,eto Orientada :ultimedia( de
+enigni !"$$"(- permitiendo el uso de las 9erramientas necesarias para el desarrollo
de aplicaciones educativas de escritorio y en la @e03Es un m=todo gráfico para visuali/ar- especificar- construir y documentar un
sistema de soft>are- mediante el análisis- implementaci7n y documentaci7n de
sistemas orientados a o0,etos3 :OO:H es un sistema con pasos firmemente
esta0lecidos- 8ue permite adaptar diferentes estereotipos para 9acer de la misma un
m=todo fuerte en el conte6to y necesidades en el desarrollo de los sistemas
multimedia y aplicaciones 9ipermediales !educativos e informativos( actuales3
Br#-# H!%tor! d# MOOMH
En las últimas d=cadas- con la aparici7n del computador- la memoria digital-
la multimedia e Internet se 9a podido o0servar un avance no solo continuo sino
vertiginoso de las denominadas nuevas tecnologías de la informaci7n por todo ello-
en "$$" se presenta ante la Universidad de Oriente- Núcleo Nueva Esparta !U;ONE(
una nueva metodología 8ue permitiera generar de una manera práctica y sencilla- la
creaci7n de soft>are multimedial por la Lcda3 5ladys +enigni !profesora de la
U;ONE( destacando la importancia de la interfa/- a trav=s del 0uen uso de
metáforas para lograr lo 8ue se desea al desarrollar soft>are- una fácil interacci7n
9om0re [ má8uina3
Esta metodología fue denominada :etodología Orientada a O0,etos
:ultimedia !:OO:( y surge por la e6periencia vivida de +enigni como asesora de
Tra0a,os de 5rado en el desarrollo de aplicaciones multimedia- orientadas tanto alám0ito educativo como a prop7sitos generales- evidenciándose- durante el desarrollo
de estos sistemas- la necesidad de contar con un m=todo de desarrollo 8ue permitiera
##
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
34/80
la fle6i0ilidad de a0arcar el desarrollo de aplicaciones educativas C informativas y 8ue
mantuviese la filosofía o0,eto orientado !+enigni- "$$"(3
1on :OO: se pretendía disponer de una metodología para la producci7n de
soft>are educativo [ informativo 8ue permitiera a los desarrolladores la facilidad deuso- así como minimi/ar- por e,emplo- la cantidad de diseare multimedia e9ipermedia y para el a
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
35/80
metodología con fines educativos para el desarrollo de aplicaciones multimedia e
9ypermedia3
Crt#r.%t!% d# MOOMH
Partiendo de 8ue :OO:H es una metodología orientada a o0,etos multimedia e
9ipermedia- se caracteri/a por*
• Implementar las me,ores prácticas en Ingeniería de oft>are3
• ;esarrollar de forma iterativa3
• )dministrar los re8uisitos3
• Usar la ar8uitectura 0asada en componentes3
• Implementar el modelo visual del soft>are
• Enfati/ar en la Enseare con
todas las características y facilidades de una aplicaci7n multimedia yo
9ipermedia 8ue est= 0a,o los dictámenes de la usa0ilidad e Ingeniería del
oft>are3
• Usar casos de uso de .aco0son !&F(- las clases estereotipadas de modelado
en la @e0 de 1onallen !&(- diagramas de clase !U:L( o ;iagrama Entidad
Belaci7n3
• Hacer un uso adecuado de los factores 8ue intervienen en el desarrollo de la
interacci7n3
En fin- :OO:H- se caracteri/a por ser iterativo e incremental- estar centrado
en la ar8uitectura y guiado por los casos de uso en la fase fundamental del desarrollo
de cual8uier aplicaci7n la elicitaci7n de re8uerimientosM3
Et$% o Mod#+o% d# MOOMH
#%
http://es.wikipedia.org/w/index.php?title=Uso_de_arquitectura_basada_en_componentes&action=edithttp://es.wikipedia.org/w/index.php?title=Uso_de_arquitectura_basada_en_componentes&action=edithttp://es.wikipedia.org/w/index.php?title=Uso_de_arquitectura_basada_en_componentes&action=edit
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
36/80
:OO:H está su0dividida en tres !#( etapas o modelos* análisis- diseare 8ue se pretende desarrollar en estos momentos 9a0lamos de autoría del
soft>are* educativo o informativo3
En líneas anteriores se 9i/o referencia a la enseare es netamente
educativo- refiri=ndonos particularmente a un!os( o0,etivo!s( específico!s( del
contenido programático de un curso en particular3 )simismo- E3)313 9ace referencia a
la interacci7n 9umanoCmá8uina o en nuestro caso en particular alumno!a(Cmá8uina o
docenteCmá8uina3 egún .3 _am0rano !&%(- la E3)31 comprende todas las
aplicaciones 8ue utili/an al computador en el ám0ito educativo- a sa0er* enseare- +enigni !"$$"(- nos dice*
G` En el caso de la ense
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
37/80
1omo toda metodología se rige por una serie de pasos 8ue a continuaci7n
e6plicaremos de manera detallada3 El modelo de análisis está compuesto de las fases
siguientes !+enigni- "$$"(*
• ;eterminaci7n de los re8uerimientos del pro0lema3
• Identificaci7n de los o0,etos3
• Ela0oraci7n del mapa de navegaci7n del sistema3
Determinación de los requerimientos del pro!lema
En esta etapa- el desarrollador o diseare- se encargará de
determinar las necesidades del sistema y su facti0ilidad3 La facti0ilidad- viene dada
por la disponi0ilidad real en cuanto a los recursos necesarios para el desarrollo del prototipo3
La manera más relevante de reali/ar la elicitaci7n de re8uerimientos- análisis
de re8uerimientos o simplemente el levantamiento de informaci7n- es a trav=s de los
casos de uso- 8ue de acuerdo a .aco0son- +ooc9 y Bum0aug9 !"$$"(*
permite 8ue los desarrolladores de soft>are y los clientes lleguen aun acuerdo so0re los re8uisitos- es decir so0re las condiciones y las
posi0ilidades 8ue de0e cumplir el sistemaM3Estos diagramas permiten capturar de forma sencilla las especificaciones del
sistema a desarrollar- en el 8ue se muestra*
, Los diferentes actores 8ue interactúan con el sistema3
3C Los límites del sistema o0,eto de estudio3
3C La funcionalidad del sistema3
3C Las funciones 8ue los actores desempeare- en
ella se tratan de definir las condiciones o capacidades necesarias para uno o varios
usuarios con el fin de solucionar un pro0lema o conseguir un o0,etivo3
#2
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
38/80
ÍNDIGO&Comen'ando a Calcular(
)uma
*esta
+ivisibilidad
Múltiplos
+ivisi%n
Multiplicaci%n
En la Aigura - se muestra un e,emplo de casos de uso- donde se determinan
los re8uerimientos de la creaci7n de un oft>are Educativo3
Figura @. D!4r* d# C%o% d# U%o@ O'8#to% Pr!n!$+#% d#+ S!%t#*,Tomado de* ÍNDIGO oft>are Educativo del +lo8ue 1ontenido Comenando aCalcular - Zrea de :atemática para los )lumnos!as( del Tercer 5rado de laPrimera Etapa de la Educaci7n +ásica Dene/olana3 !5on/ále/- :3- y Bodrígue/-53 !"$$'((3 GTra0a,o de 5rado3
) trav=s del modelo de casos de uso- dispondremos de la informaci7n
necesaria para conocer como los usuarios finales de la aplicaci7n !un pool
representativo( anali/an sus tareas en su área de desempe
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
39/80
Aigura &$( de0e escogerse con personal especiali/ado en el área !en este caso-
maestros!as( o profesores!as(- anali/ando a8uellos 8ue demuestren mayor
comple,idad e importancia en el proceso ense
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
40/80
Luego de definir las lecciones- unidades de informaci7n o 0lo8ues
administrativos- según sea el caso- y una ve/ determinada la facti0ilidad del
desarrollo del sistema y por último- definidos los o0,etivos- se procede con la etapa de
determinar los o0,etos presentes en el prototipo de sistema a desarrollar !identificaci7n de los o0,etos(3
Identificación de los o!etos
En esta etapa se definen los o0,etos y la relaci7n e6istente entre ellas
destacando 8ue estamos aun en un nivel macro del pro0lema y 8ue los o0,etos se
definen en ese mismo nivel estas relaciones e6istentes vienen dada por la asociaci7n
entre los mismos o0,etos3 ;ic9as asociaciones representan los lins- 9ipervínculos oramificaciones 9acia otras lecciones del mismo es importante mencionar 8ue para
llevar un adecuado termino el t7pico seleccionado- es imprescindi0le definir los
o0,etos específicos de cada lecci7n- como se muestra en el 1uadro %- o en su defecto
de los +lo8ues )dministrativos cuando se trata de un soft>are educativo y no
informativo !ver 1uadro 4(3
Cuadro ". D#%r!$!"n d# +o% O'8#t!-o% d# +% L#!on#%, Tomado de* ÍNDIGOoft>are Educativo del +lo8ue 1ontenido Comenando a Calcular - Zrea de:atemática para los )lumnos!as( del Tercer 5rado de la Primera Etapa de laEducaci7n +ásica Dene/olana3 Por 5on/ále/ N- :igdalia- y Bodrígue/ 53 !"$$'(3GTra0a,o de 5rado3
'$
L#!on#% O'8#t!-o%
Su*
Permitir al alumno repasar o complementar sus conocimientos en lareali/aci7n de operaciones con sumas simples- con sumas con dificultad yaplicaci7n de sus propiedades lo 8ue le permitirá desenvolverse me,or en sudía a día3 e 9ará uso de animaciones con narraci7n para la e6plicaci7n delos mismos3
R#%tAacilitar el entendimiento de esta operaci7n iniciando con restas simples
para luego avan/ar a e6plicaciones de restas con dificultad- además de
indicar la relaci7n entre una suma y una sustracci7n3
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
41/80
Tomando en cuenta lo 8ue nos dice +enigni !"$$"(- la relaci7n e6istente
entre los o0,etos viene dada a trav=s de las asociaciones entre los mismos3 Estas
asociaciones representan en los sistemas multimedia los lins- 9ipervínculos oramificaciones 9acia otras lecciones o unidades de informaci7n3 1on esto no se
pretende 8ue los enlaces est=n s7lo en funci7n de un primer nivel de asociaci7n- sino
por el contrario- a medida 8ue se avance en el dise
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
42/80
caso3 Este grafo representará el prototipo del sistema a desarrollar- representado a
trav=s de nodos !o0,etos( y las asociaciones o enlaces se indicarán según lo asocie el
desarrollador del soft>are3 Es importante seare:ultimedia(M- por 53 +enigni- "$$'3 ;isponi0le en* Bevista 1ientífica del1onse,o de Investigaci7n de la Universidad de Oriente- )+EB- p3 "3 GProyectode Investigaci7n
'"
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
43/80
Suma DivisibilidadResta Multiplicación División Mltiplos
ÍNDIGO&Comen'ando a Calcular(
Figura 13 Gro d# N-#4!"n $r un Sotr# Edut!-o3 Tomado de*:OO: !:etodología Orientada a O0,etos para ;esarrollar oft>are:ultimedia(M- por 53 +enigni- "$$'- ;isponi0le en* Bevista 1ientífica del1onse,o de Investigaci7n de la Universidad de Oriente- )+EB- p3 "3 GProyectode Investigaci7n3
El e,emplo mostrado indica 8ue para el t7pico !T( seleccionado- se desprenden
las respectivas lecciones 8ue van a dar origen al sistema 8ue se desea desarrollar3
1ada nodo del grafo- representa un 0lo8ue de informaci7n- 8ue posteriormente- en la
fase de dise
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
44/80
Figura 1/3 Gro d# N-#4!"n $r!n!$+ d# ÍNDIGO3 Tomado de* ÍNDIGOoft>are Educativo del +lo8ue 1ontenido Comenando a Calcular - Zrea de:atemática para los )lumnos!as( del Tercer 5rado de la Primera Etapa de laEducaci7n +ásica Dene/olana3 Por 5on/ále/ N- :igdalia- y Bodrígue/ 53 !"$$'(3GTra0a,o de 5rado3
Mod#+o d# D!%#Fo
)l finali/ar el modelo de análisis- se procede a diseare3 )8uí no se
identificará el tipo de elementos multimedia 8ue se usarán- pero sí se se
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
45/80
#uadro $ 3 No*#n+tur d# +o% E+#*#nto% Mu+t!*#d!, Tomado de:OO: !:etodología Orientada a O0,etos para ;esarrollar oft>are:ultimedia(M- por 53 +enigni- "$$'3 ;isponi0le en* Bevista 1ientífica del1onse,o de Investigaci7n de la Universidad de Oriente- )+EB- p3 #$3GProyecto de Investigaci7n
Dise%o de los &!etosEn el punto anterior- se descri0i7 la nomenclatura 8ue 9a sido utili/ada por
cada elemento multimedia- en este caso mostraremos- de una manera sencilla- c7mo
representar las lecciones- unidades de informaci7n o 0lo8ues administrativos-
dise
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
46/80
Cuadro (3 R#4!%tro d# E+#*#nto% Mu+t!*#d! Ut!+!=do%, Tomadode :OO: !:etodología Orientada a O0,etos para ;esarrollar oft>are :ultimedia(M- por 53 +enigni- "$$'3 ;isponi0le en* Bevista
1ientífica del 1onse,o de Investigaci7n de la Universidad de Oriente-)+EB- p3 #$3 GProyecto de Investigaci7n
En cuanto a los 0ocetos- podríamos tra0a,ar con prototipos de 0a,a y media
fidelidad3 El 1uadro - muestra la representaci7n de un prototipo de 0a,a fidelidad o
la t=cnica story0oard3
Cuadro @3 Bo#to d# L#!"n, Tomado de :OO: !:etodologíaOrientada a O0,etos para ;esarrollar oft>are :ultimedia(M- por 53+enigni- "$$'- ;isponi0le en* Bevista 1ientífica del 1onse,o deInvestigaci7n de la Universidad de Oriente- )+EB- p3 #$3 GProyectode Investigaci7n
'4
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
47/80
En la siguiente Aigura &' se muestra un e,emplo e6plicito de c7mo modelar el
;iseare Educativo del +lo8ue 1ontenido
Comenando a Calcular - Zrea de :atemática para los )lumnos!as( del Tercer 5radode la Primera Etapa de la Educaci7n +ásica Dene/olana(3
Figura 193 O'8#to Su'M#n d# +% L#!on#%3 Tomado de* ÍNDIGO oft>areEducativo del +lo8ue 1ontenido Comenando a Calcular - Zrea de :atemática paralos )lumnos!as( del Tercer 5rado de la Primera Etapa de la Educaci7n +ásicaDene/olana3 Por 5on/ále/ N- :igdalia- y Bodrígue/ 53 !"$$'(3 GTra0a,o de 5rado3
Prototipo de la Interfa'
'2
No*'r# d# + L#!"n@
O0,eto :enú de las Lecciones3O'8#t!-o@
Presentar al usuario los t7picos presentes en cada una de las lecciones3M#d!o% Ut!+!=do%@
Te6to*JJJ Dídeo*JJJ Hiperte6to* )nimaci7n*
onido* Imágenes* +otones* JJJJJ conos*JJJJ
:orfismo*JJJ Narraci7n* Aondo* ;escripci7n de la Lecci7n*
Los T7picos dentro de cada lecci7n !suma- resta- multiplicaci7n- divisi7n- múltiplos
y divisi0ilidad( dependen de la cantidad de temas 8ue a0ar8uen- en el caso de la
suma esta contiene* sumas simples- sumas con dificultad- propiedad conmutativa-
propiedad asociativa3 La cantidad de 9iperte6tos presentes en cada lecci7n depende
del número de ítems 8ue contenga la misma3
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
48/80
;e acuerdo a lo 8ue nos dice +enigni claramente en :OO:H :etodología
Orientada a O0,etos para ;esarrollar oft>are :ultimedia Hipermedia- !"$$4(*
`el dise
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
49/80
En el 1uadro &$ puede o0servarse 8ue las unidades U&3" y U"- tienen la
misma distri0uci7n en el 0oceto- pero varían en el caso de U&3" en el sonido-
contenido del te6to y narraci7n !audio(3
Una ve/ reali/ado todos los 0ocetos- se procede a indicar el tipo de sonido yen forma general el te6to- imágenes- entre otras presentes en cada uno de ellos-
utili/ando para esto lo 8ue denominaremos 0i0liotecas3 ) continuaci7n mostraremos
el es8uema para las mismas*
a( +i0liotecas de Te6to* En la Ta0la &- podemos o0servar en 8ue lecci7n-
unidad de informaci7n o 0lo8ue administrativo- se encuentra el te6to
descrito con su respectiva e6tensi7n3
T'+ 0, B!'+!ot# d# t#
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
50/80
c( +i0lioteca de Imágenes* 1omo puede verse en la Ta0la #- se especifican
las imágenes con su respectiva e6tensi7n- así como en donde se encuentra
u0icada en el sistema !L o Ui(3 En el caso de 8ue desee crear 0i0liotecas
para los demás elementos de multimedia- la metodología es fle6i0le paraesto y simplemente colo8ue el nom0re a la 0i0lioteca- su secuencia !en
caso de animaciones( y su respectiva e6tensi7n3
T'+ 2, B!'+!ot# d# I*&4#n#%,
NOMBRE LECCIÓN
O UNIDAD ETENSIÓN
UENTE DE
REERENCIA)tardecer en
.uangriego
Ln )T)B;&3,pg )tlas :argarite
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
51/80
Figura 1"3 Pnt++ Pr!n!$+ d# ÍNDIGO3 Tomado de* ÍNDIGO oft>areEducativo del +lo8ue 1ontenido Comenando a Calcular - Zrea de :atemática paralos )lumnos!as( del Tercer 5rado de la Primera Etapa de la Educaci7n +ásicaDene/olana3 Por 5on/ále/ N- :igdalia- y Bodrígue/ 53 !"$$'(3 GTra0a,o de 5rado3
1omo se o0serva- la pantalla muestra la metáfora glo0al de N;I5O donde a
trav=s de los sím0olos 8ue representan las diferentes operaciones aritm=ticas el
usuario accederá a las diferentes lecciones contempladas en la aplicaci7n además en
esta pantalla se 9ace uso de un 0ot7n con forma de flec9a 8ue permitirá salir del
sistema
Dise%o de (ase de Datos.
Para el dise
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
52/80
de Lengua,e de :odelado Unificado !Unified :odeling Lengua,e C U:L(-
específicamente las referidas a las clases estereotipadas de modelado en la @e0
propuestas por 1onallen !&( en su versi7n $3&3
)ntes de e6plicar y detallar lo 8ue son las clases estereotipadas- así como- lautilidad 8ue tiene U:L para :OO:H en estos casos definamos previamente el
Lengua,e de :odelado Unificado !U:L(3 ;iversos autores- coinciden en 8ue
U:L es un lengua,e de modelado estándar para sistemas intensivos de soft>are como
son las aplicaciones >e03 Los componentes 8ue integran una aplicaci7n >e0- como
páginas- 9ipervínculos- y el contenido dinámico de la aplicaci7n !scripts por e,emplo(
tanto por el lado del servidor como del cliente- pueden ser modelados por medio de
e6tensiones de U:L para este tipo de sistemas3;ic9as e6tensiones son los estereoti!os- los valores etiuetados- y las
constraintsM !restricciones( 8ue pueden ser aplicados a los elementos del modelo3
egún 1onallen !&(- :stereoti!o es una eti8ueta 8ue permite definir una
nueva semántica para un elemento modelado3 3alores etiuetados es la definici7n de
una nueva propiedad 8ue puede ser asociada con elemento del modelo3 estricciones
!constraint( son reglas 8ue definen el comportamiento de un elemento del modelo !de
una clase o una asociaci7n(3
Por otra parte- +enigni !"$$'( nos dice* )l modelar los componentes >e0- el
o0,etivo consiste en diagramar solo la Rl7gica de negocioR y no la l7gica de
presentaci7n !detalles de la página como color- tipo de letras- animaci7n(M3
1onallen !&( sugiere la diagramaci7n de las páginas de servidor y las de
cliente por separado- ya 8ue- l7gicamente 9a0lando- el comportamiento de una
página >e0 en el servidor es completamente diferente 8ue en el cliente3M1on esta separaci7n de conceptos- se pretende modelar el aspecto del lado
del servidor de una página >e0 con una clase- y el aspecto del lado del cliente con
otra3 e distinguen una de la otra usando el mecanismo de e6tensi7n U:L para
%"
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
53/80
definir estereoti!os e iconos para cada uno Cbbserver page y bbclient page3M
1onallen !&(3
Las clases estereoti!adas pueden ser implementadas en un diagrama U:L
con un icono creado o simplemente adornado con el nom0re del estereotipo entreflec9as !bb (3
1omo no se pretende a9ondar en las e6tensiones de U:L por 1onallen
!&(- s7lo se 9a0lará rosso Modo< de las e6tensiones utili/adas o en su defecto-
implementadas- por :OO:H cuando la aplicaci7n es 0a,o un am0iente @e03
Una de las e6tensiones son los estereotipos- como se di,o en líneas anteriores
donde un estereotipo está constituido por un adorno 8ue permite definir significados
semánticos a un elemento modelado !o03 cit-(3 En este sentido- cada elemento puedeser di0u,ado en un diagrama con su propio ícono- o con bb !ver Aigura &4(3
La ar8uitectura de una aplicaci7n @e0 incluye navegadores- una red y un
servidor- donde los navegadores solicitan páginas a este último- y cada página es una
me/cla de contenido e instrucciones- e6presadas en lengua,e para 9iperte6to o HT:L
!HyperTe6t :arup Language(3 )sí mismo- se plantea 8ue el comportamiento de una
página @e0 en el servidor- es completamente diferente al de una página del cliente y
cual8uiera de las dos puede representar un con,unto de funciones específicas
!+enigni- "$$"(3
Figura 1& 3 S.*'o+o% d# r#$r#%#nt!"n #n + *#todo+o4. d#Mod#+do d# A$+!!on#% #' on UML3 Tomado de :odeling@e0 )pplication ;esign >it9 U:LM- por .3 1onallen- &3
%#
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
54/80
;isponi0le en* Bevista 1ientífica del 1onse,o de Investigaci7n de laUniversidad de Oriente- )+EB- p3 #$3 GProyecto de Investigaci7n
Para ser más e6plícitos en cuanto a los estereotipos- 1onallen !&( dice*
Para páginas >e0- los estereotipos indican 8ue laclase es una a0stracci7n del comportamiento l7gico deuna página >e0 en el cliente o en el servidor3 Las dosa0stracciones están relacionadas entre sí con unarelaci7n direccional entre ellasM3
Esta asociaci7n se denota como bb0uild- ya 8ue se puede decir 8ue una
página de servidor construye una página cliente !ver Aigura &2(3
Figura 1'. L% $&4!n% d# S#r-!dor on%tru>#n $&4!n% d# C+!#nt#,Tomado de :odeling @e0 )pplication )rc9itectures >it9 U:LM- por 1onallen !&(3 ;isponi0le en* Bevista 1ientífica del 1onse,o de
Investigaci7n de la Universidad de Oriente- )+EB- p3 #$3 GProyectode Investigaci7n
Por lo tanto- la página e,ecutada en el servidor- se relaciona con los recursos
del mismo- tales como la 0ase de datos- sistemas de arc9ivo- sistema operativo- entre
otros3 Estas páginas- en muc9os casos se comportan como controladores- coordinando
las actividades necesarias iniciadas por la solicitud del navegador3 Las páginas
cliente- de acuerdo al autor- son modeladas como m=todos- considerando sus propias
relaciones y recursos del lado del cliente- tales como* ,ava- applets- controles active6-entre otros3
La bbserver page es simplemente otra clase 8ue participa en la l7gica de
negocio del sistema3 En un nivel más conceptual- las páginas de servidor típicamente
%'
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
55/80
toman el rol de controladores- dirigiendo la actividad de o0,etos necesaria para
cumplir con los o0,etivos de negocio iniciados por la re8uisici7n de la página del
navegador !+enigni- "$$"(3
;e acuerdo a 1onallen !&( y +eningni !"$$"(- para representar los9ipervínculos 8ue se originan en una página cliente- se denota la relaci7n direccional
como bblin3 Esta asociaci7n siempre se va a originar en una página cliente y va a
apuntar a otra página cliente o servidor !ver Aigura &F(3 En caso de ser necesario-
de0a,o de la especificaci7n bblin- pueden agregarse- entre llaves !(- nom0res de
parámetros !y valores opcionales( 8ue especifi8uen 8ue son esperados y usados por la
página de servidor 8ue procesa la re8uisici7n3
1uando una página de ervidor puede redireccionar peticiones 9acia dos !"( omás páginas dependiendo de alguna condici7n- esta asociaci7n se representa con la
clase estereotipo bbredirects !ver Aigura &(3
Figura 1(. U%o d# H!$#r-.nu+o% > Pr&*#tro% #n #++o%, Tomado de
:odeling @e0 )pplication )rc9itectures >it9 U:LM- por 1onallen !&(3;isponi0le en* Bevista 1ientífica del 1onse,o de Investigaci7n de laUniversidad de Oriente- )+EB- p3 #$3 GProyecto de Investigaci7n
%%
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
56/80
Figura 1@. R#d!r#!on*!#nto d# un $&4!n d# S#r-!dor, Tomado de:odeling @e0 )pplication )rc9itectures >it9 U:LM- por 1onallen !&(3;isponi0le en* Bevista 1ientífica del 1onse,o de Investigaci7n de la
Universidad de Oriente- )+EB- p3 #$3 GProyecto de Investigaci7nOtros elementos aparte de las páginas servidor y cliente son los formularios
!Aorm( y los marcos !frame(3 Los formularios representan un mecanismo de entrada
de datos en la página @e0 en ellos los atri0utos están constituidos por los elementos
de entrada del formulario y no poseen operaciones- ya 8ue las mismas son propias del
cliente3 in em0argo- estos elementos de0en tener una relaci7n de tipo su0mitM- la
cual conecta el formulario con una página servidor donde se procesa el envío de los
datos3
Para representar los formularios- 1onallen !&( propone otro tipo de clase
estereotipo* bbAorm3 Esta clase no tiene operaciones- ya 8ue cual8uiera 8ue sea
definida por el formulario- está contenida en la página cliente3 Los elementos binput
8ue puede contener el formulario se consideran como atri0utos de bbAorm3 1ada
formulario tiene una relaci7n con la página de servidor 8ue procesa lo 8ue envía el
primero- denotada como bbsu0mit3
Por otro lado- los marcos !frames( representan un mecanismo 8ue permite
tener activas y visi0les varias páginas al mismo tiempo para representarlos se utili/anlos esterotipos bbframeset- bbtarget y bbtarget lin3 El primero representa el
o0,eto glo0al !página cliente y eti8uetas( el segundo es una referencia a una página
cliente mientras 8ue el tercero es la referencia a otra página 8ue contiene una
%4
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
57/80
eti8ueta determinada, Un e,emplo de estas asociaciones se o0serva en la Aigura "$- en
la cual el frameset es Li0ro- el target es 1ontenido- y el resto son páginas cliente
generadas- como puede o0servarse3
Figura %. E8#*$+o d# %o!!on#% $rt!r d# un r*#%#t, Tomado de:odeling @e0 )pplication )rc9itectures >it9 U:LM- por 1onallen !&(3;isponi0le en* Bevista 1ientífica del 1onse,o de Investigaci7n de laUniversidad de Oriente- )+EB- p3 #$3 GProyecto de Investigaci7n
Otro punto importante de las e6tensiones de U:L por 1onallen !&( so0re
el :odelo de ;ise
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
58/80
Figura 13 R#+!"n 'u!+dKK3 Tomado de :odeling @e0 )pplication;esign >it9 U:LM- por .3 1onallen- &3 ;isponi0le en* Bevista 1ientíficadel 1onse,o de Investigaci7n de la Universidad de Oriente- )+EB- p3 #$3GProyecto de Investigaci7n
0( edireccionamiento !or !arte del servidor Esta relaci7n es útil en a8uellas
operaciones en las cuales- el servidor redirecciona ciertas solicitudes de
procesamiento a otras páginas servidoras !ver Aigura ""(3
Figura , R#d!r#!on*!#nto3 Tomado de :odeling @e0)pplication ;esign >it9 U:LM- por .3 1onallen- &3 ;isponi0le en*Bevista 1ientífica del 1onse,o de Investigaci7n de la Universidad deOriente- )+EB- p3 #$3 GProyecto de Investigaci7n
c( 3inculaci4n de 7ginas La relaci7n representada por el estereotipo
bblins define vínculos entre páginas cliente y otras páginas ya sean
cliente o servidoras !ver Aigura "#(3 i una vínculaci7n ! hy!er link ( incluye
parámetros- =stos son modelados como atri0utos del lin- fuera de la
asociaci7n !ver Aigura "'( entonces la petici7n de enlace o bblin lleva
como eti8ueta los atri0utos 8ue son esperados y usados por el servidor 8ue
%F
ssp1ourseListing
bb0uild
ssp1ourseListing
bbredirects
bbredirects
ssp5usetHome
sso)dminHome
spLogonHome
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
59/80
procesa la petici7n3
Figura /. Mod#+o d# +!n% #ntr# $&4!n% #' %!n $%# d#$r&*#tro%, Tomado de :odeling @e0 )pplication ;esign >it9U:LM- por .3 1onallen- &3 ;isponi0le en* Bevista 1ientífica del1onse,o de Investigaci7n de la Universidad de Oriente- )+EB- p3 #$3GProyecto de Investigaci7n
Figura 93 Mod#+o d# +!n% #ntr# $&4!n% #' on $%# d#$r&*#tro%, Tomado de :odeling @e0 )pplication ;esign >it9U:LM- por .3 1onallen- &3 ;isponi0le en* Bevista 1ientífica del1onse,o de Investigaci7n de la Universidad de Oriente- )+EB- p3 #$3GProyecto de Investigaci7n
d( 3arios Formularios Los formularios están contenidos en las páginas cliente-
se modelan con el estereotipo y es posi0le 8ue una página tenga varios
formularios o 8ue desde ella se acceda a diferentes páginas con formularios3
%
spBeports@otonc9
spUser:aintance
sso)dminHome
bblins
bblins
bblins
bb0uild
1ourseId
sp1ourseListing
sp1ourse;etail
sp1ourse;etail
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
60/80
e( elaciones con Marcos Usando marcos !frames(- una página cliente podría
estar compuesta por múltiples páginas al mismo tiempo3 Las páginas @e0
contenidas en un con,unto de marcos se llaman targets3
Mod#+o d# I*$+#*#nt!"n,
En este modelo se procede a seleccionar los recursos computacionales
necesarios para programar el sistema- se de0e 9acer una evaluaci7n e69austiva con el
personal 8ue cola0or7 en los modelos anteriores y se de0e ela0orar el manual del
programador o manual del sistema respectivo3 Este modelo consiste en la escritura del
c7digo fuente3 El espacio de la informaci7n es el 8ue el lengua,e de programaci7n
usa3egún +enigni !"$$"(- de0e verificarse 0a,o 8ue ar8uitectura o capas OI será
implementado- lo cual permitirá mayor versatilidad e independencia en el proceso de
las operaciones del sistema3 En el caso de una ar8uitectura de tres capas- el nivel de
almacenamiento !conformado por :ane,ador de +ase de ;atos(- Nivel l7gico
!conformado por el ervidor de aplicaciones o reglas del negocio( y el Nivel de
presentaci7n !conformado por la Interfa/ del usuario(3 Estas tres capas pueden
apreciarse en la Aigura "%3
Figura ". C$% d# + Aru!t#tur C+!#nt#S#r-!dor, Tomado de*Una :etodología Orientada a O0,etos para la producci7n de oft>are
4$
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
61/80
:ultimedia3 Por 5ladys +enigni !"$$"(3 ;isponi0le en* Bevista1ientífica del 1onse,o de Investigaci7n de la Universidad de Oriente-)+EB- p3 ##3 GProyecto de Investigaci7n
En esta ar8uitectura- el cliente 9ace una petici7n al servidor a trav=s de la
interfa/ 8ue mane,a- esta petici7n llega al servidor @e0 de aplicaciones y es
procesada reali/ando la gesti7n de alguna varia0le glo0al del servidor o invocando
alguna consulta al mane,ador- el cual devolverá la respuesta al nivel l7gico y =ste a su
ve/- ya traducido en HTML- al nivel de presentaci7n- es decir al usuario3
Es necesario acotar- 8ue la ar8uitectura mostrada con anterioridad representa
netamente una aplicaci7n 9ipermedial3
)l finali/ar la programaci7n del sistema- el mismo de0e ser evaluado por
especialistas no solo del área de informática- sino de a8uellas personas 8ue
participaron como e6pertos en el área de análisis- dise
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
62/80
CAPÍTULO III
COMPARACIÓN ENTRE MDA Y MOOMH PARA ELDESARROLLO DE UN S EDUCATI:O
D#!n!!"n d# Sotr# (S) Edut!-o
) trav=s de una revisi7n de investigaciones previas en las áreas del diseare educativo llegamos a esta0lecer la necesidad de conceptuali/ar este tipo de
soft>are no como una 9erramienta de aprendi/a,e- sino como una 9erramienta de
apoyo a la enseare educativo y de entender la
perspectiva de los usuarios acerca de los roles y posi0ilidades de esta tecnología3
La literatura define el concepto gen=rico de oft>are Educativo como
cual8uier programa computacional cuyas características estructurales y funcionales
sirvan de apoyo al proceso de enseare Educativo lo define Torres !"$$#( como >E auel material
de a!rendiaje es!ecialmente dise#ado !ara ser utiliado con un com!utador en los
!rocesos de ense#ar y a!render.?
No o0stante se e6cluyen del soft>are educativo todos los programas de uso
general en el mundo empresarial 8ue tam0i=n se utili/an en los centros educativos
con funciones didácticas o instrumentales como por e,emplo* procesadores de te6tos-
gestores de 0ases de datos- 9o,as de cálculo- editores gráficos333 Estos programas-
aun8ue puedan desarrollar una funci7n didáctica- no 9an estado ela0orados
específicamente con esta finalidad3
4"
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
63/80
Un $oo d# !%tor!
El soft>are educativo tuvo su origen casi al mismo tiempo 8ue la tecnología
educativa- con el nom0re de soft>are instruccional3 E6isten programas 8ue pueden
conducir al alumno paso a paso en la ad8uisici7n de un concepto- o 0ien acercarlo a
un conocimiento a partir de la e6periencia y permitirle crear sus propios modelos de
pensamiento al mane,ar diversas varia0les3
1uando se inici7 el uso educativo de la computadora- los docentes podíanclasificar fácilmente cual8uier tipo de soft>are sin em0argo- en nuestros días esta
tarea se 9a 9ec9o más difícil- ya 8ue los desarrolladores no siguen criterios similares
y en ocasiones me/clan dos o tres tipos en uno solo3 Por e,emplo* algunos programas
de e,ercitaci7n ofrecen al alumno!a( una retroalimentaci7n detallada e incluyen
diversas actividades educativas como si fueran tutoriales3 ;e a8uí la importancia de
8ue los docentes tengan muy claro para 8u= 8uieren el soft>are y cuáles son los usos
y aplicaciones más importantes de cada uno de ellos3
Crt#r.%t!% d# +o% Sotr# (S) Edut!-o%
Los programas educativos pueden tratar las diferentes materias !matemáticas-
idiomas- geografía- di0u,o333(- de formas muy diversas !a partir de cuestionarios-
facilitando una informaci7n estructurada a los alumnos- mediante la simulaci7n de
fen7menos333( y ofrecer un entorno de tra0a,o más o menos sensi0le a las
circunstancias de los alumnos!as( y más o menos rico en posi0ilidades de interacci7n pero todos comparten cinco !%( rt#r.%t!% #%#n!+#% !Torres- "$$#(*
• on materiales ela0orados con una !n+!dd d!d&t!- como se desprende de
la definici7n3
4#
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
64/80
• Ut!+!=n #+ ord#ndor como soporte en el 8ue los alumnos reali/an las
actividades 8ue ellos proponen3
• Son !nt#rt!-o%- contestan inmediatamente las acciones de los estudiantes y
permiten un diálogo y un intercam0io de informaciones entre el ordenador ylos estudiantes3
• Ind!-!du+!=n #+ tr'8o de los estudiantes- ya 8ue se adaptan al ritmo de
tra0a,o cada uno y pueden adaptar sus actividades según las actuaciones de los
alumnos3
• Son &!+#% d# u%r3 los conocimientos informáticos necesarios para utili/ar la
mayoría de estos programas son similares a los conocimientos de electr7nica
necesarios para usar un vídeo- es decir- son mínimos- aun8ue cada programatiene unas reglas de funcionamiento 8ue es necesario conocer3
C+%!!!"n d# +o% Sotr# (S) Edut!-o%
E6isten diferentes formas de clasificar los soft>are educativos- de todas estas
las 8ue posi0lemente proporciona categorías más claras y útiles a los profesores es la
8ue tiene en cuenta el grado de control del programa so0re la actividad de los
alumnos!as( y la estructura de su algoritmo- es la 8ue se presenta en la Aigura "43
Figura & . C+%!!!"n d# Sotr# Edut!-o, Tomado de* 1; 4*Evaluaci7n de Becursos ;idácticos- :odulo II3 Por 1olecci7n educ3ar del:inisterio de Educaci7n- 1iencia y Tecnología de )rgentina !"$$#( GPagina>e03 ;isponi0le en* 9ttp*coleccion3educ3arcoleccion1;4contenidosteoricosmoduloC"m"C"39tml3
4'
http://coleccion.educ.ar/coleccion/CD6/contenidos/http://coleccion.educ.ar/coleccion/CD6/contenidos/http://coleccion.educ.ar/coleccion/CD6/contenidos/
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
65/80
;e acuerdo a esta clasificaci7n- tenemos unas 0reves definiciones 8ue Torres
!"$$#( y la 1olecci7n educar !"$$#( del :inisterio de Educaci7n y Tecnología de)rgentina nos proporcionan en cada ítem o tipo de @ Educativo*
• E8#r!tdor#%@ Le presentan al alumno una gran cantidad de pro0lemas so0re
un mismo tema y le proporcionan retroalimentaci7n inmediata3
• Tutor!+#%@ on programas 8ue en mayor o menor medida dirigen- tutori/an-
el tra0a,o de los alumnos3 Pretenden 8ue- a partir de unas informaciones y
mediante la reali/aci7n de ciertas actividades previstas de antemano- los
estudiantes pongan en ,uego determinadas capacidades y aprendan o refuercen
unos conocimientos yo 9a0ilidades3 1uando se limitan a proponer e,ercicios
de refuer/o sin proporcionar e6plicaciones conceptuales previas se denominan
programas tutoriales de e,ercitaci7n- y de los programas de adiestramiento
psicomotor- 8ue desarrollan la coordinaci7n neuromotri/ en actividades
relacionadas con el di0u,o- la escritura y otras 9a0ilidades psicomotrices3
• S!*u+dor#%@ Presentan un modelo o entorno dinámico !generalmente a
trav=s de gráficos o animaciones interactivas( y facilitan su e6ploraci7n y
modificaci7n a los alumnos- 8ue pueden reali/ar aprendi/a,es inductivos o
deductivos mediante la o0servaci7n y la manipulaci7n de la estructura
su0yacente de esta manera pueden descu0rir los elementos del modelo- sus
interrelaciones- y pueden tomar decisiones y ad8uirir e6periencia directa
delante de unas situaciones 8ue frecuentemente resultarían difícilmente
accesi0les a la realidad !control de una central nuclear- contracci7n del
tiempo- pilota,e de un avi7n3 En cual8uier caso- posi0ilitan un aprendi/a,e
significativo por descu0rimiento y la investigaci7n de losestudiantese6perimentadores puede reali/arse en tiempo real o en tiempo
acelerado- según el simulador
4%
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
66/80
• Ju#4o% Edut!-o%@ Programas dise
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
67/80
:#nt8% d# MDA
iguiendo las especificaciones dadas por :uor- es un 6rameork 0asado en las ideas de MDA para construir9erramientas de generaci7n automática de c7digo3 Utili/a su propio metaCmodelo 8ue originalmenteera una implementaci7n simplificada de :OAU:L !Ecore(3
F :OA- :eta O0,et Aacility- estándar del OMG 8ue define un lengua,ecomún y a0stracto para definirlengua,es de modelado- y c7mo acceder e intercam0iar modelos e6presados en dic9os lengua,es3
42
8/17/2019 COMPARACIÓN ENTRE LA ARQUITECTURA DIRIGIDA POR MODELOS (MDA) Y LA METODOLOGÍA ORIENTADA A OBJET…
68/80
O:5 capa/ de almacenar los modelos en formato V:I "3 Tam0i=n e6iste una
e6tensi7n 8ue proporciona una implementaci7n del metamodelo de U:L "
utili/ando E:A- disponiendo en estos casos de implementaciones li0res de los
estándares de O:53 Por otra parte- las ;omainCpecificc Language Tools 8ue:icrosoft propone para construir Aactorías de oft>are todavía se encuentran
en fase de desarrollo- por lo 8ue no son muy ro0ustas y no pueden aplicarse en
entornos de producci7n industrial3
Inon-#n!#nt#% d# MDA
:;) surge como una de las estrategias más prometedoras para el diseare3 Unifica y simplifica el modelado- diseare en
un proceso de transformaci7n de modelos3 Este proceso de transformaci7n parece
sugerir una apro6imaci7n descendente !topCdo>n(- tal 8ue los PI:s son
transformados progresivamente en P:s 9asta alcan/ar la implementaci7n final del
sistema !P:(3 in em0argo- 9ay situaciones en las 8ue se re8uiere una apro6imaci7n
ascendente !0ottomCup(- por e,emplo en a8uellos casos en los 8ue se pretenda
reutili/ar componentes 1OT- servicios @e0- o aplicaciones ya operacionales3
El =6ito de :;) depende en gran medida- no s7lo de los 0eneficios deri