You are on page 1of 42

SISTEMA DE INFORMACIÓN PARA EL MANEJO DE UNA EMPRESA

DE PRÉSTAMOS DE PAGO DIARIO

PRESENTADO POR

EDUARDO ANTONIO BOO DE LA ROSA


JORGE CHARUM MONZÓN
LUIS ENRIQUE HERRERA NÚÑEZ
RICHARD NEY ARROYO GALINDO
SANDRA MILENA LIZCANO SARMIENTO

PRESENTADO A:

ING. HERNÁN PÁJARO TORRES

CORPORACIÓN UNIVERSITARIA DE LA COSTA

FACULTAD DE INGENIERÍA

INGENIERÍA DE SISTEMAS

INGENIERÍA DE SOFTWARE I

JUNIO DE 2009
TABLA DE CONTENIDO

INTRODUCCIÓN...................................................................................................1
OBJETIVOS........................................................................................................... 2
OBJETIVO GENERAL..........................................................................................2
OBJETIVOS ESPECÍFICOS..................................................................................2

i
INTRODUCCIÓN

Debido a la gran demanda de necesidades de control de problemas cada día,


los software requieren un diseño con velocidad de respuesta y con un buen
funcionamiento en su programación ya que estos se encuentran ligados a
muchos aspectos de nuestras vidas los cuales están regidos por las
computadoras.

La ingeniería de software tiene como fin ofrecer métodos y técnicas para


desarrollar y mantener un software de calidad y en el cual se resuelvan
problemas de todo tipo, por lo tanto incluye un análisis previo de la situación,
diseño de proyecto, desarrollo del software, pruebas necesarias para confirmar
su correcto funcionamiento y la implementación del sistema.

A continuación se conocerá el diseño del software que en esta oportunidad se


trata de un sistema de información para el manejo de una empresa de
préstamos de pago diario el cual esta diseñado para un completo control de la
información, esto comprende la captura y almacenamiento de los datos de los
clientes, de los micro préstamos realizados por la empresa y así tener bases
para la toma de decisiones dentro de la misma.

1
OBJETIVOS

OBJETIVO GENERAL

Manejar los distintos conceptos básicos para la realización del diseño y


desarrollo de un sistema de información.

OBJETIVOS ESPECÍFICOS

• Establecer los requisitos del negocio - problema seleccionado.

• Aplicar los conocimientos adquiridos en la materia para realizar un diseño y


un producto de calidad.

• Constituir un equipo de trabajo responsable.

• Cumplir con los cronogramas del proyecto.

• Lograr que el sistema de información se constituya en una herramienta


para la toma de decisiones del negocio – problema.

2
1. GESTIÓN DEL PROYECTO

1.1. DEFINICIÓN RAIZ

El Sistema de Información para el Manejo de una Empresa de Préstamos con


Pago Diario – SPPD, está diseñado para capturar, almacenar y permitir el
análisis de la información correspondiente a los micro préstamos efectuados
por una empresa de préstamos con la modalidad de pagos diarios, los datos
básicos de los clientes, de los empleados, las rutas de préstamos y los
vehículos de la empresa.

1.1. ALCANCE (W5HH)

1.1.1. Why?

El Diseño y desarrollo de éste sistema de información se realiza con el ánimo


de suplir una deficiencia en las empresas de préstamos con pago diario, en
dónde la recolección de la información diaria aportada por sus cobradores, es
recolectada a mano y almacenada de manera manual, lo cual dificulta y en
algunos casos impide tomar dicha información como base para la toma de
decisiones concernientes al negocio.

1.1.2. What?

Este proyecto pretende desarrollar un sistema de información capaz de


recolectar, recabar y almacenar la información de los micro préstamos
realizados por una empresa de la modalidad de pagos diarios, a fin de permitir
el análisis de dicha información con miras a la toma de decisiones propias del
negocio.

1.1.3. When?

3
El tiempo para desarrollo del proyecto es de dieciséis (16) semanas, y la fecha
de entrega está estipulada para el día del examen final de la materia Ingeniería
de Software I en el primer semestre del año 2009.

1.1.4. Who?

El proyecto será desarrollado por estudiantes de VII Semestre de Ingeniería de


Sistemas de la Corporación Universitaria de la Costa agrupados bajo la firma
Konexion Servicios Informáticos, los estudiantes son:

Eduardo Antonio Boo de la Rosa


Jorge Charum Monzón
Luis Enrique Herrera Núñez
Richard Ney Arroyo Galindo
Sandra Milena Lizcano Sarmiento

1.1.5. Where?

El software está diseñado para el Sector Financiero Informal, concretamente


para las empresas dedicadas a los préstamos de dinero, con la modalidad de
pagos diarios.

1.1.6. How?

El Sistema de información será implementado en Visual Basic 2005 sobre SQL


Server utilizando el modelo de Construcción de Prototipos.

1.1.7. How Much?

Los recursos con los que cuenta el equipo de trabajo para el desarrollo del
proyecto son:

• 4 Computadoras de escritorio

• 1 Computadora portátil

• Microsoft Visual Studio 2005 (instalado en todos los equipos)

• Microsoft SQL Server Express (instalado en todos los equipos)

4
1.2. DEFINICIÓN DE EQUIPO Y SUS ROLES

El equipo designado para el desarrollo del proyecto, está conformado de la


siguiente forma

INTEGRANTES ROLES
Luis Enrique Herrera Núñez Líder General
Jorge Charum Monzón Líder de Desarrollo
Eduardo Antonio Boo de la Rosa Líder de Planeación
Richard Ney Arroyo Galindo Líder de Soporte
Sandra Milena Lizcano Sarmiento Líder de Calidad

Líder General: Este rol se encarga de establecer las condiciones de trabajo.


Por tal motivo tiene la función de dirigir y asignar recursos, coordina las
interacciones con los clientes y usuarios finales, planifica las iteraciones,
asigna el trabajo, define la organización del proyecto, establece las prácticas
que aseguran la integridad y calidad de los artefactos del proyecto, entre otras
responsabilidades.

Líder de Desarrollo: Se encarga de la definición de la arquitectura que guiará


el desarrollo, y de la continua refinación de la misma en cada iteración; debe
construir cualquier prototipo necesario para probar aspectos riesgosos desde el
punto de vista técnico del proyecto; definirá los lineamientos generales del
diseño y la implementación.

Líder de Planeación: Se encarga de planear las reuniones del equipo de


trabajo, trazando los objetivos de la reunión y llevando un seguimiento de las
tareas asignadas a los diferentes miembros del equipo. Está encargado de la
Documentación del Proyecto.

5
Líder de Soporte: Se encarga de brindar las herramientas necesarias para
llevar a cabo las tareas requeridas u originadas durante el desarrollo del
proyecto.

Líder de Calidad: Se encarga de revisar todos los documentos que reflejan el


avance del proyecto, y de verificar que los objetivos del marco de desarrollo se
cumplan. En estas actividades también participan los miembros del proyecto
que están involucrados en su elaboración. Entre sus funciones está la de
realizar las pruebas identificadas y definidas previamente, utilizando las
instrucciones, métodos y herramientas necesarias para este rol. Debido a la
realización de las pruebas debe obtener los resultados de las mismas.

1.3. CRONOGRAMAS DE TRABAJO

1.3.1. Cronograma Grupal

MIÉRCOL
LUNES MARTES ES JUEVES VIERNES SÁBADO DOMINGO
08:00
10:00
12:00
14:00 EQUIPO
DE
16:00 TRABAJO
18:00
19:00
21:00
Sitio de reuniones: Carrera 27 No. 75-124

1.3.2. Cronograma de Trabajo Individual

MIÉRCOLE DOMING
LUNES MARTES S JUEVES VIERNES SÁBADO O
08:00
10:00 LH
JC - SL
12:00
14:00
16:00
18:00
19:00 EB SL - JC -
RA
21:00 RA

6
INICIALES NOMBRE COMPLETO TELÉFONO DE
CONTACTO
EB EDUARDO BOO DE LA ROSA 3126772253
JC JORGE CHARUM MONZÓN 3174281334
LH LUIS ENRIQUE HERRERA NÚÑEZ 3145678232
RA RICHARD NEY ARROYO GALINDO 3135117581
SL SANDRA MILENA LIZCANO 3167415223

7
2. ANÁLISIS

2.1. FLUJOGRAMAS DE PROCESOS

2.1.1. Antes del Sistema de Información

Recepción de Ruta de Cobro – Antes del Sistema


Cobrador y
Cobrador Recepcionista
Recepcionista

Inicio

Lee un número de
tarjeta

Pregunta si es
nueva

Busca la tarjeta
leida

Pregunta valor
pagado

Lee el valor
cancelado

Tachan los días


correspondientes
a lo pagado

Pregunta si es
ultima

Pasan a la tarjeta
siguiente
Realiza el
resumen de la
Ruta

Fin

8
2.1.2. Después del Sistema de Información

Recepción de Ruta – Proceso Sistematizado

Cobrador Recepcionista Sistema <Función>

INICIO

Lee el número de
Tarjeta

Pregunta si es SI Digita el número


nueva de documento

NO

Evalúa si es NO
nuevo

SI

Digita los datos Solicita los datos


del Cliente del cliente

Digita los datos Solicita los Datos


del Préstamo del Préstamo

Lee el Valor Digita el Valor


Cancelado Cancelado
Evalúa si el
valor paga la NO
totalidad del
préstamo

SI

Cambia el Estado
del Préstamo

Incrementa las
estadìsticas

9
Recepción de Ruta – Proceso Sistematizado

Cobrador Recepcionista Sistema <Función>

Es el último NO
1
Préstamo

SI

Efectúa el
Resumen del Día
de la Ruta

FIN

10
2.2. TABLA DE REQUISITOS

Cód Descripción Tipo Justificación Fuente Imp. Dep. Referencias Vers.


Es la razón de ser del
software, el llevar un
Llevar un registro y control registro histórico de los
RE01 de los préstamos F préstamos realizados, y Gerente Alta 1.0
efectuados un control efectivo de los
préstamos que se
encuentran activos.
Para tomar mejores
decisiones con respecto
prestamos futuros se
Efectuar una calificación debe tener una promedio
RE02 F Gerente Alta 1.0
de los clientes. o calificación de los
prestamos anteriores
efectuados por un
cliente.
Para obtener una
digitación ágil, conforme
Manejar el concepto de
RE03 F al orden en que se Gerente Alta 1.0
rutas de préstamos
cobran los préstamos en
el área.
Para efectuar el cruce de
información, y resumen
Realizar el cierre diario de de lo ocurrido en la ruta Medi
RE04 F Gerente 1.0
cada ruta de préstamo durante el día de cobro, a
entre el cobrador y la
empresa
Obtener un resumen
administrativo de lo
Realizar el cierre diario de Medi
RE05 F acontecido durante el día Gerente 1.0
la empresa a
de operación en la
empresa.

RE06 Efectuar los cierres F Realizar la consolidación Gerente Medi 1.0

11
de la información de
toda la operación, en
mensuales y anuales de la
cierres operativos del a
empresa
período mensual y del
año de operación.
Tener un control de los
Controlar los empleados de datos básicos de los
RE07 F Gerente Baja 1.0
la empresa cobradores al servicio de
la empresa
Tener un control de los
Controlar los vehículos de datos básicos de los
RE08 F Gerente Baja 1.0
la empresa vehículos al servicio de
la empresa.
Para este proyecto
El Sistema de Información estamos sujetos a
debe ser programado en programar en Microsoft
RE09 Visual Basic 2005 y los NF Visual Basic 2005 sobre Profesor Alta 1.0
datos almacenados en SQL Microsoft SQL Server
Server Express Express por decisión del
profesor de la materia.
Todos los reportes del Para este proyecto los
Software deben ser reportes deben ser
RE10 NF Profesor Alto 1.0
realizados en Microsoft realizados y exportados
Excel a Microsoft Excel.

12
2.3. MODELO RELACIONAL

13
2.4. CASOS DE USO

2.4.1. Administración de Usuarios

Nombre Administración de Usuarios Código CU001


Frecuen
Versión 1.0 Ocasionalmente
cia
Priorida
Fecha Ult.Act. 06 – Jun – 09 Alta
d
Actor(es)
Administrador
Primario(s)
Actor(es)
Secundario(s)
Requisitos
Funcionales
Objetivos Administrar las opciones referentes a los usuarios del sistema
El administrador ingresa al sistema para tener acceso a las
Descripción
opciones relativas a la administración de usuarios.
Precondición(es) N/A
Flujo normal o básico
# Actor # Sistema
El Administrador ingresa Usuario y Verifica el Usuario y Contraseña ingresados
1 2
Contraseña por el Administrador
Despliega el menú Principal, con el Perfil
3
del Administrador
Ingresa al Formulario de
4
Administración de Usuarios
Flujo Excepcional o Alternativo
# Actor # Sistema
Caso A:
El Administrador omite el usuario Despliega un mensaje informando del
1 2
o contraseña error.
Caso B:
Al verificar el Usuario y Contraseña se
1 encuentra que no coinciden con la base de
datos
Despliega un mensaje de error, indicando
2
que el usuario o contraseña no son válidos
Postcondicion(es) N/A
Req. no funcionales
Observaciones

14
2.4.2. Creación de Préstamo

Nombre Creación de Préstamo Código CU010


Frecuen
Versión 1.0 5 A 10 veces al día
cia
Priorida
Fecha Ult.Act. 29 – Abr – 2009 Alta
d
Actor(es)
Receptor
Primario(s)
Actor(es)
Secundario(s)
Requisitos
RE01 – RE02 – RE03
Funcionales
Objetivos Ingresar al Sistema de Información un préstamo nuevo.
Crear un nuevo préstamo, ingresando los datos del cliente que lo
Descripción efectúa y los datos mismos del préstamo, como el tipo de
préstamo, la fecha y el codeudor.
Debe estar creada la ruta en la cual va a ser ingresado el
Precondición(es)
préstamo
Flujo normal o básico
# Actor # Sistema
Ingresa el número de documento
El sistema verifica que el cliente exista, si
1 del cliente al que se le efectuó el 1
existe continua
préstamo
Ingresa los datos básicos del
2 2 Almacena los datos básicos del préstamo
préstamo
Realiza los asientos necesarios en los
3 registros de dinero prestado, de numero de
tarjetas en la ruta.
Sitúa el sistema en el siguiente préstamo
… 4
de la ruta.
Flujo Excepcional o Alternativo
# Actor # Sistema

Postcondicion(es)
Req. no funcionales
La tarjeta del préstamo debe llegar correctamente diligenciada, y
Observaciones ésta debe ser verificada visualmente por el Receptor, previo a
realizar el procedimiento en el sistema de información.

15
2.4.3. Recepción Ruta

Nombre Recepción Ruta Código CU020


Frecuen
Versión 1.0 Diario
cia
Priorida
Fecha Ult.Act. 03 – May – 2009 Alta
d
Actor(es)
Recaudador
Primario(s)
Actor(es)
Secundario(s)
Requisitos
Funcionales
Recibir la información del movimiento de la ruta en el día de
Objetivos
trabajo
El Cobrador informa, préstamo a préstamo los pagos efectuados,
Descripción
y los préstamos nuevos asignados durante el día
Debe estar consignada la Información de la Ruta y de los
Precondición(es)
préstamos que corresponden a ella
Flujo normal o básico
# Actor # Sistema
El Recaudador ingresa el número
1 2 Verifica la validez de la ruta seleccionada
de la ruta a recibir
Trae la información estadística de la ruta a
3
la pantalla
Pregunta si se va a agregar un préstamo
4
nuevo
Selecciona la opción Trae la información del primer préstamo de
5 6
correspondiente a NO acuerdo al orden de la ruta
Actualiza las estadísticas de la ruta, y
Digita el monto pagado para registra el pago en la tabla Pagos.
7 8
dicho préstamo Actualiza las estadísticas del Préstamo.
Grafica los pagos del Préstamo
Avanza al préstamo siguiente. Regresa al
9
paso 4.
Si en el paso 5 se selecciona la Lanza el formulario de creación de
10
opción si préstamo
Digita la información del nuevo Avanza al siguiente préstamo, Regresa al
11 12
préstamo paso 4.
Flujo Excepcional o Alternativo
# Actor # Sistema

Registro actualizado en la Tabla ResumenRutas, de acuerdo al


Postcondicion(es)
movimiento del día
Req. no funcionales
Observaciones
16
17
2.5. DICCIONARIO DE DATOS

Tabla CLIENTES

IdCliente = {Autonumerico} = [0 – 9]
CedulaCliente = [0 – 9]10
NombresCliente = {carácter valido} = { [A – Z] | [a –z] }50
DireccionCliente = {carácter valido} = {[A – Z]|[a –z]}50
TelefonoCliente = [0 – 9]10
PonderacionCliente = [0 – 9]3
CedulaFiador = [0 – 9]10
IdEstadoCliente = [ Activo | Inactivo | Desaparecido ]
IdUsuarioClientes = [0 – 9]

Tabla DETRUTA

IdDetRuta = {Autonumerico} = [0 – 9]
IdRuta = [0 – 9]
IdCliente = {Autonumerico} = [0 – 9]
FechaDetRuta = dd/mmm/yyyy
Mes = [Ene | Feb | … | Dic]
IdEstadoDetRuta = [ Activo | Inactivo ]
IdUsuarioDetRuta = [0 – 9]

Tabla EMPLEADOS

IdEmpleado = {Autonumerico} = [0 – 9]
CedulaEmpleado = [0 – 9]10
NombresEmpleado = {carácter valido} = {[A – Z]|[a –z]}50
ApellidosEmpleado = {carácter valido} = {[A – Z]|[a –z]}50
DireccionEmpleado = {carácter valido} = {[A – Z]|[a –z]}50
TelefonoEmpleado = [0 – 9]10
CelularAsignadoEmpleado = [0 – 9]10
FechaNacimientoEmpleado = [0 – 9]10
NumLicenciaEmpleado = [0 – 9]15
IdCategoriaLicenciaEmpleado = [ 1 | 2 | 3 | 4 | 5 | 6 ]
IdEstadoEmpleado = [Activo Disponible | Activo Asignado | Incapacitado | En
Vacaciones | Inactivo]
IdUsuarioEmpleado = [0 – 9]

Tabla PAGOS

IdPagos = {Autonumerico} = [0 – 9]
IdPrestamo = [0 – 9]
FechaPago = dd/mmm/yyyy
Mes = [Ene | Feb | … | Dic]
ValorPago = [0 – 9]5
IdEstadoPago = [ Correcto | Eliminado ]
IdUsuarioPago = [0 – 9]

Tabla PRESTAMOS
18
IdPrestamo = {Autonumerico} = [0 – 9]
CedulaCliente = [0 – 9]10
IdTipoPrestamo = [0 – 9]
FechaPrestamo = dd/mmm/yyyy
Mes = [Ene | Feb | … | Dic]
PosicionPrestamoEnRuta = [0 – 9]3
Calificacion = [0 – 9]3
IdEstadoPrestamo = [ Activo | Dudosa Recuperación | Pagado ]
IdUsuarioPrestamo = [0 – 9]

Tabla RESUMENRUTAS

IdResumenRutas = {Autonumerico} = [0 – 9]
IdVehiculo = [0 – 9]
IdEmpleado = [0 – 9]
FechaResumen = dd/mmm/yyyy
Mes = [Ene | Feb | … | Dic]
NumTarjetasResumen = [0 – 9]3
NumPasanResumen = [0 – 9]3
TotalDiaResumen = [0 – 9]10
IdEstadoResumenRuta = [ Activo | Histórico | Eliminado ]
IdRuta = [0 – 9]
IdUsuarioResumen = [0 – 9]

Tabla RUTAS

IdRuta = {Autonumerico} = [0 – 9]
FechaCreacionRuta = dd/mmm/yyyy
Mes = [Ene | Feb | … | Dic]
LocalizacionRuta = {carácter valido} = {[A – Z]|[a –z]}50
IdEstadoRuta [ Activa | Vacía | Inactiva | Eliminada ]
IdUsuarioRuta = [0 – 9]

Tabla TIPOPRESTAMOS

IdTipoPrestamo = {Autonumerico} = [0 – 9]
ValorPrestamo = [0 – 9]10
NumCuotasPrestamo = [0 – 9]2
ValorCuotaPrestamo = [0 – 9]5
IdEstadoTipoPrestamo = [ Activo | Inactivo | Eliminado ]
IdUsuarioTipoPrestamo = [0 – 9]

Tabla VEHICULOS

IdVehiculo = {Autonumerico} = [0 – 9]
NumeroPlacaVehiculo = [A – Z]3 + [0 – 9 | A – Z]3
IdTipoVehiculo = [ Automovil | Motocicleta ]
ModeloVehiculo = {carácter valido} = {[A – Z]|[a –z]}50
FechaVenceSeguroVehiculo = dd/mmm/yyyy
Mes = [Ene | Feb | … | Dic]
IdEstadoVehiculo = [ Disponible | Problemas de Documentación | En
Mantenimiento | No Disponible | Eliminado ]
19
IdUsuarioVehiculo = [0 – 9]

2.6. DIAGRAMAS DE FLUJO DE DATOS

2.6.1. DFD Nivel 0

2.6.2. DFD Nivel 1

2.6.3. DFD Nivel 2

20
21
3. DISEÑO

3.1. DISEÑO ARQUITECTÓNICO

3.2. DISEÑO PROCEDIMENTAL

Véase Punto 4.2

22
3.3. DISEÑO DE INTERFAZ

3.3.1. Formulario Principal

Está compuesta por una barra de menú y en el fondo el logo de la


aplicación.

3.3.2. Diseño de ventanas:

Están compuestas por un Título, un área de controles y un área


reservada para los botones en la parte inferior.

23
3.3.3. Diseño Formulario de Captura Principal:

Está compuesto de un área en donde se representa gráficamente una


tarjeta de cobro, un área para mostrar los datos del resumen de la
ruta que se está capturando, un área para mostrar el resumen del
préstamo que se encuentra en el orden en ese momento y un área
para ingresar el valor pagado, así como un espacio reservado para los
botones.

24
4. DESARROLLO E IMPLEMENTACION

4.1. CONVENCIONES DE NOMBRES UTILIZADA

• Los nombres de las tablas son plurales.

• Los Nombres de los atributos son singulares.

• El nombre de un atributo usa mayúscula inicial, minúsculas y


mayúsculas nuevamente cuando sea una nueva palabra.

• Todas las tablas deben tener una llave primaria auto incremental, que
se llama IdNom_Tabla

• Para los nombres de los controles se utiliza la notación polaca:

o TextBox: txtNom_Campo

o Button: cmdNom_Comando

o ComboBox: cbNom_Atributo

o Formularios: frmNom_Formulario

4.2. PRINCIPALES ALGORITMOS EN PSEUDOCÓDIGO

4.2.1. Algoritmo Captura Ruta

Inicio
Leer numruta
Principal {
Llamar Tarjeta
Leer vrcuota
Si vrcuota es pagototal entonces
EstadoPrestamo = Pagado
Finsi
Almacenar Pago
Registrar Estadísticas
Si Finruta = false entonces
Si PrestamoNuevo = true entonces
Leer cccliente
Si clienteNuevo = true entonces
Leer DatosCliente
Finsi
Leer datosPrestamo
ReordenarTarjetasPrestamos()
Finsi
AvanzaTarjetaSiguiente()
Principal( )
25
Finsi
}
Fin

4.2.2. Procedimiento de Calificación de Préstamo

CalificarPrestamo(IdPrestamo, NumCuotas) {
CalcularDiasSinPago(IdPrestamo)
Calificacion = CalificaciónActual – DiasSinPago * (1 /
NumCuotas)
}

4.3. CONVENCIONES Y ESTRATEGIA DE DOCUMENTACIÓN DEL


CÓDIGO

Estrategia

- Cada módulo debe tener un comentario al principio en donde


se indique la persona que lo programó y la fecha en que lo hizo.
- Las última actualización a un módulo debe quedar registrada
en una anotación debajo de la anotación de creación con el nombre
de quien la realizó y la fecha
- Las operaciones complejas deben llevar un comentario a la
derecha del código con una explicación de la línea de código.

4.4. ESTRATEGIA PARA EL MANEJO DE ERRORES

NO APLICADA

4.5. SCRIPT PARA LA CREACIÓN DE LAS BASE DE DATOS QUE


INCLUYA (DDL)

USE [master]
GO
/****** Objeto: Database [bdsppd] Fecha de la secuencia de
comandos: 06/08/2009 23:08:50 ******/
CREATE DATABASE [bdsppd] ON PRIMARY
( NAME = N'bdsppd', FILENAME = N'C:\Archivos de programa\Microsoft
SQL Server\MSSQL.1\MSSQL\DATA\bdsppd.mdf' , SIZE = 3072KB , MAXSIZE
= UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'bdsppd_log', FILENAME = N'C:\Archivos de
programa\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\bdsppd_log.ldf' ,
SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'bdsppd', @new_cmptlevel=90
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
26
EXEC [bdsppd].[dbo].[sp_fulltext_database] @action = 'disable'
end
GO
ALTER DATABASE [bdsppd] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [bdsppd] SET ANSI_NULLS OFF
GO
ALTER DATABASE [bdsppd] SET ANSI_PADDING OFF
GO
ALTER DATABASE [bdsppd] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [bdsppd] SET ARITHABORT OFF
GO
ALTER DATABASE [bdsppd] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [bdsppd] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [bdsppd] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [bdsppd] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [bdsppd] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [bdsppd] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [bdsppd] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [bdsppd] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [bdsppd] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [bdsppd] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [bdsppd] SET ENABLE_BROKER
GO
ALTER DATABASE [bdsppd] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [bdsppd] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [bdsppd] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [bdsppd] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [bdsppd] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [bdsppd] SET READ_WRITE
GO
ALTER DATABASE [bdsppd] SET RECOVERY SIMPLE
GO
ALTER DATABASE [bdsppd] SET MULTI_USER
GO
ALTER DATABASE [bdsppd] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [bdsppd] SET DB_CHAINING OFF
GO
USE [bdsppd]
GO
/****** Objeto: Table [dbo].[TipoPrestamos] Fecha de la
secuencia de comandos: 06/08/2009 23:08:50 ******/
27
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TipoPrestamos](
[IdTipoPrestamo] [int] IDENTITY(1,1) NOT NULL,
[ValorPrestamo] [numeric](10, 0) NULL,
[NumCuotasPrestamo] [int] NULL,
[ValorCuotaPrestamo] [numeric](5, 0) NULL,
[IdEstadoTipoPrestamo] [int] NULL,
[IdUsuarioTipoPrestamo] [int] NULL,
PRIMARY KEY CLUSTERED
(
[IdTipoPrestamo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Objeto: Table [dbo].[Vehiculos] Fecha de la secuencia
de comandos: 06/08/2009 23:08:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Vehiculos](
[IdVehiculo] [int] IDENTITY(1,1) NOT NULL,
[NumeroPlacaVehiculo] [varchar](6) NULL,
[IdTipoVehiculo] [int] NULL,
[ModeloVehiculo] [char](4) NULL,
[FechaVenceSeguroVehiculo] [datetime] NULL,
[IdEstadoVehiculo] [int] NOT NULL,
[IdUsuarioVehiculo] [int] NULL,
PRIMARY KEY CLUSTERED
(
[IdVehiculo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY],
UNIQUE NONCLUSTERED
(
[NumeroPlacaVehiculo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[Empleados] Fecha de la secuencia
de comandos: 06/08/2009 23:08:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
28
CREATE TABLE [dbo].[Empleados](
[IdEmpleado] [int] IDENTITY(1,1) NOT NULL,
[CedulaEmpleado] [varchar](10) NULL,
[NombresEmpleado] [varchar](50) NULL,
[ApellidosEmpleado] [varchar](50) NULL,
[DireccionEmpleado] [varchar](50) NULL,
[TelefonoEmpleado] [varchar](10) NULL,
[CelularAsignadoEmpleado] [varchar](10) NULL,
[FechaNacimientoEmpleado] [datetime] NULL,
[NumLicenciaEmpleado] [varchar](15) NULL,
[IdClaseLicenciaEmpleado] [int] NULL,
[IdEstadoEmpleado] [int] NULL,
[IdUsuarioEmpleado] [int] NULL,
PRIMARY KEY CLUSTERED
(
[IdEmpleado] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY],
UNIQUE NONCLUSTERED
(
[CedulaEmpleado] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[Parametros] Fecha de la secuencia
de comandos: 06/08/2009 23:08:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Parametros](
[IdParametro] [int] IDENTITY(1,1) NOT NULL,
[Atributo] [varchar](50) NULL,
[Descripcion] [varchar](200) NULL,
[EstadoParametro] [char](1) NULL,
PRIMARY KEY CLUSTERED
(
[IdParametro] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[LogCreacionPrestamos] Fecha de la
secuencia de comandos: 06/08/2009 23:08:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
29
GO
CREATE TABLE [dbo].[LogCreacionPrestamos](
[usuario] [varchar](50) NULL,
[fecha] [datetime] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[UsuarioActivo] Fecha de la
secuencia de comandos: 06/08/2009 23:08:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[UsuarioActivo](
[usuario] [varchar](50) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[Usuarios] Fecha de la secuencia de
comandos: 06/08/2009 23:08:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Usuarios](
[IdUsuario] [int] IDENTITY(1,1) NOT NULL,
[NombreUsuario] [varchar](50) NULL,
[Usuario] [varchar](15) NULL,
[Password] [varchar](18) NULL,
[IdRol] [int] NULL,
[IdEstadoUsuario] [int] NULL,
PRIMARY KEY CLUSTERED
(
[IdUsuario] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[Rutas] Fecha de la secuencia de
comandos: 06/08/2009 23:08:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Rutas](
[IdRuta] [int] IDENTITY(1,1) NOT NULL,
[FechaCreacionRuta] [datetime] NULL,
[LocalizacionRuta] [varchar](50) NULL,
30
[IdEstadoRuta] [int] NULL,
[IdUsuarioRuta] [int] NULL,
PRIMARY KEY CLUSTERED
(
[IdRuta] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[Clientes] Fecha de la secuencia de
comandos: 06/08/2009 23:08:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Clientes](
[IdCliente] [int] IDENTITY(1,1) NOT NULL,
[CedulaCliente] [varchar](10) NULL,
[NombreCliente] [varchar](50) NULL,
[DireccionCliente] [varchar](50) NULL,
[TelefonoCliente] [varchar](10) NULL,
[PonderacionCliente] [int] NULL,
[CedulaFiador] [varchar](10) NULL,
[IdEstadoCliente] [int] NULL,
[IdUsuarioCliente] [int] NULL,
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],
UNIQUE NONCLUSTERED
(
[CedulaCliente] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[Pagos] Fecha de la secuencia de
comandos: 06/08/2009 23:08:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Pagos](
[IdPago] [int] IDENTITY(1,1) NOT NULL,
[IdPrestamo] [int] NOT NULL,
[FechaPago] [datetime] NULL,
[ValorPago] [numeric](5, 0) NULL,
[IdEstadoPago] [int] NULL,
[IdUsuarioPago] [int] NULL,
31
PRIMARY KEY CLUSTERED
(
[IdPago] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Objeto: Table [dbo].[Prestamos] Fecha de la secuencia
de comandos: 06/08/2009 23:08:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Prestamos](
[IdPrestamo] [int] IDENTITY(1,1) NOT NULL,
[IdTipoPrestamo] [int] NOT NULL,
[FechaPrestamo] [datetime] NULL,
[PosicionEnRutaPrestamo] [int] NULL,
[CalificacionPrestamo] [int] NULL,
[IdEstadoPrestamo] [int] NULL,
[IdUsuarioPrestamo] [int] NULL,
[CedulaCliente] [varchar](10) NULL,
PRIMARY KEY CLUSTERED
(
[IdPrestamo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[ResumenRutas] Fecha de la
secuencia de comandos: 06/08/2009 23:08:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ResumenRutas](
[IdResumenRuta] [int] IDENTITY(1,1) NOT NULL,
[IdVehiculo] [int] NOT NULL,
[IdEmpleado] [int] NOT NULL,
[FechaResumen] [datetime] NULL,
[NumTarjetasResumen] [int] NULL,
[NumPasanResumen] [int] NULL,
[NumPaganResumen] [int] NULL,
[TotalDiaResumen] [numeric](18, 0) NULL,
[IdEstadoResumenRuta] [int] NULL,
[IdRuta] [int] NOT NULL,
[IdUsuarioResumen] [int] NULL,
PRIMARY KEY CLUSTERED
(
[IdResumenRuta] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
32
) ON [PRIMARY]
GO
/****** Objeto: Table [dbo].[ValorParametros] Fecha de la
secuencia de comandos: 06/08/2009 23:08:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[ValorParametros](
[IdValorParametro] [int] IDENTITY(1,1) NOT NULL,
[IdParametro] [int] NOT NULL,
[Descripcion] [varchar](200) NULL,
[EstadoValorParametro] [char](1) NULL,
PRIMARY KEY CLUSTERED
(
[IdValorParametro] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[DetRuta] Fecha de la secuencia de
comandos: 06/08/2009 23:08:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[DetRuta](
[IdDetRuta] [int] IDENTITY(1,1) NOT NULL,
[IdRuta] [int] NOT NULL,
[IdCliente] [int] NOT NULL,
[FechaDetRuta] [datetime] NULL,
[IdEstadoDetRuta] [int] NULL,
[IdUsuarioDetRuta] [int] NULL,
PRIMARY KEY CLUSTERED
(
[IdDetRuta] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Objeto: Trigger [trg_log_Prestamos] Fecha de la
secuencia de comandos: 06/08/2009 23:08:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[trg_log_Prestamos]
ON [dbo].[Prestamos]

AFTER INSERT
AS

33
BEGIN

declare @usuario varchar(50)


set @Usuario=(Select usuario from UsuarioActivo)

INSERT INTO LogCreacionPrestamos(usuario,fecha)


select Usuario=@Usuario,getdate()
from inserted

END
GO
/****** Objeto: StoredProcedure [dbo].[LlenarCombo] Fecha de la
secuencia de comandos: 06/08/2009 23:08:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[LlenarCombo]

@Atributo as VARCHAR (100),


@Estado as varchar (100)
AS

SELECT IdValorParametro, v.Descripcion


FROM ValorParametros v, Parametros p
WHERE p.Atributo =@Atributo and
p.IdParametro =v.IdParametro and
v.EstadoValorParametro =@Estado
Order by (v.Descripcion)

/* SET NOCOUNT ON */
RETURN
GO
/****** Objeto: ForeignKey [FK_Clientes_Clientes] Fecha de la
secuencia de comandos: 06/08/2009 23:08:50 ******/
ALTER TABLE [dbo].[Clientes] WITH CHECK ADD CONSTRAINT
[FK_Clientes_Clientes] FOREIGN KEY([CedulaFiador])
REFERENCES [dbo].[Clientes] ([CedulaCliente])
GO
ALTER TABLE [dbo].[Clientes] CHECK CONSTRAINT
[FK_Clientes_Clientes]
GO
/****** Objeto: ForeignKey [FK__DetRuta__IdClien__1920BF5C]
Fecha de la secuencia de comandos: 06/08/2009 23:08:50 ******/
ALTER TABLE [dbo].[DetRuta] WITH CHECK ADD FOREIGN
KEY([IdCliente])
REFERENCES [dbo].[Clientes] ([IdCliente])
GO
/****** Objeto: ForeignKey [FK__DetRuta__IdRuta__173876EA]
Fecha de la secuencia de comandos: 06/08/2009 23:08:50 ******/
ALTER TABLE [dbo].[DetRuta] WITH CHECK ADD FOREIGN KEY([IdRuta])
REFERENCES [dbo].[Rutas] ([IdRuta])
GO
/****** Objeto: ForeignKey [FK__Pagos__IdPrestam__1B0907CE]
Fecha de la secuencia de comandos: 06/08/2009 23:08:50 ******/
ALTER TABLE [dbo].[Pagos] WITH CHECK ADD FOREIGN KEY([IdPrestamo])
REFERENCES [dbo].[Prestamos] ([IdPrestamo])
GO

34
/****** Objeto: ForeignKey [FK__Prestamos__Cedul__1A14E395]
Fecha de la secuencia de comandos: 06/08/2009 23:08:50 ******/
ALTER TABLE [dbo].[Prestamos] WITH CHECK ADD FOREIGN
KEY([CedulaCliente])
REFERENCES [dbo].[Clientes] ([CedulaCliente])
GO
/****** Objeto: ForeignKey [FK__Prestamos__IdTip__1BFD2C07]
Fecha de la secuencia de comandos: 06/08/2009 23:08:50 ******/
ALTER TABLE [dbo].[Prestamos] WITH CHECK ADD FOREIGN
KEY([IdTipoPrestamo])
REFERENCES [dbo].[TipoPrestamos] ([IdTipoPrestamo])
GO
/****** Objeto: ForeignKey [FK__ResumenRu__IdEmp__1DE57479]
Fecha de la secuencia de comandos: 06/08/2009 23:08:50 ******/
ALTER TABLE [dbo].[ResumenRutas] WITH CHECK ADD FOREIGN
KEY([IdEmpleado])
REFERENCES [dbo].[Empleados] ([IdEmpleado])
GO
/****** Objeto: ForeignKey [FK__ResumenRu__IdRut__182C9B23]
Fecha de la secuencia de comandos: 06/08/2009 23:08:50 ******/
ALTER TABLE [dbo].[ResumenRutas] WITH CHECK ADD FOREIGN
KEY([IdRuta])
REFERENCES [dbo].[Rutas] ([IdRuta])
GO
/****** Objeto: ForeignKey [FK__ResumenRu__IdVeh__1CF15040]
Fecha de la secuencia de comandos: 06/08/2009 23:08:50 ******/
ALTER TABLE [dbo].[ResumenRutas] WITH CHECK ADD FOREIGN
KEY([IdVehiculo])
REFERENCES [dbo].[Vehiculos] ([IdVehiculo])
GO
/****** Objeto: ForeignKey [FK__ValorPara__IdPar__1ED998B2]
Fecha de la secuencia de comandos: 06/08/2009 23:08:51 ******/
ALTER TABLE [dbo].[ValorParametros] WITH CHECK ADD FOREIGN
KEY([IdParametro])
REFERENCES [dbo].[Parametros] ([IdParametro])
GO

5. PRUEBA

5.1. PLAN DE PRUEBAS (ESTRATEGIA DE PRUEBAS

5.1.1. PRUEBAS UNITARIAS

LISTA DE CHEQUEO - FORMULARIO LOGIN


CUMPLE
No. CONDICIÓN
SI NO
1 Validar Formato Nombre Usuario
2 Validar Formato Contraseña Segura
3 Validar Nombre Usuario Digitado
4 Validar Contraseña Digitada
5 Conectar a la Base de Datos

35
6 Bloquear Insercion de Código SQL
7 Lanza el Formulario Principal al Validar
8 Cierra el Formulario Login al Validar
9 Inicia Centrado el Formulario

5.1.2. PRUEBA DE INTEGRACIÓN

Prueba de Integración No. 1. Debe incluir los siguientes pasos:

1) Logeo erróneo

2) Logeo válido

3) Creación de un Empleado

4) Creación de un Vehículo

5) Creación de una Ruta

6) Recepción de una ruta promedio con las siguientes características

a. Ingreso de un pago normal

b. Ingreso de un pago nuevo para cliente antiguo

c. Ingreso del siguiente pago normal

d. Ingreso de un pago nuevo para cliente nuevo

e. Ingreso del siguiente pago normal

f. Ingreso de un no pago

g. Ingreso de un pago total

7) Finalizar la Ruta

8) Salida del Sistema

5.1.3. PRUEBA DE SISTEMAS

5.2. CASOS DE PRUEBA CAJA BLANCA

36
CASO DE PRUEBA
Probador: Richard Arroyo Galindo

Fecha: 08-Jun-09

Módulo: Realizar Asignación de Ruta

Tipo de Prueba: Caja Blanca

Número de Ruta, Nombre del Empleado,


Valores de Entrada: Placa del Vehículo
Debe insertar un registro en la tabla
Valores/Resultados
Resumen Ruta, con la inicialización de la
Esperados: ruta para el día
Resultados
El módulo no inserta
Obtenidos:
Se corrigieron los errores de compatibilidad
Acciones
de datos y se hicieron las conversiones
Correctivas: correspondientes
Se tenía una mala concepción de la manera
Conclusiones: de enviarle los parámetros a un Insert Into

5.3. CASOS DE PRUEBA DE CAJA NEGRA

CASO DE PRUEBA
Probador: Sandra Lizcano Sarmiento

Fecha: 07-Jun-09

Módulo: AumentarPosicionRuta

Tipo de Prueba: Caja Negra

Posición inicial para incremento, Número de


Valores de Entrada:
Ruta
Valores/Resultados Posiciones incrementadas en 1 posición a
Esperados: partir del a inicial
Resultados Se incrementaron las posiciones de acuerdo
Obtenidos: a lo esperado
Acciones
Ninguna
Correctivas:

37
Conclusiones: Se efectuó un buen diseño del módulo

38
6. POSTMORTEM

6.1. CONCLUSIONES GENERALES

Podemos concluir que los objetivos trazados al inicio del proyecto no


fueron cumplidos en su totalidad, debido a múltiples problemas
encontrados durante el desarrollo del sistema de información, los cuales
llevaron a un atraso en el desarrollo del mismo.

Luego de establecer las características iniciales que llevaron a plantear


el desarrollo del presente proyecto, se estableció que el nicho de
mercado es real, y que existen muy pocas opciones para este tipo de
empresas actualmente en el mercado.

Para el diseño de éste sistema, se calcularon cada uno de los


componentes de forma que pudieran realizar la función requerida sin
fallar, para esto se aplicaron los conocimientos adquiridos durante las
asignaturas de Bases de Datos e Ingeniería de Software 1.

A lo largo de éste proyecto se tuvo que tomar decisiones


constantemente, para diseñar cada uno de los componentes que
conforman el sistema de información, en éste proceso se tomaron en
cuenta todas las recomendaciones efectuadas por el profesor.

Para finalizar, es importante observar, que es necesario hacer una


excelente ingeniería de requisitos, lo cual determina las características
necesarias del sistema de información, para que con esa base, el diseño
de un sistema nuevo sea más fácil, o inclusive sea la adaptación o
mejora del diseño.

6.2. EVALUACIÓN DE LA ACTUACIÓN DE LOS MIEMBROS DEL


EQUIPO

CONTRIBUCIÓ
ROL DESEMPEÑO PUNTUALIDAD
N
Líder General

Líder de Desarrollo 4.5 4.5 3.0

Líder de Planeación

Líder de Soporte

Líder de Calidad

6.3. MÉTRICAS FINALES

6.3.1. Líneas de código totales

39
6.3.2. Horas totales de trabajo efectivo

Documentació
Integrante Programación Totales
n
Luis E. Herrera 4 16 20

Jorge Charum M. 20 2 22

Eduardo Boo 2 14 16

Richard Arroyo G 18 2 20

Sandra Lizcano S. 2 10 12

Horas Totales 46 44 94

6.4. PRINCIPIOS APLICADOS

6.4.1. Constitución de roles


Trabajar en base a una asignación de roles es muy práctico, ya que
cada persona del grupo sabe a que se va a dedicar, que función tiene
dentro del grupo y que aportar a este; Esto es muy bueno porque
que se pierde menos tiempo, no existe un solo líder y cada uno puede
desempeñarse en lo que mejor se perfila. Esta forma de trabajo es
esencial tenerla en cuenta para nuestros próximos proyectos.

6.4.2. Acostumbrarse a probar todo


Durante la realización de este software y con la ayuda del profesor
asignado aprendimos a realizar pruebas REALES al software, para
comprobar que en realidad funciona y no esperar hasta el último
momento que se presenten los errores; Los ingenieros tendemos a
confiar demasiado en lo que hacemos y no queremos encontrar
errores en el software, pero hay que tener en cuenta que el encontrar
errores nosotros es un error que no encontrara el cliente.

6.4.3. Realizar la presentación de un proyecto


Uno de los aspectos importantes en la realización de proyectos es
como realizar la presentación de un proyecto, esto es una parte
indispensable, ya que le facilita al cliente el entendimiento del
proyecto y a través de esta atraer la fascinación del cliente, para esto
se deben tener en cuenta las recomendaciones que nos fueron
hechas para realizar una buena presentación.

40

You might also like