Sei sulla pagina 1di 33

HERRAMIENTAS DE MODELAMIENTO UML

SEMANA 2
El Lenguaje de Modelado Unificado (UML)

Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni 1
ESTE
utilizarDOCUMENTO
los contenidos paraCONTIENE LAdeSEMANA
fines comerciales 2
ninguna clase.
2
ESTE DOCUMENTO CONTIENE LA SEMANA 2
ÍNDICE

EL LENGUAJE DE MODELADO UNIFICADO (UML) ............................................................................... 5


OBJETIVOS ESPECÍFICOS ...................................................................................................................... 5
INTRODUCCIÓN ................................................................................................................................... 5
1. DEFINICIÓN.................................................................................................................................. 6
2. HISTORIA ..................................................................................................................................... 6
3. OBJETIVOS DE UML ..................................................................................................................... 7
4. ÁREAS CONCEPTUALES DE UML .................................................................................................. 7
3.1 ESTRUCTURA ESTÁTICA ..................................................................................................... 11
3.2 COMPORTAMIENTO DINÁMICO........................................................................................ 12
3.3 CONSTRUCCIONES DE IMPLEMENTACIÓN ........................................................................ 13
3.4 ORGANIZACIÓN DEL MODELO .......................................................................................... 13
3.5 MECANISMOS DE EXTENSIÓN ........................................................................................... 14
5. ¿POR QUÉ USAR UML? .............................................................................................................. 16
6. TIPOS DE DIAGRAMAS DE UML ................................................................................................. 16
6.1. DIAGRAMAS DE ESTRUCTURA .......................................................................................... 16
6.2. DIAGRAMAS DE COMPORTAMIENTOS.............................................................................. 20
6.3. DIAGRAMA DE INTERACCIÓN ............................................................................................ 23
7. HERRAMIENTAS DE TRABAJO CON UML ................................................................................... 27
7.1. ARGO UML......................................................................................................................... 28
7.1.1. INSTALACIÓN ............................................................................................................. 29
7.1.2. USO ............................................................................................................................ 30
COMENTARIO FINAL.......................................................................................................................... 31
REFERENCIAS ..................................................................................................................................... 32

3
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Imagen 1: Instancias de una clase ....................................................................................................... 8
Imagen 2: Ejemplo de Estructura Estática ........................................................................................ 11
Imagen 3: Ejemplo de Diagrama de Secuencia ................................................................................. 13
Imagen 4: Ejemplo de Estereotipo .................................................................................................... 15
Imagen 5: Ejemplo de Valores Etiquetados ...................................................................................... 15
Imagen 6: Ejemplo de Restricciones ................................................................................................. 16
Imagen 7: Ejemplo de Diagrama de Clases ....................................................................................... 17
Imagen 8: Ejemplo de Diagrama de Objetos..................................................................................... 18
Imagen 9: Ejemplo de Diagrama de Paquetes .................................................................................. 18
Imagen 10: Ejemplo de Diagrama de Despliegue ............................................................................. 19
Imagen 11: Ejemplo de Diagrama de Estructura Compuesta ........................................................... 19
Imagen 12: Ejemplo de Diagrama de Componentes......................................................................... 20
Imagen 13: Ejemplo de Diagrama de Casos de Uso .......................................................................... 21
Imagen 14: Ejemplo Diagrama de Estado ......................................................................................... 22
Imagen 15: Diagrama de Actividad ................................................................................................... 23
Imagen 16: Ejemplo de Diagrama de Secuencia ............................................................................... 24
Imagen 17: Ejemplo de Diagrama de Colaboración .......................................................................... 25
Imagen 18: Ejemplo de Diagrama de Comunicación ........................................................................ 26
Imagen 19: Ejemplo de Diagrama de Interacción ............................................................................. 26
Imagen 20: Ejemplo de Diagrama de Tiempo ................................................................................... 27

4
ESTE DOCUMENTO CONTIENE LA SEMANA 2
EL LENGUAJE DE MODELADO UNIFICADO (UML)

OBJETIVO ESPECÍFICO
 Analizar áreas conceptuales y herramientas para trabajo del lenguaje de modelado
unificado (UML).

INTRODUCCIÓN
El lenguaje UML es un lenguaje unificado de diagrama o notación, a través del cual se visualiza,
especifica y documenta los esquemas que representan sistemas de aplicaciones orientadas a
objetos. Es decir, ayuda a visualizar el diseño de un sistema y permite hacerlo más accesible para
otros usuarios, sin embargo, este no es un método de desarrollo que permita saber qué hacer o
cómo diseñar el sistema, solo representa una visión general o detallada, dependiendo del
diagrama que se use.

UML fue diseñado para sistemas orientados a objetos, por lo tanto, no necesariamente sirve para
ser usado en otros tipos de sistemas o aplicaciones. En este tipo de herramienta existe una
variedad de elementos que se usan para crear diversos tipos de diagramas que serán
profundizados posteriormente.

Esta herramienta nos permite expresarnos en un lenguaje común, facilitando la comunicación


entre los departamentos o áreas de una organización, donde los objetos representan un concepto,
tales como las personas, las cosas, los hechos, las ideas, etc.

5
ESTE DOCUMENTO CONTIENE LA SEMANA 2
1. DEFINICIÓN
El lenguaje de modelado unificado (UML, Unified Modeling Language) es un lenguaje gráfico para
visualizar, especificar y documentar cada una de las partes que comprende el desarrollo de
software. UML entrega una forma de modelar componentes conceptuales como lo son procesos
de negocio y funciones del sistema, además de cosas concretas como lo son escribir clases en un
lenguaje determinado, esquemas de base de datos y componentes de software reusables (Salinas,
2010).

2. HISTORIA
Este lenguaje empezó a crearse en el año 1994, cuando Jim Rumbaugh se unió a la compañía
Rational Software Corporation fundada por Grady Booch. Ambos eran investigadores en el área de
desarrollo de software y trabajaban en notaciones para el área de diseño y desarrollo de
aplicaciones computacionales.

