es equivalente al tipo
boolean
en Java. Este atributo indica si el ATM autenticó con éxito al usuario actual o no;
usuarioAutenticado
debe ser
true
para que el sistema permita al usuario realizar transacciones y acceder a la
información de la cuenta. Este atributo nos ayuda a cerciorarnos de la seguridad de los datos en el sistema.
Las
clases
SolicitudSaldo
,
Retiro
y
Deposito
comparten un atributo. Cada transacción requiere un
“número de cuenta” que corresponde a la cuenta del usuario que realiza la transacción. Asignamos el atributo
entero
numeroCuenta
a cada clase de transacción para identifi car la cuenta a la que se aplica un objeto de la
clase.
Las palabras y frases descriptivas en el documento de requerimientos también sugieren ciertas diferencias en
los atributos requeridos por cada clase de transacción. El documento de requerimientos indica que para retirar
efectivo o depositar fondos, los usuarios deben introducir un “monto” específi co de dinero para retirar o depositar,
respectivamente. Por ende, asignamos a las clases
Retiro
y
Deposito
un atributo llamado
monto
para almacenar
el valor suministrado por el usuario. Los montos de dinero relacionados con un retiro y un depósito son carac-
terísticas que defi nen estas transacciones, que el sistema requiere para que se lleven a cabo. Sin embargo, la clase
SolicitudSaldo
no necesita datos adicionales para realizar su tarea; sólo requiere un número de cuenta para
indicar la cuenta cuyo saldo hay que obtener.
La
clase
Cuenta
tiene varios atributos. El documento de requerimientos establece que cada cuenta de banco
tiene un “número de cuenta” y un “NIP”, que el sistema utiliza para identifi car las cuentas y autentifi car a los
usuarios. A la clase
Cuenta
le asignamos dos atributos enteros:
numeroCuenta
y
nip
. El documento de requeri-
mientos también especifi ca que una cuenta debe mantener un “saldo” del monto de dinero que hay en la cuenta,
y que el dinero que el usuario deposita no estará disponible para su retiro sino hasta que el banco verifi que la can-
tidad de efectivo en el sobre de depósito y cualquier cheque que contenga. Sin embargo, una cuenta debe registrar
de todas formas el monto de dinero que deposita un usuario. Por lo tanto, decidimos que una cuenta debe repre-
sentar un saldo utilizando dos atributos:
saldoDisponible
y
saldoTotal
. El atributo
saldoDisponible
rastrea
el monto de dinero que un usuario puede retirar de la cuenta. El atributo
saldoTotal
se refi ere al monto total
de dinero que el usuario tiene “en depósito” (es decir, el monto de dinero disponible, más el monto de depósitos
en efectivo o la cantidad de cheques esperando a ser verifi cados). Por ejemplo, suponga que un usuario del ATM
deposita $50.00 en efectivo, en una cuenta vacía. El atributo
saldoTotal
se incrementaría a $50.00 para registrar
el depósito, pero el
saldoDisponible
permanecería en $0. [
Nota: estamos suponiendo que el banco actualiza el
atributo
saldoDisponible
de una
Cuenta
poco después de que se realiza la transacción del ATM, en respuesta a
la confi rmación de que se encontró un monto equivalente a $50.00 en efectivo o cheques en el sobre de depósito.
Asumimos que esta actualización se realiza a través de una transacción que realiza el empleado del banco mediante
Clase
Palabras y frases descriptivas
ATM
el usuario es autenticado
SolicitudSaldo
número de cuenta
Retiro
número de cuenta
monto
Deposito
número de cuenta
monto
BaseDatosBanco
[no hay palabras o frases descriptivas]
Cuenta
número de cuenta
NIP
saldo
Pantalla
[no hay palabras o frases descriptivas]
Teclado
[no hay palabras o frases descriptivas]
DispensadorEfectivo
empieza cada día cargado con 500 billetes de $20
RanuraDeposito
[no hay palabras o frases descriptivas]
Figura 4.23
| Palabras y frases descriptivas del documento de requerimientos
del ATM.
4.15 (Opcional) Ejemplo práctico de Ingeniería de Software: identifi cación de los atributos de las clases
147
04_MAQ_CAP_04.indd147
4/19/081:20:50AM