• No se han encontrado resultados

Análisis, diseño e implementación de un sistema de control de asistencia de personal para la Unidad Desarrollo Tecnológico

N/A
N/A
Protected

Academic year: 2020

Share "Análisis, diseño e implementación de un sistema de control de asistencia de personal para la Unidad Desarrollo Tecnológico"

Copied!
210
0
0

Texto completo

(1)

UNIVERSIDAD CATÓLICA DE LA SANTÍSIMA CONCEPCIÓN Facultad de Ingeniería

Ingeniería Civil Informática

ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE ASISTENCIA DE PERSONAL PARA LA UNIDAD DESARROLLO TECNOLÓGICO

G U S T A V O A L B E R T O I N O S T R O Z A U R I B E

Informe de Proyecto de Título para optar al título de Ingeniero Civil Informático

Profesor Guía

Nombre : Mariella Gutiérrez V.

Supervisor

Nombre : Osvaldo Vergara

(2)

i Resumen

La Unidad de Desarrollo Tecnológico (UDT) es una unidad de la Universidad de Concepción dedicada a la investigación científica y tecnológica de frontera e innovación en estrecha relación con el sector productivo. Esta unidad cuenta con personal de planta que alcanza aproximadamente 120 personas, por ello el año 2010 se optó por adquirir un software de control de asistencia, que además se integra con un sistema de control de acceso.

Lamentablemente la gestión sobre la información almacenada y los informes que esta herramienta entrega, no están acorde con lo que la dirección y el área de administración requieren en estos momentos. Debido a esto se ha planteado en este proyecto el objetivo desarrollar un Sistema Web de Control de Asistencia de Personal conectado a equipo de control de asistencia.

Gracias al análisis de los datos que maneja el actual control de acceso se logró tener ciertas directrices de la funcionalidad requerida con lo cual se plantea el desarrollo dos sistemas:

El primero es el Control de Asistencia o CA, el cual es el encargado del traspaso de información de una base de datos Paradox, donde quedan almacenadas las marcaciones de entrada y salida que se realizan en el equipo/reloj del control de asistencia, a una nueva base de datos en Mysql.

El segundo es el Sistema de Informes de Control de Asistencia o SICA, el cual está orientado a la creación de Informes para ver la asistencia de los trabajadores, los atrasos, los diferentes tipos de permisos y el cumplimiento de la jornada de trabajo. Permite dar una mirada al comportamiento del recurso humano de la Empresa tanto a nivel general como específico.

Gracias al SICA y a sus diferentes informes y gráficos informativos dependiendo de las opciones seleccionadas, es posible obtener un buen seguimiento del comportamiento de la jornada laboral de toda la Empresa, de algún área en específico o de algún trabajador en particular, yendo de lo más general a lo más particular. Lo que permite a la gerencia y los jefes de área planificar y tomar decisiones para mejorar el cumplimiento de la jornada de trabajo.

En los siguientes capítulos se detallará la problemática existente de la UDT y las soluciones que permitirán alcanzar los objetivos establecidos anteriormente.

(3)

ii En el capítulo 5, se presentaran la implementación del software.

(4)

iii Abstract

Is a unit of the University of Concepción dedicated to scientific and technological research and innovation in close relationship with the productive sector. This unit is staffed plant that reaches about 120 people, so in 2010 we decided to acquire control software assistance, which also integrates with access control system.

Unfortunately the management of stored information and reports generated by this tools, are offline with what management and administration area require right now. Because this has been raised in this project aimed to develop a Web Control System Assistance Personal computer connected to control assistance.

By analyzing the data that the current access control was achieved have certain guidelines required functionality with which development raises two systems:

The first is the Assist Control or CA, which is responsible for the transfer of information from a Paradox database, where the markings of input and output are performed on the computer / clock and attendance are stored, to a new Mysql database.

The second is the Reporting System or SICA Assist Control, which is aimed at creating reports for attendance of workers, arrears, different types of permits and enforcement of working hours. It lets take a look at the behavior of the human resource of the company both general and specific level.

Thanks to SICA and its various reports and information graphics depending on the options selected, it is possible to obtain a good track the behavior of the workday of the whole company, in a specific area or a particular worker, going from the most general at most particular. Also it allows to Heads of Departments, planning and decision-making to improve the performance of the work day.

In the following chapters the existing problems of the UDT and solutions that will achieve the objectives set out above will be detailed.

Initially, in Chapter 2, the current situation in which the company is and how it performs the management and generation of information will be discussed. Then, in chapters 3 and 4, the platforms involved in the project and system requirements, detailing respectively. Moreover, within Chapter 4 section design and implementation of the system will be incorporated, presenting each of the phases of software development and as implemented.

In Chapter 5, the software implementation are presented.

(5)

iv Agradecimientos

Mis agradecimientos son primeramente a Dios, por darme la oportunidad de estudiar y

culminar una carrera y también a mi familia por su apoyo incondicional en todo momento.

Agradezco a cada uno de los profesores que inculcaron perseverancia y nos desafiaron a

ser mejores cada día, en especial a mi profesora guía Mariella Gutiérrez Valenzuela, que

sin tener la obligación de hacerlo acepto mi solicitud para la realización de este proyecto,

por su paciencia y apoyo en todos los percances y dificultades que hubieron en el

(6)

v ÍNDICE DE CONTENIDO

Resumen ... i

Abstract ... iii

Agradecimientos ... iv

Índice de Tablas. ... viii

Índice de Diagramas... ix

Índice de Figuras ... x

CAPÍTULO I: INTRODUCCIÓN. 1.1 Presentación del Tema... 2

1.2 Objetivo general ... 3

1.3 Objetivos específicos... 3

1.4 Justificación del problema ... 3

1.5 Delimitación del problema ... 3

1.6 Metodología ... 4

CAPÍTULO II: SITUACIÓN ACTUAL DE LA EMPRESA. 2.1 Unidad de Desarrollo Técnico ... 6

2.2.1 Captura de los registros de entrada y salida de cada trabajador ... 8

2.2.2 Control de manejo de los datos capturados ... 9

2.3 Diagrama Proceso de Control de Asistencia. ... 14

CAPÍTULO III: MARCO TEÓRICO. 3.1 Modelo de Proceso de Desarrollo de Software. ... 17

3.1.1 Modelo de Prototipo. ... 17

3.1.2 Modelo de Desarrollo Evolutivo. ... 19

3.2 Plataformas de Tecnologías de la Unidad de Desarrollo Tecnológico. ... 21

3.2.1 Paradox... 21

3.2.1.1 Paradox Data Editor. ... 21

3.2.1.2 Dtutil32. ... 22

3.2.2 BDE Administrator. ... 22

3.2.2.1 Borland Database Engine (BDE) ... 22

3.2.3 Scota. ... 23

3.2.4 Winbox. ... 23

3.2.5 Sistemas Operativos. ... 23

3.3 Software utilizado en el Proyecto. ... 24

3.3.1 Día... 24

3.3.2 XAMPP ... 24

3.3.3 MySQL Workbench 5.2 CE ... 25

3.3.4 Visual Studio Professional 2013... 27

3.3.5 MySQL Connector Net 6.9.7 ... 27

3.3.6 C# y Visual C# ... 28

3.3.7 .NetFramework, Version=4.0 ... 28

(7)

vi CAPÍTULO IV: ESPECIFICACIÓN DE REQUERIMIENTOS DEL SOFTWARE.

4.1 Planteamiento de la problemática. ... 31

4.2 Aplicación de Migración de Datos. ... 31

4.2.1 Especificación de Requisitos. ... 33

4.2.1.1 Introducción. ... 33

4.2.1.2 Descripción General. ... 34

4.2.2.1 Requerimientos Específicos. ... 36

4.2.2 Diseño de Software. ... 49

4.2.2.1 Diseño Arquitectónico. ... 49

4.3 Aplicación para Crear los Informes. ... 56

4.3.1 Especificación de Requisitos. ... 56

4.3.1.1 Introducción. ... 56

4.3.1.2 Descripción General. ... 57

4.3.1.3 Requerimientos Específicos. ... 59

