Download Propuesta para Trabajo de Grado - Trabajos de Grado de la facultad
Document related concepts
no text concepts found
Transcript
Ingeniería de Sistemas PROPUESTA PARA TRABAJO DE GRADO TÍTULO: Aplicación web para el cálculo de reservas pensionales de entidades que manejen el régimen de prima media del sistema general de pensiones colombiano. MODALIDAD: Proyecto de Aplicación Práctica OBJETIVO GENERAL: Diseño y construcción de una aplicación web que brinde soporte a las entidades para calcular las reservas pensionales que deben tener o constituir para el pago de obligaciones pensionales futuras de acuerdo al sistema general de pensiones colombiano. Las entidades deben manejar el régimen de prima media con prestación definida. ESTUDIANTE(S) Edgar Adrián Otálora Neira __________________________________________ Documento cc. 80881402 Celular 300-2138045 Teléfono fijo 7571153 Correo Javeriano [email protected] Francisco Adolfo Mora Calderón _____________________________________ Documento cc. 1018408627 Celular 315-346-2682 Teléfono fijo 7039534 Correo Javeriano [email protected] DIRECTOR Ing. Maria Consuelo Franky de Toro __________________________________ Documento Celular Teléfono fijo 320 – 8320 ext. 5391 Correo Javeriano; Correo 2 [email protected]; [email protected] Empresa donde trabaja y cargo Pontificia Universidad Javeriana; profesora investigadora. VoBo. Coordinador de Trabajos de Grado: ________________________ Código: 8/8/2017 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica Contenido 1 OPORTUNIDAD O PROBLEMÁTICA .............................................................................1 1.1 DESCRIPCIÓN DEL CONTEXTO....................................................................................1 1.2 FORMULACIÓN ..........................................................................................................2 2 DESCRIPCIÓN DEL PROYECTO ...................................................................................3 2.1 OBJETIVO GENERAL ..................................................................................................3 2.2 FASES METODOLÓGICAS ...........................................................................................3 3 MARCO TEÓRICO / ESTADO DEL ARTE......................................................................4 3.1 SISTEMA PENSIONAL COLOMBIANO ..........................................................................4 3.2 PROCESO DE CÁLCULO DE LAS RESERVAS PENSIONALES ...........................................5 3.3 APLICACIONES WEB ..................................................................................................5 3.3.1 Descripción ................................................................................................................ 5 3.3.2 PHP ............................................................................................................................ 5 3.3.3 Java EE 5................................................................................................................... 6 3.3.4 Ventajas de trabajar con Java EE 5 ........................................................................... 8 3.4 GLOSARIO .................................................................................................................8 4 PROCESO ...................................................................................................................10 4.1 METODOLOGÍA ........................................................................................................10 4.2 ACTIVIDADES ..........................................................................................................12 4.3 ENTREGABLES O RESULTADOS ESPERADOS ............................................................14 4.4 PRESUPUESTO .........................................................................................................15 4.5 CRONOGRAMA ........................................................................................................16 5 REFERENCIAS Y BIBLIOGRAFÍA ...............................................................................18 5.1 REFERENCIAS ..........................................................................................................18 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica 1 Oportunidad o Problemática 1.1 Descripción del contexto Los pasivos pensionales son motivo de permanente preocupación de las entidades de seguridad social del orden público o privado que tienen a su cargo el reconocimiento y pago de las pensiones de vejez y jubilación; y de manera especial de los Gobiernos, quienes tienen la obligación de proteger los derechos pensionales de las personas que luego de cumplir con los requisitos exigidos por las normas vigentes o convenciones colectivas, pueden acceder a las pensiones de vejez o de jubilación. Así las cosas, el sistema de seguridad social en Colombia y en varios países del mundo prevé la valoración de los pasivos pensionales [1] o el capital necesario para cubrir las obligaciones futuras derivadas de los pagos vitalicios de las mesadas de la población que ya esta pensionada o de la población con expectativa de pensionarse. Las reformas pensionales en Colombia, al igual que en el resto de países de América Latina, básicamente han sido motivadas por tres razones: baja cobertura, inequidad e insostenibilidad financiera. Es abundante la literatura que analiza desde diversos enfoques la evolución del sistema pensional colombiano, los cambios introducidos en el modelo y sus implicaciones fiscales y sociales en el tiempo. Las principales conclusiones al respecto indican que en Colombia los estudios técnicos no han sido el motor de tales reformas, en las cuales el tratamiento especial para ciertos grupos ha acentuado los efectos negativos de estas, en detrimento del régimen general [3]. El tema de los pasivos pensionales se maneja a nivel mundial y en el caso colombiano compete a las entidades de seguridad social que administran los regímenes de prima media (Seguro Social ) y de ahorro individual con solidaridad (Administradoras de Fondos de Pensiones) señalados en la Ley 100 sancionada en 1993 y en la Ley 797 sancionada en el 2003 [1], así como a las compañías de seguros que comercializan productos de rentas vitalicias, y también a las entidades que administran regímenes especiales de pensiones como Ecopetrol , las Fuerzas Militares, el Magisterio, entre otros. En particular vale la pena señalar que de acuerdo a los parámetros fijados por el Gobierno Nacional mediante la Ley 549 de 1999, las entidades territoriales deberán cubrir el valor de los pasivos pensionales a su cargo, elaborando previamente el cálculo actuarial de acuerdo a la metodología señalada por el Ministerio de Hacienda y Crédito Público, de la misma manera la valoración de reservas pensionales es fundamental para definir políticas en materia de seguridad social y financiera en aquellas entidades del sector público o privado responsables del pago y la administración de obligaciones pensionales. Para la valoración de pasivos pensionales se requiere el uso de bases de datos poblacionales y de algoritmos que comprenden formulaciones complejas y cálculos que ya han sido definidos por expertos en cálculo actuarial; de tal forma que se necesitan herramientas de software que sistematicen este proceso, pues de otra forma sería casi imposible de realizar. Actualmente en Colombia existen entidades que no tienen recursos para adquirir herramientas tecnológicas adecuadas que realicen estos cálculos actuariales por lo que desconocen el monto de sus obligaciones pensionales futuras; otras entidades deben recurrir a asesorías externas para efectuar las valoraciones de sus pasivos pensionales. Página 1 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica Lo que se pretende entonces realizar en este proyecto de tesis es una aplicación web orientada a sistematizar un modelo que permita cuantificar el valor actual de las obligaciones pensiónales de jubilación, invalidez y sobrevivencia, que trata el Sistema General de Pensiones en Colombia para el régimen de prima media con prestación definida, de conformidad con las prestaciones y parámetros que trata la Ley 100 sancionada en 1993 modificada por la Ley 797 sancionada en el año 2003. 1.2 Formulación ¿Cómo aporta una aplicación web al proceso de cálculo de las reservas pensiónales de la entidades privadas en Colombia que operan de acuerdo con el régimen de prima media? Una aplicación web, a diferencia del software de escritorio tradicional cliente/servidor que existe actualmente para hacer estos cálculos, proporciona beneficios como: compatibilidad multiplataforma, está siempre actualizado con la última versión del producto, el acceso es inmediato debido a que no requiere de un proceso de configuración e instalación, existen menos bugs debido a que todas las personas que usan el producto trabajan con la misma versión por lo que los defectos se corrigen a medida que se van detectando, disminuye el precio debido a que, por ejemplo, no hay costos de mantenimiento [4], además están disponibles en un ámbito geográfico mundial, a diferencia de las aplicaciones cliente/servidor que están restringidas a un ámbito de red local. Por otro lado al realizar un producto de software como trabajo de grado se aplican y se ponen en práctica muchos conocimientos adquiridos a lo largo de la carrera para un producto que beneficiaría a alguna(s) entidad(es) que requiera(n) al cálculo de su pasivo pensional conforme a las leyes de seguridad social establecidas en el país. Además nos estamos enfrentando a un reto pues en la actualidad hay software que hace este tipo de cálculos actuariales, por lo tanto nuestra aplicación debe tener algún campo de innovación que facilite realizar esta tarea y que la diferencie de las demás aplicaciones. Página 2 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica 2 Descripción del Proyecto 2.1 Objetivo general Diseño y construcción de una aplicación web que brinde soporte a las entidades para calcular las reservas pensionales que deben tener o constituir para el pago de obligaciones pensionales futuras de acuerdo al sistema general de pensiones colombiano. Las entidades deben manejar el régimen de prima media con prestación definida. 2.2 Fases Metodológicas 1. Conocer las normas legales vigentes en Colombia que rigen el pago de las pensiones de vejez, jubilación y supervivencia. 2. Realizar un levantamiento de información para conocer el proceso que sigue una entidad para calcular su pasivo pensional. 3. Estudio de las APIs de Java EE 5 que van a ser usadas en el presente proyecto y de las nuevas herramientas de desarrollo con las que no estamos familiarizados. 4. Realizar el análisis, diseño y desarrollo de la aplicación web que permitirá calcular las reservas pensiónales de una población definida de la entidad consultada. 5. Realizar la validación de la aplicación web utilizando: la información básica suministrada por una entidad que tenga a su cargo el pago de obligaciones pensionales, los criterios de validación de un actuario y las pruebas funcionales de los resultados con información histórica ya procesada. Página 3 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica 3 Marco Teórico / Estado del Arte 3.1 Sistema Pensional Colombiano La seguridad social integral es el conjunto de instituciones, normas y procedimientos, de que disponen la persona y la comunidad y que proporciona la cobertura inicial de las contingencias, especialmente la capacidad económica de los habitantes del territorio nacional, con el fin de lograr el bienestar individual y la integración de la comunidad [27]. “El sistema General de pensiones en cualquiera de los dos regímenes actuales garantiza a sus afiliados y a sus beneficiarios, cuando sea el caso, las siguientes pensiones y/o prestaciones económicas; a) Pensión de Vejez. b) Pensión de Invalidez. c) Pensión de Sobrevivientes [25]. La pensión de vejez es a la cual tiene derecho un afiliado después de cumplir con edad requerida por la ley. Incluso antes en caso de no cumplir con la edad si el afiliado cuenta con el monto requerido para hacerlo [26]. La pensión de invalidez es la pensión que pagan las compañías de seguros a los afiliados que queden en condición de invalidez total o parcial sea total o permanente. La condición de invalidez es dictaminada por el comité médico de las AFP (Aseguradores de Fondos de Pensiones) [26]. La pensión de sobrevivencia es la pensión a la que tienen derecho los beneficiarios de un afiliado fallecido. Los beneficiaros pueden ser: cónyuge, hijos menores de edad o incapacitados, y los padres que sean mayores de 65 anos, o que sean inválidos, o que hayan dependido económicamente del fallecido, o que tengan ingresos inferiores al 25% de la pensión de sobrevivencia que eventualmente les correspondería [26]. La principal característica del sistema pensional que fue modificado por la ley 100 de 1993 es la existencia paralela de dos regímenes de pensiones: uno basado en beneficios definidos (sistema de reparto, llamado “de prima media”) y otro basado en el rendimiento de ahorros en un fondo de capitalización (sistema de ahorro individual) [28]. El régimen de prima media es aquel en el cual los aportes de los afiliados y sus rendimientos constituyen un fondo común que garantiza a los beneficiarios el pago de la respectiva pensión previamente definida en la ley. Este régimen es la base del desarrollo del proyecto. Para garantizar el pago de las prestaciones económicas derivadas del otorgamiento de una de las prestaciones antes señaladas, las entidades responsables deben conformar reservas pensionales, cuyos montos obedecen a un cálculo actuarial en cuanto las mismas dependen de una contingencia relacionada con la ocurrencia de un evento por ejemplo la esperanza de vida para la pensión de vejez o la muerte del titular para el caso de la pensión de sobrevivientes. Página 4 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica 3.2 Proceso de cálculo de las reservas pensionales Teniendo en cuenta las disposiciones anteriormente descritas es necesario desarrollar la formulación para hacer el cálculo de las reservas correspondientes a los pensionados por IVM (Invalidez, Vejez, Muerte) [29]. Para poder llegar a estas formulaciones que son la base para poder empezar con el desarrollo de la aplicación se requiere de elementos adicionales. Entre los cuales se debe tener en cuenta las tablas de mortalidad que consisten en un cuadro estadístico en el que partiendo de un grupo de personas a edad uniforme, se van contabilizando las muertes ocurridas año tras año y la esperanza de vida de cada edad hasta la extinción del grupo original [30]. Una vez definidas las diferentes formulas y parámetros técnicos y legales a utilizarse para realizar el cálculo de las reservas pensionales se espera que al final del proceso se generen reportes que le permitan al usuario pertinente conocer el valor actual (pasivo pensional) tanto global como individual que se requiere para cumplir con sus obligaciones pensiónales futuras 3.3 Aplicaciones Web 3.3.1 Descripción Una aplicación web es un sitio web donde las entradas del usuario (navegación y entrada de datos) afectan al estado del negocio [31]. El navegador web (Firefox, Internet Explorer), es el que permite la interacción entre el usuario y la aplicación como tal. El protocolo HTTP (Hyper Text Transfer Protocolo) es un protocolo no orientado a conexión que permite la conexión entre el navegador y el servidor web y es tolerante a fallos [32]. Uno de los principales componentes sobre el cual se basan las aplicaciones web, es el uso de HTML (Hyper Text Markup Language) el cual es un lenguaje descriptivo que usan los diseñadores para crear documentos independientes de la plataforma usada. En otras palabras, HTML especifica un conjunto de reglas que los diseñadores siguen para crear documentos que son entendidas por diferentes aplicaciones que funcionan bajo diferente hardware y sistemas operativos [33]. Debido a que el propósito de este proyecto es el de realizar el desarrollo de la aplicación usando herramientas libres, existen dos grandes enfoques o tecnologías para pensar en la implementación de la solución, estos enfoques se explican a continuación. 3.3.2 PHP Es un lenguaje de “código abierto” interpretado, de alto nivel, embebido en páginas HTML y ejecutado en el servidor. El código PHP siempre es ejecutado en el servidor [34] por lo tanto cuando el cliente realiza una solicitud al servidor web, se ejecuta un paso intermedio denominado proceso previo. En este punto el compilador PHP procesa el código que recibe de la solicitud del cliente y retorna el resultado al servidor web, una vez terminado este proceso finalmente el servidor web envía el resultado al cliente. Página 5 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica Generalmente con PHP se desarrollan aplicaciones web relativamente pequeñas pero en algunos casos se encuentran sistemas grandes como Amazon, desarrollado en PHP, al igual que manejadores de contenido (como Moodle) y ambientes colaborativos (como gForge). Estos sistemas grandes desarrollados en PHP rara vez ofrecen operaciones transaccionales y características de alta seguridad. PHP no fue concebido para soportar estas características por lo cual se deben programar manualmente apoyándose en el motor de base de datos. 3.3.3 Java EE 5 El API Enterprise de Java ofrece soporte para un gran número de las tecnologías de computación distribuida más usadas y servicios de redes [35]. Estos servicios son: JBC: es un API que permite el envío de sentencias SQL a un servidor de base de datos así como de capturar los resultados de las consultas que envía el servidor. RMI: Es un modelo de programación que proporciona un acercamiento genérico de alto nivel a la computación distribuida. Solo funciona si el cliente y el servidor están implementados en Java. Java IDL (CORBA): Es un modelo de programación distribuida similar a RMI. Pero a diferencia de RMI este modelo funciona sin importar el leguaje de programación implementado en el que se encuentre el cliente o el servidor. JNDI: Permite a los programas Java tener transparencia con respecto a la ubicación de objetos o datos de acuerdo con un grupo de valores de atributos específicos. Enterprise JavaBeans: Es un modelo de componente para unidades de lógica de negocio y datos del negocio. JMS (Enterprise Messaging): es el API de java que permite trabajar con el envío y recepción de mensajes en red. Una nueva tecnología se introdujo en el año 2006 esta es conocida como la versión empresarial de java 5. El propósito de la plataforma Java EE 5 es de proporcionar a los desarrolladores un poderoso grupo de APIs que permite reducir en gran margen el tiempo de desarrollo, reduciendo la complejidad de la aplicación, y mejorando el desempeño de la misma. Se manejan las anotaciones que permiten desempeñar muchas funciones con mayor simplicidad que en la versión anterior (J2EE) entre las operaciones que permite realizar se encuentran la inyección de dependencias, recursos, servicios, y notificaciones en el ciclo de vida en la aplicación de la plataforma Java EE 5. Un desarrollador puede simplemente ingresar la información como anotaciones directamente en el código fuente java, y el servidor Java EE se encarga de configurar el componente en el momento del despliegue y en tiempo de ejecución. El API de persistencia (Java Persistence API) se introduce en la plataforma Java EE 5. Este API proporciona un mapeo de objetos relacionales para el manejo de los datos relacionales en los Enterprise beans, en los componentes web, y en la aplicación del cliente. También puede ser usado en aplicaciones que no se encuentren en el ambiente de Java EE. Una entidad representa un conjunto de datos persistentes guardados en una fila de una tabla de la base de Página 6 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica datos [6]. Si el cliente termina, o si el servidor se detiene por algún motivo, el persistence manger se asegura de que los datos de la entidad sean guardados. Esto permite que las clases que se encargan de implementar entidades y componentes de negocio sean más simples. Un Enterprise bean es un componente de software del lado del servidor que puede ser desplegado en un ambiente de n capas distribuido. Un bean se encuentra escrito usando el API de EJB y es desplegado en un contenedor de EJB. En otras palabras, un contenedor es aquel que se encarga de proporcionar los servicios para todos los componentes EJB. Entre los servicios que proporcionan los componentes EJB 3 se encuentran los siguientes: Integración: permite agrupar componentes por medio de una simple configuración, esto es posible gracias a las inyecciones de dependencias que se hacen por medio de las anotaciones. También facilitan la realización de búsquedas por medio de los beans de sesión. Mensajería: Quizás el framework más importante es JMS que viene acoplado desde el principio a un servidor de aplicaciones, y que permite realizar tareas masivas con alto paralelismo utilizando múltiples colas de mensajes. Interceptores: Esta parte hace referencia a la programación orientada a aspectos la cual permite la división por módulos en las aplicaciones para tener un mayor manejo de los conceptos, lo que se pretenden es que una vez bien definidos los conceptos se puedan obtener entidades correctamente definidas y que requieran modificaciones posteriores. Los aspectos de Java EE 5 son los que se conocen como interceptores. “Un EJB interceptor puede ser aplicado solamente a un método EJB particular. No es posible aplicar interceptores a invocaciones a constructores o acceso a atributos, pero son suficientes para la mayoría de casos de uso más comunes. Un interceptor se puede habilitar por medio de una habitación o un descriptor XML” [3]. Se invoca al EJB después de la ejecución del interceptor. El interceptor tiene total control de la ejecución. Puede invocar el método varias veces, cambiar los parámetros y retornar valores, entre otros. La implementación del interceptor es independiente de la lógica de negocio. Se activa por medio del uso de la anotación @interceptors. Acceso Remoto: Los componentes se pueden hacer accesibles sin escribir código. Se puede acceder remotamente a componentes usando los session beans (beans de sesión). La introducción de DI (Dependency Injection) a EJB3 es simplificar la búsqueda de recursos para los componentes EJB. Servicio Web: Convierte componentes de negocio en servicios web con menos cambios en el código. Stateless session bean: este bean no mantiene un estado de conversación para un cliente en particular. Cuando un cliente invoca el método de un stateless bean, las variables instanciadas pueden contener un estado, pero solo por la duración de la invocación. Persistencia:” Los nuevos entity objects son POJOs que proporcionan una vista orientada a objetos de los datos almacenados en una base de datos” [18]. Rendimiento: JPA ofrece servicios para el cache y la optimización del rendimiento [19]. Además se permite un modelo más sencillo para la implementación de fachadas. Especialmente la mejora en rendimiento se ve reflejada en las aplicaciones que manejan una alta concurrencia entre los usuarios. Página 7 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica 3.3.4 Ventajas de trabajar con Java EE 5 Debido a que este es un proyecto con enfoque empresarial entre las características principales que se requieren se encuentra la parte de seguridad, así como el manejo de transacciones debido a que en algunas ocasiones la aplicación será accedida por varios usuarios al mismo tiempo de modo que se hace indispensable el manejo de la concurrencia así como la atomicidad de las transacciones que se realizan en la base de datos. Esta es la labor que se encarga de realizar el servidor de las aplicaciones Java EE 5. Otro aspecto de gran importancia a favor de Java EE 5 es la capacidad de mantenibilidad que tienen este tipo de aplicaciones. Estas aplicaciones se basan en el modelo orientado a objetos, además se maneja una arquitectura definida previamente que se divide en capas, que separa la presentación, la lógica de negocio, y la persistencia de la información. Esto permite que la complejidad a la hora de encontrar problemas o realizar modificaciones no sea tan grande como lo sería si se estuviera trabajando con otro tipo de arquitectura. Los servidores de aplicaciones Java EE 5 ofrecen facilidades de operación en cluster para lograr alta escalabilidad, permitiendo atender un número creciente de usuarios simultáneos mediante la configuración de servidores adicionales en el cluster. Las aplicaciones Java EE 5 pueden lograr buenos tiempos de respuesta aplicando patrones en el desarrollo y aprovechando las facilidades automáticas de pool de conexiones que ofrece el servidor de aplicaciones. Siguiendo los patrones, las conexiones a las bases de datos se realizan desde los componentes de negocio y no desde las páginas o elementos de la capa web. 3.4 Glosario Pago vitalicio: Pago perpetuo. Hasta que la primera y/o segunda persona fallezca. Mesadas: Salarios, sueldo al mes. Régimen de prima media [12]: -El dinero de los afiliados va a un fondo común el cual es administrado por el Instituto de Seguro Social (ISS). -Los afiliados obtienen su pensión de vejez cuando cumplen con dos requisitos: edad y semanas señalados por la ley 100 de 1993 y modificada por la ley 797 de 2003. Régimen de ahorro individual [12]: -El dinero de los afiliados va a una cuenta individual, independiente del dinero del resto de los afiliados. Este dinero es administrado por las Administradoras de fondos de Pensión (AFP). -Los afiliados obtienen su pensión cuando el dinero acumulado en su cuenta individual les permita obtener una pensión mínima (110% del salario mínimo legal vigente) independientemente de la edad que tengan al momento en que esto ocurra. Página 8 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica -Los afiliados se pensionan con la totalidad del dinero ahorrado en sus cuentas individuales más los rendimientos y el valor del bono pensional (si tiene derecho a él). -Los afiliados pueden optar por un retiro anticipado o aumentar el monto de su pensión haciendo aportes voluntarios a pensiones obligatorias. Renta Vitalicia [14]: -La renta vitalicia es una forma de contrato aleatorio (es un contrato civil) el cual consiste en que una persona se obliga para con otra a realizarle un pago o pensión periódica, que puede ser en efectivo o en bienes, hasta que una de las personas participes del contrato viva, por consiguiente la muerte de uno de los dos significa la culminación del contrato. POJO (Plain Old Java Object) [13]: Un POJO es un objeto Java que no implementa ningún tipo de interfaces especiales como las que se encuentran definidas en EJB framework. Bug [36]: (Defecto) Es la causa mecánica o algorítmica de un error. Un error puede ocurrir debido a que el sistema o uno de sus componentes contienen un error de diseño. API [24] :Un lenguaje y formato de mensaje usado por el programa de una aplicación para comunicarse con el sistema operativo o algún otro programa de control como el manejador de la base de datos (DBMS). Página 9 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica 4 Proceso 4.1 Metodología Las metodologías que se aplicarán para cumplir cada una de las metas parciales de nuestro trabajo de grado son: Documental [5]: La metodología documental cuenta con varias etapas, algunas de las cuales nos resultan útiles para cumplir con el primer objetivo específico de nuestro proyecto de grado. Las etapas son: - Obtención de la bibliografía básica sobre el tema: Se busca en base de datos, bibliotecas o se consulta con personas conocedoras del tema a ser investigado. - Lectura rápida del material: Se ubican las principales ideas y se conoce la calidad del material obtenido para hacer una mejor selección de todo lo que se ha encontrado. - Delimitación del tema: Una vez se ha consultado del tema se puede saber con mayor precisión su dimensión. - Lectura minuciosa de la bibliografía: etapa que comprende el estudio formal de los documentos hallados en la etapa de obtención de la bibliografía. - Elaboración de fichas de contenido: son pequeños resúmenes con las ideas más importantes de cada documento de la bibliografía. - Redacción del trabajo final: Se realiza el documento final en el que se deja planteada la información más relevante a tener en cuenta para la realización del trabajo de grado. Estudio de Casos: Esta metodología se aplicará para cumplir el segundo objetivo específico, de esta forma se estudiará el proceso que sigue una entidad de la manera más detallada posible teniendo en cuenta su entorno [6], es decir, su carácter (privado), el régimen pensional que maneja, el número de empleados, el sector en el que se desenvuelve, entre otras características. Los pasos generales que seguiremos para aplicar esta metodología son [7]: - Formulación de los objetivos de aprendizaje: antes de empezar a estudiar los casos debemos saber lo que queremos conocer mediante el estudio de casos. - Elección del caso (entidad): Se debe elegir la entidad a la que consultaremos. - Desarrollo del caso: Se realizan las labores necesarias para conocer el proceso seguido por una entidad por concretar para calcular su pasivo pensional, incluyendo visitas a sus instala- Página 10 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica ciones, entrevistas, y pruebas del software utilizado para realizar este proceso en caso de que lo tengan sistematizado. En principio se trabajara con información real suministrada por un actuario que nos prestara asesoría en la parte técnica. - Evaluación del proceso para sacar conclusiones: En base a lo consultado se buscan y establecen los beneficios que la aplicación aquí planteada traería para dicha entidad. Analítica [8]: Se aplicará una metodología analítica para realizar la tercera meta parcial de nuestro trabajo de grado. Al aplicar esta metodología podremos conocer en detalle cada uno de los atributos o características de las API´s de Java EE 5 y de las nuevas herramientas de desarrollo con las cuales no estamos familiarizados, de tal forma que resulte fácil el uso de las mismas en el cuarto objetivo específico. Se seguirán las siguientes etapas para aplicar esta metodología: - Adquisición de material bibliográfico de APIs y nuevas herramientas de desarrollo que serán usadas en el cuarto objetivo específico del presente proyecto. - Estudio de las APIs y nuevas herramientas por medio de la bibliografía encontrada en la actividad anterior. - Realización de ejemplos prácticos de las APIs y las nuevas herramientas. - Elaboración de resumen de facilidades provistas por APIs de Java EE 5 y nuevas herramientas estudiadas. Programación Extrema: Esta metodología la usaremos para cumplir el cuarto objetivo del trabajo de grado. Programación Extrema es una metodología ágil de desarrollo de software que pone gran énfasis en la adaptabilidad como sucede cuando hay cambios en los requerimientos [9] y el desarrollo del software ya ha comenzado. Los principios de la programación extrema son: - Simplicidad: Busca simplificar el diseño del software para agilizar el desarrollo del mismo y hacer más fácil su mantenimiento. Siempre se debe procurar escoger el algoritmo, la interfaz, la estructura de datos, el diseño o la estrategia más simple [9]. - Comunicación: Se debe establecer una comunicación fluida con el cliente y entre programadores. Además el código debe ser simple para que sea fácil entenderlo. - Retroalimentación: El cliente debe estar en permanente contacto con el equipo de desarrollo para sugerir sus mejoras y plantear sus opiniones con respecto a los resultados mostrados en Página 11 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica cada iteración. El equipo de desarrollo también recibe retroalimentación de las pruebas automáticas y de los programadores o colegas de grupo [9]. - Coraje: Se debe tener coraje para que los gerentes de los proyectos acepten una programación en parejas que pareciera implicar una reducción de la productividad cuando en realidad no es así. Además se debe tener coraje para hacer las cosas bien, mejorarlas si es necesario y no mejorarlas si no es necesario [9]. Algunas características de la programación extrema son [10]: desarrollo iterativo e incremental, pruebas unitarias continuas, programación en parejas, integración del equipo de programación con el cliente, refactorización del código, integración permanente, estandarización del código, establecimiento de una metáfora [11] (visión común de cómo trabaja el software), entre otras. Evaluación: Esta metodología será aplicada para realizar la quinta meta parcial de nuestro proyecto de grado, relacionada con la validación de software. Para llevar a cabo la evaluación del software seguiremos los siguientes pasos: - Comprobar la funcionalidad o correctitud de la aplicación: este paso consiste en realizar pruebas funcionales con base en datos ya procesados. - Evaluar la aplicación según los criterios de una persona experta en temas actuariales: Este paso requerirá la ayuda de un actuario, quien se encargará de validar la aplicación según sus criterios. - Usar la aplicación teniendo como entrada los datos de alguna entidad que requiera su servicio: Este paso lleva a cabo el primer uso real del software. 4.2 Actividades Las siguientes son las actividades que se llevarán a cabo durante el desarrollo del presente proyecto. Objetivo Objetivo1: Conocer las normas legales vigentes en Colombia que rigen el pago de las pensiones de Actividad Realizar una primera consulta general de las normas y leyes que rigen todo lo relacionado con las obligaciones pensionales que deben cumplir las entidades con el gobierno y con sus empleados. Esta consulta se hará a personas con conocimientos en esta área como abogados o actuarios. Página 12 Pontificia Universidad Javeriana vejez, jubilación y supervivencia. Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica Adquirir todo el material necesario (libros, documentos electrónicos) para entender el funcionamiento del sistema pensional colombiano. Verificar alcance e impacto del proyecto. Objetivo2: Realizar un levantamiento de información para conocer el proceso que sigue una entidad privada para calcular su pasivo pensional. Contactar la entidad para solicitar los permisos necesarios para conocer el proceso que sigue en el cálculo de su pasivo pensional. Preparar preguntas que nos permitirán entender lo que la entidad hace actualmente para realizar este proceso. Realizar visitas a la entidad consultada y hacer la entrevista a la persona encargada de la empresa. Objetivo3: Estudio de las APIs de Java EE 5 que van a ser usadas en el presente proyecto y de las nuevas herramientas de desarrollo con las que no estamos familiarizados Adquisición de material bibliográfico de APIs y nuevas herramientas de desarrollo que serán usadas en el cuarto objetivo específico del presente proyecto. Estudio de las APIs y nuevas herramientas por medio de la bibliografía encontrada en la actividad anterior. Realización de tutoriales y guías paso a paso de las APIs y las nuevas herramientas. Elaboración de resumen de facilidades provistas por APIs de Java EE 5 y nuevas herramientas estudiadas. Objetivo4: Realizar el análisis, diseño y desarrollo de la aplicación web que permitirá calcular las reservas pensiónales de una población objetivo de la entidad consultada. Hacer diagrama de Entidades. Hacer el levantamiento de Requerimientos. Hacer Casos de Uso. Seleccionar Arquitectura de la aplicación. Realizar planeación del proyecto que incluya: alcance, impacto, defina entradas y salidas del sistema, y secuencia de iteraciones a realizar. Programar caso de uso de acuerdo a lo planeado. Realizar pruebas unitarias continuas a la funcionalidad adicionada y corregir todos los errores. Recibir retroalimentación por parte del cliente. Refactorizar el código para mantener su simplicidad. Objetivo5: Realizar la validación de la aplicación web utili- zando: la información básica suminis- trada por una entidad Realizar pruebas de correctitud con información histórica ya procesada. Realizar validación de la aplicación según los criterios de un actuario ya establecido. Validar la aplicación usándola con la información suministrada por una entidad que tenga a su cargo el pago de obligaciones Página 13 Pontificia Universidad Javeriana que tenga a su cargo el pago de obligaciones pensionales, los criterios de validación de un actuario y las pruebas funcionales de los resultados con información histórica ya procesada. Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica pensionales y que requiera servicio proveído por la aplicación. 4.3 Entregables o Resultados Esperados La siguiente tabla muestra los entregables del proyecto de grado, además indica el objetivo y el semestre al que pertenecen cada uno de los entregables. Semestre Objetivo Entregables Semestre 1 Objetivo 1 (Segundo Semestre de 2009) Documento con breve resumen del sistema pensional colombiano, haciendo énfasis en el régimen de prima media con prestación definida. Semestre 1 Objetivo 2 (Segundo Semestre de 2009) Documento con las reglas de negocio informadas por el experto en realizar este tipo de cálculos pensionales. Documento con una descripción general del proceso seguido por la entidad para calcular el pasivo pensional. Semestre 1 Objetivo 3 (Segundo Semestre de 2009) Descripción de las facilidades de Java EE 5 que serán utilizadas en el proyecto. Semestre 2 Objetivo 4 (Primer Semestre de 2010) Documento de Visión. Documento de Especificación de Requerimientos, SRS. Documento de Casos de Uso utilizando una especificación apropiada para Java EE 5. Documento de la Arquitectura de Software, SAD. Incluirá, entre otras cosas, la arquitectura Página 14 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica de Java EE 5. Semestre 2 Objetivo 5 (Primer Semestre de 2010) Aplicación Web. Manual de Usuario. Documento con los resultados de cada una de las pruebas realizadas. Sitio web con los resultados de la tesis 4.4 Presupuesto El presupuesto para el presenté proyecto se muestra en la siguiente tabla: Egresos Financiación Unidad Cantidad Costo por unidad Total Propia Recurso Humano Ingeniero de Sistemas 1 Horas 256* $45.000 $11’520.000 Propia Recurso Humano Ingeniero de Sistemas 2 Horas 256* $45.000 $11’520.000 Pontificia Uni- Horas Recurso Humano - versidad JaveDirector del riana trabajo de grado 40** $130.000 $5’200.000 Equipos de Pontificia Uni- Horas versidad Javelaboratorio de la Univer- riana sidad Ilimitada $0 $0 Papel Propia Resmas 1 $10.000 $10.000 Tinta Propia Cartuchos 1 negros HP LaserJet M1005 MFP $70.000 $70.000 Página 15 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica Propia Empastar documentos de trabajo de grado Unidad 1 $10.000 $10.000 Computador Propia personal Ingeniero 1 Unidad 1 $500,000 $500.000 Computador Propia personal Ingeniero 2 Unidad 1 $340,000 $340.000 Varios (transporte, alimentación, papelería, luz, agua) Propia Total $600.000 $29’770,000 *Este valor se obtiene de multiplicar las 4 horas de trabajo semanal planeadas para el segundo semestre de 2009 por el número de semanas de dicho semestre (16), y las 12 horas de trabajo semanal planeadas para el primer semestre de 2010 por las mismas semanas (16), cuando ya estemos viendo la asignatura Trabajo de Grado, de 4 créditos. Para un total de 256 horas. ** Este valor se obtiene de multiplicar las 2 horas de reunión cada cuatro semanas durante el primer semestre por el número de semanas del semestre (16) dividido en 4 (4), y las 2 horas semanales de reunión del segundo semestre por las 16 semanas que dura el semestre. Para un total de 40 horas. 4.5 Cronograma El siguiente es el cronograma que se llevará a cabo para el presente proyecto. Página 16 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica Página 17 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica 5 Referencias y Bibliografía 5.1 Referencias [1] Miguel Ángel Monroy Saavedra, ”Sistema de seguridad Social integral Colombiano, ley 100 de 1993 y decretos reglamentarios –Concordancias y Reformas”, Julio de 1996. [2] http://www.superfinanciera.gov.co/Normativa/Jurisprudencia2003/calculoactuarial004.htm [3]Loredana Helmsdorff, Departamento Nacional de Planeación, 2007, "Ampliación de cobertura del Sistema Pensional Colombiano y atención al adulto mayor" ISBN: 978-958-802597-1 [4] Paul Graham , “The road ahead”, September 2001 [5] l. Soto. Metodología investigación documental. Available: http://www.mitecnologico.com/Main/MetodologiaInvestigacionDocumental [6] M. Castillo. (2008, Octubre 21 2005). Método de estudio de caso. Available: http://www.usn.edu.mx/artman/publish/article_16.shtml [7] G. S. E., D. Y.A., A. P. J.I., R. C. M., B. L. M.L. and V. G. G. Aplicación y evaluación del estudio de casos como técnica docente en el área de ingeniería telemática. [8] R. Ruiz Limon. (2007, Historia y Evolución Del Pensamientos Científico. [9] V. Toro and M. C. Franky. (2009, Extreme programming. [10] D. Wells. (2006, February 17, 2006). Extreme programming: A gentle introduction. Available: http://www.extremeprogramming.org/ [11] R. Jeffries. Noviembre 8 de 2001. What is extreme programming? Available: http://www.xprogramming.com/xpmag/whatisxp.htm [12] Porvenir. ¿Cuál es la diferencia entre el régimen de prima media (ISS) y el régimen de ahorro individual (AFP)? Available: http://www.porvenir.com.co/portal/page?_pageid=813,4151810&_dad=portal&_schema=P ORTAL#tres [13] C. Richardson. February 27, 2006). What POJO is programming? Available: http://java.sys-con.com/node/180374 [14] E. Sabogal. Agosto 28, 2008). Renta vitalicia. Available: http://www.gerencie.com/renta-vitalicia.html Página 18 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica [15] Universidad de los Andes. (2005, Bono pensional. Available: http://rh.uniandes.edu.co/Seguridad_Social/Pensiones/pensiones_bono.php [16] R. Ramakrishnan, J. Gehrke Bases de Datos Relacionales Programación Web. Available: http://pages.cs.wisc.edu/~estan/cs638/slides/Lecture%2010%20%20Relational%20databases.pdf [17] A. Bien. Octubre 28, 2008). EJB3: From legacy technology to secret weapon. Available: http://www.javaworld.com/javaworld/jw-10-2008/jw-10-ejb3.html?page=6 [18] Rubio, Juan Carlos. Enterprise Java Beans, Centro Informático Científico de Andalucía Available: http://www.slideshare.net/jcrubio/curso-ejb3 [19] Anonymous 23 de Abril de 2009). Introducción a EJB 3. Available: http://soyunjuncohueco.wordpress.com/2009/04/23/introduccion-a-ejb-3/ [20] A. Bien, "JAVA EE 5 vs J2EE AND SOME ARGUMENTS FOR SWITCHING," Marzo 5 2007. [21] M. C. Franky. Abril de 2007). Java EE (sucesor de j2EE): El reto de volver a empezar. Available: http://servidor.acis.org.co/fileadmin/Conferencias/ConfConsueloFranky_Abr19.pdf [22] C. Richardson. February 27, 2006). What is POJO programming? Available: http://java.sys-con.com/node/180374 [23] I. Sun Microsystems. October 2008). The java EE 5 tutorial. Available: http://java.sun.com/javaee/5/docs/tutorial/doc/docinfo.html [24] The Independent guide to technology, API definition. Available: http://www.pcmag.com/encyclopedia_term/0,2542,t=API&i=37856,00.asp [25] PENSION DE VEJEZ - PENSION DE INVALIDEZ – REQUISITOS Concepto 2006008891-001 del 6 de Junio de 2006 [26] La rentabilidad del sistema privado de pensiones en el Perú: 1993-1997 Jorge Rojas Noviembre, 1998. [27] Sistema de Seguridad Social Integrado Colombiano, Miguel Ángel Monroy Saavedra 1996. [28] Mallarino Uribe, Consuelo. Alcances de la Seguridad Social en Colombia. Revista Papel Político Nº 9. 10 de Octubre de 1999. Página 19 Pontificia Universidad Javeriana Propuesta para Trabajo de Grado - Proyecto de Aplicación Práctica [29] Aproximación metodológica del cálculo de las reservas pensiónales para los afiliados activos de la caja nacional de previsión. Mayo 2005 [30] Rodrigo Alberto Castillo, Guillermo Suarez Moreno Principios actuariales de la seguridad, Tabla de Mortalidad de Rentistas, experiencia del ISS 1980/1989. [31] Building web applications With UML Second Edition, Octubre 2002 [32] Desarrollo de aplicaciones distribuidas [33] Kris Jamsa, Suleiman Lalani, Steve Weakly, Web Programming, 1996 [34] Página Oficial de PHP, 2009 [35] Davis Flanagan, Jim Farley, William Crawford, Kris Magnuson, Java Enterprise in a Nutshell, September 1999 [36] B. Bruegge and A. Dutoit. 1999, Object-Oriented Software Engineering. Página 20