proyecto de investogaciófinallllllll

110
I NSTITUTO TECNOLÓGICO DE TUXTEPEC INGENIERIA EN SISTEMAS COMPUTACIONALES “DESARROLLO DE UN SISTEMA DE CONTROL DE ASISTENCIA PARA EL BACHILLERATO TECNOLÓGICO MOISÉS SÁENZ DE SAN JUAN BAUTISTA TUXTEPEC OAXACA” PROYECTO DE INVESTIGACIÓN PRESENTA: ANTONIO GÓMEZ MARÍA DEL ROSARIO CONTI SÁNCHEZ CRISTIAN JOAQUÍN JORGE RAFAEL CLEOTILDE MARTÍNEZ HERRERA KEREN ARADI SÁNCHEZ GONZÁLEZ CARLOS ALEJANDRO VICENTE MENDOZA ANTONIO ASESOR: L.I. MARÍA DE LOS ÁNGELES MARTÍNEZ MORALES Tuxtepec, Oax. Diciembre de 2013 S.E.P D.G.E.S.T S.N.E.S.T ISC – 2013 / 12

Upload: kerenaradi

Post on 18-Nov-2014

620 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

I

NSTITUTO TECNOLÓGICO

DE TUXTEPEC

INGENIERIA EN SISTEMAS COMPUTACIONALES

“DESARROLLO DE UN SISTEMA DE CONTROL

DE ASISTENCIA PARA EL BACHILLERATO

TECNOLÓGICO MOISÉS SÁENZ DE SAN JUAN

BAUTISTA TUXTEPEC OAXACA”

PROYECTO DE INVESTIGACIÓN

PRESENTA:

ANTONIO GÓMEZ MARÍA DEL ROSARIO

CONTI SÁNCHEZ CRISTIAN JOAQUÍN

JORGE RAFAEL CLEOTILDE

MARTÍNEZ HERRERA KEREN ARADI

SÁNCHEZ GONZÁLEZ CARLOS ALEJANDRO

VICENTE MENDOZA ANTONIO

ASESOR:

L.I. MARÍA DE LOS ÁNGELES MARTÍNEZ

MORALES

Tuxtepec, Oax. Diciembre de 2013

S.E.P D.G.E.S.T S.N.E.S.T

ISC – 2013 / 12

ii

NOMBRE DEL PROYECTO

Desarrollo de un sistema de control de asistencia para el Bachillerato Tecnológico

“Moisés Sáenz” de San Juan Bautista Tuxtepec, Oaxaca.

iii

RESUMEN

El Bachillerato Tecnológico Moisés Sáenz es una institución particular, la

cual fue establecida desde el año de 1998, ofreciendo desde entonces estudios

de nivel medio superior a los estudiantes de San Juan Bautista Tuxtepec,

Oaxaca, donde se encuentra ubicada.

El presente proyecto de investigación realiza el análisis, diseño e

implantación de un sistema automatizado de control de asistencia para la

institución “Bachillerato Tecnológico Moisés Sáenz”, así mismo hace énfasis en la

optimización de la generación de los reportes de información de horas laboradas

por el personal.

En éste documento se describen los objetivos que se buscan cumplir,

entre ellos se encuentran, identificar los requerimientos para el sistema, diseñar la

estructura física y lógica de la base de datos, diseñar la interfaz gráfica del

sistema, realizar las pruebas del sistema, implantación del sistema en la

Institución, realizar las pruebas pertinentes y la elaboración del manual de usuario,

herramienta de apoyo para el personal.

Se presentan también las herramientas y técnicas que fueron utilizadas en

el desarrollo del Sistema de control de asistencia, se anexan además los formatos

diseñados de cada una de éstas herramientas las cuales se llevaron a cabo con el

personal de la institución.

El mencionado procedimiento que se implementó en el desarrollo de dicho

sistema es la metodología en cascada o también conocido como ciclo de vida

clásico, ya que a través de cada una de sus fases de análisis, diseño, codificación,

pruebas y entrega, y mantenimiento fue posible lograr cumplir los requerimientos y

necesidades que la institución demanda.

iv

A través de la finalización del procedimiento fue posible identificar las

grandes ventajas que éste sistema otorga a la institución y, sobre todo, que se

lograron los objetivos que éste proyecto señala desde la planificación hasta la

implantación del sistema; además de que principalmente se cumple la hipótesis

planteada.

v

ÍNDICE DE CONTENIDO

RESUMEN ______________________________________________________ iii

ÍNDICE DE CONTENIDO ____________________________________________ v

ÍNDICE DE TABLAS _____________________________________________ viii

ÍNDICE DE FIGURAS _____________________________________________ ix

INTRODUCCIÓN _________________________________________________ 10

Identificación del problema ______________________________________ 12

Planteamiento del problema _____________________________________ 13

Formulación del problema _______________________________________ 13

Justificación del proyecto _______________________________________ 14

Impacto Social ________________________________________________ 14

Impacto Tecnológico ___________________________________________ 15

Impacto Económico ____________________________________________ 15

Impacto Ambiental ____________________________________________ 15

Objetivos de investigación ______________________________________ 15

Objetivo General ______________________________________________ 16

Objetivos Específicos __________________________________________ 16

Establecimiento de la hipótesis __________________________________ 17

Hipótesis de Trabajo ___________________________________________ 17

Hipótesis Nula ________________________________________________ 17

Identificación de las variables __________________________________ 17

Variable Independiente _________________________________________ 17

Variable Dependiente __________________________________________ 17

Definición de las variables _____________________________________ 17

Conceptual __________________________________________________ 17

Operativa ____________________________________________________ 18

vi

ANÁLISIS DE FUNDAMENTOS _____________________________________ 20

1. INTRODUCCIÓN A LOS SISTEMAS DE INFORMACIÓN _______________ 21

1.1 ¿Qué es un sistema? ______________________________________ 21

1.2 Definición de sistemas de información _______________________ 22

1.3 Componentes de un sistema de información __________________ 23

1.4 Clasificación de los sistemas de información __________________ 27

2. METODOLOGÍAS DEL PROCESO DE SOFTWARE ___________________ 32

2.1 Definición de Metodología _________________________________ 32

2.2 Tipos de Metodologías ____________________________________ 33

2.2.1 Modelo de cascada _______________________________________ 33

2.2.2 Modelo espiral ___________________________________________ 35

2.2.3 Construcción de Prototipos ________________________________ 39

3. SISTEMAS GESTORES DE BASES DE DATOS ____________________ 42

3.1 Concepto de base de datos ________________________________ 42

3.2 Tipos de base de datos ____________________________________ 43

3.3 Componentes de los sistemas gestores de bases de datos ______ 44

3.4 Arquitectura de los sistemas de Bases de datos _______________ 45

4. INTRODUCCIÓN A MYSQL _____________________________________ 47

4.1 ¿Qué es MySQL? _________________________________________ 47

4.2 Concepto de SQL _________________________________________ 47

4.3 Tipos de datos ___________________________________________ 48

4.4 Tipos de sentencias SQL __________________________________ 50

5. JAVA_______________________________________________________ 51

5.1 Fundamentos de programación _____________________________ 51

vii

5.2 Tipos de datos ___________________________________________ 52

5.3 Programación orientada a objetos ___________________________ 56

6. PROGRAMAS _________________________________________________ 58

6.1 JCreator ________________________________________________ 58

6.2 Netbeans ________________________________________________ 59

PROCEDIMIENTO O MÉTODO ______________________________________ 60

Enfoque metodológico __________________________________________ 60

Alcance de la investigación ______________________________________ 60

Tipo de investigación ___________________________________________ 60

Diseño de investigación _________________________________________ 61

Universo o Población ___________________________________________ 62

Muestra o unidad de análisis _____________________________________ 62

Elaboración, selección y desarrollo de instrumentos _________________ 64

Técnicas de recolección de datos _________________________________ 64

Instrumentos de recolección de datos ______________________________ 64

Metodología de desarrollo del sistema _____________________________ 65

ANÁLISIS DE RESULTADOS _______________________________________ 81

CONCLUSIONES ________________________________________________ 85

RECOMENDACIONES ____________________________________________ 86

GLOSARIO _____________________________________________________ 87

FUENTES CONSULTADAS ________________________________________ 91

ANEXOS _______________________________________________________ 94

viii

ÍNDICE DE TABLAS

Tabla 4.3.1 Tipos de datos de MySQL _______________________________ 48

Tabla 4.3.2 Tipos de datos _________________________________________ 49

Tabla 5.2.1 Palabras reservadas de Java ____________________________ 53

Tabla 5.2.2 Precedencia de operadores en Java _______________________ 54

Tabla 5.2.3 Rangos de los tipos de datos para enteros _________________ 55

Tabla 5.2.4 Tipos de datos básicos reales en Java _____________________ 55

Tabla 5.2.5 Precedencia de operadores en Java _______________________ 56

Tabla 6.1.1 Requerimientos de Hardware para el desarrollo del sistema ___ 70

Tabla 6.1.2. Requerimientos de Software para el desarrollo del sistema ___ 70

Tabla 6.1.3. Costos generales ______________________________________ 71

Tabla 6.1.4. Salarios del equipo técnico que participara en el desarrollo del

proyecto _______________________________________________________ 71

Tabla 6.1.5. Costo de Ambiente ____________________________________ 73

Tabla 6.1.6. Costos de operación durante el desarrollo _________________ 73

Tabla 6.1.7. Costos totales del sistema. ______________________________ 74

ix

ÍNDICE DE FIGURAS

Figura 1.1.1 Modelo general de un sistema ___________________________ 22

Figura 1.3.1 Tipología de usuarios de sistemas _______________________ 24

Figura 2.2.1.1 El modelo lineal secuencial ____________________________ 34

Figura 2.2.2.1 Modelo en espiral de Boehm para el proceso del software

(IEEE, 1998) _____________________________________________________ 37

Figura 2.2.2.2 Un modelo espiral típico ______________________________ 38

Figura 2.2.3.1 El modelo de construcción de prototipos ________________ 40

Figura 3.1.1 Pantalla de una base de datos ___________________________ 42

Figura 5.1.1 Encapsulación de métodos y atributos ____________________ 52

Figura 6.1.1 Interfaz gráfica de JCreator _____________________________ 58

Figura 6.2.1. Interfaz gráfica de NetBeans ____________________________ 59

10

INTRODUCCIÓN

Actualmente la tecnología constituye un elemento de esencial interés en

todos los sectores de la sociedad; entre otras razones, por la facilidad y

comodidad que le ha brindado al hombre para sobrevivir. La tecnología de

información día a día se mejora para incorporar nuevos ámbitos de la sociedad a

la misma. En paralelo encontramos los sistemas de información, los cuales

agilizan la gestión de los procesos dentro de las organizaciones, en este sentido

se ejecutan procesos largos, tediosos y repetitivos en menor tiempo y con mayor

precisión. A este proceso se ha unido organizaciones de todo tipo, tales como

gubernamentales, bancarias y comerciales y por supuesto las educativas.

En el bachillerato Tecnológico “Moisés Sáenz”, a fin de agilizar sus

procesos administrativos internos, tales como el control de asistencia personal y el

reporte de nómina, actualmente existen procesos que no funcionan

apropiadamente, por tal motivo deben ser adaptados a la nueva tecnología de la

información para ofrecer mayores y mejores servicios a su personal, quienes

actualmente no poseen un sistema de información automatizado.

Es por esto que en la presente investigación se incluyen todos los

elementos que interactúan con el sistema creado, además de la fundamentación,

la cual se presenta en seis capítulos, en el capítulo 1 se puede encontrar una

breve definición de qué es un sistema, sus componentes y como se clasifican, en

el capítulo 2 se mencionan las metodologías del proceso de software que existen,

y explicación de algunos de los tipos que se pueden utilizar.

Se integra además en el capítulo 3 la conceptualización de los Sistemas

gestores de base de datos, los tipos que hay y sus componentes. Encontrará

también en el capítulo 4 una explicación de qué es MYSQL, sus tipos de datos y

algunas sentencias, así como la definición de fundamentos de investigación, en el

capítulo 5 encontrará la definición de JAVA, fundamentos de programación, tipos

de datos y programación orientada a objetos, y en el capítulo 6 se describen los

11

programas que intervienen en éste sistema, JCreator y Netbeans.

Es importante señalar que se encuentra especificado el procedimiento que

se llevó a cabo durante el desarrollo de dicho sistema, mostrando desde de la

identificación del problema que la institución presenta, planeación, hipótesis,

justificación hasta la muestra de resultados y conclusiones a las que se llegaron.

Por las razones anteriormente expuestas, la presente investigación tiene

por objeto diseñar un sistema de información automatizado que agilice la gestión

de los procesos administrativos internos del Bachillerato Tecnológico “Moisés

Sáenz”, específicamente en el control de asistencia del personal de la institución.

12

Identificación del problema

El Bachillerato Tecnológico “Moisés Sáenz” se encuentra ubicado en la

ciudad de Tuxtepec, Oaxaca. Fue fundado en el año de 1999, es una escuela

particular incorporada a la DGETI.

Actualmente cuenta con aproximadamente 177 alumnas en el sistema

escolarizado (de lunes a viernes) y 105 alumnos en el sistema abierto (sábados),

haciendo un total de 272 alumnos de los cuales 30% son hombres y 70% mujeres.

Además en la institución labora el siguiente personal:

Personal H M Jornada Laboral

Administrativo 10 3 13:00 – 19:00 Hrs

Docentes 10 9 14:00 – 19:00 Hrs

Cabe mencionar que el personal docente tiene distintos cargos de

materias y por lo tanto, diferente hora de entrada y salida.

La realización del registro del personal es efectuado manualmente, lo cual

provoca inexactitud al llevar a cabo la remuneración económica de los docentes,

entre ellos, excedente en la nómina y a su vez, menor pago en las actividades u

horarios que se cubren en la institución.

13

Planteamiento del problema

El Bachillerato Tecnológico “Moisés Sáenz” está conformado por cinco

departamentos, los cuales son: administrativo, desarrollo académico, control

escolar, prefectura y dirección.

El problema que presenta el sistema actual de dicha institución está

relacionado con la generación de aumento innecesario de gastos administrativos y

económicos; perdida y manejo de información errónea; uso de tiempo (horas

laboradas) innecesarias, es muy lento el proceso; carece de fiabilidad e integridad

de datos ya que la carga de información es manual; la relación entre los resultados

y el tiempo utilizado para obtener información del personal y alumnado es alto por

lo tanto no se tiene buena productividad.

Todo el proceso de registro de asistencia del personal se realiza mediante

un formato establecido por el departamento de servicios administrativos, el cual

consta de los siguientes elementos:

Logotipo de la institución que lo identifica.

Nombre de la persona a registrar.

Cuatro columnas, que corresponden a la fecha, hora de entrada, hora de

salida y firma.

Formulación del problema

¿Cuáles son los efectos de utilizar un software para el control de asistencia del

personal en el Bachillerato Tecnológico “Moisés Sáenz”?

14

Justificación del proyecto

El presente proyecto surge de la necesidad de que el Bachillerato

Tecnológico “Moisés Sáenz” no dispone de un sistema de control de asistencia

automatizado, por lo que se pretende realizar un software que permita facilitar las

consultas de la información, agilizar los procesos para contribuir al funcionamiento

eficiente y eficaz de las operaciones, siendo esta confiable, oportuna, precisa y

actualizada.

A través del sistema se busca satisfacer las necesidades del usuario, rápido

acceso a la información, velocidad, ahorro de tiempo, dinero y recursos (cintas,

papel, etc.). Los sistemas automatizados, representan la unificación entre

hardware, software, personas, procedimientos y datos.

El proyecto que se llevara a cabo será de gran beneficio, no solo para la

institución, sino para el personal en general, ya que con ello se hará eficiente el

control de asistencias, y por lo tanto la manipulación de la información para la

elaboración del reporte de nómina.

Dirección: Proporcionándole el control de la información para hacer toma

de decisiones.

Personal docente: Evita el retraso a sus labores académicas.

Departamento Académico: Para agilizar los procesos y hacer el cálculo de

nómina para el pago correspondiente a cada trabajador.

Institución: Mejorando su imagen ante la sociedad.

Impacto Social

El sistema de control de asistencias, logrará satisfacción, tanto para los

usuarios como para las personas que realizan este control por la agilidad que

brindará, dado que hasta la presente fecha de usuario no sabe exactamente

cuándo sufre un descuento por atraso o falta.

15

Los directivos y jefes departamentales serán los principales favorecidos

con la implantación del sistema, ya que les permitirá controlar la asistencia del

personal que labora en esta institución, como: conocer el ingreso y salida exacta

de los profesores, personal de servicios y administrativos de esta institución.

Los usuarios conocerán su hora de ingreso al establecimiento al igual que

su hora de salida, para evitar inconvenientes por las sanciones recibidas por esta

causa. Gracias a la calidad de servicio que se brindara con la implantación de este

sistema, los hará más responsables y puntuales en la hora de llegada.

Impacto Tecnológico

Actualmente nos encontramos en un proceso de constante cambios y

transformaciones que obedecen a una serie de factores y entre ellas a la

incorporación vertiginosa de nuevas tecnologías de la información y la

comunicación en diversos campos, incluidos en el aspecto educativo.

Con la colaboración del sistema de control de asistencias se pretende que

el personal tenga conocimientos sobre las nuevas tecnologías, así como plantear

una solución integral que permite a la institución optimizar las operaciones, con la

finalidad de simplificar procesos para su mejor labor dentro del plantel.

Impacto Económico

Con la creación del sistema de control de asistencia, se disminuirá

considerablemente el gasto económico de la institución, ya que no será necesaria

la utilización de formatos impresos para llevar a cabo el control del personal.

Impacto Ambiental

Con la creación de este sistema de control de asistencias se pretende

ayudar a conservar el medio ambiente, ya que no influiremos en la tala de árboles

ni a la deforestación.

16

Objetivos de investigación

Objetivo General

Analizar, diseñar y desarrollar un sistema de control de asistencia para el

Bachillerato Tecnológico “Moisés Sáenz”, que permita generar el reporte de las

horas trabajadas por el personal de la Institución.

Objetivos Específicos

Identificar los requerimientos para el sistema de control de Asistencia.

Diseñar la estructura física y lógica de la base de datos.

Diseñar la interfaz gráfica del sistema.

Realizar las pruebas del sistema.

Implantación del sistema en la Institución.

Elaboración de los manuales para el sistema.

17

Establecimiento de la hipótesis

Hipótesis de Trabajo

La implementación de un sistema de control de asistencia permite generar el

reporte de las horas trabajadas e incrementar el sentido de la responsabilidad y

puntualidad del personal del Bachillerato Tecnológico “Moisés Sáenz”.

Hipótesis Nula

La implementación de un sistema de control de asistencia no permite generar

el reporte de las horas trabajadas e incrementar el sentido de la responsabilidad y

puntualidad del personal del Bachillerato Tecnológico “Moisés Sáenz”.

Identificación de las variables

Variable Independiente Variable Dependiente

La implementación de un

sistema de control de

asistencia.

Generar el reporte de las

horas trabajadas.

Incrementar el sentido de

responsabilidad y

puntualidad.

Definición de las variables

Conceptual

Sistema de control de asistencias: Es una poderosa herramienta que ejecuta el

“Control de horario laboral” de los trabajadores de una empresa. El reporte de

18

entradas y salidas, se obtiene mediante un programa instalado en una

computadora, desde donde se descarga la información del control, que es

procesada para generar el informe de asistencias y tiempo de los empleados de la

empresa.

Sistema de control de asistencias: Se enfoca principalmente en obtener la

información necesaria para la pre nómina; determinando las horas de labor,

tiempo de retardo, tiempo extra, incidencias, asistencias entre otros parámetros a

evaluar, dependiendo del Reloj checador y el software seleccionado, con el

objetivo de importar las incidencias a un sistema de nómina como NOI, ASPEL,

GIRU o NOMIPAQ, entre otros.

Reporte: Es un documento, generado por el sistema, que nos presenta de manera

estructurada y/o resumida, datos relevantes guardados o generados por la misma

aplicación de tal manera que se vuelvan útiles para fines que la escuela o al

programa escuelas de calidad convengan. (Pública, s.f.)

Responsabilidad: Es la capacidad existente en todo sujeto activo de derecho

para reconocer y aceptar las consecuencias de un hecho aceptado libremente.

(ARRIETA & DE LA CRUZ, 2009, pág. 20)

Puntualidad: Se refiere al lapso comprendido entre el fin de un período de

referencia (o una fecha de referencia) de los datos y la fecha de divulgación de los

datos. (Found, 2007)

Operativa

Variable Independiente: Sistema de control de asistencia.

Importancia de la creación del sistema de control de asistencia.

Qué objetivos generales persiguen.

Beneficios que tendrá la creación del sistema de control de asistencia en el

19

proceso de registro al personal.

Efecto de la creación del sistema de control de asistencia.

Variable Dependiente: Generar el reporte de las horas trabajadas.

Conocimientos básicos de computadoras.

Formas de acceder a los elementos interactivos.

Capacitación al usuario de la nueva aplicación.

Evaluar la aplicación para determinar el rendimiento.

Variable Dependiente: Incrementar el sentido de la responsabilidad y

puntualidad.

Mejoramiento en el ámbito escolar y profesional.

Un buen rendimiento académico.

Remuneración del salario en tiempo y forma.

20

ANÁLISIS DE FUNDAMENTOS

21

1. INTRODUCCIÓN A LOS SISTEMAS DE INFORMACIÓN

1.1 ¿Qué es un sistema?

Un sistema es un conjunto de partes interrelacionadas que posee alguna

singularidad dentro de su medio. Los sistemas extraen materia prima del medio, la

transforman y una vez procesada la introducen de nuevo al ambiente. Todo lo que

alimenta a un sistema se denomina “insumo” y todo lo que sale de él se denomina

“producto”. En los sistemas de información, los insumos se llaman datos y los

productos se llaman información. (BERNAL Niño, 2004, pág. 13)

Un sistema es un conjunto de componentes que interactúan entre sí para lograr

un objetivo común. Aunque existen una gran variedad de sistemas, la mayoría de

ellos pueden representarse a través de un modelo formado por cinco bloques

básicos; elementos de entrada, elementos de salida, sección de transformación,

mecanismos de control y objetivos. Tal y como se muestra en la figura 1.1.1, los

recursos acceden al sistema a través de los elementos de entrada para ser

modificados en le sección de transformación. Este proceso es controlado por el

mecanismo de control con el fin de lograr el objetivo marcado. Una vez se ha llevado

a cabo la transformación, el resultado sale del sistema a través de los elementos de

salida. (FERNÁNDEZ Alarcón, 2006, pág. 11)

22

Figura 1.1.1 Modelo general de un sistema

1.2 Definición de sistemas de información

Un sistema de información se puede definir técnicamente como un conjunto

de componentes interrelacionados que recolectan (o recuperan), procesan,

almacenan y distribuyen información para apoyar la toma de decisiones, la

coordinación y el control, los sistemas de información también pueden ayudar a los

gerentes y trabajadores a analizar problemas, visualizar asuntos complejos y crear

productos nuevos. (LAUDON & LAUDON, 2004, pág. 8)

Los sistemas de| información contienen información acerca de gente, lugares y

cosas importantes dentro de la organización o en el entorno en que se desenvuelve.

Por información se entiende los datos que se han modelado en forma significativa y

útil para los seres humanos. En contraste, los datos son secuencias de hechos en

bruto y representan eventos que ocurren en las organizaciones o en el entorno físico

antes de ser organizados y ordenados en una forma que las personas puedan

entender y utilizar. (LAUDON & LAUDON, 2004, pág. 8)

23

1.3 Componentes de un sistema de información

De acuerdo a Whitten, Bentley y Dittman (2004) los sistemas de información

proponen diversos componentes que deben interactuar entre ellos para un correcto

desarrollo del sistema de información. A continuación, se analizan cada uno se los

componentes que forman parte de un sistema de información, así como de sus

relaciones. (FERNÁNDEZ Alarcón, 2006, pág. 15)

Individuos participantes

El primer componente que se analiza, que es el más importante, es el formado

por las personas. Según Whitten, Bentley y Dittman (2004) todos los individuos que

pueden y deben participar en el desarrollo de un sistema de información se pueden

clasificar en función de la visión que tienen de un sistema de información. En este

caso, la clasificación está formada por cinco grandes grupos.

Propietarios

Usuarios

Diseñadores

Constructores

Analistas y el Project Manager

A todos los individuos que usan los sistemas de información se les puede englobar

con el término trabajadores de la información. (WHITTEN, BENTLEY, & DITTMAN,

2004)

24

Usuarios de sistemas

Los usuarios de sistemas son aquellas personas que utilizan los sistemas de

información de una forma regular para capturar, introducir, validar, transformar y

almacenar datos e información. Entre todos los grupos de individuos que participan

en el desarrollo de un sistema de información, los usuarios es el más cuantioso.

Así mismo, los usuarios deben ser considerados como el grupo de individuos

más importante en el desarrollo de un sistema de información, ya que será este

colectivo el que tendrá que trabajar diariamente sobre él, y el que decidirá si cumple

con las necesidades que tiene el negocio.

Los sistemas de información pueden ser utilizados por una gran cantidad de

individuos con objetivos y necesidades muy diversas. Es por ese motivo que puede

ser interesante agrupar a los usuarios de sistemas en grupos y subgrupos en función

de la relación con la empresa. Para empezar, se puede distinguir entre usuarios

internos a la organización y usuarios externos a la organización.

Figura 1.3.1 Tipología de usuarios de sistemas

Usuarios

Internos

Externos

Personal administrativo

Profesionales y técnicos

Gestores y directivos

Clientes

Proveedores

Aliados o partners

Trabajadores externos

25

Diseñadores de sistemas

Los diseñadores de sistemas son expertos en la tecnología que resuelven las

necesidades y las restricciones manifestadas por usuarios de la empresa mediante

recursos tecnológicos.

Debido al crecimiento en el desarrollo de la tecnología, así como su utilización,

los diseñadores de sistemas han sido especializados e lo largo de las últimas

décadas. Algunos de estas especialidades son la administración de datos

(tecnologías de bases de datos), la arquitectura de redes (tecnologías de

comunicación), el diseño Web), o la seguridad (tecnologías de seguridad y

privacidad).

A diferencia de los propietarios y de los usuarios de sistemas, los diseñadores

se centran en aspectos tecnológicos más que en aspectos de negocio. La

divergencia existente entre la perspectiva de los usuarios de sistemas y de los

diseñadores de sistemas hace necesario introducir un nuevo individuo en el

desarrollo de sistemas: el analista de sistemas. (WHITTEN, BENTLEY, & DITTMAN,

2004):

Constructores de sistemas

Los constructores de sistemas, otro tipo de especialistas en tecnología, son los

encargados de fabricar sistemas de información basados en las especificaciones de

diseño obtenidas de los diseñadores de sistemas.

Tal y como ocurre con los diseñadores los avances tecnológicos han llevado a

especializar a los constructores en distintas tareas en el desarrollo de sistemas.

Entre ellas se pueden nombrar la de programador de aplicaciones informáticas, la de

programador de sistemas, la de programador de base de datos o la de integrador de

software. (WHITTEN, BENTLEY, & DITTMAN, 2004)

26

Analista de sistemas

Un analista de sistemas es una persona que estudia los problemas y las

necesidades de una empresa para determinar cómo podrían combinarse los recursos

humanos, los procesos, los datos y la tecnología de la información para obtener

mejoras en la empresa.

Las habilidades necesarias para cumplir de una forma eficiente las funciones de

un analista de sistemas son (WHITTEN, BENTLEY, & DITTMAN, 2004):

Conocimientos generales de empresa

Los analistas deben solventar problemas que se producen dentro de la

empresa, por lo que es necesario que entiendan y comprendan el funcionamiento

interno de la empresa, así como ser capaces de comunicarse con las distintas

personas que trabajan en la empresa.

Capacidades de resolver problemas

Como solventador de problemas, los analistas deben ser capaces de abordar

grandes problemas, descomponerlos en partes más pequeñas, analizar cada una de

estas partes, y posteriormente ensamblarlo de nuevo.

Técnicas de comunicación interpersonal

Un analista de sistemas debe poder comunicarse de forma eficiente con el resto

de miembros de la organización para poder detectar las necesidades y

posteriormente transmitir las soluciones.

Flexibilidad y capacidad de adaptación

Cada organización es diferente, así como cada situación en la que se puede

encontrar el analista, por lo que debe aprender a ser flexible ante cualquier tipo de

circunstancias.

27

Carácter y ética

Para solventar los problemas que surgen en las empresas, el analista debe

conocer información confidencial y privada de la empresa, de sus trabajadores, de

sus clientes e incluso de sus proveedores, por lo que es necesario un fuerte carácter

y una ética profesional intachable.

Mejorar los conocimientos en tecnología y sistemas de información

Un analista en sistemas debe estar al día de la tecnología disponible, así como

de las ventajas y desventajas que proporciona cada una. Para ello existen diversas

fuentes de información como recursos, revistas, etc.

Experiencia y dominio de la programación informática

Aunque en la mayoría de ocasiones un analista no se encarga de programar

informáticamente, su conocimiento le proporciona la capacidad de preparar las

especificaciones técnicas necesarias para su posterior implementación por el

constructor. (WHITTEN, BENTLEY, & DITTMAN, 2004)

1.4 Clasificación de los sistemas de información

Los sistemas de información se desarrollan con diversos propósitos, según las

necesidades de la empresa. A continuación se muestra la diversidad de sistemas de

información que podrían desarrollar los analistas. (E. Kendall & E. Kendall, 2005,

págs. 2-4)

Sistemas de procesamiento de transacciones

Los sistemas de procesamiento de transacciones (TPS, Transaction Processing

Systems) son sistemas de información computarizada creados para procesar

grandes cantidades de datos relacionadas con transacciones rutinarias de negocios,

28

como las nóminas y los inventarios. Un TPS elimina el fastidio que representa la

realización de transacciones operativas necesarias y reduce el tiempo que una vez

fue requerido para llevarlas a cabo de manera manual, aunque los usuarios aún

tienen que capturar los datos en los sistemas computarizados.

Los sistemas de procesamiento de transacciones expanden los límites de la

organización dado que le permiten interactuar con entornos externos. Es importante

para las operaciones cotidianas de un negocio, que estos sistemas funcionen sin

ningún tipo de interrupción, puesto que los administradores recurren a los datos

producidos por los TPS con el propósito de obtener información actualizada sobre el

funcionamiento de sus empresas. (E. Kendall & E. Kendall, 2005, págs. 2-4)

Sistemas de automatización de la oficina y sistemas de trabajo del

conocimiento

Existen dos clases de sistemas en el nivel del conocimiento de una

organización. Los sistemas de automatización de la oficina (OAS, Office Automation

Systems) apoyan a los trabajadores de dato, quienes por lo general no generan

conocimientos nuevos, sino más bien analizan la información con el propósito de

transformar los datos o manipularlos de alguna manera antes de compartirlos o, en

su caso, distribuirlos formalmente con el resto de la organización y en ocasiones más

allá de ésta. Entre los componentes más comunes de un OAS están el

procesamiento de texto, las hojas de cálculo, la autoedición, la calendarización

electrónica y las comunicaciones mediante correo de voz, correo electrónico y

videoconferencia.

Los sistemas de trabajo del conocimiento (KWS, Knowledge Work Systems)

sirven de apoyo a los trabajadores profesionales, como los científicos, ingenieros y

médicos, en sus esfuerzos de creación de nuevo conocimiento y dan a éstos la

29

posibilidad de compartirlo con sus organizaciones o con la sociedad. (E. Kendall & E.

Kendall, 2005, págs. 2-4)

Sistemas de información gerencial

Los sistemas de información gerencial (MIS, Management Information Systems)

no reemplazan a los sistemas de procesamiento de transacciones, más bien,

incluyen el procesamiento de transacciones. Los MIS son sistemas de información

computarizados cuyo propósito es contribuir a la correcta interacción entre los

usuarios y las computadoras. Debido a que requieren que los usuarios, el software

(los programas de cómputo) y el hardware (las computadoras, impresoras, etc.),

funcionen de manera coordinada, los sistemas de información gerencial dan apoyo a

un espectro de tareas organizacionales mucho más amplio que los sistemas de

procesamiento de transacciones, como el análisis y la toma de decisiones.

Para acceder a la información, los usuarios de un sistema de información

gerencias comparten una base de datos común. Ésta almacena datos y modelos que

ayudan al usuario a interpretar y aplicar los datos. Los sistemas de información

gerencial producen información que se emplea en la toma de decisiones. Un sistema

de información gerencial también puede contribuir a unificar algunas de las funciones

de información computarizadas de una empresa, a pesar de que no existe como una

estructura individual en ninguna parte de ésta. (E. Kendall & E. Kendall, 2005, págs.

2-4)

Sistema de apoyo a la toma de decisiones

Los sistemas de apoyo a la toma de decisiones (DSS, Decision Support

Systems) constituyen una clase de alto nivel de sistemas de información

computarizada. Los DSS coinciden con los sistemas de información gerencial en que

ambos dependen de una base de datos para abastecerse de datos. Sin embargo,

difieren en que el DSS pone énfasis en el apoyo a la toma de decisiones en todas

30

sus fases, aunque la decisión definitiva es responsabilidad exclusiva del encargado

de tomarla. Los sistemas de apoyo a la toma de decisiones se ajustan más al gusto

de la persona o grupo que los utiliza que a los sistemas de información gerencial

tradicionales. En ocasiones se hace referencia a ellos como sistemas que se enfocan

en la inteligencia de negocios.

Sistemas expertos e inteligencia artificial

La inteligencia artificial (AI, Artificial Intelligence) se puede considerar como un

campo general para los sistemas expertos. La motivación principal de la AI ha sido

desarrollar máquinas que tengan un comportamiento inteligente. Dos de las líneas de

investigación de la AI son la comprensión del lenguaje natural y el análisis de la

capacidad para razonar un problema hacia su conclusión lógica. Los sistemas

expertos utilizan las técnicas de razonamiento de la AI para solucionar problemas

que les plantean los usuarios de negocios (y de otras áreas). (E. Kendall & E.

Kendall, 2005, págs. 2-4)

Los sistemas expertos conforman una clase especial de sistema de información

que se ha puesto a disposición de usuarios de negocios gracias a la amplia

disponibilidad de hardware y software como computadoras personales (PCs) y

generadores de sistemas expertos. Un sistema experto (también conocido como

sistema basado en el conocimiento) captura y utiliza el conocimiento de un experto

para solucionar un problema específico en una organización.

Los componentes básicos de un sistema experto son la base de conocimiento,

un motor de interferencia que conecta al usuario con el sistema mediante el

procesamiento de consultas realizadas con lenguajes como SQL (Structured Query

Languaje, Lenguaje de consultas estructurado) y la interfaz de usuario.

Profesionales conocidos como ingenieros de conocimiento capturan la pericia de los

expertos, construyen un sistema de cómputo que contiene este conocimiento experto

y lo implementan. Es muy factible que la construcción e implementación de sistemas

31

expertos se constituya en el trabajo futuro de muchos analistas de sistemas.

Sistema de apoyo a la toma de decisiones en grupo y sistemas de trabajo

colaborativo por computadora

Cuando los grupos requieren trabajar en conjunto para tomar decisiones

semiestructuradas o no estructuradas, un sistema de apoyo a la toma de decisiones

en grupo (GDSS, Group Decision Support Systems) podría ser la solución. Este tipo

de sistemas, que se utiliza en salones especiales equipados con diversas

configuraciones, faculta a los miembros del grupo a interactuar con apoyo electrónico

-casi siempre software especializado- y la asistencia de facilitador especial.

Los sistemas de apoyo a la toma de decisiones en grupo tienen el propósito de

unir a un grupo en búsqueda de la solución a un problema con la ayuda de diversas

herramientas como los sondeos, los cuestionarios, la lluvia de ideas y la creación de

escenarios. En ocasiones se hace referencia a los GDSS con el termino más general

sistemas de trabajo colaborativo apoyadas por computadora (CSCWS, Computer-

Supported Collaborative Work Systems), que pueden contener el respaldo de un tipo

de software denominado groupware para la colaboración en equipo a través de

computadoras conectadas en red. (E. Kendall & E. Kendall, 2005, págs. 2-4)

Sistema de apoyo a ejecutivos

Los sistemas de apoyo a ejecutivos (ESS, Executive Support Systems) ayudan

a estos últimos a organizar sus actividades relacionadas con el entorno externo

mediante herramientas gráficas y de comunicaciones, que por lo general se

encuentran en salas de juntas o en oficinas corporativas personales. A pesar de que

los ESS dependen de la información producida por los TPS y los MIS, ayudan a los

usuarios a resolver problemas de toma de decisiones no estructuradas, que no

32

tienen una aplicación específica, mediante la creación de un entorno que contribuye

a pesar en problemas estratégicos de manera bien informada. Los ESS amplían y

apoyan las capacidades de los ejecutivos al darles la posibilidad de comprender sus

entornos. (E. Kendall & E. Kendall, 2005, págs. 2-4)

2. METODOLOGÍAS DEL PROCESO DE SOFTWARE

Un proceso de software es un conjunto de actividades que conducen a la

creación de un producto de software. Estas actividades pueden consistir en el

desarrollo de software desde cero en un lenguaje de programación estándar como

java o C. Sin embargo, cada vez, mas, se desarrolla nuevo software ampliando y

modificando los sistemas existentes y configurando e integrando software comercial

o componentes del sistema. (SOMMERVILLE, 2005, pág. 60)

2.1 Definición de Metodología

Una metodología es un conjunto integrado de técnicas y métodos que permite

abordar de forma homogénea y abierta cada una de las actividades del ciclo de vida

de un proyecto de desarrollo. Es un proceso de software detallado y completo.

Las metodologías se basan en una combinación de los modelos de proceso

genéricos (cascada, incremental…). Definen artefactos, roles y actividades, junto con

prácticas y técnicas recomendadas.

La metodología para el desarrollo de software en un modo sistemático de

realizar, gestionar y administrar un proyecto para llevarlo a cabo con altas

posibilidades de éxito. Una metodología para el desarrollo de software comprende

los procesos a seguir sistemáticamente para idear, implementar y mantener un

producto software desde que surge la necesidad del producto hasta que cumplimos

el objetivo por el cual fue creado. (S., PRESSMAN, 2007)

33

2.2 Tipos de Metodologías

2.2.1 Modelo de cascada

Llamado algunas veces «ciclo de vida básico» o modelo en cascada», el

modelo lineal secuencial sugiere un enfoque5 sistemático, secuencial, para el

desarrollo del software que comienza en un nivel de sistemas y progresa con el

análisis, diseño, codificación, pruebas y mantenimiento. La Figura 2.4 muestra el

modelo lineal secuencial para la ingeniería del software. Modelado según el ciclo de

ingeniería convencional, el modelo lineal secuencial comprende las siguientes

actividades: (S., PRESSMAN, 2007)

Ingeniería y modelado de Sistemas/Información.

Como el software siempre forma parte de un sistema más grande (o empresa),

el trabajo comienza estableciendo requisitos de todos los elementos del sistema y

asignando al software algún subgrupo de estos requisitos. Esta visión del sistema es

esencial cuando el software se debe interconectar con otros elementos como

hardware, personas y bases de datos. La ingeniería y el análisis de sistemas

comprenden los requisitos que se recogen en el nivel del sistema con una pequeña

parte de análisis y de diseño. La ingeniería de información abarca los requisitos que

se recogen en el nivel de empresa estratégico y en el nivel del área de negocio. (S.,

PRESSMAN, 2007)

34

Figura 2.2.1.1 El modelo lineal secuencial

Análisis de los requisitos del software. El proceso de reunión de requisitos

se intensifica y se centra especialmente en el software. Para comprender la

naturaleza del (los) programa(s) a construirse, el ingeniero («analista») del software

debe comprender el dominio de información del software, así como la función

requerida, comportamiento, rendimiento e interconexión. (S., PRESSMAN, 2007)

Diseño. El diseño del software es realmente un proceso de muchos pasos que

se centra en cuatro atributos distintos de programa: estructura de datos, arquitectura

de software, representaciones de interfaz y detalle procedimental (algoritmo). El

proceso del diseño traduce requisitos en una representación del software donde se

pueda evaluar su calidad antes de que comience la codificación. (S., PRESSMAN,

2007)

Generación de código. El diseño se debe traducir en una forma legible por la

máquina. El paso de generación de código lleva a cabo esta tarea. Si se lleva a cabo

el diseño de una forma detallada, la generación de código se realiza mecánicamente.

(S., PRESSMAN, 2007)

35

Pruebas. Una vez que se ha generado el código, comienzan las pruebas del

programa. El proceso de pruebas se centra en los procesos lógicos internos del

software, asegurando que todas las sentencias se han comprobado, y en los

procesos externos funcionales; es decir, realizar las pruebas para la detección de

errores y asegurar que la entrada definida produce resultados reales de acuerdo con

los resultados requeridos. (S., PRESSMAN, 2007)

Mantenimiento. El software indudablemente sufrirá cambios después de ser

entregado al cliente (una excepción posible es el software empotrado). Se producirán

cambios porque se han encontrado errores, porque el software debe adaptarse para

acoplarse a los cambios de su entorno externo (por ejemplo: se requiere un cambio

debido a un sistema operativo o dispositivo periférico nuevo), o porque el cliente

requiere mejoras funcionales o de rendimiento. El soporte y mantenimiento del

software vuelve a aplicar cada una de las fases precedentes a un programa ya

existente y no a uno nuevo. (S., PRESSMAN, 2007)

2.2.2 Modelo espiral

El modelo de espiral, desarrollado durante la década de los ochenta, es una

extensión del modelo de cascada. A diferencia del modelo de cascada, que es

dirigido por documentos, el modelo espiral se basa en una estrategia para reducir el

riesgo del proyecto en áreas de incertidumbre, como requerimientos iniciales

incompletos e inestables. El modelo enfatiza ciclos de trabajo, cada uno de los

cuales estudia el riesgo antes de proceder al siguiente ciclo. Cada ciclo comienza

con la identificación de los objetivos, soluciones alternativas, restricciones asociadas

con cada alternativa y, finalmente, se procede a su evaluación. Cada ciclo del

modelo de espiral termina con una revisión que discute los logros actuales y los

planes para el siguiente ciclo. (WEITZENFELD, 2005, pág. 53)

El modelo en espiral del proceso del software fue originalmente propuesto por

36

Boehm (Boehm, 1998). Más que representar el proceso del software como una

secuencia de actividades con retrospectiva de una actividad a otra, se presenta como

una espiral. Así el ciclo más interno podría referirse a la viabilidad del sistema, el

siguiente ciclo a la definición de requerimientos, el siguiente ciclo al diseño del

sistema se divide en cuatro sectores: (SOMMERVILLE, 2005, págs. 68-69)

1. Definición de objetivos. Para esta fase del proyecto se definen los objetivos

específicos. Se identifican las restricciones del proceso y el producto, y se

traza un plan detallado de gestión. Se identifican los riesgos del proyecto.

Dependiendo de estos riesgos, se plantean estrategias alternativas.

2. Evaluación y reducción de riesgos. Se lleva a cabo un análisis detallado para

cada uno de los riesgos del proyecto identificado. Se definen los pasos para

reducir dichos riesgos.

3. Desarrollo y validación. Después de la evaluación de los riesgos, se elige un

modelo para el desarrollo del sistema.

4. Planificación. El proyecto se revisa y se toma la decisión de si se debe

continua con un ciclo posterior de la espiral. Si se decide continuar, se

desarrollan los planes para la siguiente fase del proyecto. (SOMMERVILLE,

2005, págs. 68-69)

37

Figura 2.2.2.1 Modelo en espiral de Boehm para el proceso del software (IEEE,

1998)

El modelo espiral, que Boehm propuso originalmente, es un modelo de proceso

de software evolutivo que conjuga la naturaleza iterativa de la construcción de

prototipos con los aspectos controlados y sistemáticos del modelo en cascada.

Proporciona el material para el desarrollo rápido de versiones incrementales del

software. Boehm describe este modelo de la siguiente manera:

El modelo de desarrollo en espiral es un generador del modelo de proceso

guiado por el riesgo que se emplea para conducir sistemas intensivos de ingeniería

de software concurrente y con múltiples usuarios. Tiene dos características

distintivas principales. Una de ellas es un enfoque cíclico para el crecimiento

incremental del grado de definición e implementación de un sistema, mientras

disminuye su grado de riesgo. La otra es un conjunto de puntos de fijación para

asegurar el compromiso del usuario con soluciones de sistema que sean factibles y

38

mutuamente satisfactorias. (PRESSMAN, 2006, pág. 58)

Un proceso en espiral se divide en un conjunto de actividades del marco de

trabajo que define el equipo de ingenieria del software. Cada una de las actividades

genericas del marco de trabajo representa un segmento de la ruta en espiral que se

presenta en la figura 3.5. Cuando comienza este proceso evolutivo el equipo de

software realiza actividades implicadas en un circulo alrededor de la espiral que tiene

una dirección en el sentido del movimiento de las manecillas del reloj, y que se inicia

desde el centro. (PRESSMAN, 2006, págs. 58-59)

Figura 2.2.2.2 Un modelo espiral típico

El modelo en espiral es un enfoque realista para el desarrollo del software y

sistemas a gran escala. Como el software evoluciona conforme avanza el proceso, el

desarrollador y el cliente entienden y reaccionan de mejor manera ante los riesgos en

cada etapa evolutiva. El modelo en espiral emplea la construcción de prototipos en

39

cualquier etapa evolutiva del producto. Mantiene el enfoque sistemático de los pasos

que sugiere el ciclo de vida clásico, pero lo incorpora al marco de trabajo iterativo

que refleja de forma más verídica el mundo real. El modelo en espiral exige una

consideración directa de los riesgos técnicos en todas las etapas del proyecto y, si se

aplica en forma apropiada, debe reducir los riesgos antes de que se vuelvas

problemáticos. (PRESSMAN, 2006, pág. 59)

2.2.3 Construcción de Prototipos

Un prototipo es una versión preliminar, intencionalmente incompleta o reducida

de un sistema. El uso de prototipo es una estrategia que puede aplicarse en casi

todas las actividades del proceso de software. El propósito de los prototipos es

obtener rápidamente la información necesaria para ayudar en la toma de decisiones.

(WEITZENFELD, 2005, pág. 47)

Kenneth E. Kendall menciona: “La elaboración de prototipos es una técnica de

recopilación útil para complementar el ciclo de vida de desarrollo de un sistema

tradicional.”

El paradigma de construcción de prototipos (figura 2.2.3.1) se inicia con la

comunicación. El ingeniero de software y el cliente encuentran y definen los objetivos

globales para el software, identifican los requisitos conocidos y las áreas del

esquema donde es necesaria más definición. Entonces se plantea con rapidez una

iteración de construcción de prototipos y se presenta el modelado (en la forma de un

diseño rápido). El diseño rápido se centra en una representación de aquellos

aspectos del software que serán visibles para el cliente o el usuario final.

(PRESSMAN, 2006, págs. 55-56)

40

Figura 2.2.3.1 El modelo de construcción de prototipos

El prototipo puede servir como “primer sistema”, el que Brooks recomienda

desechar. Pero ésta tal vez sea una visión idealizada. Sim embargo, la construcción

de prototipos también se toma problemática por las siguientes razones:

(PRESSMAN, 2006, págs. 56-57)

1. El cliente ve lo que parece una versión en funcionamiento del software, sin

saber que el prototipo está unido “con chicle y cable para embalaje”, que por

la prisa de hacerlo funcionar no se ha considerado la calidad del software

global o la facilidad de mantenimiento a largo plazo. Cuando se informa que el

producto debe construirse otra vez para mantener los altos niveles de calidad,

el cliente no le entiende y pide la aplicación de “unos pequeños ajustes” para

que pueda elaborar un producto final a partir del prototipo. Es muy frecuenten

que la gestión del desarrollo de software sea muy lenta.

2. A menudo, el desarrollador establece compromisos de implementación para

lograr que el prototipo funcione con rapidez. Tal vez se utilice un sistema

41

operativo o lenguaje de programación inadecuado solo porque está disponible

y es conocido; se puede implementar un algoritmo ineficiente sólo para

mostrar capacidad. Después de un tiempo, el desarrollador quizá se

familiarice con estas selecciones y olvide las razones por las que son

inapropiadas. La sección menos ideal ahora se convierte en una parte integral

del sistema.

A pesar de que tal vez surjan problemas, la construcción de prototipos puede

ser un paradigma efectivo para la ingeniería de software. La clave es definir las

reglas del juego desde el principio; es decir, el cliente y el desarrollador se deben

poner de acuerdo en que el prototipo se construya y sirva como un mecanismo para

la definición de requisitos, es que se descarte, al menos en parte, y que después se

desarrolle el software real con un enfoque hacia la calidad. (PRESSMAN, 2006, pág.

57)

42

3. SISTEMAS GESTORES DE BASES DE DATOS

3.1 Concepto de base de datos

Una base de datos es un programa computacional que permite almacenar y

gestionar gran cantidad de información. En una base de datos la información se

organiza en registros y campos.

Los campos pueden ser de varios tipos. Campo de tipo carácter, campo de tipo

numérico y campo de tipo lógico. (BALLÚS, FORNALS, & GALVE, 2004, pág. 320)

La base de datos se utiliza para referirse a una gran masa de datos que se

hallan relacionados entre sí. Estos datos se encuentran divididos en varias

categorías, que son los registros, los ficheros, las bibliotecas, etcétera.

La base de datos no es más que un potente manipulador de las relaciones

existentes entre estas jerarquías de información, con el que se puede definir nuevas

relaciones o acceder a los datos mediante las ya definidas. (BIOSCA, GÁRRIZ, &

SORT, 2005, pág. 1086)

Figura 3.1.1 Pantalla de una base de datos

43

3.2 Tipos de base de datos

Modelo Entidad-Relación

Está basado en una percepción del mundo real que consta de una colección de

objetos básicos, llamados entidades, y de relaciones entre esos objetos. Una entidad

es una <cosa>, u <objeto> en el mundo real que es distinguible de otros objetos. Por

ejemplo, una persona es una entidad, y las cuentas bancarias pueden ser

consideradas entidades.

Las entidades se describen en una base de datos mediante un conjunto de

atributos. Una relación es una asociación entre varias entidades. El conjunto de

todas las entidades del mismo tipo, y el conjunto de todas las relaciones del mismo

tipo, se denominan respectivamente conjunto de entidades y conjunto de relaciones.

(SIBERSCHATZ & F. Korth , 2002, pág. 20)

El modelo Entidad-Relación consta de los siguientes componentes:

Rectángulos, que representan conjuntos de entidades.

Elipses, que representan atributos.

Rombos, que representan relaciones entre conjuntos de entidades.

Líneas, unen los atributos con los conjuntos de entidades y los conjuntos de

entidades con las relaciones.

Modelo Relacional

Se utiliza un grupo de tablas para representar los datos y las relaciones entre

ellos. Cada tabla está compuesta por varias columnas, y cada columna tiene un

nombre único.

44

Otros modelos de Datos

El modelo orientado a objetos se puede observar como una extensión del

modelo E-R con las nociones de encapsulamiento, métodos (funciones) e identidad

de objeto.

El modelo de datos relacional orientado a objetos combina las características

del modelo de datos orientado a objetos y el modelo de datos relacional.

(SIBERSCHATZ & F. Korth , 2002, pág. 21 y 22)

3.3 Componentes de los sistemas gestores de bases de datos

Los SGBD son paquetes de software muy complejos que deben proporcionar

una serie de servicios que van a permitir almacenar y explotar los datos de forma

eficiente. Los componentes principales son los siguientes:

Lenguajes de los SGBD. Los lenguajes van a permitir al administrador de la BD

especificar los datos que componen la BD, su estructura, las relaciones que existen

entre ellos, las reglas de integridad, los controles de acceso, las características de

tipo físico y las vistas externas de los usuarios. Los lenguajes de los SGBD se

clasifican en:

Lenguaje de definición de datos (DDL o LDD)

Lenguaje de manipulación de datos (LMD o DML)

Diccionario de datos. Es el lugar donde se deposita información acerca de todos los

datos que forman la BD. Es una guía en la que se describe la BD y los objetos que la

forman.

Seguridad e integridad de datos. Un SGBD proporciona los siguientes mecanismos

para garantizar la seguridad e integridad de los datos:

45

Garantizar la protección de los datos contra accesos no autorizados.

Ofrecen mecanismos para implantar restricciones de integridad de la BD.

Proporciona herramientas para la planificación y realización de copias de

seguridad y restauración.

Administrador de la BD. Existen diferentes categorías de usuarios:

Usuarios de la categoría DBA. Administran la base de datos, tienen el nivel

más alto de privilegios.

Usuarios categoría RESOURCE, pueden crear sus propios objetos.

Usuarios tipo CONNECT, solo utilizan objetos a los que tienen permisos.

(RAMOS, RAMOS, & MONTERO, 21-10-2008, pág. 11)

3.4 Arquitectura de los sistemas de Bases de datos

Un sistema de bases de datos se divide en módulos que se encargan de cada

una de las responsabilidades del sistema completo. Los componentes funcionales de

un sistema de bases de datos se pueden dividir a grandes rasgos en los

componentes gestores de almacenamientos y procesador de consultas. (BIOSCA,

GÁRRIZ, & SORT, 2005, pág. 1087)

Gestor de Almacenamiento. Es un módulo de programa que proporciona la

interfaz entre los datos de bajo nivel en la base de datos y los programas de

aplicación y consultas emitidas al sistema. Es responsable de la interacción con el

gestor de archivos. Traduce las diferentes instrucciones LMD a órdenes de un

sistema de archivos de bajo nivel. Es responsable del almacenamiento, recuperación

y actualización de los datos en la base de datos.

46

Los componentes del gestor de almacenamiento incluyen (BALLÚS, FORNALS, &

GALVE, 2004, pág. 321):

Gestor de autorización e integridad

Gestor de transacciones

Gestor de archivos

Gestor de memoria intermedia

El gestor de almacenamiento implementa varias estructuras de datos como parte de

la implementación física del sistema.

Archivos de datos

Diccionario de datos

Índices

Procesador de consultas. Los componentes del procesador de consultas incluyen

(SIBERSCHATZ & F. Korth , 2002, pág. 24):

Interprete del LDD

Compilador del LMD

Motor de evaluación de consultas.

47

4. INTRODUCCIÓN A MYSQL

4.1 ¿Qué es MySQL?

MySQL es un sistema para la administración de bases de datos relacionales

(RDBMS) rápido y sólidos. 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 simultáneo de varios usuarios, para proporcionar acceso

a dichos datos y para asegurarse 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 Langueje,

Lenguaje de consulta estructurado), el lenguaje estándar para la consulta de

bases de datos utilizando en todo el mundo. MySQL lleva disponible desde 1996

pero su nacimiento se remonta a 1979. Ha obtenido el galardón Choice Award del

Linux Journal Readers en varias ocasiones. (WELLING & THOMSON, 2006, pág. 33)

MySQL distribuye bajo un sistema de licencias dual. Puede utilizarlo bajo una

licencia de código abierto (GPL), que es gratuita mientras cumpla las condiciones de

la misma. Si desea distribuir una aplicación que no sea GPL y que incluya MySQL,

puede adquirir una licencia comercial. (WELLING & THOMSON, 2006, pág. 33)

4.2 Concepto de SQL

SQL equivale a Lenguaje de consulta estructurado. Se trata del lenguaje

estándar para acceder a los sistemas de administración de base de datos (RDBMS).

SQL se utiliza para almacenar y consultar datos desde y hasta una base de datos.

Se utiliza en sistemas de base de datos como MySQL, Oracle, PostgreSQL, sybase y

Microsoft SQL Server entre otros. . (WELLING & THOMSON, 2006, pág. 286)

48

Existe un estándar ANSI de SQL, y los sistemas de bases de datos como

MySQL suelen implementarlo. Sin embargo, existen diferencias sutiles entre el SQL

estándar y el SQL de MySQL, que en algunos casos está provisto integrar en el

estándar y en otros resultan deliberadas. (WELLING & THOMSON, 2006, pág. 286)

4.3 Tipos de datos

Para cada columna tenemos que elegir entre algún dominio definido por el

usuario alguno de los tipos de datos predefinidos que se describen a continuación:

(MARTÍN, 2007, pág. 13)

Tabla 4.3.1 Tipos de datos de MySQL

Tipos de datos predefinidos

Tipos de datos Descripción

BIT (longitud) Cadenas de bits de longitud fija.

BIT VARYING (longitud) Cadenas de bits de longitud variables.

NUMERIC

(precisión, escala)

Número decimales con tantos dígitos como indique la

precisión y tantos decimales como indique la escala.

DECIMAL

(precisión, escala)

Número decimales con tantos dígitos como indique la

precisión y tantos decimales como indique la escala.

INTEGER Números enteros.

SMALLINT Números enteros pequeños.

REAL Números con coma flotante con precisión predefinida.

FLOAT (precisión) Números con coma flotante con la precisión

especificada.

DOUBLE PRECISION Números con coma flotante con más precisión

predefinida que la del tipo REAL.

DATE Fechas. Están compuestas de: YEAR año, MONTH

49

mes, DAY día.

TIME Horas. Están compuestas de HOUR hora, MINUT

minutos, SECOND segundos.

TIMESTAMP

Fechas y horas. Están compuestas de YEAR año,

MONTH mes, DAY día, HOUR hora, MINUT minutos,

SECOND segundos.

Tabla 4.3.2 Tipos de datos

Los tipos de datos NUMERIC y DECIMAL

NUMERIC y DECIMAL se describen igual, y es posible utilizar tanto el uno como el

otro para definir números decimales.

El tratamiento del tiempo

El estándar SQL92 define la siguiente nomenclatura para trabajar con el tiempo:

YEAR MONTH DAY

HOUR MINUT SECOND

De todos modos, los sistemas relacionales comerciales disponen de diferentes

formatos, entre los cuales podemos elegir cuando tenemos que trabajar con

columnas temporales. (MARTÍN, 2007, pág. 13)

Tipos de datos predefinidos

Tipos de datos Descripción

CHARACTER (longitud) Cadenas de caracteres de longitud fija.

CHARACTER VARYING (longitud) Cadenas de caracteres de longitud variable.

50

4.4 Tipos de sentencias SQL

1. Sentencias DML (Data Manipulation Language)

SELECT

INSERT

UPDATE

DELETE

2. Sentencias DDL (Data Definition Language)

CREATE

DROP

3. Sentencias DCL (Data Control Language)

GRANT

REVOKE

(MARTÍN, 2007, pág. 11)

51

5. JAVA

5.1 Fundamentos de programación

En el proceso de desarrollo de un sistema de información (un programa,

software, en general) hay una serie de etapas o fases en las que la programación

como tal es una de ellas, ni tan siquiera la más importante. (LLOBET, Azpitarte,

DEVESA, Llinares, RUÍZ, Fuertes, TORRES, Goterris, & MIEDES, de Elías, 2009,

pág. 1)

Un lenguaje orientado a objetos ataca estos problemas. Tiene tres

características básicas: debe estar basado en objetos, basado en clases y capaz de

tener herencia de clases. Muchos lenguajes cumplen uno o dos de estos puntos;

muchos menos cumplen los tres.(LLOBET, Azpitarte, DEVESA, Llinares, RUÍZ,

Fuertes, TORRES, Goterris, & MIEDES, de Elías, 2009, pág. 2)

El elemento fundamental de la POO es, como su nombre indica, el objeto.

Podemos definir un objeto como un conjunto complejo de datos y programas que

poseen estructura y forman parte de una organización. En este caso las estructuras

de datos y los algoritmos usados para manipularlas están encapsulados en una idea

común llamada objeto.(LLOBET, Azpitarte, DEVESA, Llinares, RUÍZ, Fuertes,

TORRES, Goterris, & MIEDES, de Elías, 2009, pág. 3)

En la figura 5.1.1 se muestra un esquema de cómo se ven los

objetos.(LLOBET, Azpitarte, DEVESA, Llinares, RUÍZ, Fuertes, TORRES, Goterris, &

MIEDES, de Elías, 2009, pág. 3)

52

Figura 5.1.1 Encapsulación de métodos y atributos

5.2 Tipos de datos

Java es un lenguaje fuertemente tipeado; esto implica que constantes, variables

y expresiones tienen un tipo asociado y toda variable que interviene en un programa

debe ser declarada antes de poder ser utilizada.

Una primera clasificación de los tipos de datos en Java nos obligaría a distinguir

entre tipos simples y definidos por el usuario, debido a que tienen características muy

diferentes, constituyendo los tipos simples la base sobre la que se crearán los tipos

definidos por el usuario. (JOYANES, Aguilar & FERNÁNDEZ, Azuela, 2007, pág. 34)

53

Identificadores

Java, al igual que todos los lenguajes de programación, define una serie de

palabras reservadas, que se muestran en la tabla 5.2.1.(DURÁN, GUTIÉRREZ, &

PIMENTEL, 2007, pág. 24)

Tabla 5.2.1 Palabras reservadas de Java

Abstract Const Float int public Throw

Boolean Continue For interface return Throws

Break Default Goto long short Transient

Byte Do If native static Try

Case Doublé Else new super Void

Catch Extends implements package switch volatile

Char Final import private synchronized while

Class Finally instanceof protected this

Variables

Una variable es una representación alfanumérica de una posición de memoria.

La sintaxis de declaración de una variable es:(DURÁN, GUTIÉRREZ, & PIMENTEL,

2007, pág. 25)

<tipo de datos><nombre1> [<nombre2> .. <nombre>]

Operadores

Java define algunas operaciones básicas sobre los tipos primitivos.

La tabla 5.2.2 muestra los operadores que se pueden aplicar a cada tipo, ordenados

de mayor a menor precedencia.(DURÁN, GUTIÉRREZ, & PIMENTEL, 2007, pág. 27)

54

Tabla 5.2.2 Precedencia de operadores en Java

Operador Significado Tipos aceptados

[ ] . (params) Operadores postfijo Todos

X+ + X- - Postincremento/Postdecremento Alfanuméricos

+ + X - -X + X - X Postincremento/Postdecremento Alfanuméricos

! No lógico Booleanos

new (tipo)expr Creación o conversión de tipo Todos

* / % Multiplicación, división, módulo Alfanuméricos

Suma, resta Alfanuméricos

+ - Desplazamiento binario Todos

<<= >= > Comparaciones de orden Alfanuméricos

== != Test de igualdad Todos

% AND binario Todos

| OR binario Todos

&& AND lógico Booleanos

| | OR lógico Booleanos

=+=-=*=/=%=&==

| = <<= >>= >>>= Asignación Todos (del mismo tipo)

Tipos numéricos enteros

Los tipos de datos que permiten representar números enteros en java son

cuatro: byte, short, int y long. Todos ellos permiten representar números positivos y

negativos sin partes decimales.(DURÁN, GUTIÉRREZ, & PIMENTEL, 2007, pág. 27)

La diferencia principal entre estos tipos está en su capacidad de representación.

La tabla 5.2.3 muestra los rangos de valores de cada tipo y su valor inicial por

defecto. (DURÁN, GUTIÉRREZ, & PIMENTEL, 2007, pág. 27)

55

Tabla 5.2.3 Rangos de los tipos de datos para enteros

Tipo Longitud

en bits

Valor por

defecto

Valor mínimo Valor máximo

Byte 8 0 -128 127

Short 16 0 -32768 32767

Int 32 0 -2147483648 -3147483647

Long 64 0 -9223372036854775808 -9223372036854775807

Tipos numéricos reales

En cuanto a los números reales o números en coma flotante, existen dos tipos

básicos en lenguaje Java, que se muestra en la tabla 5.2.4, junto con su tamaño en

bytes.(DURÁN, GUTIÉRREZ, & PIMENTEL, 2007, pág. 28)

Tabla 5.2.4 Tipos de datos básicos reales en Java

Tipo Tamaño Representa

Float 4 bytes Número en coma flotante

Doublé 8 bytes Número en coma flotante

de doble precisión

Tipo carácter

Una secuencia de escape es un carácter que está representado por el carácter \

seguido por una letra o conjunto de dígitos. La tabla 5.2.5 muestra las secuencias de

escape definidas en Java.(DURÁN, GUTIÉRREZ, & PIMENTEL, 2007, pág. 29)

56

Tabla 5.2.5 Precedencia de operadores en Java

Secuencia de escape Significado

\n Salto de línea

\t Tabulador

\v Tabulador vertical

\b Retroceso (backspage)

\r Mueve el cursor al principio de la línea actual

\a Alerta visible o audible

\f Mueve el cursor a la siguiente página lógica

\’ Comilla simple

\” Dobles comillas

\\ El carácter \

\? El carácter ?

5.3 Programación orientada a objetos

La programación orientada a objetos (POO) es la base de Java y constituye una

nueva forma de organización del conocimiento en la que las entidades centrales son

los objetos.(JOYANES, Aguilar & FERNÁNDEZ, Azuela, 2007, pág. 11)

Cuando se escribe un programa utilizando programación orientada a objetos, no

se definen verdaderos objetos, sino clases; una clase es como una plantilla para

construir varios objetos con características similares. Los objetos se crean cuando se

define una variable de su clase. En las clases pueden existir unos métodos

especiales denominados constructores que se llaman siempre que se crea un objeto

de esa clase y cuya misión es iniciar el objeto. Los destructores son otros métodos

especiales que pueden existir en las clases y cuya misión es realizar cualquier tarea

final que corresponda realizar en el momento de destruir el objeto. Las propiedades

fundamentales de los objetos son:(JOYANES, Aguilar & FERNÁNDEZ, Azuela, 2007,

pág. 11)

57

El encapsulamiento, que consiste en la combinación de los datos y las

operaciones que se pueden ejecutar sobre esos datos en un objeto,

impidiendo usos indebidos al forzar que el acceso a los datos se efectúe

siempre a través de los métodos del objeto.(JOYANES, Aguilar &

FERNÁNDEZ, Azuela, 2007, pág. 11):

nombreobjeto. nombreComponente.

La herencia es la capacidad para crear nuevas clases (descendientes) que se

construyen sobre otras existentes, permitiendo que éstas les transmitan sus

propiedades. (JOYANES, Aguilar & FERNÁNDEZ, Azuela, 2007, pág. 11):

El polimorfismo consigue que un mismo mensaje pueda actuar sobre

diferentes tipos de objetos y comportarse de modo distinto. El polimorfismo

adquiere su máxima expresión en la derivación o extensión de clases; es

decir, cuando se obtienen nuevas clases a partir de una ya existente mediante

la propiedad de derivación de clases o herencia.(JOYANES, Aguilar &

FERNÁNDEZ, Azuela, 2007, pág. 12)

Métodos

Los métodos son funciones de una clase. Generalmente los métodos se dividen

en aquellos que se usan internamente en la clase, llamados métodos privados

(private), los que se usan fuera de la clase, llamados métodos públicos (public) y los

que son usados por la clase y sus derivadas, llamados métodos protegidos

(protected). (HOLZNER, 2005, pág. 181)

58

6. PROGRAMAS

6.1 JCreator

Se trata de un IDE para Java desarrollado por la empresa Xinox cuya filosofía

es la sencillez. Hay dos versiones, JCreator “Pro” y JCreator “Life”. La versión “Pro”

es comercial, aunque se pueden bajar versiones de evaluación. La versión “Life” es

libre. (Burd, 2007)

Su uso puede ser de mucha utilidad cuando no se requieren características

avanzadas de entornos como Eclipse, ya que resulta mucho más rápido y compacto.

JCreator no es multiplataforma y sólo está disponible para Windows.

Representa un buen compromiso entre el poder y la simplicidad, a diferencia

de otros IDEs.

Funciona en casi todas las versiones de JAVA.

Figura 6.1.1 Interfaz gráfica de JCreator

59

6.2 Netbeans

NetBeans es un entorno de desarrollo integrado a Java, IDE que permite el

desarrollo rápido de aplicaciones con los marcos más adoptados, tecnologías y

servidores. (Dantas, 2011)

Diferente a otros IDEs, NetBeans ya viene pre-empaquetado con una amplia

funcionalidad de la caja, como el apoyo a los diferentes marcos, servidores, bases de

datos y desarrollo de aplicaciones móviles. (Dantas, 2011)

Figura 6.2.1. Interfaz gráfica de NetBeans

60

PROCEDIMIENTO O MÉTODO

Enfoque metodológico

La presente investigación presenta un enfoque “Mixto”, esto porque

procedió de un proceso que recolectó, analizó y vinculó datos, tanto cuantitativos y

cualitativos en un mismo estudio. Con el enfoque Mixto, se logró una perspectiva

más precisa del fenómeno e incrementó la confianza en los resultados obtenidos,

ya que se emplearon procesos cuidadosos, sistemáticos y empíricos.

Alcance de la investigación

En la propuesta de sistema: “Desarrollo de un sistema de control de

asistencia para el Bachillerato Tecnológico Moisés Sáenz de San Juan Bautista

Tuxtepec Oaxaca”, se encontraron estudios descriptivos que nos ha permitieron

detectar y definir ciertas variables y generalizaciones.

Es por esto que dicha investigación fue iniciada de forma correlacional,

ya que a través de ella se encontraron las respuestas necesarias, que permitieron

responder a la pregunta de investigación ¿Cuáles son los efectos de utilizar un

software para el control de asistencia del personal en el Bachillerato Tecnológico

“Moisés Sáenz”?

Tipo de investigación

En cuanto al propósito de la investigación planteada y atendiendo a las

características del proyecto, se puede decir que el tipo de investigación es

“Aplicada”, ya que en base a ciertos conocimientos adquiridos se pretendió

61

resolver un problema de la vida real para satisfacer las necesidades del usuario

donde fue necesario identificar, encausar y controlar hechos y fenómenos.

En relación a las fuentes consultadas, la investigación se encuentra

enmarcada en el contexto de la modalidad de investigación de tipo documental e

investigación de campo.

Es una investigación documental, por cuanto se apoyó en la información

proveniente de trabajos previos, libros y búsqueda por internet.

Es una investigación de campo, debido a que se abordó un problema real

existente actualmente, y los datos fueron recolectados directamente del personal

implicado, que para el presente caso se constituye en el bachillerato Tecnológico

“Moisés Sáenz”,

La investigación se clasificó en relación a la forma o momento en que

sucedió el fenómeno, por lo que atendiendo a las características de la

investigación se consideró descriptiva, ya que se explica en detalle, cada una de

las actividades de los procesos actuales y propuestos para la implementación del

sistema.

Diseño de investigación

De acuerdo con el marco de esta investigación se puede decir que el

diseño que se planteó, corresponde al tipo “experimental”.

Se cataloga como “experimental” porque su objetivo fundamental fue

comprobar, mediante un control exhaustivo las condiciones experimentales, el cual

es el motivo que permitió estudiar los hechos, establecer condiciones y

comprobar.

El diseño de la investigación se observa desde un punto de vista

62

“cuasiexperimentos”, porque los sujetos no se asignaron al azar, sino que dichos

grupos se formaron antes del experimento.

Universo o Población

El Bachillerato Tecnológico “Moisés Sáenz” de la ciudad de San Juan

Bautista Tuxtepec, Oaxaca, cuenta con un personal de 32 personas, los cuales se

mencionan en la siguiente tabla:

Personal H M

Administrativo 10 3

Docentes 10 9

Cabe mencionar que todos los docentes cuentan con estudios mínimos de

licenciatura, cada uno con perfil a fin con las asignaturas que imparten en la

institución, algunos de ellos son Ingenieros y otros con estudio de Posgrado. La

mayor parte del personal administrativo, tienen estudios en el área de Informática,

contaduría, algunos con perfil Pedagógico y con perfil propedéutico en

humanidades y ciencias sociales.

Muestra o unidad de análisis

Es la fracción elegida de modo que sus parámetros se ajustan a los de la

población cuando se desea obtener un dato respecto de la población, es por esto

que utilizaremos el método probabilístico, por lo que es necesario tomar una

muestra representativa, y emplearemos la fórmula para población finita.

Formula: n= z2* P* Q* N

(N-1) E2 + Z2* P* Q

Dónde: n= tamaño de la muestra

63

Z= valor critico correspondiente a un determinado grado de confianza

P= proposición poblacional

Q= probabilidad a encontrar

N= universo

E= error muestral permisible en investigación

Cálculos:

Sustituyendo los datos en la formula

N = 32

z = 1.96

E = 0.05

P = 0.5

Q = 0.5

n= (1.96)2* 0.5*0.5* 32

(32-1) (0.05)2 + (1.96)2* 0.5* 0.5

n= 3.84* 0.5* 0.5* 32

(31) (0.0025) + 3.84* 0.25

n= 30.72

0.0775 + 0.96

n= 30.72

1.0375

n= 29.60 ≈ 30

Al elegir dicha muestra, se realizará de forma Aleatoria Simple. Cada uno del

personal de la institución tiene un número asignado en la nómina, por medio de los

64

cuales al elegir aleatoriamente cada número, es como se obtuvo el nombre de las

30 personas que formaran parte de la muestra.

Elaboración, selección y desarrollo de instrumentos

Técnicas de recolección de datos

De acuerdo con lo descrito anteriormente, él enfoque mixto es el utilizado

en esta investigación ya que cuenta con las características que se requieren para

desarrollar el análisis de datos.

El enfoque cuantitativo se utilizó para la medición numérica de variables

como grado de satisfacción y conocimiento del participante, utilizando la entrevista

como técnica de recolección de datos.

El enfoque cualitativo se realizó mediante la observación, a fin de corroborar con

la información extendida por el personal de la institución y verificar la autenticidad

de la información obtenida mediante las entrevistas realizadas.

Instrumentos de recolección de datos

Cuestionario:

Será formulada con preguntas cerradas dicotómicas, abiertas y de opción

múltiple con el objetivo de recopilar la mayor información posible del personal

administrativo y docente en estudio, así como evaluar el funcionamiento del

sistema con que actualmente trabaja la institución, y verificar que se tenga la

necesidad de un sistema automatizado. (Ver anexo A. Cuestionario)

Guía de observación:

Consiste en obtener información mediante la percepción intencionada y

65

selectiva, ilustrada e interpretativa del objeto de estudio. (Ver anexo B. Guía de

observación).

Metodología de desarrollo del sistema

Para llevar a cabo la realización del sistema se empleó la metodología del

Ciclo de vida clásico, la cual contempla las siguientes fases y actividades:

1. Análisis de los requisitos del software

Investigación Preliminar: Se muestran los formatos utilizados para la

obtención y recopilación de información (Ver anexo A, B y C).

Identificación de los requerimientos: Se establecen los diagramas

que fueron utilizados como:

Diagrama de Contexto (Nivel 0)

Horario

0

SISTEMA DE CONTROL

DE ASISTENCIA

DOCENTES ADMINISTRADOR

PERSONAL

ADMINISTRATIVO

Ingreso al sistema

Ingreso al sistema

Pone Huella

Ponen Huella

Ingreso al sistema

Alta de usuarios

Reporte

66

Diagrama de caso de uso general

67

Diagrama de caso de uso

68

Diagrama de Clases

Estudio de Factibilidad

Después de haber definido la problemática y haber establecido las causas

que requieren de la implementación del nuevo sistema, es conveniente realizar el

69

estudio de factibilidad para así determinar la infraestructura tecnológica y la

capacidad técnica que implica la instalación del sistema en cuestión, además de

los costos-beneficios, la aceptación o rechazo que la propuesta genere a la

institución.

Cabe mencionar que éste análisis nos permitirá determinar las

posibilidades de diseñar el sistema propuesto, los aspectos que fueron tomados

en cuenta para su estudio, se clasificaron en tres áreas: Factibilidad Técnica,

Factibilidad Económica, Factibilidad Operativa, que a continuación se describen.

Factibilidad Técnica

Para poder desarrollar el sistema de asistencia para el personal, son

necesarios los recursos tecnológicos, por tal motivo se llevó a cabo una

evaluación de la tecnología con la que cuenta actualmente el Bachillerato, se

recopiló la información de éstos recursos y la posibilidad que existe de utilizarlos

durante el desarrollo o quizá implantación del sistema mencionado.

La evaluación de dichos recursos tecnológicos, se realizó en base al

enfoque de hardware y software. Hablando del hardware con el que cuentan, los

equipos de cómputo cumplen con los requisitos básicos que se establecen, como

lo es el servicio de internet inalámbrico. Sin embargo, será necesaria la

adquisición de un equipo de cómputo nuevo, ya que con los que cuenta la

institución son utilizados de tiempo completo por el personal que labora en las

oficinas.

En cuestión del software, el equipo que se va a adquirir, debe contar con

el sistema operativo de Windows 7, ya que el personal está familiarizado con éste

Sistema Operativo, al venir ya incluido en la compra de la computadora no

generará un costo adicional. A continuación se muestra en la siguiente tabla las

características del hardware y software.

70

Tabla 6.1.1 Requerimientos de Hardware para el desarrollo del sistema

Hardware

Cantidad Recurso Características

1 Computadora de

Escritorio

Marca acer modelo az1650-md10s.

Procesador intel Atom D2500,

memoria caché 1.86 GHz, Memoria

Ram 2Gb DDRIII-1333, Disco Duro

300 Gb, Sistema Operativo Windows 7

Starter 32 Bits, lector multitarjeta,

teclado y mouse USB, Pantalla 18.5”.

1 Lector de Huella

Digital

Lector de Huella Digital U Are U

uru4500, conector USB.

Tabla 6.1.2. Requerimientos de Software para el desarrollo del sistema

Software

Recurso Características

Sistema Operativo Windows 7, Starter, Home basic, home

Premium, Professional, Ultimate, etc.

71

Factibilidad Económica

Se presenta a continuación el estudio que dio como resultado la

factibilidad económica del sistema donde se determinaron los recursos

económicos para implementar el sistema de control de asistencia.

Costos Generales:

Son todos aquellos gastos realizados como la compra de programas

utilizados. Por consiguiente se muestra una tabla donde se indican dichos gastos.

Tabla 6.1.3. Costos generales

Nombre Cantidad Costo

MySQL 1 $0

Java 1 $0

Bouml 1 $0

Costo de Personal:

Se incluyen los gastos generados por el recurso humano que se necesita

para el desarrollo del sistema únicamente, donde bajo su responsabilidad estará el

contar con el personal que se encargue de operar y del funcionamiento del

sistema. A continuación se muestra en la tabla los gastos mencionados.

Tabla 6.1.4. Salarios del equipo técnico que participara en el desarrollo del proyecto

Cantidad Descripción Esfuerzo (horas)

Costo

72

1 Analista 90 $6,300.00

1 Programador 112 $7,840.00

1 Diseñador 105 $7,350.00

1 Tester 56 $3,920.00

Total $25,410.00

73

Tabla 6.1.5. Costo de Ambiente

Cantidad Recurso Costo

1 Computadora $4,500.00

1 Lector de Huella Digital $1,299.00

1 Regulador $ 349.00

TOTAL $6,148.00

Costos operativos durante el desarrollo:

Estos costos se refieren a aquellos necesarios para la operatividad de las

actividades durante el periodo en el que se realizara el proyecto, por lo que se

suman al costo del desarrollo del mismo y al pago de servicios requeridos para

laborar. Los costos de operación se muestran a continuación:

Tabla 6.1.6. Costos de operación durante el desarrollo

CONCEPTO DE PAGO ACTIVIDADES PAGO

MENSUAL

Luz Suministro de energía eléctrica $ 400

Comida Desayuno $ 800

Agua Suministro de Agua Potable $ 200

Teléfono Comunicaciones $ 1,000

TOTAL POR MES $ 2,400

Costos totales del desarrollo del sistema:

La tabla que se muestra a continuación, muestra los costos totales del sistema.

Tabla 6.1.7. Costos totales del sistema.

Factibilidad Operativa

Aquí se define si el sistema propuesto se pondrá en marcha, tomando en

cuenta las ventajas y beneficios que traerá al personal y a la institución, además

de considerar que el Bachillerato tenga la capacidad de mantener el sistema.

La necesidad de implementar el sistema en la institución, lleva

automáticamente a la aceptación de la propuesta de manera sencilla y rápida, ya

que se cubre completamente con los requisitos y necesidades del usuario, y al

mismo tiempo se proporcionará información exacta y oportuna, por lo que el

sistema es factible al ser operado.

Al implantar el sistema de Asistencia del personal se tendrán en cuenta las

siguientes restricciones:

La jefa de servicios administrativos será quien reciba la información de las

horas laboradas de todo el personal en cada quincena.

Quienes tendrán acceso a la manipulación o modificaciones de la base de

datos únicamente serán: jefa de servicios administrativos y dirección.

CONCEPTO DE PAGO COSTO MENSUAL

Costos de Ambiente $6,148.00

Salarios del equipo técnico $25,410.00

Costos de operación $ 2,400.00

TOTAL $39,958.00

Se establece el contrato en el que quedaron especificadas las cláusulas y

especificaciones de lo que se otorgó junto con el sistema completo. (Ver anexo D).

2. Diseño

Se muestran los diagramas del diseño de cómo se encuentra conformado

éste sistema, los cuales se presentan a continuación:

Modelo de Entidad Relación (E-R)

76

Modelo Relacional

Inasistencias

idInasistencia

Fecha

Motivo

Nombre

Acceso

Huella

Nombre

Reporte

idReporte

Nombre

AltaUsuarios

Nombre

Teléfono

Dirección

Email

NombreCargo

Turno

Asistencias

idAsistencia

Fecha

Nombre

HoraEntrada

HoraSalida

Permiso

idPermiso

Nombre

FechaSolicitud

FechaSalida

HorarioPersonalAdministrativo

idHorarioAdministrativo

idFecha

HoraEntrada

HoraSalida

Nombre

HorarioPersonalDocente

idHorarioDocente

idFecha

HoraEntrada

HoraSalida

Nombre

77

3. Generación de código

La codificación consiste en traducir el Diseño en instrucciones, que la

computadora pueda interpretar.

Durante esta etapa se realizó las tareas que comúnmente se conocen

como programación; que consiste, esencialmente, en llevar a código fuente, en el

lenguaje de programación elegido, todo lo diseñado en las fases de la metodología.

Esta tarea la realizo el programador, siguiendo por completo los lineamientos

impuestos en el diseño y en consideración siempre a los requisitos funcionales y no

funcionales (ERS).

Para la codificación del sistema se optó por la plataforma JAVA, que es un

lenguaje de programación potente, es independiente de una plataforma en

específico, es decir, que cualquier programa, sistema o software creado en JAVA,

puede funcionar en cualquier ordenador, ya sea manejando un Sistema Operativo

Linux, Windows, Apple, entre otras. JAVA es un lenguaje de programación de

propósito general, es concurrente y orientado a objetos.

A continuación se presentará un fragmento del código implementado para

crear el enlace de una de las ventanas (Usuarios) con la base de datos. Es decir, en

la ventana Usuarios, el cual el administrador será la única persona que contara con

el acceso para dar de alta a un empleado.

Código

78

