MAESTRÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y

LA COMUNICACIÓN

TIPOS DE DIAGRAMAS UML

ALUMNO:

MATERIA: ANÁLISIS Y DISEÑO DE SISTEMAS

DOCENTE:

ENERO 2016

Tipos de diagramas UML

Modelos estáticos:
Diagrama de clases.- Es una unidad básica que muestra las clases
(descripciones de objetos que comparten características comunes) que
componen el sistema y cómo se relacionan entre sí. A través de ella
podemos modelar el entorno.
Se utiliza cuando necesitamos realizar un Análisis de Dominio: El analista se
entrevista con el cliente con el objetivo de conocer las entidades principales
en el dominio del cliente.
Un diagrama de clases está compuesto por los siguientes element
os:

Clase: atributos, métodos y visibilidad.

Relaciones: Herencia, Composición, Agregación, Asociación y Uso.

Elementos
Clase
Es la unidad básica que encapsula toda la información de un Objeto (un
objeto es una instancia de una clase). A través de ella podemos modelar
el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.).
En UML, una clase es representada por un rectángulo que posee tres
divisiones:

En donde:
Superior: Contiene el nombre de la Clase
Intermedio: Contiene los atributos (o variables de instancia) que
caracterizan a la Clase (pueden ser private, protected o public).

los cuales son la forma como interactúa el objeto con su entorno (dependiendo de la visibilidad: private. pero si podrá ser accesado por métodos de la clase además de las subclases que se deriven (ver herencia). Private: Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden accesar). se anotan en cada extremo de la relación y éstas pueden ser: . private: Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la clase lo pueden accesar). la cardinalidad de las relaciones indica el grado y nivel de dependencia. Métodos: Los métodos u operaciones de una clase son la forma en como ésta interactúa con su entorno. estos son:    public: Indica que el atributo será visible tanto dentro como fuera de la clase.Inferior: Contiene los métodos u operaciones. es decir. Relaciones entre Clases: Ahora ya definido el concepto de Clase. es accsesible desde todos lados. es decir. es necesario explicar como se pueden interrelacionar dos o más clases (cada uno con características y objetivos diferentes). éstos pueden tener las características:    public: Indica que el método será visible tanto dentro como fuera de la clase. pero si podrá ser accesado por métodos de la clase además de métodos de las subclases que se deriven (ver herencia). protected: Indica que el método no será accesible desde fuera de la clase. es accsesible desde todos lados. Atributos y Métodos: Atributos: Los atributos o características de una Clase pueden ser de tres tipos. los que definen el grado de comunicación y visibilidad de ellos con el entorno. protected o public). Antes es necesario explicar el concepto de cardinalidad de relaciones: En UML. protected: Indica que el atributo no será accesible desde fuera de la clase.

Este tipo de relación es comúnmente llamada Agregación (el objeto base utiliza al incluido para su funcionamiento). el tiempo de vida de un objeto no depende del otro. Auto y Camión. n bastan los tipos de datos básicos que proveen los lenguajes: enteros. permite asociar objetos que colaboran entre sí. es decir. es "parte/todo").o uno o muchos: 1. Dependencia o Instanciación (uso): . por ende la Subclase además de poseer sus propios métodos y atributos.. tenemos dos posibilidades:   Por Valor: Es un tipo de relación estática. en donde el tiempo de vida del objeto incluido está condicionado por el tiempo de vida del que lo incluye. poseerá las características y atributos visibles de la Super Clase (public y protected). Herencia (Especialización/Generalización): Indica que una subclase hereda los métodos y atributos especificados por una Super Clase. Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicación.n) o 0 o muchos: 0. reales y secuencias de caracteres. Cabe destacar que no es una relación fuerte. en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. en cambio atributos como Descapotable no son visibles por ser privados. Asociación: La relación entre clases conocida como Asociación. ejemplo: Cabe destacar que fuera de este entorno. Agregación: Para modelar objetos complejos... pues tiene definición publica.n) o número fijo: m (m denota el número). lo único "visible" es el método Caracteristicas aplicable a instancias de Vehículo.* (0. Este tipo de relación es comúnmente llamada Composición (el Objeto base se construye a partir del objeto incluido. es decir.. Por Referencia: Es un tipo de relación dinámica.* (1.

Se denota por una flecha punteada. es decir. Esto indica que la clase definida no puede ser instanciada pues posee métodos abstractos (aún no han sido definidos. que implementan los métodos abstractos definidos. como por ejemplo una aplicación grafica que instancia una ventana (la creación del Objeto Ventana está condicionado a la instanciación proveniente desde el objeto Aplicación): Cabe destacar que el objeto creado (en este caso la Ventana gráfica) no se almacena dentro del objeto que lo crea (en este caso la Aplicación). El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra.Representa un tipo de relación muy particular. en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase). Casos Particulares Clase Abstracta: Una clase abstracta se denota con el nombre de la clase y de los métodos con letra "itálica". Clase parametrizada: . La única forma de utilizarla es definiendo subclases. sin implementación).

un objeto se representa por un rectángulo con un nombre subrayado. Algunos atributos pueden ser constantes. Se puede considerar un caso especial de un diagrama de clases en el que se muestran instancias específicas de clases (objetos) en un momento particular del sistema.. en donde se especifican los parámetros que deben ser pasados a la clase para que esta pueda ser instanciada. estos diagramas se enfocan en la perspectiva de casos reales o prototipos. pues ellos dependerán exclusivamente de la implementación que se le quiera dar. A diferencia de otros diagramas. El estado evoluciona con el tiempo. La genericidad puede venir dada de un Template (como en el caso de C++) o bien de alguna estructura predefinida (especialización a través de clases).Una clase parametrizada se denota con un subcuadro en el extremo superior de la clase. En el ejemplo no se especificaron los atributos del Diccionario.Los diagramas de objetos son utilizados durante el proceso de Análisis y Diseño de los sistemas informáticos en la metodología UML. Los diagramas de objetos representan instancias de los elementos que aparecen en los diagramas de clases. El Objeto es reconocido también como una instancia de la clase a la cual pertenece. Los diagramas de objetos no muestran la multiplicidad ni los roles. El ejemplo más típico es el caso de un Diccionario en donde una llave o palabra tiene asociado un significado. Un objeto es una entidad discreta que encapsula estado y comportamiento. Diagramas de objetos. Los diagramas de objetos utilizan un subconjunto de los elementos de un diagrama de clase. aunque su notación es similar a los diagramas de clase. La encapsulación en un objeto permite una alta cohesión y un bajo acoplamiento. En UML. Estado: El comportamiento agrupa las competencias de un objeto y describe las acciones y reacciones de ese objeto. pero en este caso las llaves y elementos pueden ser genéricos. Las operaciones .

Se utilizan para mostrar estructuras de datos y las interacciones que existen entre objetos en tiempo de ejecución. Representa cómo un sistema de software es dividido en componentes y muestra las dependencias entre estos componentes. podremos después reconstruirlo. o paquetes. Persistencia: La persistencia de los objetos designa la capacidad de un objeto trascender en el espacio/tiempo. módulos. Pueden ser simples archivos. cabeceras.. código fuente etc. . 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. ejecutables. binario y ejecutable. Los lenguajes OO no proponen soporte adecuado para la persistencia. cogerlo de memoria secundaria para utilizarlo en la ejecución (materialización del objeto).Los diagramas de componentes describen los elementos físicos del sistema y sus relaciones. un objeto existe desde su creación hasta que se destruya. Los componentes representan todos los tipos de elementos software que entran en la fabricación de aplicaciones informáticas. paquetes. Muestran las opciones de realización incluyendo código fuente.de un objeto son consecuencia de un estímulo externo representado como mensaje enviado desde otro objeto. bibliotecas compartidas. Diagrama de componentes. Los componentes físicos incluyen archivos. la cual debería ser transparente. Un diagrama de componentes es un diagrama tipo del Lenguaje Unificado de Modelado. es decir. bibliotecas cargadas dinámicamente.

Diagrama de estructura compuesta.Un diagrama de estructura compuesta es un tipo de diagrama de estructura estática en el Lenguaje de Modelado Unificado (UML). y conectores entre partes o puertas.. que muestra la estructura interna de una clase y las colaboraciones que esta estructura hace posibles. las partes interactúan con cada una de las otras o mediante las cuales. Una estructura compuesta es un conjunto de elementos interconectados que colaboran en tiempo de ejecución para lograr algún propósito. puertas mediante las cuales. . Esto puede incluir partes internas. instancias de la clase interactúan con las partes y con el mundo exterior.

.

La mayoría de las veces el modelado de la vista de despliegue implica modelar la topología del hardware sobre el que se ejecuta el sistema. un programa. En el UML 2. Los nodos internos indican ambientes. . Un artefacto puede ser algo como un archivo. Aunque UML no es un lenguaje de especificación hardware de propósito general. En cambio. una biblioteca. puede haber artefactos u otros nodos dentro de un nodo. un concepto más amplio que el hardware propiamente dicho. se ha diseñado para modelar muchos de los aspectos hardware de un sistema a un nivel suficiente para que un ingeniero software pueda especificar la plataforma sobre la que se ejecuta el software del sistema. ya que un ambiente puede incluir al lenguaje de programación.Diagrama de Despliegue. un ordenador o un cluster de terminales. a un sistema operativo.0 los componentes ya no están dentro de nodos..Es un tipo de diagrama del (LENGUAJE UBIFICADO DE MODELADO) que se utiliza para modelar el hardware utilizado en las implementaciones de sistemas y las relaciones entre sus componentes. o una base de datos construida o modificada en un proyecto. componentes (representados como una caja rectangular con dos protuberancias del lado izquierdo) y asociaciones. Estos artefactos implementan colecciones de componentes. Los elementos usados por este tipo de diagrama son nodos (representados como un prisma).

En el Lenguaje Unificado de Modelado. Dado que normalmente un paquete está pensado como un directorio. un diagrama de paquetes muestra cómo un sistema está dividido en agrupaciones lógicas mostrando las dependencias entre esas agrupaciones. Cada paquete puede asignarse a un individuo o a un equipo. . y las dependencias entre ellos pueden indicar el orden de desarrollo requerido.. Con estas líneas maestras sobre la mesa.Diagrama de paquetes. Los Paquetes están normalmente organizados para maximizar la coherencia interna dentro de cada paquete y minimizar el acoplamiento externo entre los paquetes. los paquetes son buenos elementos de gestión. los diagramas de paquetes suministran una descomposición de la jerarquía lógica de un sistema.

..g. .. Un Diagrama de Actividades muestra el flujo de control general. En SysML el diagrama de Actividades ha sido extendido para indicar flujos entre pasos que mueven elementos físicos (e.En UML un diagrama de actividades representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Los cambios adicionales permiten al diagrama soportar mejor flujos de comportamiento y datos continuos. presión). gasolina) o energía (e.Modelos Dinámicos: Diagrama de Actividades.g.

Aunque un diagrama global de las interacciones es una representación gráfica de una interacción. De hecho. Muestra una cierta vista sobre los aspectos dinámicos de los sistemas modelados. puede entonces ser representada con la ayuda del diagrama global de las interacciones. se impone “modularizar” las interacciones y dividir en partes pequeñas. otro diagrama de comportamiento para el modelado de actividades. . más precisamente. Si el número de líneas de vida participantes y el número de mensajes intercambiados exceden una cierta medida. que también pueden ser visualizadas con la ayuda de un clásico diagrama de secuencias. más manejables. Los modelos de interacción pueden llegar a ser muy grandes para sistemas complejos. éste se distingue fuertemente de los diagramas de secuencia y de comunicación. uno de los cuatro diagramas de interacción. dos de los otros diagramas de interacción. de acuerdo a principios universales del diseño de sistemas.. provisto para eso. de manera que la Big Picture o bien el cuadro global.Diagrama global de iteraciones.El diagrama global de las interacciones es un diagrama de comportamiento. La visión de conjunto de toda la interacción. algunos elementos gráficos del diagrama global de las interacciones están tomados del diagrama de actividades.

Un cronograma puede contener cualquier número de señales relacionadas entre sí. se puede determinar los estados.. Examinando un diagrama de tiempos.Diagrama de tiempos.Un diagrama de tiempos o cronograma es una gráfica de formas de onda digitales que muestra la relación temporal entre varias señales. . y cómo varía cada señal en relación a las demás. nivel alto o nivel bajo. de cada una de las señales en cualquier instante de tiempo especificado. y el instante exacto en que cualquiera de las señales cambia de estado con respecto a las restantes.

. y diagrama de casos de uso describiendo tanto la estructura estática como el comportamiento dinámico de un sistema.x.En el Lenguaje Unificado de Modelado (UML) 2. Los diagramas de comunicación representan una combinación de información tomada desde el diagrama de clases.0. un diagrama de comunicación es una versión simplificada del diagrama de colaboración de la versión de UML1. Un diagrama de comunicación modela las interacciones entre objetos o partes en términos de mensajes en secuencia. secuencia..Diagrama de comunicación.

.. Los diagramas de secuencia son buenos para mostrar qué objetos se comunican con qué otros objetos y qué mensajes disparan esas comunicaciones. Los diagramas de secuencia no están pensados para mostrar lógicas de procedimientos complejos.Diagrama de Secuencia.Un diagrama de secuencia es una forma de diagrama de interacción que muestra los objetos como líneas de vida a lo largo de la página y con sus interacciones en el tiempo representadas como mensajes dibujados como flechas desde la línea de vida origen hasta la línea de vida destino.

etc. Los ejemplos que se usan en este tema están relacionados con un sitio web en el que los clientes pueden hacer pedidos de comida de restaurantes locales.   Un actor (1) es una clase de persona. Un caso de uso (2) representa las acciones que uno o varios de los actores realizan a fin de conseguir un objetivo determinado.En un diagrama de casos de uso no se muestran los casos de uso en detalle. dispositivo o componente de software externo que interactúa con el sistema. “Actualizar menú” y “Procesar pago”. vea Requisitos del usuario de modelos. . los requisitos de calidad del servicio y las restricciones de implementación. para ello. organización. los actores y los sistemas. puede resultar útil un diagrama de clases de UML. En las descripciones que se proporcionen de los casos de uso se usarán diversos términos relacionados con el dominio en el que trabaja el sistema. Es importante definir de manera clara estos términos y sus relaciones y. Los casos de uso del ejemplo son “Pedir menú”. Los casos de uso solamente se usan para los requisitos funcionales de un sistema. Otros requisitos. vea Diagramas de clases de UML: Instrucciones. Para obtener más información. Cliente. Los actores del ejemplo son cliente.Diagrama de casos de usos. como las reglas de negocio. En concreto. Para obtener más información. deben representarse por separado. Para obtener más información sobre cómo definir los requisitos de usuario. en el diagrama no se muestra el orden en que se llevan a cabo los pasos para lograr los objetivos de cada caso de uso. solamente se resumen algunas de las relaciones entre los casos de uso. que pueden vincularse a cada caso de uso. Esos detalles pueden describirse en otros diagramas y documentos. Menú. sensor de temperatura y titular de tarjeta de crédito. restaurante.. como Ventas. vea en este tema la sección Describir los casos de uso en detalle. La arquitectura y los detalles internos también deben describirse por separado.

 En un diagrama de casos de uso. “Empresa de entrega de menús” y “Versión 2 del sitio web”. Los subsistemas del ejemplo son “Sitio web de pedidos de menú”. El sistema (4) es aquello que se está desarrollando. En un diagrama de casos de uso pueden mostrarse los casos de uso que el sistema o sus subsistemas admiten. casos de uso están asociados (3) a los actores que los realizan. Puede ser un pequeño componente de software cuyos actores simplemente son otros componentes de software. puede ser una aplicación completa. o puede ser un gran conjunto de aplicaciones distribuidas que se implementan en muchos equipos y dispositivos. .

.Los diagramas de estado muestran el conjunto de estados por los cuales pasa un objeto durante su vida en una aplicación en respuesta a eventos (por ejemplo. • La creación o la destrucción de otro objeto. que no se puede interrumpir por un evento y que se ejecuta hasta su finalización. dicho objeto realiza un trabajo que continuará hasta que sea interrumpido por un evento. Es un EventoSeñal. tiempo rebasado o errores). vamos a ver primero sus definiciones. Como los estados y las transiciones incluyen. ya que ésta última puede ser interrumpida por otros eventos. • paso de cierto período de tiempo. mensajes recibidos. a veces. Normalmente contienen: estados y transiciones. Estados: Un estado identifica una condición o una situación en la vida de un objeto durante la cual satisface alguna condición. También ilustran qué eventos pueden cambiar el estado de los objetos de la clase. Actividades: Cuando un objeto está en un estado. • Recepción de una señal explícita de un objeto a otro. Por lo tanto. después de entrar al estado actual. Es un EventoLlamada. Esta ocurrencia puede ser una: • Condición que toma el valor de verdadero (normalmente descrita como una expresión booleana). junto con sus respuestas y acciones. generalmente está esperando a que suceda algún evento. queremos modelar una actividad que se está ejecutando. El nombre de un evento tiene alcance dentro del paquete en el cual está definido y puede ser usado en los diagramas de estado por las clases que tienen visibilidad dentro del paquete. a su vez. Sin embargo. Es un EventoCambio. Un evento no es local a la clase donde está declarado. mientras un objeto está en un estado. • El envío de una señal a un objeto. • Recepción de una llamada a una operación. acciones y actividades. Eventos: Un evento es una ocurrencia que puede causar la transición de un estado a otro de un objeto.Diagramas de estado. Es decir. una acción contrasta con una actividad. Es un EventoTiempo. Una acción puede ser: • una llamada a una operación (al objeto al cual pertenece el diagrama de estado o también a otro objeto visible). eventos. o de cierta hora y fecha concretas. en los diagramas de estado pueden aparecer notas explicativas y restricciones. Acciones: Una acción es una operación atómica. Al igual que otros diagramas. ejecuta alguna .

respectivamente. Los tres compartimentos alojan el nombre del estado. En muchos diagramas se omiten los dos compartimentos inferiores. Un estado se representa gráficamente por medio de un rectángulo con los bordes redondeados y con tres divisiones internas. Un objeto permanece en un estado durante un tiempo finito (no instantáneo).actividad o espera que suceda algún evento. el valor característico de los atributos del objeto en ese estado y las acciones que se realizan en ese estado. .

microsoft. ENERO/2016. Diagramas de casos de uso de UML: Instrucciones. (). ().cl/~psalinas/uml/modelo. México: McGRAW-HILL. (2010).dcc. Manual de UML. de () Sitio web: http://umlsebastianbautista.mx/ Patricio Salinas Caro. ENERO/2016.com/esMX/library/dd409432. de Universidad de Chile Sitio web: http://users. Sebastian Bautista Stiven Lara.blogspot. Unified Modeling Language UML. (2008). ENERO/2016.REFERENCIAS Paul Kimmel. UML. de Microsoft Sitio web: https://msdn.uchile.aspx .html Microsoft.