Está en la página 1de 46

UML 2.

3
Tutorial de UML 2.3

Los avances de la especificación UML 2.0 fueron exitosos y rápidamente se está


convirtiendo en el estándar aceptado para especificar, documentar y visualización de los sistemas
de software. El lenguaje unificado de modelado (UML) también se utiliza para el modelado de
sistemas de software no-y es ampliamente implementado en la mayoría de los sectores industria
incluyendo finanzas, militar y de ingeniería.

Si es nuevo en el lenguaje unificado de modelado, nuestra Introducción a UML es un punto


de partida recomendado.

UML 2 define trece tipos de diagrama básico, divididos en dos conjuntos generales:

1. Estructurales diagramas de modelado

Diagramas de estructura definen la arquitectura estática de un modelo. Se utilizan para


modelar las cosas que componen un modelo - las clases, objetos, interfaces y componentes físicos.
Además, se utilizan para modelar las relaciones y dependencias entre elementos.

- Diagramas de paquete Se utilizan para dividir el modelo en contenedores lógicos o 'paquetes'


y describir las interacciones entre ellos a un alto nivel.
- Clase o diagramas estructurales. Definir los elementos básicos de un modelo: los tipos,
clases y materiales generales utilizados para construir un modelo completo.
- Diagramas de objetos. Muestran cómo instancias de elementos estructurales están
relacionadas y utiliza en tiempo de ejecución.
- Diagramas de Estructura compuesta. Proporcionan un medio de capas de estructura de un
elemento y centrándose en las relaciones, la construcción y el detalle interior.
- Diagramas de componentes. Se utilizan para modelar las estructuras más complejas o
niveles superiores, generalmente de una o más clases y proporcionar una interfaz bien definida.
- Diagramas de implementación. Muestran la disposición física de los artefactos significativas
dentro de un entorno de reales.

2. Comportamiento de diagramas de modelado

Los diagramas de comportamiento capturan las variedades de interacción y Estados


instantáneos dentro de un modelo como 'ejecutar' en el tiempo; seguimiento de cómo el sistema
actuará en un entorno real y observando los efectos de una operación o evento, incluidos sus
resultados.

- Diagramas de caso de uso. Se utilizan para modelar las interacciones del usuario o sistema.
Definen comportamiento, requisitos y restricciones en forma de secuencias de comandos o
escenarios.
- Diagramas de actividad. Tienen un amplio número de usos, desde la definición de flujo de
programa básico, a capturar los puntos de decisión y acciones dentro de cualquier proceso
generalizado.
- Diagramas de máquina de estado. Son esenciales para entender la condición de instante a
instante, o "Estado de ejecución" de un modelo cuando se ejecuta.
- Diagramas de comunicación. Muestran la red y la secuencia, de mensajes o comunicaciones
entre objetos en tiempo de ejecución, durante una instancia de colaboración.

- Diagramas de secuencia. Están estrechamente relacionados con los diagramas de


comunicación y mostrar la secuencia de mensajes entre objetos vertical de una línea de tiempo.
- Temporización de diagramas de secuencia 1 de fusibles y diagramas de Estado para
proporcionar una visión del Estado de un objeto con el tiempo y mensajes que modifican ese
Estado.
- Actividad de fusibles de diagramas de información general de interacción y diagramas
de secuencia para permitir la interacción fragmentos combinarse fácilmente con las corrientes
y los puntos de decisión.

Diagramas de Paquetes

Diagramas de paquete se utilizan para reflejar la organización de paquetes y sus


elementos. Cuando se utilizan para representar los elementos de la clase, diagramas de paquete
brindan una visualización de los espacios de nombres. El uso más común para diagramas de
paquete es organizar los diagramas de casos de uso y diagramas de clase, aunque el uso de
diagramas de paquete no se limita a estos elementos UML.

El siguiente es un ejemplo de un diagrama de paquete.

Elementos de un paquete comparten el mismo espacio de nombres. Por lo tanto, los


elementos contenidos en un espacio de nombres específico deben tener nombres únicos.

Los paquetes se pueden construir para representar las relaciones ya sea físicas o lógicas. Al
elegir a incluir clases en paquetes específicos, es útil asignar las clases con la misma jerarquía de
herencia para el mismo paquete. También hay un argumento contundente para la inclusión de
clases que están relacionadas a través de la composición y que colaboran con ellos, en el mismo
paquete.

Los paquetes se representan en UML 2.1 como


2 un espacio de nombres; todos los elementos
carpetas y contengan los elementos que comparten
dentro de un paquete deben ser identificables y así tener un nombre único o un tipo. El paquete
debe mostrar el nombre del paquete y, opcionalmente, puede mostrar los elementos dentro del
paquete en compartimentos adicionales.

Paquete de combinación

Un conector de «fusión» entre dos paquetes define una generalización implícita entre
elementos en el paquete de origen y los elementos con el mismo nombre en el paquete de destino.
Las definiciones de elemento de origen se amplían para incluir las definiciones de elemento
contenidas en el destino. Las definiciones de elemento de destino no se ven afectadas, como las
definiciones del origen de los elementos de paquete que no coinciden con los nombres con
cualquier elemento en el paquete de destino.

Importación de paquete

El conector de «importación» indica que los elementos dentro del paquete de destino, que
en este ejemplo es una sola clase, utilizan los nombres incompletos cuando se hace referencia
desde el paquete de origen. Espacio de nombres del paquete fuente obtiene acceso a las clases de
destino; espacio de nombres de destino no se ve afectado.

Conectores de anidamiento

El anidamiento conector entre los paquetes de origen y destino paquete muestra que el
paquete de origen totalmente está contenido en el paquete de destino.

Diagramas de Clases

El diagrama de clase muestra los elementos básicos de cualquier sistema orientada a


objeto. Diagramas de clases representan una vista estática del modelo, o de parte del modelo, que
describe qué atributos y el comportamiento que tiene, en lugar de detallando los métodos para
lograr operaciones. Diagramas de clases son más útiles para ilustrar las relaciones entre las clases e
interfaces. Generalizaciones, agregaciones y asociaciones son todos valiosos en que reflejan la
herencia, la composición o el uso y las conexiones respectivamente.

