Anda di halaman 1dari 38

DIAGRAMAS DE SECUENCIA

Resaltar:
Abstraccin.
En programacin se refiere bsicamente
a QUE hace una clase u objeto, y no
COMO internamente lo hace. Por ejemplo
la clase televisor, esta tendra atributos
como marca, color-pantalla (blanco-negro o
color) y mtodos como apagar, prender y
cambiar-canal.
Resaltar:
Aplicando el concepto de abstraccin solo
nos interesara prender el televisor y no
como internamente se conduce la
electricidad, como los dispositivos se
conectan, o como se proyecta la imagen en
pantalla.

Llevado el trmino a clases abstractas, en estas
definiramos los mtodos adecuados para el
funcionamiento del televisor como por
ejemplo encender-televisor, pero no seria
necesario escribir el cdigo del mtodo, ya que esa
tarea se llevara a cabo por otras clases heredadas
a esta.
Para que quede mas claro, una clase abstracta es la
que posee mtodos abstractos, los cuales estn
declarados en dicha clase pero que no tienen un
cdigo para su funcionamiento.

Con frecuencia, cuando se disea un modelo
orientado a objetos es til introducir clases a cierto
nivel que pueden no existir en la realidad pero que
son construcciones conceptuales tiles. Estas
clases se conocen como clases abstractas.
Una clase abstracta normalmente ocupa una
posicin adecuada en la jerarqua de clases que le
permite actuar como un depsito de mtodos y
atributos compartidos para las subclases de nivel
inmediatamente inferior.

Las clases abstractas no tienen instancias
directamente. Se utilizan para agrupar otras
clases y capturar informacin que es comn
al grupo. Sin embargo, las subclases de
clases abstractas que corresponden a objetos
del mundo real si pueden tener instancias.

Una clase abstracta podra ser una
impresora:
+ inyectores + agujas
Las clases derivadas de una clase base o
abstracta se conocen como clases concretas,
que ya pueden instanciarse (es decir,
pueden tenerinstancias)

Polimorfismo
Polimorfismo es la propiedad que indica,
literalmente, la posibilidad de que una
entidad tome muchas formas. En trminos
prcticos, el polimorfismo permite referirse
a objetos de clases diferentes mediante el
mismo elemento de programa y realizar la
misma operacin de diferentes formas,
segn sea el objeto que se referencia en ese
momento.

Encapsulamiento
El encapsulamiento o encapsulacin es la
propiedad que permite asegurar que el
contenido de la informacin de un objeto
esta oculta del mundo exterior: el objeto A
no conoce lo que hace el objeto B, y
viceversa. De esta manera combinamos los
datos y los mtodos que manejan dichos
datos en un nico objeto.

VISTA DE LA INTERACCIN

Describe las secuencias de intercambios de mensajes
entre roles que implementan el comportamiento del
sistema.
Muestra el flujo de control a travs de muchos
objetos.
Un diagrama de secuencia muestra:

Interaccin de un conjunto de objetos en una
aplicacin a travs del tiempo.
Un conjunto de mensajes, dispuestos en una
secuencia temporal.
Cada rol en la secuencia como una lnea de vida,
es decir: una lnea vertical.
Un diagrama de secuencia representa una interaccin como
un grfico bidimensional.

La dimensin vertical: es el eje del tiempo
La dimensin horizontal muestra los roles de clasificador
que representan objetos individuales en la colaboracin
Un rol de clasificador:

Es la descripcin de un objeto que desempea un determinado
papel dentro de una interaccin, distinto de los otros objetos de
la misma clase.
La primera utilizacin de los diagramas de
secuencia corresponde a la documentacin de los
casos de uso, se concentra en la descripcin de la
interaccin,

La segunda utilizacin corresponde a un uso ms
informtico y permite la representacin precisa de
las interacciones entre objetos.
Por lo tanto puede mostrar:

Escenario como la historia individual de la transaccin
que detalla los casos de uso, aclarndolos al nivel de
mensajes de los objetos existentes, como tambin
El uso de los mensajes de las clases diseadas en el
contexto de una operacin.
Cuando est implementado el comportamiento,
cada mensaje en un diagrama de secuencia
corresponde a:

Una operacin en una clase,
A un evento disparador, o
A una transicin en una mquina de estados.
ACTIVACION:

Es la ejecucin de un procedimiento, incluyendo el tiempo
que espera a los procedimientos anidados para
ejecutarse.

Muestra el periodo de tiempo en el cual el objeto se
encuentra desarrollando alguna operacin, bien sea por s
mismo o por medio de delegacin a alguno de sus
atributos.
Se denota como un rectngulo delgado sobre la lnea
de vida del objeto.
El diagrama siguiente muestra el caso de un objeto A que activa
otro objeto B.
Mensaje

El mensaje denota el hecho de aportar
informacin de un objeto (u otra instancia) a otro.
Puede ser una seal o llamadas a una operacin.

La notacin para UML del envo de mensajes
entre objetos es con una flecha dirigida, desde el objeto
que emite el mensaje hacia el objeto que lo ejecuta.
Cuando el diagrama de secuencia corresponde a la
documentacin de los casos de uso se concentra en la
descripcin de la interaccin, a menudo en trminos
prximos al usuario y sin entrar en detalles de
sincronizacin.

