Anda di halaman 1dari 23

Introduccin

UML proporciona un vocabulario comn para toda la cadena de produccin,


desde quien recaba los requisitos de los usuarios, hasta el ltimo programador
responsable del mantenimiento. Es un lenguaje estndar para crear los planos de
un sistema de forma completa y no ambigua. Est compuesto de un conjunto de
elementos grficos a los que se le aplican una serie de reglas. Este conjunto de
elementos forman los diagramas. De lo que se trata es de la creacin de un
modelo del sistema. El modelo describe lo que har el sistema, pero no cmo se
implementa. Vamos a comentar brevemente algunos de los diagramas ms
importantes como lo son Diagramas de Clases, Colaboracin, Secuencia,
Paquetes y Estados.

1. Diagramas de Clases
Concepto
Los diagramas de clases son diagramas de estructura esttica que
muestran las clases del sistema y sus interrelaciones (incluyendo herencia,
agregacin, asociacin, etc.). Los diagramas de clase son el pilar bsico del
modelado con UML, siendo utilizados tanto para mostrar lo que el sistema puede
hacer (anlisis), como para mostrar cmo puede ser construido (diseo). El
diagrama de clases de ms alto nivel, ser lgicamente un dibujo de los paquetes
que componen el sistema. Las clases se documentan con una descripcin de lo
que hacen, sus mtodos y sus atributos. Las relaciones entre clases se
documentan con una descripcin de su propsito, sus objetos que intervienen en
la relacin y su opcionalidad (cuando un objeto es opcional el que intervenga en
una relacin).

Caractersticas
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 accesible desde todos lados.
private (-, ): Indica que el atributo slo ser accesible desde dentro de la
clase (slo sus mtodos lo pueden utilizar).
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).

Simbologa utilizada
A) Cardinalidad de relaciones: indica el grado y nivel de dependencia de las
clases, se anotan en cada extremo de la relacin y stas pueden ser:
* = Cero, uno n.
0,1 = Cero o uno.
1..* = Uno o ms.
1 = Exactamente uno (tambin podra ser otro nmero).
1..5 = Entre uno y cinco.

B) Herencia (Especializacin/Generalizacin): Indica que una subclase hereda


los mtodos y atributos especificados por una Sper Clase (tambin llamada clase
padre), por ende la Subclase adems de poseer sus propios mtodos y atributos,
poseer las caractersticas y atributos visibles de la Sper Clase (public y
protected).

C) 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
est condicionado por el tiempo de vida del que lo incluye. Este tipo de relacin
es comnmente llamada Composicin (el Objeto base se construye 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 comnmente
llamada Agregacin (el objeto base utiliza al incluido para su funcionamiento).
D) Asociacin: La relacin entre clases conocida como Asociacin, permite
asociar objetos que colaboran entre s. 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 rdenes de Compra, en cambio una


orden de compra solo puede tener asociado un cliente.
E) 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 est condicionado a la instanciacin
proveniente desde el objeto Aplicacin):

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).

Ejemplo prctico de aplicar

Supongamos que tenemos el caso del Diccionario implementado mediante un


rbol binario, en donde cada nodo posee:

key: Variable por la cual se realiza la bsqueda, puede ser generica.

item: Contenido a almacenar en el diccionario asociado a "key", cuyo tipo


tambin puede ser genrico.

Para este caso particular hemos definido un Diccionario para almacenar String y
Personas, las cuales pueden funcionar como llaves o como item, solo se
mostrarn las relaciones para la implementacin del Diccionario:

2. Diagramas de Colaboracin
Concepto
Un diagrama de colaboracin en las versiones de UML es esencialmente
un diagrama que muestra interacciones organizadas alrededor de los roles. A
diferencia de los diagramas de secuencia, los diagramas de colaboracin, tambin
llamados diagramas de comunicacin, muestran explcitamente las relaciones de
los roles. Por otra parte, un diagrama de comunicacin no muestra el tiempo como
una dimensin aparte, por lo que resulta necesario etiquetar con nmeros de
secuencia tanto la secuencia de mensajes como los hilos concurrentes.
Muestra cmo las instancias especficas de las clases trabajan juntas para
conseguir un objetivo comn.
Implementa las asociaciones del diagrama de clases mediante el paso de
mensajes de un objeto a otro. Dicha implementacin es llamada "enlace".
Un diagrama de comunicacin es tambin un diagrama de clases que contiene
roles de clasificador y roles de asociacin en lugar de slo clasificadores y

asociaciones. Los roles de clasificador y los de asociacin describen la


