Está en la página 1de 62

ANLISIS Y DISEO ORIENTADO A

OBJETOS CON UML


( Parte II )
Ing. Luis Zuloaga Rotta

La notacin UML

Es una fusin de las notaciones de :

Grady Booch
James Rumbaugh (OMT)
Ivar Jacobson (OOSE)

Han buscado ante todo la simplicidad; UML


es intuitivo, homogneo y coherente.
UML no es una notacin cerrada: es
genrica, extensible y configurable por el
usuario.

Notacin

Un solo diagrama no puede expresar toda la


informacin para describir un sistema :
funcional, no funcional, organizacional.
Cada vista representa una proyeccin del
sistema, mostrando un aspecto particular del
mismo.
Cada vista se describe en un cierto nmero
de diagramas.

Descripcin = Vistas del sistema (diagramas)

Vistas del UML


Vista de
Componentes

Vista de
Lgica

Vista de
Casos de Uso

Vista de
Despliegue

Vista de
Concurrencia

Vista de Casos de Uso

Muestra la funcionalidad del sistema


talcomo es percibida por actores
externos.
Su contenido consuce el proceso de
desarrollo y verificacin.
Utiliza :

Diagramas de Casos de Uso


Diagramas de Actividad (opcional)

Vista Lgica

Muestra el diseo de la funcionalidad


del sistema : Estructura y
Comportamiento
Descripcin de estructura :

Diagramas de objetos y clases

Descripcin de comportamiento :

Diagramas de secuencia, colaboracin,


estado y actividades

Vista de Componentes

Muestra la organizacin del cdigo y


dems archivos.
Consiste en el Diagrama de
Componentes.
Orientado al equipo de Desarrollo.

Vista de Despliegue

Muestra la implantacin del sistema en


la arquitectura fsica.
Las computadoras y los dispositivos
perifericos son denominados nodos.
nodos
Consiste en el Diagrama de
Despliegue.
Utilizado por los equipos de desarrollo,
integracin y pruebas.

Vista de Concurrencia

Muestra la concurrencia en el sistema,


dividido en procesos y procesadores.
Da cuenta de los aspectos de comunicacin
y sincronizacin derivados.
Descripcin dinmica : Diagramas de
Estado, Secuencia, Colaboracin y
Actividades.
Descripcin de implementacin : Diagramas
de Componente y de Despliegue.

Diagramas de
Secuencia

Diagramas de
Colaboracin

Diagramas de
Estados

Diagramas de
Casos de Uso

Diagramas de
Clases

Modelo

Diagramas de
Actividad

Diagramas de
Objetos

Diagramas de
Componentes

Diagramas de
Distribucin

Un modelo es una descripcin completa de un sistema desde una perspectiva concreta

Diagramas UML ( 9 )

De casos de uso: representan las funciones


del sistema desde el punto de vista del usuario.
De secuencia: representacin temporal de los
objetos del sistema y sus interacciones.
De colaboracin: son una representacin
espacial de los objetos, enlaces e interacciones.
De clases: representan la estructura esttica en
trminos de clases y relaciones;

Diagramas UML ...

De actividades: representan el comportamiento


de una operacin en trminos de acciones;
De transicin de estados: representan el
comportamiento de una clase en trminos de
estados.
De componentes: representan los
componentes fsicos de una aplicacin.
De despliegue: representan el despliegue de
los componentes sobre los dispositivos
materiales.

Los Estereotipos

Forman parte de los mecanismos de


extensibilidad, previstos en UML.
Permite a los usuarios aadir nuevas clases
de elementos de modelado, adems de los
predefinidos por UML.
Facilitan la unificacin de conceptos
parecidos, como <<categora>> y <<subsistema>>,
que expresan estereotipos de empaquetado.

Modelado del Negocio


CASO USO
DE NEGOCIO

UNIDAD DE
LA ORGANIZACIN

ACTOR
DE NEGOCIO

ENTIDAD
DE NEGOCIO

REALIZACIN DE
CASO USO
DE NEGOCIO

TRABAJADOR
DE NEGOCIO

MODELO DE CASOS
DE USO DE NEGOCIO

CLIENTE

PRESTAMO
:ASISTENTE

MODELO DE OBJETOS
DE NEGOCIO

: CLIENTE

: PERFIL

MODELO DE CASOS
DE USO
CLIENTE

MODELO DE ANLISIS

:ANALISTA

PERFIL

: CUENTA

: CREDITO

PRESTAMO

ANALISTA

CUENTA

CREDITO

Los Paquetes

Ofrecen un mecanismo general para


la particin de los modelos y la
agrupacin de los elementos de
modelado.
Dividen y organizan los modelos de
la misma manera que los directorios
organizan los sistemas de archivos.
Cada paquete corresponde a un
subconjunto del modelo y contiene,
segn el modelo, clases, objetos,
relaciones, componentes, as como
diagramas asociados.

Nombre de
Paquete

Los Paquetes

Cada paquete es una agrupacin de


elementos segn un criterio puramente
lgico.
La forma general del sistema (la arquitectura
del sistema) viene expresada por la jerarqua
de paquetes y por la red de relaciones de
dependencia entre paquetes.

Estereotipos de Paquetes

<<categora>> y <<subsistema>>
permiten distinguir, si es necesario, los
paquetes de la vista lgica y los
paquetes de la vista de realizacin.
Un paquete define un espacio de
nombres, de modo que dos elementos
diferentes, contenidos por dos paquetes
diferentes, pueden tener el mismo
nombre.
Un paquete puede contener otros
paquetes, sin lmite en el nivel de
anidamiento. Un nivel dado puede
contener una mezcla de paquetes y de
otros elementos de modelado.

CLASE
PAQUETE

CLASE
PAQUETE

Anidamiento de
paquetes

Dependencia entre Paquetes

Cada elemento pertenece a un solo


paquete.
Una clase contenida por un paquete
puede tambin aparecer en otro
paquete bajo la forma de un elemento
importado, a travs de una relacin
de dependencia estereotipada entre
paquetes.
Una relacin de dependencia significa
que al menos una clase del paquete
cliente utiliza los servicios ofrecidos
por al menos una clase del paquete
proveedor.

PROVEEDOR

<<import>>

CLIENTE

Visibilidad entre Paquetes

Cada elemento contenido por un


paquete posee un parmetro
que seala si el elemento es
visible o no desde el exterior del
paquete.
En el caso de las clases, slo
las indicadas como pblicas
aparecen en la interfaz del
paquete que las contiene;
pueden entonces ser utilizadas
por las clases miembros de los
paquetes clientes.
Las clases de realizacin slo
se pueden utilizar dentro del
paquete que las contiene.

PROVEEDOR

REALIZACION

CLIENTE

PAQUETE

PAQUETE

Dependencias Circulares

Por razones de compilacin


en la realizacin hay que
evitar las dependencias
circulares transitivas.
Las dependencias circulares
pueden reducirse rompiendo
uno de los paquetes
implicados en dos paquetes
mas pequeos.

PAQ 01
PAQ 02

PAQ 01

PAQ 02
PAQ 02
DEPENDENCIAS CIRCULARES

CASOS DE USO ( UC )

Describen bajo la forma de acciones y


reacciones el comportamiento de un sistema
desde el punto de vista de un usuario.
Permiten definir los lmites del sistema y las
relaciones entre el sistema y el entorno.
Es una manera especfica de utilizar un
sistema. Es la imagen de una funcionalidad del
sistema, desencadenada en respuesta a la
estimulacin de un actor externo.

Necesidades de informacin

Las necesidades se expresan a menudo de manera no


estructurada, sin fuerte coherencia.
Frecuentemente, las necesidades se contradicen, se
cometen olvidos, subsisten imprecisiones y el anlisis
del sistema parte sobre una mala base.
Los UC reubican la expresin de las necesidades sobre
los usuarios, partiendo del punto de vista muy simple
que dice que un sistema se construye ante todo para
sus usuarios.
La terminologa empleada en la redaccin de los UC es
la empleada por los usuarios en su quehacer cotidiano,
de modo que la expresin de las necesidades se facilita
en gran medida.

Modelo de Casos de Uso

Comprende los actores, el


