ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual...

123
ANÁLISIS Y DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL CÁLCULO Y ADMINISTRACIÓN DE CRÉDITOS, EN EL SECTOR FINANCIERO. Fabián Andrés Cuervo Fajardo Código 533012 FUNDACIÓN UNIVERSITARIA KONRAD LORENZ FACULTAD DE INGENIERÍA DE SISTEMAS BOGOTÁ 2008

Transcript of ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual...

Page 1: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

ANÁLISIS Y DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL CÁLCULO Y ADMINISTRACIÓN DE CRÉDITOS, EN EL SECTOR

FINANCIERO.

Fabián Andrés Cuervo Fajardo

Código 533012

FUNDACIÓN UNIVERSITARIA KONRAD LORENZ

FACULTAD DE INGENIERÍA DE SISTEMAS

BOGOTÁ

2008

Page 2: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

1

ANÁLISIS Y DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL CÁLCULO Y ADMINISTRACIÓN DE CRÉDITOS, EN EL SECTOR

FINANCIERO.

PROYECTO DE GRADO PARA OBTENER EL TITULO

DE INGENIERO DE SISTEMAS

Fabián Andrés Cuervo Fajardo

Director:

Ingeniero Gustavo Herazo

FUNDACIÓN UNIVERSITARIA KONRAD LORENZ

FACULTAD DE INGENIERÍA DE SISTEMAS

BOGOTÁ

2008

Page 3: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

2

Nota de aceptación

____________________________

____________________________

____________________________

Presidente del jurado

______________________________ Jurado

______________________________

Jurado

Bogotá _____________________ (DD-MM-AAAA)

Page 4: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

3

Dedicado a mis padres

Lucio y Rosa Elena por

su apoyo y dedicación

en mi proceso formativo

Page 5: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

4

AGRADECIMIENTOS

Agradezco a todas las personas que me han acompañado en todo el proceso educativo a través de este largo camino de estudio y dedicación, agradecimiento especialmente a:

Ingeniero Gustavo Herazo Pérez, por su gran colaboración en todo el proceso de análisis y diseño del presente proyecto de investigación.

Ingeniero Javier Ávila, gracias a su dedicación, experiencia y conocimientos, que con criterios éticos y profesionales, compartió en estos últimos semestres.

Ingeniero Germán Vargas, por su entusiasmo, optimismo y su desempeño en la labor docente, generando en los estudiantes deseos de continuar y gusto por la carrera.

Paula y Fidgeral, compañeros que en el transcurso de los años fueron apoyo y compañía en este largo camino.

Page 6: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

5

TABLA DE CONTENIDO

1 ASPECTOS DE LA INVESTIGACIÓN ........................................................ 8 1.1 DESCRIPCIÓN DEL PROBLEMA ........................................................... 8 1.2 JUSTIFICACIÓN DEL PROYECTO DE INVESTIGACIÓN ...................... 9 1.2.1 Razones sociales ................................................................................. 9 1.2.2 Razones económicas .......................................................................... 9 1.2.3 Razones técnicas ................................................................................. 9 1.2.4 Razones organizacionales ................................................................ 10 1.2.5 Razones metodológicas .................................................................... 10 1.3 DELIMITACIÓN ...................................................................................... 10 1.3.1 Espacial .............................................................................................. 10 1.3.2 Cronología .......................................................................................... 10 1.3.3 Conceptual ......................................................................................... 11 1.3.4 Financiera ........................................................................................... 11 1.3.5 Metodológica ...................................................................................... 11 1.4 OBJETIVOS ........................................................................................... 13 1.4.1 General ............................................................................................... 13 1.4.2 Específicos ......................................................................................... 13 1.5 PROPÓSITO........................................................................................... 14 2 MARCO TEORICO .................................................................................... 16 2.1 ANTECEDENTES ................................................................................... 16 2.1.1 Históricos ........................................................................................... 16 2.1.1.1 Los Inicios: La Roma Imperial ....................................................... 16 2.1.1.2 La Edad Media ................................................................................. 17 2.1.1.3 El renacimiento y el desarrollo del capitalismo ........................... 17 2.1.2 Legales ............................................................................................... 18 2.1.3 Investigativos ..................................................................................... 19 2.2 BASES TEÓRICAS ................................................................................ 22 2.2.1 Definición de Crédito ......................................................................... 22 2.2.2 Tipos de Créditos ............................................................................... 23 2.2.2.1 Crédito de libre inversión ............................................................... 23 2.2.2.2 Leasing Habitacional ...................................................................... 23 2.2.2.3 Créditos de estudios ...................................................................... 23 2.2.2.4 Créditos hipotecarios ..................................................................... 24 2.2.3 Interés ................................................................................................. 24

Page 7: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

6

2.2.3.1 Interés simple e interés compuesto .............................................. 24 2.2.4 Amortización ...................................................................................... 25 2.2.5 Rentabilidad ....................................................................................... 25 2.3 TEORÍAS GENÉRICAS BASADAS EN LA INGENIERÍA ..................... 25 2.3.1 Productos del Modelo ....................................................................... 27 2.4 MARCO CONCEPTUAL ........................................................................ 28 2.4.1 Metas a alcanzar ................................................................................ 28 2.4.3 Enfoque .............................................................................................. 28 2.4.4 Necesidades a satisfacer .................................................................. 28 2.4.5 Controles ............................................................................................ 29 2.4.5 Servicios ............................................................................................. 29 3 DISEÑO METODOLÓGICO ...................................................................... 30 3.1 TIPO DE INVESTIGACIÓN DESCRIPTIVA ........................................... 30 3.2 ANÁLISIS ............................................................................................... 30 3.2.1 Metodología para el análisis ............................................................. 30 3.2.1.1 Análisis orientado a objetos .......................................................... 30 3.2.1.2 Business Process Management .................................................... 31 3.3 DISEÑO .................................................................................................. 32 3.3.1 Diseño Lógico .................................................................................... 32 3.3.2 Diseño Lógico .................................................................................... 65 3.3.2.1 Diseño base de datos ..................................................................... 65 3.3.2.1.1 Aspectos físicos de la base de datos ........................................ 65 4 ANÁLISIS DE RESULTADOS Y CONCLUSIONES ................................. 71 4.1 CODIFICACIÓN DEL PROGRAMA ....................................................... 71 4.2 BANCO DE PRUEBAS .......................................................................... 71 4.2.1 Pruebas de función ............................................................................ 72 4.2.2 Pruebas modulares ............................................................................ 73 4.2.3 Pruebas de Documentación y Ayuda ............................................... 74 4.2.4 Pruebas de Seguridad y Control ...................................................... 75 4.2.5 Pruebas de Calidad ............................................................................ 75 4.3 INFORME DE PRUEBAS ....................................................................... 76 5 CONCLUSIONES ...................................................................................... 83 6 RECOMENDACIONES .............................................................................. 85 BIBLIOGRAFÍA ............................................................................................ 86

Page 8: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

7

INTRODUCCIÓN

Actualmente en la red se encuentra una gran gama de simuladores de

cálculo de Intereses, de calculadoras intereses y software de Créditos, los

cuales están limitados a solo calcular los Créditos dependiendo del interés, la

tasa y desplegar los resultados del monto total a pagar.

Anexo a estas aplicaciones se encontró varios formatos de Excel en los

cuales también se tiene la funcionalidad de calcular los Créditos, los cuales

trabajan con macros y subprogramas realizados en Visual Basic.

Todo este software que se ha encontrado en la búsqueda de aplicaciones

que realicen cálculos y administración de Créditos son software propietario y

demos de programas los cuales tienen funcionalidad limitada y son de alto

costo, excepto las calculadoras las cuales son un servicio que se presta de

forma gratuita.

Ahora en la actualidad existen empresas que comercializan con créditos y no

se posee con el software necesario para el cálculo y la administración de

esto más que en Hojas de cálculo, y aplicaciones que no cubren totalmente

sus necesidades, ya que no acompañan todo el proceso del Crédito, solo el

cálculo de las cuotas y los intereses del Crédito con las limitantes de la hoja

de cálculo y de los conocimientos de la persona que opera estos cálculos.

Page 9: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

8

1. ASPECTOS DE LA INVESTIGACIÓN

1.1. DESCRIPCIÓN DEL PROBLEMA

Las exigencias del mercado y los nuevos modelos económicos que nacen a

diario, exigen de las compañías prestadoras de servicios financiaros, la

utilización de varias clases de software hechos a la medida, dependiendo de

los tipos de crédito que ofrezcan, que les permitan un mejor manejo y

desempeño de los intereses a cobrar, así mismo, que permitan administrar

los pagos que se realizan de la deuda.

En la Internet se pueden encontrar distintas clases de calculadoras de

intereses y plantillas en Excel, sin embargo, estos sistemas no contribuyen a

la elaboración, manejo de datos y clasificación de resultados, necesarios y

vitales para administración eficiente de la información, haciendo difícil la

labor de una empresa, pues las bases de este software son clásicas y

simples.

Presentando este problema, se pudo evidenciar en la investigación, que es

muy poco el software que ofrecen estas facilidades de forma integral,

además, que lo pueda hacer a bajos costos. Esto implica a las empresas que

solicitan este tipo de software, que deban desarrollarlo por sus propios

medios o que lo tengan que comprar ya desarrollado, exponiéndose a

adquirir algo que en un futuro sea obsoleto, o peor, que no ofrezca lo que

realmente necesita la entidad.

El fin del desarrollo de este software, es ofrecer a las empresas prestadoras

de servicios crediticios, la administración eficiente y a la medida, del cálculo

de los créditos otorgados y ejecutados, el porcentaje de los intereses que se

deben cobrar y el monto y tiempo de los pagos.

Page 10: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

9

1.2 JUSTIFICACIÓN DEL PROYECTO DE INVESTIGACIÓN

La importancia de este proyecto radica en que ofrece múltiples soluciones

para las entidades prestadoras de servicios financieros, que van desde

administrar eficientemente la lista de clientes, hasta calcular las tasas de

interés a las que están sometidos los créditos.

1.2.1 Razones sociales

Entre las razones sociales que existen para la elaboración de este proyecto,

se encuentran la importancia de suplir las necesidades de las empresas que

ofrecen créditos. También brindar soluciones prácticas, confiables y

eficientes de un modelo novedoso que permitirá gestionar y administrar los

recursos manejados a través de créditos otorgados a los usuarios que los

soliciten.

1.2.2 Razones económicas

Se busca crear el software con el fin de que las compañías que lo soliciten

puedan adquirirlo a bajos costos, ya que entre los pocos sistemas que se

encuentran en el mercado, los precios son elevados comparados con el que

se ofrece en este proyecto.

1.2.3 Razones técnicas

La aplicación podrá ser utilizada en equipos con plataforma Windows, en el

lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server

2005 Express Edition, versión freeware, ya que estas herramientas son de la

misma casa de software, son compatibles entre ellas y son populares a nivel

computacional en la actualidad.

Page 11: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

10

1.2.4 Razones organizacionales

Las compañías que cuenten con un software como este, tendrán la

posibilidad, de agilizar los procesos, de tener una estricta organización de

sus clientes, de saber con exactitud los créditos otorgados, los montos

cancelados, las tasas de interés a las que están sometidos los créditos, entre

otros aspectos. Así mismo, tendrán la facilidad de adquirirlo, pues los bajos

costos del software, son competitivos frente a los demás que se encuentran

en el mercado.

1.2.5 Razones metodológicas

Realizar un software basándose en el cálculo de intereses y amortización de

cuotas, teniendo como partida la matemática financiera y la teoría de cálculo

de tasas de interés simple, compuesto y nominal, como base fundamental

para cumplir el propósito principal del proyecto.

1.3 DELIMITACIÓN

1.3.1 Espacial

El proyecto se realiza en las instalaciones de la Fundación Universitaria

Konrad Lorenz, bajo la coordinación del área de investigaciones, en donde

se entregaran actas semanales para la asignatura Proyecto de Grado.

1.3.2 Cronología

El proyecto se realiza en un lapso de tiempo de 4 meses, en los cuales se

cumplirá con cada una de las fases a desarrollar en el tiempo determinado

Page 12: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

11

para la entrega total del proyecto. Teniendo presente los entregables

periódicos al área de investigación.

1.3.3 Conceptual

En el proyecto se realiza la investigación de matemáticas financieras

enfatizándose en el cálculo de intereses, rentabilidad y amortización de

cuotas, así mismo se realizara un estudio del manejo de la base de datos

Microsoft SQL Server 2005 Express Edition, ya que es una herramienta

nueva para el equipo de trabajo.

1.3.4 Financiera

Para la realización del proyecto se contará con los siguientes recursos físicos

y tecnológicos:

• Equipo de computo $ 1’500.000

• Conexión Internet $ 160.000

• Papelería $ 160.000

• CD’s $ 20.000

• Servicio público – Luz $ 48.000

• Otros Gastos personales $100.000

1.3.5 Metodológica

A nivel metodológico se trabajó el modelo de Análisis y Diseño orientado a

Objetos debido a la orientación del proyecto y también por el lenguaje en el

cual se realizará, en todo el CVDS (Ciclo de Vida de Desarrollo de Software),

dado que esta metodología tiene un conjunto de disciplinas que desarrollan y

Page 13: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

12

modelan el software y facilitan la construcción de sistemas complejos a partir

de componentes.

Para la construcción y el modelado de todos los componentes del proyecto a

nivel de software se utilizó la herramienta UML, [1] las siglas corresponden a

Lenguaje Unificado de Modelado (Unified Modeling Language), la definición

de UML se puede obtener descomponiendo las palabras que la conforman.

Lenguaje: como todo lenguaje cuenta con una sintaxis y una semántica, por

lo tanto al realizar cualquier modelo es necesario conocer una serie de reglas

de cómo es el manejo de los elemento s en el lenguaje

Modelado: con él se modelan los aspectos del mundo real, los cuales

permiten la correcta interpretación y entendimiento de este.

Unificado: es unificado ya que agrupa varias técnicas de modelado en un

solo modelo.

El proyecto se desarrollo a nivel de programación siguiendo un patrón de

diseño, modelo vista controlador, el cual es bastante acorde con el modelo

de Análisis y diseño orientado a objetos.

Patrón Modelo-Vista-Controlador

[2] Este patrón se utiliza en diseño de aplicaciones con sofisticadas

interfaces. El fin es realizar un diseño que separe la vista del modelo, esto

para aprovechar la reusabilidad de código, de tal forma que el cambio en las

vistas no afecten el modelo del negocio y el modelo de datos, por otra parte

al utilizar la herramienta .Net para el proyecto, en futuro se podrá llevar a la

web por medio de ASP.Net, utilizando la misma controladora y el mismo

modelo, para entender mejor cada uno de los componentes del modelo, se

describen a continuación.

Page 14: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

13

El modelo es el responsable de:

Acceder a la capa de almacenamiento de datos. Es ideal que el modelo sea

independiente del sistema de almacenamiento. Define las reglas de negocio.

El controlador es responsable de:

Recibe los eventos de entrada Contiene reglas de gestión de eventos, tanto

de la vista como del modelo.

Las vistas son responsables de:

Recibir datos del modelo y mostrarlos al usuario, así como hacer el proceso

contrario recibir los datos del usuario y registrarlos en el modelo para que

sean procesados y registrados,

1.4 OBJETIVOS

1.4.1 General

Desarrollar un Sistema de Información, para el cálculo y administración de

préstamos monetarios en el sector financiero, utilizando un modelo

metodológico de Ingeniería de Software, que haga más óptimos los procesos

organizacionales en las empresas.

1.4.2 Específicos

1.4.2.1 Realizar el levantamiento de información necesario, para la

gestión del proyecto a nivel conceptual, metodológico, jurídico y

operacional, con respecto al cálculo de intereses y administración de

créditos financieros.

Page 15: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

14

1.4.2.2 Elaborar el análisis y diseño respectivo de la aplicación, con los

lineamientos metodológicos tanto de software, como del modelado del

negocio

1.4.2.3 Desarrollar la aplicación con estándares abiertos, utilizando la

metodología adecuada, con fases definidas.

1.4.2.4 Realizar la fase de pruebas de forma adecuada, con los

parámetros necesarios para asegurar el correcto funcionamiento de la

aplicación tanto funcional como operativo.

1.4.2.5 Realizar la documentación respectiva a los manuales de

instalación, técnico y de usuario.

1.4.2.6 Documentar todos los procesos desarrollados en el proyecto de

acuerdo a las normas de investigación que están descritas en el

método científico.

1.5 PROPÓSITO

El propósito de este proyecto, es conseguir que las empresas prestadoras de

servicios financieros en el país, tengan un software hecho a la medida de sus

necesidades, que les permita administrar de forma eficiente los recursos

otorgados a sus clientes por medio de créditos.

Así mismo, se busca consolidar al interior de las compañías, la importancia

de tener una buena administración de sus datos por medio de un programa

económico que ofrece todas las ventajas de un sistema que esté identificado

Page 16: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

15

en otro nicho de mercado, y que por supuesto tenga unos costos más

elevados.

