Neotect S.A. Diseño de Alto Nivel Versión 2.0 Wolfgand Enrique Kook Camero 31/03/2010 HLD Especificación de Requerimientos de Software Autor: Neotect Universidad de los Andes Bogotá – Colombia Marzo de 2010 Historia de Revisiones Fecha Versión Descripción Autor <22/Marzo/2010> <1.0> <Elaboración Inicial> <Wolfgand Kook C.> Enrique <29/Marzo/2010> <1.1> <Detalle y especificación> <Wolfgand Kook C.> Enrique <31/Marzo/2010> <2.0> <Paso a monousuario> <Wolfgand Kook C.> Enrique 2 HLD Tabla de Contenidos 1 Introducción 1.1 Propósito 1.2 Alcance 1.3 Definiciones, Acrónimos, y Abreviaturas 4 4 4 4 2 Descripción General 2.1 Perspectiva del Producto 2.2 Funciones del Producto 2.3 Objetivo del Diseño 6 6 6 6 3 Arquitectura 3.1 Introducción 3.2 Datos 3.3 Comunicación 3.4 Módulos 3.4.1 Interfaz Gráfica de Usuario 3.4.2 Reglas de Negocio 3.4.3 Acceso a Datos 7 7 7 8 8 8 9 9 4 Operación 4.1 Tipos de Usuario 4.2 Escenarios 4.2.1 Gestión del Formulario 4.2.2 Calificación de Riesgo Crediticio 4.3 Instalación 4.4 Licenciamiento 10 10 10 10 10 11 11 5 Desarrollo 12 6 Apéndices 6.1 Conformidad con Estándares 6.2 Corrección de Errores 6.3 Seguridad 13 13 13 13 7 Tabla de Ilustraciones 14 3 HLD Especificación de Requerimientos de Software 1 Introducción Esta introducción al diseño de software de alto nivel (HLD) del sistema CreditScore provee una vision general del presente documento. Incluye un proposito general del documento, su alcance, y una lista de definiciones, acronimos, abreviaturas y referencias que serán de ayuda al analizar el presente documento. 1.1 Propósito El HLD describe a nivel conceptual la arquitectura del sistema a construir. Tambien describe decisiones claves acerca de la operación del mismo, de la forma en que este va a ser desarrollado, y otros factores necesarios para proveer una descripcion clara y completa del diseño de software. 1.2 Alcance Este HLD detalla la arquitectura de software del Sistema CreditScore, uno de los módulos pertenecientes al proyecto originación de crédito para el Banco de los Alpes. Este documento esta orientado para su uso por los miembros del equipo encargado de enmarcar el alcance del modulo. 1.3 Definiciones, Acrónimos, y Abreviaturas Basilea II: Segundo de los acuerdos del comité de regulación bancaria de Basilea creado con el fin de asegurar la protección de las entidades bancarias y financieras ante el riesgo operativo y crediticio. Impone una mejora sobre su predecesor al introducir el concepto de calidad crediticia1. CreditScore: Calificación de crédito en inglés. desarrollar. También, el nombre de la herramienta a FICO: Modelo para el cálculo de un puntaje de calificación de crédito, creado por Fair Isaac & Co. Java: Lenguaje de programación orientado por objetos, desarrollado por Sun Microsystems (Actualmente subsidiaria de Oracle Corporation.). SRS: Especificación de requerimientos de software. Se refiere al presente documento. 1 Fuente: Wikipedia. 4 HLD Swing: Librería del lenguaje Java que incluye funcionalidades de interfaz gráfica de usuario. WAN (Wide-Area-Network): Red de área amplia, una red empresarial que abarca más de una ubicación geográfica. 5 HLD 2 Descripción General 2.1 Perspectiva del Producto El sistema CreditScore es un sistema nuevo para el Banco de los Alpes, que pretende implantar las normas internacionales de validación de riesgo bajo el estándar Basilea II. Se pretende que el nuevo sistema evolucione a traves de varias liberaciones (versiones con cambios incrementales), permitiendo a los usuarios del territorio nacional conectarse a través de la red interna del Banco. 2.2 Funciones del Producto La función principal del sistema CreditScore es la de calcular el riesgo crediticio para un cliente en particular, de acuerdo al modelo FICO, desarrollado por Fair Isaac & Co., que se basa en un análisis estadístico del historial crediticio del cliente objeto de estudio, y retorna un valor entre 300 y 850, de acuerdo a una serie de fórmulas que, por desgracia, son una propiedad celosamente guardada de la compañía ya mencionada. 2.3 Objetivo del Diseño El principal propósito del diseño esbozado a continuación es facilitar el desarrollo del software CreditScore, así como su operación una vez implantado dentro del Banco de los Alpes, de forma que éste pueda ejecutar los requerimientos funcionales esbozados por el equipo de desarrollo dentro de la especificación de requerimientos de software, a la vez que pueda responder a los requerimientos no funcionales detallados en el mismo documento. 6 HLD 3 Arquitectura 3.1 Introducción CreditScore será desarrollado como un sistema monousuario que se encargará en una sola herramienta atómica de realizar todas las funcionalidades descritas en el documento de requerimientos. Se ha establecido, sin embargo, que se requiere de una división lógica entre 3 partes específicas del producto: Por una parte, los datos, que serán manejados dentro de una base de datos dentro del aplicativo. Por otra parte, las reglas de negocio, que serán el centro del mismo, y que permitirán el cálculo del puntaje crediticio. Finalmente, la interfaz gráfica de usuario, que se encargará tanto del cuestionario de preguntas como de capturar y desplegar la información del cliente. GUI Reglas de Negocio Datos 3.1 Modelo Arquitectónico 3.2 Datos Dentro de la arquitectura planteada, debe plantearse un modelo lógico que permita ingresar los datos del cliente y del crédito, y que permita asimismo el llenado del formulario de preguntas asociado al estándar FICO, y la obtención de resultados de acuerdo al mismo. Una idea de este modelo se plantea en el siguiente diagrama: 7 HLD class mundo Cliente 1 Clasifica 1 Respuesta Scoring 1..* 1 Contesta Analiza 1 1 Pregunta Cuestionario Agrupa * 1 1..* Pertenece 1 Categoria 3.2 Modelo de Mundo Dentro de dicho modelo tenemos el sistema Scoring, que consta de un cliente, con todos sus datos, y de un cuestionario, que a su vez se compone de preguntas. Cada una de estas preguntas tiene una serie de respuestas posibles, y una única que la contesta. Finalmente, cada pregunta pertenece a una categoría, lo cual facilita la ponderación de las mismas. 3.3 Comunicación No aplica. 3.4 Módulos De acuerdo a lo planteado anteriormente, la herramienta CreditScore se compone de 3 módulos, a saber: 3.4.1 Interfaz Gráfica de Usuario El Banco de los Alpes ha establecido que la comunicación con el usuario se hará a través de una interfaz desarrollada principalmente sobre la librería Swing de Java. 8 HLD Se espera que la herramienta sea de fácil uso por parte de los analistas de riesgo crediticio. Se espera que ésta sea intuitiva, antes que proporcionar ayuda en línea para su funcionamiento. 3.4.2 Reglas de Negocio Este módulo se dedicará a los cálculos principales con el fin de obtener la calificación del usuario, dentro de los rangos de calificación establecidos, de acuerdo a los valores de cada una de las posibles respuestas, y a los pesos comparativos de cada una de las secciones. El área de Reglas de Negocio es un área sensible, pues en ella se basa gran parte de la funcionalidad de la herramienta. 3.4.3 Acceso a Datos Este último módulo incluye la base de datos en la que se almacenará la información del cliente, así como la respuesta a sus preguntas, y su calificación, con el fin de dar respuesta a consultas posteriores. Asimismo, incluye todos los módulos operacionales destinados a que dichos datos puedan ser accedidos por el resto de la aplicación. 9 HLD 4 Operación 4.1 Tipos de Usuario Se proyecta que los usuarios principales de la herramienta CreditScore serán los analistas de la división de riesgo crediticio del Banco de los Alpes, quienes se conectarán con la herramienta a través de la WAN, y se encargarán de ingresar la información en la misma, para así obtener un estimado de la puntuación del cliente objeto de estudio. Asimismo, el gerente de la división de riesgo va a tener potestades administrativas sobre la herramienta, teniendo la capacidad de realizar ajustes sobre la misma para mejorar el cuestionario y para afinar el análisis estadístico, con el fin de refinar el cálculo del puntaje FICO. 4.2 Escenarios 4.2.1 Gestión del Formulario El gerente de la división de riesgo tendrá la potestad de crear, consultar, modificar y eliminar una sección del formulario de preguntas. Sobre cada sección podrá manipular el peso porcentual de la sección sobre el peso total del formulario, y obtendrá un listado de cada una de las preguntas pertenecientes a dicha sección. En la misma forma, sobre cada pregunta, el gerente podrá modificar su redacción, su peso porcentual sobre la sección, y podrá visualizar las posibles respuestas. Finalmente, el gerente tendrá la potestad de crear, consultar, modificar y eliminar cada una de las respuestas a una pregunta del formulario. Sobre cada respuesta podrá modificar su redacción y el puntaje que otorga. Asimismo, podrá establecer que una cierta respuesta se encuentre encadenada a una nueva pregunta (V.G. Si la respuesta a una pregunta de “¿Tiene hijos?” es “Sí”, se podrá parametrizar una nueva pregunta de “Cuantos”). 4.2.2 Calificación de Riesgo Crediticio El analista de riesgo ingresará la información básica del cliente: Básicamente información de tipo demográfico e informativo, que incluye, pero no se limita, a nombres, apellidos, edad, género, ciudad, profesión, etc. Una vez hecho esto, el analista ingresará a la primera sección del formulario, donde ingresará información adicional basada en el historial crediticio del cliente prospecto para una de las preguntas de la sección. Al terminar la sección en cuestión, pasará a la siguiente sección. El procedimiento descrito para la primera sección se repetirá para las secciones siguientes, hasta llegar a la última, en donde el analista encontrará que la opción de pasar a una nueva sección será reemplazada por la de calcular puntaje. 10 HLD Una vez ingresada la totalidad de los datos del formulario para el cliente, al ingresar a la opción de calcular puntaje se obtendrá un estimado del puntaje FICO para el mismo, de acuerdo a las respuestas dadas en cada una de las secciones, y a la ponderación de cada una de las mismas. 4.3 Instalación Por seguridad, la instalación de la aplicación CreditScore se realizará directamente por el equipo de Neotect en los servidores del Banco de los Alpes. Se dejará asimismo en el servidor de descarga de aplicaciones del banco una herramienta de instalación automática del cliente de la aplicación, que podrá en adelante ser descargada e instalada por cualquier miembro del banco que tenga las credenciales apropiadas. Dichas credenciales serán manejadas en forma externa por el software del servidor de descarga de aplicaciones. 4.4 Licenciamiento Dada la sensibilidad del tema de riesgo crediticio, el Banco de los Alpes ha solicitado a Neotect el licenciamiento para uso total, sin límite de usuarios o de cualquier otra clase, de la herramienta de calificación de riesgo, y la entrega total del código fuente y los ejecutables elaborados para el desarrollo de la misma. 11 HLD 5 Desarrollo El Banco de los Alpes ha establecido Java como el lenguaje de programación sobre el cual debe desarrollarse el proyecto, y que la comunicación con el usuario se hará a través de una interfaz desarrollada principalmente sobre la librería Swing. El desarrollo de la aplicación se realizará de acuerdo a los módulos previamente mencionados, con un equipo de desarrollo enfocándose en cada uno de los tres módulos, bajo la coordinación del líder de desarrollo del equipo, quien fijará los estándares para la comunicación de los diferentes módulos, así como los estándares tanto de codificación como de despliegue de los mismos. 12 HLD 6 Apéndices 6.1 Conformidad con Estándares El resultado obtenido de la calificación de riesgo crediticio a través del sistema desarrollado deberá adherirse al proporcionado por el estándar FICO. En ningún caso el puntaje obtenido será menor a 300 o mayor a 850. 6.2 Corrección de Errores Se debe asegurar que el producto cumple con los más altos estándares de calidad. Para ello, el proveedor deberá asegurar que hallará el 90% de los defectos insertados en el código, y que el 100% de estos defectos que sean categorizados como inaceptables por parte del banco serán corregidos antes del paso de la herramienta a un ambiente de producción. 6.3 Seguridad Para la transmisión de los datos sensibles del cliente se buscarán canales seguros a través de HTTPS. Cualquier dato sensible del cliente o del usuario, como contraseñas, o datos de historial crediticio, será almacenado en forma encriptada. 13 HLD 7 Tabla de Ilustraciones 3.1 Modelo Arquitectónico ........................................................................................................................... 7 3.2 Modelo de Mundo .................................................................................................................................. 8 14