sistema y los propios casos
de uso.
El conjunto de
funcionalidades de un
ACTOR A
sistema se determina
examinando las necesidades
funcionales de cada actor,
expresadas en forma de
familias de interacciones con
el caso de uso.

SISTEMA

CASO USO 01

CASO USO 02

ACTOR B
CASO USO 03

Actor

Representa un papel o rol interpretado por una


persona o una cosa que interacta con un sistema.
Los actores se determinan observando los usuarios
directos del sistema, los responsables de su uso o
de su mantenimiento, as como los otros sistemas
que interactan con el sistema en cuestin.
La misma persona puede interpretar el rol de varios
actores, y varias personas pueden interpretar el
mismo papel y actuar, como el mismo actor.

Categoras de Actores

Primarios : agrupa a todo aquello que utiliza


las funciones principales del sistema para
satisfacer un requerimiento.
Secundarios : agrupa a todo aquello de lo
que el sistema se vale para atender los
requerimientos de los actores principales.
Tipos actores :

Personas
Dispositivos
Otros Sistemas

Actores y Escenarios

Se describen actor por actor, en trminos de


escenarios, mostrando la informacin
intercambiada y las acciones en la manera
de utilizar el sistema.
Un UC agrupa una familia de escenarios de
uso segn un criterio funcional.
Describen interacciones entre los actores y
el sistema sin entrar en detalles de cada
escenario.

Escenarios : Instancias de un Caso de Uso

Los UC deben ser vistos como


Escenario 3
Escenario 3
clases cuyas instancias son los
Escenario 4
Escenario 1
escenarios.
Cada vez que un actor
interacta con el sistema un
UC instancia un escenario; este
CASO DE USO
escenario corresponde al flujo
de mensajes intercambiados
por los objetos durante la
interaccin particular que
corresponde al escenario.

Qu es un Escenario de Caso de Uso ?

Es una descripcin de una situacin del


negocio que puede ser visualizada por los
usuarios de un sistema.
Es decir un escenario es una secuencia de
interacciones ocurriendo bajo ciertas
condiciones para lograr el objetivo del actor
primario, y teniendo un particular resultado
con respecto a este objetivo.

Modelo de Comunicacin e Interaccin


Actor Primario

Responsabilidad

Actor Secundario

Stma. en construccin

- Objetivo 1
- Objetivo 2
. Accin 1 Interaccin 1

Responsabilidad
- Accin backup
para Objetivo 2

- Objetivo 1
. Accin 1

Interaccin 2

Responsabilidad

Relaciones entre Actores y Casos de Uso

De Comunicacin : La participacin del actor


se seala por una flecha entre el actor y el UC.
El sentido de la flecha indica el iniciador de la
interaccin.
De Inclusin : Entre UCs, significa que una
instancia del UC fuente comprende tambin el
comportamiento descrito por el UC destino.
De extensin : Entre UCs, significa que el UC
fuente extiende el comportamiento del UC
destino.

Implementacin de relaciones
<< Comunica >>

Cliente
Cliente
Remoto
Giro por
Internet

<< Extiende >>

Cliente
Local
<< Comunica >>

<< Incluye >>

Identificaci
Identificacin

Giro

Construccin de Casos de Uso

Un UC debe ser ante todo simple, inteligible, descrito


de manera clara y concisa. La descripcin de la
interaccin se concentra sobre lo que debe hacerse en
el UC, no sobre la manera de como hacerlo.
El nro. actores que interactan con el UC es limitado, y
por regla general, hay un solo actor por UC.
En la construccin de los UC hay que preguntarse :

Cules son las tareas del actor ?


Qu informaciones debe el actor crear, guardar, modificar,
destruir o simplemente leer ?
El actor,deber informar al stma. de los cambios externos?
El stma.,deber informar al actor de las condiciones internas?

DIAGRAMA DE CASOS DE USO


HACER
CONSULTA

DEVOLVER
ITEM

<<extend>>

LECTOR

REGISTRAR
LECTOR

HACER
RESERVA

BORRAR
RESERVA

BIBLIOTECARIO

<<include>>
PRESTAR
ITEM

USUARIO
DIRECTOR
CONTROLAR
ACCESO

GESTIONAR
PERSONAL

