SlideShare una empresa de Scribd logo
1 de 110
Descargar para leer sin conexión
S.E.P
I

D.G.E.S.T

S.N.E.S.T

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.

ISC – 2013 / 12

Diciembre de 2013
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.

ii
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.

iii
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.

iv
Í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
v
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
3.2

Tipos de base de datos ____________________________________ 43

3.3

Componentes de los sistemas gestores de bases de datos ______ 44

3.4
4.

Concepto de base de datos ________________________________ 42

Arquitectura de los sistemas de Bases de datos _______________ 45

INTRODUCCIÓN A MYSQL _____________________________________ 47
4.1
4.2

Concepto de SQL _________________________________________ 47

4.3

Tipos de datos ___________________________________________ 48

4.4
5.

¿Qué es MySQL? _________________________________________ 47

Tipos de sentencias SQL __________________________________ 50

JAVA_______________________________________________________ 51
5.1

Fundamentos de programación _____________________________ 51

vi
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

vii
Í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

viii
Í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

ix
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
10
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.
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.

12
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

13

“Moisés

Sáenz”?
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.
14
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.
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.

16
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

Generar el reporte de las
horas trabajadas.



asistencia.

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

17
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.
ANÁLISIS DE FUNDAMENTOS

20
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)

21
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.
Personal administrativo
Internos

Profesionales y técnicos
Gestores y directivos

Usuarios
Clientes

Proveedores
Externos
Aliados o partners
Trabajadores externos

Figura 1.3.1 Tipología de usuarios de sistemas
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, ComputerSupported 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)
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
42
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.
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)

47
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
BIT (longitud)
BIT VARYING (longitud)

Descripción
Cadenas de bits de longitud fija.
Cadenas de bits de longitud variables.

NUMERIC

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

(precisión, escala)

precisión y tantos decimales como indique la escala.

DECIMAL

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

(precisión, escala)

precisión y tantos decimales como indique la escala.

INTEGER

Números enteros.

SMALLINT

Números enteros pequeños.

REAL
FLOAT (precisión)

DOUBLE PRECISION
DATE

Números con coma flotante con precisión predefinida.
Números con coma flotante con la precisión
especificada.
Números con coma flotante con más precisión
predefinida que la del tipo REAL.
Fechas. Están compuestas de: YEAR año, MONTH
49

mes, DAY día.
Horas. Están compuestas de HOUR hora, MINUT

TIME

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

TIMESTAMP

MONTH mes, DAY día, HOUR hora, MINUT minutos,
SECOND segundos.

Tabla 4.3.2 Tipos de datos
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.

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

HOUR

MINUT

DAY
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)
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)
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)

51
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

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)

X+ +

X- -

=+=-=*=/=%=&==
| = <<= >>= >>>=

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 Valor por

Valor mínimo

Valor máximo

en bits

defecto

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)
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

58
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
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ó
60
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)
PERSONAL
ADMINISTRATIVO



Ingreso al
sistema

Pone Huella

Ingreso al sistema
Ingreso al sistema
DOCENTES

Ponen Huella

0
SISTEMA DE
CONTROL
DE
ASISTENCIA

Alta de usuarios
Horario
Reporte

ADMINISTRADOR
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
1

Recurso
Computadora
Escritorio

Características
de 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

Digital

Huella Lector de Huella Digital U Are U
uru4500, conector USB.

Tabla 6.1.2. Requerimientos de Software para el desarrollo del sistema

Software
Recurso
Sistema Operativo

Características
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
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

PAGO

CONCEPTO DE PAGO

ACTIVIDADES

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

73

MENSUAL

$ 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.

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

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

Acceso

idInasistencia

Reporte

Huella

Motivo

idReporte

Nombre

Fecha

Nombre

Nombre

Asistencias
AltaUsuarios

idAsistencia
Fecha

Nombre

Nombre

Teléfono

HoraEntrada

Dirección

HoraSalida

Email
NombreCargo

Permiso

Turno

idPermiso
Nombre
FechaSolicitud

HorarioPersonalAdministrativo

