Está en la página 1de 28

SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

Análisis y Aplicación de Ingeniería Inversa del Simulador del Sistema de


Préstamo Personal - Sector Público - Banco de la Nación.
v. 1.3

POR

Huancayo, 05 de mayo del 2010

1
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

Contenido
CAPÍTULO I: INTRODUCCIÓN ....................................................................................... 4
1. OBJETIVO ............................................................................................................................... 4
2. JUSTIFICACIÓN ...................................................................................................................... 4
3. MARCO TEÓRICO .................................................................................................................. 4
4. ALCANCE................................................................................................................................ 4

CAPÍTULO II: ANÁLISIS .................................................................................................... 5


5. DATOS REQUERIDOS PARA LA SIMULACIÓN: ...................................................................... 5
5.1 Situación laboral ............................................................................................................ 5
5.2 Sector laboral ................................................................................................................. 6
5.3 Fecha de nacimiento ...................................................................................................... 6
5.4 Modalidad del préstamo ............................................................................................... 6
5.5 Elegir si desea periodo de gracia ................................................................................... 7
5.6 Número de cuotas ......................................................................................................... 7
5.7 Ingreso neto promedio mensual ................................................................................... 8
5.8 Liquidación préstamo Multired anterior ....................................................................... 8
5.9 Otras cuotas pendientes en el sistema financiero ........................................................ 8
5.10 Fecha de desembolso .................................................................................................... 8
5.11 Importe de préstamo máximo ....................................................................................... 8
5.12 Elegir seguro de cuota protegida ................................................................................... 9
5.13 Préstamo solicitado ....................................................................................................... 9
6. DATOS RESULTADO DE LA SIMULACIÓN: ........................................................................... 10
6.1 Préstamo solicitado: .................................................................................................... 10
6.2 Tasa de interés efectiva anual ..................................................................................... 10
6.3 Fecha de desembolso .................................................................................................. 11
6.4 Número de cuotas ....................................................................................................... 11
6.5 Tasa seguro de desgravamen ...................................................................................... 11
6.6 Monto de Seguro de desgravamen ............................................................................. 11
6.7 Tasa Seguro de Cuota Protegida .................................................................................. 11
6.8 Monto de Seguro de Cuota Protegida ......................................................................... 11
6.9 Liquidación préstamo multired anterior ..................................................................... 11
6.10 Desembolso Neto ........................................................................................................ 11
6.11 Tasa de costo efectivo anual........................................................................................ 12

2
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

CAPÍTULO III: RECONSTRUCCIÓN ........................................................................... 13


7. RECOPILACIÓN Y ANÁLISIS DE FICHEROS ............................................................................ 13
8. IDENTIFICACIÓN Y ANÁLISIS DE REFERENCIAS PERDIDAS ................................................... 14
9. ORGANIZACIÓN DE FICHEROS ............................................................................................. 15
10. RECONSTRUCCIÓN Y SUSTITUCIÓN DE REFERENCIAS PERDIDAS ........................................ 17

CAPÍTULO IV: MANTENIMIENTO ............................................................................... 19


11. INVENTARIO DE COMPONENTES PRE-IMPLEMENTADOS ................................................... 19
12. INVENTARIO DE COMPONENTES POST-IMPLEMENTADOS ................................................. 20

CAPÍTULO V: COMPARACIÓN DE RESULTADOS .............................................. 22


13. RESULTADOS DEL SISTEMA DE SIMULACIÓN ORIGINAL ..................................................... 22
14. RESULTADOS DEL SISTEMA DE SIMULACIÓN RECONSTRUIDO ........................................... 24

CAPÍTULO VI: INSTALACIÓN ...................................................................................... 26


15. REQUERIMIENTOS PARA LA INSTALACIÓN.......................................................................... 26
16. INSTALACIÓN ....................................................................................................................... 26

CAPÍTULO VII: CONCLUSIONES ................................................................................ 28

3
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

CAPÍTULO I: INTRODUCCIÓN

1. OBJETIVO

El objetivo es realizar un sistema de simulación de Préstamos personales que realice las


mismas funciones que el sistema realizado por el Banco de la Nación haciendo uso de la
Ingeniería Inversa.

2. JUSTIFICACIÓN

El objetivo de la ingeniería inversa es obtener información técnica a partir de un producto


accesible al público, con el fin de determinar de qué está hecho, qué lo hace funcionar y
cómo fue fabricado.

3. MARCO TEÓRICO

Existen varias definiciones de Ingeniería Inversa. A continuación se mencionan algunas de


las más conocidas:

Se conoce como Ingeniería Inversa o Reverse Engineering al proceso de duplicar


una pieza, componente o conjunto, sin la ayuda de planos, documentación o
modelos auxiliares. Se parte siempre de un modelo físico y se usan métodos de
ingeniería de medida, análisis, diseño y adquisición de datos para finalmente
obtener una réplica idéntica o mejorada del objeto. (Thomson, 1999).
En el contexto del software, establecen que la ingeniería inversa es el proceso de
analizar un sistema para crear una representación del mismo, pero a un nivel más
elevado de abstracción. (Chikofsky y Cross)1
La ingeniería inversa es un proceso que recorre hacia atrás el ciclo de desarrollo
de software (Hall)2

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

BANCO DE LA NACIÓN – Perú

CAPÍTULO II: ANÁLISIS

El Programa "Préstamo Personal" permite el acceso al crédito bancario a los trabajadores


activos y pensionistas del Sector Público que por motivo de su remuneración o pensión,
posean cuentas de ahorro en el BN.

5. DATOS REQUERIDOS PARA LA SIMULACIÓN:

5.1 Situación laboral

Activo:

Nombrado y Contratado por Servicios Personales4.


Contratado a plazo indeterminado o Contratado a plazo determinado5

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

BANCO DE LA NACIÓN – Perú

Pensionista:

Cesantes o Jubilados de la ONP o a CARGO del Estado.

Los contratados por Contratos Administrativos de Servicios o por locación de servicios


o bajo recibos profesionales no mantienen relación laboral con la Entidad Pública sino
civil, por lo tanto no son considerados trabajadores y no pueden ser sujetos de crédito
para el Banco de la Nación.

5.2 Sector laboral

No todos los sectores laborales tienen derecho a las mismas modalidades de


préstamos. En el siguiente gráfico se muestra las modalidades de convenios a las que
están sujetas:

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

5.3 Fecha de nacimiento

Sólo para personas con edad mayor o igual a 18 años


Sólo para personas que hasta el día de hoy cumplan 84 años

5.4 Modalidad del préstamo

A: Clásico

6
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

Préstamo de consumo ofrecido por el Banco de la Nación, cuyas


características, requisitos y condiciones están dirigidas a todos los trabajadores
y pensionistas del Sector Público.

B: Convenio por Primera Vez

Préstamo de consumo cuyas características, requisitos y condiciones están


dirigidas a un sector específico o a una determinada entidad pública con la que
el Banco de la Nación suscribe un convenio6 por vez primera.

C: Convenio Ampliación

El Cronograma de pagos del “Préstamo Personal” bajo la modalidad “con


convenio”, se generará sin las cuatro primeras cuotas de gracia con pagos de
interés. Solo habrá periodos de gracia en los meses de Abril y Diciembre, si el
cliente desea. El cliente puede elegir obtener el “Préstamo Personal” sin
periodos de gracia. Si el “Préstamo Personal” bajo la modalidad “con
convenio” se encuentra vigente, el cliente puede obtener una ampliación
habiendo amortizado al menos el 20% de su préstamo y cumplir con la
evaluación crediticia vigente. Si el Cliente no ha amortizado al menos el 20% de
su “Préstamo Personal”, puede realizar el mismo día un prepago de tal manera
que amortice el 20% y luego solicitar la ampliación de su “Préstamo Personal”.

5.5 Elegir si desea periodo de gracia


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.

5.6 Número de cuotas

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.

Si periodo de gracia=Sí: Número de meses de préstamo a solicitar (1- 48)

Si periodo de gracia=No: Número de meses de préstamo a solicitar (1-60)

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

BANCO DE LA NACIÓN – Perú

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).

Si periodo de gracia=Sí: Número de meses de préstamo a solicitar (1- 48)

Si periodo de gracia=No: Número de meses de préstamo a solicitar (1-48)

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.

Si periodo de gracia=Sí: Número de meses de préstamo a solicitar (5- 48)

Si periodo de gracia=No: Número de meses de préstamo a solicitar (1-48)

5.7 Ingreso neto promedio mensual

Sueldo Promedio Mensual abonado en la cuenta de ahorros por concepto de


remuneración o pensión (Debe ser mayor a S/. 75)

5.8 Liquidación préstamo Multired anterior

Monto del Saldo deudor si se tiene algún préstamo multired vigente.

5.9 Otras cuotas pendientes en el sistema financiero

Suma total de las cuotas mensuales que se adeuda en el sistema financiero y se pagan
en el mismo mes.

5.10 Fecha de desembolso

La fecha de desembolso del préstamo es la fecha a partir del cual se comenzará a


cobrar las cuotas.

5.11 Importe de préstamo máximo

Muestra el importe de préstamo máximo al que puede acceder según el promedio de


ingresos y nivel de deudas en el sistema financiero.

Éste importe es calculado automáticamente por el sistema de simulación de


préstamos.

Donde:
IP : Importe máximo de Préstamo Multired Clásico o Convenio.

8
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

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

El Factor para el Préstamo Personal a 60 Meses es:


P60meses = (10.42105263 - 31.57894737 * DeudasSF / Ingreso) * Ingreso

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.

5.12 Elegir seguro de cuota protegida

Está referida a la Cuota Protegida por Incapacidad Temporal o Desempleo Involuntario.


Éste seguro es opcional (a elección del cliente) y se aplicará sobre el importe del
préstamo que afectará a su vez a la Tasa de Costo Efectivo Anual. Su valor es el
siguiente:

Tasa Neta Única = 1.371% +


Derecho de Emisión = 0.041%
IGV = 0.268%
_________________________________________
Tasa Total de Seguro de Cuota Protegida = 1.68%

Aceptar contar con seguro de cuota protegida.

No

No desear contar con seguro de cuota protegida.

5.13 Préstamo solicitado

El préstamo solicitado no debe ser mayor al importe de préstamo máximo.


El préstamo solicitado debe ser mayor o igual a 300.

9
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

6. DATOS RESULTADO DE LA SIMULACIÓN:

6.1 Préstamo solicitado:


Ver índice 1.13.

6.2 Tasa de interés efectiva anual

Calculo de Interés para la primera cuota

Calculo d interés a partir de la segunda cuota

10
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

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

6.3 Fecha de desembolso


Ver índice 1.10.

6.4 Número de cuotas


Ver índice 1.6

6.5 Tasa seguro de desgravamen

Lo brinda la Compañía de Seguros “La Positiva Vida Seguros y Reaseguros”, la prima


que se cobrará asciende a 1.5% sobre el importe del préstamo mas 3% del importe de
la prima que corresponde al derecho de emisión lo que se cobrará al otorgamiento de
la operación y cubrirá los beneficios que serán publicados en las agencias del Banco y
su página Web.

Seguro de Desgravamen: 1.545%

6.6 Monto de Seguro de desgravamen

6.7 Tasa Seguro de Cuota Protegida


Ver Índice 1.12

6.8 Monto de Seguro de Cuota Protegida

6.9 Liquidación préstamo multired anterior


Ver índice 1.8

6.10 Desembolso Neto

Es el monto que resulta de deducir el Seguro de Desgravamen, Seguro de Cuota


Protegida y los cargos por ITF al importe del préstamo, tal y como se puede observar:

PMS = PS * (1 – SD – SCP)
DN = PMS - LPA
MACA = DN * (1 - ITF)

11
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

MNER = MACA* (1 – ITF)


Donde:
PS : Préstamo Solicitado
SD : Seguro de Desgravamen (%)
SCP : Seguro de Cuota Protegida (%)
PMS : Préstamo menos Seguros
LPA: Liquidación del Préstamo Anterior
DN : Préstamo Solicitado menos Seguros y Liquidación del Préstamo Anterior
ITF : Impuesto de Transacciones Financieras (%)
MACA : Monto abonado a Cta. De Ahorros
MNER : Monto Neto Efectivamente Recibido

6.11 Tasa de costo efectivo anual7

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

BANCO DE LA NACIÓN – Perú

CAPÍTULO III: RECONSTRUCCIÓN

7. RECOPILACIÓN Y ANÁLISIS DE FICHEROS

El acto de realizar un respaldo de la página principal del simulador en alguna unidad de


almacenamiento nos facilita la obtención de los siguientes ficheros:

Préstamo Personal sector público - Banco de la Nación.htm


base_2k8_es-es-pe.css
wuTricks.css
active.js
bn_rad_ajax.js
calendar_lang-es-pe.js
calendar_new-es-pe.js
calendar_setup_new-es-pe.js
formateoNumero.js
imask-full.js
mootools.js
print.css
valid.js
valor.js
ic_calendar.gif
logobn.gif

El objetivo es reorganizar la estructura de los ficheros componentes y reemplazar los


ficheros no obtenidos por otros que serán creados para realizar la misma función.
Para tal mérito es necesario describir detalladamente la funcionalidad de los ficheros
obtenidos que contienen código fuente necesario para descifrar el funcionamiento del
Simulador y al mismo tiempo, conocer los ficheros no obtenidos mediante llamadas
realizadas desde el código fuente de los ficheros con los que contamos.

1. Préstamo Personal sector público - Banco de la Nación.htm: Fichero Principal,


contiene el código fuente del formulario inicial del simulador. El código fuente
HTML está embebido con códigos en javascript
2. base_2k8_es-es-pe.css: Hoja de estilo que define el diseño del control calendario
ubicada en la zona de “Fecha de desembolso”, del formulario inicial del Simulador.
/images/common/close_window.gif
/images/common/close_window_hover.gif
3. print.css: Hoja de estilo que contiene formatos definidos para el diseño de diversas
partes de la página del Simulador, como: encabezados, títulos, botones, mensajes
de error, leyendas, logos, tablas, celdas, fondos, estilos de controles, etc.
../images/fondo_cab.jpg

13
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

../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.

8. IDENTIFICACIÓN Y ANÁLISIS DE REFERENCIAS PERDIDAS

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

BANCO DE LA NACIÓN – Perú

Una vez identificada las referencias perdidas, el siguiente paso es evaluar el


comportamiento del sistema sin estas referencias, y analizar el grado de importancia
que tiene éstas para el funcionamiento del sistema:

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.

El Sistema a pesar de estar estructurado correctamente carece de funcionalidad por la


inexistencia de 2 ficheros que al parecer son de vital importancia:

1. simuladorPerso.do
2. simulador/cronogramaPagos.do

simuladorPerso.do: Basándome en las llamadas a diferentes rutinas desde el código


fuente del fichero principal llego a deducir que simuladorPerso.do es un fichero que
contiene las funciones vitales para la determinación de los cálculos de intereses,
cuotas, amortizaciones y una posible conexión a una base de datos para mostrar ítems
como: Sector Laboral, Modalidad de Préstamo y extracción de datos generales como la
tasa de interés efectiva anual, tasa de seguro desgravamen, días de pago, etc; los que
serán descritos de manera más detallada en la siguiente etapa.

simulador/cronogramaPagos.do: Por otra parte, cronogramaPagos.do es referenciado


únicamente al momento de dar la orden de generar el cronograma de pagos para el
préstamo simulado, por el cual se deduce que contendrá el código fuente del segundo
formulario del Sistema de Simulación.

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

BANCO DE LA NACIÓN – Perú

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

Mediante las rutas mostradas podemos deducir que la organización de la estructura


del Sistema fue de la siguiente manera:

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

BANCO DE LA NACIÓN – Perú

simulador/
cronogramaPagos.do
images/
logobn.gif
ic_calendar.gif
fondo_cab.jpg
pto.gif
simuladorPerso.do
inicio.htm

10. RECONSTRUCCIÓN Y SUSTITUCIÓN DE REFERENCIAS PERDIDAS

El objetivo de la siguiente fase será construir los 2 ficheros encontrados en la


verificación de referencias perdidas. La tecnología de lenguaje de programación usada
hasta entonces ha sido HTML y Javascript, para completar el sistema y volverlo
funcional se ha decidió realizar los nuevos componentes en el lenguaje PHP, además
se hará uso de PostgreSQL como base de datos que contendrá registros necesarios
para la operatividad del sistema.

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.

La nueva estructura de ficheros producto del cambio de extensión de las referencias


perdidas que serán creadas será como se muestra:

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

BANCO DE LA NACIÓN – Perú

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

BANCO DE LA NACIÓN – Perú

CAPÍTULO IV: MANTENIMIENTO

11. INVENTARIO DE COMPONENTES PRE-IMPLEMENTADOS

Corresponde a las variables, funciones, procedimientos ya existentes desde el momento de la


recopilación de componentes del Simulador:

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

BANCO DE LA NACIÓN – Perú

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)

12. INVENTARIO DE COMPONENTES POST-IMPLEMENTADOS

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

BANCO DE LA NACIÓN – Perú

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()

Base de Datos (PostgreSQL)

Funciones (PostgreSQL)

f_cargarmodalidad(sectorlaboral integer)
f_cargarsectorlaboral(situacionlaboral integer)

Tablas
dia_de_pago modalidad_sectorlaboral

id_sectorlaboral (FK) id_modalidad (FK)


activo id_sectorlaboral (FK)
pensionista

sectorlaboral
id_sectorlaboral
nombre_sectorlaboral

modalidad
id_modalidad
21
nombre_modalidad
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

CAPÍTULO V: COMPARACIÓN DE RESULTADOS


13. RESULTADOS DEL SISTEMA DE SIMULACIÓN ORIGINAL

22
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

23
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

14. RESULTADOS DEL SISTEMA DE SIMULACIÓN RECONSTRUIDO

24
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

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

BANCO DE LA NACIÓN – Perú

CAPÍTULO VI: INSTALACIÓN

15. REQUERIMIENTOS PARA LA INSTALACIÓN

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.

El desarrollo actual se realizó contando con una infraestructura adecuada como:

Servidor Web: Apache


Servidor de Base de Datos: PostgreSQL 8.4
Plataforma PHP

16. INSTALACIÓN

Baja la plataforma Windows, podemos aprovechar la potencia de XAMPP, y dejar


arrancando el servidor Web Apache. Conjuntamente con XAMPP se instala la plataforma
PHP.

26
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

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.

Por último, se deberá modificar parte del script simuladorPerso.php específicamente la


función conectar($sql) , en el que se sustituirá los valores de host, port, password, user y
dbase según la configuración de su servidor:

27
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO

BANCO DE LA NACIÓN – Perú

CAPÍTULO VII: CONCLUSIONES

 La técnica utilizada fue la ingeniería inversa basada en los componentes pre-existentes


para descifrar el comportamiento de los componentes no recopilados, con el fin de
crear unos nuevos que cumplan satisfactoriamente ésta función.

 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.

 Se ha dedica el tiempo en estudiar el código fuente de los scripts encontrados y en la


reorganización de ficheros encontrados y la creación y codificación de funciones para
cada uno de los cálculos a realizar.

28