El diagrama siguiente muestra las relaciones de agregación entre clases. La agregación más
clara indica que la clase "Cuenta" utiliza la libreta de direcciones, pero no necesariamente contiene
una instancia del mismo. Las agregaciones fuertes, compuestas por los otros conectores indican la
propiedad o la contención de las clases de origen por las clases de destino, por ejemplo, valores de
contacto y ContactGroup se incluirán en la libreta de direcciones.

3
Las clases

Una clase es un elemento que define los atributos y comportamientos que un objeto es
capaz de generar. El comportamiento es descrito por los posibles mensajes de que la clase es
capaz de entender, junto con las operaciones que son apropiadas para cada mensaje. Las clases
pueden tener también las definiciones de las restricciones, valores etiquetados y estereotipos.

Notación de clase

Las clases están representadas por rectángulos que muestran el nombre de la clase y,
opcionalmente, el nombre de los atributos y operaciones. Compartimentos se utilizan para dividir el
nombre de clase, atributos y operaciones.

En el diagrama siguiente, la clase contiene el nombre de clase en el compartimiento


superior, los próximos detalles de compartimento mostrando los valores iniciales de atributo de los
atributos, con el "centro". El compartimiento final muestra la setWidth de las operaciones,
setLength y setPosition y sus parámetros. La notación que precede el atributo, o el nombre de la
operación, indica la visibilidad del elemento: si el + símbolo es usado, el atributo, o la operación,
tiene un nivel público de visibilidad; Si un - símbolo es usado, el atributo, o la operación, es
privado. Además el símbolo # permite una operación o atributo, a definirse como protegidas,
mientras que el ~ símbolo indica la visibilidad del paquete.

4
Interfaces

Una interfaz es una especificación de comportamiento que los implementadores de acuerdo


a cumplir; es un contrato. Realizando una interfaz, las clases están garantizadas para apoyar un
comportamiento requerido, lo que permite que el sistema tratar de no relacionados con elementos
de la misma manera – es decir, a través de la interfaz común.

Interfaces pueden basarse en un estilo similar a una clase, con las operaciones
especificadas, como se muestra a continuación. Ellos también pueden utilizarse como un círculo con
ninguna operación explícita detallada. Cuando se dibuja como un círculo, enlaces de realización a la
forma de círculo de notación se dibujan sin flechas de destino.

5
Tablas

Aunque no forma parte de la base UML, una tabla es un ejemplo de lo que se puede hacer
con los estereotipos. Se dibuja con un icono de tabla pequeña en la esquina superior derecha.
Atributos de tabla son estereotipada «columna». La mayoría de tablas tendrá una clave principal,
siendo uno o más campos que forman una combinación única que se utiliza para acceder a la tabla,
además de una operación de clave primaria, que es estereotipada «PK». Algunas tablas tendrán
una o más claves externas, siendo uno o más campos de ese mapa junto en una clave principal de
una tabla relacionada, además de un negocio en el extranjero clave que es estereotipada «fk».

Asociaciones

Una asociación implica dos elementos del modelo tienen una relación - normalmente se
implementa como una variable de instancia en una clase. Este conector puede incluir funciones con
nombre en cada extremo, cardinalidad, dirección y restricciones. La asociación es el tipo de relación
general entre los elementos. Para más de dos elementos, puede utilizarse también un elemento de
cuadro de herramientas de representación de diamante. Cuando se genera código para diagramas
de clase, había denominada Asociación termina convertido en variables de instancia de la clase de
destino. Por lo tanto, para el siguiente ejemplo, "playsFor" se convertirá en una variable de
instancia de la clase de "Jugador".

Generalizaciones

Una generalización se utiliza para indicar la herencia. Sacado del clasificador específico a un
clasificador general, la implicación general es que la fuente hereda las características del destino. El
siguiente diagrama muestra una clase de padre generalización de una clase de niño.
Implícitamente, una instancia de objeto de la clase Circle tendrán atributos x_position, y_position y
radio y un método display(). Tenga en cuenta que la "Forma" de clase es abstracta, demostrado
por el nombre está en cursiva.

6
El siguiente diagrama muestra un equivalente de la misma información.

Las agregaciones

Las agregaciones se utilizan para representar los elementos que se componen de


componentes más pequeños. Relaciones de agregación se muestran por una flecha blanca en
forma de diamante, apuntando hacia la clase de destino o el padre.

Una forma más fuerte de agregación - una agregación compuesta - se muestra por una
punta de flecha en forma de diamante negro y se utiliza donde los componentes pueden incluirse
en un máximo de una composición en un momento. Si se elimina el elemento principal de una
agregación compuesto, generalmente todas sus partes se eliminan con ella; Sin embargo una parte
puede ser individualmente quitada una composición sin tener que eliminar toda la composición.
Composiciones son relaciones transitivas, asimétricas y pueden ser recursivos.

El siguiente diagrama ilustra la diferencia entre las agregaciones débiles y fuertes. Una libreta de
direcciones se compone de una multiplicidad de contactos y grupos de contacto. Un grupo de
contacto es una agrupación virtual de contactos; un contacto puede incluirse en más de un grupo
de contacto. Si elimina una libreta de direcciones, todos los contactos y grupos de contacto se
eliminarán demasiado; Si elimina un grupo de contacto, no se eliminará ningún contacto.

7
Clases de asociación

Una clase de asociación es una construcción que permite una conexión de asociación para
que las operaciones y los atributos. El ejemplo siguiente muestra que hay más a la asignación de
un empleado a un proyecto de hacer que una simple Asociación enlace entre las dos clases: el
papel que ocupa el empleado en el proyecto es una entidad compleja en sí misma y contiene
detalles que no pertenecen a la clase de empleado o proyecto. Por ejemplo, un empleado puede
estar trabajando en varios proyectos en el mismos tiempo y tienen diferentes cargos y niveles de
seguridad en cada uno.

Las dependencias

Una dependencia se utiliza para modelar una amplia gama de dependientes de las
relaciones entre los elementos del modelo. Que normalmente se utilizaría temprano en el proceso
de diseño donde se sabe que hay algún tipo de relación entre dos elementos, pero es demasiado
pronto para saber exactamente cuál es la relación. Más adelante en el proceso de diseño, va ser
estereotipadas dependencias (estereotipos disponibles incluyen «crear instancias», «rastreo»,
«importación» y otros), o reemplazado con un tipo de conector más específico.