Page 17: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

16

2. MARCO TEÓRICO

2.1 ANTECEDENTES

2.1.1. Históricos

A través de la Historia se ha realizado todo tipo de manejo e intercambio de

dinero y bienes, siempre orientado a tener una ganancia o una rentabilidad al

realizar esta negociación, aun yendo más atrás en la historia se sabe del

intercambio de elementos perteneciente a las culturas, partiendo de las

necesidades que se presentaban en la época. A continuación se mencionara

algunos hechos principales en el trayecto de los créditos y el manejo de

tasas de Interés.

2.1.1.1 Los inicios: la roma imperial

[3] la historia de las tasas de interés se encuentra relacionada con la

creación del dinero y así mismo de los bancos como segunda medida.

Las tasas de interés desde esta época estuvieron ligadas a realizar un

receso en la actividad económica en el presente para obtener una

recompensa económica a futuro, lo que se conoce en esta época como

ahorro, para la población en esta época era bastante llamativo tener

ganancias de su dinero solo con el hecho de dejar de consumir ahora, desde

la roma imperial, en el tema, hay dos conceptos que son bastante

importantes el capital y el tiempo, aparte de la tasa de interés con la cual se

realiza el préstamo, otro factor primordial es la ganancia que tiene el banco y

los gastos operativos que este representen.

Page 18: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

17

En la roma antigua los intereses no se encontraban regulados como en esta

época, pero cabe resaltar que existía la banca comercial y los préstamos a

interés, y retomando lo primero en ocasiones el deudor y su familia

quedaban sumidos a la esclavitud, o estas deudas eran cobradas con la vida,

para satisfacción personal del prestamista, al no tener el dinero de

reembolso. En nuestra época este hecho es el que conocemos como usura y

hay leyes que amparan a las personas que son acreedores de un préstamo,

pero en la época de la roma antigua era practicado de los nobles con los

plebeyos sin ningún tipo de ley que protegiera el plebeyo y si con todos los

derechos sobre el noble.

2.1.1.2 La edad media

[3] Aunque a principios de la edad media la iglesia se vio apática al préstamo

de dinero, llego a considerarlo hasta un pecado y tachaba el oficio de

prestamista como bajo, pero en la época debido a la guerra y los grandes

costos que esta generaba, la iglesia empezó a ceder espacio para los

préstamos, ya que varios de ellos Iban dirigidos a la iglesia, de hecho con el

amparo de la iglesia se hicieron una gran cantidad de fortunas.

De esta forma y con el apoyo de la iglesia surgió la justificación ideológica

para la burguesía, desde ese entonces, prestar dinero y trabajar en industrias

para obtener un beneficio era una actividad digna y con amparo de la ley

2.1.1.3 El renacimiento y el desarrollo del capitalismo

[3] Con el capitalismo, las tasas de interés fueron un papel bastante

importante en las transacciones regulares que se realizaban en esta época,

ya que el crédito y el ahorro funcionaron en torno de la acumulación de

capital, desde este entonces y con los antecedentes de la roma antigua y la

edad media, el estado comenzó a regular las tasas de interés, de esta forma

Page 19: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

18

tomo control el gobierno sobre los prestamos y los intereses siendo la primer

potencia en el capitalismo.

2.1.2 Legales

En la actualidad el Gobierno Nacional tiene establecidas varias normas que

hablan sobre el manejo de la captación de dinero de las personas por parte

de las entidades bancarias en Colombia, entre las que se encuentra:

Ley 45 de 1990

[4] Por la cual se expiden normas en materia de intermediación financiera,

se regula la actividad aseguradora, se conceden unas facultades y se dictan

otras disposiciones.

Ley 35 de 1993

[4] Por la cual se dictan normas generales y se señalan en ella los objetivos

y criterios a los cuales debe sujetarse el Gobierno Nacional para regular las

actividades financiera, bursátil y aseguradora y cualquier otra relacionada

con el manejo, aprovechamiento e inversión de recursos captados del

público y se dictan otras disposiciones en materia financiera y aseguradora.

Ley 546 de 1999

[4] Por la cual se dictan normas en materia de vivienda, se señalan los

objetivos y criterios generales a los cuales debe sujetarse el Gobierno

Nacional para regular un sistema especializado para su financiación, se

crean instrumentos de ahorro destinado a dicha financiación, se dictan

medidas relacionadas con los impuestos y otros costos vinculados a la

construcción y negociación de vivienda y se expiden otras disposiciones.

Page 20: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

19

Ley 964 de 2005

[4] Por la cual se dictan normas generales y se señalan en ellas los objetivos

y criterios a los cuales debe sujetarse el Gobierno Nacional para regular las

actividades de manejo, aprovechamiento e inversión de recursos captados

del público que se efectúen mediante valores y se dictan otras disposiciones.

Ley 510 de 1999

[5] Por la cual se dictan disposiciones en relación con el sistema financiero y

asegurador, el mercado público de valores, las Superintendencias Bancaria y

de Valores y se conceden unas facultades.

Ley 550 de 1999

[6] Por la cual se establece un régimen que promueva y facilite la

reactivación empresarial y la reestructuración de los entes territoriales para

asegurar la función social de las empresas y lograr el desarrollo armónico de

las regiones y se dictan disposiciones para armonizar el régimen legal

vigente con las normas de esta ley.

2.1.3 Investigativos

Otro software que se encuentran en el mercado a nivel mundial, presentan

características similares a las que en este proyecto se están desarrollando.

[9] Credit2Win Profesional 2007, este paquete de software es bastante

completo para la compañía que requiera llevar el control de los créditos

realizados, No los calcula, se basa en el ingreso de la información al sistema

y la generación de múltiples reportes, en el momento solo está disponible en

el idioma Ingles, la parametrización es bastante compleja. Es bastante

completo en cuanto a los reportes se refiere, posee la opción de crear

reportes personalizados por el usuario, el uso del software es complejo, no

Page 21: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

20

es compatible con otros paquetes similares, la base de datos está inmersa

en el paquete, su fin no es solo el manejo de créditos sino generadores de

cartas de crédito, manejo de contactos, tareas de gerencia, planificación

horaria y contactos, por lo cual pierde el énfasis de la amortización y

rendimiento en créditos financieros, la versión gratuita viene completa, pero

solo dura 7 días y es necesario comprarlo para seguirlo usando. Como se ve

en la figura se llevan la parametrización de la compañía los individuos, los

créditos, los contactos, los eventos, las tareas y los usuarios. Anexo a esto la

seguridad es mínima para el usuario

Tipo: Shareware, Costo: $495.00 US, Tamaño: 12415 K.

Page 22: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

21

[10] LoanSpread, es un software completo para el cálculo de tasas de

intereses, se acerca bastante al presente proyecto, al tomar diversas tasas

por periodos, según un valor indicado para el cálculo de estos, maneja

diversas tasas de interés, tomando como base el valor de la tasa ingresada

al sistema, es una herramienta bastante completa en cuanto al cálculo de

intereses, pero no administra los créditos que se realizan, ni lleva el control

de los pagos, está disponible solo en ingles, su uso es bastante sencillo, la

versión demo solo da la posibilidad de usarlo 10 veces, luego hay que

comprarlo, no tiene opción de reportes, la información que se obtiene solo se

pude imprimir de forma plana, no tiene ningún tipo de seguridad anexa al

software, en la imagen se realizo un crédito de $ 5000000, tasa de interés de

8,75%, con calculo mensual y para pagos en 10 meses los cual arrojo la

cuota de 520270,59. Y muestra las tasas cercanas ascendente y

descendente, como los valores cercanos en múltiplos de mil, lo cual no es

muy útil para la administración solo para la simulación de un crédito.

Tipo: Shareware, Costo: $29.95 US, Tamaño: 1889 K

Page 23: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

22

El proyecto que se está realizando tiene como propósito combinar las

funcionalidades de estos dos y generar las amortizaciones de créditos con

gran cantidad de opciones y la administración de este a futuro y con pagos

completos de cuotas.

2.2 BASES TEÓRICAS

2.2.1 Definición de Crédito

[11] El crédito es un préstamo de dinero que el Banco o una entidad otorga a

su cliente, con el compromiso de que en el futuro, el cliente devolverá dicho

Page 24: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

23

préstamo en forma gradual (mediante el pago de cuotas) o en un solo pago y

con un interés adicional que compensa al Banco o a la entidad por todo el

tiempo que no tuvo ese dinero.

2.2.2 Tipos de Créditos

En el proyecto se manejan diversos tipos de créditos y se tiene la ventaja de

poder parametrizarlos según la necesidad de la entidad que este prestando

el servicio. Aunque generalmente se diferencia solamente entre créditos

personales y créditos hipotecarios, también se distinguen los siguientes tipos

de créditos:

2.2.2.1 Crédito de libre inversión

Son utilizados al gusto del solicitante o para suplir una necesidad, no tiene un

fin en común, por lo general la cantidad de dinero no es muy alta debido a

que no siempre es para generar alguna rentabilidad.

2.2.2.2 Leasing Habitacional

Es la opción de financiar la compra de un inmueble o un activo en caso de

las compañías, mediante un contrato de arrendamiento financiero con opción

de compra.

2.2.2.3 Créditos de estudios

Son Créditos dirigidos a estudiantes para financiar matriculas universitarias,

estudios de postgrado o estudio en el extranjero. Por lo general el pago de

estos créditos se realiza al finalizar los estudios y devengar un salario el

aspirante al crédito. También en ocasiones este crédito se renueva

dependiendo de las calificaciones del aspirante.

Page 25: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

24

2.2.2.4 Créditos hipotecarios

El Crédito hipotecario se caracteriza porque, aparte de la garantía personal,

se ofrece como garantía la hipoteca de un bien inmueble. En caso de no

devolver el Crédito la entidad financiera pasaría a ser la propietaria de la

vivienda.

2.2.3 Interés

Corresponde a la renta que se paga por el uso de un capital durante un

determinado tiempo.

I = P – F

Donde: P= capital, I= interés, F= cantidad acumulada

Esta cantidad recibe diferente nombres comerciales como interés, utilidad,

variación del dinero en el tiempo, rentabilidad, entre otros.

2.2.3.1 Interés simple e interés compuesto

Para el proyecto el concepto de interés simple y compuesto son

fundamentales para la amortización de las cuotas debido al tiempo y al tipo

de pago que se va a realizar, ya que con esta información se realizara los

cálculos de los interés basándose en estos tipos de interés, El interés simple

es el que se obtiene cuando los intereses producidos, durante todo el tiempo

del crédito, se deben únicamente al capital inicial. Por su parte, el interés

compuesto es el que se obtiene cuando al capital se le suman

periódicamente los intereses producidos. Así al final de cada periodo el

capital que se tiene es el capital anterior más los intereses producidos por

ese capital durante dicho periodo.

Page 26: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

25

En el desarrollo se aplica los intereses compuestos para realizar el cálculo de

las cuotas de los créditos por medio de la siguiente formula.

S = P(1+in)

Donde: P= valor crédito, i= tasa de interés, n= numero de cuotas

En el proyecto esta es la formula base para el cálculo de intereses, en la

formula, el valor de n está reflejado en meses, por lo cual para realizar el

cálculo es necesario expresarlo en días

2.2.4 Amortización

[12] Una amortización es una disminución gradual o extinción gradual de

cualquier deuda durante un periodo de tiempo. La amortización de un crédito

se da cuando se realiza al prestamista un reembolso de dinero prestado en

un cierto plazo y con tasas de interés.

2.2.5 Rentabilidad

Cuando se menciona le termino de rentabilidad se hace referencia más a las

ganancias que a las pérdidas generadas por el crédito, en términos del

proyecto son ganancias en dinero o la remuneración recibida por el capital

invertido.

2.3 TEORÍAS GENÉRICAS BASADAS EN LA INGENIERÍA

Para el desarrollo del proyecto se utilizo un motor de base de Microsoft SQL

Server 2005 Express Edition, versión freeware, donde se realizo la base de

datos para el almacenamiento de la información, relacionada con los

Page 27: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

26

créditos, los clientes, las cuotas y al parametrización que se realiza en el

sistema.

La aplicación se realizó para plataformas Microsoft. El lenguaje de

programación que se utilizo para el desarrollo de la aplicación es Visual

Basic .NET.

Microsoft SQL Server 2005 Express Edition

El proyecto se realizo con esta base de datos por motivos de compatibilidad

con el lenguaje de programación, por otra parte por motivos de trabajar con

una herramienta poderosa y nueva para el equipo de programación, desde el

comienzo del proyecto se desconocía el manejo de la herramienta. [13] SQL

Server Express es un producto de base de datos gratis y fácil de usar,

basado en tecnología SQL Server 2005. Está diseñado para brindar una

simplicidad de uso, permitiendo instalaciones rápidas. La facilidad de uso

comienza con una instalación robusta de la interface del usuario grafica

(GUI) que guía al usuario a través del proceso de instalación. Las

herramientas GUI que se encuentran incluidas sin cargo con SQL Server

Express, incluyen Express Manager (versión Alfa) y Computer Manager.

Estas herramientas simplifican las operaciones de bases de datos. El diseño

y desarrollo de aplicaciones de bases de datos se vuelve más sencillo con la

integración de Visual Studio. Con todas estas ventajas de interface de

usuario, en el transcurso del proyecto se presentó la necesidad de ejecutar

sentencias en SQL, por complejidad en la realización de procesos.

Visual Studio .NET

[14] Visual Studio .NET es un conjunto completo de herramientas de

desarrollo para la construcción de aplicaciones Web ASP, servicios Web

XML, aplicaciones para escritorio y aplicaciones móviles. Visual Basic .NET,

Page 28: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

27

Visual C++ .NET, Visual C# .NET y Visual J# .NET utilizan el mismo entorno

de desarrollo integrado (IDE), que les permite compartir herramientas y

facilita la creación de soluciones en varios lenguajes. Asimismo, dichos

lenguajes aprovechan las funciones de .NET Framework, que ofrece acceso

a tecnologías clave para simplificar el desarrollo de aplicaciones Web ASP y

servicios Web XML.

Visual Basic .NET 2005

El proyecto se desarrollo con este lenguaje de programación, debido a la

metodología de análisis y diseño orientado a objetos, Visual Basic es la

opción más óptima para la realización del proyecto, por su robustez y

documentación dirigida a los desarrolladores. [15] Microsoft Visual Basic

2005 es la evolución del lenguaje Visual Basic que está diseñado para

generar de manera productiva aplicaciones con seguridad y orientado a

objetos. Visual Basic permite centrar el diseño en Windows, el Web y

dispositivos móviles. Como con todos los lenguajes que tienen por objetivo

Microsoft .NET Framework, los programas escritos en Visual Basic se

benefician de la seguridad y la interoperabilidad de lenguajes.

2.3.1 Productos del Modelo

Al finalizar con el proyecto se deben entregar los siguientes productos:

• Aplicación

• Documentación del proceso de desarrollo

• Manual del Usuario

• Documentación de la herramienta

• Documentación de las bases de datos

• Estado del proyecto

• Aspectos a mejorar

Page 29: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

28

2.4 MARCO CONCEPTUAL

2.4.1 Metas a alcanzar

• Lograr el desarrollo de un software completo que permita a las

entidades que tienen como base de su negocio la otorgación de

créditos financieros a usuarios, el completo manejo de datos

importantes como la administración de los créditos, el total de

intereses, entre otros.

• Facilitar la adquisición de un software de bajo costo que cumpla con

todos los requerimientos necesarios para poder administrar de manera

eficiente los recursos que tienen que ver con el otorgamiento de

créditos.

• Ofrecer una opción más en el mercado que pueda competir contra

otros sistemas avanzados, que tenga como valor agregado, el

desarrollo a la medida de las necesidades de la empresa.

2.4.1 Enfoque

El presente proyecto de investigación tiene un enfoque de tipo puntual, ya

que su delimitación solo contempla la gestión de créditos, intereses sobre el

crédito, fechas de pago, administración de clientes y pagos de cuotas

completas.

2.4.2 Necesidades a satisfacer

Este desarrollo solucionará los inconvenientes que tienen las empresas a la

hora de manejar todo lo referente a los créditos, pagos, clientes e intereses.

Page 30: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

29

Así mismo, solucionará los inconvenientes que presentan las entidades a la

hora de conseguir un software que supla realmente las necesidades que

tienen al pie de la letra.

2.4.3 Servicios

• Ingresar, actualizar y eliminación de los clientes

• Ingresar, actualizar y eliminar tasas de interés

• Ingresar, actualizar y eliminar requisitos por créditos

• Ingresar, actualizar y eliminar tipos de crédito

• Ingresar, actualizar y eliminar documentación requerida por créditos

• Registrar y eliminación de créditos

• Simulación del crédito

• Visualización del crédito

• Pago de cuota completa

2.4.4 Controles

Para poder acceder al sistema, el software solicitará un usuario y una clave,

al cual valida entre dos perfiles de usuario y el administrador, el

administrador tiene todos los derechos sobre toda la funcionalidad de la

aplicación y el asesor, perfil que no tendrá acceso al formulario de usuarios y

tampoco podrá parametrizar el modulo, pero si podrá consultar la

parametrización existente.

Page 31: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

30

3. DISEÑO METODOLÓGICO

3.1 TIPO DE INVESTIGACIÓN DESCRIPTIVA

El Presente proyecto de investigación es de tipo descriptivo, ya que en la

investigación se busca describir y especificar las propiedades más

importantes de los procesos computacionales para lograr requerimientos

óptimos y acordes con las necesidades del cálculo y el manejo de tasas de

interés, la amortización de créditos y la administración de créditos por parte

de la empresa.

Adicionalmente en la investigación, se describirán las características que

identifican los diferentes elementos y componentes de la investigación.

3.2 ANÁLISIS

3.2.1 Metodología para el análisis

3.2.1.1 Análisis orientado a objetos

El presente proyecto de investigación se trabaja con metodología AOO, en

donde se brindan los medios para mejorar la reutilización de los

componentes software. El objetivo de la programación orientada a objetos es

permitir que los sistemas informáticos sean fácilmente extendidos para

mejorar su funcionalidad, o reutilizados en otros sistemas que requieran sus

servicios.

Page 32: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

31

Las características que integran la Programación orientada a objetos son la:

abstracción, encapsulación, polimorfismo y herencia.

La herramienta de diseño será UML, Lenguaje de Modelamiento Unificado

(UML - Unified Modeling Language) es un lenguaje gráfico para visualizar,

especificar y documentar cada una de las partes que comprende el

desarrollo de software. La definición de UML se encuentra más detallada en

el numeral 1.3.5 Delimitación metodológica, del presente documento.

Se utilizan los siguientes diagramas para su conceptualización:

• Diagrama de Casos de Uso: mostrando los procesos relevantes en un

escenario con sus respectivos actores.

• Diagrama de secuencia: Muestran a los diferentes objetos y las

relaciones que pueden tener entre ellos, los mensajes que se envían

entre ellos.

• Diagrama de actividades: Es un caso especial del diagrama de

estados. Muestra el flujo entre los objetos. Se utilizan para modelar el

funcionamiento del sistema y el flujo de control entre objetos.

• Diagramas de clases: muestran las diferentes clases que componen

un sistema y cómo se relacionan unas con otras. Los diagramas de

clases son diagramas estáticos porque muestran las clases, junto con

sus métodos y atributos, así como las relaciones estáticas entre ella

3.2.1.2 Business Process Management

Para mejor análisis del ciclo de negocio utilizado al realizar créditos

financieros se utilizo la metodología empresarial BMP, así mismo se quiere

representar como es el proceso de créditos en el sistema de información.

[16] Business Process Management es la metodología empresarial cuyo

Page 33: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

32

objetivo es mejorar la eficiencia a través de la gestión sistemática de los

procesos de negocio, que se deben modelar, automatizar, integrar,

monitorear y optimizar de forma continúa.

A través del modelado de las actividades y procesos puede lograrse un mejor

entendimiento del negocio y muchas veces esto presenta la oportunidad de

mejorarlos. La administración de los procesos permite asegurar que los

mismos se ejecuten eficientemente, y la obtención de información que luego

puede ser usada para mejorarlos. Es a través de la información que se

obtiene de la ejecución diaria de los procesos, que se puede identificar

posibles ineficiencias en los mismos, y actuar sobre las mismas para

optimizarlos.

Asesor comercial

Cliente

administrador

Parametrizar aplicacion

Solicitar crédito

Recibir solicitud

Ver disponibilidad

Informar

documentación

Ejecutar

simulación

Consultar cuotas Reporte a cliente

Aceptar credito

Aprobar credito

Pagar cuotas

Registrar pago

Cancelar crédito

Crear usuarios

SI

NO

3.3 DISEÑO

3.3.1 Diseño Lógico

El sistema a desarrollar va a aplicar el DOO (Diseño Orientado a Objetos).

Para tal fin presentaremos los siguientes diagramas:

Page 34: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

33

Diagrama de Casos de Uso: Muestran los casos de uso, actores y sus

relaciones. Muestra quien puede hacer que y relaciones existentes entre

acciones (casos de uso). Son muy importantes para modelar y organizar el

comportamiento del sistema.

Describen qué hace el sistema desde el punto de vista de un observador

externo. Ponen énfasis en qué hace el sistema, no en cómo lo hace.

Page 35: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

34

Caso de uso análisis y desarrollo de un sistema de información para le

calculo y la administración de créditos a nivel financiero

Page 36: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

35

Caso de Uso: parametrizar aplicación.

Nombre: Parametrizar aplicación.

Autor: Fabián Andrés Cuervo Fajardo

Fecha: 20/03/2008

Descripción:

Representa la parametrización que se debe realizar al modulo, antes de ser usado por el asesor.

Actores:

Administrador.

Pre condiciones:

El sistema debe estar Instalado.

La conexión con la base de datos debe estar correctamente.

Flujo Normal:

El administrador parametriza el sistema, según la normalización y las necesidades del modulo.

Flujo Alternativo:

El sistema realiza la validación de la parametrización, con respecto a los datos parametrizados.

Pos condiciones:

Los Datos han sido almacenados en el sistema

Se puede continuar con el registro de clientes y el registro de los créditos.

Page 37: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

36

Caso de Uso: Registrar usuarios

Nombre: Registrar usuarios

Autor: Fabián Andrés Cuervo Fajardo

Fecha: 20/03/2008

Descripción:

Representa el ingreso de usuarios al sistema, los cuales tienen, una contraseña y un perfil de asesor o de administrador para interactuar con el sistema.

Actores:

Administrador.

Pre condiciones:

El sistema debe estar Instalado.

La conexión con la base de datos debe estar correctamente.

Flujo Normal:

El administrador ingresa los usuarios al sistema, según las necesidades del modulo y los campos a solicitar.

Flujo Alternativo:

El sistema realiza la validación de con respecto a los usuarios ingresados y a los usuarios que ya están registrados en el sistema para no permitir duplicidad.

Pos condiciones:

Los Datos han sido almacenados en el sistema

Se puede continuar con el registro de clientes y el registro de los créditos.

Page 38: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

37

Caso de Uso: Registrar cliente

Nombre: Registrar cliente

Autor: Fabián Andrés Cuervo Fajardo

Fecha: 20/03/2008

Descripción:

Representa el ingreso de clientes al sistema. Con todos los datos necesarios para la gestión del crédito e información necesaria de un cliente.

Actores:

Asesor comercial

Pre condiciones:

El sistema debe estar Instalado.

La conexión con la base de datos debe estar correctamente.

Flujo Normal:

El asesor comercial ingresa los clientes al sistema, registrando todos los campos solicitados por el modulo.

Flujo Alternativo:

El sistema realiza la validación de los campos con respecto al tipo de dato que se debe registrar.

Pos condiciones:

Los Datos han sido almacenados en el sistema

Se puede continuar con el registro de los créditos y la simulación.

Page 39: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

38

Caso de Uso: Solicitar Crédito

Nombre: Solicitar Crédito

Autor: Fabián Andrés Cuervo Fajardo

Fecha: 20/03/2008

Descripción:

El cliente solicita el crédito, según las necesidades de este, especificando, cantidad, numero de cuotas, fecha inicial de pago, tipo de pago, el asesor comercial le informa las tasas de crédito, verifica disponibilidad e informa al cliente los documentos necesarios para el crédito

Actores:

Cliente, asesor comercial

Pre condiciones:

El sistema debe estar Instalado.

La conexión con la base de datos debe estar correctamente.

La aplicación debe estar parametrizada

El cliente debe estar registrado en el sistema

Los documentos del tipo de crédito deben estar registrados en el sistema

Flujo Normal:

El asesor comercial ingresa los datos del crédito para su registro, el crédito queda en estado registrado.

Flujo Alternativo:

El sistema realiza la validación de los campos con respecto al tipo de dato que se debe registrar al sistema.

Pos condiciones:

Los Datos han sido almacenados en el sistema

Se realizar la simulación y se cambia de estado el crédito.

Page 40: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

39

Caso de Uso: Ejecutar simulación

Nombre: Ejecutar simulación

Autor: Fabián Andrés Cuervo Fajardo

Fecha: 20/03/2008

Descripción:

El asesor ejecuta la simulación del crédito para informar al cliente las cuotas del crédito y las fechas de pago

Actores:

Asesor comercial

Pre condiciones:

El sistema debe estar Instalado.

La conexión con la base de datos debe estar correctamente.

El crédito debe estar registrado.

Flujo Normal:

El asesor comercial ejecuta la simulación del crédito, si es necesario especificar el valor de la cuota, la ingresa en el campo

Flujo Alternativo:

El sistema realiza la validación de los campos con respecto al tipo de dato que se debe registrar y la validación de los datos necesarios para realizar la simulación.

Pos condiciones:

Los Datos han sido almacenados en el sistema

Se realiza la consulta de las cuotas del crédito y la aprobación o rechazo de este.

Page 41: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

40

Caso de Uso: Aprobar cancelar crédito

Nombre: Aprobar cancelar crédito

Autor: Fabián Andrés Cuervo Fajardo

Fecha: 20/03/2008

Descripción:

El asesor comercial realiza la aprobación del crédito, cuando el cliente entregue los documentos necesarios e informe del interés de tomar el creidito

Actores:

Asesor comercial

Pre condiciones:

El sistema debe estar Instalado.

La conexión con la base de datos debe estar correctamente.

El crédito debe estar registrado, simulado.

Flujo Normal:

El asesor comercial realiza el proceso de cabio de estado del crédito cambiando de estado “registrado” a estado “cancelado” o “aprobado”

Flujo Alternativo:

El sistema realiza la validación de los campos con respecto al tipo de dato que se debe registrar.

Pos condiciones:

Los Datos han sido almacenados en el sistema

Se realiza el proceso de registrar pago

Page 42: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

41

Caso de Uso: Registrar pago

Nombre: Registrar pago

Autor: Fabián Andrés Cuervo Fajardo

Fecha: 20/03/2008

Descripción:

El cliente realiza el pago en la entidad bancaria o directamente del pago e informa al asesor comercial del pago realizado, el asesor comercial ingresa al formulario de registrar pago, selecciona el crédito y la cuota y registra el pago ejecutando el proceso

Actores:

Asesor comercial, cliente

Pre condiciones:

El sistema debe estar Instalado.

La conexión con la base de datos debe estar correctamente.

El crédito debe estar registrado, simulado y aprobado.

Flujo Normal:

El asesor comercial realiza el proceso de pago de la cuota según la información del pago por parte del cliente o la realización del pago en la entidad.

Flujo Alternativo:

El sistema realiza la validación de la cuota a pagar

Pos condiciones:

Los Datos han sido almacenados en el sistema

Se realiza el proceso del pago de cuotas siguientes.

Page 43: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

42

Caso de uso parametrizar modulo

Caso de uso: Parametrizar el modulo.

Nombre: Parametrizar el modulo

Autor: Fabián Andrés Cuervo Fajardo

Fecha: 20/03/2008

Descripción:

Muestra la parametrización necesaria antes de usar el modulo para generar simulaciones de créditos, aprobación de créditos y pago de cuotas. Es necesario parametrizar los tipos de crédito y la disponibilidad de dinero por cada crédito, las tasas de interés que se van a manejar y por último todos los documentos y la cantidad a solicitar para la aprobación de los créditos.

Actores:

Administrador

Pre condiciones:

El sistema debe estar Instalado.

La conexión con la base de datos debe estar correctamente.

Flujo Normal:

Page 44: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

43

El administrador parametriza los tipos de créditos.

El administrador parametriza las tasas a calcular.

El administrador parametriza los documentos a solicitar.

Flujo Alternativo:

El sistema debe ser parametrizado con anterioridad por el administrador, para realizar una correcta simulación del crédito.

Pos condiciones:

La parametrización queda registrada en el sistema.

Page 45: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

44

Cado de uso solicitar credito

Solicitar crédito

Asesor comercial Cliente

Solicitar valor

informar tipo de

credito

verificar

disponibilidad

informar cantidad

de cuotasingresar tasa de

interes anual del creito

Informar tipo de

pago

Ejecutar simulación

«uses»

«uses»

«uses» «uses»

«uses»

Caso de uso: Solicitar crédito

Nombre: Solicitar crédito

Autor: Fabián Andrés Cuervo Fajardo

Fecha: 20/03/2008

Descripción:

Muestra la solicitud del crédito, por parte del cliente y el registro del mismo

Page 46: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

45

crédito por parte del asesor comercial, quien luego de recibir toda la información necesaria para el crédito lo procesa para obtener la simulación de los valores y las fechas de la amortización del crédito solicitado.

Actores:

Asesor comercial, cliente.

Pre condiciones:

El sistema debe estar Parametrizado.

Flujo Normal:

El cliente solicita el crédito.

El asesor comercial ingresa al sistema la información del cliente y del crédito que está solicitando.

Ejecuta la simulación

Entrega al cliente la información de forma verbal y el reporte del crédito.

Flujo Alternativo:

El sistema debe ser parametrizado con anterioridad por el administrador, para realizar una correcta simulación del crédito.

La información debe estar completa, para la correcta simulación del crédito

Pos condiciones:

La simulación queda registrada en el sistema, para aprobar el crédito.

El cliente queda registrado en el sistema para futuros trámites.

Diagrama de secuencia: Muestran a los diferentes objetos y las relaciones

que pueden tener entre ellos, los mensajes que se envían entre ellos. Son

dos diagramas diferentes, que se puede pasar de uno a otro sin pérdida de

información, pero que nos dan puntos de vista diferentes del sistema. En

resumen, cualquiera de los dos es un Diagrama de Interacción.

Page 47: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

46

Parametrizar tasas

En el diagrama se observa como es el procedimiento para la parametrización

de las tasas en el sistema, el actor encargado de esta parametrización es el

administrador ingresando la información por formulario, recibiéndola

información la clase controladora, evaluando la solicitud y continuando con el

objeto tasas, llenándolo para así llevarlo a la clase tasas_bd insertarlo en la

base de datos a través de la clase conexión_bd, esta clase abre la conexión

ejecuta el comando y cierra la conexión.

Page 48: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

47

Parametrizar requisitos

En el diagrama se observa como es el procedimiento para la parametrización

de los requisitos en el sistema, requisitos los cuales dependen de los créditos

y los documentos que deben haber sido ingresados con anterioridad en el

sistema, el actor encargado de esta parametrización es el administrador

ingresando la información por formulario, recibiéndola información la clase

controladora, evaluando la solicitud y continuando con el objeto requisitos,

llenándolo para así llevarlo a la clase requisitos_bd insertarlo en la base de

datos a través de la clase conexión_bd, esta clase abre la conexión ejecuta

el comando y cierra la conexión.

Page 49: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

48

Parametrizar documentos

Administrador

form_parametrizardocumentos Creditos documentos documentos_bd conexion-bd

registar_documentos()

iddocumento

descripción

CantidadBIngresarDocumento_Click_1()

setdocumentos()

documento

setdocumentos()ejecutar()

abrirconexion()

cerrarconexion()

En el diagrama se observa como es el procedimiento para la parametrización

de los documentos en el sistema, el actor encargado de esta parametrización

es el administrador ingresando la información por formulario, recibiéndola

información la clase controladora, evaluando la solicitud y continuando con el

objeto documentos, llenándolo para así llevarlo a la clase documentos_bd

insertarlo en la base de datos a través de la clase conexión_bd, esta clase

abre la conexión, ejecuta el comando y cierra la conexión.

Page 50: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

49

Parametrizar clientes

En el diagrama se observa como es el procedimiento para la parametrización

de los clientes en el sistema, el actor encargado de esta parametrización es

el asesor comercial ingresando la información por formulario, recibiéndola

información la clase controladora, evaluando la solicitud y continuando con el

objeto clientes, llenándolo para así llevarlo a la clase clientes_bd insertarlo

en la base de datos a través de la clase conexión_bd, esta clase abre la

conexión, ejecuta el comando y cierra la conexión.

Page 51: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

50

Registrar créditos

En el diagrama se observa como es el procedimiento para la el sistema,

para el registro de los créditos el modulo se debe encontrar totalmente

parametrizado, el actor encargado de esta parametrización es el asesor

comercial ingresando la información por formulario, recibiéndola información

la clase controladora, evaluando la solicitud y continuando con el objeto

registrocredito, llenándolo para así llevarlo a la clase registrocredito bd

insertarlo en la base de datos a través de la clase conexión_bd, esta clase

abre la conexión, ejecuta el comando y cierra la conexión.

Page 52: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

51

Parametrizar usuarios

En el diagrama se observa como es el procedimiento para la parametrización

de los usuarios en el sistema, el actor encargado de esta parametrización es

el administrador ingresando la información por formulario, recibiéndola

información la clase controladora, evaluando la solicitud y continuando con el

objeto usuarios, llenándolo para así llevarlo a la clase usuarios_bd insertarlo

en la base de datos a través de la clase conexión_bd, esta clase abre la

