Está en la página 1de 20

SEMANA 2 – MODELAMIENTO DE DATOS

HERRAMIENTAS DE MODELAMIENTO
HERRAMIENTAS DE MODELAMIENTO
SEMANA 2
SEMANA 2
Vistas y Diagramas en UML
Vistas y Diagramas en UML

IACC-2020
1
SEMANA 2 – MODELAMIENTO DE DATOS

APRENDIZAJES ESPERADOS
El estudiante será capaz de:

Analizar las principales vistas al interior de UML


según sus usos y funciones, al interior de una
problemática.

planteada.

IACC-2020
2
SEMANA 2 – MODELAMIENTO DE DATOS

APRENDIZAJES ESPERADOS ............................................................................................................ 2


INTRODUCCIÓN ............................................................................................................................. 4
1. VISTAS Y DIAGRAMAS EN UML ............................................................................................... 5
1.1. VISTA ESTÁTICA. DEFINICIÓN Y CARACTERÍSTICAS. ...................................................... 6
1.2. VISTA DE DISEÑO. DEFINICIÓN Y CARACTERÍSTICAS..................................................... 8
1.3. VISTA DE CASOS DE USO. DEFINICIÓN Y CARACTERÍSTICAS. ...................................... 10
1.4. VISTA DE MÁQUINA DE ESTADOS. DEFINICIÓN Y CARACTERÍSTICAS. ......................... 11
1.5. VISTA DE ACTIVIDADES. DEFINICIÓN Y CARACTERÍSTICAS. ......................................... 12
1.6. VISTA DE INTERACCIÓN. DEFINICIÓN Y CARACTERÍSTICAS. ........................................ 14
1.7. VISTA DE DESPLIEGUE. DEFINICIÓN Y CARACTERÍSTICAS. .......................................... 15
1.8. VISTA DE GESTIÓN. DEFINICIÓN Y CARACTERÍSTICAS................................................. 17
COMENTARIO FINAL .................................................................................................................... 18
REFERENCIAS ............................................................................................................................... 19

IACC-2020
3
SEMANA 2 – MODELAMIENTO DE DATOS

INTRODUCCIÓN
La descripción de los sistemas o el desarrollo instalaciones eléctricas, las instalaciones
de software que se realiza con UML se hace a hidráulicas, el diseño exterior, etc.
través de vistas. Las vistas, a su vez, están
integradas por diagramas. Esta estrategia Así pues, es necesario utilizar conjuntos
parte del hecho de que un solo diagrama no separados de diagramas, como lo son las
puede expresar toda la información que se vistas, para representar proyecciones del
requiere para describir un sistema. Si se hace sistema relacionadas con aspectos
un símil con una edificación, no es posible particulares funcionales y no funcionales. En
esta unidad se definirán las principales vistas
elaborar un solo plano que contenga todos los
detalles de su construcción; en lugar de ello, que componen el lenguaje UML, así como sus
se dibujan planos que presentan diferentes características distintivas.
aspectos del edificio: la estructura, las

IACC-2020
4
SEMANA 2 – MODELAMIENTO DE DATOS

1. VISTAS Y DIAGRAMAS EN UML

Antes de continuar…

¿Las representaciones graficas nos ayudan a comprender el


problema que queremos modelar?

La práctica de crear diagramas para visualizar sistemas desde perspectivas o vistas diferentes no
está limitada a la industria de la construcción. En el contexto del software, existen cinco vistas
complementarias que son las más importantes para visualizar, especificar, construir y documentar
la arquitectura del software. En el UML, las vistas existentes son:

a) Vista casos de uso: se forma con los diagramas de casos de uso, colaboración, estados y
actividades.
b) Vista de diseño: se forma con los diagramas de clases, objetos, colaboración, estados y
actividades.
c) Vista de procesos: se forma con los diagramas de la vista de diseño. Recalcando las clases y
objetos referentes a procesos.
d) Vista de implementación: se forma con los diagramas de componentes, colaboración,
estados y actividades.
e) Vista de despliegue: se forma con los diagramas de despliegue, interacción, estados y
actividades.

Como podemos ver, el número de diagramas es muy alto, en la mayoría de los casos excesivo. UML
permite definir solo los necesarios, ya que no todos son requeridos en todos los proyectos.

