Documento de Requerimientos
Documento de Requerimientos
Documento de Requerimientos
Un banco local pretende instalar una nueva mquina de cajero automtico (ATM), para permitir a los usuarios (es decir, los
clientes del banco) realizar transacciones financieras bsicas. Cada usuario solo puede tener una cuenta en el banco. Los usuarios
del ATM deben poder ver el saldo de su cuenta, retirar efectivo (es decir, sacar dinero de una cuenta) y depositar fondos (es decir,
meter dinero en una cuenta). La interfaz de usuario del cajero automtico contiene los siguientes componentes:
Una pantalla que muestra mensajes al usuario
Un teclado que recibe datos numricos de entrada del usuario
Un dispensador de efectivo que dispensa efectivo al usuario, y
Una ranura de depsito que recibe sobres para depsitos del usuario.
El dispensador de efectivo comienza cada da cargado con 500 billetes de $200.
El banco desea que usted desarrolle software para realizar las transacciones financieras que inicien los clientes a travs del ATM.
Posteriormente, el banco integrara el software con el hardware del ATM. El software debe encapsular la funcionalidad de los
dispositivos de hardware (por ejemplo: dispensador de efectivo, ranura para deposito) dentro de los componentes de software,
pero no necesita estar involucrado en la manera en que estos dispositivos ejecutan su tarea. El hardware del ATM no se ha
desarrollado aun, en vez de que usted escriba un software para ejecutarse en el ATM, deber desarrollar una primera versin del
software para que se ejecute en una computadora personal. Esta versin debe utilizar el monitor de la computadora para simular
la pantalla del ATM y el teclado de la computadora para simular el teclado numrico del ATM.
Una sesin con el ATM consiste en la autenticacin de un usuario (es decir, proporcionar la identidad del usuario) con base en un
nmero de cuenta y un numero de identificacin personal (NIP), seguida de la creacin y la ejecucin de transacciones financieras.
Para autenticar un usuario y realizar transacciones, el ATM debe interactuar con la base de datos de informacin sobre las cuentas
del banco (es decir, una coleccin organizada de datos almacenados en una computadora). Para cada cuenta de banco, la base de
datos almacena un nmero de cuenta, un NIP y un saldo que indica la cantidad de dinero en la cuenta. [Nota: asumiremos que el
banco planea construir solo un ATM, por lo que no necesitamos preocuparnos para que varios ATMs puedan acceder a esta base
de datos al mismo tiempo. Lo que es ms, supongamos que el banco no realizar modificaciones en la informacin que hay en la
base de datos mientras un usuario accede al ATM. Adems, cualquier sistema comercial como un ATM se topa con cuestiones de
seguridad con una complejidad razonable, las cuales van ms all del alcance de un curso de programacin de primer o segundo
semestre. No obstante, para simplificar nuestro ejemplo supondremos que el banco confa en el ATM para que acceda a la
informacin en la base de datos y la manipule sin necesidad de medidas de seguridad considerables].
Al acercarse al ATM (suponiendo que nadie lo est utilizando), el usuario deber experimentar la siguiente secuencia de eventos:
1. La pantalla muestra un mensaje de bienvenida y pide al usuario que introduzca un nmero de cuenta.
2. El usuario introduce un nmero de cuenta de cinco dgitos, mediante el uso del teclado.
3. En la pantalla aparece un mensaje, en el que se pide al usuario que introduzca su NIP (numero de identificacin
personal) asociado con el nmero de cuenta especificado.
4. El usuario introduce un NIP de cinco dgitos mediante el teclado numrico.
5. Si el usuario introduce un nmero de cuenta valido y el NIP correcto para esa cuenta, la pantalla muestra el men
principal. Si el usuario introduce un nmero de cuenta invalido o un NIP incorrecto, la pantalla muestra un mensaje
apropiado y despus el ATM regresa al paso 1 para reiniciar el proceso de autenticacin.
Una vez que el ATM autentica al usuario, el men principal debe contener una opcin numerada para cada uno de los tres tipos de
transacciones: solicitud de saldo (opcin 1), retiro (opcin 2) y deposito (opcin 3). El men principal tambin debe contener una
opcin para que el usuario pueda salir del sistema (opcin 4). Despus el usuario elegir si desea realizar una transaccin
(oprimiendo 1, 2 o 3) o salir del sistema (oprimiendo 4).
Si el usuario oprime 1 para solicitar su saldo, la pantalla mostrara el saldo de esa cuenta bancaria. Para ello, el ATM deber
obtener el saldo de la base de datos del banco.
Los siguientes pasos describen las acciones que ocurren cuando el usuario elige la opcin 2 para hacer un retiro:
1. La pantalla muestra un men (vea la fi gura) que contiene montos de retiro estndar: $200 (opcin 1), $400 (opcin 2),
$600 (opcin 3), $1000 (opcin 4) y $2000 (opcin 5). El men tambin contiene una opcin que permite al usuario
cancelar la transaccin (opcin 6).
2. El usuario introduce la seleccin del men mediante el teclado numrico.
3. Si el monto a retirar elegido es mayor que el saldo de la cuenta del usuario, la pantalla muestra un mensaje indicando
esta situacin y pide al usuario que seleccione un monto ms pequeo. Entonces el ATM regresa al paso 1. Si el monto
a retirar elegido es menor o igual que el saldo de la cuenta del usuario (es decir, un monto de retiro aceptable), el ATM
procede. Si el usuario opta por cancelar la transaccin (opcin 6), el ATM muestra el men principal y espera la entrada
del usuario.
4. Si el dispensador contiene suficiente efectivo para satisfacer la solicitud, el ATM procede a efectuar el retiro. En caso
contrario, la pantalla muestra un mensaje indicando el problema y pide al usuario que seleccione un monto de retiro
ms pequeo. Despus el ATM regresa al paso 1.
5. El ATM carga el monto de retiro al saldo de la cuenta del usuario en la base de datos del banco (es decir, resta el monto
de retiro al saldo de la cuenta del usuario).
6. El dispensador de efectivo entrega el monto deseado de dinero al usuario.
7. La pantalla muestra un mensaje para recordar al usuario que tome el dinero.
Los siguientes pasos describen las acciones que ocurren cuando el usuario elige la opcin 3 para hacer un deposito:
1. La pantalla muestra un mensaje que pide al usuario que introduzca un monto de depsito o que escriba 0 (cero) para
cancelar la transaccin.
2. El usuario introduce un monto de depsito mediante el teclado numrico. [Nota: el teclado no contiene un punto
decimal o signo de dlares, por lo que el usuario no puede escribir una cantidad real en dlares (por ejemplo, $1.25),
sino que debe escribir un monto de deposito en forma de numero de centavos (por ejemplo, 125). Despus, el ATM
divide este nmero entre 100 para obtener un numero que represente un monto en dlares (por ejemplo, 125 100 =
1.25)].
3. Si el usuario especifica un monto a depositar, el ATM procede a efectuar el depsito. Si elije cancelar la transaccin
(escribiendo 0), el ATM muestra el men principal y espera la entrada del usuario.
4. La pantalla muestra un mensaje indicando al usuario que introduzca un sobre de depsito en la ranura para depsitos.
5. Si la ranura de depsitos recibe un sobre dentro de un plazo de tiempo no mayor a 2 minutos, el ATM abona el monto
del depsito al saldo de la cuenta del usuario en la base de datos del banco (es decir, suma el monto del depsito al
saldo de la cuenta del usuario). [Nota: este dinero no est disponible de inmediato para retirarse. El banco debe
primero verificar fsicamente el monto de efectivo en el sobre de depsito, y cualquier cheque que este contenga debe
validarse (es decir, el dinero debe transferirse de la cuenta del emisor del cheque a la cuenta del beneficiario). Cuando
ocurra uno de estos eventos, el banco actualizara de manera apropiada el saldo del usuario que est almacenado en su
base de datos. Esto ocurre de manera independiente al sistema ATM]. Si la ranura de depsito no recibe un sobre
dentro de un plazo de tiempo no mayor a dos minutos, la pantalla muestra un mensaje indicando que el sistema
cancelo la transaccin debido a la inactividad. Despus el ATM muestra el men principal y espera la entrada del
usuario.
Una vez que el sistema ejecuta una transaccin en forma exitosa, debe volver a mostrar el men principal para que el usuario
pueda realizar transacciones adicionales. Si el usuario elije salir del sistema, la pantalla debe mostrar un mensaje de
agradecimiento y despus el mensaje de bienvenida para el siguiente usuario.
ANLISIS DEL SISTEMA DE ATM
Importancia de los requerimientos
Entrevistas con personal experto en los procesos a abordar
Requerimientos Tarea clave del ciclo de vida del software
Ciclo de vida del software especifica las etapas a travs de las cuales el software evoluciona desde el momento en que fue
concebido hasta que deja de utilizarse. Por lo general, estas etapas incluyen: anlisis, diseo, implementacin, prueba y
depuracin, despliegue, mantenimiento y retiro.
Modelos de ciclo de vida del software:
- Cascada realizan cada etapa una vez en sucesin.
- Iterativos pueden repetir una o ms etapas varias veces a lo largo del ciclo de vida de un producto.
Para capturar lo que debe hacer el sistema se emplea con frecuencia una tcnica conocida como Modelado de Casos de Uso.
DIAGRAMAS DE CASOS DE USO
Uno de los tipos de diagramas de UML que permitir modelar las interacciones entre los clientes de un sistema y sus casos de uso.
Componentes del diagrama:
1. Actor
2. valos Cada caso de uso
DISEO DEL SISTEMA ATM
Qu es un sistema?
Se debe definir la estructura y su comportamiento
El UML define 13 tipos de diagramas para documentar modelos de un sistema. Cada tipo de diagrama modela una caracterstica
distinta de la estructura o del comportamiento. Seis diagramas se relacionan con la estructura y 7 con el comportamiento.
Utilizados en el ejercicio:
1. Diagrama de Casos de uso: Modela las interacciones de un sistema y sus entidades externas
2. Diagrama de clases: Ayuda a especificar las relaciones estructurales entre las partes del sistema.
3. Diagrama de mquinas de estado: Modelan las formas en que el objeto cambia de estado.
4. Diagramas de actividad: Modelan la actividad de un objeto, flujo de trabajo del objeto durante la ejecucin de un
programa.
5. Diagramas de comunicacin: Modelan las interacciones entre los objetos de un sistema, con nfasis acerca de que
interacciones ocurren.
6. Diagramas de secuencia: Modelan las interacciones entre los objetos en un sistema, pero enfatizan cuando ocurren las
interacciones.
Hacer el programa que cumpla con el documento de requerimientos asuma que la base de datos est dada por variables y que
almacena informacin de 3 clientes.