Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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)
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.
Estereotipos El nuevo estereotipo <> será tratado como un bloque básico de construcción.
14
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Imagen 4. Ejemplo de estereotipo
Fuente: https://goo.gl/7B9pf0
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>>.
15
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Imagen 6. Ejemplo de restricciones
Fuente: https://goo.gl/4xTzpp
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.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.
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.
DIAGRAMA DE PAQUETES
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.
18
ESTE DOCUMENTO CONTIENE LA SEMANA 2
DIAGRAMA DE DESPLIEGUE
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
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.
19
ESTE DOCUMENTO CONTIENE LA SEMANA 2
DIAGRAMA DE COMPONENTES
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):
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.
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.
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).
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 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.
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.
DIAGRAMA DE COMUNICACIÓN
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.
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.
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.
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.
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.
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
https://goo.gl/wDGzpa
29
ESTE DOCUMENTO CONTIENE LA SEMANA 2
7.1.2. USO
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 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.
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.
31
ESTE DOCUMENTO CONTIENE LA SEMANA 2
REFERENCIAS
Latina, O. (2011). Importancia UML. Recuperado de: https://goo.gl/J64965
https://goo.gl/5wx5WA
https://goo.gl/gmVJSs
Semana 2.
32
ESTE DOCUMENTO CONTIENE LA SEMANA 2
33
ESTE DOCUMENTO CONTIENE LA SEMANA 2