FechaSalida

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("")||(Ca
rgo.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:

1. ¿Qué tan satisfecho está usted con el
sistema actual de control de asistencia?
Nada

Poco

10%

Regular

7%

13%

70%

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.

2. ¿Qué tan importante considera usted la
creación de un sistema automatizado de
Control de Asistencias?
Nada

Poco

Regular

Mucho

0%
17%

53%
30%

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.
83

3. ¿Cree usted que le beneficiaría el sistema
automatizado de Control de Asistencias?
si

no

7%

93%

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.
84

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.

6%
17%
50%

27%

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

85
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.

86
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
87
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

Sistemas de información que apoyan a los

conocimiento

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 Son un tipo de software muy específico,
datos o SGBD

dedicado a servir de interfaz entre la base de
datos, el usuario y las aplicaciones que la
utilizan.

Sistema de gestión MIS (del

Es una herramienta o aplicación informática

inglés Management Information

que permite controlar todos y cada uno de

System)

los aspectos de una empresa (pedidos,
producción,

control

de

presencia,

facturación, ventas, administración, etc.).

Sistema de Procesamiento de Está basado en la computadora y la relación
Transacciones (TPS)

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

Decisión (DSS)

Soporte

a

la 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.
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz
Sistema control asistencia Bachillerato Moisés Sáenz

Más contenido relacionado

La actualidad más candente

Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrolloHermes Romero
 
Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Gustavo Gualsema
 
Requerimientos funcionales y no funcionales PMBOK
Requerimientos  funcionales y no funcionales PMBOKRequerimientos  funcionales y no funcionales PMBOK
Requerimientos funcionales y no funcionales PMBOKIsmael Fernandez R
 
Cuadro comparativo de los modelos de proceso del software (1)
Cuadro comparativo  de los modelos de proceso del software (1)Cuadro comparativo  de los modelos de proceso del software (1)
Cuadro comparativo de los modelos de proceso del software (1)Erik Emanuel Amador Saldaña
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
Preguntas analisis y determinacion de requerimientos
Preguntas analisis y determinacion de requerimientosPreguntas analisis y determinacion de requerimientos
Preguntas analisis y determinacion de requerimientosOtto Gutierrez
 
6. Administración de la Calidad de Software
6. Administración de la Calidad de Software6. Administración de la Calidad de Software
6. Administración de la Calidad de SoftwareMario A Moreno Rocha
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejerciciosWalter Chacon
 

La actualidad más candente (20)

Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
 
Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)
 
Requerimientos funcionales y no funcionales PMBOK
Requerimientos  funcionales y no funcionales PMBOKRequerimientos  funcionales y no funcionales PMBOK
Requerimientos funcionales y no funcionales PMBOK
 
Modelos evolutivos. incremental y espiral
Modelos evolutivos. incremental y espiralModelos evolutivos. incremental y espiral
Modelos evolutivos. incremental y espiral
 
Ingeniería de software modelo incremental
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
 
Cuadro comparativo de los modelos de proceso del software (1)
Cuadro comparativo  de los modelos de proceso del software (1)Cuadro comparativo  de los modelos de proceso del software (1)
Cuadro comparativo de los modelos de proceso del software (1)
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Preguntas analisis y determinacion de requerimientos
Preguntas analisis y determinacion de requerimientosPreguntas analisis y determinacion de requerimientos
Preguntas analisis y determinacion de requerimientos
 
Prototipado del software
Prototipado del softwarePrototipado del software
Prototipado del software
 
Php basico
Php basicoPhp basico
Php basico
 
Diagramas de clases
Diagramas de clasesDiagramas de clases
Diagramas de clases
 
1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño
 
Proyecto de Sistemas de Información
Proyecto de Sistemas de InformaciónProyecto de Sistemas de Información
Proyecto de Sistemas de Información
 
Ejercicio scrum
Ejercicio scrumEjercicio scrum
Ejercicio scrum
 
6. Administración de la Calidad de Software
6. Administración de la Calidad de Software6. Administración de la Calidad de Software
6. Administración de la Calidad de Software
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Ejemplo de fdd
Ejemplo de fddEjemplo de fdd
Ejemplo de fdd
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejercicios
 
Comunicación entre Procesos
Comunicación entre ProcesosComunicación entre Procesos
Comunicación entre Procesos
 

Similar a Sistema control asistencia Bachillerato Moisés Sáenz

Manual_de_Implementacion - Modelo Estandar de Control Interno para Institucio...
Manual_de_Implementacion - Modelo Estandar de Control Interno para Institucio...Manual_de_Implementacion - Modelo Estandar de Control Interno para Institucio...
Manual_de_Implementacion - Modelo Estandar de Control Interno para Institucio...andrcas
 
Presentacion Proyecto Integrador Nivel Uno
Presentacion Proyecto Integrador Nivel UnoPresentacion Proyecto Integrador Nivel Uno
Presentacion Proyecto Integrador Nivel Unomauricio
 