Trazas

La relación de seguimiento es una especialización de una dependencia, vincular elementos


del modelo o conjuntos de elementos que representan la misma idea en distintos modelos. Huellas
se utilizan a menudo para realizar un seguimiento de requerimientos y cambios en el modelo. Como
cambios pueden ocurrir en ambos sentidos, por lo general se omite el orden de esta dependencia.
Propiedades de la relación pueden especificar la asignación de seguimiento, pero la traza es
generalmente bidireccional, informal y rara vez computable.

Realizaciones

El objeto de origen implementa o se da cuenta de destino. Realizaciones se utilizan para


expresar la trazabilidad y la integridad en el modelo - un proceso del negocio o requisito es
realizada por uno o más casos de uso, que a su vez son realizados por algunas clases, que a su vez
son realizadas por un componente, etc.. Asignación de requisitos, clases, etc. en el diseño de su
sistema, arriba a través de los niveles de abstracción, de modelado asegura el panorama general
de su sistema recuerda y refleja todas las imágenes y detalles que restringen y definen poco. Una
realización se muestra como una línea discontinua con una punta de flecha sólida.

8
Anidados

Un anidamiento es el conector que se muestra el elemento de origen está anidado dentro


del elemento de destino. El diagrama siguiente muestra la definición de una clase interna, aunque
en EA es más usual para mostrarles por su posición en la jerarquía de la vista de proyecto.

Diagramas de Objetos

Un diagrama de objeto puede considerarse como un caso especial de un diagrama de


clase. Diagramas de objetos utilizan un subconjunto de los elementos de un diagrama de clase con
el fin de hacer hincapié en la relación entre instancias de clases en algún momento. Son útiles en la
comprensión de los diagramas de clase. Ellos no muestran nada arquitectónicamente diferentes a
los diagramas de clase, pero reflejan la multiplicidad y roles.

Clase y elementos de objeto

El siguiente diagrama muestra las diferencias en la apariencia entre un elemento de clase y


un elemento de objeto. Tenga en cuenta que el elemento de la clase consta de tres partes, siendo
divididos en compartimientos de atributo, el nombre y la operación; de forma predeterminada, los
elementos de objeto no tienen compartimentos. La visualización de nombres también es diferente:
los nombres de objeto están subrayados y puede mostrar el nombre del clasificador desde el que
se crea una instancia del objeto.

9
Estado de tiempo de ejecución

Un elemento de clasificador puede tener cualquier número de atributos y operaciones.


Estos no se muestran en una instancia de objeto. Sin embargo, es posible, para definir el estado de
tiempo de ejecución de un objeto, que muestra los conjuntos de valores de los atributos en la
instancia concreta.

Clase de ejemplo y diagramas de objetos

El siguiente diagrama muestra un diagrama de objeto con su definición margen de


diagrama de clase, e ilustra la forma en que un diagrama de objeto puede utilizarse para probar las
multiplicidades de asignaciones en diagramas de clase. La clase de coche tiene una multiplicidad de
1 a muchos a la clase de rueda, pero si una multiplicidad de 1 a 4 había sido elegida en su lugar,
que no habría permitido para el coche de tres ruedas que se muestra en el diagrama de objeto.

Diagramas Compuestos

Un diagrama de estructura compuesta es un diagrama que muestra la estructura interna de


un clasificador, incluyendo sus puntos de interacción a otras partes del sistema. Muestra la
configuración y la relación de las partes, que realizan juntos, el comportamiento del clasificador que
contiene.
10
Elementos de la clase han sido descritos con gran detalle en la sección sobre diagramas de
clase. Esta sección describe la manera en que las clases pueden mostrarse como elementos
compuestos exponer interfaces y que contiene piezas y puertos.

Parte

Una parte es un elemento que representa un conjunto de una o más instancias que son
propiedad de una instancia de clasificador que contiene. Así, por ejemplo, si una instancia de
diagrama de propiedad de un conjunto de elementos gráficos, a continuación, los elementos
gráficos podrían ser representados como partes; Si fuera útil hacerlo, para modelar algún tipo de
relación entre ellos. Tenga en cuenta que una parte se puede quitar de su padre antes de que se
elimine el padre, para que la parte no está eliminada al mismo tiempo.

Una parte se muestra como un rectángulo sin adornos, contenido en el cuerpo de un


elemento de clase o componente.

Puerto

Un puerto es un elemento con tipo que representa una parte visible externamente de una
instancia de clasificador que contiene. Puertos de definen la interacción entre un clasificador y su
entorno. Un puerto puede aparecer en el límite de una figura, una clase o una estructura
compuesta. Los servicios que proporciona un clasificador, así como los servicios que requiere de su
entorno, puede especificar un puerto.

Un puerto se muestra como un rectángulo con nombre en el borde de la frontera de su


clasificador de propietario.

11
Interfaces

Una interfaz es similar a una clase, pero con un número de restricciones. Todas las
operaciones de la interfaz son públicas y abstractas y no proporcionan ninguna implementación
predeterminada. Todos los atributos de interfaz deben ser constantes. Sin embargo, mientras que
una clase sólo puede heredar de un super-class único, puede implementar varias interfaces.

Ya sea una interfaz, cuando solo en un diagrama de pie, se muestra como un rectángulo de
elemento de la clase con la palabra clave «interface» y con su nombre en cursiva para denotar es
abstracto, o se muestra como un círculo.

Tenga en cuenta que la notación de círculo no muestra las operaciones de la interfaz.


Cuando se muestran las interfaces como siendo propiedad de clases, se denominan interfaces
expuestas. Una interfaz expuesta puede definirse como la proporcionada o necesario. Una interfaz
proporcionada es una afirmación que el clasificador que contiene suministros las operaciones
definidas por el elemento de la interfaz con nombre y es definido por un vínculo de realización de
dibujo entre la clase y la interfaz. Una interfaz necesaria es una declaración que el clasificador es
capaz de comunicarse con algunos otro clasificador que proporciona operaciones definidas por el
elemento de la interfaz con nombre y se define mediante la elaboración de un vínculo de
dependencia entre la clase y la interfaz.

Una interfaz proporcionada se muestra como una "pelota en un palo" conectada a la arista
de un elemento de clasificador. Una interfaz necesaria se muestra como una "Copa en un palo"
conectada a la arista de un elemento de clasificador.

Delegado

12
Un conector de delegado se utiliza para definir el funcionamiento interno de interfaces y
puertos externos de un componente. Un conector de delegado se muestra como una flecha con
una palabra clave de «delegado». Conecta un contrato externo de un componente, como lo
demuestran sus puertos para la realización interna del comportamiento de parte del componente.

Colaboración

Una colaboración define un conjunto de funciones cooperando utilizados colectivamente


para ilustrar una funcionalidad específica. Una colaboración debe mostrar sólo las funciones y
atributos necesarios para cumplir su función o tarea definida. Aislamiento de las funciones
principales es un ejercicio de simplificación de la estructura y el comportamiento de aclarar y
también se proporciona para su reutilización. Una colaboración a menudo implementa un patrón.

Un elemento de colaboración se muestra como una elipse.

Enlace de papel

Un conector de enlace de papel se extrae de una colaboración para el clasificador que


cumple la función. Se muestra como una línea discontinua con el nombre de la función al final del
clasificador.

13
Representa

Un conector representa puede extraerse de una colaboración a un clasificador para mostrar


que se utiliza una colaboración en el clasificador. Se muestra como una línea discontinua con punta
de flecha y la palabra clave «representa».

Aparición

Un conector de ocurrencia puede extraerse de una colaboración a un clasificador para


mostrar que una colaboración (sic) representa el clasificador. Se muestra como una línea
discontinua con punta de flecha y la palabra clave «ocurrencia».

Diagramas de Componentes

Componente diagramas ilustran las piezas de software, controladores embebidos, etc., que
se componen de un sistema. Un diagrama de componentes tiene un mayor nivel de abstracción que
un diagrama de clase - generalmente un componente es implementado por una o más clases (o
objetos) en tiempo de ejecución. Son bloques de construcción para que un componente
eventualmente puede abarcar una gran parte de un sistema.

14
E l diagrama anterior muestra algunos componentes y sus interrelaciones. Conectores de
Asamblea "vinculan" las interfaces proporcionadas suministradas por "Producto" y "Cliente" a las
interfaces necesarias especificadas por el "Orden". Una relación de dependencia mapas detalles de
cuenta asociada del cliente a la interfaz necesaria; "Pago", indicado por "Orden".

Componentes son similares en la práctica a los diagramas de paquete, ya que definición


límites y se utilizan para los elementos del grupo en estructuras lógicas. La diferencia entre
diagramas de paquete y diagramas de componente es que componente diagramas ofrecen un
mecanismo de agrupamiento semánticamente más rica. Con diagramas de componente todos los
elementos del modelo son privados, mientras que los diagramas de paquete sólo mostrarán los
elementos públicos.

Que representa los componentes

Los componentes se representan como un clasificador rectangular con la palabra clave


«componente»; Opcionalmente, el componente puede mostrarse como un rectángulo con un
componente de icono en la esquina superior derecha.

Conector de la Asamblea

Los puentes de conector de Asamblea que requiere de un componente de interfaz


(Component1) con la interfaz proporcionada de otro componente (Component2); Esto permite que
un componente proporcionar los servicios que requiere de otro componente.

15
Componentes con puertos

Uso de puertos con diagramas de componente permite un servicio o un comportamiento


especificarse a su entorno, así como un servicio o comportamiento que requiere de un componente.
Puertos pueden especificar entradas y salidas como pueden operar bidireccional. El diagrama
siguiente detalla un componente con un puerto para los servicios en línea junto con dos siempre el
orden de las interfaces de entrada y seguimiento, así como un pago de interfaz necesaria.

Diagramas de Implementación

Un diagrama de implementación de modelos de la arquitectura de tiempo de ejecución de


un sistema. Se muestra la configuración de los elementos de hardware (nodos) y muestra cómo se
asignan los artefactos y elementos de software en los nodos.

Nodo

Un nodo es el elemento de hardware o software. Se muestra como una forma de cuadro


tridimensional, como se muestra a continuación.

Instancia de nodo

Una instancia de nodo se puede mostrar en un diagrama. Una instancia puede distinguirse
de un nodo por el hecho de que su nombre está subrayado y tiene dos puntos antes de su tipo de
nodo base. Una instancia puede tener o no un nombre antes de los dos puntos. El siguiente
diagrama muestra una instancia con nombre de un equipo.

16
Estereotipos de nodo

Un número de estereotipos estándar se proporciona para los nodos, es decir «cdrom»,


«CD-ROM», «equipo», «de discos», «equipo», «pc cliente», «pc server», «seguros», «servidor»,
«almacenamiento», «servidor unix», «pc de usuario». Estos mostrarán un icono correspondiente en
la esquina superior derecha del nodo símbolo

Artefacto

Un artefacto es un producto del proceso de desarrollo de software. Que pueden incluir


modelos de procesos (por ejemplo, utilizar modelos de casos, diseñar modelos etc.), de origen de
archivos, archivos ejecutables, documentos de diseño, informes de pruebas, prototipos, manuales
de usuario, etc..

Un artefacto se denota por un rectángulo que muestra el nombre de artefacto, la palabra clave
«artefacto» y un icono de documento, como se muestra a continuación.

Asociación

En el contexto de un diagrama de implementación, una asociación representa una ruta de


comunicación entre nodos. El siguiente diagrama muestra un diagrama de implementación para
una red, representando a los protocolos de red como los estereotipos y multiplicidades en los
extremos de la asociación.

17
Nodo de contenedor

Un nodo puede contener otros elementos, tales como los componentes o artefactos. El
siguiente diagrama muestra un diagrama de implementación por parte de un sistema integrado,
representando un artefacto ejecutable como ser contenida por el nodo de la placa base.

Diagramas de Casos de Uso

El modelo de casos de uso captura los requisitos de un sistema. Casos de uso son un medio
de comunicación con los usuarios y otros interesados en el sistema de lo que se pretende hacer.

Actores 18
Un diagrama de casos de uso muestra la interacción entre el sistema y entidades externas
al sistema. Estas entidades externas se conocen como actores. Actores representan roles que
pueden incluir usuarios humanos, hardware externo u otros sistemas. Un actor generalmente se
dibuja como una figura de palo con nombre, o alternativamente como un rectángulo de clase con la
palabra clave «actor».

Los actores pueden generalizar a otros actores como se detalla en el siguiente diagrama:

Casos de uso

Un caso de uso es una unidad de trabajo significativo. Proporciona una vista de alto nivel
de comportamiento observable a alguien o algo fuera del sistema. La notación de un caso de uso
es una elipse.

La notación de utilizando un caso de uso es una línea de conexión con una punta de flecha
opcional que muestra la dirección de control. El siguiente diagrama indica que el actor de
"Cliente" utiliza el caso de uso de "Retiros".

19
El conector de usos opcionalmente puede tener valores de multiplicidad en cada extremo,
como en el siguiente diagrama, que muestra que un cliente puede tener sólo una sesión de retiro
en un momento, pero un banco puede tener cualquier número de clientes haciendo retiros
simultáneamente.

Definición de caso de uso

Un uso caso normalmente incluye:

 Nombre y descripción
 Requisitos
 Las restricciones
 Escenarios
 Diagramas de escenario
 Información adicional.

Nombre y descripción

Normalmente, un caso de uso es nombrado como una frase verbal y dado una breve
descripción textual informal.

Requisitos

Los requisitos de definen los requisitos formales y funcionales que un caso de uso debe
proporcionar al usuario final. Se corresponden con las especificaciones funcionales encontradas
metodologías estructuradas. Un requisito es un contrato o promesa que el caso de uso realizará
una acción o proporcionar algún valor al sistema.

Las restricciones

La restricción es una condición o restricción que opera bajo un caso de uso y que incluye
condiciones previas y post-invariantes. Una condición especifica las condiciones que deben
cumplirse antes de que el caso de uso pueda proceder. Un post-condition se utiliza para
documentar los cambios en las condiciones que debe ser verdadera después de la ejecución del
20
caso de uso. Una condición invariante especifica las condiciones que son verdaderas a lo largo de la
ejecución de un caso de uso de la.

Escenarios

Un escenario es una descripción formal del flujo de eventos que se producen durante la
ejecución de una instancia de casos de uso. Define la secuencia específica de eventos entre el
sistema y los actores externos. Normalmente se describe en el texto y corresponde a la
representación textual del diagrama de secuencia.

Incluidos los casos de uso

Casos de uso pueden contener la funcionalidad de otro caso de uso como parte de su
procesamiento normal. En general se supone que cualquier caso de uso incluido se llamará cada
vez que se ejecuta la ruta de acceso básico. Un ejemplo de esto es que la ejecución de la < tarjeta
de identificación > Ejecutar como parte de un caso de uso <Withdraw> de caso de uso.

Casos de uso pueden incluirse por caso de uso de uno o más, ayudando a reducir el nivel
de duplicación de funcionalidad por factorización de comportamiento común en casos de uso que
se reutilizan muchas veces.

Ampliación de casos de uso

Un caso de uso puede utilizarse para ampliar el comportamiento de otro; se utiliza


normalmente en circunstancias excepcionales. Por ejemplo, si antes de modificar un tipo particular
de la orden del cliente, un usuario debe obtener la aprobación de alguna autoridad superior, luego
del caso de uso de < obtener aprobación > opcionalmente puede extender el caso de uso regular
de < orden Modificar >.

Puntos de extensión

El punto en el que se ha agregado un caso de uso extensión puede definirse por medio de
un punto de extensión.

21
Límite del sistema

Es usual para mostrar casos de uso como dentro del sistema y los actores como fuera del sistema.

Diagramas de Actividad

En UML, un diagrama de actividad se utiliza para mostrar la secuencia de actividades.


Diagramas de actividad muestran el flujo de trabajo desde un punto inicial hasta el punto de
finalizar, detallando los múltiples caminos de decisión que existen en la progresión de los eventos
contenidos en la actividad. Pueden ser utilizados para situaciones de detalle donde se produzcan
procesamiento en paralelo en la ejecución de algunas actividades. Diagramas de actividad son
útiles para negocios modelización donde se utilizan para el que se detallan los procesos que
intervienen en las actividades de negocio.

A continuación se muestra un ejemplo de un diagrama de actividad.

22
Las secciones siguientes describen los elementos que constituyen un diagrama de actividad.

Actividades

Una actividad es la especificación de una secuencia con parámetros de comportamiento.


Una actividad se muestra como un rectángulo de esquinas redondeadas que encierra todas las
acciones, flujo de control y otros elementos que componen la actividad.

Acciones

Una acción representa un solo paso dentro de una actividad. Las acciones se denotan por
rectángulos con esquinas redondeadas.

Limitaciones de la acción

23
Las restricciones se pueden asociar a una acción. El siguiente diagrama muestra una acción
con local pre y post-conditions.

Flujo de control

Un flujo de control muestra el flujo de control desde una acción a la siguiente. Su notación
es una línea con una punta de flecha.

Nodo inicial

Una inicial o nodo inicial es representado por un gran punto negro, como se muestra a
continuación.

Nodo final

Hay dos tipos de nodo final: actividad y flujo de nodos finales. El nodo final de actividad es
representado como un círculo con un punto interior.

El nodo final de flujo es representado como un círculo con una cruz dentro.
24
La diferencia entre los tipos de dos nodos es que el flujo de nodo final denota el final de un
flujo de control único; el nodo de actividad final denota el final de todos los flujos de control dentro
de la actividad.

Objetos y flujos de objeto

El flujo de un objeto es un trazado a lo largo de la cual pueden pasar objetos o datos. Un


objeto se muestra como un rectángulo.

El flujo de un objeto se muestra como un conector con una punta de flecha que indica la
dirección del objeto que se está pasando.

Un flujo de objeto debe tener un objeto en al menos uno de sus extremos. Utilizar la
entrada y salida de pines sería una notación abreviada para el diagrama de arriba.

Un almacén de datos se muestra como un objeto con la palabra clave «almacén de datos».

Decisión y nodos de conexión