El primer borrador de la investigación aparece en el año 1995, época en que se suma a los
creadores otro investigador llamado Jacobson, aportando ideas significativas para el desarrollo del
lenguaje.

Estas tres personas fueron nombradas los “tres amigos” fundadores del lenguaje, sin embargo,
posteriormente se hizo un llamado a la comunidad relacionada con el desarrollo del software para
que aportaran ideas. Así nace la primera versión de UML.

Las bases de UML se fundamentan en que es un lenguaje de modelado visual que se usa para
visualizar, construir y documentar los componentes de un software. Este lenguaje obtiene la
información sobre la estructura estática de una organización y el comportamiento dinámico que
forma el sistema. Los objetos que se utilizan para este modelado son discretos e interactúan entre
sí con el fin de ejecutar funciones que benefician a los usuarios.

 Si quieres profundizar sobre la historia de UML y los componentes


importantes de este lenguaje, puedes visitar el interesante sitio web
enlazado a continuación, donde se presenta un libro completo
relacionado con UML y su desarrollo.

https://goo.gl/4akpQQ

6
ESTE DOCUMENTO CONTIENE LA SEMANA 2
3. OBJETIVOS DE UML
Los objetivos planteados de UML que se consideran adecuados de conocer y comprender son:

 Proporcionar una notación y semánticas suficientes para poder alcanzar una gran cantidad
de aspectos del modelado contemporáneo de una forma directa y económica.
 Proporcionar las semánticas suficientes para alcanzar aspectos del modelado que son de
esperar en un futuro, como por ejemplo aspectos relacionados con la tecnología de
componentes, el cómputo distribuido, etc.
 Proporcionar mecanismos de extensión de forma que proyectos concretos puedan
extender el meta-modelo a un bajo costo.
 Proporcionar mecanismos de extensión de forma que aproximaciones de modelado
futuras podrían desarrollarse encima del UML.
 Proporcionar semánticas suficientes para especificar las interfaces a bibliotecas para la
comparación y el almacenamiento de componentes del modelo.
 Ser tan simple como sea posible pero manteniendo la capacidad de modelar toda la gama
de sistemas que se necesita construir.
 UML es un lenguaje de modelado de propósito general que pueden usar todos los
modeladores.
 Debe ser un lenguaje universal, como cualquier lenguaje de propósito general.
 Imponer un estándar mundial.
 Ser independiente del proceso de desarrollo y de los lenguajes de programación.

4. ÁREAS CONCEPTUALES DE UML


Los principales conceptos relacionados con UML tienen que ver con los conceptos de la
orientación a objeto, ya que es el objeto el componente básico de los modelos UML (Valencia,
1996).

Objeto: se trata de un ente abstracto usado en programación que permite separar los diferentes
componentes de un programa, simplificando así su elaboración, depuración y posteriores mejoras.

OBJETO EJEMPLO DE OBJETO


<Nombre Clase> <Estudiante>
<Atributos> Rut: (Caracter)

<Operaciones o Matricular(rut, carrera)


métodos> Inscribir(Rut, Asignatura)

Atributo: son las características o cualidades del objeto (también se denominan propiedades).

7
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Comportamiento: son las acciones, aquello que el objeto sabe o puede hacer.

Métodos: son aquellas funciones que permite efectuar el objeto y que nos rinden algún tipo de
servicio durante el transcurso del programa. Determinan a su vez cómo va a responder el objeto
cuando recibe un mensaje.

Eventos: son aquellas acciones mediante las cuales el objeto reconoce que se está interactuando
con él. De esta forma el objeto se activa y responde al evento según lo programado en su código.

Mensajes: aunque los objetos se han de diferenciar claramente en una aplicación, estos se han de
poder comunicar para poder trabajar en conjunto y construir así aplicaciones. Esto se hace posible
a través de lo que se denomina paso de mensajes. Cuando un objeto quiere comunicarse con otro
lo que hace es enviarle un mensaje con los datos que desea transmitir.

Clases: es una agrupación de objetos que tienen atributos en común. Consta de una serie de
métodos y datos que resumen las características de este objeto. Definir clases permite trabajar
con código reutilizable. Puesto que desde una clase se puede crear una instancia y así reutilizar el
código escrito para este sin tener que volver a escribir el código para la instancia.

Los objetos que pertenecen a una clase se denominan instancias.

En esta imagen se puede apreciar la clase


Empleado que instanciada por la Clase
Operario y la Clase Gerente. Esto se debe a que
tanto el operario como el gerente cumplen las
características de un empleado, pero con
funciones específicas.

Imagen 1. Instancias de una clase


Fuente: https://goo.gl/0mQ9Or

Instancia: se llama instancia a todo objeto que derive de algún otro. De esta forma, todos los
objetos son instancias de algún otro, menos la clase Object que es la madre de todas.

En el modelamiento UML existen jerarquías que se van obteniendo de las derivaciones que se
hacen de los objetos, los cuales van siendo instanciados, con lo que se va generando la herencia. El
mecanismo de la herencia permite definir nuevas clases a partir de clases existentes.

Herencia: mecanismo para compartir automáticamente métodos y datos entre clases, subclases y
objetos. Permite crear nuevas clases introduciendo las variaciones con respecto a su clase padre.

Herencia simple: una subclase puede heredar datos y métodos de una clase simple así como
añadir o sustraer ciertos comportamientos.

Herencia múltiple: posibilidad de adquirir métodos y datos de varias clases simultáneamente.

8
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Encapsulación: define el comportamiento de una clase u objeto que tiene dentro de él todo tipo
de métodos y datos pero que solo es accesible mediante el paso de mensajes y los datos a través
de los métodos del objeto/clase.

Polimorfismo: los objetos responden a los mensajes que se les envían. Un mismo mensaje puede
ser interpretado o dar paso a distintas acciones dependiendo qué objeto es el destinatario.

Con este sistema el emisor se desentiende de los detalles de la ejecución (aunque el programador
ha de saber en todo momento cuales son las consecuencias de ese mensaje).

Los conceptos planteados son la base para entender el sistema de modelamiento UML, porque
permiten entender cuáles son los componentes básicos y las características que tiene cada uno de
ellos.

FASES DEL DESARROLLO DE UN SISTEMA

En todos los sistemas de modelamiento existen algunas etapas que son fundamentales para la
creación de los mismos. Las fases del desarrollo de sistemas que soporta UML son: análisis de
requerimientos, análisis, diseño, programación y pruebas.

Análisis de requerimientos

UML tiene casos de uso (use-cases) para capturar los requerimientos del cliente. A través del
modelado de casos de uso, los actores externos que tienen interés en el sistema son modelados
con la funcionalidad que ellos requieren del sistema (los casos de uso). Los actores y los casos de
uso son modelados con relaciones y tienen asociaciones entre ellos o estas son divididas en
jerarquías. Los actores y casos de uso son descritos en un diagrama use-case. Cada use-case es
descrito en texto y especifica los requerimientos del cliente: lo que él (o ella) espera del sistema
sin considerar la funcionalidad que se implementará. Un análisis de requerimientos puede ser
realizado también para procesos de negocios, no solamente para sistemas de software.

Análisis

La fase de análisis abarca las abstracciones primarias (clases y objetos) y mecanismos que están
presentes en el dominio del problema. Las clases que se modelan son identificadas, con sus
relaciones y descritas en un diagrama de clases. Las colaboraciones entre las clases para ejecutar
los casos de uso también se consideran en esta fase a través de los modelos dinámicos en UML. Es
importante notar que solo se consideran clases que están en el dominio del problema (conceptos
del mundo real) y todavía no se consideran clases que definen detalles y soluciones en el sistema

9
ESTE DOCUMENTO CONTIENE LA SEMANA 2
de software, tales como clases para interfaces de usuario, bases de datos, comunicaciones,
concurrencia, etc.

Diseño

En la fase de diseño, el resultado del análisis es expandido a una solución técnica. Se agregan
nuevas clases que proveen de la infraestructura técnica: interfaces de usuario, manejo de bases de
datos para almacenar objetos en una base de datos, comunicaciones con otros sistemas, etc. Las
clases de dominio del problema del análisis son agregadas en esta fase. El diseño resulta en
especificaciones detalladas para la fase de programación.

Programación

En esta fase las clases del diseño son convertidas a código en un lenguaje de programación
orientado a objetos. Cuando se crean los modelos de análisis y diseño en UML, lo más aconsejable
es trasladar mentalmente esos modelos a código.

Pruebas

Normalmente, un sistema es tratado en pruebas de unidades, pruebas de integración, pruebas de


sistema, pruebas de aceptación, etc. Las pruebas de unidades se realizan a clases individuales o a
un grupo de clases y son típicamente ejecutadas por el programador. Las pruebas de integración
integran componentes y clases en orden para verificar que se ejecutan como se especificó. Las
pruebas de sistema son para determinar cómo está funcionando el sistema en relación con sus
partes y con las bases de datos relacionadas y las pruebas de aceptación son aquellas relacionadas
con los usuarios, para ver qué tan aceptable es el sistema por quienes lo manejan.

10
ESTE DOCUMENTO CONTIENE LA SEMANA 2
3.1ESTRUCTURA ESTÁTICA
Los diagramas de estructura estática muestran el conjunto de clases y objetos importantes que
hacen parte de un sistema, junto con las relaciones existentes entre estas clases y objetos.
Muestra de una manera estática la estructura de información del sistema y la visibilidad que tiene
cada una de las clases, dada por sus relaciones con las demás en el modelo.

Una buena definición de este tipo de estructura la da Microsoft (Microsoft, 2007) en su página de
soporte y de información relacionada con los sistemas.

 Diagramas conceptuales de estructura estática:

Un diagrama conceptual es un diagrama de estructura estática que representa conceptos del


mundo real y las relaciones entre ellos. Se centra en las relaciones y los atributos en vez de en los
métodos y ayuda al usuario a entender la terminología del área de dominio para la que está
desarrollando un sistema.

 Diagramas de estructura estática de clases:

Al igual que los diagramas conceptuales, los diagramas de clases son diagramas de estructura
estática que descomponen un sistema de software en sus partes. Sin embargo, en un diagrama de
clases los componentes son diagramas de estructura estática de clases que representan entidades
de software totalmente definidas en vez de objetos que representan conceptos del mundo real.

En este ejemplo se muestra la


estructura del sistema de un
sistema de certificación de
evaluadores. Este representa al
sistema en un momento dado y la
interacción que hay entre las clases.
A continuación se explica de manera
detalla este diagrama.

Imagen 2. Ejemplo de estructura


estática
Fuente: https://goo.gl/5wx5WA

A continuación se explican algunos aspectos del ejemplo de estructura estática haciendo mención
a los atributos que generalmente llevan una o más palabras unidas con el fin de clarificar su
función o características:

11
ESTE DOCUMENTO CONTIENE LA SEMANA 2
1 Para agregar atributo, atributooperación y otras propiedades a formas de
atributooperaciónclase, haga doble clic en una forma para abrir el cuadro de diálogo
Propiedades de la clase de UML.
2 Imagen del botón. Haga doble clic en una asociación para agregar características, como la
atributooperaciónclasemultiplicidad y atributooperaciónclasemultiplicidadexplorabilidad.
3 Callout 3. Además del nombre y el tipo que aparecen aquí, los atributos también pueden
incluir la atributooperaciónclasemultiplicidadexplorabilidadvisibilidad, un valor inicial, así
como especificar si el ámbito es de clase o de instancia.
4 Llamada 4. Defina totalmente los
atributooperaciónclasemultiplicidadexplorabilidadvisibilidadparámetro de una operación en
un diagrama cuando desee comunicar especificaciones de programación detalladas.

Además de diagrama de estructura estáticaclaseatributo y diagrama de estructura


estáticaclaseatributoasociación, un diagrama de clases también especifica diagrama de estructura
estáticaclaseatributoasociaciónoperación, métodos, interfaces y diagrama de estructura
estáticaclaseatributoasociaciónoperacióndependencia.

En esta imagen y explicación se puede apreciar un claro ejemplo de modelamiento UML, donde se
muestran gráficamente las clases, sus atributos, la instanciación, la herencia y muchos de los
términos definidos.

3.2COMPORTAMIENTO DINÁMICO
El comportamiento dinámico de un sistema está dado por aspectos relacionados con el tiempo y
con los cambios en los objetos y las relaciones entre estos objetos. En el modelo dinámico se
describe el control del sistema, es decir, la secuencia en las operaciones que ocurren en respuesta
a estímulos que están fuera del sistema. En este tipo de modelamiento no se toman en cuenta lo
que hacen las operaciones, sobre qué operan o cómo se implementan.

En este tipo de modelo los objetos se comunican entre sí a través de mensajes, lo cual recibe el
nombre de interacción. Estos diagramas (de interacción) junto a otros diagramas de UML (estado,
secuencia, comunicación, tiempo, actividad) describen la interacción dinámica en distintos
momentos durante la ejecución del sistema.

12
ESTE DOCUMENTO CONTIENE LA SEMANA 2
3.3CONSTRUCCIONES DE IMPLEMENTACIÓN
Los diagramas de implementación modelan la configuración de los elementos del procesamiento
en los tiempos de ejecución y de los componentes, proceso y objetos de software que residen en
ellos.

Los diagramas de secuencia son un buen ejemplo de los diagramas de implementación. A


continuación, se puede apreciar la explicación de uno de ellos (Microsoft, 2007).

Se inicia con el
Formulario que solicita
la búsqueda de un
candidato desde el
listado de personas que
sean candidatos. Se
ingresa la solicitud y es
agregada al sistema,
entregando como
resultado la persona
agregada.

Imagen 3. Ejemplo de Diagrama de Secuencia


Fuente: https://goo.gl/5wx5WA

La dimensión vertical de un diagrama de secuencia representa el tiempo, que transcurre a medida


que se avanza hacia abajo en la página. La dimensión horizontal representa los diferentes actores
u objetos.

3.4 ORGANIZACIÓN DEL MODELO


Los diagramas son necesarios para ver un sistema desde diferentes puntos, debido a que hay
varias personas a las que les interesa el sistema por distintas razones, y deben tener la capacidad
de expresar una visión consistente del sistema de diversas formas.

El UML cuenta con una arquitectura de cuatro capas. Tales capas se distinguen por la generalidad
de los elementos que en ellas residen.

13
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Define el lenguaje para especificar
CAPA1 Metametamodelado metamodelos (conceptos y reglas)

Define el lenguaje para especificar


CAPA2 Metamodelado modelos.

Define el lenguaje para describir un


CAPA3 Modelado dominio de información (sistema)

Define un dominio de información


CAPA4 Objetos de Usuario específico.

3.5MECANISMOS DE EXTENSIÓN
El modelamiento UML proporciona tres mecanismos para extender el lenguaje de manera
controlada. Estos mecanismos permiten configurar y extender UML a las necesidades de un
proyecto y adaptarse a nuevas tecnologías de software.

Los mecanismos de extensión de UML son:

Estereotipos: un estereotipo extiende el vocabulario de UML, permitiendo crear nuevos tipos de


bloques de construcción que deriven de los existentes pero que sean específicos a un problema.
En estos lenguajes, las excepciones son simplemente clases, aunque se tratan de formas muy
especiales. Normalmente solo se permitirá que sean lanzadas y capturadas, nada más. Para
modelar las excepciones se puede crear un estereotipo de una clase como muestra la figura.

Estereotipos El nuevo estereotipo <> será tratado como un bloque básico de construcción.

En la siguiente imagen se muestran 2 estereotipos: Import y Access. Import (Paquete Compra),


que describe la dependencia respecto del Paquete Recepción y Access que califica el nombre del
paquete Despacho, porque no se adiciona al paquete receptor.

14
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Imagen 4. Ejemplo de estereotipo
Fuente: https://goo.gl/7B9pf0

Valores etiquetados: un valor etiquetado extiende las propiedades de un bloque de construcción


de UML, permitiendo añadir nueva información en la especificación de ese elemento. Por ejemplo,
si se está trabajando en un producto que atraviesa muchas versiones a lo largo del tiempo, se
querrá registrar la versión y el autor de ciertas abstracciones críticas. La versión y el autor no son
conceptos primitivos de UML. Pueden ser añadidos a cualquier bloque de construcción
introduciendo nuevos valores etiquetados en dicho bloque.

Imagen 5. Ejemplo de valores etiquetados


Fuente: https://goo.gl/05600c

En el ejemplo se puede ver la Etiqueta en el Paquete Servidor para especificar el Procesador que
está representando, lo cual también se puede apreciar en la descripción del componente
<<Biblioteca>>.

Valores etiquetados de restricciones: una restricción extiende la semántica de un bloque de


construcción de UML, permitiendo añadir nuevas reglas o modificar las existentes. Como en la
siguiente figura solo se muestra la restricción de que el Cajero debe atender a los Clientes de
forma ordenada, ya sea por número o por posición.

15
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Imagen 6. Ejemplo de restricciones
Fuente: https://goo.gl/4xTzpp

5. ¿POR QUÉ USAR UML?


UML está consolidado como el lenguaje estándar en el análisis y diseño de sistemas de cómputo.
Mediante UML es posible establecer la serie de requerimientos y estructuras necesarias para
plasmar un sistema de software previo al proceso intensivo de escribir código (Latina, 2011).

Entre más complejo es el sistema que se desea crear más beneficios presenta el uso de UML. Las
razones de esto son evidentes, sin embargo, existen dos puntos claves: el primero se debe a que
mediante un plano/visión global resulta más fácil detectar las dependencias y dificultades
implícitas del sistema, y la segunda razón radica en que los cambios en una etapa inicial (análisis)
resultan más fáciles de realizar que en una etapa final de un sistema como lo sería la fase intensiva
de codificación (Latina, 2011)

Puesto que UML es empleado en el análisis para sistemas de mediana-alta complejidad, era de
esperarse que su base radicara en otro paradigma empleado en diseños de sistemas de alto nivel
que es la orientación a objetos, por lo que para trabajar en UML puede ser considerado un pre-
requisito tener experiencia en un lenguaje orientado a objetos (Latina, 2011).

6. TIPOS DE DIAGRAMAS DE UML


Los diagramas que se presentan a continuación están basados en las categorías de los principales
tipos de modelamiento UML.

A continuación se muestran los tipos de diagramas de estructura presentados en la web (Oriente,


2014):

6.1.DIAGRAMAS DE ESTRUCTURA
Entre los Diagramas de Estructura se incluyen los siguientes Diagramas:

DIAGRAMA DE CLASES

16
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Un diagrama de clases en Lenguaje Unificado de Modelado (UML) es un tipo de diagrama de
estructura estática que describe la estructura de un sistema mostrando las clases del sistema, sus
atributos, operaciones (o métodos), y las relaciones entre los objetos.

En este diagrama de
clases, se muestra cada
clase de un Sistema
Universitario con sus
atributos. Los atributos
que llevan un signo “+”
son públicos y los que
llevan un signo “–“ son
privados.
Las conexiones entre las
clases son las que
indican la dependencia,
herencia, entre otros
casos posibles.

Imagen 7: Ejemplo de Diagrama de Clases


Fuente: https://goo.gl/crdZDQ

DIAGRAMA DE OBJETOS

Este es un diagrama que muestra una vista completa o parcial de los objetos de un sistema en un
instante de ejecución específico.

Los diagramas de objeto están ligados a los diagramas de clase y comparten virtualmente los
mismos símbolos para la notación. Los diagramas de objetos pertenecen a la categoría de
diagramas estructurales en UML.

17
ESTE DOCUMENTO CONTIENE LA SEMANA 2
En este ejemplo se
muestra un
Diagrama de Objetos
simplificado de un
sistema de Vuelos en
Avión. Donde por
ejemplo, el motor
hereda las
características del
avión, pero suma sus
propias
características.

Imagen 8: Ejemplo de Diagrama de Objetos


Fuente: https://goo.gl/im5jMM

DIAGRAMA DE PAQUETES

Un diagrama de paquetes en el Lenguaje Unificado de Modelado representa las dependencias


entre los paquetes que componen un modelo. Es decir, muestra cómo un sistema está dividido en
agrupaciones lógicas y las dependencias entre esas agrupaciones.

Dado que normalmente un paquete está pensado como un directorio, los diagramas de paquetes
suministran una descomposición de la jerarquía lógica de un sistema.

En este diagrama de paquetes


se muestra el sistema de venta
de entradas, donde se hacen
los pedidos, determinando la
tarifa y el tipo de entrada a
vender, para luego gestionar el
tema de pago y los asientos
disponibles.

Imagen 9: Ejemplo de Diagrama de Paquetes


Fuente: https://goo.gl/YLq3YX

18
ESTE DOCUMENTO CONTIENE LA SEMANA 2
DIAGRAMA DE DESPLIEGUE

El Diagrama de Despliegue es un tipo de diagrama del Lenguaje Unificado de Modelado que se


utiliza para modelar la disposición física de los artefactos software en nodos (usualmente
plataforma de hardware)

En el ejemplo se muestra el
diagrama de despliegue de
una Aplicación Web, donde
se muestra la Aplicación, el
Servidor Web (Tomcat) y el
Servidor de Base de Datos
(MySQL), todos relacionados
con el Navegador Web.
Todos los nodos representan
las principales aplicaciones
del sistema

Imagen 10: Ejemplo de Diagrama de Despliegue


Fuente: https://goo.gl/dOsKZH

DIAGRAMA DE ESTRUCTURA COMPUESTA

Un diagrama de estructura es un tipo de diagrama en el Lenguaje de Modelado Unificado (UML),


que muestra la estructura interna de una clase y las colaboraciones que esta estructura hace
posibles. Esto puede incluir partes internas, puertas mediante las cuales, las partes interactúan
con cada una de las otras o mediante las cuales, instancias de la clase interactúan con las partes y
con el mundo exterior, y conectores entre partes o puertas. Una estructura compuesta es un
conjunto de elementos interconectados que colaboran en tiempo de ejecución para lograr algún
propósito. Cada elemento tiene algún rol definido en la colaboración.

En este diagrama se
muestra el Diagrama de
Estructura Compuesta de
Medios de Transporte,
donde cada uno de ellos
posee un motor pero el
desplazamiento se realiza a
través de otro
componente.

Imagen 11: Ejemplo de Diagrama de Estructura Compuesta


Fuente: https://goo.gl/HqCeBJ

19
ESTE DOCUMENTO CONTIENE LA SEMANA 2
DIAGRAMA DE COMPONENTES

Un diagrama de componentes representa cómo un sistema de software es dividido en


componentes y muestra las dependencias entre estos componentes. Los componentes físicos
incluyen archivos, cabeceras, bibliotecas compartidas, módulos, ejecutables, o paquetes. Los
diagramas de Componentes prevalecen en el campo de la arquitectura de software pero pueden
ser usados para modelar y documentar cualquier arquitectura de sistema.

Debido a que los diagramas de componentes son más parecidos a los diagramas de casos de usos,
éstos son utilizados para modelar la vista estática y dinámica de un sistema. Muestra la
organización y las dependencias entre un conjunto de componentes. No es necesario que un
diagrama incluya todos los componentes del sistema, normalmente se realizan por partes. Cada
diagrama describe un apartado del sistema.

En este diagrama de
componentes se puede
apreciar un Sistema de una
organización donde existe un
terminal (puesto de trabajo)
que hace una validación para
ingreso al sistema, luego se
ejecutan las rutinas
necesarias, incluso las
relacionadas con la Base de
Datos llevando a cabo el
Control y Análisis necesario.
Imagen 12: Ejemplo de Diagrama de Componentes
Fuente: https://goo.gl/H6fb8n

6.2.DIAGRAMAS DE COMPORTAMIENTOS
Entre los diagramas de Comportamientos, se encuentran los siguientes en UML 2.0 (Oriente,
2014):

DIAGRAMA DE CASOS DE USO

Un diagrama de casos de uso es una forma de diagrama de comportamiento UML mejorado, que
define una notación gráfica para representar casos de uso llamada modelo de casos de uso, que da
una vista general simple de un caso de uso o un conjunto de casos de uso.

Este tipo de diagrama representa la forma como un Cliente (Actor) opera con el sistema en
desarrollo, además de la forma, tipo y orden como los elementos interactúan (operaciones o casos
de uso) (Salinas, 2010).

20
ESTE DOCUMENTO CONTIENE LA SEMANA 2
En este ejemplo se muestra un
diagrama de un hotel, donde los
nodos representan las
actividades a realizar en cada
caso. Como se puede apreciar,
es la visión general del sistema
de reservas de habitación
incluyendo el proceso de
facturación.

Imagen 13. Ejemplo de diagrama de casos de uso


Fuente: https://goo.gl/g4KSh8

DIAGRAMA DE ESTADO

Representan la secuencia de estados por los que un objeto o una interacción entre objetos pasa
durante su tiempo de vida en respuesta a estímulos recibidos. Representa lo que podemos
denominar en conjunto una máquina de estados. Un estado en UML es cuando un objeto o una
interacción satisface una condición, desarrolla alguna acción o se encuentra esperando un evento.

Cuando un objeto o una interacción pasa de un estado a otro por la ocurrencia de un estímulo o
evento se dice que ha sufrido una transición, existen varios tipos de transiciones entre objetos:
simples (normales y reflexivas) y complejas. Además, una transición puede ser interna si el estado
del que parte el objeto o interacción es el mismo que al que llega. No se provoca un cambio de
estado y se representan dentro del estado, no de la transición.

21
ESTE DOCUMENTO CONTIENE LA SEMANA 2
En este diagrama se representan los
distintos estados por los que pasa el
sistema de ventas, donde el inicio genera
la secuencia de estados, tales como
Presupuestado, Facturado, Pagado. En las
flechas se escribe una palabra que
indique el proceso que provoca el
siguiente estado.

Imagen 14. Ejemplo diagrama de estado


Fuente: https://goo.gl/TzYrxS

DIAGRAMA DE ACTIVIDAD

Son similares a los diagramas de flujos de otras metodologías OO. En realidad se corresponden con
un caso especial de los diagramas de estado donde los estados son estados de acción (estados con
una acción interna y una o más transiciones que suceden al finalizar esta acción, o lo que es lo
mismo, un paso en la ejecución de lo que será un procedimiento) y las transiciones vienen
provocadas por la finalización de las acciones que tienen lugar en los estados de origen. Siempre
van unidos a una clase o a la implementación de un caso de uso o de un método (que tiene el
mismo significado que en cualquier otra metodología OO). Los diagramas de actividad se utilizan
para mostrar el flujo de operaciones que se desencadenan en un procedimiento interno del
sistema.

22
ESTE DOCUMENTO CONTIENE LA SEMANA 2
En esta imagen se puede ver
la actividad que se produce
al comprar una entrada para
ver una película en el cine. Se
puede apreciar que el inicio
se señala con un círculo
negro y el final con un círculo
negro con un contorno
blanco. Los procesos (verbos
en infinitivo) son
representados por un
rectángulo con las puntas
redondeadas y las decisiones
por un rombo (cuando hay
más de una posibilidad).

Imagen 15. Diagrama de actividad


Fuente: https://goo.gl/YWDxbW

6.3.DIAGRAMA DE INTERACCIÓN

Según lo planteado por Oriente (2014), estos diagramas describen cómo los grupos de objetos
colaboran para producir un comportamiento. Entre ellos se encuentran:

23
ESTE DOCUMENTO CONTIENE LA SEMANA 2
DIAGRAMA DE SECUENCIA

El diagrama de secuencia (también llamado diagrama de interacción) muestra las interacciones


entre un conjunto de objetos (clases, actores), ordenadas según el tiempo en que tienen lugar. Es
decir, muestra el orden de las llamadas en el sistema. Se utiliza un diagrama para cada llamada a
representar. Es imposible representar en un solo diagrama la secuencia de todas las llamadas
posibles del sistema, es por ello que se escoge un punto de partida. El diagrama se compone con
los objetos que forman parte de la secuencia, estos se sitúan en la parte superior de la pantalla,
normalmente a la izquierda se sitúa el que inicia la acción. De estos objetos sale una línea que
indica su vida en el sistema. Esta línea simple se convierte en una línea gruesa cuando representa
que el objeto tiene el foco del sistema, es decir, cuando él está activo.

El objeto puede existir solo durante la ejecución de la interacción, se puede crear o puede ser
destruido durante la ejecución de la interacción.

En este tipo de diagramas también intervienen los mensajes, que son la forma en que se
comunican los objetos: el objeto origen solicita (llama a) una operación del objeto destino. El
diagrama de secuencia puede ser obtenido de dos partes, desde el diagrama estático de clases o
desde el de casos de usos.

Este diagrama de secuencia


muestra los pasos o
procedimientos que se
deben ejecutar en un
sistema de ventas de
servicios. Se representa la
secuencia de ida y la
secuencia de vuelta por
parte del usuario (Cliente) y
por parte del administrador
del Sistema)

Imagen 16. Ejemplo de Diagrama de Secuencia


Fuente: https://goo.gl/HE59aN

24
ESTE DOCUMENTO CONTIENE LA SEMANA 2
DIAGRAMA DE COLABORACIÓN

Este diagrama muestra la interacción entre varios objetos y los enlaces que existen entre ellos.
Representa las interacciones entre objetos organizadas alrededor de los objetos y sus
vinculaciones. A diferencia de un diagrama de secuencias, un diagrama de colaboraciones muestra
las relaciones entre los objetos, no la secuencia en el tiempo en que se producen los mensajes. Los
diagramas de secuencias y los diagramas de colaboraciones expresan información similar, pero en
una forma diferente.

