PDF de programación - Aplicaciones Web con UML

Imágen de pdf Aplicaciones Web con UML

Aplicaciones Web con UMLgráfica de visualizaciones

Publicado el 31 de Marzo del 2020
516 visualizaciones desde el 31 de Marzo del 2020
89,5 KB
9 paginas
Creado hace 11a (03/11/2008)
Aplicaciones Web con UML

Ricardo Marmolejo García

Ingeniería del software

Índice

1. Introducción

1.1. ¿Qué es UML? . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Patrón Modelo-Vista-Controlador . . . . . . . . . . . . . . . . . .
1.3. Sistema Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Evolución de las metodologías Web

2.1. Entidad-Relación . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. HDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. RMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4. WebML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. WAE y WAE2

3.1. Tipos de estereotipos . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. En las entidades
. . . . . . . . . . . . . . . . . . . . . . .
3.1.2. En las relaciones . . . . . . . . . . . . . . . . . . . . . . .
3.2. Diagramas de Componentes . . . . . . . . . . . . . . . . . . . . .
3.3. Casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Diagrama de secuencia
. . . . . . . . . . . . . . . . . . . . . . .
3.5. Eventos en el cliente . . . . . . . . . . . . . . . . . . . . . . . . .

2
2
3
3

4
4
4
4
5

5
5
5
6
6
6
6
7

1

4. Propuesta de metodología ágil

. . . . . . . . . . . . . . . . . . . . . . . . . .
4.1. Diseño conceptual
4.2. Diseño gráfico, arb. de navegación y base de datos
. . . . . . . .
4.3. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1. Desarrollo gráfico y HTML . . . . . . . . . . . . . . . . .
4.3.2. Desarrollo de lógica de negocio y base de datos . . . . . .
4.3.3. Pruebas y benchmark . . . . . . . . . . . . . . . . . . . .

5. Conclusiones

6. Bibliografía

1.

Introducción

7
7
7
8
8
8
8

9

9

Los sistemas web son relativamente nuevos en el mundo del computación. Ca-
da vez son más complejas y por tanto son un nuevo reto para los ingenieros
del software. Como el software, al principio no se modelaba1, pronto surgen
metodologías que intentan solucionar el problema. Un problema que se agraba
en los sistemas Web debido a que estos fomentan un entorno de requisitos muy
cambiantes. Esto puede ser debido a un número de usuarios mundial que provo-
ca un gran número de requisitos. Además el equipo de desarrolladores suele ser
pequeño2.
Los modelos son abstracciones que simplifican nuestra comprensión de los sis-
temas. Como lenguaje de modelado ya existente deberiamos considerar si UML
tiene capacidad para modelar en aplicaciones Web. Veremos queremos que Jim
Conallen recomienda modelar webs extediendo UML y aplicacando un patrón
de diseño llamado MVC (modelo-vista-controlador).

1.1.

¿Qué es UML?

Básicamente UML es un lenguaje estándar con un vocabulario gráfico y con
reglas para la presentación de sistemas de información. Los Creadores : Grady
Booch, Ivar Jacobson y James Rumbaugh3. UML tiene distintos tipos de diagra-
ma, dependiendo del concepto que queremos comunicar, usaremos un diagrama
u otro. Parece que UML es insuficiente semánticamente para Aplicaciones Web
(en principio).

1Referente a la Crisis del software
2Youtube fue realizado en sus comienzos por 10 personas
3Los tres amigos

2

1.2. Patrón Modelo-Vista-Controlador

El patrón MVC 4 busca la programación en 3 capas:

Modelo: tienes los datos y su implementación define como se leen y es-
criben esos datos. Tipicamente hace querys a una BDD, pero esto podría
ser un sistema de archivos, o un banco que nos provee datos por XML.
Las clases que se definen en esta capa al ser las más abstractas son las
más reutilizables.

Vista: o presentación, es lo que ve el usuario. Ofrece al usuario los casos
de uso que el negocio ofrezca.

Controlador: esta entre la Vista y el Modelo y une a ambos. Tambien
llamado lógica de negocio, implementa la lógica de lo que le pasa a los
modelos en función de los eventos que vienen de la Vista.

Algunos ejemplos de implementación de MVC son Rails(Ruby), Structs(Java),
CakePHP,Kumbia,Symfony(PHP), TurboGears,Django(Python) ... etc. Los frame-
works más impactantes son Ruby on Rails y Django, estan orientados al desar-
rollo web eficiente. Su objetivo es dar la opción de base de datos. Creamos las
clase modelo y sus tables son creadas automaticamente, y actualizadas cuando
modifiquemos el modelo.

1.3. Sistema Web