4.3.2 Diseño de Software. ... 73

4.3.2.1 Diseño Arquitectónico. ... 73

CAPÍTULO V: CONSTRUCCIÓN DEL SOFTWARE. 5.1 Introducción. ... 84

5.2 Lenguaje de programación PHP en CA. ... 84

5.2.1 Configuración aplicación Xampp ... 84

5.2.2 Funciones en PHP. ... 85

5.3 Lenguaje de Programación C#. ... 86

5.3.1 Funciones en SICA. ... 86

5.4 Crystal Reports... 89

CAPÍTULO VI: PRUEBAS. 6.1 Introducción. ... 92

6.2 Escenarios de Pruebas Generales CA... 92

6.2.1 Corte de Luz. ... 92

6.2.2 La Falta de algún trabajador al momento del Traspaso. ... 93

6.2.3 Sobre carga en el sistema donde estará nuestra aplicación en PHP. ... 94

6.2.4 Acceso a las Tablas de Paradox... 95

6.2.5 Alteración de los datos de las conexiones a la base de datos. ... 96

6.2.6 Al insertar en la Base de Datos. ... 97

6.2.7 El tiempo de ejecución del Traspaso de los Datos. ... 98

6.2.8 Escenarios de Pruebas Unitarias CA. ... 99

6.2.9 Pruebas de Conexión y Carga de Datos CA. ... 100

6.3 Escenarios de Pruebas Generales SICA. ... 101

6.3.1 Escenarios de Pruebas Unitarias SICA. ... 101

6.3.2 Pruebas de Conexión y Carga de Datos SICA. ... 103

(8)

vii CAPÍTULO VIII: BIBLIOGRÁFIA.

8.1 Referencias Bibliográficas. ... 107

Anexo 1: Manual del “Sistema de Control de Asistencia”. ... 110

Anexo 2: Manual Usuario Sistema Informes de Control de Asistencia (SICA) ... 152

Anexo 3: “Diccionario de Datos Aplicación CA”. ... 177

Anexo 4: Diccionario de Datos (SICA). ... 183

(9)

viii Índice de Tablas.

Tabla 4.1: Descripción de los datos migrados desde Paradox a Mysql………...32

Tabla 4.2: Descripción de la relación entre los Diagramas 4.4, 4.5 y 4.6………54

Tabla 4.3: Descripción de la relación entre los Diagramas 4.5 y 4.6………...55

Tabla 4.4: Privilegios de acceso para el Opción Buscar……….58

Tabla 4.5: Privilegios de acceso para el Opción Informes………..……….58

Tabla 4.6: Privilegios de acceso para la Opción Informes para Análisis……….59

Tabla 4.7: Descripción de la relación entre los Diagramas 5.0, 5.1 y 5.2………81

Tabla 4.8: Descripción de la relación entre los Diagramas 5.1 y 5.2………...82

Tabla 6.1: Prueba que simula el corte de luz en la Empresa………92

Tabla 6.2: Prueba que verifica la perdida de los datos de algún trabajador……….93

Tabla 6.3: Prueba que el funcionamiento de la aplicación en el Servidor………...94

Tabla 6.4: Prueba que simula el deterioro de una Tabla Paradox………95

Tabla 6.5: Prueba que verifica la conexión con la base de datos de Mysql………96

Tabla 6.6: Prueba que verifica que se están guardando los datos correctamente…………97

Tabla 6.7: Prueba que verifica el tiempo de ejecución de los traspasos………..98

Tabla 6.8: Prueba que verifica el funcionamiento del Traspaso de los datos………..99

Tabla 6.9: Prueba que verifica la conexión del sistema CA………...100

Tabla 7.0: Prueba que verifica la validación de los campos de la aplicación SICA……..101

Tabla 7.1:Prueba que verifica que las opción de la aplicación SICA funcionen correctamente……….102

(10)

ix Índice de Diagramas.

Diagrama 2.1: Organigrama de la Unidad de Desarrollo Técnico (2015)………....7

Diagrama 2.2: Funcionamiento del Control de Asistencia Completo………..14

Diagrama 2.3: Funcionamiento del Control de Asistencia como un proceso………..15

Diagrama 3.1: Modelo de prototipos (Pressman, 2005)………...18

Diagrama 3.2: Proceso de Creación de un prototipo (Laudon, K & Laudon, P, 2012)…...19

Diagrama 3.3: Modelo Desarrollo Evolutivo (Sommerville, 2005)……….20

Diagrama 4.1: Arquitectura de tres capas………50

Diagrama 4.2: Arquitectura Física………...51

Diagrama 4.3: Mapa de Sitio CA……….52

Diagrama 4.4: Modelo de Datos (Parte A)………..53

Diagrama 4.5: Modelos de Datos (Parte B)……….54

Diagrama 4.6: Modelo de Datos (Parte C)………...55

Diagrama 4.7: Estructura de 2 Capas………...74

Diagrama 4.8: Arquitectura Física………...75

Diagrama 4.9: Mapa del Sitio SICA………....79

Diagrama 5.0: Modelo de Datos (Tablas personal, Marcaciones, Turnos, etc)…………...80

Diagrama 5.1: Modelos de Datos (Tablas Esquema, Atrasos y Ausencias, Permisos)……81

(11)

x Índice de Figuras

Figura 2.1: Imagen del equipo/reloj del control de asistencia………8

Figura 2.2: Aplicación Winbox………..9

Figura 2.3: Archivos que contienen los datos de las marcaciones E/S, con formato “AñoDiaMes.H43”……….9

Figura 2.4: Login del Control de Asistencia (Scota)………10

Figura 2.5: Opciones disponibles del Sistema………..10

Figura 2.6: Proceso de Validación de los archivos de las marcaciones de E/S…………....11

Figura 2.7: Ubicación de la Base Datos de PARADOX………..11

Figura 2.8: Uso del Proceso “Procesar Planilla”………..12

Figura 2.9: Opciones de Informes de Gestión………..12

Figura 3.1: Ejemplo de la base de datos usando el programa Paradox Data Editor………22

Figura 4.1: Inicio de sesión para el usuario final de la aplicación………...37

Figura 4.2: Menú de Navegación……….37

Figura 4.3: Interfaz de Inicio………....38

Figura 4.4: Interfaz del Sistema………...52

Figura 4.5: Pantalla Inicio y Navegación del Sistema para los Gerentes y Jefes de área…60 Figura 4.6: Pantalla Informes para Análisis para los Gerentes y Jefes de área………60

Figura 4.7: Pantalla de Inicio y Navegación del Sistema para el Administrador………….61

Figura 4.8: Interfaz de Inicio para el Módulo de los Informes……….62

Figura 4.9: Interfaz del Sistema………...76

Figura 5.0: Interfaz de la Opción Buscar……….77

Figura 5.1: Interfaz del Sistema………...77

Figura 5.2: Interfaz del Módulo Informes………78

Figura 5.3: Mensaje de error al no encontrar tabla Paradox………96

Figura 5.4: Mensaje de error al no poder conectarse a la Base de datos………..97

(12)

1

Capítulo I

(13)

2 1.1Presentación del Tema

La Unidad de Desarrollo Tecnológico (UDT) es una unidad de la Universidad de Concepción dedicada a la investigación científica y tecnológica de frontera e innovación en estrecha relación con el sector productivo. Esta unidad cuenta con personal de planta que alcanza aproximadamente 120 personas, por ello el año 2010 se optó por adquirir un software de control de asistencia, que además se integra con un sistema de control de acceso.

Lamentablemente la gestión sobre la información almacenada y los informes que esta herramienta entrega, no están acorde con lo que la dirección y el área de administración requiere en estos momentos, por lo tanto se necesita desarrollar una interfaz que pueda gestionar y almacenar los datos capturados por el equipo de control de asistencia o desde el sistema de control de asistencia (base datos), para responder cabalmente a los requerimientos de análisis de datos actuales.

(14)

3 1.2 Objetivo general

Desarrollar un Sistema Web de Control de Asistencia de Personal conectado a equipo de control de asistencia.

1.3 Objetivos específicos

OE1: Determinar la forma de captura de datos del sistema de control de asistencia actual OE2: Implementar la interfaz de captura de datos del sistema actual de control de asistencia.

OE3: Desarrollar Sistema Web de Control de Asistencia de Personal.

1.4 Justificación del problema

La administración de la UDT plantea que el sistema actual no satisface sus necesidades identificando los siguientes problemas:

 No cuenta con reportes en tiempo real.

 No permite al equipo informático de la Empresa gestionar los datos.

 No satisface las necesidades de la Gerencia que solicita ver información resumida (reportes ad-hoc).

1.5 Delimitación del problema

La delimitación del problema se enfoca en tres puntos importantes:

1. Revisión del equipo que captura los datos de ingreso para ver la posibilidad de rescatar estos en forma directa.

2. Si la tarea anterior no es posible, proponer un mecanismo de extracción y traspaso de los datos del software de control de asistencia actual a una nueva base de datos. 3. Herramientas de desarrollo a utilizar:

 Visual Studio 2013 profesional, para la realización de la interfaz escritorio.  SAP Crystal Report, para la construcción de los informes requeridos por la

Empresa.

(15)

4 1.6 Metodología

Para el cumplimiento de los objetivos específicos se llevarán a cabo las siguientes actividades:

OE1: Determinar la forma de captura de datos del sistema de control de asistencia actual

Revisión del equipo que captura los datos de ingreso y determinar la posibilidad de rescatar estos en forma directa, sin tener que abrir o recurrir a la base de datos del sistema actual.

Si la tarea anterior no es posible, proponer un mecanismo de extracción y traspaso de los datos a una nueva base de datos, que se creará en conjunto con la nueva interfaz requerida.

OE2: Implementar la interfaz de captura de datos del sistema actual de control de asistencia.

Diseñar e implementar base de datos para el almacenamiento de la información capturada del sistema actual de control de asistencia.

Desarrollar interfaz de captura de datos y cargado en base de datos.

OE3: Desarrollar Sistema Web de Control de Asistencia de Personal.

1. Plantear o decidir en conjunto con la Unidad de Tecnologías de Información y Comunicación (TIC), una metodología de desarrollo para abordar la construcción de la nueva interfaz.

2. En base a la metodología escogida realizar la toma de requerimientos. 3. Construcción de la interfaz y base de datos.

4. Diseño e implementación de pruebas

5. Documentación de todas las etapas según la metodología escogida.

(16)

5

Capítulo II

(17)

6 2.1 Unidad de Desarrollo Técnico

La Unidad de Desarrollo Tecnológico (UDT) es una unidad de investigación científica de la Universidad de Concepción creada en el año 1996, la cual cuenta con un edificio de 5.557 metros cuadrados en el sector del Parque Industrial de Coronel, a unos 25 km de distancia de la ciudad de Concepción, capital de la Región del Biobío.

Dentro de sus instalaciones se destacan 7 laboratorios y 17 plantas piloto, todas equipadas con diversos suministros y a cargo de profesionales especializados. Además, cuenta con salas de procesos, de concepción modular y multiuso, las que cuentan con suministros básicos como electricidad, vapor, agua, aire comprimido y vacío, y sistemas centrales de recolección y tratamiento de efluentes líquidos y gaseosos. Junto a ello, dispone de equipamiento especializado, enfocado a los requerimientos de las industrias de celulosa, papel y tableros, la industria química, la industria de transformación de plásticos y las necesidades medioambientales y energéticas de todo el sector productivo.

El ámbito de acción de la Unidad de Desarrollo Tecnológico (UDT) son las biorrefinerías forestales, entendidas como un conjunto de procesos de transformación de materias primas significadas para la obtención de diferentes productos de alto interés comercial.

En la UDT trabajan alrededor de 132 personas entre las cuales 6 son investigadores principales; 27 investigadores asociados y 99 profesionales y técnicos. Este personal desarrolla su trabajo en cinco grandes áreas: Biomateriales, Bioenergía, Productos Químicos, Medio Ambiente y Gestión Tecnológica.

(18)

7 Diagrama 2.1: Organigrama de la Unidad de Desarrollo Tecnológico (2015)

(Fuente: Elaboración propia a partir de un material proporcionado por la Empresa)

(19)

8 2.2 Proceso de Control de Asistencia.

El proceso de Control de Asistencia que actualmente utiliza la Empresa está dividido en dos etapas que son muy importantes:

 Captura de los registros de entrada y salida de cada trabajador.  Control de los datos capturados.

2.2.1 Captura de los registros de entrada y salida de cada trabajador.

Este proceso es realizado por un equipo/reloj que está ubicado al ingreso de la unidad de desarrollo, como lo muestra la Figura 2.1. Este dispositivo se encarga de obtener las marcaciones de entrada y salida de cada trabajador. Estos registros son enviados a un computador por medio de una red de internet, los cuales son recibidos y traspasados a una base de datos en formato PARADOX (.DB).

Figura 2.1: Imagen del equipo/reloj del control de asistencia.

(20)

9 Figura 2.2: Aplicación Winbox.

Posteriormente los datos de las marcaciones se guardan en archivos que se indentifican como “añomesdia.H43” . En cada uno de ellos estan todos los registros del dia de cada uno de los trabajadores. Todo estos archivos estan ubicados dentro de una carpeta que tiene la misma direccion ip del dispositivo como se puede observar en la Figura 2.3.

Figura 2.3: Archivos que contienen los datos de las marcaciones E/S, con formato “AñoDiaMes.H43”.

2.2.2 Control de manejo de los datos capturados

A continuacion se describe como es el funcionamiento de la aplicación de control de asistencia “SCOTA”, la cual se encarga de manejar toda la informacion recopilada por la aplicación Winbox.

(21)

10 Figura 2.4: Login del Control de Asistencia (Scota).

Una vez que ingresa el usuario se puede tener acceso a las opciones de la aplicación, de las cuales sólo se mencionan dos:

a. Procesos.

Dentro de la opción Procesos se presentan varias opciones pero solo dos son fundamentales para el funcionamiento y manejo de la información almacenada: “Validar eventos y Procesar Planilla”. Como lo muestra la Figura 2.5.

Figura 2.5: Opciones disponibles del Sistema.

“Validar Eventos”.

Esta opción permite ver al mismo tiempo tanto los archivos que ya fueron validados en el sistema como los que aún no han sido validados. Para la identificación de cada archivo se

utilizan los siguientes iconos: los archivos no validados están representados en azul y

los que han sido validados están representados en blanco.

(22)

11 Figura 2.6: Proceso de Validación de los archivos de las marcaciones de E/S.

Una vez realizado el proceso de validación toda la información de los registros de entrada y salida de cada trabajador se traspasa a nuestra base de datos PARADOX que se encuentra específicamente en la siguiente ruta: “C:\Archivos de programa\Genera\ASISTENC”, en el archivo “Hmaevent.bd”, el cual contiene todos los datos de las marcaciones de entrada y salida (fecha, hora, número ficha). Como lo indica la Figura 2.7.

Figura 2.7: Ubicación de la Base Datos de PARADOX.

“Procesar Planilla”.

(23)

12 Figura 2.8: Uso del Proceso “Procesar Planilla”.

Dicho proceso permite elaborar los informes y ocupar los datos de las tablas que poseen la información para los reportes.

Una vez realizado estos dos importantes procesos se tiene la posibilidad de acceder al manejo de toda la información requerida para la creación de los informes, la cual se encuentra en la siguiente opción “Informes de Gestión”.

b. Informes de Gestión.

Esta opción permite realizar múltiples tareas, dentro de las cuales se pueden señalar las siguientes: conocer la cantidad de personas presentes en el mismo día o en cualquier otro día, conocer la asistencia completa de uno o varios trabajadores, también permite saber el resumen de las horas trabajadas, de horas de sobre tiempo, de horas ausentes entre otras cosas. Como lo muestra la Figura 2.9.

(24)

13 Dentro de las opciones que posee el Informe de gestión se describen siguientes:

 Planilla de Asistencia: esta opción muestra la información detallada de cada trabajador, junto con los días trabajados, los feriados e incluyendo los sábados y domingos además de las horas trabajadas, las horas de atraso y las horas ausentes.

 Resumen de horas de atraso, ausencias y extraordinarias: este presenta el resumen del mes en cuanto a los atrasos, ausencias, horas extraordinarias y las marcaciones de erros en la entrada o salida.

 Resumen de Asistencia: esta opción permite ver el resumen de asistencia de uno, un grupo o todos los trabajadores durante el mes que se seleccione. Además se despliegan otros datos como: número de ficha y nombre del trabajador, días y horas trabajadas, horas de atrasos, horas de ausencias, horas de colación, días de licencias, días de vacaciones, horas y días de permiso con o sin goce de sueldo, bonificación tarde y noche, bono festivo, horas de sobretiempo.

 Resumen de porcentaje diario de sobretiempo: muestra el total de días en que uno, un grupo o todos los trabajadores tuvieron sobretiempo, agregando además los siguientes datos: número de ficha y nombre del trabajador, la fecha y las horas en que hizo sobretiempo y el porcentaje de la tarifa (0,50 o 100%).

 Libro de ausencias y atrasos: aquí se registran todos los atrasos de cada uno de los trabajadores, mostrando además el número de ficha y el nombre del trabajador, la fecha de cada atraso, la hora de inicio y la hora del atraso para luego compararlas y determinar la cantidad de tiempo atrasado.

 Libros Horas Extraordinarias: muestra todos los días y horas en las cuales los trabajadores tuvieron un tiempo de trabajo adicional al del horario normal de trabajo.

 Eventos: esta es otra opción que posee el Informe de Gestión la cual realiza una búsqueda por ficha de cada trabajador, en un determinado intervalo de tiempo (día, semana, mes), mostrando la información de cada trabajador con su número de ficha y nombre, la jornada (fecha), fecha, hora, el tipo (entrada o salida), equipo en donde se registró el evento.

(25)

14 ficha y nombre del trabajador, el esquema del horario (UDT), su estado (presente, con licencia o ausente) y el evento, si marco o no su entrada, junto con el día y la hora de la entrada.

2.3 Diagrama Proceso de Control de Asistencia.

El siguiente diagrama detalla de forma gráfica cómo es realizado el proceso completo del control de asistencia, incluyendo el traspaso de los datos. (Diagrama 2.2).

Se describe el proceso desde que se realiza la marcación de entrada y salida, donde el equipo reloj tomar esos registros y los envía a la base de datos de Paradox, mediante la aplicación WBOX, donde son almacenados en la dirección descrita en el diagrama y estos registros luego son utilizados por otra aplicación Scota_W, la cual los ocupa y genera las nuevas tablas de Paradox, para posteriormente generar los reportes para la impresión.

(26)

15 Además se presenta un esquema que describe el procedimiento de dicho funcionamiento de la aplicación de control de asistencia (Diagrama 2.3)

Donde se muestra los datos de las marcaciones y cómo son recibidos por el equipo reloj, luego estos datos son usados por la aplicación Scota, que se encarga de enviar los datos a la base de datos de Paradox cargando las nuevas tablas y permitiendo así realizar los procesos de validación y procesar planilla, los cuales permiten la creación de los informes necesarios.

Diagrama 2.3: DFD para el funcionamiento del Control de Asistencia como un proceso (Fuente: Elaboración Propia)

(27)

16

Capítulo III

(28)

17 3.1 Modelo de Proceso de Desarrollo de Software.

Según Sommerville (2005), para muchas personas el software son solo programas de computadora, sin embargo nos comenta que son todos aquellos documentos asociados a la configuración de datos que se necesitan para hacer que estos programas operen de manera adecuada. Estos productos de software se desarrollan para algún cliente en particular o para un mercado en general. Para el diseño y desarrollo de proyectos de software se aplican metodologías, modelos y técnicas que permiten resolver los problemas.

Los modelos de desarrollo de software son utilizados por la ingeniería de software como una manera de apoyar al desarrollo y mantención del software con un objetivo similar a otras ciencias de la ingeniería, que es construir productos de calidad.

Desde esta perspectiva el análisis y desarrollo de dos tipos de modelos son fundamentales para este proyecto, los cuales serán mencionados para la elaboración de este proyecto.

3.1.1 Modelo de Prototipo.

Este modelo comienza con la recolección de requisitos, el desarrollador y el cliente definen los objetivos globales para el software, originándose un diseño rápido que se centra en una representación de esos aspectos del software que sean visibles para el usuario/cliente. De este diseño surge la construcción de un prototipo y este es evaluado por el cliente/usuario. La interacción ocurre cuando el prototipo satisface las necesidades del cliente, como se muestra en el Diagrama 3.1.

Este modelo se encarga del desarrollo de diseños para que estos sean analizados y prescindir de ellos a medida que se adhieran nuevas especificaciones, es ideal para medir el alcance del producto, pero no se asegura su uso real. Este modelo ayudar principalmente al ingeniero de sistemas y al cliente a comprender de mejor manera cuál será el resultado de la construcción y cuando los requisitos están satisfechos, logrando de esta manera poder clarificar todos los requisitos que son necesarios y los que se podrán desechar en el proceso.

El diagrama 3.2 muestra un modelo de cuatro pasos del proceso de creación de prototipos, que consiste en lo siguiente:

Paso 1: Identificar los requerimientos básicos del usuario. El diseñador del sistema (por lo general un especialista en sistemas de información) trabaja con el usuario sólo el tiempo suficiente para capturar las necesidades básicas de información del usuario.

Paso 2: Desarrollar un prototipo inicial. El diseñador del sistema crea rápidamente un prototipo funcional mediante el uso de herramientas para generar software con rapidez.

(29)

18 Paso 4: Revisar y mejorar el prototipo. El creador del sistema anota todos los cambios que solicita el usuario y refina el prototipo en forma apropiada. Una vez que se ha revisado el prototipo, el ciclo regresa al paso 3. Los pasos 3 y 4 se repiten hasta que el usuario queda satisfecho.

Cuando no se requieren más iteraciones, el prototipo aprobado se convierte en un prototipo operacional que proporciona las especificaciones finales para la aplicación.

Algunas veces el prototipo se adopta como la versión de producción del sistema. (Laudon, K & Laudon, P 2012, Pág. 507-508)

(30)

19 Diagrama 3.2: Proceso de Creación de un prototipo (Laudon, K & Laudon, P, 2012)

3.1.2 Modelo de Desarrollo Evolutivo.

Este enfoque entrelaza las actividades de especificación, desarrollo y validación. Un sistema inicial se desarrolla rápidamente a partir de especificaciones abstractas. Éste se refina basándose en las peticiones del cliente para producir un sistema que satisfaga sus necesidades. (Sommerville, 2005, pág. 61)

El desarrollo evolutivo consta del desarrollo de una versión inicial que luego de exponerse se va refinando de acuerdo de los comentarios o nuevos requerimientos por parte del cliente o del usuario final. Las fases de especificación, desarrollo y validación se entrelazan en vez de separarse. (Diagrama 3.3)

Existen dos tipos de desarrollo evolutivo:

 Desarrollo exploratorio: donde el objetivo del proceso es trabajar con el cliente para explorar sus requerimientos y entregar un sistema final. El desarrollo comienza con las partes del sistema que se comprenden mejor. El sistema evoluciona agregando nuevos atributos propuestos por el cliente.

(31)

20 prototipo se centra en experimentar con los requerimientos del cliente que no se comprenden del todo. (Sommerville, 2005, pág. 64)

La ventaja de un proceso de software basado en este modelo es que satisface las necesidades inmediatas de los clientes y la especificación se puede desarrollar en forma creciente.

Diagrama 3.3: Modelo Desarrollo Evolutivo (Sommerville, 2005)

Considerando estos dos tipos de modelos se optara para la primera etapa del proyecto en utilizar el Modelo de Prototipos debido a la investigación del funcionamiento de la aplicación que posee la unidad de desarrollo tecnológico, y a su vez, cómo son los tipos de datos que se requieren traspasar, su formato y la forma en que se podría realizar el traspaso de la información.

(32)

21 3.2 Plataformas de Tecnologías de la Unidad de Desarrollo Tecnológico.

En la Unidad de Desarrollo Técnico se ocupan varias aplicaciones que son necesarias para el funcionamiento del equipo de control de asistencia.

Como se mencionó anteriormente, la base de datos que posee la unidad de desarrollo está diseñada sobre un formato conocido como PARADOX.

3.2.1 Paradox.

Paradox fue un sistema de gestión de base de datos relacional de escritorio temprano (RDBMS) que fue lanzado por primera vez por Ansa Software en 1985. Fue escrito originalmente en C, pero más tarde portado a C ++, y fue ofrecido inicialmente para el sistema operativo DOS de Microsoft. Otra versión para Windows está disponible desde 1993.

Ansa Software fue comprado por Borland en 1987, y hoy en día la paradoja es una de las ofertas de RDBMS más pequeños, aunque uno con un dedicado grupo de usuarios y simpatizantes.

La estructura de esta base de datos, sus objetos y los datos de esta están todos divididos en archivos. Es decir todas las tablas y entidades de la base de datos están en archivos independientes con un formato que los identifica, el cual termina con “.DB”. Por este motivo fue necesario utilizar la siguiente herramienta, llamada: Paradox Data Editor. (Techopedia Inc, 2012)

3.2.1.1 Paradox Data Editor.

Como su nombre indica, Paradox Data Editor es una herramienta simple, pero muy útil para las bases de datos de visualización y edición de Paradox. Con el fin de mostrar el contenido de la tabla, la aplicación utiliza el Borland Database Engine (BDE).

La interfaz de la aplicación es limpia y muestra las entradas de base de datos en una vista de tabla, junto con información sobre el tipo de idioma, la página de códigos, método de protección, la versión y detalles de la estructura (las variables y su tipo).

Los registros de base de datos son campos editables, así que usted puede hacer fácilmente las modificaciones deseadas. Columnas Auto ajuste, filtrado avanzado, búsqueda de cadenas y estadísticas de datos de columna de generación de otras opciones disponibles.

También puede usar este software para realizar el análisis de la estructura de base de datos. Puede ver los campos existentes, su tipo y longitud, realice las comprobaciones de validez, ver los detalles de integridad referencial y especificaciones de seguridad.

(33)

22 y se puede utilizar para desbloquear las tablas con el fin de ver el contenido de bases de datos. (Sofpedia, 2007)

Como lo muestra la Figura 3.1.

Figura 3.1: Ejemplo de la base de datos usando el programa Paradox Data Editor.

Sin embargo, de vez en cuando surge la necesidad de reparar dichas tablas PARADOX, esto se debe a la corrupción en los índices por cortes de luz, por mal cerrado de la aplicación que ocupa las tablas, etc. Y como mencionamos que la base de datos está dividida en archivos y existe una aplicación para solucionar este problema: Dtutil32

3.2.1.2 Dtutil32.

Utilidad de Borland para reparar y verificar tablas Paradox. Permite reparar errores tales como: "Error corrupt table/index header", "No index for field", "Index is out of date", "No index currently active", "Can not perform this operation on a closed dataset", "Index does not exist", "Table is busy", "Key violation". (Alonso Javier Pérez Díaz, 2004)

3.2.2 BDE Administrator.

Es una aplicación que permite el manejo de bases de datos en formato PARADOX. 3.2.2.1 Borland Database Engine (BDE)

Es el Administrador del Motor de Bases de datos de Borland para Windows basado en núcleo motor de base de datos de software y conectividad detrás de Borland Delphi, C ++ Builder, IntraBuilder, Paradox para Windows y Visual dBASE para Windows.

(34)

23 tales como tablas y consultas. Interfaz de programa de aplicación del BDE (API) proporciona directa C y C ++ optimizado el acceso al motor de base de datos, así como del BDE controladores incorporados para dBASE, Paradox, FoxPro, Access y bases de datos de texto. (Borland Database Engine, s.f.)

3.2.3 Scota.

Sus siglas son "Sistema Control de Tiempo y Asistencia", es un Sistema de Control de Asistencia para Windows, ella es una poderosa herramienta para el control y gestión de la asistencia, capaz de enfrentar con éxito las más complicadas realidades laborales.

Scota se caracteriza principalmente por su simplicidad y facilidad de uso, siendo su objetivo principal llevar el control de las horas trabajadas por el personal, control que se realiza a través de las pasadas de tarjetas de identificación, individualizadas por el número de tarjeta de cada empleado.

3.2.4 Winbox.

Es un sistema integral de descarga, monitoreo y comunicación para todo el equipamiento producido por Genera S.A. La cual es una empresa de Ingeniería que desarrolla, fabrica e integra soluciones de alta tecnología buscando una mayor productividad en sus clientes, soluciones en el contexto de RRHH y Seguridad.

Winbox está formado por dos componentes principales: Un servidor y un cliente.

 El servidor es quién se encarga de llevar a cabo todas las tareas propias de la aplicación, tales como:

 Encuestar y descargar equipos en línea

 Almacenar las marcas en archivo y, opcionalmente, en una base de datos

 Gatillar eventos en equipos según switches predefinidos  Interpretar y ejecutar comandos externos vía archivos.

 El cliente es la interfaz visual de Winbox. Mediante el cliente es posible monitorear los sucesos registrados por el servidor Winbox e interactuar con él. El cliente es una aplicación independiente que es capaz de conectarse con múltiples servidores Winbox, uno a la vez. Una vez conectado recibe información sobre los equipos en polling, su estado inicial, sus datos de conexión, y los distintos eventos que ocurren en tiempo real.

3.2.5 Sistemas Operativos.

(35)

24 3.3 Software utilizado en el Proyecto.

En el desarrollo de las aplicaciones se utilizaron distintas tecnologías que permitieron llevar a cabo los requisitos solicitados por el encargado del proyecto.

3.3.1 Día

Es un editor de diagramas que cuenta con las herramientas necesarias para poder crear dichos diagramas o modificarlos sin tener mucho conocimiento. Este incluye herramientas de dibujo para introducir distintos elementos geométricos a nuestras composiciones, pudiendo editar sus propiedades y con un espacio cuadriculado para organizar los diagramas y sistema de capas. Además, permite abrir y exportar los dibujos realizados a los formatos más conocidos y tener su propio formato para editar el documento posteriormente. Entre los tipos de diagramas que pueden utilizase se encuentran los siguientes: UML, de flujo, de red, cronogramas, diagramas para cibernética, etc. (Softonic, 2007)

3.3.2 XAMPP

XAMPP, un instalador de Apache, PHP y la base de datos MySQL, que permite contar con estos programas correctamente configurados, sin tener que preocuparnos en los pormenores de cada uno.

Lo que realmente hace especial a XAMPP es que tiene distribuciones para distintos sistemas operativos: Linux, Windows, Mac OS X y Solaris. Así que podemos utilizarlo casi en cualquier sistema operativo que podamos tener. (Miguel Ángel Álvarez, 2007)

XAMPP es un paquete formado por un servidor web Apache, una base de datos MySQL y los intérpretes para los lenguajes PHP y Perl. De hecho su nombre viene de ahí, X (para cualquier sistema operativo), A (Apache), M (MySQL), P (PHP) y P (Perl). XAMPP es independiente de plataforma y tiene licencia GNU GPL.

Una de las ventajas de XAMPP es que de una forma muy sencilla y rápida (no más de 5 minutos) te puedes montar en tu máquina un entorno de desarrollo de cualquier aplicación web que use PHP y base de datos. (Roberto Canales Mora, 2016)

A continuación se definen de manera general las aplicaciones con que cuenta la aplicación Xampp:

 Apache es un servidor web HTTP de código abierto para plataformas Unix-like (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual.

(36)

25 del total. Está desarrollado y mantenido por una comunidad de usuarios en torno a la Apache Software Foundation. (¿Qué es APACHE y para qué sirve?, 2007)

 MySQL es un sistema para la administración de bases de datos relacionales (RDBMS) rápido y sólido. Las bases de datos permiten almacenar, buscar, ordenar y recuperar datos de forma eficiente. El servidor de MySQL controla el acceso a los datos, para garantizar el uso simultaneo de varios usuarios para proporcional acceso a dichos datos y para asegurar de que sólo obtienen acceso a ellos los usuarios con autorización. Por lo tanto, MySQL es un servidor multiusuario y de subprocesamiento múltiple. Utiliza SQL (del inglés Structured Query Language, lenguaje de consulta estructurado), el lenguaje estándar para la consulta de bases de datos utilizado en todo el mundo.( Welling, L & Thomson, L, 2005, Pág. 33-34)

 PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web y que puede ser incrustado en HTML. (The PHP Group, 2003)

PHP es un lenguaje de secuencia de comandos de servidor diseñado específicamente para la Web. Dentro de una página Web puede incrustar código PHP que se ejecutara cada vez que se visite una página. El código PHP es interpretado en el servidor Web y genera código HTML y otro contenido que el visitante verá.

PHP es un producto de código abierto, lo que quiere decir que se puede acceder a su código. Puede utilizarlo, modificarlo y redistribuirlo sin coste alguno. (Welling, L & Thomson, L, 2005, Pág. 33)

Lo mejor de utilizar PHP es su extrema simplicidad para el principiante, pero a su vez ofrece muchas características avanzadas para los programadores profesionales. (The PHP Group, 2003)

3.3.3 MySQL Workbench 5.2 CE

(37)

26 Esta aplicación permite las siguientes cosas:

 Diseño

MySQL Workbench permite un DBA, desarrollador o arquitecto datos visualmente diseño, modelo, generar y gestionar bases de datos. Incluye todo lo que un modelador de datos necesarios para la creación de modelos ER complejas, hacia adelante y la ingeniería inversa, y también ofrece características clave para la realización de las tareas difíciles de gestión del cambio y de la documentación que normalmente requieren mucho tiempo y esfuerzo.

 Desarrollar

MySQL Workbench proporciona herramientas visuales para crear, ejecutar, y optimizar consultas SQL. El Editor de SQL proporciona color resaltado de sintaxis, auto-completar, la reutilización de fragmentos de SQL, y la historia ejecución de SQL. El panel de conexiones de base de datos permite a los desarrolladores para gestionar fácilmente las conexiones de base de datos estándar, incluyendo Tela MySQL. El Examinador de objetos proporciona acceso instantáneo a esquema y objetos de base de datos.

 Administrar

MySQL Workbench proporciona una consola visual para administrar fácilmente entornos MySQL y obtener una mejor visibilidad de las bases de datos. Los desarrolladores y DBAs pueden utilizar las herramientas visuales para la configuración de servidores, administración de usuarios, la realización de copias de seguridad y recuperación, la inspección de los datos de auditoría, y la visualización de la salud de base de datos.

 Panel de rendimiento visual

MySQL Workbench proporciona un conjunto de herramientas para mejorar el rendimiento de las aplicaciones MySQL. DBA puede ver rápidamente los indicadores clave de rendimiento utilizando el panel de rendimiento. Informes de rendimiento proporcionan una fácil identificación y acceso a los hotspots IO, sentencias SQL de alto costo, y más. Además, con 1 clic, los desarrolladores pueden ver dónde optimizar su consulta con la mejora y fácil de utilizar Visual Explain Plan.

 Migración de base de datos

(38)

27 anteriores de MySQL a las últimas versiones. (Oracle Corporation and/or its affiliates, 2008)

3.3.4 Visual Studio Professional 2013

Visual Studio Professional 2013 es un entorno de desarrollo integrado de calidad profesional que simplifica las tareas de creación, depuración e implementación de aplicaciones para Windows, Windows Phone, Office, la Web y la nube.

Visual Studio Professional 2013 puede ayudarle a crear aplicaciones que proporcionen una experiencia de usuario innovadora del gusto de sus clientes. El entorno integrado simplifica las tareas más complejas para que pueda centrarse en la consecución de sus objetivos. Con Visual Studio Professional 2013, puede proporcionar aplicaciones de calidad para Windows, Windows Phone, Office, la Web o la nube. (Microsoft, 1996)

3.3.5 MySQL Connector Net 6.9.7

Connector / Net le permite desarrollar fácilmente aplicaciones .NET que requieren conectividad de datos de alto rendimiento seguro con MySQL. Implementa las interfaces ADO.NET requeridos y se integra en las herramientas de ADO.NET conscientes. Los desarrolladores pueden crear aplicaciones utilizando su elección de lenguajes .NET. Connector / Net es un conductor ADO.NET totalmente gestionado por escrito en el 100% pura C #. No utiliza la biblioteca de cliente MySQL C.

Connector/Net incluye soporte completo para:

 Características proporcionadas por el servidor MySQL hasta e incluyendo el servidor MySQL 5.7.

 Apoyo a gran paquete para el envío y recepción de filas y BLOB valores de hasta 2 gigabytes de tamaño.

 Protocolo de compresión, lo que permite comprimir el flujo de datos entre el cliente y el servidor.

 Conexiones utilizando sockets TCP / IP, canalizaciones con nombre, o memoria compartida en Windows.

 Conexiones utilizando sockets TCP / IP o los conectores Unix en Unix.  El marco de código abierto Mono desarrollado por Novell.

 Microsoft Entity Framework.  Microsoft Windows RT.

(39)

28 3.3.6 C# y Visual C#

C# es un lenguaje de programación que se ha diseñado para compilar diversas aplicaciones que se ejecutan en .NET Framework. C# es simple, eficaz, con seguridad de tipos y orientado a objetos. Las numerosas innovaciones de C# permiten desarrollar aplicaciones rápidamente y mantener la expresividad y elegancia de los lenguajes de estilo de C.

Visual C# es una implementación del lenguaje C# de Microsoft. Visual Studio ofrece compatibilidad con Visual C# con un completo editor de código, un compilador, plantillas de proyecto, diseñadores, asistentes para código, un depurador eficaz y de fácil uso y otras herramientas. La biblioteca de clases de .NET Framework ofrece acceso a numerosos servicios de sistema operativo y a otras clases útiles y adecuadamente diseñadas que aceleran el ciclo de desarrollo de manera significativa.

Visual C# es un lenguaje de programación moderno, de alto nivel, múltiples paradigmas y de uso general para crear aplicaciones con Visual Studio y .NET Framework. Visual C# se diseñó para que fuera simple, poderoso, seguro y orientado a objetos. Las múltiples innovaciones de C# permiten un desarrollo rápido de aplicaciones con la expresividad y elegancia de los lenguajes al estilo C. (Microsoft, 2009)

3.3.7 .NetFramework, Version=4.0

NET Framework es una popular plataforma de desarrollo para la creación de aplicaciones para Windows, Tienda Windows, Windows Phone, Windows Server y Microsoft Azure. La plataforma .NET Framework incluye los lenguajes de programación C# y Visual Basic, también el common language runtime y una gran biblioteca de clases. (Microsoft, 2015)

NET Framework es el modelo de programación completo y coherente de Microsoft para compilar aplicaciones que ofrezcan una sensacional experiencia visual del usuario, comunicación perfecta y segura, y la capacidad de modelar una amplia gama de procesos empresariales.

NET Framework 4 funciona en paralelo con versiones anteriores de .NET Framework. Las aplicaciones basadas en versiones anteriores de .NET Framework continuarán ejecutándose en la versión que tienen definida como destino de forma predeterminada.

Microsoft .NET Framework 4 proporciona las siguientes mejoras y características nuevas:

 Mejoras en Common Language Runtime (CLR) y la biblioteca de clases base (BCL)

(40)

29 o Nuevos tipos numéricos y archivo asignado en memoria.

o Depuración más fácil, incluida depuración de volcado, mini volcados Watson, depuración en modo mixto para 64 bits y contratos de código. (Microsoft, 9 de junio de 2012)

3.3.8 Crystal Reports.

Crystal Reports está diseñado para trabajar con su base de datos para ayudarlo a analizar e interpretar información importante. Crystal Reports facilita la creación de informes simples y dispone también de herramientas poderosas necesarias para generar informes complejos o especializados.

Crystal Reports está diseñado para generar el informe que desea desde prácticamente cualquier origen de datos. Los asistentes incorporados lo guían paso a paso a través de la creación de informes y la ejecución de tareas comunes relacionadas con el uso de informes.

Las fórmulas, tablas cruzadas, subinformes y formatos condicionales ayudan a entender mejor los datos y descubrir relaciones importantes que, de lo contrario, podrían quedar ocultas. Los gráficos y mapas geográficos proporcionan información en forma visual cuando las palabras y números no son suficientes.

Crystal Reports ha formado parte de Visual Studio desde 1993, y ahora es el estándar de creación de informes de Visual Studio 2005. Se incluye en todas las copias de Visual Studio 2005 y se integra directamente en el entorno de desarrollo. (Business Objects, 2014)

(41)

30

Capítulo IV

(42)

31 4.1 Planteamiento de la problemática.

A continuación se detalla la problemática ya planteada en el Capítulo II en la sección Situación actual de la Empresa y de cómo es abordada por la UDT.

Como ya se mencionó anteriormente la Empresa cuenta con un sistema de Control de Asistencia (Scota) el cual maneja la información almacenada en una base de datos Paradox, la cual recibe las marcaciones de entrada y salida de cada trabajador que posee la UDT, que es enviada por la aplicación que interactúa con equipo/reloj, esta aplicación toma todos los datos de entrada y salida de cada trabajador y los traspasa a un archivo de texto, el cual es validado por el control de asistencia y traspasado a la base de datos en Paradox.

Lamentablemente, dicha aplicación no cuenta con una documentación técnica asociada a su desarrollo, tampoco posee un documento de la estructura de la base de datos de Paradox, ni de cómo son sus campos, tablas y las relaciones que existe entre cada una de ellas. Además no existe un diccionario de datos de la aplicación que especifique o defina los atributos de cada tabla y sus campos. Debido a este hecho se tuvo que dedicar tiempo para comprender cómo era el funcionamiento de dicha aplicación, para lo cual se debió analizar cada una de las tablas por separado, ver cada uno de los datos que se tenía y de esta manera ir creando la relación entre cada una de estas tablas, para así descubrir qué función cumplía cada una de ellas y qué tipo de valores almacenaba. Todo lo mencionado anteriormente se conoce como un proceso llamado Ingeniería Inversa, ya que desde la aplicación final se fue obteniendo un modelo relacional de la aplicación, el cual fue muy beneficioso para lograr entender cómo se podía trabajar con lo que la Empresa requería de este proyecto.

Pero como esta aplicación actual, Scota, no satisface las necesidades y los requerimientos de la gerencia de la UDT, por las razones planteadas en la justificación del problema en el Capítulo I, surge la necesidad de realizar dos aplicaciones que permitan poder satisfacer los requerimientos y necesidades de la gerencia de la UDT y dar solución a este proyecto. Para que poder explicar de mejor manera el proceso de desarrollo de estas dos aplicaciones, Traspaso de Datos y Creación de los Informes, se presenta a continuación las etapas de: Especificación de requerimientos y Diseño de software para cada una de ellas.

4.2 Aplicación de Migración de Datos.

Para la primera aplicación se utilizó una metodología de Prototipo, ya que al principio no se conocían todos los requisitos y fue necesario entender primeramente la aplicación actual y qué datos sería necesario utilizar de la base de datos. Luego fue necesario establecer la conexión con la base de datos de Paradox, para así ver cómo funcionaba, para posteriormente realizar los traspasos de todos los datos que fueran necesarios, de manera de ir probando, descartando y verificando que esta aplicación cumpliera con lo que la Empresa demandaba.

Esta aplicación fue creada en el lenguaje de programación PHP y para realizarla se utilizó un servidor independiente conocido como Xampp para Windows en su versión 1.7.1, el cual soportaba el manejo de las tablas de Paradox.

(43)

32 A continuación, se menciona las tablas que intervinieron en el proceso de traspaso, junto con su descripción.

Tabla 4.1: Descripción de los datos migrados desde Paradox a Mysql Tablas que fueron Traspasados.

Nombre Tablas Descripción

Hmaevent Posee las marcaciones de entrada y salida por día de cada trabajador ordenada por su número de ficha.

Umaperso Posee los datos de cada trabajador (Nombre, Apellido, Rut, Área de Trabajo, Fecha Nacimiento, etc.), los cuales están asociados a su número de ficha.

Hmahorus Contiene el horario de trabajo, el cual posee un código que lo identifica, que cada trabajador tiene asociado mediante su Rut.

Hdeesque Contiene el esquema que posee la Empresa, con los turnos, el horario de trabajo, su hora de entrada y hora de salida, colación.

Hmacalen Posee una descripción de la jornada de trabajo (el horario de inicio y fin), la cual también tiene un código asociado.

Hmapermi Están los tipos de permisos que posee la Empresa como: vacaciones, licencias, permisos y si estos cuentan o no con goce de sueldo.

Umaccost Posee las áreas de trabajo en las cuales está dividida la Empresa. Hmaferia Contiene los días feriados que hay durante el año, los cuales están

identificados por la fecha.

Hdejusti Contiene los días y horas en los cuales los trabajadores realizaron una justificación de su ausencia en la jornada de trabajo.

Hmasobre Contiene la fecha y la cantidad de tiempo que trabajo extra cada trabajador.

Hmaplape Contiene las ausencias y atrasos que cada trabajador tuvo en un día determinado, junto con el respectivo permiso.

(44)

33 Para mayor información con respecto a la obtención e identificación de la Tablas para el traspaso puede ver Anexo N°2.

4.2.1 Especificación de Requisitos.

4.2.1.1 Introducción.

a. Propósito.

Este capítulo tiene como objetivo mostrar y definir todas las funcionalidades y restricciones de la aplicación de Traspaso de Datos en relación a las necesidades y expectativas que posee la UDT.

Para dar a conocer este trabajo se sigue la estructura propuesta por el Estándar de Especificación de Requerimientos del Software (IEEE-STD-830,1998).

b. Alcance del software.

El software tiene por nombre Control de Asistencia (CA) y está orientado a realizar los traspasos de la información contenida en la Base de Datos de Paradox, dichos traspasos se podrán hacer tanto de forma manual como automáticamente, gracias al Administrador de Tareas de Windows mediante el navegador.

Dentro de las funcionalidades que están contempladas en el sistema se pueden mencionar las siguientes:

 Traspaso de datos de todos los trabajadores registrados en la Empresa y de

todos los que se van agregando, además se traspasan sus respectivas

marcaciones de entrada y salida.

 Traspaso de las áreas de trabajo de la Empresa y de las nuevas áreas

ingresadas o creadas por la empresa.

 Traspaso de los días trabajados, de los días de vacaciones y de los días de

permisos de cada uno de los trabajadores.

 Traspaso de las horas extras de cada uno de los trabajadores.

 Traspaso de los atrasos y ausencias de cada uno de los trabajadores.  Traspaso de todos los turnos de trabajo que posee la empresa.  Traspasos de los tipos de permisos que la Empresa tiene definidos.

(45)

34  Traspaso del horario de trabajo que cada trabajador tiene asignado.

 Además el sistema notifica mediante un mensaje por pantalla las siguientes

situaciones:

 Problemas con la conexión con las tablas de Paradox.

 El deterioro o pérdida del índice de las Tablas de Paradox.

 Qué tipo de Tabla o Tablas están dañadas y cuál es la solución a tomar.

 Problemas en la conexión con la Base de Datos de MySQL.

 Si no existen datos nuevos que traspasar, se notificara con un mensaje: “No Hay Datos Nuevos En La Tabla”.

 Se notificara mediante un correo al Administrador en caso de algún problema en las consulta con la Base de Datos de MySQL, especificando cual fue el motivo del problema.

4.2.1.2 Descripción General.

a. Perspectiva del Producto.

Mediante el sistema CA se permitirá tener una visión de toda la información necesaria para la creación de los reportes sin la necesidad de que los usuarios realicen todo el proceso manual permitiendo así:

 Agilizar, automatizar y controlar el manejo de la información que se requiere para los informes.

b. Funciones del Producto.

Traspaso Datos de Usuarios y sus Marcaciones de E/S.  Traspaso de todos los datos de cada uno de los trabajadores.  Traspaso de las marcaciones de entrada y salida.

(46)

35 Traspasos Varios.

 Traspaso del horario de trabajo que tiene asignado cada trabajador.  Traspaso de los turno que posee la Empresa.

 Traspaso de los tipos de permisos de trabajo que la Empresa define.  Traspaso de las áreas de trabajo que tiene la Empresa.

 Traspaso de los días feriados de todo el año.

Traspaso Días Justificativos y Sobretiempos.

 Traspaso de todos los días que cada trabajador tiene como Justificados.  Traspaso de todas las horas de sobretiempo que posee cada trabajador.

Traspaso de Atrasos y Ausencias.

 Traspaso de los días en que llego atrasado y en los que se registraron ausencias en la jornada de trabajo.

Traspaso Días Trabajados y Vacaciones.

 Traspaso de los días trabajados, de los días de vacaciones y de los días que se solicitó un permiso de cada uno de los trabajadores.

c. Característica del Usuario.

El usuario debe tener conocimientos básicos de computación y de la utilización de aplicaciones Web, como de los navegadores de internet. Dentro del sistema se identifican los siguientes roles:

 Administrador del sistema.

(47)

36 d. Limitaciones.

El sistema abarca los siguientes puntos:

 Traspaso de los datos que realmente fueron considerados como importantes para el manejo de la información y la creación de los informes por parte de la gerencia.

 Todos los traspasos se harán de manera automática, pero depende exclusivamente de un navegador para realizar dicho proceso, sin la necesidad de que el navegador este abierto.

 La mayoría de los traspasos se harán una vez al mes, sólo un traspaso será todos los días y dos veces al día.

 Cada uno de estos traspasos permitirá contar con información legible y verdadera.

 En caso de que se ocasione algún inconveniente con el traspaso de forma automática, se podrá contar con el método manual para realizarlo.

e. Suposiciones y Dependencias.

El sistema podrá comenzar a operar los requerimientos desde el momento en que la base de datos de Paradox posea registros para realizar la migración, es decir, cuando ya se puede hacer uso de la aplicación CA.

Se definen varios días en los cuales se realizarán los traspasos, muchos de ellos se realizaran una vez al mes en diferentes días de la semana, ya que son los que contienen más información, y habrá uno que será realizado todos los días en dos horarios unos a las 9:30 a.m y el otro a las 14:00 hrs.

Este último traspaso es el de los datos de los trabajadores y de las marcaciones de entrada y salida respectivamente.

4.2.2.1 Requerimientos Específicos.

a. Requerimientos de Interfaces Externas.

Los requerimientos de interfaz se definieron de mutuo acuerdo con el Administrador del sistema, los cuales se detallan a continuación:

Interfaz de Usuario.

Ingreso al Sistema

(48)

37 Figura 4.1: Inicio de sesión para el usuario final de la aplicación

Menú de Navegación.

La navegación del sistema estará dividida por tres módulos, de los cuales dos tienen subdivisión de módulos y en estos estarán repartidas todas las funcionalidades del sistema como se observa en la Figura 4.2:

(49)

38 Interfaz de Inicio.

Después de que el usuario ingrese al sistema con su clave podrá tener acceso a todas las funcionalidades de la aplicación de forma manual, ya que como se mencionó anteriormente la aplicación CA funcionara automáticamente como se observa en la Figura 4.3:

Figura 4.3: Interfaz de Inicio.

Interfaz de Hardware

Para el Servidor.

Requisitos Mínimo:

 Procesador Intel(R) Core(TM) 2 Duo E4600 @2,40 GHz

 Memoria RAM 1GB.Disco Duro 100 GB.

 Tarjeta de Red.

Requisitos Recomendado:

 Procesador Intel(R) Core(TM) 2 Duo E4600 @2,40 GHz

 Memoria RAM 3GB.

 Disco Duro 500 GB.

(50)

39  Interfaz de Software

Desarrollo del Sistema.

El desarrollo de la aplicación de Control de Asistencia (CA) se realizará bajo la herramienta Xampp en su versión 1.7.1 usando el lenguaje PHP y con el gestor de base de datos que la misma herramienta trae en su paquete de instalación, el cual es MySQL, por lo que cualquier modificación que sea necesaria realizar deberá hacerse con esta misma herramienta.

Utilización del Sistema.

Para la utilización del sistema por parte del o los usuarios, solamente se requerirá que esté instalada la aplicación en el equipo servidor y que este posea al menos un navegador web como Mozilla Firefox, Internet Explorer o Google Chrome.

Servidor.

El servidor deberá tener instalado el siguiente software:

 Sistema operativo Microsoft Windows XP Profesional SP2/XP SP3/ Windows 7.

 Xampp version 1.7.1, incluye MySQL

 Como la aplicación CA estará instalada en el mismo equipo servidor, será necesario un navegador para realizar los traspasos de forma manual o automáticamente.

Interfaz de Comunicaciones

El sistema se comunicara con el usuario por mensajes desplegados por pantalla y además también se notificara mediante un correo electrónico al Administrador.

b. Requerimientos Funcionales.

(51)

40 Módulo Traspaso de Marcaciones.

Código MTM1.0

Nombre Traspaso Datos de Usuario y sus Marcaciones de E/S.

Descripción Traspasa los datos de las Tablas Umaperso y Hmaevent de la base de datos de Paradox a Mysql.

Entrada No tiene ninguna entrada.

Proceso P1: Primero se consulta la base de datos de MySQL si la tabla personal posee datos y así se obtiene la cantidad de registros que esta tiene, luego se abre y lee la tabla Umaperso.DB de Paradox y se obtiene la cantidad de registro de la tabla.

P1.1: En caso de que la lectura de la Tabla de Paradox no se pudiera efectuar se desplegará un mensaje notificando del error, la ubicación de él y una sugerencia a seguir para resolver el problema.

Luego se compara dichas consultas para ver si la cantidad de Datos de Paradox es Mayor a la cantidad de datos de MySQL, de ser así se realiza el traspaso de los datos de la tabla Umaperso.DB que contiene los siguientes campos MA_PERSO_FICHA,

MA_PERSO_NOMBRE, MA_PERSO_PATERNO, MA_PERSO_MATERNO,

MA_PERSO_RUT, MA_PERSO_DV, MA_PERSO_CCOSTO,

MA_PERSO_TARJETA, MA_PERSO_FECHA_CONTRATO,

MA_PERSO_FNACIMIENTO a la Tabla personal de MySQL. Ir a salida S1.

P1.1.1: Si no fuera así se desplegará un mensaje notificando que no Existen Datos Nuevos en la Tabla personal.

S1.1: Al final de cada traspaso se indicará la cantidad de datos nuevos traspasados y el total de datos que posee la tabla en MySQL.

P2: Primero se consulta a la base de datos de MySQL si la tabla marcaciones posee datos y así se obtiene la cantidad de registros que esta tiene, luego se abre y lee la tabla Hmaevent.DB de Paradox y se obtiene cantidad de registros de la tabla.

P2.1: En caso de que la lectura de la Tabla de Paradox no se pudiera efectuar se desplegará un mensaje notificando del error, la ubicación de él y una sugerencia a seguir para resolver el problema.

Luego se compara dichas consultas para ver si la cantidad de Datos de Paradox es mayor a la cantidad de datos de MySQL, de ser así se realiza el traspaso de los datos de la tabla

Hmaevent.DB que contiene los siguientes campos MA_EVENT_FICHA,

MA_EVENT_FECHA, MA_EVENT_HORA, MA_EVENT_TIPO,

MA_EVENT_SISTEMA, MA_EVENT_EQUIPO, MA_EVENT_STATUS,

Referencias

Documento similar

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Y tendiendo ellos la vista vieron cuanto en el mundo había y dieron las gracias al Criador diciendo: Repetidas gracias os damos porque nos habéis criado hombres, nos

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la