configuracin de los objetos y de los enlaces que pueden ocurrir cuando se
ejecuta una instancia de la comunicacin. Cuando se instancia una comunicacin,
los objetos estn ligados a los roles de clasificador y los enlaces a los roles de
asociacin. El rol de asociacin puede ser desempeado por varios tipos de
enlaces temporales, tales como argumentos de procedimiento o variables locales
del procedimiento. Los smbolos de enlace pueden llevar estereotipos para indicar
enlaces temporales.

Caractersticas
Muestra cmo las instancias especficas de las clases trabajan juntas para

conseguir un objetivo comn.


Implementa las asociaciones del diagrama de clases mediante el paso de
mensajes de un objeto a otro. Dicha implementacin es llamada "enlace".

Simbologa utilizada
Rol de la Clase
El rol de la clase describe cmo se comporta un objeto. Los atributos del objeto no
se listan.
Objeto : Clase
Rol de las Asociaciones
Los roles de asociacin describen cmo se va a comportar una asociacin en una
situacin particular. Se usan lneas simples etiquetadas con un estereotipo.
_ <<Global>>

Ejemplo prctico de aplicar

Un lector solicita un libro al bibliotecario, y le brinda su ttulo. El bibliotecario


busca el libro en un ndice y solicita al asistente que le alcance el libro.

3. Diagramas de Secuencia
Concepto
Un diagrama de secuencia muestra la interaccin de un conjunto de objetos
en una aplicacin a travs del tiempo. Esta descripcin es importante porque
puede dar detalle a los casos de uso, aclarndolos al nivel de mensajes de los
objetos existentes, como tambin muestra el uso de los mensajes de las clases
diseadas en el contexto de una operacin.

Caractersticas
Los diagramas de secuencia muestran grficamente las interacciones del
actor y de las operaciones a que dan origen
Los diagramas de secuencia se preparan durante la fase de anlisis de un
ciclo de desarrollo

Su creacin depende de la formulacin previa de los casos de uso.


El comportamiento del sistema es una descripcin delo que hace, y no
como lo hace.
El diagrama de secuencia muestra un determinado escenario de un caso de
uso, los eventos generados por actores externos, su orden y los eventos
internos del sistema.
A todos los sistemas se les trata como una caja negra, y se centran en los
eventos que van de los actores a los sistemas.

Simbologa utilizada
Comentarios
Al igual que en cualquier diagrama, representan informacion adicional dentro del
contexto de la accion.

Actor
Representa los actores relacionados en la interaccin.

Linea de vida
Representa de forma vertical el tiempo de vida del actor.

Tiempo
Es el periodo en el cual un actor se involucra en una interaccion (actividad).

Mensaje
Es la peticion de accion hacia otro objeto, se puede anotar los argumentos o
informacion que acompaa al mensaje.

Ejemplo prctico de aplicar

Un ejemplo de la forma de representar un diagrama de secuencias; tomemos la


pulsacin en un teclado de un carcter alfanumrico en una aplicacin de proceso
de textos. El carcter debera aparecer inmediatamente en la pantalla. Veamos en
detalle que es lo que ocurre. La GUI notifica al sistema operativo que se oprimi
una tecla. El sistema operativo notifica a la CPU. El sistema operativo actualiza la
GUI. La CPU notifica a la tarjeta de vdeo. La tarjeta de vdeo enva un mensaje al
monitor. El monitor presenta el carcter alfanumrico en la pantalla, con lo que se
har visible al usuario.

4. Diagramas de Paquetes
Concepto
Un diagrama de paquetes muestra como un sistema est dividido en
agrupaciones lgicas mostrando las dependencias entre esas agrupaciones. Dado
que normalmente un paquete est pensado como un directorio, los diagramas de
paquetes suministran una descomposicin de la jerarqua lgica de un sistema.

Los Paquetes estn normalmente organizados para maximizar la coherencia


interna dentro de cada paquete y minimizar el acoplamiento externo entre los
paquetes. Con estas lneas maestras sobre la mesa, los paquetes son buenos
elementos de gestin. Cada paquete puede asignarse a un individuo o a un
equipo, y las dependencias entre ellos pueden indicar el orden de desarrollo
requerido.

Caractersticas

Los paquetes son buenos elementos de gestin.

Se usan paquetes en un modelo de desarrollo para agrupar elementos


relacionados.

Cada uno de los paquetes se pueden asignar a un individuo o a un equipo


de desarrollo

Ejemplo:

Simbologa utilizada
En la simbologa de un paquete es representado por un rectngulo con una
pequea lengeta donde el nombre del paquete es marcado.

Un paquete es representado por un rectngulo con una pequea lengeta donde