El servidor web ofrece páginas web y otos recursos (css, js, imagenes, flash ...)
Estos recursos se identifican de forma única mediante URL o URI. Los servidores
web utilizan la comunicación entre cliente y servidor utiliza el protocolo HTTP.
No mantiene conexión tras una petición. Eso genera, que sea necesario recurrir a
cookies para conocer el estado del cliente. (Sesiones) Una aplicación web genera
una página web para un cliente en función de N variables. (diferenciar página
de aplicación) Una aplicación web es un sistema Web que nos ofrece la lógica
de negocio. (interfaces, formularios ...). Hace de frontend. Lenguajes en la parte
del cliente Lenguajes de script como javascript (estándar ECMA), y Visual Ba-
sic Script(Microsoft). Pueden usarse para complementar la lógica de negocio.
Alivian al servidor. La web es sincrona pero la tendencia es la Web asíncrona
gracias a un conjunto de técnologías denominadas como AJAX. Para el render-
izado Web se usa HTML, XHTML o XML. Complementados con CSS (hojas
de estilo en cascada) Flash como lenguaje de presentación. Aporta multimedia
a la web. Applet java ... Lenguajes en la parte del servidor Los más conocidos
son PHP(software libre), JSP (Sun Microsystems) y ASP/ASP.NET(Microsoft)
Las primeras versiones de PHP y ASP no separaban bien las capas. Pudiendo

4Es un patrón del software, no solo se usa en programación Web

3

llegar a tener mezcladas las tres capas: presentación(XHTML), lógica de nego-
cio(PHP) y modelo de datos(SQL). Procedimentales. La separación de capas
es dificil ya que tradicionalmente la lógica de negocio se encarga de generar
la presentación dinamicamente. En aplicaciones grandes, es preferible por usar
lenguajes que implementan MVC

2. Evolución de las metodologías Web

A continuación voy a explicar alguna (no todas), las metodologías/diagramas o
modelos que tratan de solucionar el modelado web:

2.1. Entidad-Relación

Aunque es un buen diagrama y podría ser necesario para toda aplicación web,
solo modela una parte del sistema, la capa del modelo de datos, si bien puede ser
usado como complemento lo bueno sería buscar un único lenguaje de modelado
que nos permitiera modelar todo y de forma más integrada. Esto es así porque
sencillamente ER no fue diseñado para el uso de modelado de aplicaciones Web.

2.2. HDM

Basado en el modelo E/R. El objetivo era crear un modelo que fuera de utilidad
para realizar el diseño de una aplicación de hipertexto. Es un intento de modelar
la estructura del hipertexto-hipermedia, una modelización de las estructuras de
navegación. Crear un modelo antes de desarrollar un hipertexto nos ayudará a
conseguir una navegación más consistente y rica. En HDM la estructura de
navegación viene marcada por la estructura de datos. Fue en principio usado
para páginas estáticas.

2.3. RMM

Basado en E/R. Esta metodología es apropiada para clases de objetos bien
definidas, y con claras relaciones entre esas clases Está orientada a problemas
con datos dinámicos que cambian con mucha frecuencia, más que a entornos
estáticos como HDM Sin embargo, los mecanismos de acceso a la información
son excesivamente simples y valen para un problema con pocas entidades, pero
el modelo se queda corto si hay gran número de ellas.

4

2.4. WebML

En principio no coge nada de UML, aunque actualmente existen diagramas que
los relacionan. Es una notación visual para el diseño de aplicaciones Web comple-
jas que hacen uniso de datos intenso. Provee especificaciones gráficas formales
para un proceso de diseño completo que puede ser asistido por herramientas
de diseño visuales. Tiene UNA herramienta comercial CASE orientada a jsp
(WebRatio). Realmente es un plugin de Eclipse. Estructura WebML Sitio =
Estructura + Composición + Navegación + Presentación

3. WAE y WAE2

Es el único exclusivamente basado en UML. Ha sido desarrollado por Jim
Conallen, empleado de Rational Software Corporation. WAE como UML es
recomendado usarlo en lenguajes orientados a objetos. Jim opta por ampliar
UML sencillamente porque es más barato hacer un estandar ampliando que
creándolo de cero. Lo primero que se plantea es que las aplicaciones Web pre-
sentan problemas que UML no contempla solución. UML no facilita la tarea de
diferenciar código cliente (scripts) de código servidor. UML puede ser extendido
para permitir una nueva semántica : estereotipos, listados de etiquetas(tags) y
restricciones(constraints):

Estereotipos: define una nueva semántica al modelo.

Lista de etiquetas: podemos entregar una lista de campo-valor.

Restricciones : definen las reglas para trabajar con determinados estereoti-
pos. Estereotipos en clases Define los siguientes estereotipos para las en-
tidades.

3.1. Tipos de estereotipos

3.1.1. En las entidades

Esto son los principales estereotipos que se definen:

<<Server Page>> Son las páginas que contienen scripts o código eje-
cutable por el servidor. (.php , .asp , .jsp)

<<Client Page>> Son las páginas que estan en el lado del cliente,
normalmente páginas HTML y scripts (jsvascript).

<<Form>> Es la representación de un formulario. Es código HTML que
contiene etiquetas de formulario como : <input>, <textarea>, <select>
...

5

Estos estereotipos se pueden ampliar con mucha flexibilidad. Otros ejemplos de
estereotipo pueden ser : <<Javascript>>, <<Applet>> o <<Flash>>.

3.1.2. En las relaciones

Define los siguientes estereotipos para las relaciones:

<<build>> Una relación entre una página servidor y una página cliente.
La página servidor ”construye” a la página cliente.

<<link>> Es una relación
  • Links de descarga
http://lwp-l.com/pdf17466

Comentarios de: Aplicaciones Web con UML (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad