public void retirarAhorro (int valor)

Anuncio
UNIVERSIDAD DISTRITAL “FRANCISCO JOSÉ DE CALDAS”
MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES
CURSO NIVELATORIO INGENIERÍA DE SOFTWARE
TAREA 1
Problema: Un banco quiere crear un programa para manejar sus cajeros automáticos. Dicho
programa solo debe permitir retirar dinero y consultar el saldo de una cuenta. Identifique y
discuta los aspectos que constituyen el problema. Si el enunciado no es explicito con respecto
a algún punto, intente imaginar la manera de completarlo.
Cliente
Usuario
Requerimiento
Funcional
Mundo del Problema
Requerimiento No
Funcional
Banco
Banco
R1. Un usuario podrá retirar dinero del cajero.
R2. Un usuario podrá consultar el saldo de una cuenta.
Es necesario que exista un mecanismo de autenticación del
usuario que desee hacer uso del cajero para cualquiera de las
operaciones que están disponibles. A su vez un usuario tendrá
asociada una cuenta de la cual se efectuara el retiro o
consultara el saldo.
El programa deberá funcionar en todos los tipos de cajeros
que posea el banco.
TAREA 2
Problema: Para el caso de estudio 2, un simulador bancario, identifique y especifique tres
requerimientos funcionales.
Nombre
Resumen
Requerimiento Entradas
Funcional 1
Resultado
Nombre
Resumen
Entradas
Requerimiento
Funcional 2
Resultado
Ingresar la información del usuario.
Permite al usuario ingresar los datos del
cliente.
Nombre del Cliente
Cedula del Cliente
Mes de simulación
Se muestra el saldo en la cuenta corriente,
cuenta de ahorros, CDT y el saldo total,
mostrando los correspondientes intereses
aplicados.
Abrir un nuevo CDT
Permite al usuario abrir un nuevo CDT
Nombre del Cliente
Cedula del Cliente
Dinero a depositar
Interés pactado
Tiempo del CDT
Se abre un nuevo CDT y se actualiza la
información del usuario en los apartados
Saldo CDT y Saldo Total.
Diego Fabián Pajarito Grajales – cód. 20091295013
UNIVERSIDAD DISTRITAL “FRANCISCO JOSÉ DE CALDAS”
MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES
CURSO NIVELATORIO INGENIERÍA DE SOFTWARE
Requerimiento
Funcional 3
Nombre
Resumen
Entradas
Resultado
Cerrar CDT
Permite al usuario abrir un nuevo CDT
Nombre del Cliente
Cedula del Cliente
Se actualiza el valor del Saldo CDT a cero y se
traspasa el saldo y sus intereses al Saldo de la
cuenta corriente.
TAREA 3
Para el caso de estudio 3, un programa para manejar un triangulo, identifique y especifique
tres requerimientos funcionales.
Nombre
Resumen
Requerimiento
Funcional 1
Entradas
Resultado
Nombre
Resumen
Requerimiento
Funcional 2
Entradas
Resultado
Nombre
Resumen
Requerimiento
Entradas
Funcional 3
Resultado
Cambiar color de las líneas
Permite ingresar valores de RGB para el color de las
líneas.
Valor del Rojo
Valor del Verde
Valor del Azul
Cambia el color de las líneas para un triangulo al
valor RGB dado.
Cambiar color del relleno
Permite ingresar valores de RGB para el color del
relleno.
Valor del Rojo
Valor del Verde
Valor del Azul
Cambia el color del relleno para un triangulo al valor
RGB dado.
Calcular el perímetro de un triangulo
Muestra el perímetro de un triangulo dado
Coordenada X
Coordenada Y
Se muestra el valor del perímetro calculado
Tarea 4
Identificar las entidades del mundo real para el caso de estudio 3, un programa que maneje un
triangulo.

Entidad Triangulo
Diego Fabián Pajarito Grajales – cód. 20091295013
UNIVERSIDAD DISTRITAL “FRANCISCO JOSÉ DE CALDAS”
MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES
CURSO NIVELATORIO INGENIERÍA DE SOFTWARE

Entidad Punto
¿Qué pasa si no identificamos bien las entidades del mundo?
Si no identificamos bien las entidades, podríamos entrar a delegar las funciones de estas a
otras entidades y permitiendo que nuestro modelamiento no sea optimo.
¿Como decidir si se trata efectivamente de una entidad y no solo de una característica de
una entidad ya identificada?
No existe ningún método milagroso que pueda sustituir la experiencia y destreza del
propio desarrollador de la aplicación. Hay que analizar muy bien el mundo del problema
buscando esas ideas candidatas a convertirse en entidades, y posteriormente en clases.
Tarea 5
Para cada una de las 5 entidades identificadas en el caso de estudio identificadas en el caso de
estudio del simulador bancario, identifique los atributos, sus valores posibles, y escriba a clase
UML.
class Simulador Bancario
-
cedulaCliente: String
-
nombreCliente: String
-
saldoCuenta: int
CDT




cuentaAhorros
cuentaCorriente
cuentaBancaria
-
interes: double
-
valor: int
-
interes: double
-
saldoCuenta: int
Mes
-
numeroMes: int
cuentaBancaria
 nombreCliente : Cadena de Caracteres
 cedulaCliente : Cadena de Caracteres
cuentaCorriente
 saldoCuenta : Numero entero
cuentaAhorros
 saldoCuenta : Numero entero
 interes : Numero con decimales igual a 0,006
CDT
 Valor : Numero entero
Diego Fabián Pajarito Grajales – cód. 20091295013
UNIVERSIDAD DISTRITAL “FRANCISCO JOSÉ DE CALDAS”
MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES
CURSO NIVELATORIO INGENIERÍA DE SOFTWARE

 interes : Numero con decimales
mes
 mes : Numero entero entre 1 y 12
Tarea 6
Los algoritmos están hechos para que no importa quién lo lea, siempre se ejecute una rutina
de la misma forma. Cuando un algoritmo está bien construido, elimina las ambigüedades. Al
leer el algoritmo para usar el metro, este no me pareció ambiguo y tampoco que estuviera
incompleto.
Tarea 8
Escriba en Java y en UML las declaraciones de los atributos (y las asociaciones) para las 5
entidades del caso de estudio del simulador bancario.
class Simulador Bancario
cuentaAhorros
cuentaCorriente
cuentaBancaria
-
cedulaCliente: String
-
nombreCliente: String
-
saldoCuenta: int
CDT
-
interes: double
-
valor: int
-
interes: double
-
saldoCuenta: int
Mes
-
numeroMes: int
public class cuentaBancaria {
private String nombreCliente;
private String cedulaCliente;
public cuentaAhorros ahorros;
public cuentaCorriente corriente;
public CDT inversion;
public Mes mesActual;
}
public class cuentaAhorros {
private double saldoCuenta;
private double interes;
}
public class cuentaCorriente {
private double saldoCuenta;
}
public class CDT {
private int valor;
private double interes;
public Mes mesApertura;
}
public class Mes {
Diego Fabián Pajarito Grajales – cód. 20091295013
UNIVERSIDAD DISTRITAL “FRANCISCO JOSÉ DE CALDAS”
MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES
CURSO NIVELATORIO INGENIERÍA DE SOFTWARE
private int numeroMes;
}
Tarea 9
Complete la información, ya sea escribiendo la signatura del método que se describe, o
interpretando la signatura que se da. Todos de esta tarea son de la clase CuentaAhorros.
consignarValor
Valor de tipo entero, que indica el
valor que se va a consignar.
Ninguno
Aumenta el valor del saldo de la
cuenta en el valor que se
consigno
public void consignarValor (int valor)
{
Nombre
Parámetros
Retorno
Descripción
darSaldo
Ninguno
Valor de tipo entero
Retorna el saldo de la cuenta de
ahorros
public int darSaldo ()
{
Nombre
Parámetros
Retorno
Descripción
retirarValor
Ninguno
Valor de tipo entero
Retorna el saldo de la cuenta de
ahorros
public void retirarValor (int valor)
{
Nombre
Parámetros
Retorno
Descripción
darInteresMensual
Ninguno
Valor de tipo real
Retorna el interés mensual que
paga una cuenta de ahorros
public int darInteresMensual ()
{
Nombre
Parámetros
Retorno
Descripción
actualizarSaldoPorPasoMes
Ninguno
Ninguno
Actualiza el saldo de a cuenta de
ahorros simulando que acaba de
transcurrir un mes y que se
deben agregar los
correspondientes intereses
ganados.
public void
actualizarSaldoPorPasoMes ()
{
Nombre
Parámetros
Retorno
Descripción
}
}
}
}
}
Diego Fabián Pajarito Grajales – cód. 20091295013
UNIVERSIDAD DISTRITAL “FRANCISCO JOSÉ DE CALDAS”
MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES
CURSO NIVELATORIO INGENIERÍA DE SOFTWARE
Tarea 10
Escribir el cuerpo de los métodos de la clase CuentaBancaria cuya signatura aparece a
continuación.
public void ahorrar (int valor){
corriente.retirarValor( valor );
ahorros.consignarValor( valor );
}
public void retirarAhorro (int valor){
ahorros.retirarValor(valor);
}
public int darSaldoCorriente (){
return corriente.darSaldo();
}
public void retirarTodo(){
ahorros.retirarTodo();
corriente.retirarTodo();
}
public void duplicarAhorro(){
int saldo = ahorros.darSaldo();
saldo *= 2;
ahorros.actualizarSaldo(saldo);
}
public void avanzarSimulacion(){
mesActual.avanzarMes();
ahorros.ActualizarSaldoPorPasoMes();
}
Diego Fabián Pajarito Grajales – cód. 20091295013
Descargar