Imagen 17. Ejemplo de diagrama de colaboración


Fuente: https://goo.gl/5MYD9g

En esta imagen se muestra la interacción de un conjunto de objetos, la forma en que se relacionan


y cómo se traspasan la información entre estos conjuntos. Se podría decir que los objetos se
agrupan en secciones de acuerdo a los procedimientos que ejecutan.

DIAGRAMA DE COMUNICACIÓN

Un diagrama de comunicación es una versión simplificada del diagrama de colaboración de la


versión de UML 1.x.

Un diagrama de comunicación modela las interacciones entre objetos o partes en términos de


mensajes en secuencia. Los diagramas de comunicación representan una combinación de
información tomada desde el diagrama de clases, secuencia y diagrama de casos de uso
describiendo tanto la estructura estática como el comportamiento dinámico de un sistema.
(Oriente, 2014).

Los diagramas de comunicación y de secuencia describen información similar y, con ciertas


modificaciones, pueden ser transformados unos en otros sin dificultad.

25
ESTE DOCUMENTO CONTIENE LA SEMANA 2
En este diagrama de
comunicación se ve la
interacción se puede apreciar
la comunicación de opciones
entre los nodos y el flujo de
la información que hay entre
ellos. En este caso se ingresa
la opción 1, que deriva en
dos opciones adicionales.

Imagen 18. Ejemplo de diagrama de comunicación


Fuente: https://goo.gl/kKBls0

DIAGRAMA DE INTERACCIÓN

El diagrama de (visión de conjunto o resumen de) interacción trata de mostrar de forma conjunta
diagramas de actividad y diagramas de secuencia.

En este diagrama se muestra la secuencia


más detallada de las actividades
necesarias para un control de acceso,
donde se muestra el estado inicial y el
estado final del sistema junto con lo
ingresado por el usuario, las
verificaciones correspondientes y el
traspaso a una nueva secuencia de
acciones.

Imagen 19. Ejemplo de diagrama de interacción


Fuente: https://goo.gl/HI49UG

26
ESTE DOCUMENTO CONTIENE LA SEMANA 2
DIAGRAMA DE TIEMPO

Es aquel que pone el foco en las restricciones temporales de un objeto o un conjunto de objetos.

Imagen 20. Ejemplo de diagrama de tiempo


Fuente: https://goo.gl/A6mTwf

En este diagrama de tiempo se muestra un sistema de alarma que se activa cuando el fuego es
detectado, luego suena la alarma y se activa la operación para combatir el incendio.

7. HERRAMIENTAS DE TRABAJO CON UML


Algunas herramientas para UML son (UOC, 2010):

 Nomnoml: Crea diagramas de clase con una sintaxis textual para UML fácil de usar. Lee ç
el cómo y el porqué de esta herramienta.
 yUML: es un servicio online para crear diagramas de clase y de casos de uso. Este servicio
puede llamarse desde un blog o página web (pasando la descripción textual del modelo a
mostrar como parte de la URL) para visualizar automáticamente el modelo indicado.
Ahora podemos también generar modelos UML desde otras herramientas UML.
 UML Graph: dibuja automáticamente diagramas de clase y de secuencia. Para los de clase
utiliza la sintaxis Java con anotaciones que después la herramienta convierte a

27
ESTE DOCUMENTO CONTIENE LA SEMANA 2
specifications Graphviz. Para los diagramas de secuencia se utiliza un enfoque diferente (y
esto es lo que no me gusta de la herramienta, en el fondo son dos distintas): se usan pic
macros para definir el diagrama y después el programa pic2plot convierte las macros en
archivos gráficos.
 TextUML Toolkit: es otra herramienta reciente. Es un editor open-source que utiliza como
visor de UML el proyecto EclipseGraphviz. Soporta básicamente diagramas de clase y un
subconjunto de los diagramas de actividades.
 MetaUML: es una librería para visualizar diagramas UML en archivos LaTeX, definidos
utilizando una notación textual simple. Soporta diagramas de clase, de actividad y de casos
de uso y máquinas de estado.
 USE: también utiliza una notación textual pero en este caso su objetivo es animar el
modelo permitiendo la creación de snapshots que sirvan para validar las restricciones OCL
que se hayan definido.
 PlantUML: soporta diagramas de clase, de casos de uso y de actividad, aunque no tengo
claro si es un proyecto aún activo. Ver también esta descripción más detallada en el blog
 EasyUML Editor: soporta casi todos los tipos de diagramas UML. Los diagramas se pueden
exportar a PDF, PNG o SVG. Se ejecuta como una aplicación web
 Microsoft: ha publicado un código de ejemplo para Visual Studio que permite la
descripción textual de diagramas de clase, casos de uso y actividades
 Finite State Machine Diagram Generator: una sintaxis XML muy simple para la definición