VERIFICAR
MULTAS

SI_ADMINISTRATIVO

Nivel de Actor Externo


Nivel de Actor Interno
Nivel de CU
del Sistema

Nivel de Objetos

ANATOMIA DE UN PROCESO DE NEGOCIOS

Reglas de Implementacin de un Caso de Uso

La descripcin de un UC comprende los elementos sgtes.:


Inicio: el evento que inicia el UC; debe expresarse con la frase El
UC empieza cuando X se produce.
Fin : el evento que causa la parada del UC; debe expresarse con la
frase Cuando Y se produce, el UC ha terminado.
Interaccin con el actor : describe claramente lo que el actor desea
le proporcione el sistema.
Intercambio informacin : expresa en lenguaje natural la forma de
la interaccin entre el sistema y los actores en forma de parmetros.
Cronologa y origen de la informacin : describe cuando el
sistema necesita informacin interna o externa y cuando las
almacena.
Las repeticiones de comportamiento : que pueden describirse por
medio de pseudocdigo.
Opcionalidad : expresan las opciones para algunas de las acciones
dentro de un escenario.

Transicin hacia los Objetos

El paso hacia la
aproximacin a objetos
se efecta asociando
una colaboracin entre
objetos a cada escenario
instancia de un UC.
Los escenarios, se
representan por
diagramas de interaccin
entre objetos.

CASO DE USO

<< Realiza >>

COLABORACI
COLABORACIN

<< Participa >>

<< Participa >>

<<Participa>>

Objeto 1

Objeto 3
Objeto 2

Descomposicin hacia objetos


Caso Uso 2
Objeto 2
Caso Uso 1

<< Comunica >>

Actor 2

Caso Uso 1

Objeto 1

Objeto 5
Objeto 4

Objeto 3

<< Incluye>>

Actor 3

Objeto 8

Objeto 9
<< Comunica >>
<< Comunica >>

Objeto 7

Objeto 6

Objeto 10

Objeto 14

Caso Uso 2
<< Comunica >>

Objeto 13
Objeto 12

Actor 1

Caso Uso 3

Actor 4

Objeto 11

Caso Uso 3

Estudiante desea matricularse en un curso


1. Verificar que la persona es un estudiante a travs del
sistema de cmputo. Si no es un estudiante solicitarle
que primero se inscriba en la institucin.
2. Determinar si hay vacantes en el curso. Si no hay
informar al estudiante y proponerle si le gustara
matricularse en algn otro curso.
3. Determinar cules son los pre-requisitos para el curso.
Si el estudiante no tiene los pre-requisitos:

Informarle de la falta.
Proponerle matricularse en algn otro curso.

Estudiante desea matricularse . . .


4. Recibir el primer pago e imprimir el respectivo
recibo.
5. Aadir en la lista del curso al alumno, una vez que
haya efectuado el primer pago.
6. Informar al estudiante de los materiales (libros,
etc.) que debe adquirir para el curso.

Ejemplo de Diagrama de
Casos de Uso para un
Stma. Matricula

Requerir Listado Curso


Profesor

Estudiante

Matricula

Mantener Curso a dictar

Mantener Curriculum

Sistema Facturacin
Registrador

Formato de Especificacin para Casos de Uso


CASO DE USO #
Objetivo dentro
del Contexto
Alcance & Nivel

- El nombre apropiado es el objetivo expresado con una frase


de verbo activa.
- Una sentencia del objetivo dentro del contexto si es
necesario.

- Sistema que est siendo considerado como caja negra en el


diseo. El nivel puede ser :
Resumen o Tarea Primaria o Subfuncin.
Precondiciones
- Como esperamos encontrar el estado del mundo
Condicin Final de - El estado del mundo luego de un final exitoso.
xito
Condicin Final de - El estado del mundo si se abandona el objetivo.
Falla
Actores Primarios - Un nombre del rol o descripcin para el actor primario.
y Secundarios
- Otros sistemas confiables para llevar a cabo el caso de uso.
Disparador o
- La accin sobre el sistema que activa o inicia el caso de uso.
Trigger

DESCRIPCION

Extensiones

Variaciones