25
Nodos de decisión y nodos de conexión tienen la misma notación: una forma de rombo.
Ellos pueden ambos ser llamados. Los flujos de control procedentes de un nodo de decisión tendrán
condiciones de guardia que permitirán el control de flujo si se cumple la condición de guardia. El
diagrama siguiente muestra el uso de un nodo de decisión y un nodo de conexión.

Horquilla y nodos de combinación

Horquillas y combinaciones tienen la misma notación: o bien una barra horizontal o vertical
(la orientación depende si el flujo de control se ejecuta izquierdo a derecha o de arriba a abajo).
Indican el inicio y el final de procesos simultáneos de control. El siguiente diagrama muestra un
ejemplo de su uso.

Una Unión es diferente de una fusión en que la combinación sincroniza dos entradas y
produce una salida única. La salida de una Unión no se puede ejecutar hasta que se han recibido
todas las corrientes. Una combinación pasa cualquier flujo de control directamente a través de él. Si
dos o más corrientes son recibidas por un símbolo de combinación, la acción apuntada por su salida
se ejecuta dos o más veces.

Región de expansión

Una región de expansión es una región de actividad estructurada que ejecuta varias veces.
Expansión de entrada y salida nodos se dibujan como un grupo de tres cuadros que representan
una selección de varios elementos. La palabra clave "iterativo", "paralelo" o la "secuencia" se
muestran en la esquina superior izquierda de la región.

26
Controladores de excepciones

Controladores de excepciones pueden ser modelados en diagramas de actividad como en el


ejemplo siguiente.

Región de actividad interrumpibles

Una región de actividad interrumpibles rodea un grupo de acciones que puede ser
interrumpida. En el siguiente ejemplo muy simple, se ejecutará la acción de "Orden de proceso"
hasta el final, cuando se pasa el control a la acción de "Orden", a menos que se reciba una
interrupción "Cancelar solicitud", que pasará control a la acción de "Cancelar pedido".

Partición

Una partición de actividad se muestra como una calle horizontal o vertical. En el diagrama
siguiente, las particiones se utilizan para separar las acciones dentro de una actividad en las
realizadas por el departamento de contabilidad y las realizadas por el cliente.

27
Estados de Diagramas de Maquinas

Un diagrama de máquina de estado modela el comportamiento de un único objeto, especificar la


secuencia de eventos que pasa un objeto durante su vida en respuesta a eventos.

Por ejemplo, el siguiente diagrama de máquina de estado muestra los Estados que
atraviesa una puerta durante su vida.

La puerta puede tener uno de tres Estados: "Abierto", "Cerrado" o "Bloqueado". Pueden
responder a los eventos, abrir, cerrar, bloqueo y desbloqueo. Observe que no todos los eventos son
válidos en todos los Estados; por ejemplo, si se abre una puerta, no puede bloquear hasta que lo
cierre. También observe que una transición de Estado puede tener una guardia de las condiciones
vinculadas: si se abre la puerta, sólo puede responder al evento estrecho si el umbral de condición
- > isEmpty se cumpla. La sintaxis y convenciones utilizadas en diagramas de máquina de Estado
se discutirán en plena en las secciones siguientes.

28
Los Estados

Un Estado es denotado por un rectángulo de esquinas redondeadas con el nombre del


Estado escrito en su interior.

Inicial y Final de Estados

El estado inicial es denotado por un círculo negro lleno y puede ser etiquetado con un
nombre. El estado final es denotado por un círculo con un punto dentro y también puede ser
etiquetado con un nombre.

Las transiciones

Transiciones de un Estado a otro se indican mediante líneas con puntas de flecha. Una
transición puede tener un desencadenador, un guardia y un efecto, como aparece a continuación.

"Gatillo" es la causa de la transición, que podría ser una señal, un evento, un cambio en
alguna condición, o el paso del tiempo. "Guardia" es una condición que debe cumplirse para que el
desencadenador causar la transición. "Efecto" es una acción que se invocará directamente sobre el
objeto que posee la máquina de Estado como resultado de la transición.

Acciones de Estado

En el ejemplo anterior de la transición, un efecto se asoció con la transición. Si el estado de


destino tenía muchas transiciones al llegar a ella, y cada transición tenía el mismo efecto asociado,
sería mejor asociar el efecto con el estado de destino en lugar de las transiciones. Esto puede
hacerse mediante la definición de una acción de entrada para el Estado. El siguiente diagrama
muestra un Estado con una acción de entrada y una acción de salida.

29
También es posible definir acciones que se producen en eventos o acciones que siempre se
producen. Es posible definir cualquier número de acciones de cada tipo.

Self-Transitions

Un Estado puede tener una transición que devuelve a sí mismo, como en el siguiente
diagrama. Esto es más útil cuando un efecto está asociado con la transición.

Compuesto de Estados

Un diagrama de máquina de Estado puede incluir diagramas emplazados, como en el


ejemplo siguiente.

30
La forma alternativa de mostrar la misma información es la siguiente.

La notación en la versión anterior indica que los detalles de la sub-machine de comprobar


PIN se muestran en un diagrama separado.

Punto de entrada

A veces no desea introducir un sub-machine en el estado inicial normal. Por ejemplo, en la


siguiente sub-machine sería normal para comenzar en el estado de "Inicializando", pero si por
alguna razón no fuera necesaria para realizar la inicialización, sería posible comenzar en el estado
de "Lista" por la transición hasta el punto de entrada con nombre.

31
El siguiente diagrama muestra el estado de la máquina un nivel arriba.

Punto de salida

De manera similar a los puntos de entrada, es posible han llamado puntos alternativos de
salida. El diagrama siguiente da un ejemplo donde el estado ejecutado tras el estado de
procesamiento principal depende en qué ruta se utiliza para la transición del Estado.

Opción Pseudo-State

Un pseudo-state de elección se muestra como un diamante con una transición al llegar y


salir de transiciones de dos o más. Muestra en el siguiente diagrama que cualquiera estado es llegó
a, después de la pseudo-state de la elección, depende el formato del mensaje seleccionado durante
la ejecución del estado anterior.

32
Pseudo-State Junction

Pseudo-states Junction se utilizan para encadenar varias transiciones. Un cruce solo puede
tener uno o más entrante y uno o más saliente, transiciones; un guardia puede aplicarse a cada
transición. Uniones están libres de semántica. Una Unión que se divide una transición entrante en
varias transiciones salientes se da cuenta de una rama condicional estática, a diferencia de un
pseudo-state de elección que se da cuenta de una rama condicional dinámica.

