Professional Documents
Culture Documents
ndice
Visin general
Artefactos
Modelo de diseo
Clases de diseo
Realizacin en diseo de los casos de uso
Subsistemas en diseo
Interfaz
Actividades
Diseo de los casos de uso
Diseo de las clases
Diseo de subsistemas
2 - www.kybele.es
Diseo
Visin general
Flujos de
trabajo
Fases
Planificacin
Anl. Riesgos
Preparacin
Construccin
Verificacin
Elaboracin
Transicin
Requisitos
Anlisis
Diseo
Implementacin
Prueba
Iteracin(es)
Inicial(es)
Iter.
#1
Iter.
#2
Iter.
#3
Iter.
#4
Iter.
#5
Iter.
#6
Iter.
#7
3 - www.kybele.es
Diseo
Visin general
Modelo de
anlisis
Modelo de
diseo
Modelo de
despliegue
Modelo de
casos de uso
Modelo de
implementacin
Modelo de
pruebas
4 - www.kybele.es
Diseo
Visin general
Requisitos
Anlisis
Diseo
Implementacin
Pruebas
Dependencia de traza
Modelo de
Casos de Uso
Modelo de
Anlisis
Modelo de
Diseo
Modelo de
Despliegue
Modelo de
Implementacin
Modelo de
Pruebas
5 - www.kybele.es
Diseo
Visin general
relacin a:
Lenguajes de programacin, reutilizacin de componentes, sistemas
operativos, tecnologas de distribucin, concurrencia, bases de
datos, interfaces de usuario, gestin de transacciones, etc.
6 - www.kybele.es
Diseo
Visin general
Diagrama de
Despliegue y
Nodos
Diagrama de
Subsistemas
Diagramas
de Clases de
Diseo
Diagramas de
Interaccin
Esquemas
de Bases de
Datos OO
Sistemas de
Seguridad y
de control
Formularios,
Reportes,
Interfaz Grfica
7 - www.kybele.es
Diseo
Visin general
Objetivos:
Profundizar en los requisitos no funcionales y restricciones dependientes
de la plataforma.
Crear una entrada apropiada para la implementacin
Descomponer los trabajos de implementacin en partes mas manejables
y que permitan concurrencia. Utilizacin de subsistemas
Capturar las interfaces entre los subsistemas.
8 - www.kybele.es
Diseo
Visin general
Modelo de Anlisis
Modelo de Diseo
9 - www.kybele.es
Diseo
Diagramas UML
Modelo de
Casos de Uso
Modelo de
Diagramas de
Casos de Uso
Incluidos subsistemas
Diagramas de
Clases
Anlisis
Diagramas de
Objetos
Modelo de
Diseo
Modelo de
Despliegue
Diagramas de
Secuencia
Diagramas de
Colaboracin
Diagramas de
Interaccin
Diagramas de
Estados
Modelo de
Implementacin
Diagramas de
Actividad
Modelo de
Diagramas de
Componentes
Pruebas
Diagramas de
Despliegue
10 - www.kybele.es
Diseo
Artefactos
Modelos de Anlisis
Modelos de Diseo
Diagrama de Clases
de Dominio
Diagrama de
Componentes
Diagrama de
Casos de Uso
Diagrama de
Despliegue
Descripcin de
Casos de Uso
Diagrama de Clases
de Diseo
Diagramas de
Colaboracin
Diagramas de Interaccin
(Secuencia)
Diagramas de
Actividad
Diagramas de Transicin de
Estados de Diseo
Diagramas de Transicin
de Estados
Diagramas de
Subsistemas
11
Diseo
Artefactos
Modelo de diseo
Diagramas de secuencia
Es un diagrama de interaccin que define cmo se lleva a cabo y se
ejecuta un caso de uso en trminos de objetos de diseo
Para flujos de eventos principales y caminos alternativos
Diagramas de clases de diseo
Descripciones textuales de las clases
Diagramas de transicin de estados para el comportamiento
Modelo de despliegue
Diagramas de despliegue: distribucin fsica del sistema en nodos
de computo
12 - www.kybele.es
Diseo
Artefactos
Modelo de diseo
Describe la realizacion fsica de los casos de uso en el dominio de la
solucin
Cmo soportar requisitos funcionales/no funcionales y otras restricciones
en el entorno de implementacin
Entrada fundamental para actividades de implementacin
*
Modelo de diseo
Subsistemas de diseo
Interfaz
Clases de diseo
Anlisis y Diseo Orientado a Objetos
*
*
Realizacin
en diseo
13 - www.kybele.es
Diseo
Artefactos
Clases de diseo
Una clase de diseo es una abstraccin de una clase de
implementacin
Las operaciones, atributos, tipos, visibilidad (public, protected, private,
etc...), se pueden especifican con la sintaxis del lenguaje elegido para la
implementacin
Las relaciones entre clases de diseo se traducen de manera directa al
lenguaje:
Generalizacin herencia
Asociaciones, agregaciones atributos
14 - www.kybele.es
Diseo
Artefactos
Cuenta
opera
Transaccin
cuenta : Cuenta
cantidad: Dinero
saldo : Dinero
limiteDiario: Dinero = 300
1..2
reintegro(cantidad : Dinero) : Boolean
ingreso(cantidad : Dinero) : Boolean
15 - www.kybele.es
Diseo
Artefactos
Modelo de anlisis
Modelo de diseo
<<trace>>
Realizacin en anlisis
Realizacin en diseo
16 - www.kybele.es
Diseo
Artefactos
Transaccin
Interfaz
del cajero
Dispositivo
de visualizacin
Expendedor
Dinero
MODELO DE DISEO
Anlisis y Diseo Orientado a Objetos
Cuenta
Recogedor
Dinero
Teclado
..
Cuenta
Lector de
Tarjetas
Gestor
de Cliente
Gestor
de Transacciones
Gestor
de Cuentas
17 - www.kybele.es
Diseo
Artefactos
Realizacin en diseo
(from Use Case View)
participante
Clase de
diseo
participante
Subsistema de
diseo
18
18 - www.kybele.es
Diseo
Artefactos
Diagramas de clase
Una clase de diseo (y sus objetos) puede participar en varias
Cliente
Gestor
de Transacciones
Gestor
de Cliente
Teclado
Expendedor
Dinero
Gestor
de Cuentas
Cuenta
19 - www.kybele.es
Diseo
Artefactos
Diagramas de interaccin
La secuencia de acciones en un caso de uso comienza cuando
proporcionan
20 - www.kybele.es
Diseo
Artefactos
Diagrama de Secuencia
Tipos de Acciones:
Llamada: Invoca una operacin sobre un objeto. Un objeto puede
llamarse a si mismo, lo que da lugar a una invocacin local
Retorno: Devuelve un valor al invocador
Envo: Enva una seal a un objeto.
Creacin: Crea un objeto
Destruccin: Destruye un objeto. Un objeto puede suicidarse al
destruirse a si mismo.
objeto destinatario
Despus de enviar la seal, el objeto destinatario contina con su
propia ejecucin.
Anlisis y Diseo Orientado a Objetos
21 - www.kybele.es
Diseo
Artefactos
Diagrama de Secuencia
creacin
c:Cliente
a : AyudaPlanificacin
<<create>>
: AgenteBilletes
llamada
llamada
local
establecerItinerario(i)
retorno
Lnea
de vida
calcularRuta()
ruta
Barra de
activacin
<<destroy>>
destruccin
notificar()
envo
22 - www.kybele.es
Diseo
Artefactos
Diagrama de Secuencia
Nombre
Descripcin
Alt
opt
loop
sd
23 - www.kybele.es
Diseo
Artefactos
24 - www.kybele.es
Diseo
Artefactos
:Cliente
del Banco
:Lector de
Tarjetas
:Dispositivo
de visualizacin
:Teclado
:Gestor
de Cliente
:Expendedor
Dinero
:Gestor
de Transacciones
1: Introducir
tarjeta
2: Tarjeta introducida (ID)
3: Solicitar PIN
4: Mostrar peticin
5: Especificar cdigo PIN
6: Cdigo PIN (PIN)
7: Solicitar Validacin de PIN (PIN)
25 - www.kybele.es
Diseo
Artefactos
Flujo de eventos
Para clarificar los diagramas de secuencia: descripcin textual
Debe redactarse en trminos de objetos o de subsistemas
No debe mencionar ni los atributos, operaciones o asociaciones entre objetos
Requisitos de implementacin
Requisitos a gestionar en implementacin
Quizs durante esta fase de diseo se obtengan algunos nuevos
Se capturan en la fase de diseo, pero se gestionan en la implementacin
26 - www.kybele.es
Diseo
Artefactos
Subsistemas de diseo
Para organizar los artefactos de diseo: clases de diseo, realizacin de
Proporciona 1
*
Subsistemas de diseo
Interfaz
Clases de diseo
Realizacin
en diseo
27 - www.kybele.es
Diseo
Artefactos
28 - www.kybele.es
Diseo
Artefactos
Diagrama de Paquetes
Nombre simple estereotipado
subsystem
Cliente
Paquete
contenedor
+Formulario de Pedido
-Seguimiento
import
Importaciones
subsystem
Polticas
Nombre del
paquete
import
+Reglas de Pedidos
-GUI::Ventana
subsystem
GUI
+Formulario
+Ventana
#GestorEventos
Sensores::Vision
Exportaciones
Nombre calificado
Anlisis y Diseo Orientado a Objetos
29 - www.kybele.es
Diseo
Artefactos
Interfaces
Los interfaces se utilizan para especificar las operaciones de las clases y los
subsistemas de diseo
Las clases de diseo soportan las operaciones de su interfaz mediante mtodos.
Los subsistemas de diseo soportan las operaciones de su interfaz mediante las
clases de diseo (o subsistemas) que contiene.
realiza
*
Interfaz
Clases de diseo
*
realiza
Subsistemas de diseo
30 - www.kybele.es
Diseo
Artefactos
Interfaces
Definen una lnea entre la especificacin de lo que una
31 - www.kybele.es
Diseo
Artefactos
Representacin de Interfaces
Interfaz proporcionada
Rastreador de Objetivo
Observador
Interfaz requerida
Objetivo
Observador
Definicin de Interfaz
Rastreador de Objetivo
Realizacin
(dependencia proporcionada)
Anlisis y Diseo Orientado a Objetos
interface
Observador
uses
Objetivo
Uso
(dependencia requerida)
32 - www.kybele.es
Diseo
Artefactos
Modelo de Despliegue
Modelo de objetos que describen la distribucin fsica del sistema de acuerdo a la
Modelo de
despliegue
Anlisis y Diseo Orientado a Objetos
Nodo
33 - www.kybele.es
Diseo
Artefactos
Diagramas de despliegue :
Se utilizan para modelar los aspectos fsicos de los sistemas orientados a objetos
Muestra la configuracin de nodos que participan en la ejecucin y de los componentes que
residen en ellos
Contienen:
Nodos
Relaciones de dependencia y asociacin
Notas y restricciones
Componentes que residen en algn nodo
Multiplicidades explcitas
clientes
Nodos
estereotipados
Anlisis y Diseo Orientado a Objetos
servidores
Diseo
Artefactos
35 - www.kybele.es
Diseo
Ejemplo
Sacar dinero
<<include>>
Cliente
del banco
Ingresar dinero
<<include>>
Validar usuario
<<include>>
Transferencia
36 - www.kybele.es
Diseo
Actividades
37 - www.kybele.es
Diseo
Actividades
Determina:
Patrones Arquitectnicos
Modelo de Capas
Modelo de Niveles
Modelos Orientados a Servicios
Preguntas a resolver:
Todos los actores del caso de uso interactuarn con el sistema en el mismo sitio
fsico?
Qu requerimientos de computacin necesito en cada nodo?
Qu tipo de conexiones o red existe entre los nodos?
Qu protocolos manejan?
Cules son sus caractersticas?
Tengo requisitos del tipo Copias Redundantes para caso de fallos?
Copia de seguridad de BBDD?
Anlisis y Diseo Orientado a Objetos
38 - www.kybele.es
Diseo
Actividades
IU
IU
Lgica de Negocio
Acceso a Datos
IU
BD
Internet
IU
Servidor Web
intranet
intranet
Servidor
Ventas
Servidor
Compras
39 - www.kybele.es
Diseo
Actividades
40 - www.kybele.es
Diseo
Actividades
Persistencia
Distribucin
Seguridad
Transacciones
41 - www.kybele.es
Diseo
Actividades
en el caso de uso.
Identificar Clases Activas: se deben considerar los requerimientos de concurrencia
en el sistema como por ejemplo:
Requerimientos de disponibilidad y performance que los distintos actores
tienen al interactuar con el Sistema.
La distribucin del Sistema sobre nodos. Los objetos activos deben
distribuirse en distintos nodos, los cuales podran requerir al menos un
objeto activo por cada nodo y un objeto activo separado para manejar la
comunicacin entre los mismos. y
42 - www.kybele.es
Diseo
Actividades
Identificar
clases
Especiales
persistente
43 - www.kybele.es
Diseo
Actividades
Persistencia
Consiste en preservar de forma permanente los
objetos.
Almacenamiento en BD
BD Relacional
BD Objetos
Almacenamiento en Ficheros
Binario
XML
Otros
Anlisis y Diseo Orientado a Objetos
44 - www.kybele.es
Diseo
Actividades
Validar usuario
Realizacin en diseo
LectorDeTarjetas
GestorDeCliente
UsuariosDelBanco
Pantalla
Teclado
Transaccin
45 - www.kybele.es
Diseo
Actividades
46 - www.kybele.es
Diseo
Actividades
: Pantalla
1: introducirTarjeta
: Teclado
: GestorDeCliente
: Transaccin
: UsuariosDelBanco
2: datosTarjeta (datos)
3: visualizar (Introducir PIN)
4: OK
5: introducirPIN (PIN)
6: datosPIN (PIN)
7: autentica (datos, PIN)
8: valida (datos, PIN)
9: OK
10: almacenaDatos (datos)
12: visualizar (opciones)
47 - www.kybele.es
Diseo
Actividades
:LectorDeTarjetas
: Pantalla
1: introducirTarjeta
: Teclado
: GestorDeCliente
: Transaccin
: UsuariosDelBanco
2: datosTarjeta (datos)
3: visualizar (Introducir PIN)
4: OK
5: introducirPIN (PIN)
6: datosPIN (PIN)
7: autentica (datos, PIN)
8: valida (datos, PIN)
9: error
48 - www.kybele.es
Diseo
Actividades
Sacar dinero
Pantalla
Realizacin en diseo
Cuenta
Teclado
Expendedor
Dinero
Transaccin
Cuentas
GestorDeCliente
49 - www.kybele.es
Diseo
Actividades
: Transaccin
: Cuentas
2: ingreso (importe)
: Cuenta
50 - www.kybele.es
Diseo
Actividades
UsuariosDelBanco
1..n
posee
autentica
1..n
opera
1..2
Cliente del banco
Interfaz de cajero
Transaccin
Cuentas
Cuenta
Anlisis y Diseo Orientado a Objetos
51 - www.kybele.es
Diseo
Actividades
: Teclado
: Pantalla
: ExpDinero
: Impresora
: Cuenta
2: sacarDinero
3: visualizar (Teclee importe)
4: IntroducirImporte
5: importe
6: retirarDinero (importe)
52 - www.kybele.es
Diseo
Actividades
: Teclado
: Pantalla
: ExpDinero
: Impresora
: Cuenta
2: sacarDinero
3: visualizar (Teclee importe)
4: IntroducirImporte
5: importe
6: retirarDinero (importe)
7: reintegro (cuenta, importe)
8: reintegro (importe)
9: no hay saldo
10: no hay saldo
11: no hay saldo
13: visualizar
(No dispone de saldo suficiente)
15: visualizar (Retire su dinero)
Falta:
- se ha superado el lmite diario
- en el cajero no hay dinero
Anlisis y Diseo Orientado a Objetos
53 - www.kybele.es
Diseo
Actividades
UsuariosDelBanco
Impresora
LectorDeTarjetas
GestorDeCliente
Transaccin
Pantalla
Cuentas
Teclado
ExpDinero
Cuenta
54 - www.kybele.es
Diseo
Actividades
casos de uso)
Identificar:
operaciones
atributos
relaciones en las que participa
estados (diagramas de estados)
mtodos que soportan sus operaciones
requisitos nuevos
55 - www.kybele.es
Diseo
Actividades
Identificar atributos
Describirlos en el lenguaje de programacin
Considerar los atributos de las clases de anlisis de las que se derivan
56 - www.kybele.es
Diseo
Actividades
Describir estados
Algunos objetos reaccionan en funcin de su estado actual
Utilizar diagramas de transicin de estados
57 - www.kybele.es
Diseo
Actividades
LectorDeTarjetas
crearLector() : LectorDeTarjetas
leerTarjeta() : datosTarjeta
Teclado
crearTeclado() : Teclado
leerPIN() : unPIN
leerOpcion() : unaOpcion
leerCantidad() : Dinero
leerNumCuenta() : unIDCuenta
GestorDeCliente
crear() : GestorDeCliente
iniciarSesion()
Impresora
crearImpresora() : Impresora
imprimir(mensaje : String)
ExpendedorDinero
crear() : ExpendedorDinero
expulsar(importe : Dinero)
RecogedorDinero
crearCajon() : CajonDinero
abrirCajon()
cerrarCajon()
contarCantidad() : Dinero
58 - www.kybele.es
Diseo
Actividades
GestorDeCliente
miTransaccion : Transaccin
crear() : GestorDeCliente
iniciarSesion()
almacenarDatos(datos : DatosTarjeta)
visualizar(resultados : String)
validar(importe : Dinero, cantidad : Dinero)
autenticar(datos : DatosTarjeta, PIN : UnPIN) : Boolean
retirarDinero(importe : Dinero) : Boolean
ingresarDinero(importe : Dinero) : Boolean
trasnsferencia(cuentaOrigen : Cuenta, cuentaDestino : Cuenta, importe : Dinero) : Boolean
Cuentas
cuentas : Dictionary
UsuariosDelBanco
usuarios : Dictionary
Cuenta
datos : DatosCuenta
limiteDiario : Dinero = 300
reintegro(importe : Dinero) : Boolean
ingreso(importe : Dinero) : Boolean
59 - www.kybele.es
Diseo
Actividades
Cajero Automtico
60 - www.kybele.es
Diseo
Actividades
[ > 3 intentos ]
Validando
PIN
[ incorrecto ]
[ correcto ]
ingreso( importe )
Esperando
opcin
transferencia( cuenta, importe )
reintegro (importe )
Ingresando
Transferencia
Reintegrando
[ Not OK ]
[ OK ]
Expulsando
dinero
dinero retirado
Expulsar
tarjeta
61 - www.kybele.es
Diseo
Actividades
acoplados
Intentar que las clases dentro de los subsistemas tengan una
alta cohesin
Describir las dependencias entre los subsistemas
Determinar qu clases de unos subsistemas interactan con
qu otras clases de otros subsistemas
Asegurarse que el subsistema soporta sus interfaces
Objetivos:
Subsistemas independientes
Garantizar correccin de interfaces
Garantizar la realizacin de dichas interfaces
Anlisis y Diseo Orientado a Objetos
62 - www.kybele.es
Diseo
Actividades
Identificacin de Subsistemas
Capa especfica de aplicacin
Gestin de
facturas del
comprador
Gestin de
cuentas
Capa Intermedia
Java.applet
Funciones especficas
de aplicacin
Funcionalidades
compartidas
MIddlewares
Java.awt
Java.rmi
Mquina
virtual de
Java
Navegador
de Internet
Sistemas operativos,
SGBD, Sw de
comunicaciones, kits GUI,
gestin transacciones
Protocolos
63 - www.kybele.es
Diseo
Actividades
Cajero Automtico
Diagrama de Subsistemas
Servidor Central
Cajero Automtico
Intranet
Interfaz de
Usuario
Controlador
de
Peticiones
Bases de
Datos
Paquete superior::Cliente
64 - www.kybele.es
Diseo
Ejemplo
Ingresar dinero
Realizacin en diseo
Pantalla
Teclado
Cuenta
RecogedorDinero
Transaccin
Cuentas
GestorDeCliente
65 - www.kybele.es
Diseo
Ejemplo
: Pantalla
: Recogedor
Dinero
: GestorDeCliente
: Transaccin
: Cuentas
: Cuenta
2: ingresarDinero
3: visualizar (Teclee importe)
4: IntroducirImporte
5: importe
6: visualizar (introducir dinero)
7: abrirCajon
8: IntroduceDinero
9: ContarDinero (cantidad)
10: validar (importe, cantidad)
15: OK
66 - www.kybele.es
Diseo
Ejemplo
: Teclado
: Recogedor
Dinero
: Pantalla
:GestorDeCliente
2: ingresarDinero
3: visualizar (Teclee importe)
4: IntroducirImporte
5: importe
9: dinero (cantidad)
10: validar (importe, cantidad)
11: visualizar (Cantidad errnea)
12: visualizar (Retire su dinero)
13: abrirCajon
14: dineroRecogido
15: recogido
16: cerrarCajon
17: visualizar (Retire su tarjeta)
67 - www.kybele.es
Diseo
Ejemplo
Refinando el c. u. Transferencia:
Transferencia
Realizacin en diseo,
transferencia
Teclado
Cuenta
Transaccin
Pantalla
Cuentas
GestorDeCliente
68 - www.kybele.es
Diseo
Ejemplo
: Teclado
1: opcion (transferencia)
: Pantalla
: GestorDeCliente
: Transaccin
: Cuentas
: Cuenta
2: transferencia
3: visualizar (Teclee importe)
4: IntroducirImporte
5: importe
6: visualizar (Teclee cuenta destino)
7: cuentaDestino (cuenta)
8: cuentaDestino (cuenta)
9: transferencia (cuentaOrigen, cuentaDestino,importe)
10: reintegro (cuentaOrigen, importe)
11: reintegro (importe)
12: OK
13: OK
14: ingreso (cuentaDestino, importe)
15: ingreso (importe)
17: OK
16: OK
18: OK
19: visualizar (Transferencia realizada)
69 - www.kybele.es
Diseo
Ejemplo
: Teclado
1: opcion (transferencia)
: Pantalla
: GestorDeCliente
: Transaccin
: Cuentas
: Cuenta
2: transferencia
3: visualizar (Teclee importe)
4: IntroducirImporte
5: importe
6: visualizar (Teclee cuenta destino)
7: cuentaDestino (cuenta)
8: cuentaDestino (cuenta)
9: transferencia (cuentaOrigen, cuentaDestino,importe)
70 - www.kybele.es