el nombre del paquete es marcado.

Los paquetes pueden tener relacin con otros paquetes para mostrar que las
dependencias estn entre los paquetes. Las Relaciones de Dependencia son
usadas qu paquetes estn dependiendo sobre cada otro.

Ejemplo prctico de aplicar

5. Diagramas de Estados
Concepto
ste diagrama describe el comportamiento dinmico de los objetos, en un
cierto plazo, modelando los ciclos de vida de los objetos de cada clase; tomando a
cada objeto como una entidad aislada que se comunica con el resto del sistema a
travs de eventos. A su vez los eventos representan las clases de cambios por los
que un objeto puede pasar.
Es tambin una manera para caracterizar un cambio en un sistema, es decir que
los objetos que lo componen modificaron su estado como respuesta a los sucesos
y al tiempo.

Caractersticas

Son autmatas jerrquicos que permiten expresar concurrencia,


sincronizacin y jerarquas de objetos.

Son grafos dirigidos.

Son deterministas.

Los estados inicial y final estn diferenciados del resto.

La transicin entre estados es instantnea y se debe a la ocurrencia de un


evento.

Simbologa utilizada
Estado
Identifica un periodo de tiempo del objeto (no instantneo) en el cual el objeto est
esperando alguna operacin, tiene cierto estado caracterstico o puede recibir
cierto tipo de estmulos.

Evento
Es una ocurrencia que puede causar la transicin de un estado a otro de un
objeto.

Punto Final
Adems de mostrar y transicin de estados por medio de eventos, puede
representarse el momento en el cual se envan mensajes a otros objetos.

Transiciones
Transicin simple: Una transicin simple es una relacin entre dos estados que

indica que un objeto en el primer estado puede entrar al segundo estado y ejecutar
ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son
satisfechas.
Transicin Interna: Es una transicin que permanece en el mismo estado, en vez
de involucrar dos estados distintos. Representa un evento que no causa cambio
de estado. Se denota como una cadena adicional en el compartimiento de
acciones del estado.
Transicin Compleja: Una transicin compleja relaciona tres o ms estados en
una transicin de mltiples fuentes y/o mltiples destinos

Subestados:
Un estado puede descomponerse en Subestados, con transiciones entre ellos y
conexiones al nivel superior. Las conexiones se ven al nivel inferior como estados

de inicio o fin, los cuales se suponen conectados a las entradas y salidas del nivel
inmediatamente superior.
Acciones:
Podemos especificar la solicitud de un servicio a otro objeto como consecuencia
de la transicin. Se puede especificar el ejecutar una accin como consecuencia
de entrar, salir, estar en un estado, o por la ocurrencia de un evento.

Ejemplo prctico de aplicar


Se Crea un diagrama de estados de la GUI (Interfaz grfica de usuario) de
Windows XP, Que asume tres estados: INICIALIZACIN, OPERACIN Y
APAGAR.

Conclusin
Hoy en da, UML est consolidado como el lenguaje estndar en el anlisis
y diseo de sistemas de cmputo. Mediante UML es posible establecer la serie de
requerimientos y estructuras necesarias para plasmar un sistema de software
previo al proceso intensivo de escribir cdigo.
As como en la construccin de un edificio se realizan planos previo a su
construccin, en Software se deben realizar diseos en UML previa codificacin de
un sistema, ahora bien, aunque UML es un lenguaje, ste posee ms
caractersticas visuales que programticas, mismas que facilitan a integrantes de
un equipo multidisciplinario participar e intercomunicarse fcilmente, estos
integrantes siendo los analistas, diseadores, especialistas de rea y desde luego
los programadores.

Bibliografa

http://yenny-diagramas.blogspot.com/

http://es.wikipedia.org/wiki/Diagrama_de_secuencia

http://www.ibiblio.org/pub/linux/docs/LuCaS/Tutoriales/doc-modeladosistemas-UML/multiple-html/x92.html

file:///C:/Users/Pedro/Desktop/DiagramaSecuencia.pdf

http://es.slideshare.net/FABIANGARCIA/diagramas-de-secuenciapresentation

http://www.oocities.org/es/monsalvelaura/fase2/analisis.html

http://www.infor.uva.es/~mlaguna/cd/cd5.pdf

https://prezi.com/ylbiijcokxp4/diagrama-de-secuencia-y-diagrama-depaquetes/

http://es.slideshare.net/nadiiadaniiel/diagramas-uml-37560857

http://www.oocities.org/es/monsalvelaura/fase2/analisis.html

http://www.infor.uva.es/~mlaguna/cd/cd5.pdf

Anda mungkin juga menyukai