textual de UML state machines. La herramienta de dibujo está implementada como un
servicio web gratuito. La herramienta también permite la generación de código (Java, C++
and C#) a partir de esos mismos diagramas.
 PlantText UML Editor y SeedUML: dos editores online textuales basados en PlantUML.

7.1.ARGO UML

UML es el lenguaje de modelado OO más prevalente y java es una de las plataformas de desarrollo
Orientado a Objetos más productivas. Jason Robbins y el resto de su equipo de investigación en la
universidad de California, Irvine potenciaron estos beneficios creando ArgoUML. El resultado es un
entorno y una herramienta de desarrollo sólida para diseño de sistemas OO. Es más, proporciona
un campo de pruebas para la evolución del desarrollo e investigación de herramientas CASE
orientadas a objeto (Ramírez, 2008)

Una primera publicación de ArgoUML estuvo disponible en 1998 y más de 100.000 descargas a
mediados de 2001 demostraron el impacto que este proyecto ha provocado, siendo popular en
campos educacionales y comerciales.

Es una herramienta utilizada en el modelaje de sistemas, mediante la cual se realizan diseños en


UML (Unified Markup Language) llevados a cabo en el análisis y prediseño de sistemas de
software. Al estar desarrollado en Java el programa no depende de ninguna plataforma, por esa

28
ESTE DOCUMENTO CONTIENE LA SEMANA 2
razón puede instalarse en múltiples sistemas operativos. Proporciona la generación del código. El
código que genera puede ser utilizado en los siguientes lenguajes: Java, C++, C # y PHP.

7.1.1. INSTALACIÓN

¿CÓMO INSTALAR ARGOUML EN LINUX Y WINDOWS?

Instalación de ArgoUML bajo Linux

1. Bajar ArgoUML. Desde http://argouml.tigris.org/


2. Descomprimir el archivo Zip de ArgoUML en un directorio que lleve su mismo nombre:
/usr/local/argouml/, en el serán colocados los ocho archivos JAR que componen ArgoUML.
3. Posteriormente, estando en el mismo directorio antes mencionado, puede arrancar
ArgoUML con el siguiente comando:
4. java -jar argouml.jar.

Instalación de ArgoUML bajo Windows

1. Bajar ArgoUML. Desde http://argouml.tigris.org/


2. Descomprimir el archivo Zip de ArgoUML en la misma carpeta ahí se encontraran los ocho
archivos .jar
3. Asegurese de tener Java Web Start (http://java.sun.com/products/javawebstart/)
instalado.
4. Comience por ejecutar el archivo argouml.jar, a traves de un simple doble click en el
archivo

En este enlace puedes encontrar un manual de usuario: tutorial y


descripción de referencia de ArgoUML que te dará las indicaciones
para el uso de esta excelente herramienta.

https://goo.gl/wDGzpa

29
ESTE DOCUMENTO CONTIENE LA SEMANA 2
7.1.2. USO

ArgoUML se implementa usando un número de técnicas (Ramírez, 2008).

El diseño de una interfaz de usuario que permite al usuario ver el diseño desde un número de
perspectivas diferentes, y permite al usuario alcanzar objetivos a través de un número de rutas
alternativas.

El uso de procesos ejecutándose en paralelo con la herramienta de diseño, evaluando el diseño


actual contra modelos de como un diseño de la “mejor práctica” puede funcionar. Estos procesos
son conocidos como críticos de diseño.

El uso de listas de tareas pendientes (to-do lists) para comunicar sugerencias desde los críticos de
diseño al usuario, además de permitir al usuario registrar áreas para acciones futuras.

El uso de listas de validación, para guiar al usuario a través de un proceso complejo.

INTERFAZ DE ARGOUML

En general, los diagramas son dibujados usando la barra de herramientas del panel de edición para
seleccionar el objeto deseado y haciendo clic en el diagrama en la posición requerida. Esa sección
también explica el uso del ratón para redimensionar objetos (Ramírez, 2008).

Los objetos que ya están en el modelo, pero no en un diagrama, pueden ser añadidos a un
diagrama seleccionando el objeto en el explorador, usando Agregar al Diagrama del menú
desplegado (botón 2) sobre ese objeto, y entonces haciendo clic botón 1 en la posición deseada en
el diagrama.

Además de objetos UML, la barra de herramientas del panel edición ofrece para los objetos de
dibujados generales (rectángulos, círculos, líneas, polígonos, curvas, texto) formas de proporcionar
información suplementaria para los diagramas.

30
ESTE DOCUMENTO CONTIENE LA SEMANA 2
COMENTARIO FINAL
El modelamiento UML nos permite a través de sus diferentes diagramas representar distintas
instancias de un sistema, ya que incluye las entidades que se relacionan con él, las relaciones
existentes, los tiempos necesarios en la ejecución del sistema, entre otros tantos aspectos.

La evolución y aplicación de UML en el desarrollo de sistemas es fundamental para aquellas


aplicaciones orientadas a objetos, donde se utiliza este tipo de herramientas desde el análisis para
conocer los aspectos del sistema en el diseño, que es la etapa fundamental en el uso de esta
herramienta, y en el desarrollo, que es donde se construye el producto de software.

 Con el fin de ir conociendo UML y los componentes que se usan


en este tipo de modelamiento, puedes descargar una buena
herramienta que incluye la simbología necesaria para crear los
esquemas.
https://goo.gl/J8UO8w

 UML es una herramienta que permite representar


esquemáticamente un sistema con el fin de ser entendido
por diferentes usuarios que no siempre son del área
informática y que deben comprender el modelamiento para
operar en el sistema.

31
ESTE DOCUMENTO CONTIENE LA SEMANA 2
REFERENCIAS
Latina, O. (2011). Importancia UML. Recuperado de: https://goo.gl/J64965

Microsoft. (2007). Diagramas de estructura estática de UML. Recuperado de:

https://goo.gl/5wx5WA

Oriente, J. (2014). UML 2: ¿Cuántos tipos de diagramas existen? Recuperado de:

https://goo.gl/gmVJSs

Ramírez, A. (2008). ArgoUML: Manual de Usuario. Recuperado de: https://goo.gl/s0YUQU

Salinas, P. (2010). Tutorial UML. Recuperado de: https://goo.gl/zdIhZ2

SistemasIII (2011). Objetivos del UML. Recuperado de: https://goo.gl/2zoMYE

Umbrello (2012). Elementos de UML. Recuperado de: https://goo.gl/L7qbBZ

Universidad Politécnica de Valencia (1996). Conceptos básicos de Programación Orientada a

Objetos. Recuperado de: https://goo.gl/oGeIHf

Modeling Languages. (2010). Herramientas para UML. Recuperado de: https://goo.gl/tytiQ4

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2017). El Lenguaje de Modelado Unificado (UML). Herramientas de Modelamiento UML.

Semana 2.

32
ESTE DOCUMENTO CONTIENE LA SEMANA 2
33
ESTE DOCUMENTO CONTIENE LA SEMANA 2

Potrebbero piacerti anche