La indicacin que acompaa a las flechas corresponde
entonces, a eventos que ocurren en el mbito de la
aplicacin.

En este estadio del modelamiento, las flechas no
corresponden an a envos de mensajes en el sentido de
lenguajes de programacin, y la distincin entre flujos de
control y flujos de datos generalmente no se opera
Tipos de flujos de control:

Los envos sncronos (flujos de control plano)

Muestran la progresin al prximo paso de la secuencia.

Son envos secuenciales, en los que el emisor est
bloqueado y espera que el receptor haya terminado de tratar
el mensaje;
Los envos o flujos de control asncronos:

En los que el emisor no est bloqueado y puede continuar
su ejecucin.
Llamada a procedimiento u otro flujo de control anidado

La secuencia anidada completa debe finalizar antes de
reanudar la secuencia de nivel externo.
Se puede emplear en llamadas normales a procedimiento.
Tambin se puede usar con objetos activos
concurrentemente cuando uno de ellos enva una seal y
espera a que finalice una secuencia de comportamiento
anidada.
Retorno de una llamada a procedimiento

La flecha de retorno puede suprimirse, por cuanto queda
implcita al final de la activacin
La flecha que simboliza un mensaje puede
representarse oblicua para materializar las
demoras de transmisin respecto a la dinmica
general de la aplicacin.
Un objeto puede enviarse un mensaje a si
mismo, o sea un mensaje reflexivo que se
representa de la siguiente forma:
Ocurre una llamada recursiva cuando el control
vuelve a entrar en una operacin en un objeto, pero
la segunda llamada es una activacin separada de
la primera.
Objeto activo
Es un objeto que contiene la raz de una pila de activaciones.

Cada objeto activo tiene su propio hilo de control dirigido
por eventos que se ejecuta en paralelo a otros objetos activos.
Los objetos que son llamados por un objeto activo son objetos pasivos;
reciben el control solamente cuando son llamados y lo ceden cuando
retornan.

Si varios hilos de control concurrentes tienen sus propios
flujos de procedimientos de control usando llamadas anidadas,
los diversos hilos deben distinguirse usando los nombres de los
hilos, colores u otros medios para evitar confusin.
Lnea de vida de un objeto

La Lnea de vida de un objeto se representa como una lnea
vertical punteada con un rectngulo de encabezado y con
rectngulos a travs de la lnea principal que denotan la
ejecucin de mtodos (activacin)
Creacin y Destruccin de objetos

La creacin de objetos se representa haciendo apuntar el
mensaje de creacin sobre un rectngulo que simboliza el
objeto creado.

La destruccin se indica por el fin de la lnea de vida y
por una letra x, bien a la altura del mensaje que causa la
destruccin, o bien tras el ltimo mensaje enviado por un
objeto que se suicida.
Creacin y Destruccin de objetos
Estructuras de control

Las formas de diagramas de secuencia reflejan indirectamente
las opciones de estructura.
Los diagramas de secuencia pueden completarse por
indicaciones textuales, expresadas en forma de texto libre
o de pseudocdigo.

El instante de emisin de un mensaje llamado
transicin, puede tener nombre en el diagrama cerca del
punto de partida de la flecha que simboliza el mensaje.
Este nombre sirve entonces, de referencia, por ejemplo,
para construir restricciones temporales.

Cuando la propagacin de un mensaje toma un tiempo
significativo respecto a la dinmica del sistema, los
instantes de emisin y de recepcin de los mensajes se
materializan por un par (nombre, nombre primo).

La adicin de pseudocdigo sobre la parte
izquierda del diagrama permite la representacin de
bucles y bifurcaciones

De modo que los diagramas de secuencia pueden
presentar la forma general de una interaccin, ms
all de la simple consideracin de un escenario
particular.
Bucles o iteraciones:

El objeto A enva sin solucin de continuidad un mensaje a B
mientras la condicin X es verdad.
El bucle while puede representarse tambin por medio de una
condicin de iteracin colocada directamente sobre el mensaje.

La iteracin se simboliza entonces por el carcter * ,
colocado delante de la condicin entre corchetes.
Las bifurcaciones condicionales

Pueden materializarse por medio de pseudocdigo colocado a la
izquierda del diagrama.
El diagrama siguiente muestra que el objeto A enva un mensaje al
objeto B o al objeto C segn la condicin X.
Las condiciones colocadas delante de los mensajes
pueden sustituir al pseudocdigo.
Las diferentes ramas se materializan entonces por varias
flechas que tienen su origen en el mismo instante y se
distinguen por las condiciones colocadas delante de los
mensajes.
A cada bifurcacin, las condiciones deben
ser mutuamente exclusivas, y deben cubrirse todos los
casos.
Las alternativas, en el lado del destinatario del
mensaje, se representan desdoblando la lnea de vida
del objeto destinatario.
La distincin entre las ramas se indica por una
condicin colocada esta vez detrs del mensaje, cerca
del punto de entrada sobre la lnea de vida del objeto
destinatario.
La representacin grfica de las bifurcaciones
condicionales es la siguiente:
Ejemplo: Diagrama de secuencia para un control asncrono
Ejemplo: Diagrama de Secuencia con flujo de control
procedural. Diagrama resumen

Anda mungkin juga menyukai