Administracion de proyectos en areas dedesarrollo de software
Administracion de proyectos en areas dedesarrollo de softwareAdministracion de proyectos en areas dedesarrollo de software
Administracion de proyectos en areas dedesarrollo de softwareMario José Marazzi
 
Resumen maria de los angeles
Resumen maria de los angelesResumen maria de los angeles
Resumen maria de los angelesjcezarv
 
Modelo de prototipo
Modelo de prototipoModelo de prototipo
Modelo de prototipoyanezcabrera
 
Metodologia de cascada (pedro rincon)
Metodologia de cascada (pedro rincon)Metodologia de cascada (pedro rincon)
Metodologia de cascada (pedro rincon)Pedro10Rincon
 
Memoria pfc, Metaproxy documentation
Memoria pfc,  Metaproxy documentationMemoria pfc,  Metaproxy documentation
Memoria pfc, Metaproxy documentationslok69
 
Documento word pestaña diseño de pagina
Documento word pestaña diseño de paginaDocumento word pestaña diseño de pagina
Documento word pestaña diseño de pagina15309292
 
Itsa metodologias de desarrollo de software (alejandra virrueta mendez)
Itsa  metodologias de desarrollo de software (alejandra virrueta mendez)Itsa  metodologias de desarrollo de software (alejandra virrueta mendez)
Itsa metodologias de desarrollo de software (alejandra virrueta mendez)virrueta
 
Mcvs ad-01 modelo de arquitectura del software
Mcvs ad-01 modelo de arquitectura del softwareMcvs ad-01 modelo de arquitectura del software
Mcvs ad-01 modelo de arquitectura del softwaregiancarlo Aguirre Campos
 
Formato de registro_de_asesorias_ingsistemas
Formato de registro_de_asesorias_ingsistemasFormato de registro_de_asesorias_ingsistemas
Formato de registro_de_asesorias_ingsistemasutolima
 
Formato 3 evaluación de la propuesta de sistematización de práctica
Formato 3 evaluación de la propuesta de sistematización de prácticaFormato 3 evaluación de la propuesta de sistematización de práctica
Formato 3 evaluación de la propuesta de sistematización de prácticaMónica Perassi
 
Formato 3 evaluación de la propuesta de sistematización de práctica
Formato 3 evaluación de la propuesta de sistematización de prácticaFormato 3 evaluación de la propuesta de sistematización de práctica
Formato 3 evaluación de la propuesta de sistematización de prácticaMónica Perassi
 
GERENCIA Y DESAROLLO DE SOFTWARE
GERENCIA Y DESAROLLO DE SOFTWAREGERENCIA Y DESAROLLO DE SOFTWARE
GERENCIA Y DESAROLLO DE SOFTWAREjhompix
 
CONTROL Y SUPERVISION DE LLENADO DE BOTELLAS CON PLC S7-1200 Y LABVIEW (SERVI...
CONTROL Y SUPERVISION DE LLENADO DE BOTELLAS CON PLC S7-1200 Y LABVIEW (SERVI...CONTROL Y SUPERVISION DE LLENADO DE BOTELLAS CON PLC S7-1200 Y LABVIEW (SERVI...
CONTROL Y SUPERVISION DE LLENADO DE BOTELLAS CON PLC S7-1200 Y LABVIEW (SERVI...UNIVERSIDAD NACIONAL DE TRUJILLO
 
Metodologias desarrollo-software
Metodologias desarrollo-softwareMetodologias desarrollo-software
Metodologias desarrollo-softwareAdam Guevara
 

Similar a Sistema control asistencia Bachillerato Moisés Sáenz (20)

Ramos lmj
Ramos lmjRamos lmj
Ramos lmj
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
Manual_de_Implementacion - Modelo Estandar de Control Interno para Institucio...
Manual_de_Implementacion - Modelo Estandar de Control Interno para Institucio...Manual_de_Implementacion - Modelo Estandar de Control Interno para Institucio...
Manual_de_Implementacion - Modelo Estandar de Control Interno para Institucio...
 
Presentacion Proyecto Integrador Nivel Uno
Presentacion Proyecto Integrador Nivel UnoPresentacion Proyecto Integrador Nivel Uno
Presentacion Proyecto Integrador Nivel Uno
 
Administracion de proyectos en areas dedesarrollo de software
Administracion de proyectos en areas dedesarrollo de softwareAdministracion de proyectos en areas dedesarrollo de software
Administracion de proyectos en areas dedesarrollo de software
 
Resumen maria de los angeles
Resumen maria de los angelesResumen maria de los angeles
Resumen maria de los angeles
 
Metrica Geoservidor IIAP
Metrica Geoservidor IIAPMetrica Geoservidor IIAP
Metrica Geoservidor IIAP
 
Modelo de prototipo
Modelo de prototipoModelo de prototipo
Modelo de prototipo
 
Metodologia de cascada (pedro rincon)
Metodologia de cascada (pedro rincon)Metodologia de cascada (pedro rincon)
Metodologia de cascada (pedro rincon)
 
Memoria pfc, Metaproxy documentation
Memoria pfc,  Metaproxy documentationMemoria pfc,  Metaproxy documentation
Memoria pfc, Metaproxy documentation
 
Documento word pestaña diseño de pagina
Documento word pestaña diseño de paginaDocumento word pestaña diseño de pagina
Documento word pestaña diseño de pagina
 
Itsa metodologias de desarrollo de software (alejandra virrueta mendez)
Itsa  metodologias de desarrollo de software (alejandra virrueta mendez)Itsa  metodologias de desarrollo de software (alejandra virrueta mendez)
Itsa metodologias de desarrollo de software (alejandra virrueta mendez)
 
Mcvs ad-01 modelo de arquitectura del software
Mcvs ad-01 modelo de arquitectura del softwareMcvs ad-01 modelo de arquitectura del software
Mcvs ad-01 modelo de arquitectura del software
 
Formato de registro_de_asesorias_ingsistemas
Formato de registro_de_asesorias_ingsistemasFormato de registro_de_asesorias_ingsistemas
Formato de registro_de_asesorias_ingsistemas
 
Slideshare laminas
Slideshare laminasSlideshare laminas
Slideshare laminas
 
Formato 3 evaluación de la propuesta de sistematización de práctica
Formato 3 evaluación de la propuesta de sistematización de prácticaFormato 3 evaluación de la propuesta de sistematización de práctica
Formato 3 evaluación de la propuesta de sistematización de práctica
 
Formato 3 evaluación de la propuesta de sistematización de práctica
Formato 3 evaluación de la propuesta de sistematización de prácticaFormato 3 evaluación de la propuesta de sistematización de práctica
Formato 3 evaluación de la propuesta de sistematización de práctica
 
GERENCIA Y DESAROLLO DE SOFTWARE
GERENCIA Y DESAROLLO DE SOFTWAREGERENCIA Y DESAROLLO DE SOFTWARE
GERENCIA Y DESAROLLO DE SOFTWARE
 
CONTROL Y SUPERVISION DE LLENADO DE BOTELLAS CON PLC S7-1200 Y LABVIEW (SERVI...
CONTROL Y SUPERVISION DE LLENADO DE BOTELLAS CON PLC S7-1200 Y LABVIEW (SERVI...CONTROL Y SUPERVISION DE LLENADO DE BOTELLAS CON PLC S7-1200 Y LABVIEW (SERVI...
CONTROL Y SUPERVISION DE LLENADO DE BOTELLAS CON PLC S7-1200 Y LABVIEW (SERVI...
 
Metodologias desarrollo-software
Metodologias desarrollo-softwareMetodologias desarrollo-software
Metodologias desarrollo-software
 

Sistema control asistencia Bachillerato Moisés Sáenz

  • 1. S.E.P I D.G.E.S.T S.N.E.S.T 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. ISC – 2013 / 12 Diciembre de 2013
  • 2. 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. ii
  • 3. 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. iii
  • 4. 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. iv
  • 5. Í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 v
  • 6. 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 3.2 Tipos de base de datos ____________________________________ 43 3.3 Componentes de los sistemas gestores de bases de datos ______ 44 3.4 4. Concepto de base de datos ________________________________ 42 Arquitectura de los sistemas de Bases de datos _______________ 45 INTRODUCCIÓN A MYSQL _____________________________________ 47 4.1 4.2 Concepto de SQL _________________________________________ 47 4.3 Tipos de datos ___________________________________________ 48 4.4 5. ¿Qué es MySQL? _________________________________________ 47 Tipos de sentencias SQL __________________________________ 50 JAVA_______________________________________________________ 51 5.1 Fundamentos de programación _____________________________ 51 vi
  • 7. 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 vii
  • 8. Í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 viii
  • 9. Í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 ix
  • 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 10
  • 11. 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. 12
  • 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 13 “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. 14
  • 15. 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. 16
  • 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 Generar el reporte de las horas trabajadas.  asistencia. 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 17
  • 18. 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. 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.
  • 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) 21
  • 22. 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. 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. 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. Personal administrativo Internos Profesionales y técnicos Gestores y directivos Usuarios Clientes Proveedores Externos Aliados o partners Trabajadores externos Figura 1.3.1 Tipología de usuarios de sistemas
  • 25. 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. 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. 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. 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. 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. 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. 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, ComputerSupported 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 42
  • 43. 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. 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. 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. 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) 47
  • 48. 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 BIT (longitud) BIT VARYING (longitud) Descripción Cadenas de bits de longitud fija. Cadenas de bits de longitud variables. NUMERIC Número decimales con tantos dígitos como indique la (precisión, escala) precisión y tantos decimales como indique la escala. DECIMAL Número decimales con tantos dígitos como indique la (precisión, escala) precisión y tantos decimales como indique la escala. INTEGER Números enteros. SMALLINT Números enteros pequeños. REAL FLOAT (precisión) DOUBLE PRECISION DATE Números con coma flotante con precisión predefinida. Números con coma flotante con la precisión especificada. Números con coma flotante con más precisión predefinida que la del tipo REAL. Fechas. Están compuestas de: YEAR año, MONTH
  • 49. 49 mes, DAY día. Horas. Están compuestas de HOUR hora, MINUT TIME minutos, SECOND segundos. Fechas y horas. Están compuestas de YEAR año, TIMESTAMP MONTH mes, DAY día, HOUR hora, MINUT minutos, SECOND segundos. Tabla 4.3.2 Tipos de datos 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. 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 HOUR MINUT DAY 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)
  • 50. 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) 51
  • 52. 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. 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. 54 Tabla 5.2.2 Precedencia de operadores en Java Operador Significado Tipos aceptados [ ] . (params) Operadores postfijo Todos 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) X+ + X- - =+=-=*=/=%=&== | = <<= >>= >>>= 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. 55 Tabla 5.2.3 Rangos de los tipos de datos para enteros Tipo Longitud Valor por Valor mínimo Valor máximo en bits defecto 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. 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. 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 58
  • 59. 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ó 60
  • 61. 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. 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. 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. 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. 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) PERSONAL ADMINISTRATIVO  Ingreso al sistema Pone Huella Ingreso al sistema Ingreso al sistema DOCENTES Ponen Huella 0 SISTEMA DE CONTROL DE ASISTENCIA Alta de usuarios Horario Reporte ADMINISTRADOR
  • 66. 66 Diagrama de caso de uso general
  • 68. 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. 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. 70 Tabla 6.1.1 Requerimientos de Hardware para el desarrollo del sistema Hardware Cantidad 1 Recurso Computadora Escritorio Características de 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 Digital Huella Lector de Huella Digital U Are U uru4500, conector USB. Tabla 6.1.2. Requerimientos de Software para el desarrollo del sistema Software Recurso Sistema Operativo Características Windows 7, Starter, Home basic, home Premium, Professional, Ultimate, etc.
  • 71. 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
  • 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 PAGO CONCEPTO DE PAGO ACTIVIDADES 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 73 MENSUAL $ 2,400
  • 74. 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. 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 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.
  • 75. 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)
  • 77. 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. 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("")||(Ca rgo.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. 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. 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.
  • 81. 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: 1. ¿Qué tan satisfecho está usted con el sistema actual de control de asistencia? Nada Poco 10% Regular 7% 13% 70% Mucho
  • 82. 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. 2. ¿Qué tan importante considera usted la creación de un sistema automatizado de Control de Asistencias? Nada Poco Regular Mucho 0% 17% 53% 30% 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.
  • 83. 83 3. ¿Cree usted que le beneficiaría el sistema automatizado de Control de Asistencias? si no 7% 93% 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.
  • 84. 84 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. 6% 17% 50% 27% 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.
  • 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. 85
  • 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. 86
  • 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 87
  • 88. 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 Sistemas de información que apoyan a los conocimiento 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. 89 Sistemas de gestión de base de Son un tipo de software muy específico, datos o SGBD dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Sistema de gestión MIS (del Es una herramienta o aplicación informática inglés Management Information que permite controlar todos y cada uno de System) los aspectos de una empresa (pedidos, producción, control de presencia, facturación, ventas, administración, etc.). Sistema de Procesamiento de Está basado en la computadora y la relación Transacciones (TPS) 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 Decisión (DSS) Soporte a la 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. 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.