Paso Accin
1
- Colocar aqu los pasos del escenario desde el
activador al objetivo a lograr en condiciones
normales, sin considerar particularidades.
2
<>
3
Paso Accin de Divisin o bifurcacin
1a
- Condicin causante de la divisin :
<accin o nombre del sub caso de uso>
Accin de Divisin o bifurcacin

<lista de variaciones>

Informacin
Relacionada
Prioridad

- Nombre del caso de uso.

Performance

- La cantidad de tiempo que este caso de uso tomara.

Frecuencia
Canales a actores

- Cuan frecuente se espera que ocurra o se presente.


- ej.: Interactivo, archivos estticos, bases de datos,
interrupciones (timeouts).
- Lista de asuntos esperando decisin afectando el caso de uso.
- Fecha o release requerido

Asuntos abiertos
Fecha iberacin
o release
Cualquier otra
informacin de
administracin
Superordinado
Subordinado

- Cuan critica es para su sistema u organizacin.

- La accin sobre el sistema que activa o inicia el caso de uso.


- Opcional, nombre de caso de uso(s) que incluyen a este.
- Opcional, dependiendo de las herramientas, enlaces a sub
casos de uso.

CASO DE USO 5 - Comprar Mercaderas.


Objetivo dentro - Comprador expide requerimiento a nuestra compaa
del Contexto
directamente, espera envo de mercaderas, y acepta que
sean cargadas a su cuenta o facturadas.
Alcance & Nivel - Compaa & Resumen
Precondiciones - Nosotros conocemos al comprador, su direccin, etc.
Condicin Final - Comprador tiene sus mercaderas y nosotros tenemos el
valor monetario de las mercaderas.
de xito
Condicin Final - Nosotros no enviamos las mercaderas, el comprador no
tiene que pagar su valor.
de Falla
Actor Primario - Comprador, cualquier agente (o computadora) actuando
por el cliente.
Disparador o
- Llega un requerimiento de compra.
Trigger

DESCRIPCION

Paso
1
2
3

EXTENSIONES

4
5
6
7
Paso
3a
4a
7a

Accin
- Entra llamada de comprador con un requerimiento compra
- Compaa captura nombre comprador, direccin,
mercaderas requeridas, etc.
- Compaa entrega informacin sobre mercaderas al
comprador, precios, fechas entrega, etc.
- Comprador confirma la orden.
- Compaa crea la orden, enva la orden a comprador.
- Compaa enva factura al comprador.
- Comprador paga la factura.
Accin de Divisin o Bifurcacin
- Compaa no dispone de uno de los items ordenados :
3a.1 Renegociar orden
- Comprador paga directamente con tarjeta de crdito.
4a.1 Aceptar pago por tarjeta de crdito (use case 44)
- Comprador devuelve mercadera.
7a.1 Manejar mercadera devuelta (use case 105)

CASO DE USO 5
VARIACIONES

- Comprar Mercaderas.
Paso Accin
1
- Comprador puede utilizar :
* entrada telefnica,
* entrada por fax,
* formato de orden de web,
* EDI
7
- Comprador puede pagar :
* contado o money order
* cheque
* tarjeta de crdito

INFORMACION
RELACIONADA
Prioridad
Performance
Frecuencia
Canal a Actor
Primario
Actores Secundarios
Canales a Actores
Secundarios

- Comprar Mercaderas
- Alta
- 45 minutos por orden, 45 das hasta el pago
- 200 /dia
- Puede ser por telfono, archivo, o interactivo.
- Cia. Tarjeta de Crdito, Banco, Servicio Envos.

ASUNTOS
ABIERTOS
Release
Cualquier otra
informacin de
administracin
Caso de Uso
Superordinado
Casos de Uso
Subordinados

- Que pasara si nosotros solo tenemos parte de la orden ?


- Que pasara si la tarjeta de crdito es robada ?
- 1.0

- Administrar la relacin con el cliente (use case 2)


- Crear orden (use case 15)
- Tomar pago por tarjeta de crdito (use case 44)
- Manejar mercaderas devueltas (use case 105)

Diagrama Casos de Uso para


un CAJERO AUTOMATICO

sacar dinero

Stma.Banco
Cliente

transferir

pedir saldo