conexión, ejecuta el comando y cierra la conexión.

Page 53: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

52

Validación de usuarios

usuario

form_ingreso seguros usuarios_bd conexion bd

upd_activoNO()

BIngresar_Click_1()

updateactivoNO()ejecutar()

abrirconexion()

cerrarconexion()

usuario

password

validaringreso()validaringreso()

abrirconexion()

cerrarconexion()

Consultar

datasetboolean: ingresarboolean: ingresar

upd_activo()updateactivo()

abrirconexion()

cerrarconexion()

ejecutar()

1: Este procedimiento lo realiza en un maximo 3 veces de no ingresar los datos correctos validadando los datos con el objeto usuario

1

getusuarioid()

El usuario al ingresar al sistema ingresa en los campos el usuario y la

contraseña, al ejecutar el botón de “Ingresar”, el sistema actualiza la tabla de

usuarios en el campo activo con el estado “No”, luego valida con el usuario y

la contraseña que el usuario exista o no en el sistema, este ciclo lo realiza 3

veces en el cual se al ingresar el proceso actualiza en la base de datos el

campo activo en estado “SI”.

Page 54: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

53

Simular crédito

El diagrama representa la simulación del crédito dependiendo de las cuotas y las tasas.

Page 55: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

Diagrama de Clases: Un diagrama de clases es un tipo de diagrama estático que

describe la estructura de un sistema mostrando sus clases, atributos y las

relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso

de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la

información que se manejará en el sistema, y los componentes que se encargaran

del funcionamiento y la relación entre uno y otro.

Parametrizar tasas

<<parametter>>

+llenardatagrid()

+llenarcombocox()

+parametrizartasas_Load()

+BEliminarTasa_Click()

+BActualizar_Click()

+CActualizarTasa_SelectedIndexChanged()

+cred

+cargando : Boolean

frm_parametrizartasas

+registar_tasas()

+gettasa()

+gettasaid()

+del_tasas()

+udp_tasas()

+tas : tasas

+tas_bd : tasas_bd

creditos

+settasa()

+gettasa()

+gettasaid() : tasas

+deltasa()

+updatetasa()

+conexion : conexion_bd

tasas_bd

+settasas()

+Getidtasa() : String

+Getdescripcion() : String

+Getvalor() : Double

+Getfecha() : Date

+idtasa : String

+descripcion : String

+valor : Double

+fecha : Date

tasas

+abrirconexion()

+cerraconexion()

+ejecutar()

+consultar()

+con : Object

conexion_bd

1

1

1

1

1

1

1

1

<<local>>

<<local>>

1

1

Page 56: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

55

Parametrizar documentos

Page 57: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

56

Parametriza requisitos

+llenardatagrid()

+llenarcombocox()

+parametrizarrequisitos_Load()

+BEliminarrequisitos_Click()

+BIngresarrequisito_Click()

+CActualizarrequisito_SelectedIndexChanged()

+BIngresarrequisitos()

+cred

+cargando : Boolean

frm_parametrizarrequisitos

+registar_tipocredito()

+getrequisito()

+getrequisitosidcredito()

+getrequisitoid()

+del_requisito()

+udp_requisito()

+req : requisitos

+req_bd : requisito_bd

creditos

+setrequisito()

+getrequisito()

+getrequisitoid() : requisitos

+delrequisito()

+updaterequisito()

+conexion : conexion_bd

requisito_bd

+setrequisitos()

+Getiddocumento() : String

+Getidcredito() : String

+Getidrequisito() : String

+getformalaboral() : String

+idrequisito : String

+iddocumento : String

+idcredito : String

+formalaboral : String

requisitos

+abrirconexion()

+cerraconexion()

+ejecutar()

+consultar()

+con : Object

conexion_bd

1

1

1

1

1

1

1

1

<<local>>

1

1

<<parametter>>

<<local>>

Page 58: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

57

Parametrizar tipo crédito

+llenardatagrid()

+llenarcombocox()

+parametrizartipocredito_Load()

+BEliminarrtipocredito_Click()

+BIngresartipocredito_Click()

+CActualizartipocredito_SelectedIndexChanged()

+Bingresartipocredito()

+cred

+cargando : Boolean

frm_parametrizartipocredito

+registar_tipocredito()

+gettipocredito()

+gettipocreditoid()

+del_tipocredito()

+udp_tipocredito()

+tcr : tipocredito

+tcr_bd : tipocredito_bd

creditos

+settipocredito()

+gettipocredito()

+gettipocreditoid() : tipocredito

+deltipocredito()

+updatetipocredito()

+conexion : conexion_bd

tipocredito_bd

+setrequisitos()

+Getidcredito() : String

+Getdescripcion() : String

+Getpresupuesto() : Double

+idcredito : String

+descripcion : String

+presupuesto : Double

tipocredito

+abrirconexion()

+cerraconexion()

+ejecutar()

+consultar()

+con : Object

conexion_bd

1

1

1

1

1

1

1

1

<<local>>

<<local>>

<<parametter>>1

1

Page 59: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

58

Simular crédito e Ingresar cuotas

+llenardatagrid()

+llenarcombocox()

+parametrizarcuotas_Load()

+BIngresarcuotas()

+cred

+cargando : Boolean

frm_simulacion

+registar_cuotas()

+getcuotas()

+getcuotas()

+getcuotasid()

+del_cuotas()

+udp_cuotas()

+simularcredito()

+cuo : cuotas

+cuo_bd : cuota_bd

-sim : simular credito

creditos

+setcuotas()

+getcuotas()

+getcuotaid() : cuotas

+delcuota()

+updatecuota()

+conexion : conexion_bd

cuota_bd

+setcuota()

+Getidcredito() : String

+Getpago() : String

+Getcapital() : Double

+GetValcuota() : Double

+Getsaldo() : Double

+Getmora() : Double

+Getfecha() : Date

+idcredito : String

+pago : String

+capital : Double

+interes : Double

+valcuota : Double

+saldo : Double

+mora : Double

-fecha : Date

cuotas

+abrirconexion()

+cerraconexion()

+ejecutar()

+consultar()

+con : Object

conexion_bd

1

1

1

1

<<local>><<parametter>>

+simualrcredito()

+cuota : Integer

+dias : Integer

+diasdate : Integer

+capital : Double

+interesperiodo : Double

+intreres : Double

+valcuota : Double

+saldo : Double

+mora : Double

-fechapago : Date

simular credito

1

1

1

1

1

1

+settasa()

+gettasa()

+gettasaid() : tasas

+deltasa()

+updatetasa()

+conexion : conexion_bd

tasas_bd

+settasas()

+Getidtasa() : String

+Getdescripcion() : String

+Getvalor() : Double

+Getfecha() : Date

+idtasa : String

+descripcion : String

+valor : Double

+fecha : Date

tasas

1

1

<<parametter>> 1

1

1

1

<<local>>

Page 60: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

59

Parametrizar clientes

+llenardatagrid()

+llenarcombocox()

+parametrizarclientes_Load()

+BIngresarclientes()

+BActualizarclientes()

+BEliminarclientes()

+CActualizarcliente_SelectedValueChanged()

+cred

+cargando : Boolean

frm_parametrizarclientes

+registar_clientes()

+getclientes()

+getclientes()

+getclientesid()

+del_clientes()

+udp_clientes()

+cli : clientes

+cli_bd : cliente_bd

creditos

+setcliente()

+getcliente()

+getclienteid() : clientes

+delcliente()

+updatecliente()

+conexion : conexion_bd

cliente_bd

+setcliente()

+Getidcliente() : String

+Getnombrebusqueda() : String

+getprimerapellido() : String

+getsegundoapellido() : String

+getprimernombre() : String

+getsegundonombre() : String

+getdireccion() : String

+gettelefono() : String

+getmovil() : String

+getfax() : String

+getemail() : String

+getvehiculo() : String

+getvivienda() : String

+getprofesion() : String

+getformalaboral() : String

+Getfechanacimiento() : Date

+idcliente : String

+nombrebusqueda : String

+primernombre : String

+segundonombre : String

+primerapellido : String

+segundoapellido : String

+direccion : String

+telefono : String

+movil : String

+fax : String

+email : String

+vehiculo : String

+vivienda : String

+profesion : String

+formalaboral : String

+fechanacimiento : Date

clientes

+abrirconexion()

+cerraconexion()

+ejecutar()

+consultar()

+con : Object

conexion_bd

1

1

1

1

1

1

1

1

<<local>>

<<parametter>>

1

1

<<local>>

Page 61: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

60

Registrar Créditos

+llenardatagrid()

+llenarcombocox()

+registrocredito_Load()

+Bregistrocredito()

+BActualizarregistrocredito()

+BEliminarregistrocredito()

+Cregistrocredito_SelectedValueChanged()

+cred

+cargando : Boolean

frm_registrocredito

+registrocredito()

+getregistrocredito()

+getregistrocreditoid()

+del_registrocredito()

+udp_registrocredito()

+rcr : registrocredito

+rcr_bd : registrocredito_bd

creditos

+setregistrocredito()

+getregistrocredito()

+getregistrocreditoid() : registrocredito

+delregistrocredito()

+updateregistrocredito()

+conexion : conexion_bd

registrocredito_bd

+setregistrarcredito()

+Getidcredito() : String

+Getformapago() : String

+Getcliente() : String

+getnombre() : String

+gettasa() : String

+getperiodo() : String

+gettipocredito() : String

+getestado() : String

+Gettea() : Double

+Getvalorsolicitado() : Integer

+Getvaloraprobado() : Integer

+getnumerocuotas() : Integer

+Getfechafinal() : Date

+Getfechainicial() : Date

+Getfechapresupuesto() : Date

+idcredito : String

+cliente : String

+nombre : String

+tasa : String

+estado : String

+tipocredito : String

+periodo : String

+formapago : String

+valorsolicitado : Integer

+valoraprobado : Integer

+numerocuotas : Integer

+fechainicial : Date

+fechafinal : Date

+fechapresupuesto : Date

+tea : Double

registrocredito

+abrirconexion()

+cerraconexion()

+ejecutar()

+consultar()

+con : Object

conexion_bd

1

1

1

1

1

1

1

1

<<local>>

<<parametter>>

<<local>>

1

1

Page 62: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

61

Diagrama de clases Usuarios

+llenardatagrid()

+llenarcombocox()

+usuarios_Load()

+BIngresarusuario()

+BEliminarclientes()

+cre : creditos

+cargando : Boolean

frm_usuario

+registar_usuarios()

+getusuarios()

+getusuairoactivo()

+getusuarioid()

+del_clientes()

+udpactivo()

+udpactivono()

+usr : usuarios

+usrbd : usuarios_bd

creditos

+setusuario()

+getusuario()

+getusuarioid() : usuarios

+delusuario()

+updateactivo()

+updateactivoNO()

+getusuarioactivo()

+conexion : conexion_bd

usuarios_bd

+setusuario()

+Getusuario() : String

+Getnombre() : String

+getapellido() : String

+getidentificacion() : String

+getpassword() : String

+getperfil() : String

+usuario : String

+nombre : String

+apellido : String

+Identificacion : String

+password : String

+perfil : String

usuarios

+abrirconexion()

+cerraconexion()

+ejecutar()

+consultar()

+con : Object

conexion_bd

1

1

11

1

1

1

1

<<local>>

<<parametter>>

<<local>>

1

1

+BIngreso_Click()

+cred : creditos

+ingresar : Boolean

-contador : Integer

frm_Ingreso1

1

+ClientesToolStripMenuItem_Click()

+ExamenesToolStripMenuItem_Click()

+SoliToolStripMenuItem_Click()

+ExamenesClienteToolStripMenuItem_Click()

+ConsultarExamenesPorPacienteToolStripMenuItem_Click()

+RechazarAprobarSolicitudToolStripMenuItem_Click()

+UsuariosToolStripMenuItem_Click()

+principal_FormClosed()

+ResultadosExamenesToolStripMenuItem_Click()

+ConsultarSolicitudesToolStripMenuItem_Click()

+cred : creditos

frm_principal

1

1

Page 63: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

62

Diagramas de colaboración: Esencialmente es un diagrama que muestra

interacciones organizadas alrededor de los roles. A diferencia de los diagramas de

secuencia, los diagramas de colaboración muestran explícitamente las relaciones

de los roles. Por otra parte, un diagrama de colaboración no muestra el tiempo

como una dimensión aparte, por lo que resulta necesario etiquetar con números

de secuencia tanto la secuencia de mensajes como los hilos concurrentes.

Muestra cómo las instancias específicas de las clases trabajan juntas para

conseguir un objetivo común.

Implementa las asociaciones del diagrama de clases mediante el paso de

mensajes de un objeto a otro. Dicha implementación es llamada "enlace".

Page 64: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

63

Diagrama de colaboración simulación del crédito

form simulacion

Creditos

simulacion

registrarcredito

tasasbd

cuotas cuotasbd

Conexion bd

1. simulacion

2.1. getregistrocreditoid() 3. Consultar

2.2 simularcredito()

4.1. gettasaid()

4.2. setcuotas

4.3. setcuotas

Page 65: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

64

Diagrama de colaboración ingreso usuarios

3.1. ejecutar

2.2. getusuarioid()

Page 66: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

65

3.3.2 Diseño lógico

3.2.2.1 Diseño Base de Datos

3.2.2.1.1 Aspectos físicos de la base de datos

clientes

PK idcliente

nombrebusqueda

primernombre

segundonombre

primerapellido

segundoapellido

Direccion

telefono

movil

fax

email

vehiculo

vivienda

profesion

fechanacimiento

formalaboral

tasas

PK idtasa

descripcion

fecha

valor

FK1 idcredito

requisitos

PK idrequisito

FK1 iddocumento

formalaboral

idcredito

usuarios

PK usuario

password

perfil

activo

nombre

apellido

identificacion

tipocreditos

PK,FK1 idcredito

descripcion

presupuesto

FK2 idrequisito

registrocredito

PK,FK1 idcredito

cliente

nombrebusqueda

valorsolicitado

valoraprobado

fechapresupuesto

fechainicial

fechafinal

tipocredito

numerocuotas

periodo

tea

tasa

estado

formapago

cuotas

idcredito

cuota

fechapago

capital

interes

valcuota

saldo

mora

pago

documentos

PK iddocumento

descripcion

cantidad

Entidades

Tipos de crédito

tipocreditos

PK,FK1 idcredito

descripcion

presupuesto

FK2 idrequisito

Page 67: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

66

Clientes

Registro crédito

registrocredito

PK,FK1 idcredito

cliente

nombrebusqueda

valorsolicitado

valoraprobado

fechapresupuesto

fechainicial

fechafinal

tipocredito

numerocuotas

periodo

tea

tasa

estado

formapago

Page 68: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

67

Cuotas

Tasas

Documentos

Requisitos

Page 69: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

68

Usuarios

usuarios

PK usuario

password

perfil

activo

nombre

apellido

identificacion

Tipos de datos y longitud

Clientes

idcliente char(10) NOT NULL nombrebusqueda Text NULL primernombre Text NOT NULL segundonombre Text NULL primerapellido Text NOT NULL segundoapellido Text NULL Direccion Text NOT NULL telefono Text NOT NULL Móvil Text NULL Fax Text NULL Email Text NULL vehiculo Text NULL vivienda Text NULL profesion Text NULL fechanacimiento Datetime NULL formalaboral Text NULL

Cuotas

idcredito char(10) NULL Cuota int NULL fechapago datetime NULL capital numeric (18, 2) NULL interes numeric (18, 2) NULL

Page 70: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

69

valcuota numeric (18, 2) NULL Saldo numeric (18, 2) NULL Mora numeric (18, 2) NULL Pago Text NULL

Documentos

Iddocumento char(10) NOT NULL descripcion Text NULL Cantidad Int NOT NULL

Registrocredito

Idcredito char(10) NOT NULL Cliente char(10) NOT NULL Nombrebusqueda Text NULL Valorsolicitado Int NULL Valoraprobado Int NULL fechapresupuesto datetime NULL Fechainicial datetime NULL Fechafinal datetime NULL Tipocredito Text NULL Numerocuotas Int NULL Periodo Text NULL Tea Float NULL Tasa Text NULL Estado Text NULL Formapago Text NULL

Requisitos

Idrequisito char(10) NOT NULL Iddocumento char(10) NULL Formalaboral text NULL Idcredito char(10) NULL

Page 71: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

70

Tasas

Idtasa char(10) NOT NULL descripcion Text NULL Fecha datetime NULL Valor Float NOT NULL

Tipocreditos

idcredito char(10) NOT NULL descripcion Text NULL presupuesto Int NOT NULL

Usuarios

usuario char(10) NOT NULL password Text NULL Perfil Text NULL Activo char(10) NULL nombre Text NULL apellido Text NULL identificacion Text NULL

Page 72: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

71

4. ANÁLISIS DE RESULTADOS Y CONCLUSIONES

4.1 CODIFICACIÓN DEL PROGRAMA

Es el proceso de trascripción del diseño funcional realizado en UML (Diagramas

de Casos de Usos, Diagramas de Secuencia, Diagramas de Actividades,

Diagramas de Colaboración y diagramas de Estado) a Visual Basic .NET, para la

