Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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:
planteada.
IACC-2020
2
SEMANA 2 – MODELAMIENTO DE DATOS
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
Antes de continuar…
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:
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:
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.
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
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
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.
IACC-2020
9
SEMANA 2 – MODELAMIENTO DE DATOS
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.
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
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).
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:
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.
¿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.
• 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.
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.
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:
En el caso de los sistemas de aplicación asistidos por ordenador, las actividades especifican los
procesos a nivel de sistema.
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.
IACC-2020
14
SEMANA 2 – MODELAMIENTO DE DATOS
IACC-2020
15
SEMANA 2 – MODELAMIENTO DE DATOS
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.
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.
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.
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.
%20Vista%20de%20interaccion.pdf
IACC-2020
19
SEMANA 2 – MODELAMIENTO DE DATOS
IACC-2020
20