transaccion(cta, importe)( )

Representacin de Objetos

Se representan por un
rectngulo que
contiene bien el
nombre del objeto, el
nombre yla clase del
objeto (separados por
dos puntos), o bien
solamente la clase del
objeto (annimo).

Nombre Objeto

Nombre Objeto : Clase

: Clase

Representacin de los Enlaces entre Objetos

Los objetos se
vinculan por
enlaces, que
son instancias
de las
relaciones entre
las clases de los
objetos
considerados.

: Carro

: Motor

Diagrama Objetos

: Rueda

: Rueda

: Rueda

Carro

: Rueda

Motor

1
4
Rueda

Diagrama Clases

Diagramas de Colaboracin

Expresan a la vez el contexto de un grupo


de objetos (a travs de objetos y enlaces) y
la interaccin entre estos objetos
(representada por el envo de mensajes).
El contexto de una interaccin comprende
los argumentos, las variables locales
creadas durante la ejecucin, as como los
enlaces entre los objetos que participan en
la interaccin.

Representacin de la Colaboracin

Una interaccin se realiza


por un grupo de objetos
que colaboran
intercambiando mensajes.
En un diagrama de
colaboracin, el tiempo no
se representa de manera
implcita, slo se
enumeran para indicar el
orden de los envos.

: Cabina
abrir

: Puerta

: Ascensor
1: subir

: Cabina

2: cerrar

3: Encender

: Luz

: Puerta

El lugar del usuario

La notacin permite
incluir a un actor en
un diagrama de
colaboracin para
representar el
desencadenamiento
de las interacciones
por un elemento
externo al sistema.

1: Llamar

: Persona

: Ascensor
2: Venir

: Cabina

Los Objetos activos

Son los que poseen el flujo


de control.
Un objeto activo puede
activar un objeto pasivo por
el tiempo de una operacin
envindole un mensaje.
Una vez tratado el mensaje
el flujo de control se
restituye al objeto activo.

Objeto activo

: Procesar Texto
2: Escribir
1: Leer

: Impresora
: Escaner

Representacin de mensajes

Se representa por una flecha colocada


cerca de un enlace y dirigida hacia el
objeto destinatario del mensaje.
Un mensaje desencadena una accin en el
objeto destinatario.
El mensaje, sus argumentos y valores de
retorno, se colocan dentro de la
interaccin; tambin se coloca el grado de
anidamiento o la sincronizacin en el
envo.

Sincronizacin de un mensaje

Se expresa
en forma de
una
secuencia
de envo de
mensaje
terminada
por el
carcter /.

: Objeto B
A.1, B.3 / Leer

: Objeto A

El mensaje se enva cuando los envos A.1


y B.3 han sido satisfechos.

Secuencia y Resultado

La secuencia
indica el nivel de
anidamiento del
envo del mensaje
dentro de la
interaccin.
El resultado est
constitudo por una
lista de valores
devueltos por el
mensaje.

: Objeto A

Un mensaje se enva iterada y


concurrentemente a un
conjunto de instancias

* ||[i:=1..n]: mensaje
: Objeto B

: Objeto B

: Objeto B

[X > Y] : Mensaje
p : = resultado

: Objeto A

: Objeto A

1: Coger libro

: Socio

: Libro

2: Solicitar prstamo
: Ficha Socio

3: Verificar situacin socio


8: Autorizar prstamo
4: Situacin socio Ok

6: Situacin libro Ok

: Encargado
7: Introducir prstamo

: Prstamo

5: Verificar situacin libro

: Ficha libro

Ejemplo de Diagrama de
Colaboracin para
Caso de Uso : Prstamo Libro

Ejemplo de Diagrama de
Colaboracin para
Caso de Uso : Crear nuevo Curso
1: set info curso
2: procesar

: Registrador

unFormatoCurso :
FormatoCurso

3: add curso

elAdministrador :
AdministradorCurriculum

unCurso :
Curso

4: new curso

: Computadora

1:Print (file)

: Cola

3:Almacenar (file)
[Impresora ocupada]

2:Print (file)

: ServidorImpresion

4:Print (file)
[Impresora libre]

: Impresora

También podría gustarte