Cancelar Pseudo-State

Entrar en una pseudo-state terminate indica que ha finalizado la línea vital de la máquina
de Estado. Un pseudo-state de terminación se expresa como una Cruz.

33
Estados de historia

Un Estado de historia se utiliza para recordar el estado anterior de una máquina de Estado
cuando que se interrumpió. El diagrama siguiente ilustra el uso de los Estados de historia. El
ejemplo es una máquina de estado perteneciente a una máquina de lavar.

En esta máquina de Estado, cuando se ejecuta una máquina de lavar, progresará de


"Lavado" a través de "Rinsing" a "Spinning". Si hay un corte de energía, la máquina de lavar dejará
de ejecutarse y pasará al Estado de "Apagado". A continuación, cuando se restaura el poder, el
estado de ejecución se introduce en el símbolo de "Estado de la historia", lo que significa que debe
reanudar donde última izquierda-off.

Regiones concurrentes

Un Estado puede dividirse en las regiones que contienen subestados que existen y ejecutan
de forma simultánea. El siguiente ejemplo muestra, en el Estado "aplicar frenos", los frenos
delanteros y traseros funcionará simultáneamente y de forma independiente. Observe el uso de la
bifurcación y la combinación de pseudo-states, en lugar de elección y combinación de pseudo-
states. Estos símbolos se utilizan para sincronizar los subprocesos simultáneos.

34
Diagramas de Comunicación

Un diagrama de comunicación, anteriormente llamado un diagrama de colaboración, es un


diagrama de interacción que muestra información similar a los diagramas de secuencia pero su foco
de atención en las relaciones de objeto.

En los diagramas de comunicación, los objetos se muestran con conectores de asociación entre
ellos. Los mensajes se agregan a las asociaciones y mostrar como cortas flechas apuntando en la
dirección del flujo de mensajes. Se muestra la secuencia de mensajes a través de un esquema de
numeración.

Los siguientes dos diagramas muestran un diagrama de comunicación y el diagrama de


secuencia que muestra la misma información. Aunque es posible obtener la secuencia de mensajes
en el diagrama de comunicación desde el esquema de numeración, no es inmediatamente visible.
Lo que muestran claramente el diagrama de comunicación es sin embargo, el conjunto completo de
mensajes entre objetos adyacentes.

35
Diagramas de Secuencia

Un diagrama de secuencia es una forma de diagrama de interacción que muestra los


objetos como el que se ejecuta la página, con sus interacciones con el tiempo que se representan
como mensajes dibujados como flechas desde la línea de vida de la fuente para la supervivencia de
destino hacia abajo de la vida. Diagramas de secuencia son buenos para mostrar los objetos que se
comunican con qué otros objetos; y qué mensajes de esas comunicaciones. Diagramas de
secuencia no están diseñados para mostrar una lógica compleja procesal.

Línea de vida

Un salvavidas representa a un participante individual en un diagrama de secuencia.


Normalmente, un salvavidas tendrá un rectángulo que contiene su nombre de objeto. Si su nombre
es "auto", indica que la línea de vida representa el clasificador que posee el diagrama de secuencia.

A veces un diagrama de secuencia tendrá un salvavidas con un símbolo de elemento del


actor a su cabeza. Esto normalmente será el caso si el diagrama de secuencia es propiedad de un
caso de uso. Elementos de límite, el control y la entidad de diagramas de robustez pueden poseer
también de vida.

36
Mensajes

Los mensajes se muestran como flechas. Los mensajes pueden ser completos, perdido o
encontrado; sincrónica o asincrónica; Llame o señal. En el siguiente diagrama, el primer mensaje es
un mensaje sincrónico (denotado por la punta de flecha sólida) completa con un mensaje implícito
de retorno; el segundo mensaje es asincrónico (denotado por línea de punta de flecha), y el tercero
es el mensaje de devolución asincrónico (denotado por la línea discontinua).

Aparición de ejecución

Un rectángulo fino corriendo por la línea de vida denota la aparición de ejecución, o la


activación de un foco de control. En el diagrama anterior, hay tres apariciones de ejecución. El
primero es el objeto de origen enviar dos mensajes y recibir dos respuestas; el segundo es el
objeto de destino recibe un mensaje de sincrónico y devolver una respuesta; y el tercero es el
objeto de destino recibe un mensaje asincrónico y devolver una respuesta.
37
Mensaje de sí mismo

Un mensaje de auto puede representar una llamada recursiva de una operación, o un


método llamar a otro método que pertenecen al mismo objeto. Se muestra como crear un foco
anidado de control en la ocurrencia de ejecución de lifeline.

Mensajes perdidos

Mensajes perdidos son las que se envían o bien pero no llegan al destinatario, o que vaya a
un destinatario que no se muestra en el diagrama actual. Encontrar mensajes son los que llegan de
un remitente desconocido, o de un remitente no se muestra en el diagrama actual. Ellos se denotan
va a o procedentes de un elemento de punto final.

Fin y comienzo de lifeline

Un salvavidas puede ser creado o destruido durante la escala de tiempo representado por
un diagrama de secuencia. En este último caso, la línea de vida termina con un símbolo de la
parada, representado como una Cruz. En el caso anterior, se muestra el símbolo a la cabeza de la
línea de vida en un nivel inferior de la página que el símbolo del objeto causante de la creación. El
siguiente diagrama muestra un objeto que se creó y destruido.

38
Duración y las limitaciones de tiempo

De forma predeterminada, un mensaje se muestra como una línea horizontal. Desde la


línea de vida representa el paso del tiempo hacia abajo de la pantalla, cuando modelar un sistema
en tiempo real, o incluso un proceso de negocio de plazos, es importante tener en cuenta la
longitud de tiempo que se tarda en realizar acciones. Al definir una restricción de duración para un
mensaje, el mensaje se mostrará como una línea inclinada.

39
Fragmentos combinados

Se dijo anteriormente que los diagramas de secuencia no están destinados a mostrando


