Anda di halaman 1dari 21

DIAGRAMAS UML

Que son y para qu sirven los diagramas?


El Lenguaje de Modelado Unificado (UML:UnifiedModelingLanguage) es la sucesin
de una serie de mtodos de anlisis y diseo orientadas a objetos que aparecen a
fines de los 80's y principios de los 90s.UML es llamado un lenguaje de modelado,
no un mtodo. Los mtodos consisten de ambos de un lenguaje de modelado y de
un proceso.
El UML , fusiona los conceptos de la orientacin a objetos aportados por Booch,
OMT y OOSE (Booch, G. et al., 1999).
UML incrementa la capacidad de lo que se puede hacer con otros mtodos de
anlisis y diseo orientados a objetos. Los autores de UML apuntaron tambin al
modelado de sistemas distribuidos y concurrentes para asegurar que el lenguaje
maneje adecuadamente estos dominios.
El lenguaje de modelado es la notacin (principalmente grfica) que usan los
mtodos para expresar un diseo. El proceso indica los pasos que se deben seguir
para llegar a un diseo.
La estandarizacin de un lenguaje de modelado es invaluable, ya que es la parte
principal del proceso de comunicacin que requieren todos los agentes involucrados
en un proyecto informtico. Si se quiere discutir un diseo con alguien ms, ambos
deben conocer el lenguaje de modelado y no as el proceso que se sigui para
obtenerlo.
UML es una herramienta propia de personas que tienen conocimientos
relativamente avanzados de programacin y es frecuentemente usada por analistas
funcionales (aquellos que definen qu debe hacer un programa sin entrar a escribir
el cdigo) y analistas-programadores (aquellos que dado un problema, lo estudian
y escriben el cdigo informtico para resolverlo en un lenguaje como Java, C#,
Python o cualquier otro). Por tanto si ests dando tus primeros pasos en
programacin, te recomendaramos que te olvides de UML hasta que tengas unos
conocimientos mnimos como uso de condicionales, bucles, y conocimiento de la
programacin orientada a objetos. Esto es solo una recomendacin, en realidad
prcticamente cualquier persona puede usar UML, incluso podra usarse para
realizar esquemas o documentacin de procesos que no tengan que ver con la
informtica.
En qu etapa del desarrollo de software se utilizan los
diagramas UML?
Las fases del desarrollo de sistemas que soporta UML
son: Anlisis de
requerimientos, Anlisis, Diseo, Programacin y Pruebas.
Anlisis de Requerimientos: UML tiene casos de uso (use-cases) para capturar los
requerimientos del cliente. A travs del modelado de casos de uso, los actores
externos que tienen inters en el sistema son modelados con la funcionalidad que
ellos requieren del sistema (los casos de uso). Los actores y los casos de uso son
modelados con relaciones y tienen asociaciones entre ellos o stas son divididas en
jerarquas. Los actores y casos de uso son descritos en un diagrama use-case.
Cada use-case es descrito en texto y especifica los requerimientos del cliente: lo
que l (o ella) espera del sistema sin considerar la funcionalidad que se
implementar. Un anlisis de requerimientos puede ser realizado tambin para
procesos de negocios, no solamente para sistemas de software.
Anlisis: La fase de anlisis abarca las abstracciones primarias (clases y objetos) y
mecanismos que estn presentes en el dominio del problema. Las clases que se
modelan son identificadas, con sus relaciones y descritas en un diagrama de clases.
Las colaboraciones entre las clases para ejecutar los casos de uso tambin se
consideran en esta fase a travs de los modelos dinmicos en UML. Es importante
notar que slo se consideran clases que estn en el dominio del problema
(conceptos del mundo real) y todava no se consideran clases que definen detalles
y soluciones en el sistema de software, tales como clases para interfaces de
usuario, bases de datos, comunicaciones, concurrencia, etc.
Diseo: En la fase de diseo, el resultado del anlisis es expandido a una solucin
tcnica. Se agregan nuevas clases que proveen de la infraestructura tcnica:
interfaces de usuario, manejo de bases de datos para almacenar objetos en una
base de datos, comunicaciones con otros sistemas, etc. Las clases de dominio del
problema del anlisis son agregadas en esta fase. El diseo resulta en
especificaciones detalladas para la fase de programacin.
Programacin: En esta fase las clases del diseo son convertidas a cdigo en un
lenguaje de programacin orientado a objetos. Cuando se crean los modelos de
anlisis y diseo en UML, lo ms aconsejable es trasladar mentalmente esos
modelos a cdigo.
Pruebas: Normalmente, un sistema es tratado en pruebas de unidades, pruebas de
integracin, pruebas de sistema, pruebas de aceptacin, etc. Las pruebas de
unidades se realizan a clases individuales o a un grupo de clases y son tpicamente
ejecutadas por el programador. Las pruebas de integracin integran componentes
y clases en orden para verificar que se ejecutan como se especific. Las pruebas
de sistema ven al sistema como una "caja negra" y validan que el sistema tenga la
funcionalidad final que le usuario final espera. Las pruebas de aceptacin
conducidas por el cliente verifican que el sistema satisface los requerimientos y son
similares a las pruebas de sistema.
Nombre Definicin Etapa
Diagrama de Clases Los diagramas de clases Anlisis
describen la estructura
esttica de un sistema.
Un rectngulo es el smbolo
que representa a la clase, y
se divide en tres reas. Un
diagrama de clases est
formado por varios
rectngulos de este tipo
conectados por lneas que
representan las asociaciones
o maneras en que las clases
se relacionan entre si.
Diagrama de Objetos Los Diagramas de Objetos Anlisis
estn vinculados con los
Diagramas de Clases. Un
objeto es una instancia de
una clase, por lo que un
diagrama de objetos puede
ser visto como una instancia
de un diagrama de clases.
Los diagramas de objetos
describen la estructura
esttica de un sistema en un
momento particular y son
usados para probar la
precisin de los diagramas de
clases.
Diagrama de Casos de Un caso de uso es una Anlisis de
Uso descripcin de las acciones requerimiento
de un sistema desde el punto
de vista del usuario. Es una
herramienta valiosa dado que
es una tcnica de aciertos y
errores para obtener los
requerimientos del sistema,
justamente desde el punto de
vista del usuario. Los
diagramas de caso de uso
modelan la funcionalidad del
sistema usando actores y
casos de uso. Los casos de
uso son servicios o funciones
provistas por el sistema para
sus usuarios.
Diagrama de Estados En cualquier momento, un Pruebas
objeto se encuentra en un
estado particular, la luz est
encendida o apagada, el auto
en movimiento o detenido, la
persona leyendo o cantando,
etc. . El diagrama de estados
UML captura esa pequea
realidad.
Diagrama de Los diagramas de clases y los Diseo
Secuencias de objetos representan
informacin esttica. No
obstante, en un sistema
funcional, los objetos
interactan entre s, y tales
interacciones suceden con el
tiempo. El diagrama de
secuencias UML muestra la
mecnica de la interaccin
con base en tiempos.
Diagrama de Un diagrama de actividades Diseo
Actividades ilustra la naturaleza dinmica
de un sistema mediante el
modelado del flujo ocurrente
de actividad en actividad. Una
actividad representa una
operacin en alguna clase del
sistema y que resulta en un
cambio en el estado del
sistema. Tpicamente, los
diagramas de actividad son
utilizados para modelar el
flujo de trabajo interno de una
operacin.
Diagrama de El diagrama de Anlisis
Colaboraciones colaboraciones describe las
interacciones entre los
objetos en trminos de
mensajes secuenciados. Los
diagramas de colaboracin
representan una combinacin
de informacin tomada de los
diagramas de clases, de
secuencias y de casos de
uso, describiendo el
comportamiento, tanto de la
estructura esttica, como de
la estructura dinmica de un
sistema.
Diagrama de Un diagrama de componentes Pruebas
Componentes describe la organizacin de
los componentes fsicos de
un sistema.
DIAGRAMA DE CLASES