private void GuardarActionPerformed(java.awt.event.ActionEvent evt) { try{ Class.forName( CONTROLADOR_JDBC ); conexion = (Connection) DriverManager.getConnection( URL_BASEDEDATOS, login, password ); instruccion = (Statement) conexion.createStatement(); if((Nombre.getText()).equals("")||(Tel.getText()).equals("")||(Email.getText()).equals("")||(Cargo.getText()).equals("")||(Turno.getText().equals(""))) JOptionPane.showMessageDialog(null, "No puede haber campos vacios"); else{ instruccion.execute("INSERT INTO altausuarios VALUES('"+Nombre.getText()+ "', '"+Tel.getText()+"', '"+Email.getText()+"','"+Cargo.getText()+"','"+Turno.getText()+"');"); JOptionPane.showMessageDialog(null, "Datos ingresados correctamente"); } } catch ( SQLException excepcionSql ) { JOptionPane.showMessageDialog( null, excepcionSql.getMessage(), "Error en base de datos", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } catch ( ClassNotFoundException claseNoEncontrada ) { JOptionPane.showMessageDialog( null, claseNoEncontrada.getMessage(), "No se encontró el controlador", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } finally { try { instruccion.close(); conexion.close(); } // manejar posibles excepciones al cerrar instruccion y conexion catch ( SQLException excepcionSql ) { JOptionPane.showMessageDialog( null, excepcionSql.getMessage(), "Error en base de datos", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } }

4. Pruebas e implantación

Pruebas al Sistema

79

Se llevaron a cabo algunas pruebas, las cuales se describen a continuación:

Pruebas unitarias

En esta prueba se verificó que el código fuente no tuviera errores sintácticos

o semánticos, para esto se checo el código línea por línea, de esta manera se evitó

la existencia de algún error de sintaxis en alguna de las instrucciones.

Pruebas integrales

Fue realizada para comprobar que el programa sea capaz de funcionar

interactuando con la base de datos sin afectar un valor de datos en las funciones.

Se estimaron solo dos procesos en este tipo de prueba, ya que son los que

comparten recursos de memoria y que pudieron haber tenido algún problema no

previsto.

Pruebas de volumen

Las pruebas de volumen fueron necesarias para identificar la forma en que

se comporta el sistema, si gradualmente la información aumenta en la base de datos.

Pruebas de usuario

Para esto se detectó las posibles fallas que una persona pueda generar, ya

que no están familiarizadas con el sistema, y la forma en que lo manipula es distinta

en cada usuario; para esto se piensa capacitar al personal para que no haya ningún

problema de este tipo.

Implantación

Dentro del Plan de Capacitación que se integró, se otorgó un pequeño curso

80

a 2 personas de la institución, los cuales podrán manejar el nuevo Sistema de

Control de Asistencia implementado; consistió en la enseñanza de cómo utilizar el

sistema, agregar a una persona, ingresar sus datos, dar de baja, obtener las horas

laboradas y faltas de personal, etc. Dentro de la capacitación se hizo entrega de los

manuales los cuáles se muestran en el anexo E.

ANÁLISIS DE RESULTADOS

El análisis cuantitativo de los datos que serán obtenidos será llevado a cabo

a través de una computadora u ordenador, utilizando el programa de Microsoft Excel.

Se utilizará dicho software ya que la cantidad de los datos que serán interpretados es

pequeña, debido a la población y muestra que se analizará.

Además, podemos mencionar que Microsoft Excel es un software sencillo,

óptimo, fácil de utilizar, se encuentra al alcance y, sobre todo, que cumple con las

características que se requieren.

Los resultados obtenidos del cuestionario se pueden observar en las siguientes

gráficas:

7%

70%

13%

10%

1. ¿Qué tan satisfecho está usted con el sistema actual de control de asistencia?

Nada Poco Regular Mucho

82

La pregunta Nº 1, está destinada a determinar el grado de satisfacción de los

empleados, respecto al sistema actual de control de asistencia. Se puede observar que

el 7% no está satisfecho con el proceso utilizado actualmente, el 70% está poco

satisfecho, el 13% tiene un grado regular de satisfacción y el 10% de la totalidad de la

población a la que fue aplicado el cuestionario se encuentra satisfecho con la forma en

que se lleva a cabo el control de asistencia en la institución.

La Pregunta Nº 2, Se realizó para conocer qué tan importante es para el personal un

sistema automatizado que permita controlar la asistencia, se puede observar que todo el

personal considera por lo menos un poco importante la creación de este sistema, lo cual

corresponde al 17% de la población, el 30% de la población considera que la importancia

de la creación de un sistema automatizado es regular y el resto de la población

correspondiente al 53% consideran muy importante la creación de un sistema

automatizado que permita llevar a cabo el control de la asistencia.

0%

17%

30% 53%

2. ¿Qué tan importante considera usted la creación de un sistema automatizado de

Control de Asistencias?

Nada Poco Regular Mucho

83

La Pregunta Nº 3, está elaborada con la finalidad de conocer si hay confianza o no, por

parte de los empleados de la institución, es decir, saber si ellos están conscientes de los

posibles beneficios que pueden obtener con la implementación del sistema automatizado

de control de asistencia. En la gráfica se puede observar que el 7% de la población

piensa que no obtendría ningún beneficio, sin embargo el resto de la población que

corresponde al 93% cree que si puede obtener ciertos beneficios con la implementación

del nuevo sistema.

93%

7%

3. ¿Cree usted que le beneficiaría el sistema automatizado de Control de Asistencias?

si no

84

La Pregunta Nº 4, Tiene como finalidad saber qué es lo que esperan los empleados del

nuevo sistema, es decir los posibles efectos que ellos creen que traerá consigo la

implementación de dicho sistema. El 6% cree que mejorará el prestigio de la institución

ante la sociedad, el 17% cree que mejorará el acceso del personal, el 27% piensa que

habrá mayor exactitud en el tiempo laborado, y el resto, correspondiente al 50% de la

población cree que se producirá un mejor reporte de las nóminas.

6% 17%

27%

50%

4. ¿Qué efectos cree que producirá el sistema en la institución?

Mejorará el prestigio de la institución ante la sociedad.

Mejora en el acceso del personal.

Exactitud en el tiempo laborado.

Un mejor reporte de las nóminas.

85

CONCLUSIONES

En el nuevo sistema para el control de asistencia del Bachillerato

Tecnológico “Moisés Sáenz se consiguió automatizar algunas de las tareas propias

del personal administrativo; el control de asistencia es ahora más efectivo, ya que se

ha minimizado de gran manera el tiempo de emisión de reportes de control de

personal y planillas de pago.

Con este proyecto se ha conseguido desarrollar un sistema que permita

generar el reporte de las horas trabajadas por el personal de la Institución, con el

cual se ha logrado que haya aumentado el sentido de responsabilidad y puntualidad

de los mismos.

Los esfuerzos y tiempos que fueron invertidos en el análisis y diseño de la

solución del problema planteado, permitieron la cobertura de todos los

requerimientos funcionales del usuario, y que de ésta manera se hayan maximizado

las funcionalidades que se esperaban del producto, sin embargo es importante

mencionar que las últimas fases de la metodología empleada se encuentran en

proceso por cuestiones de tiempo, considerándose la falta de tiempo como un

limitante, pero se espera cubrirlas en el tiempo adecuado.

La documentación técnica y funcional del producto brindó a todo aquel nuevo

usuario un mejor entendimiento de las funciones que se implementaron.

Finalmente se concluye que el proyecto cumplió con los requerimientos y objetivos

desde su planeación, puesto que se lograron cumplir con los objetivos específicos.

86

RECOMENDACIONES

Es necesario de un administrador del sistema que realice mantenimiento y

apoyo técnico a los usuarios.

Se recomienda que para un mejor control del personal se actualicen los

horarios de trabajo anualmente por que podrían existir variaciones de los

mismos, así como también la actualización de los datos del personal docente

y administrativo.

Posteriormente se podría desarrollar un módulo de inscripción de los

estudiantes empleando la tecnología biométrica para la optimización del

tiempo y eficiencia de recursos tanto materiales como humanos.

87

GLOSARIO

Automatización Es un sistema donde se trasfieren tareas de

producción, realizadas habitualmente por

operadores humanos a un conjunto de

elementos tecnológicos.

Diccionario de datos Contiene las características lógicas de los

sitios donde se almacenan los datos del

sistema, incluyendo nombre, descripción,

alias, contenido y organización.

Enfoque Proviene del verbo enfocar, y significa la

acción y el efecto de lograr que la imagen de

una cosa que se produce en el foco de una

lente, se tome claramente sobre

determinada superficie.

Hardware Componentes físicos del ordenador, es

decir, todo lo que se puede ver y tocar.

IDE de Programación Un IDE es un entorno de programación que

ha sido empaquetado como un programa de

aplicación, o sea, consiste en un editor de

código, un compilador, un depurador y un

constructor de interfaz gráfica.

Java Es una tecnología que se usa para el

desarrollo de aplicaciones que convierten a

la Web en un elemento más interesante y

útil. Java no es lo mismo que javascript, que

88

se trata de una tecnología sencilla que se

usa para crear páginas web y solamente se

ejecuta en el explorador.

JCreator Es un entorno de desarrollo para Java.

KWS o Sistemas del trabajo del

conocimiento

Sistemas de información que apoyan a los

trabajadores del conocimiento en la creación

e integración del nuevo conocimiento en una

organización.

Modelo Es una abstracción teórica del mundo real.

Multiplataforma Se refiere que cualquier formato que puede

ser disfrutado de modo pleno o que se

desarrolla en diferentes plataformas.

MySQL Es el servidor de bases de datos

relacionales más popular, desarrollado y

proporcionado por MySQL AB.

Netbeans Es un proyecto exitoso de código abierto con

una gran base de usuarios.

Planificación Es la primera función de la administración, y

consiste en determinar las metas u objetivos

a cumplir.

Prototipo Es la primera versión o modelo de su

producto, en que ha incorporado algunas

características del producto final.

89

Sistemas de gestión de base de

datos o SGBD

Son un tipo de software muy específico,

dedicado a servir de interfaz entre la base de

datos, el usuario y las aplicaciones que la

utilizan.

Sistema de gestión MIS (del

inglés Management Information

System)

Es una herramienta o aplicación informática

que permite controlar todos y cada uno de

los aspectos de una empresa (pedidos,

producción, control de presencia,

facturación, ventas, administración, etc.).

Sistema de Procesamiento de

Transacciones (TPS)

Está basado en la computadora y la relación

de sustentabilidad de los trabajos rutinarios,

es el más importante y el más utilizado

dentro de la empresa, pues reduce el tiempo

de las operaciones o actividades rutinarias

de la empresa.

Sistemas de Soporte a la

Decisión (DSS)

Es una herramienta de Business Intelligence

enfocada al análisis de los datos de una

organización.

Software Se refiere al equipamiento lógico o soporte

lógico de un computador digital, y

comprende el conjunto de los componentes

lógicos necesarios para hacer posible la

realización de una tarea específica, en

contraposición a los componentes físicos del

sistema (hardware).

90

SQL La sigla sql significa structured query

language, o su equivalente en español

lenguaje de pregunta estructurado, este es

un lenguaje universal que esta

implementado en todos los motores de

bases de datos razón por la cual el SQL es

el lenguaje estándar de comunicación entre

los diferentes motores existentes.

91

FUENTES CONSULTADAS

ARRIETA, B., & DE LA CRUZ, C. (2009). La dimensión ética de la responsabilidad

social.

BERNAL Niño, M. (2004). Contabilidad, Sistema y Gerencia. Venezuela: CEC S.A.

CAIRÓ, O., & GUARDATI, S. (2005). Estructura de datos. Mèxico: Mc Graw Hill.

CAIRÒ, O., & GUARDATI, S. (2005). Estructura de datos. Mèxico: Mc Graw Hill.

COBO, Á., GÓMEZ, P., PÉREZ, D., & ROCHA, R. (2005). PHP y MySQL: Tecnología

para el desarrollo de aplicaciones web. España: Díaz de Santos.

DURÁN, F., GUTIÉRREZ, F., & PIMENTEL, E. (2007). PROGAMACIÓN

ORIENTADA A OBJETOS CON JAVA. Madrid, España: Thomson.

E. Kendall, K., & E. Kendall, J. (2005). Análisis y diseño de sistemas. México:

Pearson Prentice Hall.

ECKEL, B. (2003). Piensa en Java. Madrid: Prentice Hall.

Enciclopedia Temática Autoevaluativa para el Siglo XXI. (2004). En P. BALLÚS, P.

FORNALS, & E. GALVE, Enciclopedia Temática Autoevaluativa para el Siglo

XXI (págs. 319-320). Colombia: REYMO.

FERNÁNDEZ Alarcón, V. (2006). Desarrollo de sistemas de información. Barcelona:

Edicions UPC.

Found, I. M. (2007). Normas Especiales para la Divulgación de Datos: guía para

suscriptores y usuarios. Washigton. D.C.

Fundamentos de Bases de Datos. (2002). En A. SIBERSCHATZ, & H. F. Korth ,

Fundamentos de Bases de Datos (págs. 5-7). Madrid, España: McGraw-Hill.

GILFILLAN, I. (2003). La biblia de MySQL. Madrid: ANAYA MULTIMEDIA.

92

HOLZNER, S. (2005). Biblia de Java 2. ANAYA.

JOYANES, Aguilar, L., & FERNÁNDEZ, Azuela, M. (2007). Java 2 Manual de

programación. Madrid: Osborne McGrawHill.

LAUDON, K. C., & LAUDON, J. P. (2004). Sistemas de información gerencial.

México: Pearson Prentice Hall.

LLOBET, Azpitarte, R., DEVESA, Llinares, J., RUÍZ, Fuertes, M. I., TORRES,

Goterris, F., & MIEDES, de Elías, E. (2009). Introducción a la Programación

orientada a objetos con Java. Valencia.

MARTÍN, E. C. (2007). Base de datos (El lenguaje SQL). Barcelona: UOC.

PRESSMAN, R. S. (2006). Ingeniería de Software, Un enfoque práctico. México:

McGraw Hill.

Pública, S. d. (s.f.). Manual del Usuario del Sistema de Información del Programa

Escuelas de Calidad. Obtenido de

http://sipec.sep.gob.mx/WebHelp/sipecwebhelp.htm#reportes/reporte.htm

S., PRESSMAN, R. (2007). Ingenería de sofware en un enfoque practico. Mexico: Mc

Graw Hill.

SÁNCHEZ, Allende , J., FERNÁNDEZ, Toribio, G. H., FERNÁNDEZ, Majón, B.,

MORENO, Diaz, P., REINOSO, Peinado, A. J., & SÁNCHEZ, Cortés, R. S.

(2005). Programacion en Java 2. España Madrid: McGraw-Hill/Interamericana

de España S. A. U.

Sistemas gestores de bases de datos. (21-10-2008). En M. J. RAMOS, A. RAMOS, &

F. MONTERO, Sistemas gestores de bases de datos (pág. 7). McGraw-Hill.

SOMMERVILLE, I. (2005). Ingeniería de Software. Madrid: Pearson Addison Wesley.

Tutor plus interactivo, Enciclopedia general para la enseñanza. (2005). En A.

BIOSCA, J. GÁRRIZ, & R. SORT, Tutor plus interactivo, Enciclopedia general

para la enseñanza (pág. 1086). España: OCEANO.

93

WEITZENFELD, A. (2005). Ingeniería de software orientada a objetos con UML, Java

e Internet. México: Thomson.

WELLING, L., & THOMSON, L. (2006). Desrrollo Web con PHP y MySQL. Madrid:

ANAYA.

WHITTEN, J., BENTLEY, L. D., & DITTMAN, K. C. (2004). Sistem análisis & design

methods citado por Fernández Vicenç, 2006: Desarrollo de sistemas de

información: una metodología basada en el modelado. Irwin-McGraw Hill.

94

ANEXOS

95

Anexo A. Cuestionario

INSTITUTO TECNOLÓGICO DE TUXTEPEC

Desarrollo de un sistema de control de asistencia

para el Bachillerato Tecnológico Moisés Sáenz

de San Juan Bautista Tuxtepec Oaxaca”

PRESENTA:

ANTONIO GÓMEZ MARÍA DEL ROSARIO CONTI SÁNCHEZ CRISTIAN JOAQUÍN

JORGE RAFAEL CLEOTILDE MARTÍNEZ HERRERA KEREN ARADI VICENTE MENDOZA ANTONIO

ASESOR: L.I. MARÍA DE LOS ÁNGELES MARTÍNEZ MORALES

96

INTRODUCCIÓN

El presente cuestionario tiene como propósito recabar la información necesaria para

la implementación de un sistema automatizado para el control de asistencias del

Bachillerato Tecnológico “Moisés Sáenz”.

Su colaboración es importante para nosotros, por lo que pedimos tu ayuda para que

contestes algunas preguntas que no llevarán mucho tiempo. Tus respuestas serán

confidenciales y anónimas, solo se utilizarán para fines de estudio.

Las personas que fueron seleccionadas para el estudio no se eligieron por su

nombre sino al azar.

Las opiniones de todos los encuestados serán sumadas e incluidas en el protocolo

de investigación, pero nunca se comunicarán datos individuales.

Te pedimos que contestes a todas las preguntas con la mayor sinceridad posible. No

hay respuestas correctas ni incorrectas, pero si tiene problemas o dificultades para

comprender las preguntas y desea más información puede preguntar a la persona

que le entregó este cuestionario.

Lee las instrucciones cuidadosamente, ya que existen preguntas en las que sólo se

puede responder a una opción; otras son de varias opciones y también se incluyen

preguntas abiertas.

INSTRUCCIONES

Lea detenidamente las preguntas que a continuación se le presentan, tómese el

tiempo que considere necesario y luego marque con una (X) la respuesta que mejor

describa lo que piensa. Marque una sola respuesta a cada pregunta, a no ser que se

le indique lo contrario.

97

Fecha:

Edad: _________Sexo:__________

1. ¿Qué tan satisfecho está usted con el sistema actual de Control de Asistencias?

Nada Poco Regular Mucho

2. ¿Qué tan importante considera usted la creación de un sistema automatizado de Control de Asistencias?

Nada Poco Regular Mucho

3. ¿Cree usted que le beneficiaria el sistema automatizado de Control de

Asistencias?

Sí No

4. ¿Qué efectos cree que producirá el sistema en la institución?

Mejorará el prestigio de la institución ante la sociedad.

Mejora en el acceso del personal.

Exactitud en el tiempo laborado.

Un mejor reporte de las nóminas.

5. ¿Qué beneficios espera usted obtener con la implementación del sistema?

_______________________________________________________________________________________________________________________________________

¡GRACIAS POR SU COOLABORACIÓN!

98

LA OBSERVACIÓN

Es un instrumento para el registro descriptivo del observador.

Proyecto: Observador:

Lugar: Escena:

Hora inicio:

Código de

registro

Hora final:

Descripción (obs.directa)

Personal

Anexo B. Guía de observación

99

Anexo C. Solicitud del Sistema

FPLA01.

Fecha de

elaboración:

30 de Octubre de 2013

Remitido por:

Departamento

solicitante:

TIPO DE SERVICIO (Marcar la conveniente)

x Desarrollo de Nuevos Sistemas

Mejora de Sistema Existente

Modificación de Sistema Existente

Incierto

BREVE EXPLICACIÓN DEL PROBLEMA U OPORTUNIDAD (adjuntar documentación adicional si

fuera necesario)

En la actualidad, no tenemos medios para realizar un control exacto de las entradas y salidas del

personal de la institución, lo cual provoca inexactitud al llevar a cabo la remuneración económica del

personal, entre ellos, excedente en la nómina y a su vez, menor pago en las actividades u horarios

que se cubren en la institución.

SOLICITUD DEL SERVICIO DE SISTEMA

100

EXPLICACIÓN DE LA SOLUCIÓN ESPERADA

Planteamos como solución a la problemática, la construcción de un sistema automatizado, que

permita el ingreso del personal de una manera más fácil y rápida, es decir, ahorrarles tiempo de

espera para el registro. El sistema generaría el reporte de las horas laboradas por el personal de la

institución, lo cual permitirá calcular el reporte de nómina más rápidamente, con datos confiables y

precisos.

La propuesta de la implantación del sistema ha sido aceptada de buena manera por todo el personal,

siendo conscientes de los posibles cambios que esto generaría, al cambiar todo el proceso manual

que se realiza comúnmente en la institución, por uno más novedoso.

RESULTADO DE LA SOLICITUD

( x ) Aprobada

( ) Retrasada

( ) Rechazada

Fecha de aprobación o

rechazo

30 de Octubre 2013

Pendiente hasta:

ASIGNADO A: FECHA DE INICIO: PRESUPUESTO:

Analista del sistema 9 de Septiembre de 2013 $68,638.00

Vo.Bo. Desarrollador Vo.Bo. Cliente

Última Revisión: Octubre 2013

101

Anexo D. Contrato

CONTRATO DE DESARROLLO DEL PROGRAMA DE CÓMPUTO: SISTEMA DE

CONTROL DE ASISTENCIAS PARA EL BACHILLERATO TECNOLÓGICO MOISÉS

SÁENZ DE SAN JUAN BAUTISTA TUXTEPEC OAXACA QUE EN LO SUCESIVO

SE DENOMINARA “SISTEMA”, QUE CELEBRAN POR UNA PARTE: CAMCK,

COMO PRESTADOR DEL SERVICIO, A QUIEN EN LO SUCESIVO SE LE

DENOMINARA “PROVEEDOR” Y POR OTRA PARTE: ÁLVARO MARTÍNEZ

CASTILLO, A QUIEN EN LO SUCESIVO SE LE DENOMINARA COMO “CLIENTE”,

CONTRATO QUE CELEBRAN AMBAS PARTES DE CONFORMIDAD CON LAS

SIGUIENTES DECLARACIONES Y CLAUSULAS:

DECLARACIONES

DECLARA EL PROVEEDOR:

1. SER UNA EMPRESA CONSTITUIDA AL AMPARO DE LA LEGISLACION MEXICANA, CON DOMICILIO EN AVENIDA 20 DE NOVIEMBRE ENTRE CALLE ALDAMA Y MORELOS INT. PASAJE COMERCIAL LOCAL #3, Y DEBIDAMENTE INSCRITA ANTE LA SECRETARIA DE HACIENDA Y CREDITO PUBLICO DE ESTA CIUDAD, CON REGISTRO FEDERAL DE CONTRIBUYENTES CMK090207K20 Y ES SU VOLUNTAD CELEBRAR ESTE CONTRATO.

2. QUE DISEÑARA Y DESARROLLARA EL SISTEMA EN EL LENGUAJE DE PROGRAMACION JAVA BAJO EL SISTEMA OPERATIVO WINDOWS 7.

3. EL SISTEMA ESTARA COMPUESTO DE MODULOS Y PROGRAMAS QUE SE DESCRIBEN EN EL DOCUMENTO “PROPUESTA DEL PROYECTO”, QUE CONSTITUYE EL ANEXO “A” DEL PRESENTE CONTRATO Y EL CUAL FORMA PARTE INTEGRAL DEL MISMO.

102

4. QUE SE ENTREGARA EL SISTEMA EN MEDIOS ADECUADOS QUE PERMITA SU DEBIDA UTILIZACION POR PARTE DEL CLIENTE.

5. QUE CUENTA CON LOS RECURSOS TECNICOS Y HUMANOS PARA REALIZAR EL OBJETO DEL PRESENTE CONTRATO.

DECLARA EL CLIENTE:

1. SER UNA EMPRESA CONSTITUIDA AL AMPARO DE LA LEGISLACION MEXICANA, CON DOMICILIO EN ANDADOR DALIAS MANZANA M LOTE 14 INFONAVIT EL PARAISO SAN JUAN BAUTISTA TUXTEPEC OAXACA Y DEBIDAMENTE INSCRITA ANTE LA SECRETARIA DE HACIENDA Y CREDITO PUBLICO DE ESTA CIUDAD, CON REGISTRO FEDERAL DE CONTRIBUYENTES BBT090207K20 Y ES SU VOLUNTAD CELEBRAR ESTE CONTRATO.

2. QUE COMPARECE A TRAVES DE SU REPRESENTANTE LEGAL ALVARO MARTÍNEZ CASTILLO, QUE CUENTA CON LA SUFICIENTE CAPACIDAD Y FACULTADES PARA CELEBRAR EL PRESENTE CONTRATO.

CELEBRAN LAS PARTES:

RECONOCERSE MUTUAMENTE LA PERSONALIDAD Y CARACTER CON QUE

COMPARECEN A CELEBRAR EL PRESENTE CONTRATO Y QUE ES SU DESEO

CELEBRARLO AL TENOR DE LAS SIGUIENTES CLAUSULAS.

C L A U S U L A S

1. PROPIEDAD: POR VIRTUD DEL PRESENTE CONTRATO, EL PROVEEDOR OTORGA A FAVOR DEL CLIENTE LA PROPIEDAD EXCLUSIVA DE ARCHIVOS EJECUTABLES DEL SISTEMA NO INCLUYENDO LOS ARCHIVOS DE CODIGO FUENTE, CUYOS MODULOS Y FUNCIONES SERAN DESARROLLADAS Y QUE SE DESCRIBEN EN EL DOCUMENTO “PANORAMA DEL PROYECTO”, QUE CONSTITUYE EL ANEXO “A” DEL PRESENTE CONTRATO.

103

2. SISTEMA: EL SISTEMA SE ENTREGARA EN DISCO COMPACTO, EL CUAL CONTENDRA EL MANUAL DE OPERACION DEL USUARIO, LA DOCUMENTACION TECNICA NECESARIA PARA PONERLO EN FUNCIONAMIENTO Y LOS PROGRAMAS DE COMPUTO REQUERIDOS PARA SU INSTALACION.

3. FECHA DE ENTREGA: QUEDA EXPRESAMENTE CONVENIDO QUE EL SISTEMA SERA ENTREGADO AL CLIENTE EL 5 de Diciembre del 2013, DE ACUERDO CON EL CALENDARIO QUE SE DESCRIBE EN EL DOCUMENTO “CRONOGRAMA DE ACTIVIDADES”, QUE CONSTITUYE EL ANEXO “B” DEL PRESENTE CONTRATO.

4. CAPACITACION: A) EL PROVEEDOR PROPORCIONARA AL CLIENTE LA CAPACITACION

EXCLUSIVA PARA EL USO DEL SISTEMA MEDIANTE 2 CURSOS CONSISTENTES EN 3 HORAS, IMPARTIDOS A 2 PERSONAS POR CURSO.

B) LA CAPACITACION NO INCLUYE IMPARTIR CONOCIMIENTO DE LA OPERACION DEL EQUIPO NI DEL SISTEMA OPERATIVO, SI ESTO FUERA NECESARIO SERIA MOTIVO DE UNA COTIZACION ESPECIAL.

C) EL CLIENTE DESIGNARA AL PERSONAL QUE ASISTIRA A LOS CURSOS DE CAPACITACION

5. PROCEDIMIENTO DE INSTALACION: A) EL PROVEEDOR SE OBLIGA A INSTALAR DICHO SISTEMA EN EL

