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