simulador préstamo personal - bn perú

28
SIMULADOR DEL SISTEMA DE PRÉSTAMO PERSONAL - SECTOR PÚBLICO BANCO DE LA NACIÓN Perú 1 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

Upload: beastieux-zeroo

Post on 21-Jun-2015

5.466 views

Category:

Documents


10 download

DESCRIPTION

Ingeniería Reversa del Simulador de prestamo personal del Banco de la Nación - Perú.

TRANSCRIPT

Page 1: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

1

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

Page 2: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

2

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

Page 3: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

3

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

Page 4: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

4

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/

Page 5: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

5

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)

Page 6: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

6

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:

N° SECTOR LABORAL TIPO DE CONVENIO

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

Page 7: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

7

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.

Page 8: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

8

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.

Page 9: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

9

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.

Page 10: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

10

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

Page 11: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

11

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)

Page 12: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

12

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

Page 13: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

13

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

Page 14: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

14

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

Page 15: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

15

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:

Page 16: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

16

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

Page 17: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

17

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/

Page 18: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

18

logobn.gif ic_calendar.gif fondo_cab.jpg pto.gif simuladorPerso.php inicio.php

Page 19: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

19

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)

Page 20: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

20

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

Page 21: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

21

dia_de_pago

id_sectorlaboral (FK)

activo

pensionista

modalidad

id_modalidad

nombre_modalidad

modalidad_sectorlaboral

id_modalidad (FK)

id_sectorlaboral (FK)

sectorlaboral

id_sectorlaboral

nombre_sectorlaboral

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

Page 22: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

22

CAPÍTULO V: COMPARACIÓN DE RESULTADOS

13. RESULTADOS DEL SISTEMA DE SIMULACIÓN ORIGINAL

Page 23: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

23

Page 24: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

24

14. RESULTADOS DEL SISTEMA DE SIMULACIÓN RECONSTRUIDO

Page 25: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

25

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.

Page 26: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

26

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.

Page 27: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

27

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:

Page 28: Simulador Préstamo Personal - BN Perú

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

BANCO DE LA NACIÓN – Perú

28

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.