Diseño de Alto Nivel

Anuncio
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
Descargar