UML.
ADOO. By NASHBROS.
1. ¿Qué es UML?
Diagramas UML. ¿Qué es UML? UML es un conjunto de herramientas, que permite
modelar (analizar y diseñar) sistemas orientados a objetos.
Ahora la frase más importante de todo el artículo: "El 80% de los problemas se pueden resolver
usando tan solo el 20% de UML"
Herramientas UML
Pero volviendo a la definición de UML como "conjunto de herramientas", si nos imaginamos UML como una
caja de herramientas con su martillo, destornillador, alicates, etc. Veamos qué
contiene
nuestra caja de herramientas:
- Diagrama
de casos de uso.
- Diagrama
de clases.
- Diagrama
de estados.
- Diagrama
de secuencias.
- Diagrama
de actividades.
- Diagrama
de colaboraciones.
- Diagrama
de componentes.
- Diagrama
de distribución.
Pero siguiendo con la analogía, si vamos a colgar un cuadro no usaremos todas las herramientas de
nuestra caja, posiblemente sólo usemos el martillo para clavar el clavo.
Lo mismo pasa con UML, una vez que conozcamos las herramientas usaremos
en cada momento las más adecuadas a nuestras necesidades. Nos os voy a decir
que esto sea fácil, pues hay que saber para qué sirven y qué limitaciones
tienen unas y otras para conocer su utilidad. Pero se puede alcanzar este
conocimiento con un poco de práctica y sentido común.
2.
¿Cuáles
son los diagramas UML?
- Diagrama
de casos de uso.
- Diagrama de clases.
- Diagrama de estados.
- Diagrama de secuencias.
- Diagrama de actividades.
- Diagrama de colaboraciones.
- Diagrama de componentes.
- Diagrama de distribución.
3. ¿Què es diagrama de estados?
Los diagramas de estado
describen gráficamente los eventos y los estados de los objetos. Los diagramas
de estado son útiles, entre otras cosas, para indicar los eventos del sistema
en los casos de uso.
Un evento es un acontecimiento importante a tomar en cuenta para el
sistema. Un estado es la condición de un objeto en un momento
determinado: el tiempo que transcurre entre eventos. Una transición es
una relación entre dos estados, e indica que, cuando ocurre un evento, el
objeto pasa del estado anterior al siguiente.
En UML, los estados se representan mediante óvalos. Las transiciones se
representan mediante flechas con el nombre del evento respectivo. Se acostumbra
poner un estado inicial (círculo negro). Por ejemplo:
Un diagrama de estado representa el ciclo de vida de un objeto: los eventos que
le ocurren, sus transiciones, y los estados que median entre estos eventos.
4. ¿Qué es diagrama
de secuencia?
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. 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.
Línea de
Vida
Una línea
de vida representa un participante individual en un diagrama de secuencia. Una
línea de vida usualmente tiene un rectángulo que contiene el nombre del objeto.
Si el nombre es self entonces eso indica que la línea de vida representa el
clasificador que posee el diagrama de secuencia.
Algunas
veces un diagrama de secuencia tendrá una línea de vida con un símbolo del
elemento actor en la parte superior. Este usualmente sería el caso si un
diagrama de secuencia es contenido por un caso de uso. Los elementos entidad,
control y límite de los diagramas de robustez también pueden contener líneas de
vida.
Mensajes
Los
mensajes se muestran como flechas. Los mensajes pueden ser completos, perdidos
o encontrados; síncronos o asíncronos: llamadas o señales. En el siguiente
diagrama, el primer mensaje es un mensaje síncrono (denotado por una punta de
flecha oscura), completo con un mensaje de retorno implícito; el segundo
mensaje es asíncrono (denotado por una punta de flecha en línea) y el tercero
es un mensaje de retorno asíncrono (denotado por una línea punteada).
Ocurrencia
de ejecución
Un
rectángulo fino a lo largo de la línea de vida denota la ocurrencia de
ejecución o activación de un foco de control. En el diagrama anterior hay tres
ocurrencias de ejecución. El primero es el objeto origen que envía dos mensajes
y recibe dos respuestas, el segundo es el objeto destino que recibe un mensaje
asíncrono y retorna una respuesta, y el tercero es el objeto destino que recibe
un mensaje asíncrono y retorna una respuesta.
Mensaje
Self
Un
mensaje self puede representar una llamada recursiva de una operación, o un
método llamando a otro método perteneciente al mismo objeto. Este se muestra
como cuando crea un foco de control anidado en la ocurrencia de ejecución de la
línea de vida.
Mensajes
perdidos y encontrados
Los
mensajes perdidos son aquellos que han sido enviados pero que no han llegado al
destino esperado, o que han llegado a un destino que no se muestra en el
diagrama actual. Los mensajes encontrados son aquellos que llegan de un
remitente no conocido, o de un remitente no conocido en el diagrama actual.
Ellos se denotan yendo o llegando desde un elemento de punto final.
Inicio y
final de línea de vida
Una línea
de vida se puede crear o destruir durante la escala de tiempo representada por
un diagrama de secuencia. En el último caso, la línea de vida se termina por un
símbolo de detención, representado como una cruz. En el primer caso, el símbolo
al inicio de la línea de vida se muestra en un nivel más bajo de la página que
el símbolo del objeto que causó la creación. El siguiente diagrama muestra un
objeto que fue creado y destruido.
Restricciones
de tiempo y duración
En forma
predeterminada, un mensaje se muestra como una línea horizontal. Ya que la
línea de vida representa el pasaje de tiempo hacia abajo, cuando se modela un
sistema en tiempo real, o incluso un proceso de negocios en tiempo límite,
puede ser importante considerar el tiempo que toma realizar las acciones. Al
configurar una restricción de duración para un mensaje, el mensaje se mostrará
como una línea inclinada.
Fragmentos
combinados
Se
estableció anteriormente que no se espera que los diagramas de secuencia
muestren lógicas de procedimientos complejos. Siendo este el caso, hay un
número de mecanismos que permiten agregar un grado de lógicas de procedimientos
a los diagramas y que a la vez vienen bajo el encabezado de fragmentos
combinados. Un fragmento combinado es una o más secuencias de procesos
incluidas en un marco y ejecutadas bajo circunstancias nombradas específicas.
Los fragmentos disponibles son:
- El fragmento Alternative
(denotedo “alt”) modela estructuras if…then…else.
- El fragmento Option
(denotado “opt”) modela estructuras switch.
- El fragmento Break modela
una secuencia alternativa de eventos que se procesa en lugar de todo del
resto del diagrama.
- El fragmento Parallel
(denotado “par”) modela procesos concurrentes.
- El fragmento de secuenciado
Weak (denotado “seq”) incluye un número de secuencias para las cuales
todos los mensajes se deben procesar en un segmento anterior, antes de que
el siguiente segmento pueda comenzar, pero que no impone ningún
secuenciado en los mensajes que no comparten una línea de vida.
- El fragmento de secuenciado
Strict (denotado “strict”) incluye una serie de mensajes que se deben
procesar en el orden proporcionado.
- El fragmento Negative
(denotado “neg”) incluye una serie de mensajes inválidos.
- El fragmento Critical
incluye una sección crítica.
- El fragmento Ignore declara
un mensaje o mensajes que no son de ningún interés si este aparece en el
contexto actual.
- El fragmento Consider es el
opuesto del fragmento Ignore: cualquier mensaje que no se incluya en el
fragmento Consider se debería ignorar.
- El fragmento Assertion
(denotado “assert”) designa que cualquier secuencia que no se muestra como
un operando de la aserción es inválida.
- El fragmento Loop incluye
una serie de mensajes que están repetidos.
El
siguiente diagrama muestra un fragmento loop.
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 izquierda arriba del marco, y tiene el nombre del
diagrama referenciado que se muestra en el medio del marco
Puerta
Una
puerta es un punto de conexión para conectar un mensaje dentro de un fragmento
con un mensaje fuera del fragmento. EA muestra una puerta como un cuadro
pequeño en un marco del fragmento.
Descomposición
en parte
Un objeto
puede tener más de una línea de vida que viene de ésta. Esto permite mensajes
de entre e intra objetos para que se muestren en el mismo diagrama.
Continuaciones
/ Invariantes de Estado
Una invariante
de estado es una restricción ubicada en una línea de vida que debe ser
verdadera en el tiempo de ejecución. Esta se muestra como un rectángulo con los
extremos en semi-circulos.
Una
continuación tiene la misma notación que una invariante de estado pero se usa
en fragmentos combinados y puede extenderse a través de más de una línea de
vida.
5. ¿Qué es diagrama de colaboraciones?
Un diagrama de colaboración es una forma de representar
interacción entre objetos, alterna al diagrama de secuencia. A diferencia de
los diagramas de secuencia, pueden mostrar el contexto de la operación (cuáles
objetos son atributos, cuáles temporales, ... ) y ciclos en la ejecución. Se
toma como ejemplo el caso de uso Pedir Producto ya descrito como diagrama de
secuencia.
Objeto
Un objeto se representa con un rectángulo, que contiene
el nombre y la clase del objeto en un formato nombreObjeto: nombreClase.
Enlaces
Un enlace es una instancia de una asociación en un
diagrama de clases. Se representa como una línea continua que une a dos
objetos. Esta acompañada por un número que indica el orden dentro de la
interacción y por un estereotipo que indica que tipo de objeto recibe el
mensaje. Pueden darse varios niveles de subíndices para indicar anidamiento de
operaciones. Los estereotipos indican si el objeto que recibe el mensaje es un
atributo (association y se asume por defecto), un parámetro de un mensaje
anterior, si es un objeto local o global.
Flujo de mensajes
Expresa el envío de un mensaje. Se representa mediante
una flecha dirigida cercana a un enlace.
Marcadores de creación y destrucción de
objetos
Puede mostrarse en la gráfica cuáles objetos son creados
y destruidos, agregando una restricción con la palabra new o delete,
respectivamente, cercana al rectángulo del objeto
Objeto compuesto
Es una representación alternativa de un objeto y sus
atributos. En esta representación se muestran los objetos contenidos dentro del
rectángulo que representa al objeto que los contiene. Un ejemplo es el
siguiente objeto ventana
6. ¿Qué es diagrama de actividades?
Diagrama
de Actividades
En UML un
diagrama de actividades se usa para mostrar la secuencia de actividades. Los
diagramas de actividades muestran el flujo de trabajo desde el punto de inicio
hasta el punto final detallando muchas de las rutas de decisiones que existen
en el progreso de eventos contenidos en la actividad. Estos también pueden
usarse para detallar situaciones donde el proceso paralelo puede ocurrir en la
ejecución de algunas actividades. Los Diagramas de Actividades son útiles para
el Modelado de Negocios donde se usan para detallar el proceso involucrado en
las actividades de negocio.
Un ejemplo de un diagrama de actividades se muestra a continuación
Las
siguientes secciones describen los elementos que constituyen un diagrama de
actividades.
Actividades
Una
actividad es la especificación de una secuencia parametrizada de
comportamiento. Una actividad muestra un rectángulo con las puntas redondeadas
adjuntando todas las acciones, flujos de control y otros elementos que constituyen
la actividad.
Acciones
Una acción representa un solo paso dentro de una actividad. Las acciones se
denotan por rectángulos con las puntas redondeadas.
Restricciones
de Acción
Las restricciones se pueden adjuntar a una acción. El siguiente diagrama
muestra una acción con pre y post condiciones locales.
Flujo de
Control
Un flujo de control muestra el flujo de control de una acción a otra. Su
notación es una línea con una punta de flecha.
Nodo
Inicial
Un nodo inicial o de comienzo se describe por un gran punto negro, como se
muestra a continuación.
Nodo
Final
Hay dos tipos de nodos finales: nodos finales de actividad y de flujo. El nodo
final de actividad se describe como un círculo con un punto dentro del mismo.
El nodo
final de flujo se describe como un círculo con una cruz dentro del mismo.
La
diferencia entre los dos tipos de nodos es que el nodo final del flujo denota
el final de un solo flujo de control, y el nodo final de actividad denota el
final de todos los flujos finales dentro de la actividad.
Flujos de
Objetos y Objeto
Un flujo de objeto es la ruta a lo largo de la cual pueden pasar objetos o
datos. Un objeto se muestra cómo un rectángulo.
Un flujo
de objeto se muestra como un conector con una punta de flecha denotando la
dirección a la cual se está pasando el objeto.
Un flujo
de objeto debe tener un objeto en por lo menos uno de sus extremos. Una
notación de acceso rápido para el diagrama de arriba sería usar los pins de
salidas y entradas.
Un
almacén de clave se muestra como un objeto con las clave «datastore».
Nodos de
Decisión y Combinación
Los nodos de decisión y combinación tienen la misma notación: una forma de
diamante. Los dos se pueden nombrar. Los flujos de control que provienen de un nodo
de decisión tendrán condiciones de guarda que permitirán el control para fluir
si la condición de guarda se realiza. El siguiente diagrama muestra el uso de
un nodo de decisión y un nodo de combinación.
Nodos de
Bifurcación y Unión
Las bifurcaciones y uniones tienen la misma notación: tanto una barra
horizontal como vertical (la orientación depende de si el flujo de control va
de derecha a izquierda o hacia abajo y arriba. Estos indican el comienzo y
final de hilos actuales de control. El siguiente diagrama muestra un ejemplo de
su uso.
Una unión
es diferente de una combinación ya que la unión sincroniza dos flujos de
entrada y produce un solo flujo de salida. El flujo de salida desde una unión
no se puede ejecutar hasta que todos los flujos se hayan recibido. Una
combinación pasa cualquier flujo de control directamente a través de esta. Si
dos o más flujos de entrada se reciben por un símbolo de combinación, la acción
a la que el flujo de salida apunta 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 se ejecuta
muchas veces. Los nodos de expansión de salida y entrada se dibujan como un
grupo de tres casillas representando una selección múltiple de ítems. La clave
reiterativa, paralelo, o flujo se muestra en la esquina izquierda arriba de la
región.
Gestores
de Excepción
Los gestores de Excepción se pueden modelar en diagramas de actividad como en
siguiente ejemplo.
Región de
Actividad Interrumpible
Una región de actividad interrumpible rodea un grupo de acciones que se pueden
interrumpir. En un ejemplo simple como el siguiente, la acción Procesar Orden
se ejecutará hasta su cumplimiento cuando pase control a la acción Cerrar
Orden, a menos que una interrupción Cancelar Pedido se reciba, la cual pasará
el control a la acción Cancelar Orden.
Partición
Una partición de una actividad se muestra como calles horizontales o
verticales. En el siguiente diagrama, las particiones se usan para separar
acciones dentro de una actividad en aquellas realizadas por el departamento de
contabilidad y aquellas realizadas por el cliente.
7. ¿Què es diagrama de
componentes?
Diagramas
de Componentes
Los
Diagramas de Componentes ilustran las piezas del software, controladores
embebidos, etc. que conformarán un sistema. Un diagrama de Componentes tiene un
nivel más alto de abstracción que un diagrama de clase – usualmente un
componente se implementa por una o más clases (u objetos) en tiempo de
ejecución. Estos son bloques de construcción, como eventualmente un componente
puede comprender una gran porción de un sistema.
El diagrama de abajo muestra algunos componentes y sus relaciones internas. Los
conectores Ensamble ‘vinculan’ las interfaces proporcionadas suministrada por
el Producto y el Cliente a las interfaces requeridas especificadas por orden.
Una relación de dependencia traza los detalles de la cuenta asociada del
cliente a la interfaz requerida, ‘pago’, indicada por orden
Los
componentes son similares en práctica a los diagramas de paquete como los
límites definidos y se usan para agrupar elementos en estructuras lógicas. La
diferencia entre Diagramas de Paquete y Diagramas de Componente es que los
diagramas de componente ofrecen un mecanismo de agrupamiento más rico
semánticamente. Con los Diagramas de Componente todos los elementos del modelo
son privados mientras que los diagramas de Paquete solo muestran ítems
públicos.
Representando
Componentes
Los
componentes se representan como un clasificador rectangular con la clave
«componente», opcionalmente el componente se puede mostrar como un rectángulo
con un icono de componente en la esquina derecha arriba.
Interfaces
Requeridas
El conector Ensamble une la interfaz requerida del componente (Componente1) con
la interfaz proporcionada de otro componente (Component2); esto permite que un
componente provea los servicios que otro componente requiere. Las Interfaces
son colecciones de uno o más métodos que pueden o no contener atributos.
Componentes
con puertos
Usar puertos con Diagramas de Componentes permite que se especifique un
servicio o comportamiento a su entorno así como también un servicio o
comportamiento que un componente requiere. Los puertos pueden especificar
entradas, salidas así como también operar bi-direccionalmente. El siguiente
diagrama detalla un componente con un puerto para servicios En Línea
conjuntamente con dos interfaces proporcionadas Ordenar Entrada y Seguimiento
así como también una interfaz requerida Pago.
8. ¿Qué es diagrama de distribución?
Los
Diagramas de Distribución muestran la disposición física de los distintos nodos
que componen un sistema y el reparto de los componentes sobre dichos nodos.
Un nodo es un elemento físico que existe en tiempo de ejecución y representa un
recurso computacional, que generalmente tiene algo de memoria y, a menudo,
capacidad de procesamiento. Los nodos se utilizan para modelar la
topología del hardware sobre el que se ejecuta el sistema.
Representa típicamente un procesador o un dispositivo sobre el que se pueden
desplegar los componentes.
La relación
entre nodos puede representarse como se muestra a continuación:
9. ¿Qué es diagrama de clases?
Diagrama
de Clase
El
diagrama de Clase muestra los bloques de construcción de cualquier sistema
orientado a objetos. Los diagramas de clases describen la vista estática del
modelo o parte del modelo, describiendo que atributos y comportamientos tienen
en lugar de detallar los métodos para realizar operaciones. Los diagramas de
Clase son más útiles para ilustrar relaciones entre clases e interfaces. Las
generalizaciones, agregaciones, y asociaciones son todas valiosas al reflejar
herencias, composición o uso, y conexiones respectivamente.
El siguiente diagrama ilustra relaciones de agregación entre clases. La
agregación que tiene la punta de flecha en color más claro, indica que la clase
Account usa AddressBook, pero no necesariamente contiene una instancia de este.
La agregaciones compuestas con una punta de flecha más oscura de los otros
conectores, indican pertenencia o contención de las clases de orígen por las
clases destino, por ejemplo los valores Contact y ContactGroup estarán
contenidos en AddressBook.

Clases
Una clase
es un elemento que define los atributos y comportamientos que un objeto podrá
generar. El comportamiento es el que se describe por posibles mensajes
que la clase pueda comprender conjuntamente con las operaciones que son
apropiadas para cada mensaje. Las clases pueden también contener definiciones
de valores etiquetados de restricciones y estereotipos.
Notación
de Clase
Las
clases se representan por rectángulos que muestran el nombre de la clase y
opcionalmente el nombre de las operaciones y atributos. Los compartimientos se
usan para dividir el nombre de la clase, atributos y operaciones.
Adicionalmente las restricciones, valores iniciales y parámetros se pueden
asignar a clases.
En el siguiente diagrama la clase contiene el nombre de la clase en el
compartimiento más alto, el compartimiento siguiente detalla los atributos, con
el atributo del “centro” mostrando los valores iniciales. El último
compartimiento muestra las operaciones, las operaciones setWidth, setLength y
setPosition mostrando sus parámetros. La notación que precede el nombre del
atributo u operación indica la visibilidad del elemento, si se usa el símbolo +
el atributo y la operación tienen un nivel público de visibilidad, si se usa un
símbolo – el atributo u operación es privado. Además, el símbolo # permite
definir una operación o atributo como protegido y el símbolo ~ indica la
visibilidad del paquete.

Interfaces
Una interfaz es una especificación que los implementadores han acordado
realizar. Es un contrato. Si se realiza una interfaz, se garantiza que las
clases soporten un comportamiento requerido, que permite que el sistema trate
los elementos no relacionados en la misma manera – es decir a través de la
interfaz común.
Las
interfaces se pueden dibujar en un estilo similar al de una clase, con
operaciones especificadas como se muestra a continuación. También se pueden
dibujar como un círculo con ninguna operación explicita detallada. Cuando se
dibujan como un círculo, se dibujan vínculos de realización a la forma de
círculo de la notación sin flechas de destino.
Tablas
Una tabla es una clase estereotipada. Esto se dibuja con un pequeño icono de la
tabla en la esquina superior derecha. Los atributos de la tabla son «columnas»
estereotipadas. La mayoría de las tablas tendrán una clave primaria, siendo uno
o más campos los que forman una combinación única usada para acceder la tabla,
más una operación de clave primaria que es «PK» estereotipada. Algunas tablas
tendrán una o más claves foráneas, siendo uno o más campos que juntos trazan a
una clave foránea en una tabla relacionada, más una operación de clave foránea
que es «FK» estereotipada.

Asociaciones
Una asociación implica que dos elementos del modelo tienen una relación –
usualmente implementada como una variable de instancia de una clase. Este
conector puede incluir roles nombrados en cada extremo, cardinalidad, dirección
y restricciones. Una asociación es el tipo de relación general entre elementos.
Para más de dos elementos, un elemento de la caja de herramientas de
representación diagonal también se puede usar. Cuando se genera código para
diagramas de clase, las asociaciones se convierten en variables de instancia en
la clase de destino.
Generalizaciones
Una generalización se usa para indicar herencia. Dibujada desde un clasificador
especifico a un clasificador general, la implicación general es que el origen
hereda las características del destino. El siguiente diagrama muestra una clase
padre generalizando una clase hijo. Implícitamente, un objeto
instanciado de la clase Circulo tendrá atributos x_position, y_position y
radius y un método display(). Tener en cuenta que la Forma de clase es
abstracta, mostrada por el nombre en itálica.
El
siguiente diagrama muestra una vista equivalente de la misma información.
Agregaciones
Las agregaciones se usan para describir elementos que están compuestos de
componentes más pequeños. Las relaciones de agregación se muestran por una
punta de flecha con forma de diamante apuntando hacia el destino o clase padre.
Una forma más fuerte de agregación – una agregación compuesta – se muestra por
una flecha con forma de diamante negro y se usa donde los componentes se pueden
incluir en un máximo de una composición a la vez. Si el padre de una agregación
compuesta se elimina, usualmente todas sus partes se eliminan con el mismo; sin
embargo una parte puede ser individualmente eliminada desde una composición sin
tener que eliminar toda la composición. Las composiciones son relaciones
transitivas, asimétricas y pueden ser recursivas.
El siguiente diagrama ilustra la diferencia entre agregaciones fuertes y
débiles. Un libro de direcciones esta conformado de múltiples contactos y
grupos de contacto; un contacto se puede incluir en más de un grupo de
contacto. Si elimina un libro de direcciones, todos los contactos y grupos de contactos
se eliminarán también; si elimina un grupo de contacto, ningún contacto se
eliminará.
Clase
Asociación
Una clase asociación es una estructura que permite una conexión de asociación
para tener conexiones y atributos. El siguiente ejemplo muestra que hay más al
ubicar un empleado a un proyecto que al hacer un vínculo asociación
simple entre dos clases: el rol que el empleado toma en un proyecto es una
entidad compleja y contiene detalles que no pertenecen al empleado o clase del
proyecto. Por ejemplo, un empleado puede estar trabajando en muchos proyectos
al mismo tiempo y tienen diferentes títulos de trabajo y niveles de seguridad.
Dependencias
Una dependencia se usa para modelar un alto rango de relaciones dependientes
entre elementos del modelo. Esto se usaría normalmente tempranamente en el
proceso de diseño donde se conoce que hay algún tipo de vínculo entre dos
elementos pero es muy temprano para saber exactamente cual es la relación.
Luego en el proceso de diseño, las dependencias serán estereotipadas (los
estereotipos disponibles incluyen <<instanciar>>, <<trazar>>,
<<importar>> y otros) o reemplazar con un tipo de conector más
especifico.
Trazado
La relación de trazado es una especialización de una dependencia, vinculando
elementos del modelo o conjuntos de elementos que representan la misma idea a
través de los modelos. Los trazados se usan a menudo para rastrear cambios de
requisitos y del modelo. Como los cambios pueden ocurrir en dos direcciones, la
orden de esta dependencia usualmente se ignora. Las propiedades de relación
pueden especificar la asignación de trazado, pero el trazado es usualmente
bi-direccional, informal y raramente computable.
Realizaciones
El objeto fuente implementa o realiza el destino. Realizar se usa para expresar
trazabilidad e integridad en el modelo – un proceso de negocio o requisitos se
realiza por uno o más casos de uso que a su vez se realizan por un
componente, etc. Asignando requisitos, clases, etc. a través del diseño de su
sistema, hacia arriba a través de los niveles de abstracciones del modelo,
asegura las imágenes grandes de su sistema, recuerda y refleja todas las
imagines pequeñas y detalla esa restricción y la define. Una relación se
muestra como una línea de trazos con una punta de flecha sólida y el
estereotipo <<realizar>>.
Anidamientos
Un anidamiento es un conector que muestra que el elemento fuente se anida
dentro del elemento destino. El siguiente diagrama muestra la definición de una
clase interna a pesar de que en EA es más usual mostrarlos por su posición en
la jerarquía de la Vista del Proyecto.
10. ¿Què es diagrama de objetos?
Diagrama de Objetos
An object Un diagrama de Objeto se puede considerar un caso
especial de un diagrama de clase. Los diagramas de objetos usan un sub conjunto
de elementos de un diagrama de clase para enfatizar la relación entre las
instancias de las clases en algún punto en el tiempo. Estos son útiles para
entender los diagramas de clases. Estos no muestran nada diferente en su
arquitectura a los diagramas de secuencia, pero reflejan multiplicidad y roles.
Elementos de Clase y Objeto
El siguiente diagrama muestra las diferencias en apariencia
entre un elemento clase y un elemento objeto. Tener en cuenta que el elemento
clase consiste de tres partes, divididas en compartimientos de nombres,
atributos y operaciones; por predeterminado, los elementos objetos no tienen
compartimientos. La exhibición de los nombres es también diferente: los nombres
de los objetos están subrayados y pueden mostrar el nombre del clasificador
desde el cual el objeto se instancia.
Estado en tiempo de ejecución
Un elemento clasificador puede tener cualquier número de
atributos y operaciones. Estos se muestran en una instancia objeto. Sin
embargo, es posible definir el estado en tiempo de ejecución del objeto, mostrando
un conjunto de valores de atributos en la instancia particular.
Ejemplos de diagramas de clase y objeto
El siguiente diagrama muestra un diagrama objeto con su
intercalación de clase definida, e ilustra la forma en la que un diagrama
objeto se puede usar para probar las multiplicidades de tareas en los diagramas
de clase. La clase car tiene multiplicidad de una a muchos a la clase wheel,
pero si en su lugar se elije una multiplicidad de 1 a 4, eso no hubiera
permitido una clase car con tres clases wheel como se muestra en el diagrama objeto.
11. ¿Què es diagrama entidad relación?
Generalmente
todo modelo tiene una representación gráfica, para el caso de datos el modelo
más popular es el modelo entidad-relación o digrama E/R.
Se
denomina así debido a que precisamente permite representar relaciones entre
entidades (objetivo del modelado de datos).
El modelo
debe estar compuesto por:
- Entidades
- Atributos
- Relaciones
- Cardinalidad
- Llaves
Bibliografìa: