Beruflich Dokumente
Kultur Dokumente
Diagrama de Clases
Ejemplo de Análisis Orientado a Objetos
ATMs
Se desea diseñar el software necesario para una red bancaria provista de
cajeros automáticos (ATMs), que serán compartidos por un consorcio de
bancos. Cada banco dispone de una serie de servidores, provistos de
software propio, que llevan la información sobre sus cuentas y procesa
las transacciones que actúan sobre dichas cuentas. A estos servidores
están conectados las estaciones de cajero, que son propiedad del banco
y en las que operan cajeros humanos, que pueden crear cuentas e
introducir transacciones sobre ellas.
3
Modelo de Objetos
Identificar Objetos y Clases
Separar atributos
Los atributos definen datos asociados a un objeto, en lugar
de objetos (un atributo objeto se representa mediante una
relación).
En el ejemplo, pueden considerarse atributos Información sobre
la cuenta, (atributo de Cuenta bancaria), Dinero en efectivo y
Recibo (atributos de Cajero automático), que pasan a ser clases
eliminadas.
Separar métodos
Observación: algunos nombres (por ejemplo, Llamada telefónica)
definen realmente operaciones o eventos.
Eliminar objetos de diseño
Todas las clases que corresponden más a la solución del
problema que a la situación real, deben considerarse objetos de
diseño y eliminarse en la fase del análisis.
20
comunicaciones, Acceso a la cuenta
En el ejemplo, eliminaremos y Software.
Registro de transacciones, Línea
de
Modelo de Objetos
Identificar Objetos y Clases
Ordenador
Central Cajero
Servidor del
Banco Humano
AT
M
Estaciones Transacción
del de Cajero
Cajero
Transacción
Remota Tarjeta de
Crédito
10
Modelo de Objetos
Diccionario de Clases
16
Identificar y Depurar Relaciones
Eliminar relaciones redundantes o derivadas
Por ejemplo, la relación número 2 es una combinación de las relaciones
número 15 y 26. Hay que tener cuidado, sin embargo, de no eliminar
relaciones aparentemente redundantes, pero que en realidad son
necesarias. Las redundantes por ejemplo son las que se derivan de la
propiedad transitiva para relaciones.
Añadir relaciones olvidadas. Por ejemplo:
30. Los Clientes tienen Cuentas.
31. Las Transacciones son autorizadas por la Tarjeta de crédito.
32. Las Transacciones pueden introducirse en una Estación de cajero.
Definir la multiplicidad de cada asociación
Un Banco puede contener muchas Cuentas.
Un Cliente puede tener muchas Cuentas.
Un Cliente puede tener muchas Tarjetas de crédito.
Un Banco emplea muchos Cajeros.
Un Banco tiene un solo Ordenador del banco.
El Ordenador central se comunica con muchos Ordenadores del
banco.
29
.
Modelo de Objetos
Diagrama de Clases inicial
0..* 1 gestion 0..* 0.. 1
Consorcio * Banco Cuenta Cliente
1 tiene
1 1 1 1 1 1
posee posee trabaja 1
1 1 en 0..*
tiene
Ordenador 1 0..*
Central se comunica Banco Humano
con 1 tiene
1 1
se comunica posee introducida
se comunica por accede
con con
0. 0..* 0..* 0..* a
0..* .*
Estaciones 1 0..* Transacción
AT del introducida de Cajero
M Cajero en
1
realizada en
0..* tiene 0..* 0..*
0..*
Transacción Tarjeta de
Remota 0..* autorizada por 1 Crédito
30
Identificar Atributos de Objetos y Relaciones
tiene
1 0..* Servidor del Cajero
se comunica Banco Humano
con tiene
0..* 1 nombre
se comunica posee
AT 1 accede
con introducida
M 0. 0..* por 0..* 0..* a
disponible
.*
Estaciones 1 0..*Transacción
entregado
1 del introducida de Cajero
realizada en Cajero en
0..* tipo
fecha_hora 0..* 0..*
Transacción cantidad
tiene Tarjeta de
Remota 0..*
Crédito
tipo autorizada por clave 33
fecha_hora
0..* 1 codigo tajeta
cantidad
Añadir Herencia
Introducimos clases nuevas (quizá abstractas) que
contienen información común a dos o más clases
preexistentes.
En el ejemplo:
La clase Estación de entrada será superclase de
Cae
j roautomático y de Estación de cajero.
La clase Transacción será superclase de Transacción
de cajero y de Transacción remota.
Podrían refinarse los tipos de cuentas 34
Modelo de Objetos
Diagrama de Clases, herencia
1 gestiona 0..* tiene
Consorcio Banco Cuenta 1
Cliente
0..* 0..*
1 nombre
posee nombre saldo
dirección
1 1
1 1 limite 1
posee trabaja
Ordenador 1 se comunica tipo
con 1 en 0..* 1 1
Central
1 0..* Servidor del Cajero
se comunica Banco Humano
con tiene
0..* 1 nombre
posee
se comunica
ATM con introducida 1 accede
0..*
introducida
por 0..* a
disponible 0..*
1 0.. * Transacción
entregado Estacion de Estaciones
de Cajero
en
Entrada del
Cajero
0..* 0..*
1 0..* tiene 0..* tiene
Transacción Tarjeta de
realizada en
tipo Crédito
Transacción fecha_hora clave
Remota cantidad codigo tarjeta
35
0..* 1
autorizada por