creación de las interfaces, diseño y pruebas del monitoreo del aplicativo.

Anexo al paquete de instalación, en el CD de entrega formal, se encuentra el

código fuente de la aplicación, el instalador de SQL server 2005 Express, el script

en SQL de la base de datos y el archivo .bak para ser instalado e importado en

SQL. También se encuentra en el CD el ejecutable de la aplicación para correrlo

sin necesidad de instalar el paquete.

4.2 BANCO DE PRUEBAS

Las pruebas realizadas al desarrollo al finalizar fueron pruebas de caja negra

debido a la carencia de un agente de pruebas de funcionamiento del desarrollo y

una entidad de implementación del desarrollo, donde se harían pruebas de

integración, pero no se llego a este punto del proceso del ciclo de vida de

desarrollo de software, el formato que se muestra en las pruebas realizadas fue

facilitado por el docente Gustavo Herazo, el cual ha sido aplicado en otros

procesos de investigación y en construcción de software

[17] Las pruebas de caja negra se centran en lo que se espera de un módulo, en

intentan encontrar casos en que el módulo no se atiene a su especificación. Por

Page 73: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

72

ello se denominan pruebas funcionales, y el encargado de las pruebas se limita a

suministrarle datos como entrada y estudiar la salida, sin preocuparse de lo que

pueda estar haciendo el módulo por dentro.

Las pruebas de caja negra están especialmente indicadas en aquellos módulos

que van a ser interfaz con el usuario.

4.2.1 Pruebas de función

Objetivo: Verificar que cada una de las funciones cumpla con el propósito para el

cual fueron diseñados.

Criterio de decisión: De acuerdo a los requerimientos internacionales que exige

el modelo del CVDS, dentro de su primera prueba de funcionalidad, exige la

verificación de la validación de los caracteres de digitación, entre ellos están las

letras, los números y los espacios en blanco en cada uno de los campos que se

consideran obligatorios en el diseño de los respectivos formularios.

PRUEBAS SI NO

La función de validación de letras es correcta X

La función de validación de números es correcta X

La rutina de validación de espacios en blanco es correcta X

La siguiente pantalla prueba la validación de espacios en blanco, en campos que

son de carácter obligatorios para la base de datos, esta validación se está

realizando desde la aplicación, para no involucrar a la bases de datos en la

generación de mensajes de errores.

Page 74: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

73

4.2.2 Pruebas modulares

Objetivo: Detección de errores y verificación de la integración de los menús.

Criterio de decisión: Las pruebas modulares corresponden al segundo item

mencionado en la aplicación de pruebas de la metodología del CVDS, y su función

consiste en evaluar cada una de las rutinas que se integran al todo de la

aplicación y que exista interacción adecuada con el usuario.

MENÚ APLICACIÓN

PRUEBAS SI NO

Se generan errores al momento de cargar un Submenú X

Los Submenús son complejos X

La interacción con el usuario es fácil X

La selección de menús y submenús funciona X

Realiza el proceso de inserción de nuevo entorno X

Realiza el proceso de salir del entorno actual X

Page 75: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

74

El siguiente pantallazo muestra la funcionalidad de los menús y los submenús los

cuales son de fácil acceso al usuario y divididos según la funcionalidad a solicitar,

anexo a los submenús están un cuadro de botones que tienen un texto de ayuda

para saber a qué funcionalidad se está accediendo al hacer clic en el botón

4.2.3 Pruebas de Documentación y Ayuda

Objetivo: Verificar el contenido de la documentación, manuales y ayudas.

Criterio de decisión: Para las pruebas de documentación, igualmente se tomó la

referencia de la metodología del CVDS, en donde el código debe ser explicativo

como referencia para que el desarrollador se ubique dentro del entorno del análisis

Page 76: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

75

de las variables y etiquetas que se muevan en la aplicación. Así mismo denota la

inclusión de manuales y demás soportes escritos que ayuden a la interpretación

del conocimiento del software. Los nombres de las variables deben ser

significativos, dentro de la acción que ejecuta dentro del proceso del caso de uso

que se está generando.

PRUEBAS SI NO

Existe una documentación interna (código) X

Los nombres de las variables y etiquetas son significativas X

Los comentarios son fáciles de entender X

Existe una documentación externa X

La ayuda es fácil de entender y manejar X

4.2.4 Pruebas de Seguridad y Control

Objetivo: Verificación del control de acceso, validación de información y la

realización correcta de las acciones sobre la aplicación.

PRUEBAS SI NO

Existe perfiles de usuario para el funcionamiento del sistema X

Solicita contraseña al ingresar a la aplicación X

4.2.5 Pruebas de Calidad

Objetivo: Verificar la capacidad operativa y de adaptación a los cambios en la

aplicación.

Page 77: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

76

PRUEBAS SI NO

Existe portabilidad X

El código es reutilizable X

Existe integridad X

Es fácil de utilizar X

4.3 INFORME DE PRUEBAS

Objetivos

• Comprobar la validación de información.

• Comprobar la lógica de la aplicación

• Comprobar el nivel de integración de los menús.

• Probar el manejo de errores.

Page 78: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

77

Material revisado

Formulario principal

Menú configuración

Menú de consultar

Page 79: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

78

Menú registro

Menú reportes

Formulario parametrizar tasas

Page 80: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

79

Parametrizar documentos

Parametrizar tipos de crédito

Page 81: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

80

Parametrizar requisitos

Parametrizar clientes

Page 82: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

81

Registrar créditos

Ejecutar simulación

Page 83: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

82

Consultar cuotas

Page 84: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

83

5. CONCLUSIONES

Es bastante gratificante a nivel personal, realizar un proyecto de investigación

descriptiva con un tema de gran magnitud como lo es el manejo de tasas de

interés y poder crear una aplicación que puede suplir las necesidades principales

del proceso de cálculo y amortización de créditos a nivel financiero.

Para todo tipo de proyecto de desarrollo de software es fundamental trabajar con

metodologías que estén enfocadas desarrollar con ciertos patrones para realizar

un código más estructurado y fácil de utilizar, lo cual se vio plasmado en el

desarrollo al implementar el patrón “modelo, vista controlador” y aunque es mayor

las líneas de código que son necesarias en el modelo, este trabajo se ve

compensado al crear la vista y al tener la intensión de crear nueva funcionalidad o

da la opción de abordar un problema desde diferentes posibles soluciones sin

necesidad de implementar gran cantidad de código.

Es poco el software y las aplicaciones que en Colombia existen para manipular

créditos a nivel financiero, que esté al alcance de cualquier tipo de usuario, en

este momento es más utilizado en bancos y entidades de grandes magnitudes,

donde tienen este software al cual es creado a las necesidades de la entidad, por

diversas casas de software.

La normatividad que existe en el momento con respecto a créditos va enfocada a

entidades del gobierno y a tipos de crédito específicos, las cuales hasta el

momento no especifica cómo es la estructura y los pasos a seguir para la solicitud

de créditos por parte de las personas que lo soliciten y tampoco contempla

normatividad para quienes lo otorgan, este normas son internas de cada

institución, según la entidad y las personas que la conforman.

El uso de UML como lenguaje de modelado es fundamental en todo proyecto de

desarrollo de software, ya que colabora con la documentación y construcción de

los objetos que conforman un sistema de información como el del presente

Page 85: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

84

proyecto, con estos modelos se puede dar continuidad al proyecto sin necesidad

que el desarrollador sea la misma persona, sino que puede llegar una persona

nueva que teniendo los modelos como base podrá seguir con el trabajo realizado.

Las herramientas de trabajo Visual Basic .NET 2005 y SQL server 2005 Express,

se interrelacionan y complementan bien en el desarrollo de proyectos de software,

generando confianza en el proceso de construcción, existe buena documentación

con respecto a ambas en Internet y por parte de Microsoft, son de fácil uso y

manejo, el reporte de errores y al documentación de ellos es bastante buena y

hace que el trabajo del desarrollador sea ágil al encontrar solución rápida y

oportuna a los inconvenientes que se puedan presentar.

Page 86: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

85

6 RECOMENDACIONES

Si se desea dar continuidad al proyecto se pueden tener las siguientes

consideraciones:

• El software podría ser mejorado, abarcando el tema de pagos, en el

momento se puede realizar un tipo de pago completo de la cuota.

• Funcionalidad de congelamiento de los créditos.

• Gestionar con una entidad bancaria, los pagos a este banco y que el banco

los reporte a través de archivos planos, los cuales puedan ser ingresados al

sistema y que el sistema actualice los pagos.

• El usuario pueda consultar su estado de crédito a través de internet,

implementando está funcionalidad en ASP.NET, ya que las clases del

proyectos seria utilizables con este lenguaje.

• Debido a que la base de datos se trabaja a nivel de código y no con objetos

de visual Basic, y también a través de sentencias SQL, que son de

estándares en bases de datos, poder ejecutar la aplicación con diversas

bases de datos según el gusto del usuario.

Page 87: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

86

BIBLIOGRAFÍA

[1] Introduccion a UML 2.0. Dsponible:

http://www.epidataconsulting.com/tikiwiki/tiki-read_article.php?articleId=15 [Citado

Mayo 3 de 2008]

[2] Patrón "Modelo-Vista-Controlador". Disponible: http://www.proactiva-

calidad.com/java/patrones/mvc.html [Citado Mayo 3 de 2008]

[3] Una breve historia de las tasas de interés Disponible:

http://www.monografias.com/trabajos24/tasas-de-interes/tasas-de-interes.shtml

[Citado Abril 5 de 2008]

[4] Legislación Financiera Disponible.

http://www.asobancaria.com/categorias.jsp?id=147&sup=2 [Citado Mayo 10 de

2008]

[5] LEY 510 DE 1999. Disponible:

http://web.minjusticia.gov.co/normas/1999/l5101999.htm [Citado Mayo 10 de 2008]

[6] LEY 550 DE 1999. Disponible:

http://web.minjusticia.gov.co/normas/1999/l5501999.htm [Citado Mayo 10 de 2008]

[9] CreditWin Profesional (CreditWin Pro) 1.0. Disponible:

http://www.freedownloadmanager.org/es/downloads/disputa_de_cr%C3%A9dito_g

ratis [Citado Mayo 17 de 2008]

[10] LoanSpread Loan Calculator 4.6.0. Disponible:

http://www.freedownloadscenter.com/es/Negocio/Herramientas_Financieras_Varia

s/LoanSpread_Loan_Calculator.html [Citado Mayo 17 de 2008]

[11] Definición de crédito documentario. Disponible

http://www.proyectosfindecarrera.com/definicion/credito-documentario.htm [Citado

Mayo 17 de 2008]

Page 88: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

87

[12] Que es amortización. Disponible:

http://www.businesscol.com/foros/index.php?topic=2797 [Citado Mayo 17 de 2008]

[13] Panorama de SQL Server 2005 Express Edition. Disponible:

http://www.microsoft.com/spanish/msdn/articulos/archivo/100904/voices/10Panora

maSQLServer2005ExpressEdition.mspx [Citado Mayo 17 de 2008]

[14] Introducción a Visual Studio. Disponible: http://msdn.microsoft.com/es-

es/library/fx6bk1f4(VS.80).aspx [Citado Mayo 17 de 2008]

[15] Visual Basic. Disponible: http://msdn.microsoft.com/es-

es/library/2x7h1hfk(VS.80).aspx [Citado Mayo 17 de 2008]

[16] Business Process Management. Disponible:

http://es.wikipedia.org/wiki/Business_Process_Management [Citado Mayo 24 de

2008]

[17] Prueba de programas. Disponible:

http://www.lab.dit.upm.es/~lprg/material/apuntes/pruebas/testing.htm#s22 [Citado

Mayo 31 de 2008]

Page 89: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

88

ANEXOS

Page 90: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

89

Código fuente

Cliente

Public Class cliente

Dim idcliente, nombrebusqueda, primernombre, segundonombre,

primerapellido, segundoapellido, direccion, telefono, movil, fax, email,

vehiculo, vivienda, profesion, formalaboral As String

Dim fechanacimiento As Date

Public Sub setcliente(ByVal idc As String, ByVal nom As String, ByVal

prn As String, ByVal segn As String, ByVal pra As String, ByVal sega As

String, ByVal dir As String, ByVal tel As String, ByVal mov As String,

ByVal fax As String, ByVal ema As String, ByVal veh As String, ByVal viv

As String, ByVal pro As String, ByVal fla As String, ByVal fec As Date)

idcliente = idc

nombrebusqueda = nom

primernombre = prn

segundonombre = segn

primerapellido = pra

segundoapellido = sega

direccion = dir

telefono = tel

movil = mov

fax = fax

email = ema

vehiculo = veh

vivienda = viv

profesion = pro

formalaboral = fla

fechanacimiento = fec

End Sub

Public Function Getidcliente() As String

Getidcliente = idcliente

End Function

Public Function Getnombrebusqueda() As String

Getnombrebusqueda = nombrebusqueda

End Function

Public Function getprimerapellido() As String

getprimerapellido = primerapellido

End Function

Public Function getsegundoapellido() As String

getsegundoapellido = segundoapellido

End Function

Public Function getprimernombre() As String

getprimernombre = primernombre

End Function

Public Function getsegundonombre() As String

getsegundonombre = segundonombre

End Function

Public Function getdireccion() As String

getdireccion = direccion

End Function

Public Function gettelefono() As String

gettelefono = telefono

End Function

Page 91: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

90

Public Function getmovil() As String

getmovil = movil

End Function

Public Function getfax() As String

getfax = fax

End Function

Public Function getemail() As String

getemail = email

End Function

Public Function getvehiculo() As String

getvehiculo = vehiculo

End Function

Public Function getvivienda() As String

getvivienda = vivienda

End Function

Public Function getprofesion() As String

getprofesion = profesion

End Function

Public Function getformalaboral() As String

getformalaboral = formalaboral

End Function

Public Function Getfechanacimiento() As Date

Getfechanacimiento = fechanacimiento

End Function

End Class

Clientebd

Public Class cliente_bd

Dim conexion As New conexion_bd

Public Sub setrcliente(ByVal cli As cliente)

Dim insert_sql As String

Dim tfec, feci As String

Try

If (cli.Getidcliente = "") Then

Throw New Exception("Debe ingresar el id del cliente")

End If

If (cli.getprimerapellido = "") Then