EQUIPO DE COMPUTO DESIGNADO POR EL CLIENTE

B) EL CLIENTE. ES RESPONSABLE DE INTRODUCIR TODOS LOS DATOS NECESARIOS PARA LA PUESTA EN MARCHA DEL SISTEMA.

6. PRECIO: EL CLIENTE SE OBLIGA A PAGAR AL PROVEEDOR POR EL DESARROLLO DEL SISTEMA, LA CANTIDAD DE $ 68,638.00 PESOS M. N., LA CUAL SERA PAGADA MEDIANTE UN PAGO INICIAL DEL 30 % AL INICIO DEL DESARROLLO DEL SISTEMA Y POR 3 PAGO(S) RESTANTES BASADOS EN LOS SIGUIENTES MONTOS Y FECHAS: $ 16,015.00 17 DE SEPTIEMBRE 2013

$ 16,016.00 4 DE NOVIEMBRE 2013

$ 16,016.00 5 DE DICIEMBRE 2013

104

7. GARANTIAS: A) EL PROVEEDOR GARANTIZA QUE EL SISTEMA SE ENCUENTRA LIBRE DE ERRORES O

DEFECTOS Y QUE EJECUTA SUS FUNCIONES DE ACUERDO A LO ESPECIFICADO POR EL

CLIENTE.

B) EL CLIENTE CUENTA CON 6 MESES A PARTIR DE LA FECHA DE TERMINACION E INSTALACION DEL SISTEMA PARA REPORTAR FALLAS O ERRORES EXCLUSIVOS DEL SISTEMA, EN ESTE CASO EL PROVEEDOR ATENDERA INMEDIATAMENTE LAS RECLAMACIONES DEL CLIENTE Y EFECTUARA LAS CORRECCIONES QUE RESULTEN NECESARIAS, SIN CARGO ADICIONAL.

8. MANTENIMIENTO: AL VENCIMIENTO DEL PERIODO DE GARANTIA, EL CLIENTE PODRA CELEBRAR CON EL PROVEEDOR UN CONTRATO DE MANTENIMIENTO QUE LE PERMITE SOLICITAR NUEVAS VERSIONES O ACTUALIZACIONES, DE CONFORMIDAD CON LOS TERMINOS, CONDICIONES Y PRECIOS QUE AMBAS PARTES DETERMINEN EN ESE MOMENTO.

9. CONFIDENCIALIDAD: AMBAS PARTES CONVIENEN Y SE OBLIGAN A NO DIVULGAR A TERCEROS NINGUNA INFORMACION CONCERNIENTE A SUS NEGOCIOS, CLIENTES, SECRETOS INDUSTRIALES Y COMERCIALES, METODOS, PROCESOS, PROCEDIMIENTOS O CUALQUIER OTRA INFORMACION CONFIDENCIAL.

10. CAUSAS DE RECISION DE CONTRATO: EL PRESENTE CONTRATO SERA CANCELADO EN CASO DEL INCUMPLIMIENTO POR PARTE DEL CLIENTE DE LOS SIGUIENTES TERMINOS: A) NO CUMPLIR CON ALGUNO DE LOS PAGOS ESTIPULADOS EN LA

CLAUSULA 6 B) NO PROPORCIONAR LA INFORMACION NECESARIA PARA EL

DESARROLLO DEL SISTEMA C) NO ASISTIR A LAS REUNIONES DE REVISION DE AVANCES

ESTIPULADAS EN EL DOCUMENTO “CRONOGRAMA DE ACTIVIDADES”, QUE CONSTITUYE EL ANEXO “B” DEL PRESENTE CONTRATO

11. LEYES Y TRIBULACIONES COMPETENTES: PARA LA INTERPRETACION Y CUMPLIMIENTO DEL PRESENTE CONTRATO LAS PARTES SE SOMETEN EXPRESAMENTE A LA JURISDICCION Y LEYES DEL ESTADO DE BAJA CALIFORNIA, RENUNCIANDO AL FUERO QUE PUDIERE CORRESPONDERLE POR RAZON, DOMICILIO PRESENTE O FUTUROS.

105

LEIDO QUE FUE EL PRESENTE CONTRATO, POR LAS PARTES QUE EN EL

INTERVIENEN, LO FIRMA DE COMUN ACUERDO EN LA CIUDAD DE SAN JUAN

BAUTISTA TUXTEPEC OAXACA, EL DIA 13 DE NOVIEMBRE DEL 2013

FIRMAS DE CONFORMIDAD

________________________________ __________________________

PROVEEDOR CLIENTE

REPRESENTADO POR: REPRESENTADO POR:

106

Anexo E. Manual de usuario

Ventana inicial

Para poder iniciar sesión debes ingresar tu usuario y contraseña.

Para continuar presiona el botón “Ingresar”

En caso de ingresar mal la información se notificara con un mensaje de error. Debes

de ingresar nuevamente tu usuario y contraseña.

Ventana del administrador

107

Aquí tendrá la opción de editar las altas, bajas, etc, de usuarios que conforman el

plantel.

En la opción de “Administrador”, podrá editar a los usuarios, ingreso de nuevo

usuario, consulta, eliminación y buscar.

En la opción “usuarios”, al dar clic, se mostrará una venta donde el usuario se podrá

registrar al sistema, para el control de sus horarios.

En la opción “Imprimir Reporte”, se mandará a imprimir el reporte de asistencias de

cada empleado.

Administrador

Al dar clic en “Administrador aparecerá la siguiente ventana.

108

Al dar clic en reporte, se desglosa la pestaña, y en el cual tiene la opción el

administrador de buscar, eliminar, insertar.

Registrar información del personal

Ventana datos personales

La siguiente imagen, muestra la ventana sobre la información personal de los

trabajadores. En esta ventana podrás verificar y actualizar información personal.

Búsqueda del personal

Ventana en el cual el administrador podrá

consultar los usuarios, es decir, hacer

una búsqueda de ellos.

109

Colocando el nombre del empleado, y posteriormente dar clic en el botón buscar, se

localizará. Para salir, solo basta con dar clic al botón regresar.

Eliminación del personal

Para la eliminación de algún personal, solo tenemos que hacer la búsqueda del

mismo, colocando su nombre, y posteriormente seleccionar al usuario y dar clic

en eliminar.

Para salir del menú, clic sobre el botón Regresar.

110

Manual de Usuarios

Propietario: Cleotilde Jorge Rafael

Fecha de Creación: 18/11/13

Elaboró: Cleotilde Jorge Rafael

Archivo: ManualdeUsuarioVer1.0.docx