UML está pensado para el modelado tanto de pequeños sistemas como de sistemas complejos, y
debemos tener en cuenta que los sistemas complejos pueden estar compuestos por millones de
líneas de código y ser realizados por equipos de centenares de programadores.

En la práctica todos los diagramas son bidimensionales, pero el UML permite crear diagramas en
tres dimensiones, como en modelos donde se puede "entrar" para poder visualizarlos por dentro.

Con UML nos debemos olvidar del protagonismo excesivo que se le da al diagrama de clases, este
representa una parte importante del sistema pero solo representa una vista estática, es decir,

IACC-2020
5
SEMANA 2 – MODELAMIENTO DE DATOS

muestra al sistema parado. Sabemos su estructura, pero no sabemos qué le sucede a sus diferentes
partes cuando el sistema empieza a funcionar. En la siguiente imagen, se muestra un diagrama que
relaciona las diferentes vistas que puede tener un modelo con diagramas específicos que
caracterizan a dicho modelo:

Imagen 1. Vistas y diagramas en UML


Fuente: https://www.nubeando.com/2018/04/introduccion-al-uml_2.html

1.1. VISTA ESTÁTICA. DEFINICIÓN Y CARACTERÍSTICAS.

¿Las clases y los objetos de la programación orientada a


objetos pueden diagramarse?

IACC-2020
6
SEMANA 2 – MODELAMIENTO DE DATOS

En esta vista se modelan los conceptos del dominio de la aplicación, sus propiedades internas y sus
relaciones. Se denomina vista estática porque no modela comportamiento del sistema dependiente
del tiempo. Entre los componentes principales de esta vista, están:

• Clases: describen conceptos del dominio de la aplicación o de la solución.


• Relaciones:
o Asociación
o Generalización
o Dependencia: realización y uso

Entre los diagramas utilizados en esta vista se puede mencionar el diagrama de clases, que se
define como una colección de elementos de modelado estático como clases, tipos, sus contenidos
y relaciones.

Entre las características que distinguen a esta vista, se puede mencionar:

• Su función es capturar la estructura de los objetos.


• Describe las declaraciones de comportamiento, pero no los detalles de dicho
comportamiento (eso se hace en otras vistas).
• Es la base para el resto de vistas.
• Sus elementos claves son los clasificadores (describen cosas que contienen valores) y sus
relaciones (asociación, generalización y varios tipos de dependencias).

En las siguientes unidades se profundizará a detalle sobre los componentes y conceptos claves de
esta vista dentro de UML.

IACC-2020
7
SEMANA 2 – MODELAMIENTO DE DATOS

Imagen 2. Ejemplo de diagrama de clases utilizado en la vista estática


Fuente: https://diagramasuml.com/diagrama-de-clases/

1.2. VISTA DE DISEÑO. DEFINICIÓN Y CARACTERÍSTICAS.

La vista de diseño de un sistema comprende las clases, interfaces y colaboraciones que forman el
vocabulario del problema y su solución. Con UML, los aspectos estáticos de esta vista se capturan
en los diagramas de clases y de objetos, mientras que los aspectos dinámicos se capturan en los
diagramas de interacción, diagramas de estados y diagramas de actividades.

La vista de procesos de un sistema comprende los hilos y procesos que forman los mecanismos de
sincronización y concurrencia del sistema. Esta vista cubre principalmente el funcionamiento,
capacidad de crecimiento y rendimiento del sistema.

Con UML los aspectos estáticos y dinámicos de esta vista se capturan en el mismo tipo de diagramas
que la vista de diseño, pero con énfasis en las clases activas que representan estos hilos y procesos.

IACC-2020
8
SEMANA 2 – MODELAMIENTO DE DATOS

En esta vista se muestran las decisiones sobre la descomposición de


un sistema en unidades modulares con límites de encapsulamiento e
interfaces externas. Aunque los elementos de esta vista son más
abstractos que el código final en el cual se implementa el sistema,
exige de un conocimiento de dicho código para saber los
compromisos de implementación necesarios.

Las piezas usadas en esta vista se denominan componentes, los cuales poseen un conjunto de
interfaces externas y una implementación interna, la que es ocultada por dichas interfaces (puede
ser solo una) al mundo exterior. Esto permite también que durante la implementación cualquier
componente que soporte una interfaz pueda ser sustituido por ella y desarrollarse de manera
independiente de sus implementaciones internas. Esto es así porque la función de una interfaz es
ser una caja negra para quien la llame.