Throw New Exception("Debe ingresar el primer apellido del

cliente")

End If

If (cli.getprimernombre = "") Then

Throw New Exception("Debe ingresar el primer nombre del

cliente")

End If

tfec = cli.Getfechanacimiento.Date.ToString()

feci = Mid(tfec, 7, 4) & Mid(tfec, 4, 2) & Mid(tfec, 1, 2)

insert_sql = "insert into clientes(idcliente, nombrebusqueda,

primernombre, segundonombre, primerapellido, segundoapellido, direccion,

telefono, movil, fax, email, vehiculo, vivienda, profesion,

formalaboral,fechanacimiento) values('"

insert_sql = insert_sql & cli.Getidcliente & "','" &

cli.Getnombrebusqueda & "','" & cli.getprimernombre & "','" &

cli.getsegundonombre & "','" & cli.getprimerapellido & "','" &

Page 92: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

91

cli.getsegundoapellido & "','" & cli.getdireccion & "','" &

cli.gettelefono & "','" & cli.getmovil & "','" & cli.getfax & "','" &

cli.getemail & "','" & cli.getvehiculo & "','" & cli.getvivienda & "','"

& cli.getprofesion & "','" & cli.getformalaboral & "','" & feci & "')"

conexion.ejecutar(insert_sql)

MessageBox.Show("El cliente ha sido ingresado")

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Function getcliente() As DataSet

Dim objalma As DataSet

Dim select_sql As String

select_sql = "select * from clientes"

objalma = conexion.consultar(select_sql)

Return objalma

End Function

Public Function getclienteid(ByVal idc As String) As cliente

Dim objalma As New DataSet()

Dim cl As New cliente

Dim select_sql As String

Try

select_sql = "select * from clientes where idcliente = '" &

idc & "'"

objalma = conexion.consultar(select_sql)

cl.setcliente(objalma.Tables("tabla").Rows(0).Item("idcliente"),

objalma.Tables("tabla").Rows(0).Item("nombrebusqueda"),

objalma.Tables("tabla").Rows(0).Item("primernombre"),

objalma.Tables("tabla").Rows(0).Item("segundonombre"),

objalma.Tables("tabla").Rows(0).Item("primerapellido"),

objalma.Tables("tabla").Rows(0).Item("segundoapellido"),

objalma.Tables("tabla").Rows(0).Item("direccion"),

objalma.Tables("tabla").Rows(0).Item("telefono"),

objalma.Tables("tabla").Rows(0).Item("movil"),

objalma.Tables("tabla").Rows(0).Item("fax"),

objalma.Tables("tabla").Rows(0).Item("email"),

objalma.Tables("tabla").Rows(0).Item("vehiculo"),

objalma.Tables("tabla").Rows(0).Item("vivienda"),

objalma.Tables("tabla").Rows(0).Item("profesion"),

objalma.Tables("tabla").Rows(0).Item("formalaboral"),

objalma.Tables("tabla").Rows(0).Item("fechanacimiento"))

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

Return cl

End Function

Public Sub delcliente(ByVal idc As String)

Dim objconexion As New OleDb.OleDbCommand

Dim delete_sql As String

Try

Page 93: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

92

delete_sql = "delete from clientes where idcliente = '" & idc

& "'"

conexion.ejecutar(delete_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Sub updatecliente(ByVal cli As cliente)

Dim objconexion As New OleDb.OleDbCommand

Dim update_sql As String

Dim tfec, feci As String

Try

If (cli.Getidcliente = "") Then

Throw New Exception("Debe ingresar el id del cliente")

End If

If (cli.getprimerapellido = "") Then

Throw New Exception("Debe ingresar el primer apellido del

cliente")

End If

If (cli.getprimernombre = "") Then

Throw New Exception("Debe ingresar el primer nombre del

cliente")

End If

tfec = cli.Getfechanacimiento.Date.ToString()

feci = Mid(tfec, 7, 4) & Mid(tfec, 4, 2) & Mid(tfec, 1, 2)

update_sql = "update clientes set idcliente = '" &

cli.Getidcliente & "',nombrebusqueda = '" & cli.Getnombrebusqueda &

"',primernombre = '" & cli.getprimernombre & "',primerapellido = '" &

cli.getprimerapellido & "',segundoapellido = '" & cli.getsegundoapellido

& "',direccion = '" & cli.getdireccion & "',telefono = '" &

cli.gettelefono & "',movil = '" & cli.getmovil & "',fax = '" & cli.getfax

& "',email = '" & cli.getemail & "',vehiculo = '" & cli.getvehiculo &

"',vivienda = '" & cli.getvivienda & "',profesion = '" & cli.getprofesion

& "',fechanacimiento = '" & feci & "',formalaboral = '" &

cli.getformalaboral & "' where idcliente = '" & cli.Getidcliente & "'"

conexion.ejecutar(update_sql)

MessageBox.Show("El cliente ha sido actualizado")

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

End Class

Cuota

Public Class cuota

Dim idcredito, pago As String

Dim cuota As Integer

Dim capital, interes, valcuota, saldo, mora As Double

Dim fechapago As Date

Page 94: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

93

Public Sub setcuotas(ByVal idc As String, ByVal pag As String, ByVal

cuo As Integer, ByVal cap As Double, ByVal int As Double, ByVal vcuo As

Double, ByVal sal As Double, ByVal fec As Date)

idcredito = idc

pago = pag

cuota = cuo

capital = cap

interes = int

saldo = sal

valcuota = vcuo

fechapago = fec

End Sub

Public Function Getidcredito() As String

Getidcredito = idcredito

End Function

Public Function Getcuota() As Integer

Getcuota = cuota

End Function

Public Function getpago() As String

getpago = pago

End Function

Public Function getsaldo() As Double

getsaldo = saldo

End Function

Public Function Getcapital() As Double

Getcapital = capital

End Function

Public Function getinteres() As Double

getinteres = interes

End Function

Public Function Getvalcuota() As Double

Getvalcuota = valcuota

End Function

Public Function Getfechapago() As Date

Getfechapago = fechapago

End Function

End Class

Cuotabd

Public Class cuotas_bd

Dim conexion As New conexion_bd

Public Sub setcuota(ByVal cuo As cuota)

Dim insert_sql As String

Dim tfec, feci As String

Try

tfec = cuo.Getfechapago.Date.ToString()

feci = Mid(tfec, 7, 4) & Mid(tfec, 4, 2) & Mid(tfec, 1, 2)

insert_sql = "insert into

cuotas(idcredito,cuota,fechapago,capital,interes,valcuota,saldo,pago)

values('" & cuo.Getidcredito & "'," & cuo.Getcuota & ",'" & feci & "'," &

cuo.Getcapital & "," & cuo.getinteres & "," & cuo.Getvalcuota & "," &

cuo.getsaldo & ",'" & cuo.getpago & "')"

conexion.ejecutar(insert_sql)

Page 95: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

94

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Function getcuotas() As DataSet

Dim objalma As DataSet

Dim select_sql As String

select_sql = "select * from cuotas"

objalma = conexion.consultar(select_sql)

Return objalma

End Function

Public Function getcuotascredito(ByVal idc As String) As DataSet

Dim objalma As New DataSet()

Dim select_sql As String

Try

select_sql = "select * from cuotas where idcredito = '" & idc

& "'"

objalma = conexion.consultar(select_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

Return objalma

End Function

Public Function getcuotascreditoSinpago(ByVal idc As String) As

DataSet

Dim objalma As New DataSet()

Dim select_sql As String

Try

select_sql = "select * from cuotas where idcredito = '" & idc

& "' AND pago = 'NO'"

objalma = conexion.consultar(select_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

Return objalma

End Function

Public Sub delcredito(ByVal idc As String)

Dim objconexion As New OleDb.OleDbCommand

Dim delete_sql As String

Try

delete_sql = "delete from cuotas where idcredito = '" & idc &

"'"

conexion.ejecutar(delete_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Sub pagarcuota(ByVal id As String, ByVal cuo As Integer)

Dim objconexion As New OleDb.OleDbCommand

Dim update_sql As String

Page 96: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

95

Try

update_sql = "update cuotas set pago = 'SI' where idcredito =

'" & id & "'and cuota = " & cuo

conexion.ejecutar(update_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

End Class

documentos

Public Class documentos

Dim iddocumento, descripcion As String

Dim cantidad As Integer

Public Sub setdocumentos(ByVal idd As String, ByVal des As String,

ByVal can As Integer)

iddocumento = idd

descripcion = des

cantidad = can

End Sub

Public Function Getiddocumento() As String

Getiddocumento = iddocumento

End Function

Public Function Getdescripcion() As String

Getdescripcion = descripcion

End Function

Public Function Getcantidad() As Integer

Getcantidad = cantidad

End Function

End Class

Documentosbd

Public Class documentos_bd

Dim conexion As New conexion_bd

Public Sub setdocumento(ByVal doc As documentos)

Dim insert_sql As String

Try

If (doc.Getiddocumento = "") Then

Throw New Exception("Debe ingresar el id del documento")

End If

If (doc.Getcantidad >= 0) Then

Throw New Exception("Debe ingresar la cantidad de

documentos a solicitar")

End If

insert_sql = "insert into

documentos(iddocumento,descripcion,cantidad) values('" &

doc.Getiddocumento & "','" & doc.Getdescripcion & "'," & doc.Getcantidad

& ")"

conexion.ejecutar(insert_sql)

Page 97: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

96

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Function getdocumentos() As DataSet

Dim objalma As DataSet

Dim select_sql As String

select_sql = "select * from documentos"

objalma = conexion.consultar(select_sql)

Return objalma

End Function

Public Function getdocumentosid(ByVal idd As String) As documentos

Dim objalma As New DataSet()

Dim docu As New documentos

Dim select_sql As String

Try

select_sql = "select * from documentos where iddocumento = '"

& idd & "'"

objalma = conexion.consultar(select_sql)

docu.setdocumentos(objalma.Tables("tabla").Rows(0).Item("iddocumento"),

objalma.Tables("tabla").Rows(0).Item("descripcion"),

objalma.Tables("tabla").Rows(0).Item("cantidad"))

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

Return docu

End Function

Public Sub updatedocumentos(ByVal doc As documentos)

Dim objconexion As New OleDb.OleDbCommand

Dim update_sql As String

Try

If (doc.Getiddocumento = "") Then

Throw New Exception("Debe ingresar el id del documento")

End If

If (doc.Getcantidad = 0) Then

Throw New Exception("Debe ingresar la cantidad de

documentos a solicitar")

End If

update_sql = "update documentos set iddocumento = '" &

doc.Getiddocumento & "',descripcion = '" & doc.Getdescripcion &

"',cantidad = " & doc.Getcantidad & "where iddocumento = '" &

doc.Getiddocumento & "'"

conexion.ejecutar(update_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Sub deldocumentos(ByVal idd As String)

Dim objconexion As New OleDb.OleDbCommand

Page 98: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

97

Dim delete_sql As String

Try

delete_sql = "delete from documentos where iddocumento = '" &

idd & "'"

conexion.ejecutar(delete_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

End Class

Registrocredito

Public Class registrocredito

Dim idcredito, cliente, nombre, tasa, estado, tipocredito, periodo,

formapago As String

Dim valorsolicitado, valoraprobado, numerocuotas As Integer

Dim tea As Double

Dim fechainicial, fechafinal, fechapresupuesto As Date

Public Sub setregitrocredito(ByVal idc As String, ByVal cli As

String, ByVal nom As String, ByVal tas As String, ByVal est As String,

ByVal tcr As String, ByVal per As String, ByVal vap As Integer, ByVal vso

As Integer, ByVal ncu As Integer, ByVal te As Double, ByVal fin As Date,

ByVal ffi As Date, ByVal fpr As Date, ByVal fpa As String)

formapago = fpa

idcredito = idc

cliente = cli

nombre = nom

tasa = tas

estado = est

tipocredito = tcr

periodo = per

valorsolicitado = vso

valoraprobado = vap

numerocuotas = ncu

tea = te

fechainicial = fin

fechafinal = ffi

fechapresupuesto = fpr

End Sub

Public Function Getformapago() As String

Getformapago = formapago

End Function

Public Function Getidcredito() As String

Getidcredito = idcredito

End Function

Public Function Getcliente() As String

Getcliente = cliente

End Function

Public Function getnombre() As String

getnombre = nombre

End Function

Public Function gettasa() As String

Page 99: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

98

gettasa = tasa

End Function

Public Function getperiodo() As String

getperiodo = periodo

End Function

Public Function gettipocredito() As String

gettipocredito = tipocredito

End Function

Public Function getestado() As String

getestado = estado

End Function

Public Function Gettea() As Double

Gettea = tea

End Function

Public Function getvalorsolicitado() As Integer

getvalorsolicitado = valorsolicitado

End Function

Public Function getvaloraprobado() As Integer

getvaloraprobado = valoraprobado

End Function

Public Function Getnumerocuotas() As Integer

Getnumerocuotas = numerocuotas

End Function

Public Function Getfechafinal() As Date

Getfechafinal = fechafinal

End Function

Public Function Getfechainicial() As Date

Getfechainicial = fechainicial

End Function

Public Function Getfechapresupuesto() As Date

Getfechapresupuesto = fechapresupuesto

End Function

End Class

Registrocredito_bd

Public Class registrocredito_bd

Dim conexion As New conexion_bd

Public Sub setregistrocredito(ByVal rcr As registrocredito)

Dim insert_sql As String

Dim tfecini, fecini, tfecfin, fecfin, tfecpr, fecpr As String

Try

If (rcr.Getidcredito = "") Then

Throw New Exception("Debe ingresar el identificador del

credito")

End If

If (rcr.getperiodo = "") Then

Throw New Exception("Debe selecionar un periodo de pago")

End If

If (rcr.Getformapago = "") Then

Throw New Exception("Debe seleccionar una forma de pago")

End If

tfecini = rcr.Getfechainicial.Date.ToString()

Page 100: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

99

fecini = Mid(tfecini, 7, 4) & Mid(tfecini, 4, 2) &

Mid(tfecini, 1, 2)

tfecfin = rcr.Getfechafinal.Date.ToString()

fecfin = Mid(tfecfin, 7, 4) & Mid(tfecfin, 4, 2) &

Mid(tfecfin, 1, 2)

tfecpr = rcr.Getfechapresupuesto.Date.ToString()

fecpr = Mid(tfecpr, 7, 4) & Mid(tfecpr, 4, 2) & Mid(tfecpr,

1, 2)

insert_sql = "insert into registrocredito(idcredito, cliente,

nombrebusqueda, tasa, estado, tipocredito, periodo,valorsolicitado,

valoraprobado, numerocuotas,tea,fechainicial, fechafinal,

fechapresupuesto,formapago) values('"

insert_sql = insert_sql & rcr.Getidcredito & "','" &

rcr.Getcliente & "','" & rcr.getnombre & "','" & rcr.gettasa & "','" &

rcr.getestado & "','" & rcr.gettipocredito & "','" & rcr.getperiodo &

"'," & rcr.getvalorsolicitado & "," & rcr.getvaloraprobado & "," &

rcr.Getnumerocuotas & "," & rcr.Gettea & ",'" & fecini & "','" & fecfin &

"','" & fecpr & "','" & rcr.Getformapago & "')"

conexion.ejecutar(insert_sql)

MessageBox.Show("El crédito ha sido creadó")

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Function getregistrocredito() As DataSet

Dim objalma As DataSet

Dim select_sql As String

select_sql = "select * from registrocredito"

objalma = conexion.consultar(select_sql)

Return objalma

End Function

Public Function getregistrocreditoid(ByVal idc As String) As

registrocredito

Dim objalma As New DataSet()

Dim rcre As New registrocredito

Dim select_sql As String

Try

select_sql = "select * from registrocredito where idcredito =

'" & idc & "'"

objalma = conexion.consultar(select_sql)

rcre.setregitrocredito(objalma.Tables("tabla").Rows(0).Item("idcredito"),

objalma.Tables("tabla").Rows(0).Item("cliente"),

objalma.Tables("tabla").Rows(0).Item("nombrebusqueda"),

objalma.Tables("tabla").Rows(0).Item("tasa"),

objalma.Tables("tabla").Rows(0).Item("estado"),

objalma.Tables("tabla").Rows(0).Item("tipocredito"),

objalma.Tables("tabla").Rows(0).Item("periodo"),

objalma.Tables("tabla").Rows(0).Item("valoraprobado"),

objalma.Tables("tabla").Rows(0).Item("valorsolicitado"),

objalma.Tables("tabla").Rows(0).Item("numerocuotas"),

objalma.Tables("tabla").Rows(0).Item("tea"),

objalma.Tables("tabla").Rows(0).Item("fechainicial"),

Page 101: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

100

objalma.Tables("tabla").Rows(0).Item("fechafinal"),

objalma.Tables("tabla").Rows(0).Item("fechapresupuesto"),

objalma.Tables("tabla").Rows(0).Item("formapago"))

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

Return rcre

End Function

Public Sub delcredito(ByVal idc As String)

Dim objconexion As New OleDb.OleDbCommand

Dim delete_sql As String

Try

delete_sql = "delete from registrocredito where idcredito =

'" & idc & "'"

conexion.ejecutar(delete_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Sub cambiarestado(ByVal id As String, ByVal est As String)

Dim objconexion As New OleDb.OleDbCommand

Dim update_sql As String

Try

If (est = "") Then

Throw New Exception("Debe selecionar un estado")

End If

update_sql = "update registrocredito set estado = '" & est &

"' where idcredito = '" & id & "'"

conexion.ejecutar(update_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

If (ex.Message = "1") Then

End If

conexion.cerraconexion()

End Try

End Sub

Public Sub cambiarfechafinalpago(ByVal id As String, ByVal fec As

Date)

Dim objconexion As New OleDb.OleDbCommand

Dim update_sql As String

Dim tfec, feci As String

Try

tfec = fec

feci = Mid(tfec, 7, 4) & Mid(tfec, 4, 2) & Mid(tfec, 1, 2)

update_sql = "update registrocredito set fechafinal = '" &

feci & "' where idcredito = '" & id & "'"

conexion.ejecutar(update_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Page 102: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

101

End Class

Requisitos

Public Class requisitos

Dim iddocumento, formalaboral, idcredito, idrequisito As String

Public Sub setdrequisitos(ByVal idr As String, ByVal idd As String,

ByVal forl As String, ByVal idc As String)

iddocumento = idd

formalaboral = forl

idcredito = idc

idrequisito = idr

End Sub

Public Function getidrequisito() As String

getidrequisito = idrequisito

End Function

Public Function Getiddocumento() As String

Getiddocumento = iddocumento

End Function

Public Function Getformalaboral() As String

Getformalaboral = formalaboral

End Function

Public Function Getidcredito() As String

Getidcredito = idcredito

End Function

End Class

requisitosbd

Public Class requisitos_bd

Dim conexion As New conexion_bd

Public Sub setrequisitos(ByVal req As requisitos)

Dim insert_sql As String

Try

If (req.getidrequisito = "") Then

Throw New Exception("Debe ingresar el identificador del

requisito")

End If

insert_sql = "insert into

requisitos(idrequisito,iddocumento,formalaboral,idcredito) values('" &

req.getidrequisito & "','" & req.Getiddocumento & "','" &

req.Getformalaboral & "','" & req.Getidcredito & "')"

conexion.ejecutar(insert_sql)

MessageBox.Show("El requisito ha sido creadó")

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Function getrequisitos() As DataSet

Dim objalma As DataSet

Dim select_sql As String

select_sql = "select * from requisitos"

Page 103: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

102

objalma = conexion.consultar(select_sql)

Return objalma

End Function

Public Function getrequisitosid(ByVal idr As String) As requisitos

Dim objalma As New DataSet()

Dim req As New requisitos

Dim select_sql As String

Try

select_sql = "select * from requisitos where idrequisito = '"

& idr & "'"

objalma = conexion.consultar(select_sql)

req.setdrequisitos(objalma.Tables("tabla").Rows(0).Item("idrequisito"),

objalma.Tables("tabla").Rows(0).Item("iddocumento"),

objalma.Tables("tabla").Rows(0).Item("formalaboral"),

objalma.Tables("tabla").Rows(0).Item("idcredito"))

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

Return req

End Function

Public Function getrequisitosidcredito(ByVal idc As String) As

DataSet

Dim objalma As New DataSet()

Dim docu As New documentos

Dim select_sql As String

Try

select_sql = "select * from requisitos where idcredito = '" &

idc & "'"

objalma = conexion.consultar(select_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

Return objalma

End Function

Public Sub delrequisitos(ByVal idr As String)

Dim objconexion As New OleDb.OleDbCommand

Dim delete_sql As String

Try

delete_sql = "delete from requisitos where idrequisito = '" &

idr & "'"

conexion.ejecutar(delete_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Sub updaterequisito(ByVal req As requisitos)

Dim objconexion As New OleDb.OleDbCommand

Dim update_sql As String

Try

If (req.getidrequisito = "") Then

Page 104: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

103

Throw New Exception("Debe ingresar el identificador del

requisito")

End If

update_sql = "update requisitos set idrequisito = '" &

req.getidrequisito & "',idcredito = '" & req.Getidcredito &

"',iddocumento = '" & req.Getiddocumento & "',formalaboral = '" &

req.Getformalaboral & "' where idrequisito = '" & req.getidrequisito &

"'"

conexion.ejecutar(update_sql)

MessageBox.Show("El requisito ha sido actualizadó")

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

End Class

Tasas

Public Class tasas

Dim idtasa, descripcion As String

Dim valor As Double

Dim fecha As Date

Public Sub settasas(ByVal idt As String, ByVal des As String, ByVal

val As Double, ByVal fec As Date)

idtasa = idt

descripcion = des

valor = val

fecha = fec

End Sub

Public Function Getidtasa() As String

Getidtasa = idtasa

End Function

Public Function Getdescripcion() As String

Getdescripcion = descripcion

End Function

Public Function Getvalor() As Double

Getvalor = valor

End Function

Public Function Getfecha() As Date

Getfecha = fecha

End Function

End Class

Tasasbd

Public Class tasa_bd

Dim conexion As New conexion_bd

Public Sub settasa(ByVal tas As tasas)

Dim insert_sql As String

Dim tfec, feci As String

Try

If (tas.Getidtasa = "") Then

Page 105: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

104

Throw New Exception("Debe ingresar el identificador de la

tasa")

End If

tfec = tas.Getfecha.Date.ToString()

feci = Mid(tfec, 7, 4) & Mid(tfec, 4, 2) & Mid(tfec, 1, 2)

insert_sql = "insert into

tasas(idtasa,descripcion,fecha,valor) values('" & tas.Getidtasa & "','" &

tas.Getdescripcion & "','" & feci & "'," & tas.Getvalor & ")"

conexion.ejecutar(insert_sql)

MessageBox.Show("la tasa de interés ha sido creadá")

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Function gettasa() As DataSet

Dim objalma As DataSet

Dim select_sql As String

select_sql = "select * from tasas"

objalma = conexion.consultar(select_sql)

Return objalma

End Function

Public Function gettasaid(ByVal idt As String) As tasas

Dim objalma As New DataSet

Dim tasa As New tasas

Dim select_sql As String

Try

select_sql = "select * from tasas where idtasa = '" & idt &

"'"

objalma = conexion.consultar(select_sql)

tasa.settasas(objalma.Tables("tabla").Rows(0).Item("idtasa"),

objalma.Tables("tabla").Rows(0).Item("descripcion"),

objalma.Tables("tabla").Rows(0).Item("valor"),

objalma.Tables("tabla").Rows(0).Item("fecha"))

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

Return tasa

End Function

Public Sub deltasa(ByVal idt As String)

Dim objconexion As New OleDb.OleDbCommand

Dim delete_sql As String

Try

delete_sql = "delete from tasas where idtasa = '" & idt & "'"

conexion.ejecutar(delete_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Sub updatetasa(ByVal tas as tasas)

Dim objconexion As New OleDb.OleDbCommand

Dim update_sql As String

Page 106: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

105

Dim tfec, feci As String

Try

If (tas.Getidtasa = "") Then

Throw New Exception("Debe ingresar el identificador de la

tasa")

End If

If (tas.Getvalor > 100) Then

Throw New Exception("Debe valor de la tasa no puede

superar el 100%")

End If

If (tas.Getvalor < 0) Then

Throw New Exception("Debe valor de la tasa no puede ser

menor a 0 (CERO)")

End If

tfec = tas.Getfecha.Date.ToString()

feci = Mid(tfec, 7, 4) & Mid(tfec, 4, 2) & Mid(tfec, 1, 2)

update_sql = "update tasas set idtasa = '" & tas.Getidtasa &

"',descripcion = '" & tas.Getdescripcion & "',valor = " & tas.Getvalor &

",fecha = '" & feci & "' where idtasa = '" & tas.Getidtasa & "'"

conexion.ejecutar(update_sql)

MessageBox.Show("la tasa de interés ha sido actualizadá")

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

End Class

Tipocredito

Public Class tipocredito

Dim idcredito, descripcion As String

Dim presupuesto As Double

Public Sub settipocredito(ByVal idc As String, ByVal des As String,

ByVal pre As Double)

idcredito = idc

descripcion = des

presupuesto = pre

End Sub

Public Function Getidtipocredito() As String

Getidtipocredito = idcredito

End Function

Public Function Getdescripcion() As String

Getdescripcion = descripcion

End Function

Public Function Getpresupuesto() As Double

Getpresupuesto = presupuesto

End Function

End Class

Tipocreditobd

Public Class tipocredito_bd

Page 107: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

106

Dim conexion As New conexion_bd

Public Sub settipocredito(ByVal tcre As tipocredito)

Dim insert_sql As String

Try

If (tcre.Getidtipocredito = "") Then

Throw New Exception("Debe ingresar el id del tipo de

credito")

End If

insert_sql = "insert into

tipocreditos(idcredito,descripcion,presupuesto) values('" &

tcre.Getidtipocredito & "','" & tcre.Getdescripcion & "'," &

tcre.Getpresupuesto & ")"

conexion.ejecutar(insert_sql)

MessageBox.Show("El tipo de crédito ha sido creadó")

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Public Function gettipocredito() As DataSet

Dim objalma As DataSet

Dim select_sql As String

select_sql = "select * from tipocreditos"

objalma = conexion.consultar(select_sql)

Return objalma

End Function

Public Function gettipocreditoid(ByVal idc As String) As tipocredito

Dim objalma As New DataSet

Dim tcre As New tipocredito

Dim select_sql As String

Try

select_sql = "select * from tipocreditos where idcredito = '"

& idc & "'"

objalma = conexion.consultar(select_sql)

tcre.settipocredito(objalma.Tables("tabla").Rows(0).Item("idcredito"),

objalma.Tables("tabla").Rows(0).Item("descripcion"),

objalma.Tables("tabla").Rows(0).Item("presupuesto"))

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

Return tcre

End Function

Public Sub deltipocredito(ByVal idc As String)

Dim objconexion As New OleDb.OleDbCommand

Dim delete_sql As String

Try

delete_sql = "delete from tipocreditos where idcredito = '"

& idc & "'"

conexion.ejecutar(delete_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Public Sub updattipocredito(ByVal cre As tipocredito)

Page 108: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

107

Dim objconexion As New OleDb.OleDbCommand

Dim update_sql As String

Try

If (cre.Getidtipocredito = "") Then

Throw New Exception("Debe ingresar el id del tipo de

credito")

End If

update_sql = "update tipocreditos set idcredito = '" &

cre.Getidtipocredito & "',descripcion = '" & cre.Getdescripcion &

"',presupuesto = " & cre.Getpresupuesto & " where idcredito = '" &

cre.Getidtipocredito & "'"

conexion.ejecutar(update_sql)

MessageBox.Show("El tipo de crédito ha sido actualizadó")

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Sub updatepresupuesto(ByVal cre As tipocredito, ByVal val As

Double)

Dim objconexion As New OleDb.OleDbCommand

Dim update_sql As String

Try

If (cre.Getidtipocredito = "") Then

Throw New Exception("Debe ingresar el id del tipo de

credito")

End If

update_sql = "update tipocreditos set presupuesto = " & val &

" where idcredito = '" & cre.Getidtipocredito & "'"

conexion.ejecutar(update_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

End Class

Usuario

Public Class usuario

Dim usuario, password, perfil, activo, nombre, apellido,

identificacion As String

Public Sub setusuario(ByVal usr As String, ByVal pas As String, ByVal

per As String, ByVal act As String, ByVal nom As String, ByVal ape As

String, ByVal iden As String)

usuario = usr

password = pas

perfil = per

activo = act

nombre = nom

apellido = ape

identificacion = iden

End Sub

Page 109: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

108

Public Function Getusuario() As String

Getusuario = usuario

End Function

Public Function getpassword() As String

getpassword = password

End Function

Public Function getperfil() As String

getperfil = perfil

End Function

Public Function getactivo() As String

getactivo = activo

End Function

Public Function getapellido() As String

getapellido = apellido

End Function

Public Function getnombre() As String

getnombre = nombre

End Function

Public Function getidentificacion() As String

getidentificacion = identificacion

End Function

End Class

usuariobd

Public Class usuario_bd

Dim conexion As New conexion_bd

Public Sub setrusuario(ByVal usr As usuario)

Dim insert_sql As String

Try

If (usr.Getusuario = "") Then

Throw New Exception("Debe ingresar el usuario")

End If

If (usr.getpassword = "") Then

Throw New Exception("Debe ingresar la contraseña")

End If

If (usr.getperfil = "") Then

Throw New Exception("Debe seleccionar un perfil")

End If

insert_sql = "insert into usuarios(usuario, password, perfil,

activo, nombre, apellido, identificacion) values('" & usr.Getusuario &

"','" & usr.getpassword & "','" & usr.getperfil & "','" & usr.getactivo &

"','" & usr.getnombre & "','" & usr.getapellido & "','" &

usr.getidentificacion & "')"

conexion.ejecutar(insert_sql)

MessageBox.Show("El usuario ha sido creadó")

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Function getusuario() As DataSet

Dim objalma As DataSet

Dim select_sql As String

Page 110: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

109

select_sql = "select * from usuarios"

objalma = conexion.consultar(select_sql)

Return objalma

End Function

Public Function getusuarioid(ByVal idc As String) As usuario

Dim objalma As New DataSet()

Dim cl As New usuario

Dim select_sql As String

Try

select_sql = "select * from usuarios where usuario = '" & idc

& "'"

objalma = conexion.consultar(select_sql)

cl.setusuario(objalma.Tables("tabla").Rows(0).Item("usuario"),

objalma.Tables("tabla").Rows(0).Item("password"),

objalma.Tables("tabla").Rows(0).Item("perfil"),

objalma.Tables("tabla").Rows(0).Item("activo"),

objalma.Tables("tabla").Rows(0).Item("nombre"),

objalma.Tables("tabla").Rows(0).Item("apellido"),

objalma.Tables("tabla").Rows(0).Item("identificacion"))

Catch ex As Exception

If StrComp(cl.Getusuario, "", CompareMethod.Binary) = 0 Then

MessageBox.Show("El usuario no existe")

Else

MessageBox.Show(ex.Message)

End If

conexion.cerraconexion()

End Try

Return cl

End Function

Public Function getusuarioactivo() As usuario

Dim objalma As New DataSet()

Dim cl As New usuario

Dim select_sql As String

Try

select_sql = "select * from usuarios where activo = 'SI'"

objalma = conexion.consultar(select_sql)

cl.setusuario(objalma.Tables("tabla").Rows(0).Item("usuario"),

objalma.Tables("tabla").Rows(0).Item("password"),

objalma.Tables("tabla").Rows(0).Item("perfil"),

objalma.Tables("tabla").Rows(0).Item("activo"),

objalma.Tables("tabla").Rows(0).Item("nombre"),

objalma.Tables("tabla").Rows(0).Item("apellido"),

objalma.Tables("tabla").Rows(0).Item("identificacion"))

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

Return cl

End Function

Public Sub delusuario(ByVal idc As String)

Dim objconexion As New OleDb.OleDbCommand

Dim delete_sql As String

Page 111: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

110

Try

delete_sql = "delete from usuarios where usuario = '" & idc &

"'"

conexion.ejecutar(delete_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Sub updateactivo(ByVal usr As String)

Dim objconexion As New OleDb.OleDbCommand

Dim update_sql As String

Try

update_sql = "update usuarios set activo = 'SI' where usuario

= '" & usr & "'"

conexion.ejecutar(update_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Sub updatepassword(ByVal usr As usuario, ByVal pas As String,

ByVal npas As String, ByVal cpas As String)

Dim objconexion As New OleDb.OleDbCommand

Dim update_sql As String

Try

If Not (usr.getpassword = pas) Then

Throw New Exception("las contraseña del usuario es

incorrecta")

End If

If Not (npas = cpas) Then

Throw New Exception("las contraseñas ingresadas no

coinciden")

End If

update_sql = "update usuarios set password = '" & npas & "'

where usuario = '" & usr.Getusuario & "'"

conexion.ejecutar(update_sql)

MessageBox.Show("La contraseña a sido modificada

satisfactoriamente")

Catch ex As Exception

MessageBox.Show(ex.Message)

conexion.cerraconexion()

End Try

End Sub

Public Sub updateactivoNO()

Dim objconexion As New OleDb.OleDbCommand

Dim update_sql As String

Try

update_sql = "update usuarios set activo = 'NO' where activo

= 'SI'"

conexion.ejecutar(update_sql)

Catch ex As Exception

MessageBox.Show(ex.Message)

Page 112: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

111

conexion.cerraconexion()

End Try

End Sub

Public Function validaringreso(ByVal usr As String, ByVal pas As

String) As Boolean

Dim usrin As New usuario

usrin = Me.getusuarioid(usr)

If StrComp(usrin.Getusuario, "", CompareMethod.Binary) = 0 Then

validaringreso = False

Else

If StrComp(usrin.getpassword, pas, CompareMethod.Binary) = 0

Then

validaringreso = True

Me.updateactivo(usrin.Getusuario)

Else

MessageBox.Show("El usuario o la contraseña son

incorrectos")

validaringreso = False

End If

End If

End Function

End Class

Simularcredito

Public Class simularcredito

Dim cuota, dias, diasdate As Integer

Dim capital, tmpinteres, interesperiodo, interes, valcuota, saldo,

mora As Double

Dim fechapago As Date

Dim cuo As New cuota

Dim cuobd As New cuotas_bd

Dim sig As Boolean = True

Dim valortotal As Double

Dim ncuotas As Double

Dim valint As Double

Public Sub simularcredito(ByVal cre As registrocredito, ByVal vcuota

As Double)

Dim cuo2 As New cuota

Dim tasbd As New tasa_bd

Dim tas As New tasas

Dim regbd As New registrocredito_bd

Try

If StrComp(cre.Getformapago, "Valor cuota",

CompareMethod.Binary) = 0 And vcuota = 0 Then

Throw New Exception("Debe ingresar el valor de la cuota")

End If

cuobd.delcredito(cre.Getidcredito)

tas = tasbd.gettasaid(cre.gettasa)

If StrComp(cre.getperiodo, "Diario", CompareMethod.Binary) =

0 Then

dias = 30

diasdate = 1

Page 113: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

112

Else

If StrComp(cre.getperiodo, "Semanal",

CompareMethod.Binary) = 0 Then

dias = 4

diasdate = 8

Else

dias = 1

diasdate = 30

End If

End If

fechapago = DateAdd(DateInterval.Day, diasdate,

cre.Getfechainicial)

If StrComp(cre.Getformapago, "Valor cuota",

CompareMethod.Binary) = 0 Then

ncuotas = cre.getvaloraprobado / vcuota

interesperiodo = 1 + ((((cre.Gettea + tas.Getvalor) /

100) / 12) / dias) * ncuotas

valortotal = cre.getvaloraprobado * interesperiodo

valint = valortotal - cre.getvaloraprobado

saldo = valortotal

cuota = 1

While sig = True

interes = valint / ncuotas

valcuota = vcuota - interes

saldo = saldo - vcuota

cuo.setcuotas(cre.Getidcredito, "NO", cuota,

valcuota, interes, vcuota, saldo, fechapago)

cuobd.setcuota(cuo)

If (saldo < vcuota) Then

cuota += 1

vcuota = saldo

valcuota = saldo - interes

saldo = 0

cuo.setcuotas(cre.Getidcredito, "NO", cuota,

valcuota, interes, vcuota, saldo, fechapago)

cuobd.setcuota(cuo)

sig = False

End If

fechapago = DateAdd(DateInterval.Day, diasdate,

fechapago)

cuota += 1

End While

Else

If StrComp(cre.Getformapago, "Capital fijo",

CompareMethod.Binary) = 0 Then

interesperiodo = 1 + ((((cre.Gettea + tas.Getvalor) /

100) / 12) / dias) * cre.Getnumerocuotas

valortotal = cre.getvaloraprobado * interesperiodo

valint = valortotal - cre.getvaloraprobado

saldo = valortotal

Page 114: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

113

interes = valint

capital = cre.getvaloraprobado / cre.Getnumerocuotas

For cuota = 1 To cre.Getnumerocuotas

interes = interes / 2

saldo = saldo - capital - interes

If (cuota = cre.Getnumerocuotas) Then

interes = tmpinteres

saldo = 0

End If

cuo.setcuotas(cre.Getidcredito, "NO", cuota,

capital, interes, capital + interes, saldo, fechapago)

fechapago = DateAdd(DateInterval.Day, diasdate,

fechapago)

cuobd.setcuota(cuo)

tmpinteres = interes

Next

Else

interesperiodo = 1 + ((((cre.Gettea + tas.Getvalor) /

100) / 12) / dias) * cre.Getnumerocuotas

valortotal = cre.getvaloraprobado * interesperiodo

valint = valortotal - cre.getvaloraprobado

saldo = valortotal

For cuota = 1 To cre.Getnumerocuotas

interes = valint / cre.Getnumerocuotas

valcuota = valortotal / cre.Getnumerocuotas

capital = valcuota - interes

saldo = saldo - capital

If (cuota = cre.Getnumerocuotas) Then

saldo = 0

End If

cuo.setcuotas(cre.Getidcredito, "NO", cuota,

capital, interes, valcuota, saldo, fechapago)

fechapago = DateAdd(DateInterval.Day, diasdate,

fechapago)

cuobd.setcuota(cuo)

Next

End If

End If

regbd.cambiarfechafinalpago(cre.Getidcredito, fechapago)

MessageBox.Show("La simulación a sido ejecutada, puede

observar las cuotas")

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

End Class

Creditos (controladora)

Public Class creditos

Dim tas As New tasas

Dim tasbd As New tasa_bd

Dim doc As New documentos

Dim docbd As New documentos_bd

Page 115: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

114

Dim tcre As New tipocredito

Dim tcrebd As New tipocredito_bd

Dim req As New requisitos

Dim reqbd As New requisitos_bd

Dim cta As New cuota

Dim cuobd As New cuotas_bd

Dim rcr As New registrocredito

Dim rcrbd As New registrocredito_bd

Dim cli As New cliente

Dim clibd As New cliente_bd

Dim sim As New simularcredito

Dim usr As New usuario

Dim usrbd As New usuario_bd

'usuarios

Public Function validaringreso(ByVal usr As String, ByVal pwd As

String) As Boolean

validaringreso = usrbd.validaringreso(usr, pwd)

End Function

Public Sub registar_usuarios(ByVal usua As String, ByVal pwd As

String, ByVal per As String, ByVal act As String, ByVal nom As String,

ByVal ape As String, ByVal iden As String)

usr.setusuario(usua, pwd, per, act, nom, ape, iden)

usrbd.setrusuario(usr)

End Sub

Public Function getusuario() As DataSet

Dim dt As DataSet

dt = usrbd.getusuario()

getusuario = dt

End Function

Public Function getusuarioid(ByVal id As String) As usuario

Dim us As usuario

us = usrbd.getusuarioid(id)

getusuarioid = us

End Function

Public Function getusuarioactivo() As usuario

Dim us As usuario

us = usrbd.getusuarioactivo()

getusuarioactivo = us

End Function

Public Sub del_usuario(ByVal id As String)

usrbd.delusuario(id)

End Sub

Public Sub udp_activo(ByVal idc As String)

usrbd.updateactivo(idc)

End Sub

Public Sub udp_activoNO()

usrbd.updateactivoNO()

End Sub

Public Sub cambiarpassword(ByVal pas As String, ByVal npas As String,

ByVal cpas As String)

Dim us As usuario

us = Me.getusuarioactivo()

usrbd.updatepassword(us, pas, npas, cpas)

End Sub

Page 116: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

115

'simulacion

Public Sub simulacion(ByVal icr As String, ByVal cuota As Double)

sim.simularcredito(Me.getregistrocreditoid(icr), cuota)

End Sub

'clientes

Public Sub registar_cliente(ByVal idc As String, ByVal nom As String,

ByVal prn As String, ByVal segn As String, ByVal pra As String, ByVal

sega As String, ByVal dir As String, ByVal tel As String, ByVal mov As

String, ByVal fax As String, ByVal ema As String, ByVal veh As String,

ByVal viv As String, ByVal pro As String, ByVal fla As String, ByVal fec

As Date)

cli.setcliente(idc, nom, prn, segn, pra, sega, dir, tel, mov,

fax, ema, veh, viv, pro, fla, fec)

clibd.setrcliente(cli)

End Sub

Public Function getcliente() As DataSet

Dim dt As DataSet

dt = clibd.getcliente()

getcliente = dt

End Function

Public Function getclienteid(ByVal id As String) As cliente

Dim cl As cliente

cl = clibd.getclienteid(id)

getclienteid = cl

End Function

Public Sub del_cliente(ByVal id As String)

clibd.delcliente(id)

End Sub

Public Sub udp_cliente(ByVal idc As String, ByVal nom As String,

ByVal prn As String, ByVal segn As String, ByVal pra As String, ByVal

sega As String, ByVal dir As String, ByVal tel As String, ByVal mov As

String, ByVal fax As String, ByVal ema As String, ByVal veh As String,

ByVal viv As String, ByVal pro As String, ByVal fla As String, ByVal fec

As Date)

cli.setcliente(idc, nom, prn, segn, pra, sega, dir, tel, mov,

fax, ema, veh, viv, pro, fla, fec)

clibd.updatecliente(cli)

End Sub

'registrarcredito

Public Sub registar_credito(ByVal idc As String, ByVal cli As String,

ByVal nom As String, ByVal tas As String, ByVal est As String, ByVal tcr

As String, ByVal per As String, ByVal vap As Integer, ByVal vso As

Integer, ByVal ncu As Integer, ByVal tea As Double, ByVal fin As Date,

ByVal ffi As Date, ByVal fpr As Date, ByVal fpa As String)

rcr.setregitrocredito(idc, cli, nom, tas, est, tcr, per, vap,

vso, ncu, tea, fin, ffi, fpr, fpa)

rcrbd.setregistrocredito(rcr)

End Sub

Public Function getregistrocredito() As DataSet

Dim dt As DataSet

dt = rcrbd.getregistrocredito()

getregistrocredito = dt

End Function

Page 117: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

116

Public Function getregistrocreditoid(ByVal id As String) As

registrocredito

Dim rc As registrocredito

rc = rcrbd.getregistrocreditoid(id)

getregistrocreditoid = rc

End Function

Public Sub del_registrocredito(ByVal id As String)

rcrbd.delcredito(id)

End Sub

Public Sub cambiarestado(ByVal id As String, ByVal est As String)

rcrbd.cambiarestado(id, est)

End Sub

'cuotas

Public Sub registar_cuotas(ByVal idc As String, ByVal pag As String,

ByVal cuo As Integer, ByVal cap As Double, ByVal int As Double, ByVal

vcuo As Double, ByVal sal As Double, ByVal fec As Date)

cta.setcuotas(idc, pag, cuo, cap, int, vcuo, sal, fec)

cuobd.setcuota(cta)

End Sub

Public Function getcuotas() As DataSet

Dim dt As DataSet

dt = cuobd.getcuotas()

getcuotas = dt

End Function

Public Function getcuotasid(ByVal id As String) As DataSet

Dim dt As DataSet

dt = cuobd.getcuotascredito(id)

getcuotasid = dt

End Function

Public Function getcuotasinpago(ByVal id As String) As DataSet

Dim dt As DataSet

dt = cuobd.getcuotascreditoSinpago(id)

getcuotasinpago = dt

End Function

Public Sub del_cuotas(ByVal id As String)

cuobd.delcredito(id)

End Sub

Public Sub pagarcuotas(ByVal id As String, ByVal cuo As Integer)

cuobd.pagarcuota(id, cuo)

End Sub

'requisitos

Public Sub registar_requisitos(ByVal idr As String, ByVal idd As

String, ByVal forl As String, ByVal idc As String)

req.setdrequisitos(idr, idd, forl, idc)

reqbd.setrequisitos(req)

End Sub

Public Function getrequisitos() As DataSet

Dim dt As DataSet

dt = reqbd.getrequisitos()

getrequisitos = dt

End Function

Page 118: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

117

Public Function getrequisitoscredito(ByVal id As String) As DataSet

Dim dt As DataSet

dt = reqbd.getrequisitosidcredito(id)

getrequisitoscredito = dt

End Function

Public Function getrequisitosid(ByVal id As String) As requisitos

Dim rq As requisitos

rq = reqbd.getrequisitosid(id)

getrequisitosid = rq

End Function

Public Sub del_requisitos(ByVal id As String)

reqbd.delrequisitos(id)

End Sub

Public Sub udp_requisitos(ByVal idr As String, ByVal idd As String,

ByVal forl As String, ByVal idc As String)

req.setdrequisitos(idr, idd, forl, idc)

reqbd.updaterequisito(req)

End Sub

'Tasas

Public Sub registar_tasas(ByVal idt As String, ByVal des As String,

ByVal val As Double, ByVal fec As Date)

tas.settasas(idt, des, val, fec)

tasbd.settasa(tas)

End Sub

Public Function gettasa() As DataSet

Dim dt As DataSet

dt = tasbd.gettasa()

gettasa = dt

End Function

Public Function gettasaid(ByVal id As String) As tasas

Dim ts As tasas

ts = tasbd.gettasaid(id)

gettasaid = ts

End Function

Public Sub del_tasas(ByVal id As String)

tasbd.deltasa(id)

End Sub

Public Sub udp_tasas(ByVal idt As String, ByVal des As String, ByVal

val As Double, ByVal fec As Date)

tas.settasas(idt, des, val, fec)

tasbd.updatetasa(tas)

End Sub

'Documentos

Public Sub registrar_documentos(ByVal iddoc As String, ByVal des As

String, ByVal cant As Integer)

doc.setdocumentos(iddoc, des, cant)

docbd.setdocumento(doc)

End Sub

Public Function getdocumento() As DataSet

Dim dt As DataSet

dt = docbd.getdocumentos()

getdocumento = dt

End Function

Public Function getdocumentoid(ByVal id As String) As documentos

Page 119: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

118

Dim dc As documentos

dc = docbd.getdocumentosid(id)

getdocumentoid = dc

End Function

Public Sub del_documento(ByVal id As String)

docbd.deldocumentos(id)

End Sub

Public Sub udp_documento(ByVal idd As String, ByVal des As String,

ByVal can As Integer)

doc.setdocumentos(idd, des, can)

docbd.updatedocumentos(doc)

End Sub

'tipos de credito

Public Sub registrar_tipo_credito(ByVal idcre As String, ByVal des As

String, ByVal pre As Double)

tcre.settipocredito(idcre, des, pre)

tcrebd.settipocredito(tcre)

End Sub

Public Function gettipocredito() As DataSet

Dim dt As DataSet

dt = tcrebd.gettipocredito()

gettipocredito = dt

End Function

Public Function gettipocreditoid(ByVal id As String) As tipocredito

Dim tc As tipocredito

tc = tcrebd.gettipocreditoid(id)

gettipocreditoid = tc

End Function

Public Sub del_tipocredito(ByVal id As String)

tcrebd.deltipocredito(id)

End Sub

Public Sub udp_tipocredito(ByVal idc As String, ByVal des As String,

ByVal val As Double)

tcre.settipocredito(idc, des, val)

tcrebd.updattipocredito(tcre)

End Sub

End Class

Page 120: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

119

Base de datos

USE [creditos]

GO

/****** Objeto: Table [dbo].[documentos] Fecha de la secuencia de

comandos: 05/28/2008 22:01:46 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[documentos](

[iddocumento] [char](10) NOT NULL,

[descripcion] [text] NULL,

[cantidad] [int] NOT NULL,

CONSTRAINT [PK_documentos] PRIMARY KEY CLUSTERED

(

[iddocumento] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =

OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Objeto: Table [dbo].[tipocreditos] Fecha de la secuencia de

comandos: 05/28/2008 22:02:00 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[tipocreditos](

[idcredito] [char](10) NOT NULL,

[descripcion] [text] NULL,

[presupuesto] [int] NOT NULL,

CONSTRAINT [PK_tipocreditos] PRIMARY KEY CLUSTERED

(

[idcredito] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =

OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Objeto: Table [dbo].[requisitos] Fecha de la secuencia de

comandos: 05/28/2008 22:01:56 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

Page 121: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

120

GO

CREATE TABLE [dbo].[requisitos](

[idrequisito] [char](10) NOT NULL,

[iddocumento] [char](10) NULL,

[formalaboral] [text] NULL,

[idcredito] [char](10) NULL,

CONSTRAINT [PK_requisitos] PRIMARY KEY CLUSTERED

(

[idrequisito] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =

OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Objeto: Table [dbo].[clientes] Fecha de la secuencia de

comandos: 05/28/2008 22:01:39 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[clientes](

[idcliente] [char](10) NOT NULL,

[nombrebusqueda] [text] NULL,

[primernombre] [text] NOT NULL,

[segundonombre] [text] NULL,

[primerapellido] [text] NOT NULL,

[segundoapellido] [text] NULL,

[Direccion] [text] NOT NULL,

[telefono] [text] NOT NULL,

[movil] [text] NULL,

[fax] [text] NULL,

[email] [text] NULL,

[vehiculo] [text] NULL,

[vivienda] [text] NULL,

[profesion] [text] NULL,

[fechanacimiento] [datetime] NULL,

[formalaboral] [text] NULL,

CONSTRAINT [PK__clientes__0519C6AF] PRIMARY KEY CLUSTERED

(

[idcliente] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =

OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Objeto: Table [dbo].[cuotas] Fecha de la secuencia de

comandos: 05/28/2008 22:01:44 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

Page 122: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

121

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[cuotas](

[idcredito] [char](10) NULL,

[cuota] [int] NULL,

[fechapago] [datetime] NULL,

[capital] [numeric](18, 2) NULL,

[interes] [numeric](18, 2) NULL,

[valcuota] [numeric](18, 2) NULL,

[saldo] [numeric](18, 2) NULL,

[pago] [text] NULL

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Objeto: Table [dbo].[usuarios] Fecha de la secuencia de

comandos: 05/28/2008 22:02:04 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[usuarios](

[usuario] [char](10) NOT NULL,

[password] [text] NULL,

[perfil] [text] NULL,

[activo] [char](10) NULL,

[nombre] [text] NULL,

[apellido] [text] NULL,

[identificacion] [text] NULL,

CONSTRAINT [PK_usuarios] PRIMARY KEY CLUSTERED

(

[usuario] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =

OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Objeto: Table [dbo].[registrocredito] Fecha de la secuencia

de comandos: 05/28/2008 22:01:53 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[registrocredito](

[idcredito] [char](10) NOT NULL,

[cliente] [char](10) NOT NULL,

[nombrebusqueda] [text] NULL,

[valorsolicitado] [int] NULL,

Page 123: ANÁLISIS Y DESARROLLO DE UN SISTEMA DE · PDF file2.1 ANTECEDENTES ... lenguaje Visual Basic .NET 2005 y con bases de datos Microsoft SQL Server 2005 Express Edition, versión freeware,

122

[valoraprobado] [int] NULL,

[fechapresupuesto] [datetime] NULL,

[fechainicial] [datetime] NULL,

[fechafinal] [datetime] NULL,

[tipocredito] [text] NULL,

[numerocuotas] [int] NULL,

[periodo] [text] NULL,

[tea] [float] NULL,

[tasa] [text] NULL,

[estado] [text] NULL,

[formapago] [text] NULL,

CONSTRAINT [FK_registrocredito_1] PRIMARY KEY CLUSTERED

(

[idcredito] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =

OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Objeto: Table [dbo].[tasas] Fecha de la secuencia de

comandos: 05/28/2008 22:01:59 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[tasas](

[idtasa] [char](10) NOT NULL,

[descripcion] [text] NULL,

[fecha] [datetime] NULL,

[valor] [float] NOT NULL,

PRIMARY KEY CLUSTERED

(

[idtasa] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =

OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Objeto: ForeignKey [FK_clientes_clientes] Fecha de la

secuencia de comandos: 05/28/2008 22:01:39 ******/

ALTER TABLE [dbo].[clientes] WITH CHECK ADD CONSTRAINT

[FK_clientes_clientes] FOREIGN KEY([idcliente])

REFERENCES [dbo].[clientes] ([idcliente])

GO

ALTER TABLE [dbo].[clientes] CHECK CONSTRAINT [FK_clientes_clientes]

GO