Un diagrama de clases sirve para visualizar las relaciones entre las clases que
involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de
contenimiento.

Un diagrama de clases esta compuesto por los siguientes elementos:

Clase: atributos, mtodos y visibilidad.


Relaciones: Herencia, Composicin, Agregacin, Asociacin y Uso.

Elementos

Clase

Es la unidad bsica que encapsula toda la informacin de un Objeto (un


objeto es una instancia de una clase). A travs de ella podemos modelar el
entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.).

En UML, una clase es representada por un rectngulo que posee tres


divisiones:

En donde:

o Superior: Contiene el nombre de la Clase


o Intermedio: Contiene los atributos (o variables de instancia) que
caracterizan a la Clase (pueden ser private, protected o public).
o Inferior: Contiene los mtodos u operaciones, los cuales son la forma
como interacta el objeto con su entorno (dependiendo de la
visibilidad: private, protected o public).

Ejemplo:

Una Cuenta Corriente que posee como caracterstica:


o Balance

Puede realizar las operaciones de:

o Depositar
o Girar
o y Balance

El diseo asociado es:

Atributos y Mtodos:

o Atributos:

Los atributos o caractersticas de una Clase pueden ser de tres tipos,


los que definen el grado de comunicacin y visibilidad de ellos con el
entorno, estos son:

public (+, ): Indica que el atributo ser visible tanto dentro


como fuera de la clase, es decir, es accsesible desde todos
lados.

private (-, ): Indica que el atributo slo ser accesible desde


dentro de la clase (slo sus mtodos lo pueden accesar).

protected (#, ): Indica que el atributo no ser accesible


desde fuera de la clase, pero si podr ser accesado por
mtodos de la clase adems de las subclases que se deriven
(ver herencia).
o Mtodos:

Los mtodos u operaciones de una clase son la forma en como sta


interacta con su entorno, stos pueden tener las caractersticas:

public (+, ): Indica que el mtodo ser visible tanto dentro


como fuera de la clase, es decir, es accsesible desde todos
lados.
private (-, ): Indica que el mtodo slo ser accesible desde
dentro de la clase (slo otros mtodos de la clase lo pueden
accesar).


protected (#, ): Indica que el mtodo no ser accesible
desde fuera de la clase, pero si podr ser accesado por
mtodos de la clase adems de mtodos de las subclases que
se deriven (ver herencia).
Relaciones entre Clases:

Ahora ya definido el concepto de Clase, es necesario explicar como se


pueden interrelacionar dos o ms clases (cada uno con caractersticas y
objetivos diferentes).

Antes es necesario explicar el concepto de cardinalidad de relaciones: En


UML, la cardinalidad de las relaciones indica el grado y nivel de dependencia,
se anotan en cada extremo de la relacin y stas pueden ser:

o uno o muchos: 1..* (1..n)


o 0 o muchos: 0..* (0..n)
o nmero fijo: m (m denota el nmero).
iv. Herencia (Especializacin/Generalizacin):

Indica que una subclase hereda los mtodos y atributos especificados


por una Super Clase, por ende la Subclase adems de poseer sus
propios mtodos y atributos, poseer las caractersticas y atributos
visibles de la Super Clase (public y protected), ejemplo:
En la figura se especifica que Auto y Camin heredan de Vehculo, es
decir, Auto posee las Caractersticas de Vehculo (Precio, VelMax, etc)
adems posee algo particular que es Descapotable, en cambio
Camin tambin hereda las caractersticas de Vehiculo (Precio,
VelMax, etc) pero posee como particularidad propia Acoplado, Tara y
Carga.

Cabe destacar que fuera de este entorno, lo nico "visible" es el


mtodo Caracteristicas aplicable a instancias de Vehculo, Auto y
Camin, pues tiene definicin publica, en cambio atributos como
Descapotable no son visibles por ser privados.

v. Agregacin:

Para modelar objetos complejos, n bastan los tipos de datos bsicos


que proveen los lenguajes: enteros, reales y secuencias de
caracteres. Cuando se requiere componer objetos que son instancias
de clases definidas por el desarrollador de la aplicacin, tenemos dos
posibilidades:

Por Valor: Es un tipo de relacin esttica, en donde el tiempo


de vida del objeto incluido esta condicionado por el tiempo de
vida del que lo incluye. Este tipo de relacin es comunmente
llamada Composicin (el Objeto base se contruye a partir del
objeto incluido, es decir, es "parte/todo").
Por Referencia: Es un tipo de relacin dinmica, en donde el
tiempo de vida del objeto incluido es independiente del que lo
incluye. Este tipo de relacin es comunmente
llamada Agregacin (el objeto base utiliza al incluido para su
funcionamiento).

Un Ejemplo es el siguiente:

En donde se destaca que:

Un Almacen posee Clientes y Cuentas (los rombos van en el


objeto que posee las referencias).
Cuando se destruye el Objeto Almacen tambin son destruidos
los objetos Cuenta asociados, en cambio no son afectados los
objetos Cliente asociados.
La composicin (por Valor) se destaca por un rombo relleno.
La agregacin (por Referencia) se destaca por un rombo
transparente.

La flecha en este tipo de relacin indica la navegabilidad del objeto


refereniado. Cuando no existe este tipo de particularidad la flecha se
elimina.

vi. Asociacin:

La relacin entre clases conocida como Asociacin, permite asociar


objetos que colaboran entre si. Cabe destacar que no es una relacin
fuerte, es decir, el tiempo de vida de un objeto no depende del otro.

Ejemplo:
Un cliente puede tener asociadas muchas Ordenes de Compra, en
cambio una orden de compra solo puede tener asociado un cliente.

vii. Dependencia o Instanciacin (uso):

Representa un tipo de relacin muy particular, en la que una clase es


instanciada (su instanciacin es dependiente de otro objeto/clase). Se
denota por una flecha punteada.

El uso ms particular de este tipo de relacin es para denotar la


dependencia que tiene una clase de otra, como por ejemplo una
aplicacin grafica que instancia una ventana (la creacin del Objeto
Ventana esta condicionado a la instanciacin proveniente desde el
objeto Aplicacion):

Cabe destacar que el objeto creado (en este caso la Ventana grfica)
no se almacena dentro del objeto que lo crea (en este caso la
Aplicacin).

Casos Particulares:
o Clase Abstracta:

Una clase abstracta se denota con el nombre de la clase y de los


mtodos con letra "itlica". Esto indica que la clase definida no puede
ser instanciada pues posee mtodos abstractos (an no han sido
definidos, es decir, sin implementacin). La nica forma de utilizarla
es definiendo subclases, que implementan los mtodos abstractos
definidos.

o Clase parametrizada:
Una clase parametrizada se denota con un subcuadro en el extremo
superior de la clase, en donde se especifican los parmetros que
deben ser pasados a la clase para que esta pueda ser instanciada. El
ejemplo ms tpico es el caso de un Diccionario en donde una llave o
palabra tiene asociado un significado, pero en este caso las llaves y
elementos pueden ser genricos. La genericidad puede venir dada de
un Template (como en el caso de C++) o bien de alguna estructura
predefinida (especializacin a travs de clases).

En el ejemplo no se especificaron los atributos del Diccionario, pues


ellos dependern exclusivamente de la implementacin que se le
quiera dar.

Ejemplo 1:
Ejemplo 2:
DIAGRAMAS DE OBJETOS

Los diagramas de objetos representan un nico ejemplo de una clase y se utilizan


para ilustrar un punto de datos en su aplicacin. Cuando cree un objeto nuevo,
llamado especificacin de instancia, le permite asignar una clase ya existente
representada por la instancia. ofrece automticamente al objeto instancias de las
propiedades pertinentes desde la clase y el usuario puede insertar valores de
muestras para el objeto.
Los diagramas de objetos UML utilizan una notacin similar a los diagramas de
clases y se utilizan para ilustrar una instancia de una clase en un momento dado.
Imagine que desea dibujar un diagrama de objetos para ilustrar un ejemplo real de
una clase y de sus relaciones.
Los diagramas de objetos pueden ayudar a explicar las clases y su herencia. A
veces se dibujan durante el proceso de planificacin de clases o para ayudar a
partes interesadas para quienes los diagramas de clases sean demasiado
abstractos.
Puesto que los diagramas de objetos utilizan notaciones muy similares a los
diagramas de clases, la barra de herramientas de diagramas de objetos usan
algunos de los iconos de la barra de herramientas de diagramas de clases. Para
editar los atributos y valores de un objeto puede utilizar la barra de herramientas, el
dilogo de propiedades o editarlos directamente en el diagrama.
Nombre de los objetos: Cada objeto es representado como un rectngulo, que contiene el
nombre del objeto y su clase subrayadas y separadas por dos puntos.
Nombre Objeto : Clase

Atributos: Como con las clases, los atributos se listan en un rea inferior. Sin embargo , los
atributos de los objetos deben tener un valor asignado.
Nombre Objeto : Clase
Atributo tipo = Valor
Atributo tipo = Valor
Atributo tipo = Valor
Atributo tipo = Valor
Ejemplo 1:

Ejemplo 2:
Diagrama de Secuencias
un diagrama de secuencia muestra una interaccin, que representa la secuencia
de mensajes entre instancias de clases, componentes, subsistemas o actores. El
tiempo fluye por el diagrama y muestra el flujo de control de un participante a otro.
Utilice diagramas de secuencia para visualizar instancias y eventos, en lugar de
clases y mtodos. En el diagrama, puede aparecer ms de una instancia del mismo
tipo. Tambin puede haber ms de una ocurrencia del mismo mensaje.
Los diagramas de secuencia de UML forman parte de un modelo UML y solo existen
en los proyectos de modelado UML. Para crear un diagrama de secuencia UML, en
el men Arquitectura, haga clic en Nuevo diagrama de UML o de capas. Obtenga
ms informacin sobre cmo crear y dibujar diagramas de secuencia
UML o diagramas de modelado UML en general.
Para ver las versiones de Visual Studio compatibles con esta caracterstica,
vea Compatibilidad de versiones con las herramientas de arquitectura y modelado.

Rol de la Clase: El rol de la clase describe la manera en que un objeto se va a


comportar en el contexto. No se listan los atributos del objeto.

Activacin: Los cuadros de activacin representan el tiempo que un objeto necesita


para completar una tarea.
Mensajes: Los mensajes son flechas que representan comunicaciones
entre objetos. Las medias flechas representan mensajes asincrnicos.
Los mensajes asincrnicos son enviados desde un objeto que no va a esperar una
respuesta del receptor para continuar con sus tareas.

Lneas de Vida: Las lneas de vida son verticales y en lnea de puntos, ellas indican
la presencia delobjeto durante el tiempo.
Destruccin de Objetos: Los objetos pueden ser eliminados tempranamente
usando una flecha etiquetada <<destruir>> que apunta a una X.

Loops: Una repeticin o loop en un diagrama de secuencias, es representado como


un rectngulo. La condicin para abandonar el loop se coloca en la parte inferior
entre corchetes [ ].
Ejemplo 1:

Ejemplo 2:
Bibliografas
file:///C:/Documents%20and%20Settings/Usuario/Mis%20documentos/iagra
mas_del_uml.pdf
https://msdn.microsoft.com/es-es/library/dd409389.aspx
https://msdn.microsoft.com/es-es/library/dd409389.aspx
http://www.teatroabadia.com/es/uploads/documentos/iagramas_del_uml.pdf

Anda mungkin juga menyukai