You are on page 1of 5

Relacin entre el patrn arquitectnico MVC y el mtodo OOHDM

Autores: LI. Emmanuel Vzquez Benito


MCS. Patricia Ochoa Trujillo
Introduccin
La intensin de este artculo es mostrar la
relacin de un patrn arquitectnico
MVC y los artefactos resultantes de la
metodologa OOHDM.
El objetivo de ste es que las personas
que inician en el mbito de la Ingeniera
de Software, identifiquen de una manera
clara la relacin que existe entre los
artefactos de una metodologa y MVC.
Palabras clave
MVC, OOHDM, modelo, vista, patrones,
controlador, algoritmos, artefactos, web,
Hipermedia, metodologas, cardinalidad,
vista abstracta, ADVs.

1. Patrones
arquitectnicos
Los
patrones
arquitectnicos
son
utilizados para mantener una estructura de
desarrollo, estos modelos expresan un
esquema de organizacin estructural del
software. Especficamente para entornos
Web, se describe el patrn arquitectnico
Modelo-Vista-Controlador.

la interfaz de usuario y la lgica de


control, lo que ayuda a mantener un orden
de cdigo y modificaciones ms rpidas.
El modelo encapsula las funcionalidades
con algoritmos computacionales para
manejar la informacin til para las
mismas, la vista contiene los algoritmos
y heursticas
relacionadas
a la
visualizacin de los datos, es aquella con
la cual el usuario interacta y realiza las
funciones para las que fue asignado; el
controlador
contiene
aquellos
algoritmos relacionados al ingreso de la
informacin, es el encargado de
responder las peticiones de los
usuarios, invocando al modelo y
mostrando resultados en las vistas
(Marinilli, 2006).
La Figura 1 muestra el funcionamiento
del modelo vista controlador. A lo largo
de este artculo se describe la trazabilidad
entre los artefactos resultantes de la
metodologa OOHDM y MVC.

1.1 Modelo-VistaControlador
Model-View-Controller (MVC, por sus
siglas en ingls), otorgado por Taylor y
Medvidovic y posteriormente considerado
una micro-arquitectura por Robert Allen y
David Garlan. Proporciona soluciones
al separar los datos de la aplicacin,

Figura 1. Modelo Vista Controlador

1.3 Mtodo de Diseo


Hipermedia Orientado
a Objetos
Object-Oriented Hypermedia Desing
Method (OOHDM, por sus siglas en
ingls) es una metodologa propuesta por
Gustavo Rossi y Daniel Schwabe, es una
de las primeras metodologas enfocada
en modelos para el diseo y desarrollo
de aplicaciones hipermedia y Web
orientadas a objetos (Freudenstein, 2009).
Esta metodologa utiliza meta-modelos
para
realizar
las
especificaciones
necesarias de cada actividad dentro de la
aplicacin, se basa en la abstraccin que
le permiten realizar una descripcin de
los elementos de informacin y la
especificacin de los escenarios de
navegacin (Escalona Cuaresma, 2001).
Consta de cinco fases de desarrollo
(Andrs Silva & Mercerat, 2002), cada
una se centra en una especificacin de
diseo donde las notaciones de modelado
se derivan de diversas tcnicas como
UML (Lenguaje de Modelado Unificado)
(Freudenstein, 2009):

Obtencin de requerimientos.
Modelo conceptual.
Diseo navegacional.
Diseo de interfaz abstracta.
Implementacin.

Ya que hace el uso de meta-modelos,


cada una de las fases crea un modelo
diferente con la informacin necesaria.
1. Obtencin de requerimientos
Al ser la etapa ms importante, OOHDM
propone un conjunto de subetapas para no
cometer errores en las etapas posteriores:
a) Identificacin de roles y tareas
En este sub-etapa el analista debe
identificar los diferentes roles que

cumplirn los usuarios as como las


acciones que realizarn dentro de la
aplicacin.
b) Especificacin de escenarios
Despus de identificar los roles, se deben
especificar cules son los escenarios que
describen las tareas de cada uno.
c) Especificacin de casos de uso
Un caso de uso es una descripcin de las
actividades que debern llevarse a cabo
para realizar una tarea, representa la
interaccin entre el usuario y el sistema.
En esta
subetapa
es
necesario
reconocer las actividades relevantes y
realizar un diagrama razonable por cada
una.
2. Modelo conceptual
En esta etapa se desarrolla un modelo
enfocado en la semntica del dominio de
la aplicacin y no en los tipos de usuarios
y sus tareas, haciendo el uso de clases,
relaciones y cardinalidad.

Ejemplo:
Figura 1. Diseo conceptual

las interfaces de la aplicacin, estos


diseos ayudan a definir los datos
que se presentan al usuario. Para
realizar estos diseos se utilizarn
ADVs (Vista de Datos Abstracta)
que
representan
estados
o
interfaces y su dinamismo con la
interfaz y no la implementacin,
sin entrar en detalles como el color,
tipo de letra o entradas y salidas
que ofrecen al usuario.
5. Implementacin

representado por un diagrama de


clases.

3. Diseo navegacional
En esta etapa se deben tener en cuenta las
tareas que el usuario realizar dentro de
la aplicacin Web, creando un modelo
con clases especiales conocidas como
clases navegacionales, utilizando nodos
que son contenedores de informacin
y utilizan un lenguaje intuitivo, estos
contienen atributos de tipos bsicos y
enlaces que representan la navegacin
que puede tener un usuario y estructuras
de acceso que actan como diccionarios
que permiten encontrar la informacin de
forma rpida y eficiente, estos tres
aspectos se constituyen dentro de
contexto
navegacional,
cada
uno
especificando
sus
elementos
(Enciclopedia Virtual, s.f.).

Una vez que se tienen los


modelos de los pasos anteriores
se lleva a cabo la puesta en
prctica. El desarrollador decidir
el lenguaje de programacin y el
lugar donde se almacenarn los
archivos, as como la herramienta con
las que desarrollar las interfaces. Para
las fases de implementacin o
construccin se define la arquitectura
de desarrollo, as como las diferentes
herramientas y lenguajes de programacin
que ayuden al desarrollo de aplicaciones.

1.2 Relacin entre


artefactos de la
metodologa OOHDM y
MVC
Una vez revisada
la metodologa
OOHDM y MVC se muestra la siguiente
tabla que indica los artefactos obtenidos y
donde se pueden ubicar dentro de MVC.
Tabla 1. Relacin entre artefactos y MVC

4. Diseo de interfaz abstracta


Se realiza despus de finalizar el
diseo navegacional para especificar

Identificacin
roles
Diseo
Conceptual

de

Modelo
X

Vista
X

Controlador
X
X

Modelo
Navegacional
Diseo
Interfaces
Abstractas

X
de

La tabla 1. Muestra que artefactos


interfieren en el desarrollo de una
aplicacin web para entenderla se detallan
en los siguientes puntos:

La identificacin de roles se
refleja en los tres niveles de MVC,
en un controlador puede verse
como una funcin que limite el
acceso a los mtodos al igual que
en el modelo, al nivel de vistas se
encuentra en las interfaces propias
para cada rol identificado.
A partir del diseo conceptual una
vez identificadas las clases y
mtodos, stas se pueden pasar
como clases y funciones en los
controladores que as sean
necesarios.
Un modelo navegacional puede
traducirse en una vista y puede
contener mens e hipervnculos.
Las interfaces abstractas se
convierten directamente en vistas
con el detalle necesario que traen
desde el modelo conceptual, cada
uno de los atributos de la clase es
representado en formularios o
informacin en cada vista.
La referencia o nombre del ADV
puede ser el nombre de la funcin
en el controlador para tener una
trazabilidad a ms detalle.

Ejemplo
de
navegacional:

modelo

Figura 2. Modelo Navegacional

Conclusin
Como es apreciable dentro de ste
Artculo, la importancia que tiene el
usar una metodologa
permite
conocer a detalle los entregables a
considerar as como el tiempo de
desarrollo
segn
sean
los
requerimientos funcionales, los roles
del equipo de desarrollo, los casos de
uso que muestran el comportamiento
del sistema pero sobre todo usar y
adoptar las Buenas Prcticas para
asegurar la calidad del Software, as
como la relacin de un estndar de
codificacin que permite mostrar solo
los artefactos necesarios para cubrir
los requerimientos del cliente y
entregar en tiempo y forma lo ms
relevante de un sistema.
El conocer de manera clara la relacin
entre una metodologa de desarrollo y
la codificacin de aplicaciones,
permite el aumento de la calidad del
software as como una planificacin
efectiva, dado que se sabe que se va a
hacer y cmo realizarlo, adems de
que existe una trazabilidad efectiva
entre artefactos y codificacin lo que
permite que el mantenimiento sea una
tarea relativamente sencilla.

https://www.lsi.us.es/docs/informes/Estad
oActual.pdf

Referencias
Andrs Silva, D., & Mercerat, B.
(2002). Construyendo aplicaciones web
con una metodologa de diseo orientada
a objetos. Recuperado el 23 de Agosto de
2014,
UNAB
Escalona Cuaresma, M. J. (2001).
Metodologas para el desarrollo de
sistemas de informacin global: anlisis
comparativo y propuesta. Recuperado el 7
de Agosto de
2014,
de
Departamento
de
Lenguajes
y
Sistemas
Informticos:

Fowler, M., & Scott, K. (1999). UML


gota a gota. (P. E. Roig Vzquez, Ed.)
Mxico: Pearson Educacin.
Freudenstein,
P.
Engineering
for
Applications: Models,

(2009).
Web
Workflow-based

Systems
and
Karlsruhe, Alemania:
Publishing.

Methodologies.
KIT Scientific

StarUML. (s.f.). Recuperado el 10 de


Septiembre de 2014, de http://staruml.io/
Mauro Marinilli. Professional Java User
Interfaces, Editorial Wiley

You might also like