1. DAVID CRUZ HERNANDEZ
Santiago Tianguistenco
ACTIVIDAD 3
TECNICAS DE MODELADO Y
METODOLOGIAS PARA APLICACIONES WEB
Por David Cruz Hernández
Cuando las bases de datos comienzan a tener mayor auge, los expertos en base
de datos enfrentaron requerimientos de datos cada vez más complejos que eran
difíciles de manejar con la tecnología que existía en esos momentos. Los avances
tecnológicos y por ende las nuevas herramientas de programación de base de
datos podría incluir gráficos, vídeo, audio, diagramas, huellas digitales y sonido,
así como números y texto, esto motivó a reorganizar los sistemas de bases de
datos existentes. Este esfuerzo de reorganización condujo a una nueva oleada de
tecnologías basadas en conceptos de programación orientados a objetos, y a la
adición de nuevas características a las bases de datos relacionales que
permitieron manejar mejor los datos complejos. Dentro de estas nuevas
tecnologías que aparecieron, este trabajo se centra en describir algunas
características en las bases de datos objeto-relacionales y orientadas a objetos.
Base de datos orientada a objetos
La orientación a objetos es una metodología de modelado y desarrollo basada en
conceptos orientados a objetos (OO). En concreto, la orientación a objetos se
define como un conjunto de principios de diseño y desarrollo basados en
estructuras de computadoras conceptualmente autónomas conocidas como
objetos. Cada objeto representa una entidad del mundo real con la capacidad de
actuar consigo misma y de interactuar con otros objetos. Teniendo en cuenta este
concepto, las bases de datos orientadas a objetos (OODB) están diseñadas para
capturar los datos de un sistema de negocio, que puede ser considerado como un
conjunto de objetos que interactúan entre sí.
Un modelo es una abstracción de algo, con la finalidad de comprenderlo, antes de
construirlo, ya que un modelo omite los detalles no esenciales, es más sencillo
manejarlos, que manejar la entidad original.
Esta técnica es trilateral, ya que toma en cuenta tres puntos de vista: modelo de
objetos, modelo dinámico y modelo funcional.
2. DAVID CRUZ HERNANDEZ
Santiago Tianguistenco
a) El modelo de objetos. El modelo de objetos es el modelo más importante,
ya que en él se identifican las clases dentro del sistema junto con sus
relaciones, así como sus atributos y operaciones, lo que representa la
estructura estática del sistema. El modelo de objetos se representa
mediante un diagrama de clases.
b) El modelo dinámico. Representa los aspectos temporales de
comportamiento "de control" del sistema, mediante la secuencia de
operaciones en el tiempo.
c) El modelo funcional. Representa los aspectos transformacionales "de
función" del sistema, mediante la transformación de valores de los datos.
Se representa mediante un diagrama de flujo.
Cada modelo describe un aspecto del sistema pero contiene referencias a los
demás modelos. Lo cual indica que los tres no son totalmente independientes.
Para llevar a cabo un modelado orientado a objetos es necesario seguir una serie
de pasos, las cuales se describen a continuación;
• Conceptualización: Se describen los requerimientos para la solución del
sistema. Comienza identificando las necesidades desde el punto de vista de
los usuarios. Dicha información puede ser extraída de los casos de uso y
del dominio del problema.
• Análisis: Entender y modelar el problema en el dominio de la aplicación.
• Diseño del sistema: Determinar la arquitectura del sistema en términos de
subsistemas.
• Diseño de objetos: Refinar y optimizar el modelo de análisis, agregando
conceptos de programación.
• Código: Implementar las clases de objetos en un lenguaje de programación.
• Pruebas: se realizan para verificar el comportamiento de las clases y
objetos que se encuentran descritos en los escenarios.
3. DAVID CRUZ HERNANDEZ
Santiago Tianguistenco
La siguiente imagen, muestra los pasos que se deben seguir para realizar un
modelo orientado a objetos para aplicaciones web
Proceso del Modelo Orientado a Objetos
Cada paso del proceso transforma algunas entradas para generar una salida
diferente, comenzando en un alto nivel de abstracción hasta llevarlo a un nivel de
detalle que finalmente representa la solución del problema.
Entradas y salidas del modelo orientado a objetos
4. DAVID CRUZ HERNANDEZ
Santiago Tianguistenco
Los pasos para construir el modelo de objetos son los siguientes:
1. Identificación de objetos y/o clases.
2. Crear un diccionario de datos.
3. Identificación de las asociaciones y agregaciones entre los objetos.
4. Identificación de atributos y enlaces.
5. Organización y simplificación de las clases empleando herencia.
6. Verificación de las vías de acceso necesarias para llevar a cabo las probables
consultas.
7. Realizar las iteraciones necesarias para el refinamiento del modelo.
8. Agrupar las clases en módulos.
Modelo de objetos = Diagrama de modelo de objetos + diccionario de datos.
Los pasos para construir el modelo dinámico son los siguientes:
1. Preparación de escenarios de secuencias típicas de iteración.
2. Identificación de sucesos que actúan entre objetos.
3. Preparar un seguimiento de sucesos para cada escenario.
4. Construcción de un diagrama de estado para cada objeto.
5. Comparación de los sucesos intercambiados entre objetos para verificar la
congruencia.
Modelo dinámico = Diagrama de estados + diagrama global de flujo de sucesos.
Algunos principios del modelo dinámico son los siguientes,
-Un modelo constituye una abstracción de la realidad.
5. DAVID CRUZ HERNANDEZ
Santiago Tianguistenco
- Dado que los modelos omiten los detalles no esenciales, resulta más sencillo
manipularlos a ellos que a la entidad original.
- Un modelo puede expresarse a diferentes niveles de precisión.
A partir de estas consideraciones, se desprende que al Modelo Dinámico no le
resultan ajenos los requisitos expuestos, cabiéndole la importante responsabilidad
de describir aquellos aspectos de un sistema que cambian con el tiempo. Es decir,
que el Modelo Dinámico se utiliza para especificar e implementar los aspectos del
control del sistema, colaborando de ésta manera en describir las secuencias de
operaciones que se producen, sin tener en cuenta lo que hagan éstas
operaciones, aquello a lo que afecten o la forma en que las mismas estén
implementadas.
La metodología OMT (Técnica de Modelado de Objetos), cuyo creador es James
Rumbaugh, incorpora el llamado Modelo Funcional después de haber modelado la
estructura estática (Modelo de Objetos) y la estructura dinámica (Modelo
Dinámico). Este modelo funcional describe las transformaciones de valores de
datos que ocurren dentro del sistema es decir, que es responsable de capturar lo
que hace el sistema independientemente de cuándo se haga o de la forma en qué
se haga. OMT emplea tres clases de modelos para describir el sistema, a saber:
Comparativa entre metodologías para aplicaciones web
Hoy en dia existen diversas metodologías para el modelado de aplicaciones web,
algunas muy parecidas, otras completamente diferentes, como también se pueden
encontrar algunas que apuntan hacia resolver un solo tipo de los problemas
presentes en el modelado de este tipo de aplicaciones, de la misma forma hay
otras que buscan abarcar mucho más. Se puede decir que en el mundo del
modelado, de ingeniería web, hay una gran heterogeneidad entre las
6. DAVID CRUZ HERNANDEZ
Santiago Tianguistenco
metodologías existentes, dependiendo del enfoque de cada una. Además,
existiendo tanta literatura tras este tema puede resultar engorroso reconocer las
fortalezas y debilidades de las metodologías al verse enfrentadas ante una
situación de elección, más aún si no se tienen grandes conocimientos de los
avances logrados en esta área.
Las metodologías tradicionales de ingeniería de software, o las metodologías para
sistemas de desarrollo de información, no contienen una buena abstracción capaz
de facilitar la tarea de especificar aplicaciones hipermedia. El tamaño, la
complejidad y el número de aplicaciones crecen en forma acelerada en la
actualidad, por lo cual una metodología de diseño sistemática es necesaria para
disminuir la complejidad y admitir evolución y reusabilidad.
Es por ello que implementar una buena metodología, traerá como consecuencia
buenos resultados en toda organización, a continuación se muestra un cuadro
comparativo entre distintas de estas metodologías.
Proceso Técnica de Representación Notación Herramienta
modelado grafica de soporte
HDM 1.Desarrollo a largo E-R Diagrama E-R E-R
plazo
2.Desarrollo a corto
plazo
RMM 1.Diseño E-R E-R 1.Diagrama E-R E-R RMCase
2.Diseño Slice13
3.Diseño de navegación 2.Diagrama Slice
4.Diseño de protocolo propio
de conversión
3.Diagrama RMDM
5.Diseño de UI14
6.Diseño de
comportamiento en
tiempo de
ejecución
7.Prueba y construcción
EORM 1.Clases del entorno de OO 1.Diagrama de .OMT ONTOS
desarrollo clases
2.Composición del
entorno de desarrollo Studio
2.Diseño GUI
3.Entorno de desarrollo
de UI
OOHDM 1.Diseño conceptual OO 1.Diagrama de clases 1.OMT/ OOHDM-
2.Diseño navegacional 2.Diagrama UML Web
3.Diseño abstracto de la navegacional,
UI clase + contexto
3.Diagrama de 2.Propio
4.Implementación configuración de ADV
+ Diagrama ADV 3.ADVs
7. DAVID CRUZ HERNANDEZ
Santiago Tianguistenco
Según Conallen, también existe una comparativa en dos niveles, los cuales son
transversales y funcionales, a continuación se presenta la comparativa en la
segunda característica, respecto a las funcionales.
Tabla comparativa de acuerdo a su funcionalidad
Conclusiones
Durante el análisis y diseño de un sistema web, se deben de validar todas y cada
una de las entradas que lo componen dentro de una organización. Además el
análisis y diseño de un sistema se considera exitoso cuando es evaluado por los
usuarios y los requerimientos que ellos plantean se cumplen satisfactoriamente.
Así como existen gran cantidad de sistemas, todos con distinta funcionalidad, para
ello existen diferentes metodologías, ya que como se ha ido haciendo mención a
través del trabajo, una solo metodología no se puede acoplar a varios sistemas de
información, y por el contrario u sistema de información no es apto para cada una
de las metodologías. Estas metodologías van a depender de la funcionalidad y la
planificación del sistema, cuál es su estructura y su comportamiento, es decir, para
8. DAVID CRUZ HERNANDEZ
Santiago Tianguistenco
cada sistema de información debe de acoplarse una metodología web para su
desarrollo.
Referencias
Rumbaugh James , Blaha Michael, Premerlani William , Eddy Frederick , Lorensen
William - “Modelado y diseño orientados a objetos” Ed Prentice - Hall . 1991
Análisis y diseño Orientado a Objetos, Instituto Tecnológico de la Laguna
Martin Fowler con Kendall Scott - “UML GOTA A GOTA” - Ed Eyrolles Gestión 2000. 1997
W. De Muynck. Bridging the Gap between XML and Hypermedia: a Layered Transformational
Approach, Tesis. Approach, Vrije Universiteit Brussel, Belgium, 2000.
D. Schwave and G. Rossi. An Object Oriented Approach to Web-Based Application Desing. En:
Theory and Practice of Object Systems (TAPOS), October 1998.
J. Conallen. Building Web application with UML. Addison Wesley. 1999.
E. Gamma et al. Design Patterns: Elements of reusable object-oriented software, Addison-Wesley,
1995.