Duda con ejercicio de Java

ElChache

Lanero Regular
3 Ene 2013
1
Hola, tengo que resolver un ejercicio en java para un curso.
No quiero que me lo resuelvan,solamente que me orienten de cómo comenzar, una vez escrita la clase.
El ejercicio es:
Se trata de desarrollar una aplicación Java en consola que permita gestionar una cuenta bancaria. Mediante un menú se podrán realizar determinas operaciones:

  1. Ver el número de cuenta completo (<acronym title="Código Cuenta Cliente.">CCC</acronym> - Código Cuenta Cliente).
  2. Ver el titular de la cuenta.
  3. Ver el código de la entidad.
  4. Ver el código de la oficina.
  5. Ver el número de la cuenta (solamente el número de cuenta, sin entidad, oficina ni dígitos de control).
  6. Ver los dígitos de control de la cuenta.
  7. Realizar un ingreso. Habrá que solicitar por teclado la cantidad que se desea ingresar.
  8. Retirar efectivo. Habrá que solicitar por teclado la cantidad que se desea retirar.
  9. Consultar saldo.
  10. Salir de la aplicación.
Antes de que aparezca este menú, el programa tendrá que solicitar al usuario los siguientes datos:

  • Nombre del titular de la cuenta (con un máximo de caracteres).
  • Código cuenta cliente (CCC) de la cuenta completo (entidad-oficina-dígitos de control-cuenta).
El programa deberá asegurarse que el CCC es válido mediante la comprobación de:

  • El formato (cuatro dígitos de entidad, cuatro dígitos de oficina, dos dígitos de control y diez dígitos de número de cuenta).
  • Los dígitos de control son válidos.
Además del programa principal de la aplicación (clase con una función main), habrá que escribir una clase CuentaBancaria que proporcione todas las herramientas necesarias para trabajar con este tipo de información:

  • Constructor (o constructores) adecuados.
  • Almacenamiento del nombre del titular (atributos).
  • Almacenamiento del código de cuenta (atributos).
  • Almacenamiento del saldo actual (atributos).
  • Gestión de ingresos y depósitos (métodos de interfaz pública).
  • Obtención del saldo (métodos de interfaz pública).
  • Obtención de información sobre la cuenta: número de la cuenta, entidad, oficina, titular, etc. (métodos de interfaz pública).
  • Aquellas herramientas auxiliares necesarias para poder trabajar cómodamente con el objeto. Algunas de esas herramientas podrán ser públicos y otras quizá no. Algunas podrán ser específicas de clase y otras podrán ser de objeto (métodos de objeto privados, métodos estáticos públicos, etc.).
 
Como comenzar con un proyecto:
- Entienda el problema, tenga bien claro lo que le piden.
Un análisis detallado y un diseño bien elaborado son la base, identifique los requerimientos funcionales y no funcionales, diseñe las clases que va a tener su aplicación, los atributos y métodos que se van implementar. El resto solo es código, por así decirlo. Luego de tener claro lo que voy a hacer y cómo, solo tiene que plasmar eso con el lenguaje.

Espero sirva de ayuda.
 
Lo que podría hacer es revisar los conceptos de Programación Orientada a Objetos, para poder hacer un diagrama de clases que se ajuste a los requerimientos que le da el enunciado. En este link puede encontrar un repaso breve de esos conceptos que puede ayudarle con este modelamiento:

http://sophia.javeriana.edu.co/~acarrillo/POO/Material/CursoPOOConceptosOO-parteI.pdf

En este caso no recomiendo gastar tiempo en la definición de requerimientos funcionales y no funcionales, dado que los funcionales están bien definidos en el enunciado y el único no funcional que se puede identificar a plena vista es el de interfaz externa (consola). Este análisis es útil en proyectos de mayor envergadura pero en este caso solamente serviría para perder tiempo.

Si necesita hacerlo de todas formas, aquí encontrará información útil al respecto sobre el significado y utilidad de estos requerimientos:

http://sistemas.uniandes.edu.co/~csof5101/dokuwiki/lib/exe/fetch.php?media=principal:csof5101-requerimientos.pdf

Finalmente recomiendo que haga uso de una arquitectura MVC, que puede permitirle modificar fácilmente los componentes en el futuro. Si yo fuera su profesor, le pediría que implementara nuevas partes del sistema a medida que avanza el curso, por eso esta arquitectura le será útil.

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

Un saludo!
 

Los últimos temas