Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UABC FCA
M.C. Diana C. Ruiz Alvarez
UML
Diagrama de Casos de Uso
Un caso de uso es una coleccin de situaciones respecto al uso de un sistema desde el
punto de vista de los usuarios. Cada escenario describe una serie de eventos, donde cada
secuencia se inicia por una persona, otro sistema, hardware o por el paso del tiempo. A las
entidades que inician la secuencia se les llama actores. El resultado de la secuencia debe de ser
algo utilizable ya sea por el actor que lo inicio o por otro actor.
El modelo de Casos de uso incluye los
diagramas y la secuencia de pasos en los
escenarios. Los diagramas de casos estn formados
por 5 elementos: sistema, actores, casos de uso,
asociaciones y dependencias, cada elemento tienen
su notacin propia. Este diagrama provee una
explicacin a nivel superficial de cmo interacta el
sistema con el mundo externo.
Existen dos formas en que los casos de uso se pueden relacionar las cuales son inclusin
y extensin. La inclusin es una tcnica de aprovechamiento de un caso de uso y se utiliza
cuando dos o ms casos de uso tienen pasos en
comn, lo que permite eliminar la duplicacin de
estos pasos. Esta tcnica consiste en tomar los
pasos comunes de los casos de uso y formar un
nuevo caso de uso a partir de ellos, de esta
forma este nuevo caso de uso se puede utilizar
como parte de otros casos. Para representar la
inclusin se utiliza una flecha punteada que
conecta a los dos casos de uso, la flecha apunta al caso incluido. Sobre la lnea se coloca el
estereotipo <<incluir>>. Cabe mencionar que un caso incluido nunca aparecer solo.
La extensin <<extender> se puede aplicar cuando se tiene un flujo alternativo con
cambios mayores o cuando existen pasos que son
opcionales de realizar (generalmente se aplica a la
segunda opcin). La extensin solo se puede
realizar en puntos indicados de manera especfica
dentro de la secuencia, a estos puntos se les
conoce como puntos de extensin.
La extensin se identifica colocando una
flecha desde el caso de uso excepcional al caso de
uso normal. En la flecha se indica la condicin que se debe de cumplir para realizar el caso de uso
extensin y el punto donde se aplica, en el caso de uso normal se indica dividiendo el ovalo y se
indica el punto de extensin donde se aplicar la extensin.
1
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Nombre
Referencial
La definicin de los atributos
incluye la visibilidad de estos para
otros objetos. Un atributo que es
pblico a otros objetos se indica con el
signo +, cuando solo es utilizado por el
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
objeto se dice que el atributo es privado y se indica con -, cuando el atributo puede ser utilizado
por el objeto y su descendencia el atributo es protegido y se indica con #, por ltimo cuando el
atributo puede ser utilizado por otros objetos pero solo dentro del mismo paquete se llama utiliza el
smbolo ~ para indicarlo.
Una operacin es una funcin o transformacin que se puede aplicar a un objeto o por un
objeto en una clase. El mtodo es la implementacin de la operacin para la clase. Cabe
mencionar que todos los objetos de la clase comparten las operaciones.
Las operaciones, mtodos o funciones deben de cambiar en cierta forma algn atributo del
objeto. Existen diferentes tipos de operaciones:
Aquellas que manipulan la informacin (atributos)
Aquellas que llevan a cabo algn clculo o procedimiento
Aquellas que monitorean al objeto por algn evento
Un objeto encapsula informacin, operaciones, otros objetos, valores constantes y otra
informacin. La Encapsulacin significa que la informacin anterior es empaquetada bajo un
nombre y puede ser utilizada como un solo componente.
Notacin:
Las clases se representan por
rectngulos. Los atributos se colocan debajo
del nombre de la clase en una segunda
divisin del rectngulo. Se coloca el nombre
del atributo seguido por su tipo de dato. Las
operaciones se colocan en una tercera divisin
por debajo de los atributos
Ligas y Asociaciones
Se le llama liga a la relacin directa que
existe entre dos instancias. A la plantilla de ligas, es
decir a aquellas relaciones que comparten todos los
objetos de una clase se le llama asociacin.
En el diagrama de clases las
asociaciones se representan con lneas las
cuales conectan a las clases relacionadas. El nombre de la asociacin puede incluirse sobre la
lnea utilizando letras itlicas. Cuando se trata de enlazar objetos los nombres de estos as como
la relacin se subrayan.
As mismo el rol que juega cada clase en la
asociacin puede incluirse en el diagrama. Los
roles ayudan a ver ms claro como se comporta
una clase cuando se asocia con otra.
6
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Empleado empleado;
}
10
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Tipos de clases
Las clases entran en 4 categoras:
Clases entidad: las clases de entidad representan elementos de la vida real, como gente,
cosas, etc. Las clases de entidad son las entidades representadas en un diagrama
entidad-relacin. El analista necesita determinar que atributos incluir en las clases. Cada
objeto tiene muchos atributos, pero la clase debe incluir solo aquellos que utiliza la
organizacin.
Clases de lmite o de interfaz: las clases de lmite o interfaz ofrecen a los usuarios un
medio para trabajar con el sistema. Existen dos amplias categoras de clases de interfaz:
la humana y de sistema.
o Interfaz humana: medios que permiten a los usuarios interactuar con el sistema
como pueden ser una pantalla, una ventana, un formulario web, un cuadro de
dialogo, un men, un cuadro de lista u otro control de despliegue. Tambin se
pueden incluir un telfono de tonos o un cdigo de barras.
o Interfaz del sistema: implican el envo o recepcin de datos de otros sistemas.
Donde podra incluir las bases de datos de la organizacin.
Los atributos de estas clases son los que se encuentran en una pantalla o un informe. Los
mtodos son los que se requieren para trabajar con la pantalla o para producir el informe.
Clases abstractas: son las clases que no es posible instanciar directamente. Las clases
abstractas estn vinculadas a clases concretas en una relacin
Generalizacin/Especializacin. El nombre de una clase abstracta se denota en letras
cursivas.
Clases de control: las clases de control o activas s utilizan para controlar el flujo de
actividades, y funcionan como coordinadoras al implementar la clase. Para lograr clases
reutilizables, un diagrama de clases podra incluir muchas clases pequeas de control.
Con frecuencia, las clases de control se derivan durante el diseo de sistemas.
Usualmente una nueva clase de control se creara con el propsito de hacer reutilizable
otra clase.
Diagrama de Secuencias
11
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Un diagrama de secuencias
muestra la forma en que un objeto
interacta con otros durante un caso de
uso. Las interacciones se llevan en una
secuencia establecida a travs del
tiempo. Los diagramas constan de
objetos representados por rectngulos
(con su respectiva notacin), actores,
mensajes representados por flechas y el
tiempo representado por lneas
verticales que comienzan en los objetos
a las cuales se les llama lnea de vida
del objeto. En la lnea de vida de cada objeto se coloca un pequeo rectngulo el cual representa
la ejecucin de una operacin por parte del objeto, al cual se le conoce como activacin
Los mensajes entre objetos pueden ser
simples, sincronos o asncronos. Un mensaje simple es
la transferencia de control de un objeto a otro. Un
mensaje sncrono significa que el objeto esperar la
respuesta a su mensaje para continuar con su trabajo y
el mensaje asncrono significa que el objeto no
esperar respuesta. Para el mensaje simple se utiliza
una flecha normal, para el sncrono una flecha con
punta rellena y para el asncrono la punta de la flecha
con una sola lnea.
El diagrama puede ir contenido en un marco (UML 2), el ttulo del diagrama se coloca en
la esquina izquierda. Previo al nombre del diagrama se colocan las iniciales del tipo de diagrama
que se est mostrando (sd por sequence diagram). Este marco es opcional.
Es posible mostrar los estados de los objetos en los diagramas de secuencias, para esto
se reemplazan los rectngulos (activacin) por los rectngulos redondeados (estados), para
indicar el estado en el que se encuentra el objeto.
Cuando el diagrama de secuencias solo se centra en un escenario de un caso de uso al
diagrama se le conoce como diagrama de secuencias de instancias, si por lo contraro se toman
en cuenta todos los posibles escenarios del caso de uso al diagrama se le conoce como diagrama
de secuencias genrico.
Cuando se elaboran diagramas genricos se deben de representar condiciones y
bifurcaciones en el control de la secuencia de acuerdo a la condicin. La condicin se coloca entre
corchetes. La condicin causar una bifurcacin que har que el control del mensaje se separe en
rutas distintas.
12
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
13
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
14
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
15
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Diagrama de Estados
Es una forma de caracterizar los cambios de estado que los objetos de un sistema sufren
como respuesta a los sucesos o eventos (momento en el tiempo en el que algo importante ocurre)
y al tiempo. El diagrama de objetos presenta los estados en los que un objeto (solo un objeto por
diagrama) puede encontrarse, as como las transiciones entre dichos estados. El estado de un
objeto determinar como este debe reaccionar ante un evento. El diagrama adems presenta los
estados inicial y final de la secuencia. Al diagrama de estados tambin se le conoce como motor
de estados.
Los estados en los diagrama de objetos se
representan por rectngulos redondeados, las
transiciones entre estados se representan con una
flecha continua que apunta hacia el estado a
donde se da la transicin. El estado inicial se
representa por un crculo relleno y el final por una
diana (crculo relleno rodeado por otro crculo). El
rectngulo del estado se puede dividir, en la parte
superior se coloca el nombre del estado, en la
parte intermedia se colocan las variables de
estado y en la parte inferior las actividades.
Las actividades son sucesos y acciones que se realizan mientras el objeto est en ese estado,
las ms utilizadas son entrada, salida y hacer. Las
actividades dentro de un estado se muestran utilizando las
palabras do, entry o exit segn sea el caso, seguida de una
diagonal (/) y luego el nombre de la actividad a realizar. Un
evento entry ocurre justo cuando el estado entra a ese
evento, un evento exit ocurre justo antes de que el objeto
salga del estado y el evento do ocurre mientras se est en
estado. En ocaciones se quiere prevenir que ocurra un
evento cuando se est en cierto estado, en este caso se
coloca el evento seguido de la diagonal y la palabra defer para indicar que el evento se pospone
para despus.
16
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Cuando un objeto es estimulado por un evento ocurre una transicin entre estados. A las
transiciones se les puede agregar detalle indicando el suceso que provoca la transicin o la
actividad que se ejecute y provoque que se haga la transicin (accin). Los sucesos y acciones se
colocan encima de la lnea de transicin, separados por una diagonal cuando el suceso es
desencadenado por una accin. En ocasiones pude darse una transicin sin una accin asociada.
Una accin es una tarea atmica la cual no puede ser separada en componentes ni interrumpida,
el detener una accin puede llevar a dejar un objeto en un estado indefinido.
El estado final de un objeto indica que este no puede cambiar su estado otra vez, puede que
el objeto siga existiendo pero su estado permanecer inalterable. El estado final tambin puede
indicar la destruccin del objeto.
Tambin se pueden agregar condiciones a las transiciones las cuales al cumplirse provocan el
cambio de estado, a estas condiciones se les conoce como condiciones de seguridad y se colocan
entre parntesis cuadrados expresndolas como condiciones booleanas despus del nombre del
evento.
En ocasiones los objetos envan eventos a otros objetos para notificar que algo importante ha
ocurrido. En envo del evento es tratado como cualquier otra accin. Esto se muestra colocando el
nombre del evento seguido de una diagonal y luego se coloca el nombre de la clase y la operacin
que se realizar (por ejemplo Customer.debitNotify(amount) )
Una forma de hacer que el objeto pueda recordar su estado es mediante variables. Una
tcnica es tener una variable para cada estado e inicializar estas variables a un nmero entero
diferente cada una. Adems tendremos otra variable que contendr el valor del estado actual.
Cuando haya un cambio de estado la variable del estado actual cambiar su valor al valor
correspondiente del estado que definimos con las variables. De esta forma ser fcil verificar el
estado del objeto dentro de nuestro programa simplemente comparando la variable del estado
actual con la variable del estado a comparar:
Public class CustomerAccount {
private int accInitialized = 0;
private int accValidating = 1;
private int accOnTrial = 2;
private int accEstablished = 3;
private int accRenewing = 4;
private int accArchived = 5;
private int currentState = 0;
private int beginningBalance = 0;
private float currentBalance = accInitialized;
17
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Transicin completada. Este evento se genera cuando todas las actividades del estado se
completan. Si el estado est conectado a otro estado por una transicin que no tiene etiqueta
se hace la transicin automtica al estado despus de ejecutar la accin de salir. Estas
transiciones son llamadas transiciones automticas.
El evento when se utiliza cuando el objeto requiere ser
notificado justo en un momento dado se coloca la palabra
when y entre parntesis la condicin de tiempo absoluta.
El evento after se utiliza cuando el objeto requiere ser
notificado en un momento de tiempo relativo. Se coloca la
palabra after seguida de la condicin de tiempo relativa
entre parntesis.
Un estado puede ser expresado en trminos de subestados con lo que se dice que un estado se encuentra dentro
de otro. Los sub-estados pueden ser secuenciales o
concurrentes. Como su nombre lo indica, los estados
secuenciales ocurren uno detrs de otro. Los sub-estados
concurrentes son aquellos que pueden ocurrir al mismo tiempo
que otros. Cuando se tienen sub-estados concurrentes estos se
separan con una lnea discontinua mostrando los diferentes grupos de estado que pueden ocurrir
al mismo tiempo. La concurrencia no indica que forzosamente se deben de llevar al mismo tiempo
pero que es posible.
A los estados que constan solo de sub-estados
secuenciales o una combinacin entre estados secuenciales y
concurrentes se le conoce como estado compuesto.
Los estados compuestos pueden tener la posibilidad de
recordar el sub-estado activo en el que se encontraban cuando el
objeto trasciende fuera del estado compuesto. A estos estados se
les conoce como estados histricos. Los estados histricos se
representan colocando un crculo con la letra H conectado con
una flecha al estado que se desea recordar
Los diagramas de estados pueden extraerse de los
diagramas de secuencias observando el flujo de eventos en los
objetos ms dinmicos.
Una vez desarrollado los diagramas de estados es necesario regresar al diagrama de
objetos a hacer los ajustes necesarios. Los eventos causan que los objetos ejecuten cierto
comportamiento por lo que los eventos son buenos candidatos a convertirse en operaciones de las
clases.
18
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Diagramas de Actividades.
UML presenta una versin actualizada de los llamados
diagramas de flujo, estos son los diagramas de actividades. Estos
diagramas permiten especificar el orden en que se llevan a cabo
ciertas operaciones sin enfocarse tanto en quien es el
responsable de realizarlas. Los diagramas de actividades se
presentan con la figura de un rectngulo en el interior de este se coloca otro rectngulo con las
esquinas redondeadas.
19
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
o
o
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
21
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
subsistemas es basndose en los casos de uso y agrupando casos de uso similares dentro de
cada subsistema.
La estructura general del sistema se puede presentar de dos formas, utilizando un
paquete que representa el sistema completo dentro del cual se colocan los subsistema, o
mediante diagramas donde se indica que subsistemas son miembros de que sistema.
22
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
Por otro lado un componente tambin puede presentar una interfaz a otros componentes,
esto se hace utilizando el smbolo parecido a Y redondeada para indicar que el componente hace
uso de una interfaz provedo por otro componentes, el segundo componente debe embonar su
interfaz (paleta) dentro del smbolo Y.
Diagramas de Distribucin
El diagrama de distribucin representa a
los componentes fsicos del sistema
(hardware) mostrando la forma en que
lucen fsicamente. A cada elemento de
hardware se le conoce como nodo el cual
puede ser cualquier recuso de cmputo. El nodo puede ser un procesador o un dispositivo. Un
procesador es aquel nodo que puede ejecutar un componente, mientras que un dispositivo no
puede ejecutar el componente.
Los nodos se representan con un cubo con su respectivo nombre. Se puede utilizar un
estereotipo para indicar el tipo de nodo o recurso del que se trata. El cubo se puede dividir en
compartimentos y utilizar estos para presentar ms informacin (componentes que residen en l).
La relacin ente nodos, conocida como conexin, se representa por medio de una lnea.
Adems de la asociacin entre nodos se puede utilizar el concepto de agregacin y dependencia.
Al mostrar los componentes dentro de un nodo se puede mostrar las relaciones entre ellos e
incluso las relaciones que existen con componentes que se encuentran en otros nodos.
El tipo de nodo puede ser mostrado utilizando estereotipos, los ms comunes son:
<<dispositivo embebido>>
<<ambiente de ejecucin>> el cual es un nodo virtual el cual puede parecer hardware pero no
lo es ejemplo un SO o una mquina virtual de Java
24
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
25
Diseo de Sistemas
UABC FCA
M.C. Diana C. Ruiz Alvarez
26