Está en la página 1de 138

-0-

UNIVERSIDAD POLITÉCNICA
SALESIANA

SEDE QUITO-CAMPUS SUR

CARRERA DE INGENIERIA DE SISTEMAS

MENCIÓN INFORMÁTICA PARA LA GESTIÓN

ANÀLISIS, DISEÑO Y DESARROLLO DE UN SISTEMA


INFORMÀTICO PARA LA DIGITALIZACIÒN Y GESTIÒN DE
DOCUMENTOS PARA LA EMPRESA ITCORPS

TESIS PREVIA A LA OBTENCIÒN DEL TÌTULO DE INGENIERO DE


SISTEMAS

DIEGO OMAR AJILA GIA

DIRECTORA ING. LINA ZAPATA

Quito, Abril 2012


DECLARACIÓN

Yo Diego Omar Ajila Gía, declaró bajo juramento que el trabajo aquí descrito
es de mi autoría; que no ha sido previamente presentada para ningún grado o
calificación profesional; y que he consultado las referencias bibliográficas que
incluyen en este documento.

A través de la presente declaración cedo mis derechos de propiedad intelectual


correspondiente a este trabajo a la Universidad Politécnica Salesiana, según lo
establecido por la Ley de Propiedad Intelectual, por su reglamento y por la
normatividad institucional vigente.

Diego Omar Ajila Gia


CERTIFICACIÓN

Certifico que el presente trabajo fue desarrollado por Diego Omar Ajila, bajo mi
dirección.

Ing. Lina Zapata


Directora de Tesis
AGRADECIMIENTOS

En primer lugar quisiera agradecer a mi tutora de tesis, Ing. Lina Zapata, por
su incondicional, apoyo, conocimiento y paciencia en el desarrollo del
proyecto.

Al personal de la empresa ITCORPS, en especial al Ing. Juan Fernando


Velasco, Gerente General, por todas las técnicas, capacitaciones y apoyo al
cumplimiento del proyecto.

.
DEDICATORIA

Dedicado a todas aquellas personas que de una u otra manera sea cual fuere
su circunstancia o situación persiguen un objetivo hasta alcanzarlo.

Diego Omar Ajila Gia


CONTENIDO

CAPÍTULO I....................................................................................................................... 1
DIGITALIZACIÓN DE DOCUMENTOS......................................................................................... 1
1.1 INTRODUCCIÓN. ....................................................................................................................... 1
1.2 ANTECEDENTES. ...................................................................................................................... 1
1.3 DESCRIPCIÓN DEL PROBLEMA .............................................................................................. 2
1.4 OBJETIVO GENERAL ................................................................................................................ 3
1.5 OBJETIVOS ESPECÍFICOS....................................................................................................... 3
1.6 ALCANCE ................................................................................................................................... 3
1.7 JUSTIFICACIÓN......................................................................................................................... 5
1.8 METODOLOGÍA ......................................................................................................................... 6
1.9 PERSPECTIVAS DEL PROYECTO ........................................................................................... 6

CAPITULO II..................................................................................................................... 8
MARCO TEÓRICO........................................................................................................................ 8
2.1 DIGITALIZACIÓN DE DOCUMENTOS....................................................................................... 8
2.1.1 DISPOSITIVOS PARA CAPTURA/DIGITALIZACIÓN DE IMÁGENES .................................. 8
2.1.2 PARÁMETROS DE LA IMAGEN DIGITAL ........................................................................... 10
2.1.3 LA RESOLUCIÓN DE UNA IMAGEN. .................................................................................. 11
2.1.4 DIMENSIONES DE LA IMAGEN .......................................................................................... 11
2.1.5 PROFUNDIDAD DE COLOR ............................................................................................... 11
2.1.6 COMPRESIÓN DE ARCHIVOS ........................................................................................... 12
2.1.7 LA SATURACIÓN................................................................................................................. 12
2.1.8 LA LUMINOSIDAD ............................................................................................................... 12
2.1.9 EL MODO RGB .................................................................................................................... 12
2.1.10 EL MODO CMYK ............................................................................................................. 12
2.2 FORMAS DE ALMACENAMIENTO Y GESTIÓN DE DOCUMENTOS..................................... 13
2.3 METODOLOGÍA DE DESARROLLO DE SOFTWARE................................................................... 13
2.3.1 METODOLOGÍA ORIENTADA A OBJETOS ............................................................................ 13
2.3.2 ARQUITECTURA DE LA APLICACIÓN ............................................................................... 14
2.3.3 PROCESO DE DESARROLLO DE SOFTWARE ................................................................. 15
2.3.4 RUP ...................................................................................................................................... 16
2.4 HERRAMIENTAS DE DESARROLLO ...................................................................................... 18

CAPITULO III................................................................................................................. 20
ANÁLISIS Y DISEÑO .................................................................................................................. 20
3.1 DEFINICIÓN DEL ÁMBITO DEL PROBLEMA.......................................................................... 20
3.1.1 PLAN DE GESTIÓN DE RIESGOS ...................................................................................... 20
3.2 ESPECIFICACIÓN DE REQUERIMIENTOS ............................................................................ 24
3.2.1 REQUISITOS FUNCIONALES ............................................................................................. 25
3.2.2 REQUISITOS NO FUNCIONALES....................................................................................... 27
3.3 ANÁLISIS DE DOMINIO ........................................................................................................... 28
3.4 BREVE INTRODUCCIÒN A LOS CASOS DE USO ................................................................ 29
3.4.1 CARACTERÍSTICAS DE LOS USUARIOS .......................................................................... 30
3.4.2 ROLES DE LOS USUARIOS ............................................................................................... 30
3.4.3 ESPECIFICACIÓN DE ESCENARIOS ................................................................................. 32
3.4.4 DEFINIR LOS DIAGRAMAS DE CASOS DE USO .............................................................. 33
3.5 MODELO RELACIONAL........................................................................................................... 51
3.5.1 FASES PARA DISEÑO DE BASE DE DATOS..................................................................... 51
3.6 DIAGRAMA DE CLASES.......................................................................................................... 55
3.7 DEFINICIÓN DE DIAGRAMAS DE SECUENCIA. .................................................................... 56
3.8 DEFINICIÓN DEL DIAGRAMA FUNCIONAL ........................................................................... 65
3.9 DEFINICIÓN DE INTERFAZ DE USUARIO. ............................................................................ 70
3.9.1 ENTORNO INICIAL .............................................................................................................. 70
3.9.2 ENTORNO “MASTER” ......................................................................................................... 70
3.9.3 ENTORNO DE ADMINISTRACIÓN...................................................................................... 71
3.9.4 ENTORNO OPERADOR ..................................................................................................... 71
3.9.5 ENTORNO DE CONSULTAS ............................................................................................... 71
3.9.6 ENTORNO DE MANTENIMIENTO O GESTIÓN DE LA INFORMACIÓN ............................ 71

CAPITULO IV ................................................................................................................ 75
DESARROLLO DEL SISTEMA ................................................................................................... 75
4.1 DIAGRAMA DE COMPONENTES............................................................................................ 75
4.1.1 CARACTERISTICAS ............................................................................................................ 75
4.2 ESTÁNDARES DE PROGRAMACIÓN ..................................................................................... 79
4.2.1 NOMBRE DE TABLAS DE BDD............................................................................................... 79
4.2.2 NOMBRES DE LOS PROCEDIMIENTOS ALMACENADOS ............................................... 79
4.2.3 NOMBRES DE MODULOS, FORMULARIOS, MENÚ.......................................................... 80
4.2.4 DISTRIBUCION DE LAS CAPAS ......................................................................................... 80
4.3 CODIFICACIÓN DEL SISTEMA ............................................................................................... 87
4.3.1 CODIGO FUENTE .................................................................................................................... 87
4.3.2 CLASES ............................................................................................................................... 88
4.3.3 MÉTODOS ........................................................................................................................... 88
4.3.4 MÓDULOS DE CLASE......................................................................................................... 88

CAPITULO V ................................................................................................................ 110


IMPLEMENTACIÓN DEL SISTEMA ......................................................................................... 110
5.1 DIAGRAMA DE DESPLIEGUE ............................................................................................... 110
5.2 IMPLEMENTACIÓN ....................................................................................................................... 111
5.3 PRUEBAS............................................................................................................................... 112
5.3.1 MODELO DE PRUEBAS .................................................................................................... 112
5.3.2 PRUEBA DE SISTEMAS DE TIEMPO REAL ......................................................................... 116
5.4 MANTENIMIENTO.................................................................................................................. 116

CAPITULO VI .............................................................................................................. 119


CONCLUSIONES Y RECOMENDACIONES............................................................................ 119
6.1 CONCLUSIONES ................................................................................................................... 119
6.2 RECOMENDACIONES ........................................................................................................... 120

REFERENCIAS BIBLIOGRÁFICAS ............................................................................................... 121

BIBLIOGRAFÍA ............................................................................................................................ 121

GLOSARIO DE TÉRMINOS .......................................................................................................... 123

ANEXO A MANUAL DE USUARIO

ANEXO B MANUAL TÉCNICO


CONTENIDO DE FIGURAS

Figura 2.1. Digitalización de Documentos. ........................................................................................................................... 8


Figura 2.2. Escáner ............................................................................................................................................................. 9
Figura 2.3. Cámara digital. .................................................................................................................................................. 9
Figura 2.4. Parámetros de la imagen digital........................................................................................................................10
Figura 2.5. Parámetros de la imagen digital........................................................................................................................11
Figura 2.6 Arquitectura 3 capas ..........................................................................................................................................14
FIGURA 2.7 FASES DE RUP .............................................................................................................................................17
Figura 3.0 Análisis de dominio............................................................................................................................................29
Figura 3.01 Diagrama de caso de uso: Ingresar al sistema ...............................................................................................33
Figura 3.02 Diagrama de caso de uso: Mantenimiento Empresas .....................................................................................34
Figura 3.03 Diagrama de caso de uso: Mantenimiento de Usuarios ..................................................................................36
Figura 3.04 Diagrama de caso de uso: Mantenimiento de Documentos.............................................................................38
Figura 3.05 Diagrama de caso de uso: Gestión de Propiedades del Documento ..............................................................40
Figura 3.06 Diagrama de caso de uso: Mantenimiento de Organizadores .........................................................................42
Figura 3.07 Diagrama de caso de uso: Mantenimiento de Bodegas ..................................................................................44
Figura 3.08 Diagrama de caso de uso: Mantenimiento de Imagen.....................................................................................46
Figura 3.09 Diagrama de caso de uso: Mantenimiento de Imagen.....................................................................................48
Figura 3.10 Diagrama de caso de uso: Etiquetar Imagen. .................................................................................................49
Figura 3.11:Fases de Diseño..............................................................................................................................................51
Figura 3.12 Modelo Conceptual: ........................................................................................................................................52
Figura 3.13 Modelo Lógico ................................................................................................................................................53
Figura 3.15 Diagrama de clases ........................................................................................................................................55
Figura 3.16 Diagrama de Secuencia...................................................................................................................................56
Figura 3.17 Diagrama de Secuencia...................................................................................................................................57
Figura 3.19 Diagrama de Secuencia..................................................................................................................................59
Figura 3.20 Diagrama de Secuencia..................................................................................................................................60
Figura 3.21 Diagrama de Secuencia...................................................................................................................................61
Figura 3.22 Diagrama de Secuencia...................................................................................................................................62
Figura 3.23 Diagrama de Secuencia...................................................................................................................................63
Figura 3.24 Diagrama de Secuencia:..................................................................................................................................64
Figura 3.25 Diagrama Funcional:........................................................................................................................................65
Figura 3.26 Entorno Principal ............................................................................................................................................72
Figura 3.27 Entorno Master ................................................................................................................................................72
Figura 3.28 Entorno Administrador .....................................................................................................................................73
Figura 3.29 Entorno Operador ...........................................................................................................................................73
Figura 3.30 Entorno Consultas ...........................................................................................................................................74
Figura 3.31 Entorno Mantenimiento de la Información ........................................................................................................74
Figura 4.1 Diagrama general de componentes ...................................................................................................................76
Figura 4.2 Diagrama de Aplicación .....................................................................................................................................77
Figura 4.3 Diagrama de Negocio .......................................................................................................................................77
Figura 4.4 Diagrama de Datos............................................................................................................................................78
Figura 4.5 Diagrama de Datos............................................................................................................................................78
Figura 5.1 Diagrama de Despliegue .................................................................................................................................110
CONTENIDO DE TABLAS

Tabla 3.01: Identificación de Riesgos .................................................................................................................................21


Tabla 3.02 Evaluación de los riesgos ................................................................................................................................21
Tabla 3.03 Clasificación de los Riesgos .............................................................................................................................22
Tabla 3.04 Planificación de riesgos ...................................................................................................................................23
Tabla 3.05 Supervisión de riesgos.....................................................................................................................................24
Tabla 3.06 Especificación de Casos de uso: Ingresar al sistema ........................................................................................33
Tabla 3.07. Especificación de Casos de Uso: Curso típico de eventos: Ingresar al sistema ...............................................33
Tabla 3.08 Especificación de Casos de Uso: Curso alternativo de eventos: Ingresar al sistema.........................................34
Tabla 3.09 Especificación de Casos de Uso: Curso típico de eventos: Mantenimiento de empresas ...............................34
Tabla 3.10. Especificación de Casos de Uso: Curso típico de eventos: Crear empresa ......................................................35
Tabla 3.11 Especificación de Casos de Uso: Curso alternativo de eventos: : Crear empresa .............................................35
Tabla 3.12 Especificación de Casos de Uso: Crear usuarios ..............................................................................................36
Tabla 3.13 Especificación de Casos de Uso: Curso típico de eventos: Mantenimiento Usuarios .......................................37
Tabla 3.14 Especificación de Casos de Uso: Curso alternativo de eventos: : Mantenimiento Usuarios ..............................37
Tabla 3.15 Especificación de Casos de Uso: Curso típico de eventos: Mantenimiento de documentos .............................38
Tabla 3.16 Especificación de Casos de Uso: Curso típico de eventos: Mantenimiento de documentos .............................39
Tabla 3.17 Especificación de Casos de Uso: Curso alternativo de eventos: : Mantenimiento de documentos .................39
Tabla 3.18 Especificación de Casos de Uso: Curso típico de eventos: Gestión de Propiedades del Documento ..............40
Tabla 3.19 Especificación de Casos de Uso: Curso típico de eventos: Gestión de Propiedades del Documento ...............41
Tabla 3.20 Especificación de Casos de Uso: Curso alternativo de eventos: Gestión de Propiedades del Documento ......41
Tabla 3.21 Especificación de Casos de Uso: Curso típico de eventos: Gestión de Organizadores ....................................42
Tabla 3.22 Especificación de Casos de Uso: Curso típico de eventos: Gestión de Organizadores ....................................43
Tabla 3.23 Especificación de Casos de Uso: Curso alternativo de eventos: Gestión de Organizadores ...........................43
Tabla 3.24 Especificación de Casos de Uso: Curso típico de eventos: Gestión de Bodegas .............................................44
Tabla 3.25 Especificación de Casos de Uso: Curso típico de eventos: Gestión de Bodegas .............................................45
Tabla 3.26 Especificación de Casos de Uso: Curso alternativo de eventos: Gestión de Bodegas.....................................45
Tabla 3.27 Especificación de Casos de Uso: Mantenimiento de Imágenes........................................................................46
Tabla 3.28 Especificación de Casos de Uso: Curso típico de eventos: Mnto. Imágenes ....................................................47
Tabla 3.29 Especificación de Casos de Uso: Curso alternativo de eventos: Gestión de Bodegas.....................................47
Tabla 3.30 Especificación de Casos de Uso: Mantenimiento de Imágenes........................................................................48
Tabla 3.31 Especificación de Casos de Uso: Mantenimiento de Imágenes .......................................................................49
Tabla 3.32 Especificación de Casos de Uso: Curso alternativo de eventos: Gestión de Bodegas.....................................49
Tabla 3.33 Especificación de Casos de Uso: Mantenimiento de Imágenes........................................................................50
Tabla 3.34 Especificación de Casos de Uso: Mantenimiento de Imágenes........................................................................50
Tabla 3.35 Especificación de Casos de Uso: Curso alternativo de eventos: Etiqueta ........................................................50
Tabla 3.36 Diagrama Funcional: Descripción Tipo..............................................................................................................66
Tabla 3.37 Diagrama Funcional: Descripción Master .........................................................................................................66
Tabla 3.38 Diagrama Funcional: Descripción Mantenimiento..............................................................................................66
Tabla 3.39 Diagrama Funcional: Descripción Administrador ..............................................................................................67
Tabla 3.40 Diagrama Funcional: Descripción Documentos .................................................................................................67
Tabla 3.41 Diagrama Funcional: Descripción Organizadores..............................................................................................67
Tabla 3.42 Diagrama Funcional: Descripción Bodegas......................................................................................................68
Tabla 3.43 Diagrama Funcional: Descripción Usuarios......................................................................................................68
Tabla 3.44 Diagrama Funcional: Descripción Operaciones.................................................................................................68
Tabla 3.45 Diagrama Funcional: Descripción Imágenes .....................................................................................................69
Tabla 3.46 Diagrama Funcional: Descripción Reportes ......................................................................................................69
Tabla 3.47 Diagrama Funcional: Descripción Etiquetas .....................................................................................................69
Tabla 3.48 Diagrama Funcional: Descripción Consultas ....................................................................................................70
Tabla 3.49 Diagrama Funcional: Descripción Consulta......................................................................................................70
Tabla 4.1 Nombre de los procedimientos almacenados.....................................................................................................80
Tabla 4.10 Tabla DDM02....................................................................................................................................................85
Tabla 4.11 Tabla PRM16....................................................................................................................................................85
Tabla 4.12 Tabla PRM17....................................................................................................................................................86
Tabla 4.13 Tabla PRM09....................................................................................................................................................86
Tabla 4.14 Tabla DDA01 ....................................................................................................................................................87
Tabla 4.2 Nombre de módulos, formularios, menú.............................................................................................................80
Tabla 4.3 Variables.............................................................................................................................................................81
Tabla 4.4 Variables locales.................................................................................................................................................81
Tabla 4.5 Variables generales utilizadas en el sistema .......................................................................................................82
Tabla 4.6. Tabla PRM10.....................................................................................................................................................82
Tabla 4.7 Tabla PRM11......................................................................................................................................................82
Tabla 4.8 Tabla PRM15......................................................................................................................................................83
Tabla 4.9 Tabla DDM01 .....................................................................................................................................................84
Tabla 5.1 Modelo de Pruebas...........................................................................................................................................113
Tabla 5.2 Modelo de Prueba II..........................................................................................................................................115
Tabla 5.3 Modelo de Pruebas III .......................................................................................................................................115
ABSTRACT

El presente es un trabajo final de grado de Ingeniería de Sistemas en la


Universidad Politécnica Salesiana. El proyecto “Análisis, Diseño y Desarrollo de
un Sistema Informático para la Digitalización y Gestión de Documentos para la
Empresa “ ITCORPS ” busca establecer la problemática así como su solución
en la gestión de documentos pequeños en formato papel que por su
importancia en su contenido necesitan de la seguridad de la información, para
brindar confidencialidad, disponibilidad , e integridad de los datos. De esta
manera se busca optimizar de mejor manera el manejo de estos documentos
así como conservar los originales previniendo el deterioro que sufren debido a
la manipulación o factores ambientales
RESUMEN
El presente documento expone el desarrollo de un mecanismo de digitalización
de documentos que permite almacenar las fotografías de documentos
escaneados tales como facturas, cheques, letras de cambio, pagares, planillas,
solicitudes en un gestor de base de datos para aprovechar las capacidades del
mismo como son: consulta y actualización de datos a fin de agilitar la
búsqueda, organización, gestión y restricción de datos, además de
proporcionar un mecanismo sencillo, eficiente y rentable para almacenar,
administrar y consultar grandes o pequeños volúmenes de documentos, en
forma de imágenes digitales.

Para realizar el mecanismo antes expuesto se ha creado una interfaz grafica


amigable con el usuario que tiene la capacidad gestionar archivos de imagen y
datos, los mismos que son almacenados en una base de datos y que da como
resultado la provisión para el usuario de información actualizada para la toma
de decisiones, registro y control de todos los procesos inherentes del sistema
de digitalización.

La propuesta pretende servir de apoyo a las empresas que no cuenten con un


verdadero control sobre sus documentos y disponibilidad rápida de la
información, etc.

El cumplimiento y realización del proyecto planteado se fundamentará en el


Proceso de Desarrollo Unificado (RUP), una metodología orientada a objetos,
herramientas case como el lenguaje de programación Vb.net 2010 con el que
se creara la aplicación, para el almacenamiento de datos se utiliza un gestor
de base de datos como es SQL Server, para la creación de reportes se usa
Sap Crystal report para VS.net 2010 y para las consultas por Internet se utiliza
Aspx.net 2010 con Vb.net , todo ello bajo los lineamientos del desarrollo de
software.

El capitulo I corresponde a la fase de inicio del proceso unificado RUP. Los


capítulos II y III a la fase de elaboración. El capitulo IV a la fase construcción y
el capitulo V a la fase de transición.
1

CAPÍTULO I

DIGITALIZACIÓN DE DOCUMENTOS

1.1 INTRODUCCIÓN.

La digitalización de documentos es el mecanismo más sencillo, eficiente y


rentable para almacenar, administrar y consultar grandes volúmenes de
documentos, en forma de imágenes digitales.

El presente capítulo analiza las distintas técnicas de almacenamiento de


imágenes, programación y diseño de base de datos para el desarrollo eficiente
de un sistema de digitalización de documentos que nos permitirá tener una
gestión eficiente de los mismos.

1.2 ANTECEDENTES.
Miles de organizaciones alrededor del mundo usan la digitalización de
documentos diariamente en lugar de contar con sistemas de archivo físico. Las
razones para este cambio son muy simples: previene la pérdida de registros,
ahorra espacio de almacenamiento, administra los registros más fácilmente,
permite encontrar los documentos rápidamente y tener un acceso centralizado
a las imágenes.

Los documentos como facturas, cheques, memorándum, etc. ostentan un papel


destacado en los procesos de gestión de las administraciones tanto públicas
como privadas, desde su recepción, aprobación y reconocimiento hasta el pago
en el caso de facturas de la deuda contraída y su posterior conservación como
justificante fiscal. Todas y cada una de las adquisiciones de bienes y servicios
que las administraciones realizan para el desarrollo de su actividad supone la
llegada de documentos que ha de gestionarse internamente. Por lo tanto,
cualquier acción que busque la mejora en la gestión de los documentos
2

repercutirá, con seguridad y de forma significativa en la empresa ITCORPS.


Recientes cambios normativos han establecido las garantías necesarias para
mejorar la gestión de los documentos, aplicando conceptos de administración
electrónica y gestión documental, reforzando aún más la oportunidad de mejora
en este ámbito de gestión.

La gestión electrónica de los documentos, incluyendo tanto los documentos


electrónicos como la digitalización certificada de los documentos en papel,
ayuda a mejorar esta productividad.

En el momento en que los documentos en formato papel llegan a la empresa,


su digitalización y clasificación la convierte en un documento electrónico,
siendo éste el primer paso antes de iniciar su tramitación, también electrónica,
por las áreas y minimizar así la circulación del papel. A partir de aquí, es que
viajará el documento, junto con toda su información anexa imprescindible para
dar soporte, seguimiento y consultas. Se podrá gestionar los documentos con
toda la información disponible en su pantalla, dejando en un segundo plano
dónde se encuentra el papel. También podemos tener acceso a la misma
información y de la misma forma porque los documentos, digitalizados u
originalmente electrónicos, se encuentran almacenados en el sistema
documental corporativo y disponible desde los sistemas que la gestionaron.

Actualmente algunas organizaciones, han iniciado el camino sin retorno hacia


el documento electrónico en substitución del documento papel, y, lo que es
más importante, la disminución progresiva de la circulación física del papel
ayudando enormemente con el medio ambiente y sobretodo en la conservación
de nuestros bosques.

1.3 DESCRIPCIÓN DEL PROBLEMA

Actualmente la empresa ITCORPS guarda sus documentos en carpetas que a


su vez son almacenadas en estantes o archivos dando lugar a una serie de
problemas como son perdidas, deterioro, dificultad en la búsqueda, etc.
3

La gestión de los documentos es un punto clave en cualquier organización,


tanto en la emisión a clientes, como en la recepción de documentos de
proveedores. Es por ello que se hace necesario utilizar una herramienta que
centralice y gestione, para establecer una organización lógica que permita
relacionar los documentos con la información de negocio (pedidos, contratos,
proyectos, etc.).

1.4 OBJETIVO GENERAL

Desarrollar un sistema informático para la digitalización de documentos en


formato papel.

1.5 OBJETIVOS ESPECÍFICOS

• Investigar y estudiar las formas optimas de almacenar archivos ( jpg,tiff,


bmp,png, etc ) en una base de datos .
• Minimizar o eliminar la posibilidad de pérdida o destrucción de datos.
• Optimizar el rendimiento en términos de productividad y tiempo de
respuesta.
• Garantizar que los datos de los archivos sean válidos.
• Diseñar la aplicación en base a los requerimientos recolectados en la
fase de análisis.
• Desarrollar el sistema propuesto utilizando la metodología RUP.
• Implementar el proyecto en la empresa ITCORPS.

1.6 ALCANCE

Para el desarrollo del sistema se basará en la metodología de desarrollo de


sistemas RUP, con el objetivo de darle facilidad para su escalabilidad y
mantenimiento del mismo.

El proyecto esta en la capacidad de:


4

• Almacenar las imágenes de los documentos escaneados.

• Organizar, extraer y clasificar la información del documento (nombre


de empresa, IVA, número de documentos, etc.).

• Dar seguridad para el ingreso y uso del sistema, a otros usuarios del
uso de privilegios a la información por nivel, no todas las personas
pueden ver la información.

• Flujo de procesos es registrar lo que hizo un usuario (que hizo, que


manipuló) en otras palabras un “Log de auditoria”.

• Reconstruir la historia y recorrido de los documentos desde el


momento de su almacenamiento (Trazabilidad).

• Realizar consultas vía Web, de tal manera que estén disponibles en


cualquier momento y desde cualquier sitio.

• Definir políticas de respaldos, Si se pierde o daña un documento


relevante, puede significar la pérdida total de nuestra información y las
pérdidas económicas podría ser cuantiosas es por eso la necesidad de
la digitalización de los mismos. Se va a respaldar la información
realizando un Backus semanal de la base de datos el cual se copiara
en el disco duro para su posterior almacenamiento en medios
magnéticos ( dvd, cd, cintas ) , el respaldo de la base será manual por
medio de un ejecutable (archivo bat) .

• El funcionamiento del presente sistema informático propuesto,


comienza con el escáner de los documentos, en formato jpg o tiff por
ser de gran resolución y poco tamaño, para esto utilizaremos un gestor
de base de datos. A través de la misma información del documento se
creará índices para la organización que facilitara al usuario la
5

búsqueda de información, la seguridad a la información será manejada


a través de niveles, lo cual dará como resultado que los datos estén
visibles solo para el personal autorizado. El sistema da seguimiento a
los archivos, desde su almacenamiento, facilitando la administración
de recursos.

• Para nuestro proyecto emplearemos la arquitectura cliente servidor (


tres capas ) , a ser desarrollado con tecnología .Net como es visual
Basic , aspx y como gestor de base de datos SQL Server 2008 cuyas
principales características de estas herramientas son su versatilidad y
potencia.

1.7 JUSTIFICACIÓN
Basándonos en las tecnologías de información que se imponen en el mercado
se ha optado por desarrollar esta aplicación que explota las alternativas de
almacenamiento de información de manera segura.

Los documentos recibidos en papel se digitalizan para su archivo y consulta


remota. Sea cual sea el punto de entrada, los documentos son clasificados,
almacenados, y relacionados con la información de negocio de la organización.
El almacenamiento electrónico de los documentos brinda un excelente apoyo al
registro manual permitiendo que los documentos originales no sufran deterioro
o manipulación indebida además de ser un excelente respaldo, a este
procedimiento agreguémosle la facilidad que se obtiene en la organización de
estas documentos para su posterior consulta obteniendo los datos que
necesitemos de manera rápida.

Otro punto muy importante es la seguridad pues la información que sea


guardada será accesible solo para el personal autorizado, sumado a un “log
de auditoria” que nos informara que usuario accedió al sistema, que realizo y
que ha manipulado.
6

Este proyecto tiene un costo económico realmente bajo, la mayor justificación


es que con este proyecto, es posible entregar al usuario final una comodidad y
flexibilidad de uso mucho mejor a la actual.

1.8 METODOLOGÍA
Para el desarrollo de la aplicación para la parte de la ingeniería se utilizará la
metodología RUP la misma que es una metodología orientada a objetos, que
se detalla por medio de la utilización de la notación UML la cual consta de los
siguientes diagramas.
 Diagrama de estructura.- Los elementos que deben existir en el
sistema.
 Diagrama de comportamiento: Lo que debe suceder en el sistema
modelado.
 Diagrama de Iteración. Es el flujo de control y de datos entre los
elementos del sistema modelado.

1.9 PERSPECTIVAS DEL PROYECTO


El proyecto analiza el principal problema que tienen muchas empresas al
almacenar grandes cantidades de documentos en espacios físicos y la
búsqueda de los mismos, sumado al deterioro que sufren debido a agentes
externos que pueden afectar al material impreso como son agentes, biológicos,
fisicoquímicos y humanos. Aprovechando la tecnología actual el proyecto
busca obtener un respaldo del documento impreso así como brindar la
facilidad de búsqueda, seguridad y respaldo de los mismos. A continuación se
muestra los principales agentes que afectan a los documentos impresos y por
consiguiente la razón de ser del presente proyecto.

Los agentes biológicos que comúnmente afectan los materiales impresos son
los microorganismos, insectos y roedores. Muchos de los microorganismos
que afectan al papel, se alimentan de la celulosa y al degradarla hacen que el
papel pierda su consistencia volviéndolo frágil y esponjoso.
7

Los factores ambientales (temperatura, humedad, luz y contaminación), son en


la mayoría de los casos los responsables de las alteraciones de tipo
fisicoquímico de los materiales impresos. De todos los factores ambientales,
éste es el que presenta mayor dificultad para el mantenimiento de su
estabilidad, por lo que se convierte en uno de los principales factores
causantes de la degradación de los materiales impresos.

Los factores humanos como la manipulación de los documentos es uno de los


principales factores de daño. El uso de los documentos, con ignorancia de su
carácter vulnerable, es la causa que produce más deterioro que todos los otros
factores juntos. Los documentos impresos son frágiles y una manipulación
incorrecta favorece la aparición de deformaciones, tales como arrugas,
desgarres o manchas.
8

CAPITULO II

MARCO TEÓRICO

2.1 DIGITALIZACIÓN DE DOCUMENTOS


Por Digitalizar se entiende el proceso de transformar algo analógico (algo
físico, real de precisión infinita), en algo digital (un conjunto finito de
precisión determinada de unidades binarias). Es decir, se trata de tomar una
imagen y convertirla en un formato tratable informáticamente.1 El sistema va ha
digitalizar todo tipo de documentos.

Figura 2.1. Digitalización de Documentos.

2.1.1 DISPOSITIVOS PARA CAPTURA/DIGITALIZACIÓN DE IMÁGENES

Escáner.- Un escáner es un periférico de captura utilizado para escanear


documentos; es decir, convertir un documento en papel en una imagen
digital.

1
Manual de Digitalización de documentos: Proceso de Digitalización
http://www.imaginar.org/dgd/manuales/manual_digitalizacion.pdf
9

Figura 2.2. Escáner.

Cámara Fotográfica Digital.- Una cámara fotográfica digital2 es una cámara


fotográfica que, capturar y almacena fotografías digitalmente mediante un
dispositivo3 electrónico, o en cinta magnética usando un formato
analógico como muchas cámaras de video. Las cámaras digitales
compactas modernas generalmente son multifuncionales y contienen
algunos dispositivos capaces de grabar sonido y/o video además de
fotografías.

Figura 2.3. Cámara digital.

2
Digital - Utiliza unos y ceros (sistema binario) para transmitir, procesar o almacenar información.
3
Dispositivo - Aparato, artificio, mecanismo, artefacto, órgano o elemento de un sistema
10

2.1.2 PARÁMETROS DE LA IMAGEN DIGITAL

Una imagen digital es una representación bidimensional de una imagen a partir


de una matriz numérica, frecuentemente en binario (unos y ceros). 4

En la figura 2.4 se muestra una imagen y su representación binaria.

Figura 2.4. Parámetros de la imagen digital.

Dependiendo de si la resolución de la imagen es estática o dinámica, puede


tratarse de un gráfico rasterizado o de un gráfico vectorial.

Los gráficos rasterizados o mapa de bits.- son una estructura o fichero de


datos que representa una rejilla rectangular de píxeles5 o puntos de color,
denominada matriz, que se puede visualizar en un monitor, papel u otro
dispositivo de representación. Las imágenes bitmap no permiten el cambio
de escala se distorsionan fácilmente.

Los gráficos vectoriales.- están compuestas por entidades geométricas


simples: segmentos y polígonos básicamente (de hecho, una curva se
reduce a una sucesión de segmentos) las imágenes vectoriales se pueden
cambiar de escala, para ampliarlas o reducirlas, sin que la imagen pierda
calidad.
4
Manual de Digitalización de documentos: http://www.imaginar.org/dgd/manuales/manual_digitalizacion.pdf
5
Píxel. Es la menor unidad homogénea en color que forma parte de una imagen digital.
11

2.1.3 LA RESOLUCIÓN DE UNA IMAGEN.

La resolución de una imagen es la cantidad de píxeles que la componen. Suele


medirse en píxeles por pulgada (ppi)1 o píxeles por centímetro (pcm). Cuanto
mayor es la resolución de una imagen más calidad tendrá su presentación
pero, desgraciadamente, más espacio ocupará en el disco el archivo gráfico
que la contiene.

Resolución

Figura 2.5. Parámetros de la imagen digital.

2.1.4 DIMENSIONES DE LA IMAGEN


Las dimensiones de una imagen se expresan, como es habitual, en cm o mm.
Por ejemplo, una imagen de 10 x 15 cm medirá 10 cm de ancho y 15 cm de
alto.

2.1.5 PROFUNDIDAD DE COLOR


Profundidad de color es el número de bits utilizados para describir el color de
cada pixel de la imagen. Cuanto mayor sea la profundidad de color de una
imagen, más colores tendrá la paleta disponible y, por tanto, la representación
de la realidad podrá hacerse con más matices, con colores más sutiles.
12

2.1.6 COMPRESIÓN DE ARCHIVOS


Los archivos gráficos suelen tener tamaños muy grandes. Este gran consumo
de espacio en disco hizo necesario el desarrollo de tecnologías capaces de
comprimir archivos gráficos.

Cada sistema de compresión utiliza un algoritmo matemático propio para


reducir la cantidad de bits necesarios para describir la imagen, y marca el
archivo resultante con una extensión característica: bmp, jpg, gif, png, etcétera.

2.1.7 LA SATURACIÓN
La saturación es la propiedad que describe la viveza del color. Un color muy
saturado es un color con una tonalidad intensa y pura. Por el contrario, un color
poco saturado es el que tiene una tonalidad apagada.

2.1.8 LA LUMINOSIDAD
La luminosidad describe la cantidad de luz reflejada. Se trata por tanto de una
magnitud relativa, que se expresa también en forma de porcentaje, desde el
100% (luminosidad total) hasta el 0% (oscuridad total).

2.1.9 EL MODO RGB


Este modo de color es el que se utiliza en todos los procesos en los que el
color se obtiene por mezcla aditiva de luces: televisión, pantallas gráficas,
iluminación artificial, etc.

2.1.10 EL MODO CMYK


El modo de color CYMK es el que se utiliza para describir el color que se
obtendría si tiñésemos un papel con tintas de colores.6

6
Imagen digital: conceptos básicos: http://platea.pntic.mec.es/~lgonzale/tic/imagen/conceptos.html
13

2.2 FORMAS DE ALMACENAMIENTO Y GESTIÓN DE


DOCUMENTOS
Las imágenes digitales se pueden almacenar en los discos internos de
cualquier computadora personal, en arreglos de discos o sistemas de
almacenamiento masivo, con respaldos en discos CD-R o DVD que garantizan
su conservación en óptimas condiciones.

Para archivar 300,000 hojas se necesita un espacio aproximado de 80 M2,


en tanto que 300,000 imágenes caben en 30 CD´s. El costo de una fotocopia
es similar al de un imagen digitalizada, la fotocopia no puede integrarse a
ninguna aplicación, en tanto que la imagen digitalizada puede incorporarse
a cualquier sistema automatizado.

El sistema utilizará una base de datos para almacenar la información que será

obtenida mediante dispositivos de captura/ digitalización de imágenes de los

documentos digitalizados, esta información contará con las seguridades

necesarias. La información que se va almacenar en la base de datos van a ser

consultados frecuentemente.

2.3 METODOLOGÍA DE DESARROLLO DE SOFTWARE

Las Metodologías de Desarrollo de Software surgen ante la necesidad de


utilizar una serie de procedimientos, técnicas, herramientas y soporte
documental a la hora de desarrollar un producto software. 7

2.3.1 METODOLOGÍA ORIENTADA A OBJETOS

Utiliza objetos y sus interacciones, para diseñar aplicaciones y programas


informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción,

7
Metodologías de Desarrollo de Software : http://alarcos.infcr.uclm.es/doc/ISOFTWAREI/Tema04.pdf
14

polimorfismo y encapsulamiento. Su uso se popularizó a principios de la


década de los años 1990.8

El sistema se basará en este tipo de metodología para lograr los objetivos

propuestos, se utilizará varias técnicas en especial la herencia como principal

característica de esta metodología, la misma que ayudará a la reutilización de

código y a lograr un compresión fácil de la programación ya que los datos y

procedimientos de los cuales se componen los objetos están agrupados en

clases.

2.3.2 ARQUITECTURA DE LA APLICACIÓN

La Arquitectura de Software es la organización fundamental de un sistema


encarnada en sus componentes, las relaciones entre ellos y el ambiente y los
principios que orientan su diseño y evolución.9

Para el desarrollo del sistema se ha elegido la arquitectura en tres capas cuyo


objetivo primordial es la separación de la capa de presentación, capa de
negocio y la capa de datos.

10
Figura 2.6 Arquitectura 3 capas http://es.wikipedia.org/wiki/Archivo:Tres_capas.PNG

8
http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos
9
http://www.sei.cmu.edu/architecture/definitions.html
15

 Se caracteriza por la descomposición de las aplicaciones.


 Proporciona una escalabilidad, capacidad de administración y utilización
de recursos mejorados.

 Cada capa es un grupo de componentes que realiza una función


específica.
 Se puede actualizar una capa sin recompilar otras capas.

La capa de la presentación es una interfaz gráfica se comunica únicamente


con la capa de negocio.

La capa de negocio es donde se establecen todas las reglas que deben


cumplirse, se comunica con la capa de presentación, para recibir las solicitudes
y presentar los resultados, y con la capa de datos, para solicitar al gestor de
base de datos almacenar o recuperar datos de él.

La capa de datos esta formada por uno o más gestores de bases de datos
que almacenan datos, recibe solicitudes de almacenamiento o recuperación
desde la capa de negocio. 11

2.3.3 PROCESO DE DESARROLLO DE SOFTWARE

Un proceso de desarrollo de software tiene como propósito la producción eficaz


y eficiente de un producto software que reúna los requisitos del cliente.12

El proceso escogido para nuestro propósito es RUP (Rational Unified Process)


el motivo se debe a que es el proceso de desarrollo más general de los

10
Gráfico tomado de http://es.wikipedia.org/wiki/Archivo:Tres_capas.PNG:Rup_espanol.gif

11
http://www.slideshare.net/Decimo/arquitectura-3-capas
12
http://www.usmp.edu.pe/publicaciones/boletin/fia/info49/articulos/RUP%20vs.%20XP.pdf
16

existentes actualmente y con la aplicación de sus fases permitirá obtener un


software de calidad.

2.3.4 RUP

Proceso de ingeniería de software que junto al Lenguaje Unificado de


Modelado (UML), constituye una metodología estándar altamente utilizada para
el análisis, implementación y documentación de sistemas orientados a
objetos.13

RUP se divide en cuatro fases:

Inicio: El objetivo es determinar la visión del proyecto y definir lo que se desea


realizar.

Elaboración: Etapa en la que se determina la arquitectura óptima del


proyecto.

Construcción: Se obtiene la capacidad operacional inicial.

Transmisión: Obtener el producto acabado y definido.

13
http://es.wikipedia.org/wiki/Proceso_Unificado_de_Rational#Un_poco_de_historia
17

FIGURA 2.7 FASES DE RUP

Figura 2.7. Autor http://es.wikipedia.org/wiki/Proceso_Unificado_de_Rational

Elementos del RUP.

Actividades: Procesos que se han de realizar en cada etapa/iteración.

Trabajadores: Personas involucradas en cada actividad del proyecto.

Artefactos: Herramientas empleadas para el desarrollo del proyecto. Puede


ser un documento, un modelo, un elemento del modelo, etc.14

14
http://www.slideshare.net/kiberley/dme-que-desarrollas-y-te-dir-que-metodologa-usar
18

La fase de inicio se enfocará hacia el análisis y especificación de los requisitos

en la empresa ITCORPS. En la fase de elaboración eliminaremos los

elementos de mayor riesgo para el desarrollo óptimo del proyecto

identificaremos los casos de uso, se enfocará al análisis y diseño del sistema.

En la fase de construcción, se inicia la elaboración del producto, el énfasis en

esta fase esta en la producción eficiente y no ya en la creación intelectual.

2.4 HERRAMIENTAS DE DESARROLLO

Para el proyecto se utilizará:

Microsoft SQL Server es un sistema para la gestión de bases de datos


producido por Microsoft basado en el modelo relacional.

Características:

 Soporte de transacciones.
 Escalabilidad, estabilidad y seguridad.
 Soporta procedimientos almacenados.
 Incluye también un potente entorno gráfico de administración, que
permite el uso de comandos DDL y DML gráficamente.
 Permite trabajar en modo cliente-servidor, donde la información y datos
se alojan en el servidor y los terminales o clientes de la red sólo acceden
a la información.
 Además permite administrar información de otros servidores de datos.

Visual Basic .NET (VB.NET) es un lenguaje de programación orientado a


objetos que se puede considerar una evolución de Visual Basic implementada
sobre el framework .NET. Su introducción resultó muy controvertida, ya que
debido a cambios significativos en el lenguaje VB.NET no es compatible hacia
19

atrás con Visual Basic, pero el manejo de las instrucciones es similar a


versiones anteriores de Visual Basic, facilitando así el desarrollo de
aplicaciones más avanzadas con herramientas modernas.

Crystal Reports es una aplicación de inteligencia empresarial utilizada para


diseñar y generar informes desde una amplia gama de fuentes de datos (bases
de datos). El producto fue originalmente creado por Crystal Services Inc., la
cual produjo las versiones 1.0 hasta la 3.0. La compañía fue posteriormente
adquirida por Seagate Software, la que luego fue renombrada como Crystal
Decisions, y produjo las versiones 4.0 hasta la 9.0. Crystal Decisions fue
adquirida en diciembre de 2003 por Business Objects, la cual ha producido las
versiones 10 y 11 (XI), y actualmente la versión 12 (2008). Business Objects
fue adquirida el 8 de Octubre de 2007 por SAP.

ASP.NET Es un framework para aplicaciones web desarrollado y


comercializado por Microsoft. Es usado por programadores para construir sitios
web dinámicos, aplicaciones web y servicios web XML. Apareció en enero de
2002 con la versión 1.0 del .NET Framework, y es la tecnología sucesora de la
tecnología Active Server Pages (ASP). ASP.NET esta construido sobre el
Common Language Runtime15, permitiendo a los programadores escribir
código ASP.NET usando cualquier lenguaje admitido por el .NET Framework.16

15
Common Language Runtime: Es un entorno de ejecución para los códigos de los programas que corren
sobre la plataforma Microsoft .NET.
16
ASP.NET : http://es.wikipedia.org/wiki/ASP.NET
20

CAPITULO III

ANÁLISIS Y DISEÑO

3.1 DEFINICIÓN DEL ÁMBITO DEL PROBLEMA


Se plantea desarrollar un software que permita digitalizar los distintos

documentos existentes en cualquier empresa y especial en ITCORPS. El

proceso se inicia convirtiendo los documentos físicos en imágenes digitales,

esta información será almacenada en la base de datos de un servidor,

permitiendo tener como respaldo digital el documento original, eliminando de

esta manera la búsqueda manual con la que actualmente se realiza este

proceso. Con la definición del ámbito del problema y la especificación de los

requerimientos estamos cumpliendo con la fase de inicio de la metodología

RUP.

3.1.1 PLAN DE GESTIÓN DE RIESGOS

La gestión de riesgos permite minimizar o evitar riesgos en el proyecto,


mediante la generación de principios y buenas prácticas de aplicación realista.

Para realizar el plan de gestión de riesgos se utilizará cinco actividades que


son:

3.1.1.1 Identificación de Riesgos

Son los problemas directos o potenciales que pueden suceder y que


constituyen una amenaza potencial para nuestro proyecto, que pueden estar
presentes en el proyecto en curso.
21

No: Riesgos Impacto Componente Medida

1 Complejidad en la programación SI Proyecto Critico


2 Recursos económicos deficientes pare el No Costos Baja
cumplimiento del proyecto.
3 Poco tiempo para la elaboración del SI Proyecto Medio
proyecto.
4 Poca colaboración del personal de la No Proyecto Baja
fundación para la especificación de
requerimientos.
5 Subestimación del tamaño del proyecto SI Critico
6 Cambio de los requisitos SI Producto/Pro Critico
yecto

Tabla 3.01: Identificación de Riesgos

3.1.1.2 Evaluación de los riesgos

Aquí vamos a considerar las consecuencias potenciales de un peligro dado,


así como la probabilidad de ocurrencia de un evento fortuito y determinaremos
en qué indicador se verá reflejado que un problema se presente.

No: Riesgos Probabilidad Efectos


1 Complejidad en la programación. moderada Serio
2 Recursos económicos deficientes pare el Baja Catastrófico
cumplimiento del proyecto.
3 Poco tiempo para la elaboración del Alta Catastrófico
proyecto.
4 Poca colaboración del personal de la Baja Tolerable
fundación para la especificación de
requerimientos.
5 Subestimación del tamaño del proyecto Alta Catastrófico
6 Cambio de los requisitos moderada Serio

Tabla 3.02 Evaluación de los riesgos


22

3.1.1.3 Clasificación de los Riesgos

Vamos a colocar el riesgo según la categoría de nuestra clasificación, para


nuestro caso existen los siguientes riesgos:

• Riesgos del proyecto: Afectan la planificación del proyecto.


• Riesgos técnicos: Afectan la calidad del software.
• Riesgos del negocio: Amenazan la viabilidad del software.

N: Riesgos Probabilidad Efectos R. Proyecto R. R.


Técnico Negocio

1 Complejidad en la moderada Serio X


programación
2 Recursos Baja Catastrófic X
económicos o
deficientes pare el
cumplimiento del
proyecto.
3 Poco tiempo para Alta Catastrófic X
la elaboración del o
proyecto.
4 Poca colaboración Baja Tolerable X
del personal de la
fundación para la
especificación de
requerimientos.
5 Subestimación del Alta Catastrófic
tamaño del o
proyecto
6 Cambio de los moderada Serio X
requisitos

Tabla 3.03 Clasificación de los Riesgos


23

3.1.1.4 Planificación de riesgos

Desarrollaremos una estrategia para tratar los riesgos de acuerdo a la


siguiente tabla.

No: Riesgos Estrategia


1 Complejidad en la programación Buscar capacitación, tanto virtual como
de tarjetas inteligentes. presencial lo más pronto posible.
2 Recursos económicos deficientes Gestionar prestamos con entidades
pare el cumplimiento del proyecto. financieras
3 Poco tiempo para la elaboración Aprovechar y optimizar el tiempo
del proyecto. disponible al máximo de ser el caso
gestionar una prorroga.
4 Poca colaboración del personal Alertar al cliente de las dificultades
de la fundación para la potenciales y las posibilidades de
especificación de requerimientos. retraso.
5 Subestimación del tamaño del Revisión exhaustiva de los requisitos y
proyecto procesos
6 Cambio de los requisitos Rastrear información para valorar el
impacto de los requerimientos,
maximizar la información oculta en
ellos.

Tabla 3.04 Planificación de riesgos:

3.1.1.5 Supervisión de los riesgos

Consiste en hacer el plan de supervisión, dado el caso de que se acepte


continuar con el proyecto. Vamos a Indicar que acciones y decisiones se
tomarán ante un problema que ya ha sido identificado, proyectado y evaluado.
24

Tipo de riesgo Indicadores potenciales


Tecnología Atraso en la entrega del hardware Existencia de informes
sobre problemas tecnológicos.
Personal Baja moral del personalO
Organizacional Falta de iniciativa de la dirección del proyecto
Herramientas Problemas con la herramienta CASE elegida
Requisitos Peticiones de muchos cambios en los requisitos.
Estimación Fracaso en el cumplimiento de los tiempos planificados.

Tabla 3.05 Supervisión de riesgos

3.2 ESPECIFICACIÓN DE REQUERIMIENTOS

En esta fase se describiremos el análisis de requerimientos que se llevó a


cabo para el desarrollo del sistema de digitalización de documentos, es decir
voy a realizar una descripción completa del comportamiento del sistema que se
va a desarrollar el mismo que nos permitió dar una visión de las actividades e
información que la institución desea para el funcionamiento del sistema.
Esta fase fue realizada en ayuda con los miembros del personal técnico del
área de sistemas. En la especificación de requerimientos vamos a ver:

Requisitos Funcionales: Descripción completa del comportamiento del sistema


que se va a desarrollar (Casos de Uso).17

Requisitos no Funcionales: Son requisitos que imponen restricciones en el


diseño o la implementación (Como por ejemplo restricciones en el diseño o
18
estándares de calidad).

17
Especificación de requisitos de software :
http://es.wikipedia.org/wiki/Especificaci%C3%B3n_de_requisitos_de_software

18
Especificación de requisitos de software:
http://es.wikipedia.org/wiki/Especificaci%C3%B3n_de_requisitos_de_software
25

3.2.1 REQUISITOS FUNCIONALES

R1: Gestionar usuarios para los distintos tipos de acceso al sistema.


R2: Gestionar Empresas.
R3: Gestionar Documentos.
R4: Gestionar Bodegas y Organizadores.
R5: Proporcionar seguridad a cada usuario cada vez que ingrese al sistema
mediante una contraseña que el sistema internamente la encripte.
R6: Gestionar Imágenes.
R7: Gestionar etiquetas a cada imagen para que la búsqueda de documentos
sea rápida y eficiente.
R8: Listar y gestionar los documentos y propiedades del documento con los
que cuenta la institución.
R10: Listar y gestionar los organizadores y bodegas con los que cuenta la
institución.
R11: Listar y gestionar las imágenes ingresadas.
R12: Listar la auditoria de cada usuario por parte de los usuarios Master y
Administrador.
R13: Realizar Reportes sobre los documentos, organizadores, bodegas,
imágenes y auditoria.
R14. Consultas por Internet.

Requisitos de rendimiento.

R12: Agilitar el procesos de consulta de documentos.


R13: Una velocidad de respuesta aceptable.
Requisitos de Interfaces externas.
R14: Interfaz intuitiva.
R15: Interfaz agradable. 19

19
Bibliografía. Metodología de Craig Larman.
Ingeniería del Software cuarta edición de Roger Pressman
26

Criterios de Validación

Información correcta.
Rendimiento.
Funcionalidad.
Comprensión de la información.
El sistema debe llevar un adecuado control sobre: empresas, documentos,
bodegas, organizadores, imágenes usuarios y auditoria para lo cual se
controlará la información que se manipule (ingresar, modificar, eliminar) a
través de procesos y además de información almacenada en las respectivas
tablas.

 PRM09: Almacena información básica de un usuario.

 PRM10: Almacena información básica de la o las empresas los datos que


se almacenarán son: código, nombre, descripción de la empresa.

 PRM11: Almacena información básica del documento, los datos que se


almacenarán son: código, nombre, descripción y cuatro opciones de
imagen de un documento.

 PRM15: Almacena información acerca de las características que tiene un


documento como son el nombre del índice (característica), tipo, tamaño,
decimales, descripción, etc.)

 PRM16: Almacena información básica del organizador, los datos que se


almacenarán son: código, nombre y descripción del organizador.

 PRM17: Almacena información básica de la bodega, los datos que se


almacenarán son: código, nombre y descripción de la bodega.

 DDM01: Almacena información de la imagen así como la auditoria de esta.


27

 DDM02: Almacena información de los valores de las características de


cada documento asociadas a una o varias imágenes.

 DDA1: Almacena información de la auditoria.

3.2.2 REQUISITOS NO FUNCIONALES

 Tipo de interfaz:

La interfaz final para los usuarios del sistema será creada de una forma
amigable e intuitiva. De tal manera la interfaz a crea es una interfaz
Gráfica de usuario (GUI).

 Documentación requerida:

Manual de usuario
Manual técnico o de mantenimiento.

 Consideraciones de Hardware:

Tener en cuenta el tipo de PC, procesador, memoria, red que manejen


las PC clientes así como el servidor para el funcionamiento optimo del
sistema:

 Consideraciones para el servidor.

Sistema Operativo Windows 2003 Server


Servidor de Base de Datos – SQLSERVER

 Requisitos mínimos que una Pc debe tener

Con procesador Intel Pentium IV a 2.0 GHz o superior


1 GB de memoria RAM
100 GB de espacio de disco disponible
Pantalla con resolución 1200x 763
28

 Terminal:

Sistema Operativo Windows 7 o superior.


Navegador de Internet: Internet Explorer.

 Red
Red LAN. Por la facilidad que se puede realizar cambios especialmente
en el hardware.
Capacidad de Transmisión de 100Mbps.
Medio de Transmisión: Cable UTP Categoría 5 o superior.

 Interoperabilidad:
Cristal report permite exportar la información que se obtenga en los
reportes a varios formatos.

 Recursos del sistema:


Consumo mínimo de recursos teniendo activado solo los servicios
necesarios

3.3 ANÁLISIS DE DOMINIO

Similares a los mapas mentales utilizados en el aprendizaje, el modelo de


dominio es utilizado por el analista como un medio para comprender el sector
industrial o de negocios al cual el sistema va a servir. El objetivo es capturar lo
necesario para comprender donde va a funcionar el sistema que estamos
diseñando. 20

El proyecto de software ha identificado que su dominio se encuentra


específicamente en la recepción, almacenamiento y búsqueda de
documentos en los que se debe realizar varias actividades en las que se

20
Especificación de requisitos de software:
http://es.wikipedia.org/wiki/Especificaci%C3%B3n_de_requisitos_de_software
29

emplea un tiempo considerable en las funciones del responsable de este tipo


de actividades. A continuación se muestra el diagrama de dominio obtenido.

Digitalizar documentos
Agregar Indices al documento

Organizar documento Operador Almacenar documentos digitalizados

Almacenar documento Buscar documentos digitalizados

Figura 3.0 Análisis de dominio

3.4 BREVE INTRODUCCIÒN A LOS CASOS DE USO

El diagrama de casos de uso representa una descripción de los pasos o las


actividades que deberán realizarse cuando un actor opera con el sistema en
desarrollo para llevar a cabo algún proceso. 21

Importancia: Se utilizan para ilustrar los requerimientos del sistema al mostrar


cómo reacciona a eventos que se producen en su ámbito o en él mismo.

Representación: En el diagrama de casos de uso se representa también el


sistema como una caja rectangular con el nombre en su interior. Los casos de
uso están en el interior de la caja del sistema, y los actores fuera, y cada actor
está unido a los casos de uso en los que participa mediante una línea.22

21
Especificación de requisitos de software:
http://es.wikipedia.org/wiki/Especificaci%C3%B3n_de_requisitos_de_software
22
Casos de Uso: http://www.dcc.uchile.cl/~psalinas/uml/casosuso.html
30

3.4.1 CARACTERÍSTICAS DE LOS USUARIOS

Hay cuatro tipos de usuario en esta aplicación: master, administrador,


operador, consulta.

Master: Usuario propio de la empresa ITCORPS su función principal es la


creación de una nueva empresa.
Administrador: Permite la creación de parámetros propios de su empresa así
como también la administración de usuarios.
Operador: Su función es interactuar con las opciones de mantenimiento y
consulta del sistema.
Consulta: Solo tiene acceso a las opciones de consulta del sistema.

3.4.2 ROLES DE LOS USUARIOS

El sistema posee 4 roles que a continuación se detalla.

Usuario: Master

 Crear y administrar nuevas empresas.


 Crear y administrar cuentas de usuario para la empresa ITCORPS.
 Acceso a las distintas funciones y procedimientos del sistema.
 Opciones de mantenimiento y consulta del sistema.

Factores Críticos de Éxito para el perfil:

Poseer el password establecido así como la responsabilidad que implica este


perfil de usuario.

Usuario: Administrador

 Crear y administrar cuentas de usuario para una empresa


especifica.
31

 Crear y administrar documentos, propiedades de documentos,


bodegas y organizadores.
 Consultar la auditoria del sistema.
 Emitir y consultar reportes de auditoria.

Factores Críticos de Éxito para el perfil:

Este usuario debe pertenecer necesariamente a una empresa y estar dentro


del rango de permisos y políticas de acceso (combinación de leyes,
reglamentos, normas y directrices que orientan la creación, gestión y uso de la
información).

Usuario: Operador

 Escanear los documentos.


 Almacenar los documentos en formato de imagen.
 Ingresar las imágenes al sistema.
 Agregar índices a las imágenes para su búsqueda rápida y
eficiente.
 Consulta de imágenes.
 Emitir el detalle de las imágenes ingresadas a través de consultas
o reportes.

Factores Críticos de Éxito para el perfil:

Tener conocimiento de las formas de almacenamiento físico de uno o varios


documentos propios de la empresa.
Conocimiento idóneo del uso y manejo del sistema a partir de su respectiva
capacitación.
Conocimientos básicos de computación y escaneo de imágenes a través de
scanner.
32

Usuario: Consulta

 Consultar las imágenes ingresadas por el operador.


 Emitir el detalle de las imágenes ingresadas a través de consultas
o reportes.

Factores Críticos de Éxito para el perfil:

Conocimientos básicos de computación e Internet.

3.4.3 ESPECIFICACIÓN DE ESCENARIOS

Master

 Administrar empresas, usuarios, documentos, bodegas, organizadores.


 Administrar imágenes.
 Realizar consultas de auditoria, imágenes.
 Realizar respaldos de bdd.

Administrador

 Administrar usuarios, documentos, bodegas, organizadores.


 Consultar auditoria, realizar respaldo de base de datos.

Operador

 Administrar imágenes.
 Consulta de imágenes tanto en el terminal como desde la Web.
 Generar reportes

Consulta

 Realizar la consulta de imágenes


 Generar reportes
33

3.4.4 DEFINIR LOS DIAGRAMAS DE CASOS DE USO

Caso de Uso: Ingresar al sistema

Loging ( Usuario + Consulta Bdd


password)

Validar Respuesta

USUARIOS DEL SISTEMA

Figura 3.01 Diagrama de caso de uso: Ingresar al sistema

Especificación de Caso de Uso: Ingresar al sistema


Actores: Usuarios del sistema (Master, Administrador, Operador, Consulta)
Propósito: Permite llevar a cabo el proceso de logearse con el sistema para las
actividades de administración.
Visión General: Ingresar al sistema.
Precondiciones El usuario debe disponer de su login (usuario ) y password para tener acceso al
sistema.

Tabla 3.06 Especificación de Casos de uso: Ingresar al sistema

Curso típico de eventos: Ingresar al sistema

Actores Respuesta del Sistema


1. El usuario Ingresa al sistema por 2. Muestra la pantalla de ingreso de usuario y clave del
medio de su icono de acceso directo sistema.
o dirección URL.

3. El usuario ingresa su nombre de 4. El sistema valida los datos que se han ingresado de
usuario y contraseña. la siguiente manera: presionando la tecla “Enter” luego
de haber ingresado el password.
5. El sistema valida los datos ingresados

o Si son correctos, el sistema muestra la


pantalla del menú principal.
o En caso contrario muestra el mensaje: “El
usuario no existe”.

Tabla 3.07. Especificación de Casos de Uso: Curso típico de eventos: Ingresar al sistema
34

Curso alternativo de eventos: Ingresar al sistema


1. Si el usuario no existe o si no están bien ingresados los datos, se cancela el ingreso al
sistema.

Tabla 3.08 Especificación de Casos de Uso: Curso alternativo de eventos: Ingresar al sistema

Caso de Uso: Mantenimiento de empresas

Consultar Empresa

Ingresar Empresa

MASTER Modificar Empresa

Eliminar Empresa

Figura 3.02 Diagrama de caso de uso: Mantenimiento Empresas

Especificación de Caso de Uso: Mantenimiento de empresas


Actores: Master
Propósito: Permitir llevar un mantenimiento de las empresas, tales como consultar,
agregar, modificar y eliminar una empresa.
Visión General: Gestionar las empresas que la gerencia se ha propuesto.
Precondiciones El usuario Master es el único que posee los permisos para ingresar,
modificar o eliminar una empresa.

Tabla 3.09 Especificación de Casos de Uso: Curso típico de eventos: Mantenimiento de empresa s
35

Curso típico de eventos: Mantenimiento de empresas

Actores Respuesta del Sistema


1. El usuario Master Ingresa al sistema 2. Despliega el Menú Principal
por medio de su icono de acceso directo
o dirección URL.

3. Escoge la opción “Mnto. Empresa” en 4. Muestra la pantalla seleccionada del sistema en


el menú Principal. lo referente a Mantenimiento de empresas.
Realiza una consulta de todas las empresas
existentes y las muestra en una tabla.

5. Realiza las funciones de administración 6. Para las opciones de Agregar, Modificar, verifica
que desee hacer. si los datos en los cuadros de texto están correctos
esto es:

• Que haya información en todos y cada uno


de los cuadros de texto.

• Los únicos valores que acepta en los


cuadros de texto son letras y números.

7. Si los datos están correctos guarda la


información en la base de datos.

8. Si por el contrario los datos no están correctos el


sistema despliega un mensaje que informa del
error y acto seguido pinta el o los cuadros de texto
que contengan datos erróneos.
8. Si lo que hizo el usuario MASTER fue agregar una
empresa se crea un usuario para la empresa
ingresada cuyo usuario y contraseña son:
“ADMIN”+NOMBRE_EMPRESA ,CODIGO_EMPRESA
respectivamente, este usuario tendrá el rol de
Administrador.

9. Actualiza el sistema de acuerdo ala opción


seleccionada.

Tabla 3.10. Especificación de Casos de Uso: Curso típico de eventos: Crear empresa

Curso alternativo de eventos: Mantenimiento de empresas


1. No existen empresas para mostrar.
2. El servidor de base de datos se encuentra caído o no hay conexión con la base de datos.

Tabla 3.11 Especificación de Casos de Uso: Curso alternativo de eventos: Crear empresa
36

Caso de Uso: Mantenimiento de usuarios

Consultar
Usuario
Envio de
datos

Ingresar
Usuario -E
Ingresar
Ingresar Validar Recepción
Parametros
Parámetros Campos de Datos
Modificar
MASTER - ADMINISTRADOR Usuario

Eliminar
Usuario

Figura 3.03 Diagrama de caso de uso: Mantenimiento de Usuarios

Especificación de Caso de Uso: Mantenimiento de usuarios


Actores: Master, Administrador
Propósito: Permitir llevar un mantenimiento de los usuarios, tales como consultar,
agregar, actualizar y eliminar un usuario.
Visión General: Tener distintos tipos de usuario que garantice que la información es
accesible únicamente a personal autorizado a acceder a dicha información.
Precondiciones Los usuarios Master y Administrador poseen el perfil con los permisos
necesarios para consultar, agregar, modificar y eliminar usuarios

Tabla 3.12 Especificación de Casos de Uso: Crear usuarios


37

Curso típico de eventos: Mantenimiento de usuarios


Actores Respuesta del Sistema
1. El usuario Master Ingresa al sistema por 3. Muestra la pantalla seleccionada del
medio de su icono de acceso directo o dirección sistema en lo referente a Mantenimiento
URL. de usuarios. Realiza una consulta de todos
los usuarios existentes correspondientes a
2. Escoge la opción “Mnto. Usuarios” en el menú una determinada empresa y los muestra en
Principal. una tabla.

4. Realiza las funciones de administración que 5. Para las opciones de Agregar y Modificar
desee hacer. verifica si los datos en los cuadros de texto y
cuadros de opción están correctos, solo el
cuadro de texto correspondiente a email
puede quedar en blanco y en los cuadros de
opción almenos uno debe estar
seleccionado.

6. Si los datos están correctos el sistema


guarda la información en la base de datos.

7. Si por el contrario los datos no están


correctos el sistema despliega un mensaje
que informa detalles del error.

8. Actualiza el sistema de acuerdo ala opción


seleccionada.

Tabla 3.13 Especificación de Casos de Uso: Curso típico de eventos: Mantenimiento Usuarios

Curso alternativo de eventos: Mantenimiento de usuarios


1. No existen usuarios para mostrar.
2. El servidor de base de datos se encuentra caído o no hay conexión con la base de datos.

Tabla 3.14 Especificación de Casos de Uso: Curso alternativo de eventos : Mantenimiento Usuarios
38

Caso de Uso: Mantenimiento de Documentos

Consultar
Documento
Envio
de datos
nd31 -End3
Ingresar -End d9
Documento Ingresar
Ingresar Validar* R*ecepción
Parametros
Parámetros Campos de Datos

MASTER - ADMINISTRADOR Modificar


Documento

Eliminar
Documento

Figura 3.04 Diagrama de caso de uso: Mantenimiento de Documentos

Especificación de Caso de Uso: Mantenimiento de documentos


Actores: Master
Propósito: Permitir llevar un mantenimiento de documentos, tales como
consultar, agregar, modificar y eliminar documentos.
Visión General: Gestionar los documentos que la gerencia ha propuesto.
Precondiciones Los usuarios Master y Administrador son los únicos que poseen los
permisos para consultar, ingresar, modificar o eliminar documentos.

Debe existir una empresa almacenada en la base de datos.

Tabla 3.15 Especificación de Casos de Uso: Curso típico de eventos: Mantenimiento de documentos
39

Curso típico de eventos: Mantenimiento de documentos


Curso típico de eventos
Actores Respuesta del Sistema
1. El usuario Master Ingresa al sistema por 3. Muestra la pantalla seleccionada del
medio de su icono de acceso directo o sistema en lo referente a Mantenimiento
dirección URL. de documentos. Realiza una consulta de
todos los documentos existentes
2. Escoge la opción “Mnto. Documentos” en el correspondientes a una determinada
menú Principal. empresa y los muestra en una tabla.

4. Realiza las funciones de administración que 5. Para las opciones de Agregar y Modificar
desee hacer. verifica si los datos a almacenar están
correctos.

6. Si los datos están correctos el sistema


guarda la información en la base de datos.

7. Si por el contrario los datos no están


correctos el sistema despliega un mensaje
que informa detalles del error.

8. Actualiza el sistema de acuerdo ala


opción seleccionada.

Tabla 3.16 Especificación de Casos de Uso: Curso típico de eventos: Mantenimiento de documentos

Curso alternativo de eventos: Mantenimiento de documentos


1. No existen documentos para mostrar.
2. Si la función escogida rompe alguna política en cuestión de las políticas del manejo de
los documentos en el sistema se cancela dicha acción.

Tabla 3.17 Especificación de Casos de Uso: Curso alternativo de eventos: : Mantenimiento de


documentos
40

Caso de Uso: Gestión de Propiedades del Documento

Mnto. Documento

Consultar Prop.
Documento Envio
Seleccionar de datos
Documento
Ingresar Prop.
Documento
Ingresar
Ingresar Validar Recepción
Gestion Pro. de Parametros
Parámetros Campos de Datos
MASTER - ADMINISTRADOR Documento Modificar Prop.
Documento

Eliminar Prop.
Documento

Figura 3.05 Diagrama de caso de uso: Gestión de Propiedades del Documento

Especificación de Caso de Uso: Gestión de Propiedades del Documento

Actores: Master

Propósito: Permitir llevar una gestión de las propiedades de un documento, tales


como consultar, agregar, modificar y eliminar.
Visión General: Dotar de características propias a cada documento de una empresa en
particular.
Precondiciones Los usuarios Master y Administrador son los únicos que poseen los
permisos para consultar, ingresar, modificar o eliminar propiedades del
documento.

Debe existir un documento para que las propiedades de documento


puedan ser gestionadas.

Tabla 3.18 Especificación de Casos de Uso: Curso típico de eventos: Gestión de Propiedades
del Documento
41

Curso típico de eventos: Gestión de Propiedades del Documento


Actores Respuesta del Sistema

1. El usuario Master Ingresa al sistema por medio 3. Muestra la pantalla seleccionada del sistema
de su icono de acceso directo o dirección URL. en lo referente a Mantenimiento de
documentos. Realiza una consulta de todos los
2. Escoge la opción “Mnto. Documentos” en el documentos existentes correspondientes a
menú Principal. una determinada empresa y los muestra en una
tabla.

4. Selecciona un documento. 5. Muestra los detalles del documento.

6. Selecciona “Campos” 7. Despliega el formulario con las propiedades


del documento.

8. Para las opciones de Agregar y Modificar


verifica si los datos a almacenar están
correctos.

9. Si los datos están correctos el sistema guarda


la información en la base de datos.

10. Si por el contrario los datos no están


correctos el sistema despliega un mensaje que
informa detalles del error.

11. Actualiza el sistema de acuerdo ala opción


seleccionada.

Tabla 3.19 Especificación de Casos de Uso: Curso típico de eventos: Gestión de Propiedades del Documento

Curso alternativo de eventos: Gestión de Propiedades del Documento


1 No existe ningún documento
2 Si la función escogida rompe alguna política en cuestión de las políticas del manejo
de propiedades de documentos en el sistema se cancela dicha acción.

Tabla 3.20 Especificación de Casos de Uso: Curso alternativo de eventos: Gestión de


Propiedades del Documento
42

Caso de Uso: Mantenimiento de Organizadores

Consultar
Organizador

Envio
de datos
Ingresar
Organizador -En
Ingresar
Ingresar Validar* Recepción
Parametros
Parámetros Campos de Datos
Modificar
Organizador
MASTER - ADMINISTRADOR

Eliminar
Organizador

Figura 3.06 Diagrama de caso de uso: Mantenimiento de Organizadores

Especificación de Caso de Uso: Mantenimiento de Organizadores


Actores: Master, Administrador
Propósito: Permitir llevar un mantenimiento de organizadores, tales como
consultar, agregar, modificar y eliminar.
Visión General: Saber de donde viene un documento.

Precondiciones Los usuarios Master y Administrador son los únicos que poseen los
permisos para consultar, ingresar, modificar o eliminar un organizador.

Debe existir una empresa para poder gestionar un organizador.

Tabla 3.21 Especificación de Casos de Uso: Curso típico de eventos: Gestión de


Organizadores
43

Curso típico de eventos: : Mantenimiento de Organizadores

Actores Respuesta del Sistema

1. El usuario Master Ingresa al 3. Muestra la pantalla seleccionada del sistema en lo


sistema por medio de su icono de referente a Mantenimiento de organizadores. Realiza
acceso directo o dirección URL. una consulta de todos los organizadores existentes
correspondientes a una determinada empresa y los
2. Escoge la opción “Mnto. muestra en una tabla.
Organizadores” en el menú
Principal.

4. Selecciona un organizador. 5. Muestra los detalles del organizador.

6. Para las opciones de Agregar y Modificar verifica si los


datos a almacenar están correctos.

7. Si los datos están correctos el sistema guarda la


información en la base de datos.

8. Si por el contrario los datos no están correctos el


sistema despliega un mensaje que informa detalles del
error.

9. Actualiza el sistema de acuerdo ala opción


seleccionada.

Tabla 3.22 Especificación de Casos de Uso: Curso típico de eventos: Gestión de Organizadores

Curso alternativo de eventos: : Mantenimiento de Organizadores


1. Si la función escogida rompe alguna política en cuestión de las políticas del manejo de
organizadores en el sistema, se cancela dicha acción.

Tabla 3.23 Especificación de Casos de Uso: Curso alternativo de eventos: Gestión de


Organizadores
44

Caso de Uso: Mantenimiento de Bodegas

Consultar Bodega

Envio
de datos

Ingresar
Bodega -En
Ingresar
Ingresar Validar* Recepción
Parametros
Parámetros Campos de Datos
Modificar
Bodega

MASTER - ADMINISTRADOR Eliminar


Bodega

Figura 3.07 Diagrama de caso de uso: Mantenimiento de Bodegas

Especificación de Caso de Uso: Mantenimiento de Bodegas


Actores: Master, Administrador
Propósito: Permitir llevar una gestión de bodegas, tales como consultar, agregar,
modificar y eliminar.
Visión General: Saber donde esta físicamente el documento.
Precondiciones Los usuarios Master y Administrador son los únicos que poseen los
permisos para consultar, ingresar, modificar o eliminar una bodega.

Debe existir una empresa para poder gestionar una bodega.

Tabla 3.24 Especificación de Casos de Uso: Curso típico de eventos: Gestión de Bodegas
45

Curso típico de eventos: Mantenimiento de Bodegas


Actores Respuesta del Sistema
1. El usuario Master Ingresa al sistema por 3. Muestra la pantalla seleccionada del
medio de su icono de acceso directo o sistema en lo referente a Mantenimiento de
dirección URL. bodegas. Realiza una consulta de todas las
bodegas existentes correspondientes a una
2. Escoge la opción “Mnto. de Bodegas” en el determinada empresa y los muestra en una
menú Principal. tabla.

4. Selecciona una bodega. 5. Muestra los detalles de la bodega.

6. Realiza las funciones de administración 7. Para las funciones de Agregar y Modificar


que desee hacer. verifica si los datos a almacenar están
correctos.

8. Si los datos están correctos el sistema


guarda la información en la base de datos.

9. Si por el contrario los datos no están


correctos el sistema despliega un mensaje
que informa detalles del error.

10. Para cualquiera de las funciones actualiza


el sistema de acuerdo ala opción
seleccionada.

Tabla 3.25 Especificación de Casos de Uso: Curso típico de eventos: Gestión de Bodegas

Curso alternativo de eventos: Mantenimiento de Bodegas


1. Si la función escogida rompe alguna política en cuestión de las políticas del manejo de
bodegas en el sistema, se cancela dicha acción.

Tabla 3.26 Especificación de Casos de Uso: Curso alternativo de eventos: Gestión de


Bodegas
46

Caso de Uso: Mantenimiento Imagen

Ingresar Imagen

Modificar Imagen

MASTER - OPERADOR Eliminar Imagen

Etiquetar Imagen
CONSULTA

Consulta Imagen

Figura 3.08 Diagrama de caso de uso: Mantenimiento de Imagen

Especificación de Caso de Uso: Mantenimiento de Imágenes


Actores: Master, Operador, Consulta
Propósito: Permitir llevar una gestión de Imágenes, tales como consultar, agregar,
modificar y eliminar.
Visión General: Almacenar imágenes en la base de datos.

Precondiciones Los usuarios Master, Operador son los únicos que poseen los permisos
para consultar, ingresar, modificar o eliminar una imagen.

El usuario Consulta solo podrá ver la información.

Tabla 3.27 Especificación de Casos de Uso: Mantenimiento de Imágenes


47

Curso típico de eventos: Mantenimiento de Bodegas


Actores Respuesta del Sistema

1. Los usuarios Master, Operador y 2. Muestra el menú principal


Consulta Ingresan al sistema por
medio de su icono de acceso directo o
dirección URL.

3. Escoge la opción “Mnto. de 4. Muestra la pantalla seleccionada del sistema en lo


Imágenes ” en el menú Principal. referente a mantenimiento de imágenes.

5. Realiza las funciones de 7. Para las funciones de Agregar y Modificar verifica si


administración que desee hacer. los datos a almacenar están correctos.

8. Si los datos están correctos el sistema guarda la


información en la base de datos.
9. Si por el contrario los datos no están correctos el
sistema despliega un mensaje que informa detalles
del error.

10. Para cualquiera de las funciones actualiza el


sistema de acuerdo ala opción seleccionada.

Tabla 3.28 Especificación de Casos de Uso: Curso típico de eventos: Mnto. Imágenes

Curso alternativo de eventos: Mantenimiento de Bodegas


1. Si la función escogida rompe alguna política en cuestión de las políticas del manejo de
imágenes en el sistema, se cancela dicha acción.

Tabla 3.29 Especificación de Casos de Uso: Curso alternativo de eventos: Gestión de


Bodegas
48

Caso de Uso: Auditoria

Ingresar al sistema

Simple

Consulta
Auditoria

Parametrizada
MASTER - ADMINISTRADOR

Figura 3.09 Diagrama de caso de uso: Mantenimiento de Imagen

Especificación de Caso de Uso: Auditoria


Actores: Master, Administrador
Propósito: Llevar un registro de todas las transacciones que hace un determinado
usuario.
Visión General: Auditoria del sistema.
Precondiciones
Al usuario Master no se le realiza el registro de transacciones pero si
puede consultar la auditoria solo para los usuarios pertenecientes a su
empresa.

Tabla 3.30 Especificación de Casos de Uso: Mantenimiento de Imágenes


49

Curso típico de eventos: Auditoria


Actores Respuesta del Sistema
1. El usuario Master o Administrador 2. Muestra el menú principal.
Ingresan al sistema por medio del icono
de acceso directo o dirección URL.

3. Escoge la opción “Auditoria” en el 4. Muestra la pantalla seleccionada del sistema


menú Principal. en lo referente a la Auditoria.

6. Realiza la consulta que desea hacer. 7. Despliega en una tabla los resultados.

Tabla 3.31 Especificación de Casos de Uso: Mantenimiento de Imágenes

Curso alternativo de eventos: Auditoria


1. No hay conexión con el servidor de base de datos.

Tabla 3.32 Especificación de Casos de Uso: Curso alternativo de eventos: Gestión de Bodegas

Caso de Uso: Etiquetar Imagen

Mnto. Imagen

Numeros

*
Etiquetar Imagen
Caracteres

Master-Operador
Fecha

Figura 3.10 Diagrama de caso de uso: Etiquetar Imagen.


50

Especificación de Caso de Uso: Etiquetar Imagen


Actores: Master, Operador
Propósito: Agregar índices a las fotografías para facilitar la búsqueda.

Visión General: Etiquetar fotografías.

Precondiciones Esta opción esta disponible si y solo si: el documento tiene propiedades y el
usuario ha escogido las opciones de agregar o modificar imágenes en el menú
“Mnto. Imágenes”.

Tabla 3.33 Especificación de Casos de Uso: Mantenimiento de Imágenes

Curso típico de eventos


Actores Respuesta del Sistema
1. El usuario Master u Operador ingresan al 2. Muestra el menú principal
sistema por medio del icono de acceso directo
o dirección URL.

3. Escoge la opción “Mnto. Imágenes” en el 4. Muestra la pantalla seleccionada del sistema


menú Principal. en lo referente a la mantenimiento de
imágenes.
5. Escoge la opción de Agregar o Modificar 6. Muestra la pantalla seleccionada.
imagen.

7. Escoger la opción “Etiquetar” en el menú de 8. Muestra la pantalla con las opciones de


“Mnto. Imágenes”. ingreso de parámetros para la etiqueta.

9. Ingresa o Modifica los valores 10. Para cualquiera de las funciones actualiza el
sistema de acuerdo a la opción seleccionada.

Tabla 3.34 Especificación de Casos de Uso: Mantenimiento de Imágenes

Curso alternativo de eventos.


1. No hay conexión con el servidor de base de datos.
2. Cuando se elimina una imagen se elimina también la etiqueta.

Tabla 3.35 Especificación de Casos de Uso: Curso alternativo de eventos: Etiqueta


51

3.5 MODELO RELACIONAL


En este modelo todos los datos son almacenados en relaciones, y como cada
relación es un conjunto de datos, el orden en el que éstos se almacenen no
tiene relevancia (a diferencia de otros modelos como el jerárquico y el de red).

Este modelo considera la base de datos como una colección de relaciones. De


manera simple, una relación representa una tabla que no es más que un
conjunto de filas, cada fila es un conjunto de campos y cada campo representa
un valor que interpretado describe el mundo real. Cada fila también se puede
denominar tupla o registro y a cada columna también se le puede llamar campo
o atributo.23

3.5.1 FASES PARA DISEÑO DE BASE DE DATOS

Figura 3.11:Fases de Diseño:Autor: http://www.uaem.mx/posgrado/mcruz/cursos/miic/dibd.pdf

ANÁLISIS DE REQUERIMIENTOS:

Para el proyecto se realizo entrevistas al personal involucrado, se definió los


requisitos funcionales a fin de obtener los requisitos necesarios que se
aplicarán a la base de datos.

23
Modelo Relacional: http://es.wikipedia.org/wiki/Modelo_relacional
52

MODELO CONCEPTUAL

Construir un modelo de datos de acuerdo con los requisitos de datos de la


organización independiente de las consideraciones físicas.24

PRM17
o PRM17ST RESTAT REG Characters (2)
o PRM17ST RESTAT INF Characters (2) PRM11
o PRM17ST RESTAT AUT Characters (2) o PRM11STRESTATREG Characters (2)
# PRM17STRCODBODEGA Characters (4) o PRM11ST RESTAT INF Characters (2)
o PRM17STRNOMBODEGA Characters (25) o PRM11STRESTATAUT Characters (2)
o PRM17STRDESBODEGA Characters (250) # PRM11STRCODDOCUM Variable characters (12)
PRM15
* PRM11STRNOMDOCUM Characters (25)
o PRM15STRESTATREG Characters (2)
* PRM11STRDESDOCUM Characters (250)
o PRM11ST RDOCT IPO Characters (15) o PRM15ST RESTAT ING Characters (2)
PRM10 o PRM15STRESTATAUT Characters (2)
Relationship_1 # PRM 15NUM CODINDICE Num ber (8)
o PRM10STRESTATREG Characters (2)
Relationship_8 o PRM10ST RESTAT INF Characters (2) o PRM15STRNOMINDICE Characters (25)
o PRM15STRTIPOINDICE Characters (25)
o PRM10STRESTATAUT Characters (2)
o PRM15NUMTAMINDICE Number (5)
# PRM10STRCODEMPRE Characters (4)
o PRM15NUMDECINDICE Number (5)
o PRM10STRNOMEMPRE Characters (25)
o PRM15ST RINDREQUE Characters (1)
o PRM10STRDESEMPRE Characters (250) Relationship_2 o PRM15STRINDBUSQUE Characters (1)
o PRM15ST RVALIDA Characters (4)
o PRM15STRDESCINDICE Characters (250)
o PRM15ORDER Integer

Relationship_9

PRM16
o PRM16STRESTATREG Characters (2)
o PRM16ST RESTAT INF Characters (2) Relationship_3
o PRM16STRESTATAUT Characters (2) Relationship_4
# PRM16STRCODORGAN Characters (4) DDM02
o PRM16STRNOMORGAN Characters (25)
o DDM02STRESTATREG Characters (2)
o PRM16STRDESORGAN Characters (250)
o DDM02STRESTATING Characters (2)
o DDM02STRESTATAUT Characters (2)
# DDM 02NUM INDNUM ERO Num ber (16)
o DDM02STRINDDETALL Variable characters (120)
Relationship_6 o DDM02STRINDTEXT O Variable characters (1024

DDM01
Characters (2) Relationship_5
o DDM01STRESTATREG
PRM09 # DDM01NUMSECUENIMG Num ber (16)
o PRM09ST RESTAT REG Characters (2) o DDM01IMGCOANVERSO Image
o PRM09ST RESTAT INF Characters (2) o DDM01IMGCOREVERSO Image
o PRM09ST RESTAT AUT Characters (2) o DDM01IMGBNANVERSO Image
# PRM 09ST RCODUSER Characters (10) o DDM01IMGBNREVERSO Image
o PRM09ST RUSUARIO Characters (20) o DDM01NUMIMGVIGDESDE Number (8)
o PRM09STRNOMBRESU Variable characters (40) o DDM01NUMIMGVIGHASTA Number (8)
o PRM09STRAPELLIDOSU Variable characters (40) o DDM01STRCOMEN1IMG Variable characters (250)
o PRM09ST RT IPOUSER Characters (4) o DDM01STRCOMEN2IMG Variable characters (250)
o PRM09NUMNIVELUSER Number (1) o DDM01NUMFECHINGIMG Number (8)
o PRM09NUMFECHAINI Number (8) o DDM01NUMHORAINGIMG Number (8)
o PRM09NUMFECHAFIN Number (8) o DDM01STRTERMINGIMG Variable characters (20)
o PRM09NUMHORAINI Number (8) o DDM01STRUSERMINGIMG Characters (20)
o PRM09NUMHORAFIN Number (8) o DDM01NUMFECHVERING Number (8)
o PRM09ST RDIASAUT O Variable characters (100) o DDM01NUMHORAVERING Number (8)
o DDM01STRTERMVERING Variable characters (20)
o DDM01NUMFECHMODIMG Number (8)
o DDM01NUMHORAMODIMG Number (8)
o DDM01STRTERMMODIMG Variable characters (20)
Relationship_10 o DDM01STRUSERMODIMG Variable characters (20)
o DDM01NUMFECHVERMOD Number (8) o
DDM01NUMHORAVERMOD Number (8) o
DDM01NUMFECHELIMIMG Number (8) o
DDA01 DDM01NUMHORAELIMIMG Number (8) o
o DDA1STATUS Characters (2) DDM01NUMFECHVERELIM Number (8) o
# DDA1ID Integer DDM01NUMHORAVERELIM Number (8)
o DDA1NUMFECHA Number (8)
o DDA1NUMHORA Number (8)
o DDA1NUMSECUENCIA Number (12)
o DDA1STRTERMINAL Characters (20)
o DDA1ASTRCCION Characters (25)
o DDA1STRRESULTADO Characters (40)
o DDA1STRDAT O Characters (20)
o DDA1STRDESCRIPCION Variable characters (1024)
o DDA1STREMPRESA Characters (15)
o DDA1STRUSUARIO Characters (15)

Figura 3.12 Modelo Conceptual:

24
Base de datos II : http://www.slideshare.net/rocker652/modelo-conceptual
53

MODELO LÓGICO

Convierte los esquemas conceptuales locales en un esquema lógico global que


se ajuste al modelo de SGBD sobre el que se vaya a implementar el sistema.25

PRM17
o PRM17ST RESTAT REG Characters (2)
o PRM17ST RESTAT INF Characters (2) PRM11
o PRM17ST RESTAT AUT Characters (2) o PRM11STRESTATREG Characters (2)
# PRM17STRCODBODEGA Characters (4) o PRM11ST RESTAT INF Characters (2)
o PRM17STRNOMBODEGA Characters (25) o PRM11STRESTATAUT Characters (2)
o PRM17STRDESBODEGA Characters (250) # PRM11STRCODDOCUM Variable characters (12)
PRM15
* PRM11STRNOMDOCUM Characters (25)
o PRM15STRESTATREG Characters (2)
* PRM11STRDESDOCUM Characters (250)
o PRM15ST RESTAT ING Characters (2)
o PRM11ST RDOCT IPO Characters (15)
PRM10 o PRM15STRESTATAUT Characters (2)
Relationship_1 # PRM 15NUM CODINDICE Num ber (8)
o PRM10STRESTATREG Characters (2)
Relationship_8 o PRM15STRNOMINDICE Characters (25)
o PRM10ST RESTAT INF Characters (2)
o PRM15STRTIPOINDICE Characters (25)
o PRM10STRESTATAUT Characters (2)
o PRM15NUMTAMINDICE Number (5)
# PRM10STRCODEMPRE Characters (4)
o PRM15NUMDECINDICE Number (5)
o PRM10STRNOMEMPRE Characters (25)
o PRM15ST RINDREQUE Characters (1)
o PRM10STRDESEMPRE Characters (250) Relationship_2 o PRM15STRINDBUSQUE Characters (1)
o PRM15ST RVALIDA Characters (4)
o PRM15STRDESCINDICE Characters (250)
o PRM15ORDER Integer

Relationship_9

PRM16
o PRM16STRESTATREG Characters (2)
o PRM16ST RESTAT INF Characters (2) Relationship_3
o PRM16STRESTATAUT Characters (2) Relationship_4
# PRM16STRCODORGAN Characters (4) DDM02
o PRM16STRNOMORGAN Characters (25)
o DDM02STRESTATREG Characters (2)
o PRM16STRDESORGAN Characters (250)
o DDM02STRESTATING Characters (2)
o DDM02STRESTATAUT Characters (2)
# DDM 02NUM INDNUM ERO Num ber (16)
o DDM02STRINDDETALL Variable characters (120)
Relationship_6 o DDM02STRINDTEXT O Variable characters (1024

DDM01
Characters (2) Relationship_5
o DDM01STRESTATREG
PRM09 # DDM01NUMSECUENIMG Num ber (16)
o PRM09ST RESTAT REG Characters (2) o DDM01IMGCOANVERSO Image
o PRM09ST RESTAT INF Characters (2) o DDM01IMGCOREVERSO Image
o PRM09ST RESTAT AUT Characters (2) o DDM01IMGBNANVERSO Image
# PRM 09ST RCODUSER Characters (10) o DDM01IMGBNREVERSO Image
o PRM09ST RUSUARIO Characters (20) o DDM01NUMIMGVIGDESDE Number (8)
o PRM09STRNOMBRESU Variable characters (40) o DDM01NUMIMGVIGHASTA Number (8)
o PRM09STRAPELLIDOSU Variable characters (40) o DDM01STRCOMEN1IMG Variable characters (250)
o PRM09ST RT IPOUSER Characters (4) o DDM01STRCOMEN2IMG Variable characters (250)
o PRM09NUMNIVELUSER Number (1) o DDM01NUMFECHINGIMG Number (8)
o PRM09NUMFECHAINI Number (8) o DDM01NUMHORAINGIMG Number (8)
o PRM09NUMFECHAFIN Number (8) o DDM01STRTERMINGIMG Variable characters (20)
o PRM09NUMHORAINI Number (8) o DDM01STRUSERMINGIMG Characters (20)
o PRM09NUMHORAFIN Number (8) o DDM01NUMFECHVERING Number (8)
o PRM09ST RDIASAUT O Variable characters (100) o DDM01NUMHORAVERING Number (8)
o DDM01STRTERMVERING Variable characters (20)
o DDM01NUMFECHMODIMG Number (8)
o DDM01NUMHORAMODIMG Number (8)
o DDM01STRTERMMODIMG Variable characters (20)
Relationship_10 o DDM01STRUSERMODIMG Variable characters (20)
o DDM01NUMFECHVERMOD Number (8) o
DDM01NUMHORAVERMOD Number (8) o
DDM01NUMFECHELIMIMG Number (8) o
DDA01 DDM01NUMHORAELIMIMG Number (8) o
o DDA1STATUS Characters (2) DDM01NUMFECHVERELIM Number (8) o
# DDA1ID Integer DDM01NUMHORAVERELIM Number (8)
o DDA1NUMFECHA Number (8)
o DDA1NUMHORA Number (8)
o DDA1NUMSECUENCIA Number (12)
o DDA1STRTERMINAL Characters (20)
o DDA1ASTRCCION Characters (25)
o DDA1STRRESULTADO Characters (40)
o DDA1STRDAT O Characters (20)
o DDA1STRDESCRIPCION Variable characters (1024)
o DDA1STREMPRESA Characters (15)
o DDA1STRUSUARIO Characters (15)

Figura 3.13 Modelo Lógico

25
Diseño de base de datos Relacionales: http://www.mailxmail.com/curso-diseno-base-datos-
relacionales/diseno-logico-bases-datos
54

MODELO FÍSICO

Es una descripción de la implementación de la base de datos en memoria


secundaria. Incluye las estructuras de almacenamiento y los métodos de
acceso que se utilizarán para conseguir un acceso eficiente a los datos. 26

PRM17
PRM17ST REST AT REG char(2)
PRM11
PRM17ST REST AT INF char(2)
PRM17ST REST AT AUT char(2) PRM11ST REST AT REG char(2)
PRM 10ST RCODEM PRE char(4) <pk,fk> PRM11ST REST AT INF char(2)
PRM17ST RCODBODEGA char(4) <pk> PRM11ST REST AT AUT char(2)
PRM17ST RNOMBODEGA char(25) PRM10ST RCODEMPRE char(4) <pk,fk>
PRM17ST RDESBODEGA char(250) PRM11ST RCODDOCUM varchar(12) <pk,ak> PRM15
PRM11ST RNOMDOCUM char(25) PRM15ST REST AT REG char(2)
PRM11ST RDESDOCUM char(250) PRM15ST REST AT ING char(2)
PRM10 PRM11ST RDOCT IPO char(15) PRM15ST REST AT AUT char(2)
PRM 10ST RCODEM PRE char(4) <pk,fk>
PRM10ST REST AT REG char(2)
PRM 11ST RCODDOCUM varchar(12) <pk,fk>
PRM10ST REST AT INF char(2)
PRM 15NUM CODINDICE numeric(8) <pk>
PRM10ST REST AT AUT char(2)
PRM15ST RNOMINDICE char(25)
PRM 10ST RCODEM PRE char(4) <pk>
PRM15ST RT IPOINDICE char(25)
PRM10ST RNOMEMPRE char(25)
PRM15NUMT AMINDICE numeric(5)
PRM10ST RDESEMPRE char(250)
PRM15NUMDECINDICE numeric(5)
PRM15ST RINDREQUE char(1)
PRM15ST RINDBUSQUE char(1)
PRM15ST RVALIDA char(4)
PRM15ST RDESCINDICE char(250)
PRM15ORDER int

PRM16
PRM16ST REST AT REG char(2)
PRM16ST REST AT INF char(2)
PRM16ST REST AT AUT char(2)
PRM 10ST RCODEM PRE char(4) <pk,fk> DDM02
PRM 16ST RCODORGAN char(4) <pk>
DDM02ST REST AT REG char(2)
PRM16ST RNOMORGAN char(25)
DDM02ST REST AT ING char(2)
PRM16ST RDESORGAN char(250)
DDM02ST REST AT AUT char(2)
PRM 10ST RCODEM PRE char(4) PRM <pk,fk1,fk2>
11ST RCODDOCUM varchar(12) PRM <pk,fk1,fk2>
15NUM CODINDICE numeric(8) DDM <pk,fk1>
01NUM SECUENIM G numeric(16) DDM <pk,fk2>
02NUM INDNUM ERO numeric(16) <pk>
DDM02ST RINDDET ALL varchar(120)
DDM01 varchar(1024)
DDM02ST RINDT EXT O
DDM01ST REST AT REG char(2)
PRM09 PRM10ST RCODEMPRE char(4) <pk,fk>
PRM09ST REST AT REG char(2) PRM 11ST RCODDOCUM varchar(12) <pk,fk>
PRM09ST REST AT INF char(2) DDM 01NUM SECUENIM G numeric(16) <pk>
PRM09ST REST AT AUT char(2) DDM01IMGCOANVERSO image
PRM 10ST RCODEM PRE char(4) <pk,fk> DDM01IMGCOREVERSO image
PRM 09ST RCODUSER char(10) <pk> DDM01IMGBNANVERSO image
PRM09ST RUSUARIO char(20) DDM01IMGBNREVERSO image
PRM09ST RNOMBRESU varchar(40) DDM01NUMIMGVIGDESDE numeric(8)
PRM09ST RAPELLIDOSU varchar(40) DDM01NUMIMGVIGHAST A numeric(8)
PRM09ST RT IPOUSER char(4) DDM01ST RCOMEN1IMG varchar(250)
PRM09NUMNIVELUSER numeric(1) DDM01ST RCOMEN2IMG varchar(250)
PRM09NUMFECHAINI numeric(8) DDM01NUMFECHINGIMG numeric(8)
PRM09NUMFECHAFIN numeric(8) DDM01NUMHORAINGIMG numeric(8)
PRM09NUMHORAINI numeric(8) DDM01ST RT ERMINGIMG varchar(20)
PRM09NUMHORAFIN numeric(8) DDM01ST RUSERMINGIMG char(20)
PRM09ST RDIASAUT O varchar(100) DDM01NUMFECHVERING numeric(8)
DDM01NUMHORAVERING numeric(8)
DDM01ST RT ERMVERING varchar(20)
DDM01NUMFECHMODIMG numeric(8)
DDM01NUMHORAMODIMG numeric(8)
DDM01ST RT ERMMODIMG varchar(20)
DDA01 DDM01ST RUSERMODIMG varchar(20)
DDM01NUMFECHVERMOD numeric(8)
DDA1ST AT US char(2) DDM01NUMHORAVERMOD numeric(8)
DDM01NUMFECHELIMIMG numeric(8)
PRM 10ST RCODEM PRE
DDA1ID char(4)
int <pk,fk>
<pk> DDM01NUMHORAELIMIMG numeric(8)
PRM 09ST RCODUSER char(10) <pk,fk> DDM01NUMFECHVERELIM numeric(8)
DDA1NUMFECHA numeric(8) DDM01NUMHORAVERELIM numeric(8)
DDA1NUMHORA numeric(8)
DDA1NUMSECUENCIA numeric(12)
DDA1ST RT ERMINAL char(20)
DDA1AST RCCION char(25)
DDA1ST RRESULT ADO char(40)
DDA1ST RDAT O char(20)
DDA1ST RDESCRIPCION varchar(1024)
DDA1ST REMPRESA char(15)
DDA1ST RUSUARIO char(15)

Figura 3.14 Modelo físico:

26
Diseño de base de datos Relacionales: http://www.mailxmail.com/curso-diseno-base-datos-
relacionales/diseno-fisico-bases-datos
55

3.6 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. 27

ACCESO EMPRESA
+gstrUserActual : String -txtCodEmpre : String
+gstrPassWord : String 0..*
-txtNomEmpre : String
1
+F_ValidaUsuario(in txtId : String, in txtUsuario : String) -txtDesEmpre : String
-METODO_EJECUTAROPERACION(in lstrAccion : String) ORGANIZADOR
+ METODO_CONSULTATOTAL()
-cmbEmpresa : String
-txtCodDocu : String
DOCUMENTO -txtNomDocu : String
-txtDesDocu : String
-cmbEmpresa : String USUARIO -METODO_EJECUTAROPERACION(in lstrAccion : String)
-txtCodDocu : String
-LstrUSUARIO : String + METODO_LLENARPARAMETROS()
-txtNomDocu : String
-txtDesDocu : String -LstrNOMBRESU : String
-cmbTipoDocu : String -LstrAPELLIDOSU : String
-LstrTIPOUSER : String 1
-lstrAuxTablaPRM11(0) : String
-lstrAuxTablaPRM11(1) : String -LnumNIVELUSER : String
-LnumFECHAINI : String
-lstrAuxTablaPRM11(2) : String
-LnumFECHAFIN : String
-lstrAuxTablaPRM11(3) : String BODEGA
-LnumHORAINI : String
-METODO_EJECUTAROPERACION(in lstrAccion : String) -LnumHORAFIN : String -cmbEmpresa : String
-METODO_LLENARPARAMETROS() -LstrDIASAUTO : String -txtCodDocu : String
-LstrEMAILUSER : String -txtNomDocu : String
-LstrFONOCONV : String -txtDesDocu : String
-LstrFONOCELU : String -METODO_EJECUTAROPERACION()
-P_TomaValores() +METODO_LLENARPARAMETROS(in lstrAccion : String)
0..*
- P_Proceso()
1
IMAGEN
Propiedad Documento -gstrEmpresa : String
-lstrNomEmpre : String -lblDocumentol : String
-lstrCodDocum : String -cod_img : String
-lstrNomDocum : String -lintCogIdOrg1 : String 0..*
-lstrFormato : String -lintCogIdBod1 : Integer
-lstrFijoVaria : String -lstrFecha1 : String
-lstrBusqueda : String -lstrFecha2 : String
-lintCogerFila : Integer -txtCome1 : String
-lintsubida : Integer -txtCome2 : String
-lintTamIndice : Integer -lstrFechaActua : String
- METODO_EJECUTAROPERACION() -lstrHoraActual : String
- METODO_LLENARPARAMETROS() -gStrTerminal : String
-gstrusuario11 : String
-lstralmi(1) : String
1 -lstralmi(2) : String
-lstralmi(3) : String
-lstralmi(4) : String
- PathImgAnvF : Byte
-PathImgRevF : Byte
-PathImgAnvBNF : Byte
-PathImgRevBNF : Byte
- metodingresoprm15()
-METODO_AGREGAR_IMAGEN()
Etiqueta
-METODO_ESCRIBIRDDM02()
-lintCogerIdDDm01 : Long
-lintCogerIdPrm15index : Integer
-lstrValorDDm02 : String 1
-lstrDetalleDDm02 : String 0..*
-METODO_LISTAR_PROPIEDADESDOCU()
- METODO_LLENARPARAMETROS_DDM02()
0..* -METODO_VERIFICAR_DATOS()()

Figura 3.15 Diagrama de clases:

27
Diagrama de Clases : http://es.wikipedia.org/wiki/Diagrama_de_clases
56

3.7 DEFINICIÓN DE DIAGRAMAS DE SECUENCIA.

Un diagrama de secuencia muestra la interacción de un conjunto de objetos en


una aplicación a través del tiempo y se modela para cada caso de uso.28

DIAGRAMA DE SECUENCIA: INGRESAR AL SISTEMA

Interfaz de usuario Negocio Datos

Usuario del sistema

Abrir la pantalla de inicio

enviar login y password

validar
Ingresar login y password

enviar login y password

Respuesta afirmativa

Visualiza el menu principal

Respuesta negativa

mensaje " usuario no existe"

Figura 3.16: Diagrama de Secuencia:

28
Diagrama de Secuencia: http://es.wikipedia.org/wiki/Diagrama_de_secuencia
57

DIAGRAMA DE SECUENCIA: MANTENIMIENTO DE EMPRESAS

Interfaz de usuario Negocio Datos

MASTER

Ingresar al sistema

Visualizar menu principal

Escoger Mnto. Empresas

enviar "Master"

enviar "MASTER"

Buscar BDD
consulta de empresas

despliega las empresas existentes

Selecciona una empresa

Administra o crea una empresa


envia parametros

Validar

envia parametros

Procedure Bdd
Respuesta afirmativa
Despliega Resultado

Respuesta negativa
msg "No se guardaron cambios"

Figura 3.17: Diagrama de Secuencia


58

DIAGRAMA DE SECUENCIA: MANTENIMIENTO DE


DOCUMENTOS

Interfaz de usuario Negocio Datos

MASTER - ADMINISTRADOR

Ingresar al sistema

Visualizar menu principal

Escoger Mnto. Documento

"nombre_empresa"

" nombre_empresa "

Consulta Bdd
consulta de documentos

despliega los documentos existentes

Selecciona un documento

Administra o crea un documento


envia parametros

Validar

envia parametros

Procedure Bdd
Respuesta afirmativa
Despliega Resultado

Respuesta negativa
msg "No se guardaron cambios"

Figura 3.18: Diagrama de Secuencia


59

DIAGRAMA DE SECUENCIA: MANTENIMIENTO DE PROPIEDADES


DEL
DOCUMENTO

Interfaz de usuario Negocio Datos

MASTER - ADMINISTRADOR

Ingresar al sistema

Visualizar menu principal

Escoger Mnto. Documento

"nombre_empresa"

" nombre_empresa "

Consulta Bdd
consulta de documentos

despliega los documentos existentes

Selecciona un documento

Selecciona "campos"
cod_empresa y cod_docu

Validar

envia parametros

Respuesta afirmativa
Despliega propiedades

Administra o crea una Propiedad

cod_empresa y cod_docu

Validar

Enviar parametros

Procredure Bdd
Respuesta afirmativa
Despliega Resultado

Respuesta negativa
No hay propiedades para mostrar

Figura 3.19: Diagrama de Secuencia: Mantenimiento Propiedades del documento


60

DIAGRAMA DE SECUENCIA: MANTENIMIENTO DE


ORGANIZADORES

Interfaz de usuario Negocio Datos

MASTER - ADMINISTRADOR

Ingresar al sistema

Visualizar menu principal

Escoger Mnto. Organizadores

"nombre_empresa"

" nombre_empresa "

Consulta Bdd
consulta organizadores

Despliega los organizadores

Selecciona un organizador

Administra o crea un organizador


envia parametros

Validar

envia parametros

Procedure Bdd
Respuesta afirmativa
Despliega Resultado

Respuesta negativa
msg "No se guardaron cambios"

Figura 3.20: Diagrama de Secuencia: Mantenimiento de Organizadores


61

DIAGRAMA DE SECUENCIA: MANTENIMIENTO DE BODEGAS

Interfaz de usuario Negocio Datos

MASTER - ADMINISTRADOR

Ingresar al sistema

Visualizar menu principal

Escoger Mnto.Bodegas

"nombre_empresa"

" nombre_empresa "

Consulta Bdd
consulta bodega

Despliega los organizadores

Selecciona una bodega

Administra o crea una bodega


envia parametros

Validar

envia parametros

Procedure BDD
Respuesta afirmativa
Despliega Resultado

Respuesta negativa
msg "No se guardaron cambios"

Figura 3.21: Diagrama de Secuencia: Mantenimiento de Bodegas


62

DIAGRAMA DE SECUENCIA: MANTENIMIENTO DE IMAGEN

Interfaz de usuario Negocio Datos

MASTER - OPERADOR

Ingresar al sistema

Visualizar menu principal

Escoger Mnto. Imágenes

Administra o crea imagen


envia parametros

Validar

envia parametros

Respuesta afirmativa Procedure BDD

Despliega Resultado

Respuesta negativa
msg "No se guardaron cambios"

Figura 3.22: Diagrama de Secuencia: Mantenimiento de Imagen


63

DIAGRAMA DE SECUENCIA: AUDITORIA

Interfaz de usuario Negocio Datos

MASTER - ADMINISTRADOR

Ingresar al sistema

Visualizar menu principal

Auditoria

Escoge opción de consulta


envia parametros

Validar

envia parametros

Consulta BDD
Respuesta afirmativa
Despliega el resultado

Respuesta negativa
Despliega una tabla vacia

Figura 3.23: Diagrama de Secuencia: Mantenimiento de Auditoria


64

DIAGRAMA DE SECUENCIA: ETIQUETA

Interfaz de usuario Negocio Datos

MASTER - OPERADOR

Ingresar al sistema

Visualizar menu principal

Escoger Mnto. Imágenes

Modificar o crear imagen

Etiquetar imagen
envia parametros

Validar

envia parametros

Respuesta afirmativa Procedure BDD

Despliega Resultado

Respuesta negativa
msg "No se guardaron cambios"

Figura 3.24: Diagrama de Secuencia: Etiqueta


65

3.8 DEFINICIÓN DEL DIAGRAMA FUNCIONAL

Representación simbólica de las acciones en un sistema por medio de


bloques funcionales enlazados por líneas de acción. Las líneas de acción no
representan necesariamente conexiones físicas. En el contexto del control
automático, un diagrama funcional es a veces denominado simplemente
diagrama de bloques.29

DIAGRAMA FUNCIONAL GENERAL DEL SISTEMA

S I S T E M A

MANTENIMIENTO

U A M
D DOCUMENTOS PROPIEDADES
M
I
S N
I
AUDITORIA BODEGA
S
T
R A
U A
D
RESPALDOS ORGANIZADOR
O
R
T
A

I OPERACIONES S

R P O
IMAGENES CONSULTAS
P
E
O R
A T
I D
S O ETIQUETAS REPORTES
R

O
CONSULTAS E

C
S O
N CONSULTAS
S
U
L R
T
A CONSULATAS WEB
S

S I S T E M A

Figura 3.25 Diagrama Funcional:

29
Diagrama Funcional Dirección: http://www.wikilengua.org/index.php/Terminesp:diagrama_funcional
66

A continuación se procede a la descripción de los bloques de nuestro


proyecto.

TIPOS

Son los tipos de usuario que utilizaremos en el proyecto.

FUNCIONALIDAD

 Restringir los documentos a personal no autorizado.

 Versatilidad del sistema.


 Proporcionar privilegios a un usuario.

Tabla 3.36 Diagrama Funcional: Descripción Tipo:

MASTER

Tipo de usuario que tiene todos los privilegios.

FUNCIONALIDAD

 Creación de empresas .
 Mantenimiento.
 Operaciones.
 Consulta.

Tabla 3.37 Diagrama Funcional: Descripción Master

MANTENIMIENTO

Consiste en insertar, modificar, consultar y eliminar los registros de una tabla.

FUNCIONALIDAD

 Navegación a través de los datos contenidos dentro de la tabla.


 Gestión de datos.

Tabla 3.38 Diagrama Funcional: Descripción Mantenimiento


67

ADMINISTRADOR

Usuario utilizado para el mantenimiento de documentos, bodegas, organizadores, usuarios.

FUNCIONALIDAD

 Validación de acceso a usuarios

 Personalización de documentos, bodegas, organizadores para el usuario.

 Derechos de usuarios a nivel de módulos, procesos, opciones de menúes y tablas.


 Realizar y restaurar Copias de Seguridad.
 Consultar la auditoria.

Tabla 3.39 Diagrama Funcional: Descripción Administrador

DOCUMENTOS

Es un tabla en donde nos permite la gestión de parámetros propios de un documento, los


mismos que son administrados a través de formularios únicamente por los usuarios Master y
Administrador .

FUNCIONALIDAD

 Mantenimiento de Documentos.

 Mantenimiento de Propiedades para cada documento.

Tabla 3.40 Diagrama Funcional: Descripción Documentos

ORGANIZADORES

Es un tabla en donde nos permite la gestión de parámetros propios de un organizador, los


mismos que son administrados a través de formularios únicamente por los usuarios Master y
Administrador .

FUNCIONALIDAD

 Mantenimiento de Organizadores.

Tabla 3.41 Diagrama Funcional: Descripción Organizadores


68

BODEGAS

Es un tabla en donde nos permite la gestión de parámetros propios de una bodega, los
mismos que son administrados a través de formularios únicamente por los usuarios Master y
Administrador .

FUNCIONALIDAD

 Mantenimiento de Bodegas.

Tabla 3.42 Diagrama Funcional: Descripción Bodegas

USUARIOS

Es un tabla en donde nos permite la gestión de parámetros propios de usuario, los mismos
que son administrados a través de formularios únicamente por los usuarios Master y
Administrador .

FUNCIONALIDAD

 Mantenimiento de Usuarios.

Tabla 3.43 Diagrama Funcional: Descripción Usuarios

OPERACIONES

Consiste en las actividades de mantenimiento de imágenes, consultas y reportes

FUNCIONALIDAD

 Mantenimiento de Imágenes.
 Mantenimiento de etiquetas de las imágenes.
 Visualizar consultas y reportes.

Tabla 3.44 Diagrama Funcional: Descripción Operaciones


69

IMÁGENES

Es un tabla en donde nos permite la gestión de parámetros propios de una imagen,


los mismos que son administrados a través de formularios únicamente por el usuario
Operador.

FUNCIONALIDAD

 Mantenimiento de Imágenes.

Tabla 3.45 Diagrama Funcional: Descripción Imágenes

REPORTES

Se refiere a transmitir información de una consulta que puede ser impresa.

FUNCIONALIDAD

 Visualizar la información ingresada en la base de datos y exportarla en


algún formato o imprimir dicha información.

Tabla 3.46 Diagrama Funcional: Descripción Reportes

ETIQUETAS

Se refiere a las propiedades o características que va a tener una imagen.

FUNCIONALIDAD

 Facilitar la búsqueda de las imágenes almacenadas en la base de


datos.

Tabla 3.47 Diagrama Funcional: Descripción Etiquetas


70

CONSULTAS

Se refiere a la actividad de consultar las imágenes almacenadas en la base de datos.

FUNCIONALIDAD

 Visualizar la información ingresada en la base de datos.

Tabla 3.48 Diagrama Funcional: Descripción Consultas

CONSULTA

Se refiere a un tipo de usuario con el privilegio único de visualizar la información


referente a las imágenes ingresadas

FUNCIONALIDAD

 Visualizar la información ingresada en la base de datos tanto desde la


aplicación como desde la Web.

Tabla 3.49 Diagrama Funcional: Descripción Consulta

3.9 DEFINICIÓN DE INTERFAZ DE USUARIO.


A continuación se define la interfaz tentativa para el sistema de digitalización
en base a los requerimientos especificados anteriormente:

3.9.1 ENTORNO INICIAL

Es la interfaz con la que los usuarios y los administradores se encuentran al


ingresar al sistema. Aquí se presentan todos los menús y submenús
necesarios para el cumplimiento de los requerimientos.

3.9.2 ENTORNO “MASTER”

Es la interfaz con la que el usuario “MASTER” se encuentra al ingresar al


sistema. Aquí se presentan todos los menús y submenús necesarios para el
71

cumplimiento de los requerimientos, una de las características de este tipo


de usuario es que tiene todos los privilegios del sistema.

3.9.3 ENTORNO DE ADMINISTRACIÓN

Este entorno permite a los administradores tener las funcionalidades propias


de un administrador, tales como la gestión u administración de usuarios,
documentos, propiedades de los documentos, organizadores, bodegas y
consulta de auditoria.
.
3.9.4 ENTORNO OPERADOR

Este entorno permite la administración o gestión de imágenes, además nos


permite el ingreso de los datos de los usuarios a partir de etiquetas (índices )
de acuerdo a distintos criterios, como por ejemplo: en una factura los
criterios podrían ser el numero de serie, valor total, fecha , etc.

3.9.5 ENTORNO DE CONSULTAS

Esta interfaz permite únicamente visualizar las consultas que proporciona el


sistema.

3.9.6 ENTORNO DE MANTENIMIENTO O GESTIÓN DE LA


INFORMACIÓN

Esta interfaz permite el ingreso, modificación y eliminación de datos es


común para casi todos los entornos excepto para el entorno de consultas.
72

ENTORNO PRINCIPAL.

Menús y submenús

Menús y Según el menú seleccionado se despliega


submenús
una tabla (DataGridview ) con los datos

relacionados con la opción escogida.

Figura 3.26: Entorno Principal

ENTORNO MASTER.

Menús y submenús

Menús y Según el menú seleccionado se despliega una


submenús
tabla (DataGridview ) con los datos relacionados
del usuario
con la opción escogida.
Master

Figura 3.27: Entorno Master


73

ENTORNO DEL ADMINISTRADOR

Menús y submenús

Menús y Según el menú seleccionado se despliega una


submenús del tabla (DataGridview ) con los datos relacionados
Administrador
con la opción escogida.

Figura 3.28 : Entorno Administrador

ENTORNO OPERADOR

Menús y submenús

Menús y Según el menú seleccionado se despliega una


submenús del tabla (DataGridview ) con los datos relacionados
operador
con la opción escogida.

Figura 3.29: Entorno Operador


74

ENTORNO CONSULTAS

Menús y submenús

Menús y

submenús del
Despliega la consulta seleccionada .
usuario

Consulta

Figura 3.30: Entorno Consultas

ENTORNO MANTENIMIENTO O GESTIÓN DE LA INFORMACIÓN.

Menús y submenús

Menú

bloqueado
Controles de ingreso de datos.

insertar modificar eliminar salir

Figura 3.31 Entorno Mantenimiento de la Información


75

CAPITULO IV

DESARROLLO DEL SISTEMA

4.1 DIAGRAMA DE COMPONENTES

Un diagrama de componentes representa cómo un sistema de software es


dividido en componentes y muestra las dependencias entre estos
componentes. Los componentes físicos incluyen archivos, cabeceras,
bibliotecas compartidas, módulos, ejecutables, o paquetes. 27

4.1.1 CARACTERISTICAS

 Los diagramas de componentes describen los elementos físicos del


sistema y sus relaciones.

 Muestran las opciones de realización incluyendo código fuente, binario y


ejecutable.

 Los componentes representan todos los tipos de elementos software que


entran en la fabricación de aplicaciones informáticas.

 Pueden ser simples archivos, paquetes, bibliotecas cargadas


dinámicamente, etc.

UML define cinco estereotipos estándar que se aplican a los componentes:

 Executable: Especifica un componente que se puede ejecutar


en un nodo.
 Library: Especifica una biblioteca de objetos estática o
dinámica.
 Table: Especifica un componente que representa una tabla de
una base de datos.
76

 File: Especifica un componente que representa un documento


que contiene código fuente o datos.
 Document: Especifica un componente que representa un
documento.28

A continuación se muestran los distintos diagramas que se aplica al


proyecto.

DIAGRAMA GENERAL DE COMPONENTES

SISTEMA

«executable»
Aplicacion

«file»
DDITGEMD02.MODULO (funciones, reglas)

«library»
BSITN.DLL (Ejecución de procedures)

«library»
BSITD.DLL (Rutinas de conexion a BDD) DDITBASE

Figura 4.1 Diagrama general de componentes

27
http://es.wikipedia.org/wiki/Diagrama_de_componentes
28
http://www.dsi.uclm.es/asignaturas/42530/pdf/M2tema12.pdf
77

APLICACIÓN

Aplicacion

Formulario

Botones Tabla Etiquetas Cuadros de texto

Figura 4.2: Diagrama de Aplicación

MODULO

MODULO

Modulo

«file»
DDITGEMD02.MODULO (funciones)

llamadaFuncionBDD P_LlenaParamBase verificar

Figura 4.3: Diagrama de Negocio


78

NEGOCIO

DLL

DLL

BSITN.DLL (Ejecución de procedures)

P_Principal F_SeleccionaSpN ConsultaGeneralDS

Figura 4.4 Diagrama de Datos

DATOS

DLL

DLL

BSITD.DLL (Rutinas de conexion a bdd)

Abre_ConexionSQL P_EjecutaConsultas_IMG P_EjecutaConsultas_CT

Figura 4.5 Diagrama de Datos


79

4.2 ESTÁNDARES DE PROGRAMACIÓN

Para el desarrollo del proyecto se ha utilizado estándares de programación que


no es otra cosa que normalizar la programación de forma tal que al trabajar en
el desarrollo del sistema se comprenda rápidamente el código al programar las
distintas partes del sistema.

4.2.1 NOMBRE DE TABLAS DE BDD

PRM10: Las 3 primeras letras significan que es una tabla que contiene
parámetros (conjunto de datos que hace referencia a datos propios de un
objeto ). El número es el número de la tabla que es único en la base de datos y
que representa para nuestro caso un orden o secuencia.

DDM01: Las dos primeras letras identifican al sistema, la tercera letra identifica
el tipo de tabla que para nuestro caso es M (maestra: Tabla básica del
sistema) , esta tabla contiene las imágenes de nuestro sistema.

DDM02: Contiene los índices del documento, aquí se almacenarán las


características / identificadores del documento que nos permitirán encontrar de
manera rápida el documento almacenado.

DDA1: Contiene los datos de auditoría.

4.2.2 NOMBRES DE LOS PROCEDIMIENTOS ALMACENADOS

Los Store procedures se componen de:

Nombre de la Tabla + Proceso + Secuencial --- PRM01PS01

Ejemplo

TABLA PROCESO SECUENCIAL DESCRIPCION


PRM01 PS 01, 02, 03, ………. Indica que es un procedimiento de
Consulta
PRM01 PI 01, 02, 03, ………. Indica que es un procedimiento de
80

Ingreso
PRM01 PU 01, 02, 03, ………. Indica que es un procedimiento de
Actualización
PRM01 PD 01, 02, 03, ………. Indica que es un procedimiento de
Eliminación

Tabla 4.1 Nombre de los procedimientos almacenados

4.2.3 NOMBRES DE MODULOS, FORMULARIOS, MENÚ

SISTEMA PROCESO SECUENCIAL DESCRIPCION


DDIT RP 01, 02, 03, ………. Identifica que se va a realizar solamente
REPORTES utilizando crystal reports

DDIT MD 01, 02, 03, ………. Identifica que es un MODULO del sistema

DDIT CL 01, 02, 03, ………. Identifica que es un modulo de CLASE del
sistema

DDIT FR 01, 02, 03, ………. Identifica que es un FORMULARIO del


sistema
DDIT MN 01, 02, 03, ………. Identifica que es un MENU

DDIT MNTO 01, 02, 03, ………. Identifica que es un MANTEMIENTO del
sistema

Tabla 4.2 Nombre de módulos, formularios, menú

4.2.4 DISTRIBUCION DE LAS CAPAS

Los programas se desarrollan en tres capas por las siguientes razones:

 El desarrollo se puede llevar a cabo en varios niveles.


 Desarrollos paralelos (en cada capa).
 Aplicaciones más robustas debido al encapsulamiento.

4.2.4.1 Descripción de las capas

USUARIO: En esta capa se programa el FrontEnd30 del aplicativo, en esta


consta las interfaces, validaciones e invocación a la capa de negocio

30
En diseño de software el front-end es la parte del software que interactúa con el o los usuarios y
el back-end es la parte que procesa la entrada desde el front-end
81

NEGOCIO: En esta capa se desarrolla el BackEnd del aplicativo donde se


encuentra la lógica del sistema. Aquí tenemos el nombre de los store
procedure que se van a ejecutar en los procesos de Inserción,
Eliminación, Modificación y consulta

DATOS: Esta capa contiene la conexión a la Base de Datos

4.2.5 VARIABLES

Variables globales

TIPO NOMENCLATURA DESCRIPCION


gstrnombre Variable global de tipo String
gintnombre Variable global de tipo Integer
gdblnombre Variable global de tipo Double
gobjnombre Variable global de tipo Object
glngnombre Variable global de tipo Long
gbolnombre Variable global de tipo Boolean

Tabla 4.3 Variables

Variables locales

TIPO NOMENCLATURA DESCRIPCION


lstrnombre Variable local de tipo string
lintnombre Variable local de tipo integer
ldblnombre Variable local de tipo doublé
lobjnombre Variable local de tipo objeto
llngnombre Variable local de tipo Long

Tabla 4.4 Variables locales


82

Variables generales utilizadas en el sistema

gstrEmpresa
gstrFuncionario
gstrPerfil
gstrFechaActual
gstrHora

Tabla 4.5 Variables generales utilizadas en el sistema

4.2.6 TABLAS DE LA BASE DE DATOS

TABLA PRM10

Esta tabla contiene la información de la empresa.

PRM10 STR ESTATREG char 2 Estatus del registro A=Activo; E=Eliminado


PRM10 STR ESTATINF char 2 Estatus de la información A=Activo; E=Eliminado
PRM10 STR ESTATAUT char 2 Estatus de autorización A=Activo; E=Eliminado
PK PRM10 STR CODEMPRE char 4 Código de la Empresa alfanumérico
PRM10 STR NOMEMPRE varchar 25 Nombre de la Empresa texto
PRM10 STR DESEMPRE varchar 250 Descripción de la Empresa texto

Tabla 4.6. Tabla PRM10

TABLA PRM11

Contiene la información del documento

PRM11 STR ESTATREG char 2 Estatus del registro A=Activo; E=Eliminado


PRM11 STR ESTATINF char 2 Estatus de la información A=Activo; E=Eliminado
PRM11 STR ESTATAUT char 2 Estatus de autorización A=Activo; E=Eliminado
FK PRM10 STR CODEMPRE char 4 Código de la empresa tabla PRM10
PK PRM11 STR CODDOCUM varchar 10 Código del Documento alfanumérico
PRM11 STR NOMDOCUM varchar 25 Nombre del Documento texto
PRM11 STR DESDOCUM varchar 250 Descripción del Documento texto

Tabla 4.7 Tabla PRM11


83

TABLA PRM15

Contiene las propiedades de un documento

PRM15 STR ESTATREG char 2 Estatus del registro A=Activo; E=Eliminado


PRM15 STR ESTATINF char 2 Estatus de la información A=Activo; E=Eliminado
PRM15 STR ESTATAUT char 2 Estatus de autorización A=Activo; E=Eliminado
FK PRM10 STR EMPRESA char 4 Código de la empresa Tabla PRM10
Código del tipo de
FK PRM11 STR CODDOCUM varchar 12 Documento Tabla PRM11
PK PRM15 NUM CODINDICE numeric 8 Código del Índice o Campo dígitos
PRM15 STR NOMINDICE varchar 25 Nombre del Índice o Campo texto
Tipo de dato que contiene el
PRM15 STR TIPOINDICE varchar 25 campo formatos fijos
Numero máximo de caracteres
PRM15 NUM TAMINDICE numeric 5 Que contendrá el campo cantidad entera
numero máximo de decimales se activa cuando el
PRM15 NUM DECINDICE numeric 5 que contendrá el campo tipo de dato sea valor
Indica si el campo es opcional u
PRM15 STR INDREQUE char 1 obligatorio O/R
Indica si el campo es utilizado
PRM15 STR INDBUSQUE char 1 para búsquedas S/N
Indica el método de validación
PRM15 STR INDVALIDA char 4 del campo formatos fijos
Descripción del Campo
PRM15 STR DESCINDICE varchar 250 representado por el índice texto

Tabla 4.8 Tabla PRM15

TABLA DDM01

Esta tabla contiene las imágenes y la auditoria de la imagen

A=Activo;
DDM01 STR ESTATREG char 2 Estatus del registro E=Eliminado
A=Activo;
DDM01 STR ESTATINF char 2 Estatus de la información E=Eliminado
A=Activo;
DDM01 STR ESTATAUT char 2 Estatus de autorización E=Eliminado
FK PRM10 STR EMPRESA char 4 Código de la empresa Tabla PRM10
FK PRM11 STR CODDOCUM varchar 10 Código del tipo de Documento Tabla PRM11
PK DDM01 NUM SECUENIMG numeric 16 Numero único de la Imagen Secuencial
84

DDM01 IMG ANVCOLOR image Anverso de Imagen a Color imagen


DDM01 IMG REVCOLOR image Reverso de Imagen a Color imagen
DDM01 IMG ANVBLANEG image Anverso de Imagen en B/N imagen
DDM01 IMG REVBLANEG image Reverso de Imagen en B/N imagen
FK PRM16 STR CODORGAN varchar 12 Código del Organizador Tabla PRM16
FK PRM17 STR CODBODEGA varchar 12 Código de la Bodega Tabla PRM17
DDM01 NUM IMGVIGDESDE numeric 8 Imagen vigente desde aaaammdd
DDM01 NUM IMGVIGHASTA numeric 8 Imagen vigente hasta aaaammdd
Comentario detallado acerca de
DDM01 STR COMEN1IMG varchar 250 la imagen texto
Comentario detallado acerca de
DDM01 STR COMEN2IMG varchar 250 la imagen texto
DDM01 NUM FECHINGIMG numeric 8 fecha de ingreso de la imagen aaaammdd
DDM01 NUM HORAINGIMG numeric 8 hora de ingreso de la imagen hhmmss
DDM01 STR TERMINGIMG varchar 20 terminal de ingreso de la imagen nombre del pc
DDM01 STR USERINGIMG varchar 20 usuario de ingreso de la imagen usuario activo
DDM01 NUM FECHVERING numeric 8 fecha de verificación de ingreso aaaammdd
DDM01 NUM HORAVERING numeric 8 hora de verificación de ingreso hhmmss
DDM01 STR TERMVERING varchar 20 terminal de verificación ingreso nombre del pc
DDM01 STR USERVERING varchar 20 usuario de verificación de ingreso usuario activo
DDM01 NUM FECHMODIMG numeric 8 fecha de modificación de la imagen aaaammdd
DDM01 NUM HORAMODIMG numeric 8 hora de modificación de la imagen hhmmss
DDM01 STR TERMMODIMG varchar 20 terminal de modificación de la imagen nombre del pc
DDM01 STR USERMODIMG varchar 20 usuario de modificación de la imagen usuario activo
DDM01 NUM FECHVERMOD numeric 8 fecha de verificación de modificación aaaammdd
DDM01 NUM HORAVERMOD numeric 8 hora de verificación de modificación hhmmss
DDM01 STR TERMVERMOD varchar 20 terminal de verificación modificación nombre del pc
DDM01 STR USERVERMOD varchar 20 usuario de verificación de modificación usuario activo
DDM01 NUM FECHELIMIMG numeric 8 fecha de eliminación de la imagen aaaammdd
DDM01 NUM HORAELIMIMG numeric 8 hora de eliminación de la imagen hhmmss
DDM01 STR TERMELIMIMG varchar 20 terminal de eliminación de la imagen nombre del pc
DDM01 STR USERELIMIMG varchar 20 usuario de eliminación de la imagen usuario activo
DDM01 NUM FECHVERELIM numeric 8 fecha de verificación de eliminación aaaammdd
DDM01 NUM HORAVERELIM numeric 8 hora de verificación de eliminación hhmmss
DDM01 STR TERMVERELIM varchar 20 terminal de verificación eliminación nombre del pc
DDM01 STR USERVERELIM varchar 20 usuario de verificación de eliminación usuario activo

Tabla 4.9 Tabla DDM01


85

TABLA DDM02

Esta tabla contiene los valores de las propiedades del documento agregadas a una
imagen

DDM02 STR ESTATREG char 2 Estatus del registro A=Activo; E=Eliminado


DDM02 STR ESTATINF char 2 Estatus de la información A=Activo; E=Eliminado
DDM02 STR ESTATAUT char 2 Estatus de autorización A=Activo; E=Eliminado
FK PRM10 STR EMPRESA char 4 Código de la empresa Tabla PRM10
Código del tipo de
FK PRM11 STR CODDOCUM varchar 10 Documento Tabla PRM11
Numero único de la
FK DDM01 NUM SECUENIMG numeric 16 Imagen Secuencial
FK PRM15 NUM CODINDICE numeric 8 Código del Índice o Campo dígitos
Campos con datos
DDM02 NUM INDNUMERO numeric 16 numéricos sin decimales enteros
Campos con datos tipo
DDM02 NUM INDVALOR numeric 10,6 valor hasta con 6 decimales cantidades
Campos con datos
DDM02 STR INDTEXTO varchar 1024 alfanuméricos texto

Tabla 4.10 Tabla DDM02

TABLA PRM16

Esta contiene información acerca del organizador

PRM16 STR ESTATREG char 2 Estatus del registro A=Activo; E=Eliminado


PRM16 STR ESTATINF char 2 Estatus de la información A=Activo; E=Eliminado
PRM16 STR ESTATAUT char 2 Estatus de autorización A=Activo; E=Eliminado
FK PRM10 STR EMPRESA char 4 Codigo de la empresa Tabla PRM10
PK PRM16 STR CODORGAN varchar 12 Codigo del Organizador alfanumerico
PRM16 STR NOMORGAN varchar 25 Nombre del Organizador texto
Detalle del lugar al cual
PRM16 STR DESCORGAN varchar 250 pertenece un documento texto

Tabla 4.11 Tabla PRM16


86

TABLA PRM17

Esta contiene información acerca de la bodega

PRM17 STR ESTATREG char 2 Estatus del registro A=Activo; E=Eliminado


PRM17 STR ESTATINF char 2 Estatus de la información A=Activo; E=Eliminado
PRM17 STR ESTATAUT char 2 Estatus de autorización A=Activo; E=Eliminado
FK PRM10 STR EMPRESA char 4 Código de la empresa Tabla PRM10
PK PRM17 STR CODBODEGA varchar 12 Código de la Bodega alfanumérico
PRM17 STR NOMBODEGA varchar 25 Nombre de la Bodega texto
Detalle del lugar donde está
PRM17 STR DESBODEGA varchar 250 almacenado un documento texto

Tabla 4.12 Tabla PRM17

TABLA PRM09

Esta contiene información acerca del usuario

PRM09 STR ESTATREG char 2 Estatus del registro A=Activo; E=Eliminado


PRM09 STR ESTATINF char 2 Estatus de la información A=Activo; E=Eliminado
PRM09 STR ESTATAUT char 2 Estatus de autorización A=Activo; E=Eliminado
PK PRM10 STR CODEMPRE char 4 Código de la empresa Tabla PRM10
PK PRM09 STR CODUSER char 10 Código de Usuario Secuencial
PRM09 STR USUARIO char 20 Usuario texto
PRM09 STR NOMBRESU varchar 40 Nombre de usuario texto
PRM09 STR APELLIDOSU varchar 40 Apellidos de usuario texto
PRM09 STR TIPOUSER char 4 Tipo de Usuario 4 tipos de usuario
PRM09 NUM NIVELUSER numeric 5 Nivel de usuario nivel impresión
PRM09 NUM FECHAINI numeric 5 Fecha de Inicio hhmmss
PRM09 NUM FECHAFIN numeric 5 Fecha final hhmmss
PRM09 NUM HORAINI numeric 5 Hora de Inicio hhmmss
PRM09 NUM HORAFIN numeric 5 Hora de fin hhmmss
PRM09 STR DIASAUTO varchar 100 Días de autorización nombre dias
PRM09 STR EMAILUSER varchar 100 Email correo electrónico
PRM09 STR FONOCONV varchar 10 Teléfono convencional telefono
PRM09 STR FONOCELU varchar 10 Teléfono celular celular
PRM09 STR CLAVEUSER varchar 10 Clave password del usuario
PRM09 STR TERMUSO varchar 20 Terminal de conexión nombre del pc

Tabla 4.13 Tabla PRM09


87

TABLA DDA01
Esta contiene información de auditoria

DDA1 STR STATUS char 2Estatus del registro A=Activo


PK DDA1 NUM SECUENCIA numeric 9Código de tabla clave primaria
PK PRM10 STR CODEMPRE char 4Código de empresa Tabla PRM10
PK PRM09 STR CODUSER char 10Código de usuario Tabla PRM09
DDA1 NUM FECHA numeric 5Fecha acción hhmmss
DDA1 NUM HORA numeric 5Hora acción hhmmss
DDA1 STR TERMINAL char 20Terminal nombre del pc
DDA1 STR ACCION char 25Acción ejecutada administración
DDA1 STR RESULTADO char 40Resultado de acción satisfactoria, errónea
DDA1 STR DATO char 20Sentencia sql consulta, modificación
DDA1 STR DESCRIPCION varchar 1024descripción de acción tabla 0 tablas afectadas
DDA1 STR EMPRESA char 15Nombre de empresa Empresa
DDA1 STR USUARIO char 15Usuario usuario registrado
DDA1 STR NOMUSUA char 15 nombre de usuario nombre de usuario

Tabla 4.14 Tabla DDA01

4.3 CODIFICACIÓN DEL SISTEMA

En esta parte se muestra el código fuente de las clases, métodos, bases de


datos etc. principales que hacen posible el funcionamiento óptimo del sistema,
para lo cual antes de ello haremos hincapié en algunos conceptos importantes
a tomar en cuenta.

4.3.1 CODIGO FUENTE

Es un conjunto de líneas de texto que son las instrucciones que debe seguir la
computadora para ejecutar dicho programa. Por tanto, en el código fuente de
un programa está descrito por completo su funcionamiento.

El código fuente de un programa está escrito por un programador en algún


lenguaje de programación, pero en este primer estado no es directamente
ejecutable por la computadora, sino que debe ser traducido a otro lenguaje (el
lenguaje máquina o código objeto) que sí pueda ser ejecutado por el hardware
88

de la computadora. Para esta traducción se usan los llamados compiladores31,


ensambladores, intérpretes y otros sistemas de traducción.32

4.3.2 CLASES

Una clase es una construcción que se utiliza como un modelo (o plantilla) para
crear objetos de ese tipo. El modelo describe el estado y el comportamiento
que todos los objetos de la clase comparten. Un objeto de una determinada
clase se denomina una instancia de la clase.33

En el proyecto la mayoría de clases toma el nombre de los formularios a tratar


seguido de variables y los métodos. El método principal es el de comunicación
con el negocio que será el encargado de llevar y extraer información de la base
de datos.

4.3.3 MÉTODOS

En la programación orientada a objetos, un método es una subrutina asociada


exclusivamente a una clase (llamados métodos de clase o métodos estáticos) o
a un objeto (llamados métodos de instancia). Análogamente a los
procedimientos en los lenguajes imperativos, un método consiste generalmente
de una serie de sentencias para llevar a cabo una acción, un juego de
parámetros de entrada que regularán dicha acción y o, posiblemente, un valor
de salida (o valor de retorno) de algún tipo.34

4.3.4 MÓDULOS DE CLASE

Un módulo de clase es un archivo de código, separado del resto, que contiene


una o más clases. Como es un archivo independiente, se puede reutilizar en
otros proyectos.

31
Compilador : Un compilador es un programa informático que traduce un programa escrito en un
lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la
máquina será capaz de interpretar
32
Código Fuente : http://es.wikipedia.org/wiki/C%C3%B3digo_fuente
33
Clase concepto: http://es.wikipedia.org/wiki/Clase_(inform%C3%A1tica)
34
Método concepto : http://es.wikipedia.org/wiki/M%C3%A9todo_(inform%C3%A1tica)
89

Los módulos de clase se pueden crear de dos maneras:

Como un módulo agregado a un proyecto de aplicación para Windows.

Como un proyecto de bibliotecas de clase independiente.35

Con esta breve introducción se mostrará una clase de un objeto en particular


del proyecto que mostrará como se desenvuelve en el sistema y por ende nos
permitirá comprender el funcionamiento total del sistema.

Clase: DDITMNTOEFR01

Contiene información del objeto empresa, nos permitirá visualizar el código,


nombre y descripción de las empresas que se encuentran almacenadas en la
base de datos. La información de estas empresas se mostrara en una tabla
(DATAGRIDVIEW ) cuando la base de datos muestra la información el usuario
al dar click en una de las filas de la tabla y digitar un botón podrá visualizar toda
la información del campo y a su vez modificarlo de ser necesario.

Public Class DDITMNTOEFR01

' VARIABLES
Dim lintCoger_Fila As Integer
Public lboolEstado As Boolean
Public pstrValorDGVEmpresas(4) As String

Dim er As New VariablesGlobales

Dim lboolboton As Boolean


Public linttabla As Integer
Dim lboolestado_grid As Boolean
Dim lboolestado_grid1 As Boolean
Dim passw As String
Dim termina As String
Dim lintboton As Integer = 0
Public LintLogitudTabla1 As Integer = 0

Private Property lstrb1 As Object

'METODOS

35
Programación orientada a objetos en Visual Basic .NET :
http://www.cristalab.com/tutoriales/programacion-orientada-a-objetos-en-visual-basic-.net-c273l/
90

Private Sub DDFRM02_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load

Me.Left = ((Screen.PrimaryScreen.WorkingArea.Width - Me.Width) \ 2) + 100


Me.Top = (Screen.PrimaryScreen.WorkingArea.Height - Me.Height) \ 2

'Metodo que realiza una consulta y cuyos datos los


'muestra en una tabla (datagrid)

METODO_CONSULTATOTAL()

dgvEmpresas.ClearSelection()

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs)
dgvEmpresas.ClearSelection()
End Sub

Public Sub limpiar_valores_datos()

'Metodo limpia los valores de las variables globales


gstra1 = ""
gstra2 = ""
gstra3 = ""
gstra4 = ""

End Sub

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button9.Click
Me.Close()
End Sub

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button8.Click
dgvEmpresas.ClearSelection()
End Sub

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) linttabla
= 1
limpiar_valores_datos()

End Sub

Private Sub METODO_LLENARGRID(ByVal x As Integer)

'LLenamos el drid con los datos contenindos en el dataset

dgvEmpresas.Rows.Clear()
91

Dim tt As Integer
For tt = 0 To x - 1

dgvEmpresas.Rows.Add() dgvEmpresas.Item(0,
tt).Value =
gvrtResultado3.Tables(0).Rows(tt).Item(0)
dgvEmpresas.Item(1, tt).Value =
gvrtResultado3.Tables(0).Rows(tt).Item(1)
dgvEmpresas.Item(2, tt).Value =
gvrtResultado3.Tables(0).Rows(tt).Item(2)
dgvEmpresas.Item(3, tt).Value =
gvrtResultado3.Tables(0).Rows(tt).Item(3)

dgvEmpresas.Rows.Item(tt).HeaderCell.Style.Alignment = 32
dgvEmpresas.Rows.Item(tt).HeaderCell.Value = (tt + 1).ToString
dgvEmpresas.AutoResizeRowHeadersWidth( _
DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders)

Next

dgvEmpresas.ClearSelection()

End Sub

Private Sub btnConsulta_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btnConsulta.Click
METODO_CONSULTATOTAL()
End Sub

Public Sub METODO_CONSULTATOTAL()

'Los parametros que enviamos al procedure los almacenamos en un arreglo

Try
listaParametros = New ArrayList
listaParametros.Add("MASTER")
listaParametros.Add(gStrTerminal)

'FUNCION -----> llamadaFuncionBDD("PRM10", "C01", "C",


listaParametros, "", "", False, False)
'Esta funcion se comunica con la capa de negocios

strmensaje = llamadaFuncionBDD("PRM10", "C01", "C", listaParametros,


"", "", False, False)

METODO_LLENARGRID(gvrtResultado3.Tables(0).Rows.count)

LintLogitudTabla1 = gvrtResultado3.Tables(0).Rows.count()

dgvEmpresas.ClearSelection()

Catch ex As Exception
92

dgvEmpresas.Rows.Clear()
End Try

End Sub

Private Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btnNuevo.Click
gstrbandera = "N"
Me.Hide()

DDITMNTOEFR02.ShowDialog()
End Sub

Private Sub dgvEmpresas_CellClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvEmpresas.CellClick
'Try

lintCoger_Fila = e.RowIndex 'recoge el numero de fila al dar click

Try
dgvEmpresas.Rows(e.RowIndex).Selected = True
' seleccionamos la fila que recogimos en el parametro del evento
e.rowindex
lboolEstado = True

If String.IsNullOrEmpty(dgvEmpresas.Item(0,
lintCoger_Fila).Value.ToString) = True Then
MsgBox("No existen datos para mostrar ")
lboolEstado = False
Else

METODO_RECOGERDATOS_GRID()
End If

Catch ex As Exception

End Try

End Sub

Public Sub METODO_RECOGERDATOS_GRID()

Try

pstrValorDGVEmpresas(1) = dgvEmpresas.Item(1,
lintCoger_Fila).Value.ToString '
pstrValorDGVEmpresas(2) = dgvEmpresas.Item(2,
lintCoger_Fila).Value.ToString '
pstrValorDGVEmpresas(3) = dgvEmpresas.Item(3,
lintCoger_Fila).Value.ToString '

Catch ex As Exception
93

MsgBox("Vuelva a seleccionar de nuevo la fila ")

End Try

End Sub

Private Sub btnSeleccionar_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btnSeleccionar.Click

If lboolEstado = True Then

gstrbandera = "M"
Me.Hide()
DDITMNTOEFR02.ShowDialog()
Else

strmensaje = ("Debe seleccionar alguna fila")


ret = Mensaje("I", "", strmensaje)

End If

End Sub

Private Sub dgvEmpresas_ColumnHeaderMouseClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles
dgvEmpresas.ColumnHeaderMouseClick

Dim tt As Integer

For tt = 0 To dgvEmpresas.Rows.Count - 1
dgvEmpresas.Rows.Item(tt).HeaderCell.Style.Alignment = 32
dgvEmpresas.Rows.Item(tt).HeaderCell.Value = (tt + 1).ToString
dgvEmpresas.AutoResizeRowHeadersWidth( _
DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders)

Next
End Sub
End Class

El siguiente código a mostrarse es el correspondiente a modificar y validar


datos que es el estándar para todos las clases del proyecto. La clase a
mostrarse es la correspondiente a la modificación de empresas.

Public Class DDITMNTOEFR02


94

Dim lstrRecogerTxt As String


Dim lintLongitudTabla2 As Integer = 0
Dim lstrAuxTabla(3) As String

Private Sub DDITMNTOEFR02_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Me.Left = ((Screen.PrimaryScreen.WorkingArea.Width - Me.Width) \ 2) + 100
Me.Top = (Screen.PrimaryScreen.WorkingArea.Height - Me.Height) \ 2
If gstrbandera = "N" Then
Me.btnIngresar.Visible = True
Me.btnModificar.Visible = False
Me.btnEliminar.Visible = False

Me.txtCodEmpre.Enabled = True

Me.txtCodEmpre.Text = ""
Me.txtNomEmpre.Text = ""
Me.txtDesEmpre.Text = ""
txtCodEmpre.Focus()

End If

If gstrbandera = "M" Then


Me.btnIngresar.Visible = False
Me.btnModificar.Visible = True
Me.btnEliminar.Visible = True
' Me.btnBack.Visible = True
Me.txtCodEmpre.Text = DDITMNTOEFR01.pstrValorDGVEmpresas(1).Trim
Me.txtNomEmpre.Text = DDITMNTOEFR01.pstrValorDGVEmpresas(2).Trim
Me.txtDesEmpre.Text = DDITMNTOEFR01.pstrValorDGVEmpresas(3).Trim

lstrAuxTabla(0) = DDITMNTOEFR01.pstrValorDGVEmpresas(1).Trim
lstrAuxTabla(1) = DDITMNTOEFR01.pstrValorDGVEmpresas(2).Trim
lstrAuxTabla(2) = DDITMNTOEFR01.pstrValorDGVEmpresas(3).Trim

Me.txtCodEmpre.Enabled = False
End If

txtCodEmpre.BackColor = Color.White
txtNomEmpre.BackColor = Color.White
txtDesEmpre.BackColor = Color.White
lblMsg.Text = ""

End Sub

Private Sub btnModificar_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btnModificar.Click

If String.IsNullOrEmpty(txtCodEmpre.Text) = False And


String.IsNullOrEmpty(txtNomEmpre.Text) = False And
String.IsNullOrEmpty(txtDesEmpre.Text) = False Then
95

Dim result As DialogResult

If String.Equals(txtCodEmpre.Text.Trim, lstrAuxTabla(0).Trim) =
True And String.Equals(txtNomEmpre.Text.Trim, lstrAuxTabla(1).Trim)
= True And String.Equals(txtDesEmpre.Text.Trim,
lstrAuxTabla(2).Trim) = True Then
strmensaje = (" No se ha guardado los cambios ")
ret = Mensaje("I", "", strmensaje)
Me.Hide()
DDITMNTOEFR01.dgvEmpresas.ClearSelection()
DDITMNTOEFR01.lboolEstado = False
DDITMNTOEFR01.Show()

Else
METODO_EJECUTAROPERACION("MOD")
End If

If (Trim(strmensaje) = "iok") Then


DDITMNTOEFR01.METODO_CONSULTATOTAL()

txtCodEmpre.BackColor = Color.White
txtNomEmpre.BackColor = Color.White
txtDesEmpre.BackColor = Color.White

ret = Mensaje("I", "Transaccion O.K.")

Me.Hide()
DDITMNTOEFR01.dgvEmpresas.ClearSelection()
DDITMNTOEFR01.lboolEstado = False
DDITMNTOEFR01.Show()

End If

Else 'Else de comprobar si hay datos en blanco en cada uno de los


textbox

If String.IsNullOrEmpty(txtDesEmpre.Text) = True Then


txtDesEmpre.BackColor = Color.PeachPuff
txtDesEmpre.Focus()
End If

If String.IsNullOrEmpty(txtNomEmpre.Text) = True Then


txtNomEmpre.BackColor = Color.PeachPuff
txtNomEmpre.Focus()
End If

If String.IsNullOrEmpty(txtCodEmpre.Text) = True Then


txtCodEmpre.BackColor = Color.PeachPuff
txtCodEmpre.Focus()
End If
96

strmensaje = "No debe haber registros en blanco en los cada uno de


los cuadros de texto"
ret = Mensaje("I", "", strmensaje)

End If 'FIN DE VERIFICAR DATOS

End Sub

Private Sub btnIngresar_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles btnIngresar.Click

If String.IsNullOrEmpty(txtCodEmpre.Text) = False And


String.IsNullOrEmpty(txtNomEmpre.Text) = False And
String.IsNullOrEmpty(txtDesEmpre.Text) = False Then

Dim result As DialogResult


result = MessageBox.Show("Esta seguro de ingresar los datos ? ",
"Insertar", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
If result = DialogResult.OK Then 'Sacamos un cuadro de dialogo
preguntando si estamos seguros de insertar los datos
METODO_EJECUTAROPERACION("ING")

' lintLongitudTabla2 = DDITMNTOEFR01.LintLogitudTabla1


lintLongitudTabla2 = DDITMNTOEFR01.dgvEmpresas.Rows.Count

If (Trim(strmensaje) = "iok") Then


DDITMNTOEFR01.METODO_CONSULTATOTAL()

If (DDITMNTOEFR01.dgvEmpresas.Rows.Count) >
lintLongitudTabla2 Then

ret = Mensaje("I", "Transaccion O.K.")


METODO_AGREGARPRIMERUSUARIO(txtNomEmpre.Text.Trim)

'ret = Mensaje("I", "", strmensaje)


Me.Hide()
DDITMNTOEFR01.dgvEmpresas.ClearSelection()
DDITMNTOEFR01.lboolEstado = False
DDITMNTOEFR01.Show()

Else

strmensaje = ("Ya existe una empresa con este nombre ")


ret = Mensaje("I", "", strmensaje)
97

'btnBack.Visible = True
End If

End If
End If

'PONER EN BLANCO A LOS TEXT

txtCodEmpre.BackColor = Color.White
txtNomEmpre.BackColor = Color.White
txtDesEmpre.BackColor = Color.White

Else 'Else de comprobar si hay datos en blanco en cada uno de los


textbox

If String.IsNullOrEmpty(txtDesEmpre.Text) = True Then


txtDesEmpre.BackColor = Color.PeachPuff
txtDesEmpre.Focus()
End If

If String.IsNullOrEmpty(txtNomEmpre.Text) = True Then


txtNomEmpre.BackColor = Color.PeachPuff
txtNomEmpre.Focus()
End If

If String.IsNullOrEmpty(txtCodEmpre.Text) = True Then


txtCodEmpre.BackColor = Color.PeachPuff
txtCodEmpre.Focus()
End If

strmensaje = ("No debe haber registros en blanco")


ret = Mensaje("I", "", strmensaje)

End If

End Sub

Private Sub METODO_EJECUTAROPERACION(ByVal lstrAccion As String)

gstrtransac = lstrAccion.Trim

If gstrmensaje = "" Then


Call P_TomaValEmpresa()
End If
If lstrmensaje = "" Then
98

Call P_Proceso_Empresas()
End If
If strmensaje = "" Then
Me.Close()
End If

End Sub

Public Function P_TomaValEmpresa()


lstrmensaje = ""
If gstrtransac = "MOD" Or gstrtransac = "ING" Then
LstrESTATREG = "A"
LstrESTATINF = "A"
LstrESTATAUT = "A"
ElseIf gstrtransac = "ELI" Then
LstrESTATREG = "E"
LstrESTATINF = "E"
LstrESTATAUT = "E"
End If

LstrCodEmpre = Me.txtCodEmpre.Text.Trim
LstrNomEmpre = Me.txtNomEmpre.Text.Trim
LstrDesEmpre = Me.txtDesEmpre.Text.Trim
End Function

Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btnEliminar.Click
lintLongitudTabla2 = DDITMNTOEFR01.dgvEmpresas.Rows.Count
Dim result As DialogResult
result = MessageBox.Show("Esta seguro de eliminar los datos ? ",
"Eliminar", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
If result = DialogResult.OK Then

If String.Equals(txtCodEmpre.Text.Trim, "001") = True Then


ret = Mensaje("I", "", "Empresa del usuario Master no se puede
eliminar ")
Else
METODO_EJECUTAROPERACION("MOD2")

If (Trim(strmensaje) = "iok") Then


DDITMNTOEFR01.METODO_CONSULTATOTAL()

If lintLongitudTabla2 > DDITMNTOEFR01.dgvEmpresas.Rows.Count


Then
' MsgBox("Datos eliminados correctamente ")

strmensaje = ("Datos eliminados correctamente ")


99

ret = Mensaje("I", "", strmensaje)

Else
' MsgBox("Existen datos relacionados con esta empresa por
lo que no se han eliminado")
strmensaje = ("Existen datos relacionados con esta
empresa por lo que no se ha eliminado")
ret = Mensaje("I", "", strmensaje)

End If

Me.Close()
DDITMNTOEFR01.dgvEmpresas.ClearSelection()
DDITMNTOEFR01.lboolEstado = False
DDITMNTOEFR01.Show()
End If

End If

End If

End Sub

Private Sub txtDesEmpre_KeyDown(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyEventArgs) Handles txtDesEmpre.KeyDown
If e.KeyValue = 13 Then
If String.IsNullOrEmpty(txtDesEmpre.Text) = False Then
'txtDesEmpre.Focus()
txtDesEmpre.BackColor = Color.White
'Me.Height = 277
'lblMsg.Text = " "

Else

txtDesEmpre.Focus()
txtDesEmpre.BackColor = Color.PeachPuff
'lblMsg.Text = "No debe haber registros en blanco en los cada uno
de los cuadros de texto "
'Me.Height = 298

strmensaje = ("No debe haber registros en blanco")


ret = Mensaje("I", "", strmensaje)

End If

End If

End Sub

Private Sub txtDesEmpre_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtDesEmpre.KeyPress

'lblMsg.Text = "No debe haber registros en blanco en los cada uno


de los cuadros de texto "
100

If e.KeyChar.IsLetter(e.KeyChar) Then
e.Handled = False
txtDesEmpre.BackColor = Color.White
ElseIf e.KeyChar.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf e.KeyChar.IsSeparator(e.KeyChar) Then
e.Handled = False
ElseIf e.KeyChar.IsDigit(e.KeyChar) Then
e.Handled = False
txtDesEmpre.BackColor = Color.White
ElseIf e.KeyChar.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True

End If

Me.txtDesEmpre.CharacterCasing = CharacterCasing.Upper

End Sub

Private Sub txtCodEmpre_KeyDown(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyEventArgs) Handles txtCodEmpre.KeyDown

If e.KeyValue = 13 Then
If String.IsNullOrEmpty(txtCodEmpre.Text) = False Then

txtCodEmpre.BackColor = Color.White
'Me.Height = 277
'lblMsg.Text = " "
txtNomEmpre.ReadOnly = False
txtDesEmpre.ReadOnly = False
txtNomEmpre.Focus()

Else

txtCodEmpre.Focus()
txtCodEmpre.BackColor = Color.PeachPuff
'lblMsg.Text = "No debe haber registros en blanco en los cada uno
de los cuadros de texto "
txtNomEmpre.ReadOnly = True
txtDesEmpre.ReadOnly = True
'Me.Height = 298
strmensaje = ("No debe haber registros en blanco")
ret = Mensaje("I", "", strmensaje)

End If

End If

End Sub
101

Private Sub txtCodEmpre_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtCodEmpre.KeyPress

If e.KeyChar.IsLetter(e.KeyChar) Then
e.Handled = False
txtCodEmpre.BackColor = Color.White
ElseIf e.KeyChar.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf e.KeyChar.IsSeparator(e.KeyChar) Then
e.Handled = False
ElseIf e.KeyChar.IsDigit(e.KeyChar) Then
e.Handled = False
txtCodEmpre.BackColor = Color.White
ElseIf e.KeyChar.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True

End If

End Sub

Private Sub txtNomEmpre_KeyDown(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyEventArgs) Handles txtNomEmpre.KeyDown
If e.KeyValue = 13 Then
If String.IsNullOrEmpty(txtNomEmpre.Text) = False Then

txtNomEmpre.BackColor = Color.White
'Me.Height = 277
'lblMsg.Text = " "
txtDesEmpre.ReadOnly = False
txtDesEmpre.Focus()

Else

txtNomEmpre.Focus()
txtNomEmpre.BackColor = Color.PeachPuff
'lblMsg.Text = "No debe haber registros en blanco en los cada uno
de los cuadros de texto "
'Me.Height = 298
txtDesEmpre.ReadOnly = True
strmensaje = ("No debe haber registros en blanco")
ret = Mensaje("I", "", strmensaje)

End If

End If
End Sub

Private Sub txtNomEmpre_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtNomEmpre.KeyPress
102

If e.KeyChar.IsLetter(e.KeyChar) Then
e.Handled = False
txtNomEmpre.BackColor = Color.White
ElseIf e.KeyChar.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf e.KeyChar.IsSeparator(e.KeyChar) Then
e.Handled = False
ElseIf e.KeyChar.IsDigit(e.KeyChar) Then
e.Handled = False
txtNomEmpre.BackColor = Color.White
ElseIf e.KeyChar.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True

End If

Me.txtNomEmpre.CharacterCasing = CharacterCasing.Upper

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs)
DDITMNTOEFR01.dgvEmpresas.ClearSelection()
DDITMNTOEFR01.Show()
End Sub

Private Sub Btnsalir_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Btnsalir.Click
DDITMNTOEFR01.dgvEmpresas.ClearSelection()

DDITMNTOEFR01.lboolEstado = False
DDITMNTOEFR01.Show()
End Sub

Private Sub METODO_AGREGARPRIMERUSUARIO(ByVal Empresa As String)

Empresa = Empresa.Trim
listaParametros = New ArrayList

'MsgBox(Empresa) listaParametros.Add("A")
listaParametros.Add("A")
listaParametros.Add("A")
listaParametros.Add(txtCodEmpre.Text.Trim)
listaParametros.Add("0")
listaParametros.Add("ADMIN" + Empresa.Trim) 'usuario
' listaParametros.Add("ADMINISTRADOR") 'usuario

listaParametros.Add(Empresa.Trim)
listaParametros.Add(Empresa.Trim)
listaParametros.Add("ADMI")
listaParametros.Add("0")
103

listaParametros.Add("20120404")
listaParametros.Add("29990101")
listaParametros.Add("000001")
listaParametros.Add("235959")
listaParametros.Add("1,2,3,4,5,6,7")
listaParametros.Add("")
listaParametros.Add("")
listaParametros.Add("")
listaParametros.Add(F_EncriptaGE(Trim(txtCodEmpre.Text.Trim),
Len(Trim(txtCodEmpre.Text.Trim))))
listaParametros.Add(gStrTerminal.Trim)
'' Me.txtPass.Text

strmensaje = llamadaFuncionBDD("PRM09", "I01", "I", listaParametros,


"NIOK", "IOK", True, True)

End Sub

Private Sub Button1_Click_2(ByVal sender As System.Object, ByVal e As


System.EventArgs)
METODO_AGREGARPRIMERUSUARIO(txtNomEmpre.Text)
End Sub
End Class

La validación de datos en las cajas de texto se la realiza en el metodo key


keypress de las cajas de texto con el código siguiente:

If e.KeyChar.IsLetter(e.KeyChar) Then
e.Handled = False
txtNomEmpre.BackColor = Color.W hite
ElseIf e.KeyChar.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf e.KeyChar.IsSeparator(e.KeyChar) Then
e.Handled = False
ElseIf e.KeyChar.IsDigit(e.KeyChar) Then
e.Handled = False
txtNomEmpre.BackColor = Color.W hite
ElseIf e.KeyChar.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True

End If

Me.txtNomEmpre.CharacterCasing = CharacterCasing.Upper

A continuación se mostrara el método principal que se comunican con la capa


de negocio que se encuentra en el modulo DDITGEMD02

Public Function llamadaFuncionBDD(ByVal tablaAfectada As String, _


ByVal strProcedure As String, ByVal accionBDD As String, _
ByVal vectorParametros As ArrayList, ByVal mensajeExito As String, _
104

ByVal mensajeErrorNiok As String, ByVal mostrarMensajeExito As Boolean, _


ByVal mostrarMensajeNiok As Boolean,
Optional ByVal objImgAnv As Object = Nothing, _
Optional ByVal objImgRev As Object = Nothing, _
Optional ByVal objImgAnvBN As Object = Nothing, _
Optional ByVal objImgRevBN As Object = Nothing) As String
gvrtResultado3 = Nothing

Dim opcionEntradaNegocio As String = ""


Dim numeroParametros As Int16
Dim indexParametro As Int16
Try
ealGen = New ArrayList
ealGen.Add("ROPXXK01N") '0'PROGRAMA NEGOCIO AL QUE SE VA ACCEDER
ealGen.Add("ROPXXK01N") '1 'CLASE A LA QUE SE VA ACCEDER
ealGen.Add("CBXX") '2 'NOMBRE DEL PROGRAMA LLAMADOR
ealGen.Add("") '3 'CODIGO DE LA TRANSACCION ealGen.Add("")
'4'gstrCodEmpresaCliente 'CODIGO EMPRESA ealGen.Add("")
'5'gStrAgencia 'AGENCIA DEL FUNCIONARIO
ealGen.Add("") '6'gstrFuncionario 'CODIGO DEL FUNCIONARIO FIRMADO
ealGen.Add("") '7'gstrPerfil 'PERFIL DEL FUNCIONARIO ealGen.Add("") '8
'gStrTerminal 'TERMINAL
ealGen.Add(obtenerEntradaNegocio(accionBDD)) '9
ealGen.Add(strProcedure)'10'OPCION PARA COGER EL STTIPORED PROCEDURE
ealGen.Add(tablaAfectada) '11 'OPCION PARA RECOGER EL STORED PROCEDURE
ealGen.Add("") '12 'MONEDA
ealGen.Add(accionBDD) '13 'INDICE DE ACCION C,I,M,E,A
ealGen.Add(Format(DateTime.Now, "HHmmss")) '14 'HORA DE INICIO DE PROCESO\
'Definicion Parametros a PROCEDURE -------------
numeroParametros = vectorParametros.Count
If numeroParametros > 0 Then
ReDim gstrResultado2(numeroParametros - 1)
ealGen.Add(numeroParametros)
'msg_num_adic9 = numeroParametros
For indexParametro = 0 To (numeroParametros - 1)
gstrResultado2(indexParametro) = vectorParametros(indexParametro)
Next
Else
ealGen.Add(0)
ReDim gstrResultado2(0)
End If

' IMAGENES
ObjImgAmbVG = objImgAnv
ObjImgRevVG = objImgRev
ObjImgAnvBNVG = objImgAnvBN
ObjImgRevBNVG = objImgRevBN

ObjN01 = New BSITN.BSITCL01 ‘CONEXIÓN CON LA CAPA DE NEGOCIOS


strmensaje = ObjN01.P_Principal(gstrParametros, _
ealGen, _
gvrtResultado1, _
gstrResultado2, _
105

gvrtResultado3, ObjImgAmbVG, ObjImgRevVG,


ObjImgAnvBNVG, ObjImgRevBNVG)

' lintCogerCodDDM01 = ObjN01.gnumCogerIdDDM02

Catch ex As Exception
strmensaje = "ige" + ex.ToString
b.Write("error llamadafuncion " & Err.Description & vbCrLf)

End Try
Return strmensaje
End Function

Lo que hace este método es enviar a la capa de negocio el nombre de


procedimiento almacenado, seguido de los parámetros para el procedimiento
almacenado y la operación a realizar. Ejemplo

strmensaje = llamadaFuncionBDD("PRM09", "I01", "I", listaParametros, "NIOK", "IOK",


True, True)

METODOS DEL NEGOCIO

Public Function P_Principal(ByRef estrcadena As ArrayList, _


ByRef ealGen As ArrayList, _
ByRef evrtResultado1 As Object, _
ByRef evrtResultado2 As Object, _
Optional ByRef evrtResultado3 As Object = "", _
Optional ByRef evrtObjImgAmb As Object = "", _
Optional ByRef evrtObjImgRev As Object = "", _
Optional ByRef evrtObjImgAnvBN As Object = "", _
Optional ByRef evrtObjImgRevBN As Object = "") As Object

Gstrcadena = estrcadena
gvrtResultado1 = evrtResultado1
gstrResultado2 = evrtResultado2
gvrtResultado3 = evrtResultado3
gvrtObjImgAmb = evrtObjImgAmb
gvrtObjImgRev = evrtObjImgRev
gvrtObjImgAnvBN = evrtObjImgAnvBN
gvrtObjImgRevBN = evrtObjImgRevBN
GealGen = ealGen
If Trim(ealGen.Item(9).ToString) <> "122" Then

Call P_ConexionApps()
If gvrtResultado1 <> "iok" Then

evrtResultado1 = evrtResultado1
Exit Function
End If
End If
106

Select Case Trim(ealGen.Item(9).ToString)


Case "GENERALDS" 'CONSULTAR
Call ConsultaGeneralDS()
Case "GENERALA" 'MODIFICAR
Call ActualizaGeneral()
Case "GENERALBCP"
Call Consulta_Tablas() 'P_CreaArchivo_CB(GealGen.Item(11),
evrtResultado3)
Case "GENERALIMG"
Call ConsultaGeneralIMG()
gnumCogerIdDDM01 = objD01.Coger_DDM01NUMCODID
Case Else

End Select

' If String.IsNullOrEmpty(ealGen.Item(9).ToString) = True Then


' Call ConsultaGeneralIMG()
'End If
'
If gvrtResultado1 = "iok" Then '
evrtResultado3 = gvrtResultado3
evrtObjImgAmb = gvrtObjImgAmb
evrtObjImgRev = gvrtObjImgRev
evrtObjImgAnvBN = gvrtObjImgAnvBN
evrtObjImgRevBN = gvrtObjImgRevBN
End If P_Principal = gvrtResultado1

End Function

Lo que hace el método antes expuesto es verificar que clase de operación


vamos a realizar (consulta, modificación) y si las instrucciones contienen
imágenes a la vez que recoge todos los datos del método P_Principal

Case "GENERALDS" 'CONSULTAR


Call ConsultaGeneralDS()
Case "GENERALA" 'MODIFICAR
Call ActualizaGeneral()
Case "GENERALIMG" “MODIFICAR, CONSULTAR CON IMGENES”
Call ConsultaGeneralIMG()

Para el ejemplo siguiente se va ha escoger una operación de consulta.

Public Sub ConsultaGeneralDS()


Dim LintNumDat As Integer = 0
Try

Dim LstrSP As String = ""


Dim Lvrtresultado As Object = Nothing
'temporal msg_situac = F_SeleccionaSpN(msg_txt3, "MOV")
l_str_lnk_sentencia = ""
l_str_lnk_sentencia = F_SeleccionaSpN(GealGen.Item(11), GealGen.Item(10),
gstrResultado2)

LintNumDat = GealGen.Item(15)
107

If LintNumDat > 0 Then


l_str_lnk_sentencia = l_str_lnk_sentencia +
ArmaCadenaSP(GealGen.Item(15), gstrResultado2)
End If

'l_obj_labase = New BLITSRIK01D.GDATXXK01CL01


'CreateObject("ARGES001D.ARGES001DE06")
Call objD01.P_EjecutaConsultas_NV(l_str_lnk_sentencia, _
gvrtResultado1, _
GcmdComando, _
GcnnConecta, _
Gtransaccion, _
"R", _
Lvrtresultado, _
gstrTipoBDA, _
gstrBaseDA)

If Trim(gvrtResultado1) <> "iok" And _


Trim(gvrtResultado1) <> "ige" Then
l_num_swrollback = 1
Exit Sub
End If
gvrtResultado3 = Lvrtresultado
Catch ex As Exception
l_num_swrollback = 1
gvrtResultado1 = Err.Number & "|" & Err.Description & "; Error en función: " &
"ConsultaGeneralDS " & "Programa: SEGEK001N"
Exit Sub
End Try
End Sub

El metodo envía los parámetros a la capa datos para ejecutar el procedure.

Call objD01.P_EjecutaConsultas

A continuación se muestra el método que ejecuta el procedure

Public Sub P_EjecutaConsultas_NV(ByVal estrcadena As String, _


ByRef GvrtResultado1 As Object, _
ByVal ecmdComand As OleDbCommand, _
ByVal ecnnConecta As OleDbConnection, _
ByRef etransaccion As OleDbTransaction, _
ByRef estrRetorna As String, _
Optional ByRef evrtResult As Object = "", _
Optional ByVal estrTipoBDA As String = "", _
Optional ByVal estrbaseDA As Object = "")

Dim lrstDatos As New OleDbDataAdapter()


Dim dattabla As New DataSet
'Dim LintCol As Integer
'Dim LintRow As Integer
'Dim i As Integer, j As Integer = 0
Dim strdato As String = ""
Dim LstrspTexto As String = ""
Dim REGISTRO As Object
Try
108

REGISTRO = FreeFile()
GvrtResultado1 = ""
LstrspTexto = ""
LstrspTexto = estrcadena
If Trim(estrTipoBDA) = "DB2" Then
LstrspTexto = "CALL " & Trim(estrbaseDA) & "."
LstrspTexto = LstrspTexto & Mid(estrcadena, 1, 10) & " (" & Mid(estrcadena, 11) & ")"
End If
ecmdComand.Connection = ecnnConecta
ecmdComand.Transaction = etransaccion
ecmdComand.CommandType = CommandType.Text
ecmdComand.CommandText = LstrspTexto
ecmdComand.CommandTimeout = GLngCmdTO
lrstDatos.SelectCommand = ecmdComand
lrstDatos.Fill(dattabla)
evrtResult = dattabla
If dattabla.Tables(0).Rows.Count > 0 Then
GvrtResultado1 = "iok"
Else
GvrtResultado1 = "ige"
End If
ecmdComand.Dispose()
Catch ex As Exception
GvrtResultado1 = Err.Number & "|" & Err.Description & "; Error en rutina: " & "lecturaDB: "
& vbCrLf & "CADENA: " & LstrspTexto
GeneraLog("ERROR ACTUALIZAR:" & GvrtResultado1)
Exit Sub
End Try
End Sub

Se muestra la conexión con la base de datos en la capa de datos.

Public Sub Abre_ConexionSQL(ByVal estrDSN As String, _


ByVal estrUser As String, _
ByVal estrPass As String, _
ByRef GvrtResultado1 As Object, _
ByRef ecmdComand As OleDbCommand, _
ByRef ecnnConecta As OleDbConnection, _
ByVal estrBase As String, _
ByVal estrTipB As String, _
Optional ByVal estrServ As String = "")
Dim Lstrconexion As String = ""
Try

If Trim(estrTipB) = "SQL Server" Then '


'20120130 MOMO PARA PTO NET SE ENVIA NOMBRE PC EN LUGAR DE
DSN
'20120130 MOMO Lstrconexion = "Provider=SQLOLEDB;Data Source=" +
estrDSN + ";Password=" + estrPass + ";User Id=" + estrUser + ";Initial Catalog=" +
estrBase 'Data Source=ITINTER;Initial Catalog=TBORGCONTR;User ID=sa "
Lstrconexion = "Provider=SQLOLEDB;Data Source=" + estrServ +
";Password=" + estrPass + ";User Id=" + estrUser + ";Initial Catalog=" + estrBase 'Data
Source=ITINTER;Initial Catalog=TBORGCONTR;User ID=sa "
End If

ecnnConecta = New OleDbConnection(Lstrconexion)


109

ecmdComand = New OleDbCommand


GvrtResultado1 = ""

If ecnnConecta.State <> 1 Then


ecnnConecta.ConnectionTimeout.ToString(GLngConnTO)
ecnnConecta.ConnectionTimeout.ToString(10)
End If

If ecnnConecta.State = 1 Then
ecnnConecta.Close()
End If

If Trim(estrTipB) = "SQL Server" Then


ecnnConecta.Open()
ElseIf Trim(estrTipB) = "DB2" Then
ecnnConecta = New OleDbConnection(Lstrconexion)
ecnnConecta.Open()
'ecnnConecta.Open("FILEDSN=" & estrDSN & "; UID=" & estrUser & ";
PW D=" & estrPass & "; DATABASE=" & estrBase)
End If

ecmdComand.Connection = ecnnConecta
GvrtResultado1 = "iok"
Coger_conexion(ecnnConecta)

Exit Sub
Catch ex As Exception
GvrtResultado1 = Err.Number & "|" & Err.Description & "; Revise función: " &
"Execute_Connection"

End Try
End Sub

La función antes expuesta almacena la conexión a la base de datos en la


variable ecnnConecta. Esta conexión nos sirve tanto para las consultas y
modificaciones sin imágenes, la conexión a la base de datos así como la
ejecución de los procedures con imágenes utiliza el método
P_EjecutaConsultas_IMG
110

CAPITULO V

IMPLEMENTACIÓN DEL SISTEMA

5.1 DIAGRAMA DE DESPLIEGUE

Un diagrama de despliegue muestra las relaciones físicas entre los


componentes hardware y software en el sistema final, es decir, la configuración
de los elementos de procesamiento en tiempo de ejecución y los componentes
software (procesos y objetos que se ejecutan en ellos).36

Figura 5.1 Diagrama de Despliegue

Como el sistema se encuentra realizado en tres capas, todas las capas pueden
residir en el mismo ordenador o a su vez podemos poner la capa de negocio y
datos en el mismo servidor como se muestra en la figura 5.1. Se podría poner
la capa de negocio junto con la capa de presentación en donde la capa de
datos recibirá las peticiones del ordenador en que resida la capa de negocio.

36
Diagrama de despliegue : http://www.slideshare.net/arcangelsombra/diagramas-de-despligue-uml-
1475353
111

5.2 IMPLEMENTACIÓN

Es la realización de una especificación técnica o algoritmos como un programa,


componente software, u otro sistema de cómputo. 37

En otras palabras es la representación real de todo lo expuesto en las fases de


análisis y diseño de acuerdo a la requerimentación dada por las personas
involucradas en la institución.

Personal Involucrado en la Implementación:

Gerente General de Itcorps Ing. Juan Fernando Velasco

Actividades

 Revisión de la interfaz grafica.

 Estándares de Programación y de base de datos.

 Funcionalidad del sistema.

Resumen de la Implementación.

Para la implementación se ha escogido como gestor de base de datos, la


herramienta SQL Server 2005, ya que entre sus características mas notables
están: transacciones, un potente lenguaje de programación incluido que
permitirá que el desarrollo de muchas tareas sea mas fácil, además nos
presenta una potencia y versatilidad notables; permite una mejor
administración, consultas SQL y nos provee de muchas herramientas que nos
facilitan el desarrollo de aplicaciones.

En el aspecto de herramienta de desarrollo se escogió Visual Basic. Net 2010


pues es una herramienta RAD.38

Para los reportes se ha escogido Sap Cristal Report para Vstudio.net 2010 por
su potencia y versatilidad.
37
Implementación: http://es.wikipedia.org/wiki/Implementaci%C3%B3n
38
RAD: El desarrollo rápido de aplicaciones. Hoy en día se suele utilizar para referirnos al desarrollo
rápido de interfaces gráficas de usuario
112

Pasos

1) Se instalan las herramientas antes descritas en el servidor.

2) Se restaura la base de datos DDITBASE

3) Se copia el sistema en el disco C

4) En la capa de negocio tanto de la aplicación Windows como de la

aplicación web se cambia los parámetros de conexión a la base de datos

según como se haya instalado el SQLSEVER. Como por ejemplo

nombre del servidor SQL, clave de inicio de sesión para el usuario sa.

RESULTADO:

Al seguir los pasos antes descritos el sistema esta listo para cualquier tipo de

pruebas.

5.3 PRUEBAS

Una prueba de software es una actividad en la cual un sistema o uno de sus


componentes se ejecutan en circunstancias previamente especificadas, los
resultados se observan, registran y se realiza una evaluación de algún aspecto.

Las pruebas son necesarias para asegurar la calidad del producto, representa

una revisión final de las especificaciones del diseño y de la codificación, tienen

por objetivo el descubrimiento de errores.

5.3.1 MODELO DE PRUEBAS

FORMAS DE CASOS DE PRUEBAS


CODIGO: CASO CP001 SISTEMA: MÓDULOS: Interfaces
DIGITALIZACION DE del Sistema.
113

DOCUMENTOS
NOMBRE DEL CASO DE PRUEBA: Verificar las conexiones entre capas.
DESCRIPCIÓN: El proyecto está desarrollado en tres capas, por lo que es
importante verificar la conexión entre ellas.
ENTRADA:

En las librerías de cada proyecto de la aplicación se debe agregar las capas


correspondientes.
RESULTADOS:

a) Los proyectos presentaron el siguiente error: Error 7 Type

'BSITD.BSITCL01' is not defined.

C:\DIGITALIZACIONDOCUMENTOS\FUENTES\NEGOCIO\BSITN\BSITN\GEXXCONEBDMDL01.vb

(No encuentra la referencia ).

Error 7 Type 'BSITN.BSITCL01' is not defined.

C:\DIGITALIZACIONDE DOCUMENTOS\FUENTES\USUARIO\DDITU\BSITU\DDITGEMD02.vb

(No encuentra la referencia ).

DETALLE DE LA DEPURACIÓN:

El error se debe a que la capa lógica (negocio ) no encuentra la referencia a la

capa de datos y la capa de interfaz de usuario no encuentra la referencia a la

capa lógica (negocio ). Se procede a limpiar y construir el proyecto

correspondiente a la capa de datos acto seguido en el proyecto

correspondiente a la capa lógica hacemos referencia a la capa de datos y de

igual manera en el proyecto de interfaz de usuario hacemos referencia a la

capa lógica.

CONDICIONES:

La capa de datos debe estar referenciada por la capa lógica.

Tabla 5.1 Modelo de Pruebas I:


114

FORMAS DE CASOS DE PRUEBAS

CODIGO: CASO CP002 SISTEMA: MÓDULOS: Ingreso al


sistema
DIGITALIZACION DE

DOCUMENTOS

NOMBRE DEL CASO DE PRUEBA: Validar Datos.


DESCRIPCIÓN: Verificar que los mensajes por error de datos se desplieguen
en pantalla.
ENTRADA:

Se realiza las pruebas alternando los posibles errores que puede cometer el

usuario que tendrá acceso al sistema como pueden ser:

 No ingresar el nombre de usuario

 No ingresar la contraseña

RESULTADOS:

b) Los mensajes de error se despliegan correctamente:

 Si no se ha ingresado el usuario, el sistema no realiza ninguna

acción.

 Si no se ha ingresado la contraseña, el mensaje a mostrar es

“password” e inmediatamente se pinta el cuadro de texto

correspondiente al password.

c) Al presionar el botón aceptar, con los cuadros de texto llenos, los datos

son verificados con los almacenados en la base, si son los correctos

accede al sistema, caso contrario despliega el mensaje :

“ El usuario no existe ”
115

d) CONDICIONES:

El usuario debe estar registrado en la base de datos.

Tabla 5.2 Modelo de Prueba II

FORMAS DE CASOS DE PRUEBAS

CODIGO: CASO CP008 SISTEMA: MÓDULOS: Conexiones


DIGITALIZACION DE a la Base de Datos
DOCUMENTOS
NOMBRE DEL CASO DE PRUEBA: Verificar conexión con la Base de Datos.

DESCRIPCIÓN: Verificar que la Capa de Datos funcione correctamente y que


establezca la conexión con la Base de Datos.
ENTRADA:

Se realiza el ingreso al sistema desde la capa de interfaz de usuario para

verificar si se está estableciendo la conexión con la base de datos.

RESULTADOS:

a) No se establece la conexión con la base de datos.

DETALLE DE LA DEPURACIÓN:

El error se debía a que en la clase conexión no se especifico el nombre del

servidor de base de datos para SQLSERVER.

CONDICIONES:

 Verificar los parámetros necesarios para la conexión

Tabla 5.3 Modelo de Pruebas III

Prueba de plataforma

Se realizaron pruebas de la ejecución en los sistemas operativos Windows 7 y


Windows XP.
116

Al momento de realizar la prueba del sistema este se ejecutó de manera aceptable y


el formato de diseño tiene variación de acuerdo a la resolución grafica se distorsiona
mínimamente con la resolución de 600 X 800

Pruebas de Usuario

Se realizaron pruebas de usuario en el sistema con el personal de ITCORPS, todos


ellos ingresaron, se crearon usuarios para el sistema y probaron todo el sistema , el
sistema no presentó anomalía alguna y se ejecutó de manera normal.

5.3.2 PRUEBA DE SISTEMAS DE TIEMPO REAL

Las pruebas que se realizaron fueron:

 Validación de ingreso de los datos más importantes.

 Validación de coincidencia de las contraseñas.

 Validación de seguridades.

 Validación de no redundancia de datos.

 Validación de Integridad referencial.

5.4 MANTENIMIENTO

El mantenimiento de software o manutención de software es una de las

actividades más comunes en la ingeniería de software, es el proceso de mejora

y optimización del software después de su entrega al usuario final (es decir;

revisión del programa), así como también corrección y prevención de los

defectos.39

39
Mantenimiento de software : http://es.wikipedia.org/wiki/Mantenimiento_de_software
117

Al personal involucrado con el sistema se recomienda lo siguiente:

 Mantenimiento Correctivo: Este tipo de mantenimiento permite corregir un

problema que tiene un software, ya sea de programas o del sistema

operativo. Ejemplo

En el proyecto se ha corregido el problema que se tenia al momento de

arrastrar una imagen en el listview hacia el control Picturebox debido al

evento Itemchanged del control Listview.

 Mantenimiento Adaptativo: Procedemos a poner en practica este tipo de

mantenimiento cuando nuestro proyecto este amenazado o sujeto a

cambios del entorno externo como por ejemplo

Dejar de trabajar con un sistema de ficheros clásico y sustituirlo por un


sistema de gestión de bases de datos relacionales.

En el proyecto se reemplazo el Framework 2.0 al Framework 4.0 teniendo


como resultado mejores condiciones de programación y fue una solución
practica que permitió el funcionamiento de SAP Cristal Report para Vb.net
2010.

 Mantenimiento Perfectivo: Realizamos este tipo de mantenimiento cuando


haya Cambios en la especificación, normalmente debidos a cambios en los
requisitos de un producto software.

En el proyecto se cambio la visualización en que se mostraba los campos


fecha en un grid ya que antes del mantenimiento los campos fecha eran
118

visualizados en el grid como un dato numérico mientras que actualmente


tienen el formato año/mes/día.

 Mantenimiento Preventivo: Consiste en la modificación del software para


Mejorar sus propiedades (por ejemplo, aumentando su calidad y/o su
mantenibilidad).

En el proyecto:

Se ha cambiado la forma de almacenar las imágenes de una sola imagen a


la posibilidad de almacenar multipágina.

Se ha modificado la interfaz gráfica para una mejor presentación y uso del


sistema.

Se entregará el correspondiente manual de usuario que permitirá resolver las o

la duda más principal. Ver Anexo 1, y la parte técnica será detallada en el

manual técnico del mismo.


119

CAPITULO VI

CONCLUSIONES Y RECOMENDACIONES

6.1 CONCLUSIONES

 La interfaz de usuario del sistema construida de una manera simple, facilita

que los usuarios tengan mayor aceptación con el sistema informático

propuesto y se familiaricen con el mismo.

 Actualmente los beneficios que presenta la digitalización de documentos ha

hecho que las empresas están optando por esta solución que les permite

respaldar la información ahorrando espacio físico en sus archivos. El

sistema en si es una herramienta de apoyo para el almacenamiento de

documentos.

 La utilización de Aspx.net con Vb.net para el desarrollo de la pagina Web

para consulta de documentos es la mejor selección para el sistema ya que

la interfaz visual y la programación es similar al de Windows Forms de

visual Basic.net, motivo por el cual el desarrollo es menos complicado en

comparación con otras herramientas.

 Rup permite optimizar al máximo el desarrollo de software gracias a que

permite el cambio en las etapas del desarrollo de software, debido a que no

es un sistema con pasos establecidos , sino un conjunto de metodologías

adaptables para cada necesidad en particular.


120

6.2 RECOMENDACIONES

 Los formatos de la imagen digital más conveniente debe ser .jpg, tif y png

ya que estos formatos al emplear distingas técnicas de compresión logran la

reducción del volumen de datos para representar una determinada

información empleando una menor cantidad de espacio.

 Al desarrollar un sistema procurar seguir estándares de programación a fin

que cualquier persona involucrada tenga acceso y comprenda el código.

 Escoger una adecuada metodología para la documentación de acuerdo a


las características del sistema que se va ha desarrollar, esto nos asegura la
calidad del producto.

 A la medida que se desarrolle un sistema debe ser documentando

detalladamente ya que esto nos permitirá optimizar el tiempo y recoger los

detalles mas relevantes, mismo que nos servirá para que otra persona lo

comprenda y se haga cargo del proyecto en caso que el encargado del

proyecto no lo pueda continuar.

 Se debe realizar un excelente diseño de base de datos de ser posible como

mínimo normalizar hasta la tercera forma normal para que el sistema a

desarrollar sea óptimo y las transacciones de base de datos tengan una

respuesta rápida y exacta.


121

REFERENCIAS BIBLIOGRÁFICAS

BIBLIOGRAFÍA

 PRESSMAN, Roger S. Ingeniería de Software un enfoque práctico.

Trad. Cervigon Carlos y Luis Hernández. 3. ed. Madrid: McGraw Hill,

1993. pp 102-107.

 APOLINARIO GEAN CARLO: Creación de Páginas Web con DHTMl,

JavaScript y aplicaciones ASP.net. Lima-Perú, Megabyte,2004. 444p.

 CRAIG UTLEY: Desarrollo de aplicaciones Web con SQL Server 2000.

Madrid, McGraw-Hill, 2001. 540p.

BIBLIOGRAFÍA DE INTERNET

 Jacobson, Ivar – Booch, Grandy. EL PROCESO UNIFICADO DE DESARROLLO


DE SOFTWARE. Madrid: Pearson Eduación, 2000.
 Normas para trabajos Académicos. [en línea].
http://www.slideshare.net/lgbernal8606/normas-icontec-trabajos-acadmicos
[Citado el 6 de mayo de 2010].
 Lenguaje Unificado de Modelado. [En línea].
http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado
[Citado el 10 Diciembre de 2010].
 Calidad de Software. [En línea].
http://gidis.ing.unlpam.edu.ar/downloads/pdfs/Calidad_software.PDF
[Citado el 15 Diciembre de 2010].
 Arquitectura de Diagramas. [En línea].
122

http://www.scribd.com/Documento-de-Arquitectura-Diagramas/d/10074807
[Citado el 20 Diciembre de 2010].

 Information & Image Management Systems S.A, Manual de

Digitalización de Documentos, 2004

http://www.imaginar.org/dgd/manuales/manual_digitalizacion.pdf

 Universidad de Alcalá de Henares, Departamento Ciencias de la

Computación, 1996.

http://www.cc.uah.es/hilera/docs/1996/c_jiacse1/c_jiacse1.htm

 Zavala R, Tesis de Maestría en Ciencias de la Computación, Universidad

Autónoma Metropolitana-Azcapotzalco. México D.F, 2000

http://www.angelfire.com/scifi/jzavalar/apuntes/IngSoftware.html

 Decisión C.A Ltda.

http://www.decision.com.ec/2_ti_ab5.htm

 Wikipedia Página, Programación Orientada a Objetos, última

modificación Mayo 2011.

http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos

 Wikipedia Artículo, Programación por Capas, última modificación Mayo

2011.

http://es.wikipedia.org/wiki/Arquitectura_de_tres_niveles

 Wikipedia Página, Proceso Unificado Racional, última modificación Abril

2011.

http://es.wikipedia.org/wiki/Proceso_Unificado_de_Rational
123

GLOSARIO DE TÉRMINOS

Base de datos: Conjunto de datos pertenecientes a un mismo contexto y


almacenados sistemáticamente para su posterior uso.

Png: Formato gráfico basado en un algoritmo de compresión sin pérdida para


bitmaps.

Jpeg: Algoritmo de compresión con pérdida para reducir el tamaño de los


archivos de imágenes.

RUP: Proceso de desarrollo de software

Aspx.net : Framework para aplicaciones web desarrollado y comercializado


por Microsoft.

Visual Basic .NET: Lenguaje de programación orientado a objetos que se


puede considerar una evolución de Visual Basic implementada sobre el
framework .NET.

IIS: Internet information server.

IDL: Definición de Interfaces formales.

Web: Sistema de distribución de información basado en hipertexto o híper


medios enlazados y accesibles a través de Internet.

Framework: Es una estructura de soporte definida, en la cual otro proyecto


de software puede ser organizado y desarrollado. Es un marco de aplicación
o conjunto de bibliotecas orientadas a la reutilización a muy gran escala de
componentes software para el desarrollo rápido de aplicaciones.
124

SQLSERVER: Sistema para la gestión de bases de datos producido por


Microsoft basado en el modelo relacional.

TCP/IP: Protocolo de Control de Transmisiones/ Protocolo de Internet.

IGU: Interfaces gráficas de usuario.

XML: Lenguaje de marcado extensible.

HTTP POST: Protocolo para el posteo usado en http.

HTTP: Protocolo de tratado de hiper texto.

TCP (Transmission Control Protocol): Protocolo de nivel superior que permite


una conexión fiable y orientada a conexión mediante el protocolo IP.

Procedure: Un procedimiento es un subprograma que ejecuta una acción


especifica y que no devuelve ningún valor.

Clase: construcción que se utiliza como un modelo (o plantilla) para crear


objetos.

Objeto: Un objeto es el resultado de la instanciación de una clase es decir,


definida una clase podemos crear objetos de esa clase.

Herencia: La herencia facilita la creación de objetos a partir de otros ya


existentes e implica que una subclase obtiene todo el comportamiento
(métodos) y eventualmente los atributos (variables) de su superclase.

Encapsulamiento: Consiste en unir en la Clase las características y


comportamientos, esto es, las variables y métodos. Es tener todo esto en una
sola entidad.
125

Abstracción: La abstracción consiste en captar las características esenciales


de un objeto, así como su comportamiento. Es un método por el cual
abstraemos valga la redundancia, una determinada entidad de la realidad de
sus características y funciones que desempeñan, estos son representados en
clases por medio de atributos y métodos de dicha clase.

Polimorfismo: Posibilidad de enviar un mensaje a un grupo de objetos cuya


naturaleza puede ser heterogénea.
126

También podría gustarte