La vista de diseño está formada por el clasificador estructurado, la colaboración, el patrón y el


componente.

Imagen 3. Ejemplo de un diagrama de componentes de la vista de diseño


Fuente: http://manzanaseideas.blogspot.com/2014/05/capitulo-11-vista-de-diseno-ii.html

IACC-2020
9
SEMANA 2 – MODELAMIENTO DE DATOS

1.3. VISTA DE CASOS DE USO. DEFINICIÓN Y CARACTERÍSTICAS.

¿El comportamiento de un proceso se puede modelar por


medio de un diagrama?

La vista de casos de uso describe el comportamiento del sistema tal y como es percibido por los
usuarios finales, analistas y encargados de las pruebas.

Ensamblado del sistema


Vocabulario, Gestión de configuraciones
funcionalidad

Vista de
Vista de Diseño
implementación

Vista de
Comportamiento
Casos de uso

Vista de
Vista de procesos
Despliegue

Funcionamiento
Topología del
Capacidad
sistema,
De crecimiento,
Distribucion,
rendimiento
Modelado de la arquitectura de un sistema Entrega
instalación

Imagen 4. Modelado utilizando vistas


Fuente: Elaboración Propia

IACC-2020
10
SEMANA 2 – MODELAMIENTO DE DATOS

No es casual que en cualquier figura que hable de las vistas UML, la vista de casos de uso se
represente en el centro de todas, haciendo el papel de enlace, pues esta constituye efectivamente
el hilo conductor de todo el proceso de desarrollo, pese a que es la única que no describe aspectos
de la construcción del sistema, sino de su comportamiento. La vista de casos de uso muestra la
funcionalidad del sistema, tal como es percibida por actores externos.

La vista de casos de uso es utilizada por todos los participantes en el proceso de desarrollo: los
clientes, pues a través de ella se definen y expresan los requerimientos del sistema; y los equipos
de diseño, desarrollo y pruebas, pues tal como se mencionó arriba, conduce todo el proceso de
desarrollo y verificación.

Utiliza los siguientes diagramas: Diagramas de Casos de Uso y Diagramas de Actividad (opcional).

1.4. VISTA DE MÁQUINA DE ESTADOS. DEFINICIÓN Y CARACTERÍSTICAS.

En esta vista, se utiliza un diagrama con el fin de identificar cada una de las rutas o caminos que
puede tomar un flujo de información luego de ejecutarse cada proceso. Permite identificar bajo qué
argumentos se ejecuta cada uno de los procesos y en qué momento podrían tener una variación. El
diagrama de estados permite visualizar de una forma secuencial la ejecución de cada uno de los
procesos. Los diagramas de máquina de estados ofrecen un método orientado a objetos de mostrar
el comportamiento de un objeto y documentar cómo este responde a determinados eventos,
incluidos estímulos internos y externos.

Como ejemplo, el siguiente diagrama de máquina de estado muestra los estados que una puerta
atraviesa durante su tiempo de vida:

Imagen 5. Diagrama de estados


Fuente: http://manzanaseideas.blogspot.com/2014/05/capitulo-11-vista-de-diseno-ii.html

IACC-2020
11
SEMANA 2 – MODELAMIENTO DE DATOS

La puerta puede estar en uno de tres estados: “Opened” (Abierta), “Closed” (Cerrada) o “Locked”
(Bloqueada). Puede responder a tres estados: Abrir, Cerrar y Bloquear. Se debe tener en cuenta
que no todos los eventos son válidos en todos los estados: por ejemplo, si una puerta está abierta,
no la puede bloquear hasta que la cierre. También tener en cuenta de que, como una transición de
estado, puede tener una condición de guarda adjunta. Si la puerta está abierta, esta solo puede
responder al evento Cerrar si la condición doorWay->isEmpty está completa.

1.5. VISTA DE ACTIVIDADES. DEFINICIÓN Y CARACTERÍSTICAS.

¿Es funcional poder ver de manera gráfica el flujo de las tareas o actividades de un proceso?

Esta vista muestra el flujo de actividades de un sistema. Un diagrama de actividades muestra el flujo
de control general y es parecido al diagrama de flujo. Admite semántica de concurrencia y
sincronización, permite modelar decisiones y se puede usar para modelar negocios.

Entre las características de esta vista, se puede mencionar:

• Permite describir un proceso de negocio o un flujo de trabajo entre los usuarios y el sistema.
• Describe los pasos que se realizan en un caso de uso.
• Se utilizan para describir un método, una función o una operación en el software.
• Dibujar un diagrama de actividades puede ayudar a mejorar un proceso. Si el diagrama de
un proceso existente resulta muy complejo, se puede considerar cómo se podría simplificar
el proceso.
• También estos diagramas permiten obtener información de referencia sobre los elementos
de diagramas de actividades.

El propósito de los diagramas de actividad:

Los diagramas de actividades UML pertenecen al grupo de diagramas de comportamiento en UML.


Mientras que un diagrama de estructura registra el estado de un sistema, es decir, los objetos
existentes y sus jerarquías, así como las conexiones entre ellos en un momento determinado, los
diagramas de comportamiento describen el flujo cronológico de la circulación de datos. Además del
diagrama de actividades, el diagrama de caso de uso y el diagrama de máquina de estados también
pertenecen a este grupo. Los diagramas de actividades son similares en su uso y notación a los
diagramas de flujo (especialmente a los diagramas de programas), pero se adaptan a la
programación orientada a objetos.

Básicamente, se puede decir que el diagrama de actividades modela el flujo de actividades. Estos
pueden ser procesos dentro de un sistema informático, procesos de casos de uso o procesos
comerciales. Por ejemplo, la actividad “preparar una tortilla de queso” puede descomponerse en

IACC-2020
12
SEMANA 2 – MODELAMIENTO DE DATOS

muchas actividades secundarias más pequeñas: las acciones, que pueden llevarse a cabo
cronológicamente. Una acción, por ejemplo, sería “cascar los huevos” y vendría seguida de la acción
“batir los huevos con especias”. La segunda acción está supeditada a la primera, están en un estado
de evolución, por así decirlo.

También pueden representarse procesos paralelos. Por ejemplo, en el caso de que sean dos
personas las que preparan la tortilla, es posible que las acciones de “cascar los huevos” y “picar las
especias” sean simultáneas. Por lo tanto, la actividad tiene dos puntos de partida, desde que las
personas comienzan su actividad, moviéndose de una acción a otra. En el diagrama de actividades,
los dos actores de la acción (las dos personas) desempeñan un papel importante, pero no reciben
notación propia. Se mueven de un punto de partida a un punto final, atravesando los flujos de
prueba u objetos para pasar de una acción a la siguiente. En el camino hay obstáculos ocasionales,
los llamados pines, que solo dejan pasar bajo ciertas condiciones, por ejemplo, cuando ambas
personas están presentes.

En el diagrama de actividades, estas “personas” se denominan tokens. Hay dos tipos de tokens en
el diagrama de actividades UML: el primero es el objeto token, que transmite información a los
nodos de acción, inicia allí una acción y (si se especifica) almacena el resultado como un valor. Si el
resultado y el token corresponden a las especificaciones definidas en un pin, este pin de salida envía
el objeto token mediante un flujo de objetos a la siguiente acción. Antes de que el token pueda
iniciar esta acción, debe cumplir con las especificaciones del pin de entrada. Los tokens de control,
por otra parte, solo migran a través de flujos de control y sirven como marcadores. Inician una
acción, pero no transmiten ningún dato.

Imagen 6. Ejemplo de diagrama de actividades


Fuente: http://stadium.unad.edu.co/ovas/10596_9839/diagramas_de_actividades.html

IACC-2020
13
SEMANA 2 – MODELAMIENTO DE DATOS

Por supuesto, los diagramas de actividades UML no solo se utilizan para casos de aplicación de la
vida diaria. En primera instancia, ayudan a presentar los procesos de los sistemas de software de
forma estructurada y con ellos, los analistas económicos, por ejemplo, hacen especificaciones a los
desarrolladores de software. Utilizando el lenguaje gráfico, los expertos intercambian información
de forma clara y comprensible universalmente. Una vez que se han aclarado todos los procesos y se
han eliminado los errores, el diagrama de actividades sirve como una plantilla limpia para la
programación.

El Object Management Group (OMG), que especifica el lenguaje unificado de modelado (UML),
resume las posibles tareas de los diagramas de actividades UML de la siguiente manera:

• Programación informática procedimental que asigna jerarquías a las actividades.


• En los modelos orientados a objetos, las actividades actúan como métodos que describen
los procesos con más detalle.
• Visualización de flujos de trabajo y procesos empresariales.

En el caso de los sistemas de aplicación asistidos por ordenador, las actividades especifican los
procesos a nivel de sistema.

1.6. VISTA DE INTERACCIÓN. DEFINICIÓN Y CARACTERÍSTICAS.

Esta vista permite mostrar a las personas que corresponda la secuencia de intervalos de los
mensajes que se envían los distintos objetos entre sí para poder interaccionar unos con otros y hacer
que el sistema funcione.

Se conoce como interacción a un conjunto de mensajes que son intercambiados por objetos a través
de conectores, modelando de este modo la ejecución de un caso de uso u otra entidad de
comportamiento. Dichos mensajes se muestran en los diagramas de secuencia y de comunicación,
y son unidireccionales.

Así, la interacción es la unidad de comportamiento que se centra en el intercambio de información


observable entre elementos que pueden conectarse:

• La comunicación se realiza mediante mensajes


• Viene dada por un par de conjuntos de trazas (secuencias de eventos): trazas válidas e
inválidas. La unión de esos conjuntos no cubre necesariamente el universo entero de trazas
• Las interacciones se pueden especializar añadiendo más trazas a la interacción original
• Entre los diagramas de esta vista, destacan:
o Diagrama de secuencia: hace hincapié en la secuencia de intercambio de mensajes
entre objetos

IACC-2020
14
SEMANA 2 – MODELAMIENTO DE DATOS

o Diagrama de comunicación (colaboración): se centra en las interacciones y enlaces


entre objetos que colaboran
o Diagrama de visión global de la interacción: variante del diagrama de actividad que
muestra el flujo de control de la interacción a alto nivel
o Diagrama de tiempo: diagrama de interacción que muestra sobre un eje de tiempo
los cambios de estado o condición de una instancia o papel de clasificador

Imagen 7. Ejemplo de un diagrama de secuencias de la vista de interacción


Fuente: http://manzanaseideas.blogspot.com/2014/08/capitulo-16-la-vista-de-interaccion.html

1.7. VISTA DE DESPLIEGUE. DEFINICIÓN Y CARACTERÍSTICAS.

¿Cómo se puede representar el tiempo de ejecución de un sistema?

IACC-2020
15
SEMANA 2 – MODELAMIENTO DE DATOS

Un diagrama de despliegue modela la arquitectura en tiempo de ejecución de un sistema. Esto


muestra la configuración de los elementos de hardware (nodos) y muestra cómo los elementos y
artefactos del software se trazan en esos nodos. Un nodo es un elemento de hardware o software.

La vista de despliegue de un sistema contiene los nodos que forman la topología hardware sobre la
que se ejecuta el sistema, la distribución, entrega e instalación de las partes que constituyen el
sistema físico. En UML, los aspectos estáticos de esta vista se capturan en los diagramas de
despliegue, mientras que los aspectos dinámicos se capturan en los diagramas de interacción,
diagramas de estado y diagramas de actividades.

Imagen 8. Ejemplo vista de despliegue


Fuente: IBM© 2006
https://cgrw01.cgr.go.cr/rup/RUP.es/SmallProjects/core.base_rup/guidances/concepts/deployment_view_64CB74A6.ht
ml

La vista de despliegue muestra la distribución física de procesos del sistema. Hay cuatro vistas
adicionales, la vista de guión de uso (gestionada en el flujo de trabajo de requisitos), la vista lógica,

IACC-2020
16
SEMANA 2 – MODELAMIENTO DE DATOS

la vista de proceso y la vista de implementación; estas vistas se gestionan en los flujos de trabajo de
implementación, análisis y diseño.

Entre las características de esta vista, destacan:

• Se muestra un conjunto de nodos y sus relaciones.


• Se utilizan para describir la vista de despliegue estática de un sistema.
• Se relacionan con los diagramas de componentes, ya que un nodo normalmente incluye uno
o más componentes.

En general, los diagramas de despliegue muestran la configuración en funcionamiento del sistema,


incluyendo su software y su hardware. Para cada componente de un diagrama, es necesario que se
documenten las características técnicas requeridas, el tráfico de la red y el tiempo de respuesta.

1.8. VISTA DE GESTIÓN. DEFINICIÓN Y CARACTERÍSTICAS.

La vista de gestión del modelo permite dividir el sistema en unidades más pequeñas para que se
comprenda mejor, y si la implementación del sistema se lleva a cabo por diferentes personas o
equipos, permite a cada uno trabajar con una cantidad limitada de información, evitando así la
sobresaturación y la interferencia de trabajo entre ellos. Además ayuda a mejorar el mantenimiento
del modelo, ya que los cambios solo se realizarán en un paquete sin que afecten a los otros. Para
ello, el modelo se divide en paquetes que están interrelacionados.

La vista de gestión o implementación de un sistema comprende los componentes y archivos que se


utilizan para ensamblar y hacer disponible el sistema físico. Se preocupa de la gestión de
configuración de las distintas versiones de un sistema, a partir de componentes y archivos un tanto
independientes y que pueden ensamblarse de varias formas para producir un sistema en ejecución.

Imagen 9. Ejemplo de un diagrama de paquetes usado en la vista de gestión


Fuente: http://manzanaseideas.blogspot.com/2014/08/capitulo-18-la-vista-de-gestion-del.html

IACC-2020
17
SEMANA 2 – MODELAMIENTO DE DATOS

COMENTARIO FINAL
Es importante destacar que UML es la mejor solución para todos los profesionales relacionados con
el Análisis de Sistemas, ya que si nos tocara trabajar en un proyecto de software en el cual sabemos
que el número de integrantes no es para nada reducido, sin la aplicación de UML se hace engorroso
ponerse de acuerdo en las metodologías que se utilizarán y en las notaciones que se emplearán para
cada modelo (ya sea de análisis o de implementación). Es por ello que este nuevo paradigma de
diseño nos posibilita unificar todos nuestros criterios, para un posterior entendimiento y mejor
organización de los proyectos, y esto se realiza a través de sus vistas o diagramas.

Como desventaja (aunque para algunos no lo sería), podemos destacar que UML permite
especificar, visualizar y construir softwares, pero orientado a objetos. Para aquellos que prefieran
las metodologías estructuradas deberán esperar a que surja un Lenguaje Unificado de Modelado
Estructurado. Pensamos que esto no sucederá, a lo sumo aparecerá alguna extensión de UML para
considerar algún aspecto del modelo estructurado, pero a nuestro parecer no sería muy justificable,
porque a lo que se apunta en la actualidad es a la aplicación de metodologías orientadas a objetos,
pues estas brindan muchas ventajas y solucionan muchos de los problemas que surgen en las
metodologías estructuradas.

Además de la estructura estática y del comportamiento dinámico, las vistas funcionales se pueden
utilizar para describir los sistemas. Las vistas funcionales ilustran la funcionalidad que proporciona
un sistema. Los casos de uso son las descripciones funcionales del sistema. Normalmente, son
modelados en la etapa de análisis de requisitos para describir y capturar cómo los actores podrían
utilizar un sistema. Los diagramas de casos de uso deberían capturar solamente cómo un actor
puede usar un sistema, pero no cómo debe ser construido dicho sistema. Las clases y las
interacciones implementan los casos de uso en el sistema, estando estas últimas expresadas en
diagramas de secuencia y/o colaboración. Entonces, hay un enlace entre la visión funcional y la
visión dinámica del sistema. Las clases utilizadas en la implementación de los casos de uso son
modeladas y descritas en los diagramas de clase, en los diagramas de estado y/o actividad.

IACC-2020
18
SEMANA 2 – MODELAMIENTO DE DATOS

REFERENCIAS
García, F. y García, A. (2017). Ingeniería de Software I - Fundamentos de la Vista de Interacción.

España. Recuperado de: https://repositorio.grial.eu/bitstream/grial/1157/1/UML%20-

%20Vista%20de%20interaccion.pdf

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2020). Vistas y Diagramas en UML. Modelamiento de Datos. Semana 2.

IACC-2020
19
SEMANA 2 – MODELAMIENTO DE DATOS

IACC-2020
20

También podría gustarte