una lógica compleja procesal. Mientras que este es el caso, hay una serie de mecanismos que
permiten agregar un grado de lógica de procedimiento a los diagramas y que bajo el título de
fragmentos combinados. Un fragmento combinado es uno o más de secuencia de procesamiento
delimitada por un marco y ejecutado bajo ciertas circunstancias específicas con nombre. Los
fragmentos disponibles son:

 Fragmento alternativo (denotado "alt") los modelos


construcciones de if…then…else.
 Opción fragmento (denota "optar por") modelos de
conmutador de construcciones.
 Romper una alternativa secuencia de eventos que es
procesada en lugar de todo el resto del diagrama de
modelos de fragmento.
 Procesamiento simultáneo de modelos de fragmento
(denotado "par") en paralelo.
 Fragmento de secuenciación débil (denotado "seq)"
encierra una serie de secuencias para que todos los
mensajes deben procesarse en un segmento anterior
antes de que pueda comenzar el siguiente segmento,
pero que no impone ninguna secuencia dentro de un
segmento en los mensajes que no comparten un
salvavidas.
 Fragmento de secuenciación estricto (denota "estricto")
encierra una serie de mensajes que debe ser procesado
en el orden dado.
 Fragmento negativo (denotado "neg") encierra una
serie no válida de mensajes.
 Fragmento de crítica encierra una sección crítica.
 Ignorar fragmento declara un mensaje o ser no
interesa si aparece en el contexto actual.
 Considere la posibilidad de fragmento es, en efecto, lo
contrario del fragmento Omitir: se debe ignorar
cualquier mensaje no incluido en el fragmento de tener
en cuenta.
 Fragmento de afirmación (denota "afirmar") que
designa cualquier secuencia no se muestra como un
operando de la afirmación no es válido.
 Fragmento de bucle encierra una serie de mensajes
que se repiten.

El siguiente diagrama muestra un fragmento de bucle.

40
También hay una ocurrencia de interacción, que es similar a un fragmento combinado. Una
ocurrencia de interacción es una referencia a otro diagrama que tiene la palabra "ref" en la esquina
superior izquierda del marco, y demostró el nombre del diagrama de referencia en el centro de la
trama.

Puerta

Una puerta es un punto de conexión para conectar un mensaje dentro de un fragmento con
un mensaje fuera un fragmento. EA muestra una puerta como una pequeña plaza en un marco de
fragmento. Diagrama de gates actúan como conectores de la página para diagramas de secuencia,
que representa el origen de los mensajes entrantes o el destino de los mensajes salientes. Los
diagramas de dos siguientes muestran cómo se puede utilizar en la práctica. Tenga en cuenta que
la puerta en el diagrama de nivel superior es el punto en el que la punta de flecha de mensaje toca
el fragmento de referencia - no hay necesidad para procesarlo como una forma de cuadro.

41
Descomposición de parte

Un objeto puede tener más de una línea de vida procedente de ella. Esto permite inter-
intra-objeto y mensajes que se mostrará en el diagrama del mismo.

Invariante del Estado / continuaciones

Un Estado invariante es una restricción que se colocan en una línea de comunicación que
debe cumplirse en tiempo de ejecución. Se muestra como un rectángulo con extremos
semicirculares.

42
Una continuación tiene la misma notación como un Estado invariante, pero se utiliza en
fragmentos combinados y puede estirar a través de más de una línea de vida.

Diagramas de Temporización

Diagramas de temporización de UML se utilizan para mostrar el cambio en el Estado o el


valor de uno o más elementos con el tiempo. También puede mostrar la interacción entre eventos
cronometrados y las limitaciones de tiempo y la duración que las gobiernan.

Lifeline estatal

Un salvavidas de estado muestra el cambio de estado de un elemento con el tiempo. El eje


x muestra el tiempo transcurrido en cualquier unidades son elegidas, mientras que el eje y se
etiqueta con figura en una lista de los Estados. A continuación se muestra una línea de vida del
Estado.

Lifeline de valor

Un salvavidas de valor muestra el cambio de valor de un elemento con el tiempo. El eje x


muestra el tiempo transcurrido en cualquier unidades son elegidos, los mismos que para la
supervivencia del Estado. El valor se muestra entre el par de líneas horizontales que se cruzan en
43
cada cambio en el valor. A continuación se muestra un salvavidas de valor.
Ponerla todos juntos

Vitales del Estado y el valor pueden ser apilados uno encima de otro en cualquier
combinación. Deben tener el mismo eje X. Pueden pasar mensajes de lifeline de uno a otro. Cada
transición de Estado o el valor puede tener un evento definido, una restricción de tiempo que indica
cuándo debe producirse un evento y una restricción de duración que indica cuánto tiempo un
Estado o el valor debe ser, en efecto, para. Una vez que se todos han aplicado, un diagrama de
sincronización puede tener el aspecto siguiente.

Diagramas de Interacción

Un diagrama de interacción global es una forma de diagrama de actividad en la que los


nodos representan los diagramas de interacción. Diagramas de interacción pueden incluir la
secuencia, comunicación, información general de interacción y diagramas de temporización. La
mayoría de la notación para diagramas de información general de interacción es el mismo para
diagramas de actividad. Por ejemplo, inicial, final,44decisión, combinación, horquilla y unir nodos son
todos iguales. Sin embargo, diagramas de información general de interacción introducen dos
nuevos elementos: apariciones de interacción y elementos de interacción.

Aparición de interacción

Las apariciones de interacción son referencias a los diagramas de interacción existente. Una
ocurrencia de interacción se muestra como un marco de referencia; es decir, un marco con "ref" en
la esquina superior izquierda. Se mostrará el nombre del diagrama que se haga referenciado en el
centro del marco.

Elemento de interacción

Elementos de interacción son similares a las apariciones de interacción, en que muestran


una representación de los diagramas de interacción existentes dentro de un marco rectangular. Se
diferencian en que muestran el contenido del diagrama de referencias en línea.

Ponerla todos juntos

Los mismos controles de diagramas de actividad (horquilla, combinación, mezcla, etc.)


pueden utilizarse en diagramas de información general de interacción para poner la lógica de
control alrededor de los diagramas de niveles inferiores. En el siguiente ejemplo muestra un
45
proceso de venta de la muestra, con subprocesos resumidos dentro de las apariciones de
interacción.

46

También podría gustarte