Professional Documents
Culture Documents
POR
1
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
Contenido
CAPÍTULO I: INTRODUCCIÓN ....................................................................................... 4
1. OBJETIVO ............................................................................................................................... 4
2. JUSTIFICACIÓN ...................................................................................................................... 4
3. MARCO TEÓRICO .................................................................................................................. 4
4. ALCANCE................................................................................................................................ 4
2
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
3
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
CAPÍTULO I: INTRODUCCIÓN
1. OBJETIVO
2. JUSTIFICACIÓN
3. MARCO TEÓRICO
4. ALCANCE
La Página Web Oficial del Banco de la Nación nos provee de una herramienta de
simulación de Préstamos Personales para el Sector Público3, el cual nos permite
experimentar como si fuera un Sistema de Préstamo Real realizando el cronograma de
pagos correspondientes, calculando las cuotas, los intereses, las amortizaciones, tomando
en cuenta las tasas de interés propias del estado peruano.
1
E.J. Chikofsky y J.H. Cross, “Reverse Engineering and Design Recovery: A Taxonomy”, IEEE Software,
Vol. 7, No. 1, 1990, pp. 13-17.
2
P. Hall, Software Reuse and Reverse Engineering in Practice, London, England: Chapman & Hall, Ltd.,
1990.
3
URL : https://zonasegura1.bn.com.pe/simulador/
4
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
Activo:
4
Régimen público (Decreto Legislativo N° 276)
5
Régimen privado (Decreto Legislativo N° 728)
5
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
Pensionista:
TIPO DE CONVENIO
N° SECTOR LABORAL
Clásico Primera Vez Ampliación
1 Educación X X X
2 M° Interior X X X
3 Banco de la Nación X X X
4 ONP X X X
5 Minist. Defensa – FAP X X
6 Minist. Defensa – Marina X X X
7 Minist. Defensa – Ejército X X
8 Congreso X X X
9 Salud X X X
10 Despacho Presidencial X X X
11 Gobierno Regional X X
12 Universidades X X
13 Ministerios X X
14 Poder Judicial X X X
15 Otros X
16 Municipalidades
A: Clásico
6
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
C: Convenio Ampliación
Sí
Aceptar la Opción que permite al cliente acceder a periodos de gracia en los
meses de Abril y Diciembre, sin pago de amortización e interés.
No
Negar la Opción que permite al cliente acceder a periodos de gracia en los
meses de Abril y Diciembre, sin pago de amortización e interés.
Préstamo Clásico, hasta 48 meses con opción de elegir periodo de gracia en los meses
de abril y diciembre, sin pago de amortización e interés (El interés del periodo de
gracia se pagará al mes siguiente). A 60 meses sin periodo de gracia.
6
Los convenios que tiene el BN con las distintas Instituciones son: Maestro, Policías, BN, ONP, FAP,
Salud, Poder Judicial, Marina, Universidades, Gobiernos Regionales, Ejercito del Perú, y Ministerios.
7
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
Préstamo Convenio Ampliació, hasta 48 meses con opción de elegir periodo de gracia
en los meses de abril y diciembre, sin pago de amortización e interés (El interés del
periodo de gracia se pagará al mes siguiente).
Préstamo por primera vez, hasta 48 meses con opción de elegir periodo de gracia en
los meses de abril y diciembre. La elección del periodo de gracia, otorga las cuatro
primeras cuotas de gracia con pago de interés.
Suma total de las cuotas mensuales que se adeuda en el sistema financiero y se pagan
en el mismo mes.
Donde:
IP : Importe máximo de Préstamo Multired Clásico o Convenio.
8
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
DeudasSF : Pago mensual por deudas que mantiene el cliente en el resto del Sistema
Financiero.
W : Ingreso Promedio Mensual, abonado en Cuenta de Ahorros.
∑FA : Sumatoria de Factores de Actualización de la Cuota
Se debe considerar la opción de que el cliente elija si el préstamo es con o sin periodo
de gracia en los Préstamos clásicos y por Convenios a excepción de los préstamos a 60
meses.
Sí
No
9
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
10
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
Donde:
It : Interés en el periodo t
i tea: Tasa de interés efectiva anual, aplicable para un año de 360 días
n : Número de días transcurridos en el periodo t
S : Saldo pendiente de cobro en el periodo t-1
PMS = PS * (1 – SD – SCP)
DN = PMS - LPA
MACA = DN * (1 - ITF)
11
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
Es la tasa de interés que hace que el valor actual de todas las cuotas (monto del
principal e intereses) que el cliente deberá cancelar en la fecha de vencimiento de
acuerdo a las condiciones pactadas (no se efectúan pagos adicionales) sea igual al valor
del Préstamo menos Seguros.
Donde:
N : Número Total de meses
C : Cuota del Periodo “i” i
TCEA : Tasa de Costo Efectivo Anual
PMS : Préstamo menos Seguros
7
De acuerdo con el artículo 13° del Reglamento de Transparencia de Información y Disposiciones
Aplicables a la Contratación con Usuarios del Sistema Financiero, los simuladores de crédito, además de
otorgar un cronograma detallado de las cuotas a pagar, deben mostrar también la Tasa de Costo
Efectivo Anual (TCEA).
12
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
13
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
../images/pto.gif
4. wuTricks.css: Hoja de estilo usado exclusivamente para el diseño de los mensajes
de ayuda mostrados como cuadros flotantes al momento de poner el foco sobre
las cajas de texto requeridas para insertar algún dato.
5. active.js: Fichero javascript que contiene funciones para mostrar capas con
eventos "onFocus", "onBlur".
onFocus: detecta la entrada en un elemento de un formulario.
onBlur: se activa cuando el usuario retira el foco de la aplicación de un
elemento de la página.
6. bn_rad_ajax.js: Fichero javascript que contiene funciones para usar el objeto AJAX.
7. calendar_lang-es-pe.js: Fichero javascript que incluye el lenguaje en el que
presentara el calendario, en este caso español.
8. calendar_new-es-pe.js: Fichero javascript que incluye el lenguaje en el que
presentara el calendario, en este caso español.
9. calendar_setup_new-es-pe.js: Fichero javascript que carga el calendario y
configurar con los valores que deseemos.
10. formateoNumero.js: Fichero javascript que contiene funciones para validar el
ingreso de datos en campos numéricos.
11. imask-full.js: Fichero javascript que contiene mascaras para diferentes controles y
tipos de datos como fechas, números, monedas, etc.
12. mootools.js: En particular son para realizar un lightbox y un slider de imágenes.
13. valid.js: Valida que ingreso de datos sea correcto dependiendo de su estructura: si
es email, si es números, si es fecha, si está vacío, etc.
14. valor.js: Contiene diferentes funciones, entre ellos el evento ONKEYPRESS,
funciones para restringir los caracteres que se ingresan en una caja de texto,
funciones para operaciones con fechas y otros.
15. ic_calendar.gif: Ícono de calendario ubicada en la zona de Fecha de desembolso
del formulario principal.
16. logobn.gif: Logo del Banco de la Nación.
Mediante una minuciosa revisión del código fuente de los diferentes scripts obtenidos
en el proceso de recopilación de ficheros se ha captado referencias perdidas que no
han sido posible obtener los mediante la descarga del formulario web. Estas
referencias perdidas corresponden tanto a scripts como a ficheros tipo imágenes y
otros:
1. simuladorPerso.do
2. simulador/cronogramaPagos.do
3. ../images/fondo_cab.jpg
4. ../images/pto.gif
14
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
N° Referencias Importancia
1 simuladorPerso.do ALTA
2 simulador/cronogramaPagos.do ALTA
3 ../images/fondo_cab.jpg BAJA
4 ../images/pto.gif BAJA
Éste es el paso más importante en todo el proceso de ingeniería inversa del Formulario
de Simulación.
Después de haber estudiado la conducta del código fuente obtenido es preciso inducir
la funcionalidad de los ficheros con los que no contamos.
1. simuladorPerso.do
2. simulador/cronogramaPagos.do
9. ORGANIZACIÓN DE FICHEROS
Los ficheros siempre son referenciados mediante una ruta (PATH) dentro del código
fuente, mediante el cual se logró identificar la estructura general de referencias del
sistema de simulación:
15
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
1. css/print.css
2. css/wuTricks.css
3. herramientas/calendario2/base_2k8_es-es-pe.css
4. herramientas/calendario2/calendar_new-es-pe.js
5. herramientas/calendario2/calendar_lang-es-pe.js
6. herramientas/calendario2/calendar_setup_new-es-pe.js
7. js/active.js
8. js/bn_rad_ajax.js
9. js/mootools.r560.js
10. js/imask-full.js
11. js/formateoNumero.js
12. js/valid.js
13. js/valor.js
14. simuladorPerso.do
15. simulador/cronogramaPagos.do
16. images/logobn.gif
17. images/ic_calendar.gif
18. images/fondo_cab.jpg
19. images/pto.gif
css/
print.css
wuTricks.css
herramientas/
calendario2/
base_2k8_es-es-pe.css
calendar_new-es-pe.js
calendar_lang-es-pe.js
calendar_setup_new-es-pe.js
js/
active.js
bn_rad_ajax.js
mootools.r560.js
imask-full.js
formateoNumero.js
valid.js
valor.js
16
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
simulador/
cronogramaPagos.do
images/
logobn.gif
ic_calendar.gif
fondo_cab.jpg
pto.gif
simuladorPerso.do
inicio.htm
Al final existirán referencias a 3 formularios nuevos en PHP, los cuales serán producto
de sustituir los 2 ficheros de extensión *.do antes mencionado y realizar un mínimo
cambio sobre el formulario web inicial, al que también se le cambiará la extensión
*.htm por *.php.
css/
print.css
wuTricks.css
herramientas/
calendario2/
base_2k8_es-es-pe.css
calendar_new-es-pe.js
calendar_lang-es-pe.js
calendar_setup_new-es-pe.js
js/
active.js
bn_rad_ajax.js
mootools.r560.js
imask-full.js
formateoNumero.js
valid.js
valor.js
simulador/
cronogramaPagos.php
images/
17
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
logobn.gif
ic_calendar.gif
fondo_cab.jpg
pto.gif
simuladorPerso.php
inicio.php
18
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
Variables (JavaScript)
methodToCall
situacionLaboral
sectorLaboral
fecNacimiento
modalidadPrestamo
elegirPeriodoGracia
numMeses
promedioIngreso
otrasCuotasPendientesSF
fecDesembolso
edadAnios
edadDias
edadMeses
prestamoSolicitado
Funciones (JavaScript)
calcular_edad(Fecha)
CalcularEdad(fechaNacimiento)
calcularImporteMaximo(campo)
calcularImporteMaximoII(campo)
calcularImporteMaximoxFecha(campo)
calcularImporteMaximoxOtrasCuentasSF(campo)
calendario()
cambiarFoco(campo)
cargarCuotas(id,campo)
cargarModalidad()
cargarSectorLaboral()
checkYear(year)
DaysArray(n)
daysInFebruary (year)
isFecha(dtStr)
isInteger(s)
jsFocus()
jsGenerarCronograma(accion)
jsSubmit(accion)
jsValidaFECHA(valor)
19
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
jsValidarDigitos(e,accion)
jsValidarDigitosPersonalizado(e,valor,accion)
jsVerificarImporte(valor,campo)
jsVerificarImporteDeuda(campo)
obtenerDia(dia)
obtenerDiaMes(Anio,mes)
stripCharsInBag(s, bag)
trim(strText)
ValidarEdad(fecha)
validarInput(campo)
validarSiProcedeCalcularImporteMaximo()
ValidateForm(Campo,origen)
Verificacion()
verificarFecha(fecha)
Corresponde a las variables, funciones, procedimientos y base de datos que fueron creados
para sustituirlos a los componentes no obtenidos en el momento de recopilación de ficheros:
Variables (PHP)
$methodToCall
$situacionLaboral
$sectorLaboral
$fecNacimiento
$modalidadPrestamo
$elegirPeriodoGracia
$numMeses
$promedioIngreso
$otrasCuotasPendientesSF
$fecDesembolso
$edadAnios
$edadDias
$edadMeses
$prestamoSolicitado
Funciones (PHP)
conectar($sql)
prestamoSolicitado()
TEA()
fecDesembolso()
numMeses()
segDesgravamen()
mtoSeguroDesgravamen()
20
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
segCuotaProtegida()
mtoSeguroCuotaProtegida()
deudaPrestamoVigente()
desembolsoNeto()
TCEA()
cuotaFija()
diaPago()
periodoDeGracia()
obtenerDiaDePago()
obtenerFechaPagoSiguiente($fecPago)
obtenerFechaPagoAnterior($fecPago)
FSA($fechaN)
FTA()
interes($fecha1,$fecha2,$saldoAnterior)
cuota($fecha1,$fecha2,$saldoAnterior)
importeMaximoPrestamo()
tipoConvenio()
numPeriodo($fechaN)
redondeado($numero, $decimales)
date_diff($fecInicio,$fecFin)
formato_moneda($numero)
Procedimientos (PHP)
cargarModalidad()
cargarNumeroCuotas()
cargarSectorLaboral()
cargarMontoMaximo()
Funciones (PostgreSQL)
f_cargarmodalidad(sectorlaboral integer)
f_cargarsectorlaboral(situacionlaboral integer)
Tablas
dia_de_pago modalidad_sectorlaboral
sectorlaboral
id_sectorlaboral
nombre_sectorlaboral
modalidad
id_modalidad
21
nombre_modalidad
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
22
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
23
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
24
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
La única diferencia es en los resultados del TCEA que difieren levemente, lo cual
deberá ser analizado para lograr una exactitud con el del sistema original.
25
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
Para la puesta en marcha del simulador es necesario contar con un servidor web, un
servidor de base de datos y un servidor de aplicaciones PHP.
16. INSTALACIÓN
26
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
Posteriormente también se deberá instalar el servidor de base de datos PostgreSQL, crear una
base de datos de nombre bn2, y sobre él ejecutar el script adjuntado en la aplicación que se
encargará de la creación de tablas, funciones y cargar la base de datos con la información
necesaria.
27
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO
Al hacer uso de los componentes pre-existentes obtenidas desde la web del simulador,
se ha logrado un ahorro significativo de tiempo en la programación de interfaces,
diseños, formatos, etc.
28