Sie sind auf Seite 1von 42

“Año de la lucha contra la corrupción e impunidad”

SERVICIO NACIONAL DE ADIESTRAMIENTO EN TRABAJO


INDUSTRIAL

ESPECIALIDAD:

DESARROLLO DE SOFTWARE
Proyecto de Innovación y/o Mejora en los Procesos de Producción o
Servicio en la Empresa

DESARROLLO E IMPLEMENTACIÓN
DE SISTEMA DE CONTROL DE
ASISTENCIA Y NOTIFICACIÓN
ASESOR:
Prof. HILARIO POMA, Rodolfo Víctor
AUTOR
ANTONIO VALVERDE, Cristian Timoteo

HUANCAYO-PERÚ

2019
“Las oportunidades grandes nacen de haber sabido aprovechar las pequeñas”
Bill Gates

ii
Este trabajo está dedicado a mi familia
por su incondicional apoyo, compresión y
amor durante todos estos años de mi vida.

Antonio Valverde Cristian T.

ii
AGRADECIMIENTOS

El presente trabajo de innovación lo dedico principalmente a Dios, por ser el


inspirador y darnos fuerza para continuar en este proceso de obtener uno de los
anhelos más deseado.
A mis padres, por su amor, trabajo y sacrificio en todos estos años, la inversión
realiza en mí y la confianza depositada para poder conseguir mis sueños. Ha sido un
orgullo y el privilegio de ser su hijo, son los mejores padres.
A mis amigos que aportan con sus saberes, ayudándome en problemas que no podía
resolver y enseñándome cosas que no comprendía, a ellos gracias por el apoyo.

3
PRESENTACION DEL PARTICIPANTE

APELLIDOS Y NOMBRE : ANTONIO VALVERDE


Cristian Timoteo

ID : 986349

PROGRAMA : Dual

INGRESO : Desarrollo de Software

DIRECCION : Jr. Las Violetas #401

CORREO ELECTRONICO : tauro24_vs@hotmail.com

TELEFONO : 929815649

4
DENOMINACION DEL PROYECTO

TITULO DESARROLLO E IMPLEMENTACIÓN DE


SISTEMA DE CONTROL DE ASISTENCIA Y
NOTIFICACIÓN
.

CFP. /AULA : HUANCAYO – 303

EMPRESA : CETIC.SAC

SECCION / AREA : PROGRAMACION

LUGAR Y FECHA : HUANCAYO, 04 DE MAYO


2019

5
INTRODUCCION

Señores miembros del jurado calificador, dejo a vuestra consideración el proyecto de innovación
titulado:
“DESARROLLO E IMPLEMENTACION DE SISTEMA DE CONTROL DE ASISTENCIA Y
NOTIFICACION”

El presente trabajo de innovación tecnológica fue realizado en la empresa de Centro de Tecnologías


de la Información y Comunicación Sociedad Anónima Cerrada, con el fin de realizar un trabajo que
corresponda la necesidad de la empresa y cliente, por ello a partir de mi experiencia como alumno y
mis practicas pre-profesionales, encontrando cierto sistema de un cliente para poder realizarlo y
presentar como proyecto de innovación.

El trabajo está dividido en capítulos para un mejor entendimiento, el capítulo tiene que ver con una
aproximación al proyecto, incluye la situación real encontrada, los antecedentes y los objetivos; en el
capítulo II se considera la descripción teórica del trabajo como son las herramientas utilizadas, el
lenguaje, frameworks, y librerías de códigos de barras, y codificación del sistema, mientras que en el
capítulo III, tenemos los requerimientos tanto como funcionales como no funcionales, modelo de
base de datos y los diagramas de flujo, finalmente en el capítulo IV, la descripción de costos, insumos
y tiempo del trabajo. Finalmente las conclusiones, sugerencias, la bibliografía recomendada y los
anexos.

Espero que el trabajo se considere como una alternativa para la mejora en la actitud y la seguridad de
los estudiantes de dicha institución también así dando confianza a más personas para inscribir a sus
hijos a estudiar en la IEP.

6
INDICE

Dedicatora................................................................................................................................... II
Agradecimientos ...................................................................................................................... III
Resumen .....................................................................................................................................IV
Epigrafe ....................................................................................................................................... V
Indice ..........................................................................................................................................VI
Capitulo I
1. Empresa y actividad .............................................................................................................. 6
2. Empresa y actividad .............................................................................................................. 7
Caputulo II
3

7
CAPITULO I
1. Aproximacion al proyecto de innovacion
1.1 Situacion real encontrada
La empresa “CETIC SAC” donde realice mis prácticas
profesionales, se encarga del análisis y construcción de software para los
diferentes clientes de Huancayo. Donde trabajan dos Ingenieros de
Sistemas y Técnicos en desarrollo de Software. Tiene 5 años en el
servicio de Desarrollo de Software para diferentes empresas.

Mediante la extracción del requerimiento de un sistema para un


cliente de una institución educativa puede observar que tenían deficiencia
en el control de los alumnos ya que muchos de ellos se evadían de la
institución educativa y no llegaban al destino por lo cual propuso
implementar un sistema para el control de sus alumnos mediante código
de barras que avisaran la asistencia de ellos a sus padres, así como
también enviando notificaciones mediante la aplicación Android.

El proyecto a implementar por mi persona por medio de una


aplicación Android, permite que los alumnos registren sus ingresos
mediante un carnet con código de barras, consecutivamente el ingreso es
notificado a sus padres mediante la aplicación.

La propuesta es integrar este sistema para dicha institución


educativa evaluando así las mejoras que tendría en cuanto a la asistencia
y tardanzas.

8
1.2 Antecedentes
1.2.1 A Nivel Internacional
Autor: Alfredo Càdiz. Con el proyecto denominado “Toma de asistenacias
con QR: alternativas de implementación y decisión de diseño” . Realizado
en la empresa min.read, Bogota, Colombia 2017

Resumen: Dado lo anterior, para diseñar una solución tecnológica que


aporte al proceso descrito, tenemos que definir los supuestos y requisitos
asociados a él. Primero, la nueva funcionalidad no debería ser peor o igual
a lo que ya existe. Es decir, si el uso de la tecnología no hace el proceso
más ágil ni más seguro, no vale la pena ejecutarlo. Sin soporte tecnológico,
los profesores toman asistencia repasando la lista de alumnos a viva voz y
esperando una respuesta del alumno. La otra alternativa es entregar una
hoja que los alumnos van rellenando con su nombre y su firma. En el
primer caso, es un proceso lento y que requiere que el profesor nombre a
cada persona del curso. En el segundo, si bien no quita tiempo de clases,
permite que los alumnos presentes firmen por sus compañeros que no
estén presentes.
1.2.2 A Nivel Internacional
Autor: Jose Martinez Lopez Con el proyecto denominado “Enviar
notificaciones de asistencia a través de Edvoice”. Realizado en la empresa
EDTeam Lima, Peru 2016.
Resumen: En el caso de la versión de Additio App para dispositivos
móviles, no será necesario realizar de nuevo la configuración de las
notificaciones que se hayan hecho previamente en la versión web.
Lo que como estas aplicaciones pueden trabajar sin conexión, en el caso
que se hagan cambios en la asistencia o las notas, estas se deberán enviar
de forma manual al servidor mediante un botón que aparecerá en el área
del título de la pestaña. Este botón sólo estará visible en aquellos grupos
que tengan activado Edvoice y en los que se haya configurado previamente
las notificaciones desde la web.

9
1.3 OBJETIVOS

1.2.1 Objetivo General

Diseñar y elaborar un sistema de notificación de asistencias, para mejorar

las asistencias y tardanzas de los alumnos.

1.3.2 Objetivos específicos

a. Analizar la base de datos según los requerimientos del sistema.

b. Realizar los diagramas de flujos para analizar el funcionamiento del

sistema

c. Crear los códigos de barra para los alumnos mediante una librería

barcode.

d. Investigar sobre el desarrollo en el lenguaje de Java.

e. Mejorar las asistencias y tardanzas de los alumnos a través de mi

propuesta de innovación

f. Aumentar la calidad de la institución educativa atrayendo así más


estudiantes a dicha institución.

1.4 Justificación

Todos los padres de familia tendrán acceso al sistema de notificación.

Los padres de familia podrán ver a qué hora llegaron sus hijos a la institución educativa,

así como también notificaciones de la institución educativa

1
0
CAPITULO II
2. Descripción Teórica Del Proyecto
2.1 Marco Teórico

El desarrollo de un programa computarizado optimiza el tiempo de sistematizar la


labor de los administrativos, especialmente desarrollado para un análisis rápido y
eficaz.

2.1.1 Bases Teóricas:

a. Lenguaje JAVA
La tecnología Java se usa para desarrollar aplicaciones para un amplio alcance de
entornos, desde dispositivos del consumidor hasta sistemas empresariales
heterogéneos. Y para este proyecto necesitamos un amplio conocimiento de desarrollo
en JAVA tanto como sus librerías y sus funciones.
b. Servidor LINUX
Linux maneja grandes cantidades de procesos mucho mejor que Windows y no
requiere reiniciar ante los cambios de configuración o luego de actualizaciones del
sistema. Windows se degrada con el tiempo y de cuando en cuando requerirá
intervención del usuario para desfragmentar el disco duro, limpiar el registro o aplicar
cualquier otro artilugio que permita devolverle un poco de agilidad al sistema. Por esta
razón se decide implementar el servidor LINUX para alojar el sistema de desarrollo e
implementación del sistema de control de asistencia y notificación.
c. Base de datos SQL Server
El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz
gráfica de Management Studio) es Transact-SQL (TSQL), una implementación del
estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML),
crear tablas y definir relaciones entre ellas, será útil para los manejos de datos para así
poder realizar las consultar debidas y entregarlas al usuario como notificación.

2.3. Secuencias y pasos de trabajo


 Modelar la base de datos. 1
1
 Diseño FRONT-END y BACK-END
 Diseñar la base de datos según los requerimientos.
 Codificar la base de datos y hacer pruebas.
 Iniciar un proyecto con Android Studio (Java)
 Importar las librerías para las lecturas de código de barra
 Codificar según el diseño del FRON-END
 Realizar el código del BACK-END
 Hacer pruebas del sistema

2.4 Concepto tecnológicos

1.1.1. JAVA
A. Definición del lenguaje de programación java

Java es un lenguaje de programación orientado a objetos que se


incorporó al ámbito de la informática en los años noventa. La idea
de Java es que pueda realizarse programas con la posibilidad de
ejecutarse en cualquier contexto, en cualquier ambiente, siendo así su
portabilidad uno de sus principales logros. Fue desarrollado por Sun
Microsystems, posteriormente adquirido por Oracle. En la actualidad
puede utilizarse de modo gratuito, pudiéndose conseguir sin problemas
un paquete para desarrolladores que oriente la actividad de programar en
este lenguaje. Puede ser modificado por cualquiera, circunstancia que lo
convierte en lo que comúnmente se denomina “código abierto”.
B. Metodología de trabajo scrum

Scrum es un framework que permite trabajar en una serie de interacciones en


equipo. Las fases que definen y en las que se divide un proceso de SCRUM
son las siguientes:

1. El quién y el qué: identifica los roles de cada uno de los miembros del
equipo y define su responsabilidad en el proyecto.
2. El dónde y el cuándo: que representan el Sprint.
3. El por qué y el cómo: representan las herramientas que utilizan los
miembros de Scrum.
1
2
1
3
El proceso parte de la lista de objetivos/requisitos priorizada del producto, que actúa

como plan del proyecto. En esta lista el cliente (Product Owner) prioriza los

objetivos balanceando el valor que le aportan respecto a su coste (que

el equipo estima considerando la Definición de Hecho) y quedan repartidos en

iteraciones y entregas.

Las actividades que se llevan a cabo en Scrum son las siguientes (los tiempos

indicados son para iteraciones de 2 semanas):

Planificación de la iteración

El primer día de la iteración se realiza la reunión de planificación de la iteración. Tiene

dos partes:

1. Selección de requisitos (2 horas). El cliente presenta al equipo la lista de requisitos

priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que surgen y

selecciona los requisitos más prioritarios que prevé que podrá completar en la iteración,

de manera que puedan ser entregados si el cliente lo solicita.

2. Planificación de la iteración (2 horas). El equipo elabora la lista de tareas de la

iteración necesarias para desarrollar los requisitos seleccionados. La estimación de

esfuerzo se hace de manera conjunta y los miembros del equipo se autoasignan las

tareas, se autoorganizan para trabajar incluso en parejas (o grupos mayores) con el fin

de compartir conocimiento (creando un equipo más resiliente) o para resolver juntos

objetivos especialmente complejos.

Ejecución de la iteración

Cada día el equipo realiza una reunión de sincronización (15 minutos), normalmente

delante de un tablero físico o pizarra (Scrum Taskboard). El equipo inspecciona el

trabajo que el resto está realizando (dependencias


1 entre tareas, progreso hacia el
4
objetivo de la iteración, obstáculos que pueden impedir este objetivo) para poder hacer
las adaptaciones necesarias que permitan cumplir con la previsión de objetivos a

mostrar al final de la iteración. En la reunión cada miembro del equipo responde a tres

preguntas:

 ¿Qué he hecho desde la última reunión de sincronización para ayudar al equipo a

cumplir su objetivo?

 ¿Qué voy a hacer a partir de este momento para ayudar al equipo a cumplir su objetivo?

 ¿Qué impedimentos tengo o voy a tener que nos impidan conseguir nuestro objetivo?

Durante la iteración el Facilitador (Scrum Master) se encarga de que el equipo pueda

mantener el foco para cumplir con sus objetivos.

 Elimina los obstáculos que el equipo no puede resolver por sí mismo.

 Protege al equipo de interrupciones externas que puedan afectar el objetivo de la

iteración o su productividad.

Durante la iteración, el cliente junto con el equipo refinan la lista de requisitos (para

prepararlos para las siguientes iteraciones) y, si es necesario, cambian o replanifican los

objetivos del proyecto (10%-15% del tiempo de la iteración) con el objetivo

de maximizar la utilidad de lo que se desarrolla y el retorno de inversión.

Inspección y adaptación

El último día de la iteración se realiza la reunión de revisión de la iteración. Tiene dos

partes:

1. Revisión (demostración) (1,5 horas). El equipo presenta al cliente los requisitos

completados en la iteración, en forma de incremento de producto preparado para ser

entregado con el mínimo esfuerzo. En 1función de los resultados mostrados y de los


5
cambios que haya habido en el contexto del proyecto, el cliente realiza las adaptaciones

necesarias de manera objetiva, ya desde la primera iteración, replanificando el proyecto.

2. Retrospectiva (1,5 horas). El equipo analiza cómo ha sido su manera de trabajar y

cuáles son los problemas que podrían impedirle progresar adecuadamente, mejorando

de manera continua su productividad. El Facilitador se encargará de eliminar o escalar

los obstáculos identificados que estén más allá del ámbito de acción del equipo.

C. Lector de Codigo de Barras

Un lector de códigos de barras es un dispositivo electrónico que por medio de

un láser lee el código de barras y emite el número que muestra el código de barras, no

la imagen. Básicamente, consiste en el escáner propiamente dicho (que mediante un

láser lee el código), un decodificador y un cable o antena wifi que actúa como

interfaz entre el decodificador y el terminal o la computadora.

La función del escáner es leer el símbolo del código de barras y proporcionar una

salida eléctrica a la computadora, correspondiente a las barras y espacios del código

de barras. Sin embargo, es el decodificador el que reconoce la simbología del código

de barras, analiza el contenido del código de barras leído y transmite dichos datos a la

computadora en un formato de datos tradicional. Tiene varios medios de conexión:

los más modernos por orden de aparición USB, bluetooth, wifi, los más viejos puerto

serie, incluso directamente al puerto PS2 del teclado por medio de un adaptador,

cuando se pasa un código de barras por el escáner es como si se hubiese escrito en el

teclado el número del código de barras.

Un escáner puede tener el decodificador incorporado en el mango o puede tratarse de

un escáner sin decodificador que requiere


1 una caja separada, llamada interfaz o
6
emulador. Los escáneres sin decodificador también se utilizan cuando se establecen
conexiones con escáneres portátiles tipo “batch” (por lotes) y el proceso de

decodificación se realiza mediante el terminal propiamente dicho.

1
7
D. Librería BARCODE
1. la librería barcode puedes descargarla de aqui

https://sourceforge.net/projects/barcode4j/files/

1.1 descomprimes el zip dentro habrá un archivo .jar

2. abres el proyecto en netBeans y agregas el archivo .jar

2.1 agregas un jFRAME y colocas dentro del (cuatro botones, un

jTextfiel su nombre de variable sera (txtcodigo), un label)

3 creas una clase dentro de ese paquete con el siguiente nombre

ImageSelection.

3.1 eliminas todo menos nombre del paquete y colocas el siguiente

condigo dentro de ella

2.

3. import java.awt.Image;

4. import java.awt.datatransfer.DataFlavor;

5. import java.awt.datatransfer.Transferable;

6. import java.awt.datatransfer.UnsupportedFlavorException;

7. import java.io.IOException;

8.

9. /**

10. *

11. * @author noeBz

12. */

13. public class ImageSelection implements Transferable{

14. private Image image;

20
15.

16. public ImageSelection(Image image) {

17. this.image = image;

18. }

19. public DataFlavor[] getTransferDataFlavors() {

20. return new DataFlavor[] { DataFlavor.imageFlavor };

21. }

22.

23.

24. public boolean isDataFlavorSupported(DataFlavor flavor) {

25. return DataFlavor.imageFlavor.equals(flavor);

26. }

27. public Object getTransferData(DataFlavor flavor)throws

UnsupportedFlavorException, IOException {

28. if (!DataFlavor.imageFlavor.equals(flavor)) {

29. throw new UnsupportedFlavorException(flavor);

30. }

31. return image;

32. }

33. }

34. 4 Despues de vas a tu Jframe y haces doble click sobre el primer

botón

35. pegas el siguiente código

36. // TODO add your handling code here:

37. Barcode barcode = null;

38. try {
21
39. barcode = BarcodeFactory.createCode39(txtcodigo.getText(),

true);

40. } catch (Exception e) {

41. }

42. barcode.setDrawingText(false);

43.

44. barcode.setBarWidth(2);

45. barcode.setBarHeight(60);

46.

47. PrinterJob job = PrinterJob.getPrinterJob();

48. job.setPrintable(barcode);

49.

50. if (job.printDialog()){

51. try {

52. job.print();

53. } catch (PrinterException ex) {

54.

Logger.getLogger(codigobarras.class.getName()).log(Level.SEVERE,

null, ex);

55. }

56. }

57. con esto imprimirás tu código de barras para que lo puedas recortar y

pegar a cualquier producto. asi que te recomiendo que le pongas de

nombre algo así como " imprimir cod "

4.1 a ora el siguiente botón es nos permitirá visualizar el código en el

label para esto el label debes de agrandarlo y dejarlo vauició y como


22
nombre de variable le pondrás "lblcode". asemos el mismo proceso le

damos doble click para a el segundo botón y pondremos el siguiente

codigo

58. Barcode barcode = null;

59. try {

60. barcode = BarcodeFactory.createCode39(txtcodigo.getText(),

true);

61. } catch (Exception e) {

62. }

63. barcode.setDrawingText(false);

64.

65. barcode.setBarWidth(2);

66. barcode.setBarHeight(60);

67. BufferedImage image = new BufferedImage(300, 100,

BufferedImage.TYPE_INT_ARGB);

68. Graphics2D g = (Graphics2D) image.getGraphics();

69.

70. try {

71. barcode.draw(g, 5, 20);

72. } catch (Exception e) {

73. }

74. ImageIcon icon = new ImageIcon(image);

75. lblcode.setIcon(icon);

76. 4.2 y vamos a el tercer boton asemos lo mismo y ponemos que nos

servirá para copiar el codigo de barras en un porta papeles


23
77. Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();

78. ImageIcon image = (ImageIcon) lblcode.getIcon();

79. ImageSelection dh = new ImageSelection(image.getImage());

80. cb.setContents(dh, null);

24
Capitulo III

3. Planos del taller, cálculos esquemas y/o diagramas


Nuestro sistema ha de ser sencillo de utilizar y orientado a un
abanico de usuarios con una gran variedad de perfiles técnicos.
Todos los perfiles han de tener acceso a toda la funcionalidad. Con
esto queremos asegurarnos que cualquiera que pueda hacer
pruebas las haga sin problemas. En resumen, sólo tenemos un
tipo de usuario que pueda acceder a la aplicación por lo que sólo
tendremos un único diagrama de casos de uso.

Luego tenemos las funciones clásicas importar/exportar, muy


necesarias en este caso como lo es también la opción de ver
estadísticas del modelo. Para terminar con los más importantes,
tenemos el caso de uso de interactuar con el modelo. Esto nos
permitirá hacer zoom en la imagen o rotarla para verla desde
diferentes puntos.

25
3.1 Diagrama de Clases
El uso del lenguaje de programación JAVA nos ha permitido
estructurar nuestro sistema en bloques y tener una
organización basada en clases.

Crearemos cuatro bloques principales que van a interactuar


entre sí para que se pueda ejecutar nuestra aplicación. A
continuación describiremos cada bloque de forma individual,
y finalmente mostraremos un diagrama sencillo para explicar
cómo se interrelacionan.
Modulo Usuario General
Notificacion_Padre: En este modulo se ingresaran los
datos del ingreso y salida del alumno hacienda saber a los
padres de familia los datos de sus interes tanto asi como las
notificaciones
Modulos Administrativos
Registro_Ingreso: En este modulo se podra guardar la
informacion del ingreso del estudiando mendiante su codigo
de barra.
Registro_Salida: En este modulo se podra guarder la
informacion de salida del estudiante meduante el codigo de
barras
Notificaciones: En este modulo sera para poder enviar
notificaniones de los profesores o institucion educative a los
padres de familia.

3.2 Diagrama de flujo de funcionamiento del proyecto


3.3Diagrama esquemático del modulo pir hc-sr501
3.4 Diagrama esquemático de la placa de prototipado arduino uno
3.5 Diagrama esquemático de relay de dos canales a cinco voltios
3.6 Diagrama esquemático de la fuente para protoboard

26
Fase de Diseño

Analizando el problema

Análisis Técnico de la Arquitectura del Sistema de asistencia y notificación

File Server: Es el servidor donde se encuentran o almacenan los


archivos XML que son enviados y los archivos XML
comprimidos en formato ZIP que son enviados por a una API.
Sistema de asistencia y notificación: es una aplicación web que se
encarga de registrar la hora de llegada y de salida del estudiante
así mismo enviar los datos como notificación a los padres de
familia:
o Arquitectura de desarrollo de software MVC (Modelo Vista
Controlador), para lo cual utiliza el Framework Sprint
MVC.
o Para la capa de presentación utiliza el Framework
PrimeFaces.
o Para la capa de negocio utiliza Lenguaje de Programación
Java
o Para la capa de Persistencia de Datos, utiliza Hibérnate
o Para invocar los servicios de la API Rest de Codigo Barra
o Para la seguridad de la aplicación se utiliza Sprint Security

Active MQ: Es la librería que nos ayuda a reconocer los códigos de


barra de cada alumno “Generación de códigos de Barra”

27
Base de Datos EDITHOR: Es el servidor de Base de Datos donde
se almacena la información necesaria para llevar acabo las
funciones del Sistema de asistencia y notificación, las tablas
involucradas son las siguientes:

o STBL_ASISTENCIA: Tabla donde se registran el detalle de


los registros contenidos en los archivos de texto plano
generados por el sistema SAP, aquí también se actualiza el
estado de los comprobantes cuando han sido aceptados,
rechazados o están en proceso para ser enviados a MQ.
o STBL_COMUNICADOS: Tabla donde se registran
los parámetros utilizados en la aplicación de Sistema de
Facturación Electrónica
o STBL_REPORTE: Tabla maestra que contiene los datos
necesarios para mostrar en los combos o listas
desplegables, del Sistema de Facturación Electrónica los
estados de los comprobantes electrónicos.
o ALUMNOS: Tabla donde se registran los usuarios de
acceso al Sistema de Facturación Electrónica.

28
Fase de Elaboración

Desarrollo del Módulo

Para poder realizar el seguimiento a los correos electrónicos enviados a los


clientes, era necesario crear un aplicación que se encargue de realizar dicha
tarea de forma programada y repetitiva.

Diagrama de Paquetes del Sistema

IMAGEN DE DIAGRAMA DE PAQUETES

29
Diagrama de Casos de uso del Sistema De Notificacion

IMAGEN DE DIAGRAMA DE CASOS

Especificación de casos de uso

Tabla 2. Especificación del Caso de uso “Programar Tareas”, Fuente: Elaboración propia
Nombre Planificar las asistencias de los alumnos
Verifica y activa la tarea de realizar seguimiento de
Descripción correos electrónicos, y saber si el correo electrónico
fue rebotado
Alumno, Profesor
Actores

Pre-Condiciones

Post-Condiciones

Escenario Primario
Descripción del Flujo
Actor Sistema
El usuario realiza el proceso
de envío masivo de
comprobantes electrónicos

Excepciones

Resultado

Frecuencia
30
REQ. No Funcionales
Asociados
Casos de Usos relacionados Ejecutar el seguimiento de un correo electrónico

Tabla 3. Especificación del Caso de uso “Verificar Correo Electrónico Rebotado”,


Fuente: Elaboración propia
Nombre
Descripción

Actores

Pre-Condiciones

Escenario Primario
Descripción del Flujo
Actor Sistema
El Planificador de seguimiento
de correo electrónico, lanzo la
orden de ejecutar el seguimiento

Excepciones

Resultado
Frecuencia
REQ. No Funcionales
Asociados
Casos de Usos relacionados

31
Diagrama de Clases

Imagen de diagrama de clases

Diagrama de Despliegue:

Se muestra en que servidor está desplegado el módulo y su conexión con


otros servidores y el usuario final.

Servidor de Aplicaciones: El servidor de aplicaciones es un


servidor Linux tipo CENTOS, aquí están desplegados las
aplicaciones de:
o SFE.war
o Mailing.war
o Tracking.war (Modulo desarrollado en el presente Informe)

Servidor de Base de Datos: El servidor de base de datos es un


servidor Linux tipo CENTOS, aquí se encuentra alojado la BASE
DE DATOS del Sistema.

32
PC Usuario: Representa el usuario final

Imange de diagram de despliegue

Herramientas utilizadas
Las herramientas utilizadas para el desarrollo de la aplicación fueron

Requerimiento de software

Sistema operativo Windows 7


Lenguaje de Programación Java
JDK 1.8
IDE de Desarrollo NetBeans 8.0.2
Framework Quartz
ODBC
Git
Bitbucket como repositorio de cambios
Base de Datos Oracle

33
Apache Tomcat 7.0.72
Sistema operativo Linux como servidor

Requerimiento de Hardware

Para el desarrollo, una computadora de 4 GB de RAM,


Procesador de 2.2 GHz, 500 GB de Disco Duro.
Para el Servidor: Linux Centos, Apache Tomcat 7.0.3

Fase de Construcción

Las librerías utilizadas para este proyecto son las siguientes:

javamail-1.4.5.jar
javamail-dsn-1.4.2.jar
jcharset-2.0.jar
jsoup-1.9.2.jar
jutf7-1.0.0.jar
log4j-1.2.16.jar
ojdbc6.jar
quartz.jar
quartz-2.2.3.jar
quartz-jobs-2.2.3.jar
slf4j-api-1.7.7.jar
slf4j-log4j12-1.7.7.jar

34
35
IV. Evaluación

. Evaluación Económica

La evaluación económica incluye lo siguiente:

Costo del Requerimiento

Personal Requerido

El personal asignado es una empresa proveedora, por lo que el costo se


incrementa en un aproximado aumentando el pago mensual de cada
desarrollador en un 40%

Los costos de envío comprobantes de pago en físico se pueden ver en los


anexos:
Factura electrónica del proveedor de envío de comprobantes
de pago en físico

36
Reducción del costo de envío de comprobantes en físico

Personal Contratado # personas Costo Mensual Costo Anual


Analista Desarrollador 2 S/. 20,000 S/. 15,000
Costo Total Anual S/. 120,000

Fórmulas de
cálculos

Don
de:

-I0 : Inversión inicial del proyecto, para nuestro caso es el


costo del personal
Flujo Anual: Para nuestro caso es el Flujo de caja libre
Tasa: Es nuestro costo de oportunidad, para nuestro caso seria
1
2
%
T: Es el número de periodos o años
CONCLUSIONES

El objetivo de esta trabajo de innovación era crear un sistema Android

capaz de poder registrar las asistencias y salidas de los alumnos mediante un código de

barra el objetivo es que se quiere controlar las tardanzas y inasistencias de los alumnos.

Este objetivo se quería lograr en primera instancia para funcionar con inventarios que

se comportaban de acuerdo al modelo (s,Q), pero debido a que la empresa a la que se

deseaba beneficiar con este sistema manejaba el modelo (s,S) el objetivo se amplió,

logrando así tener al final de esta tesis un sistema capaz de ser utilizado por empresas

que utilicen revisión continua en el manejo de su inventario.

RECOMENDACIONES Y/O SUGERENCIAS

Dentro de un proyecto como lo fue éste, siempre se desea que haya una mejora continua

de la Institucion Educativa asi mismo; por lo tanto se recomienda a futuros estudiantes

que tengan interés en el proyecto, la complementación del sistema con más

distribuciones para la demanda y el tiempo de espera, y aún más recomendable sería la

implementación de más metaheurísticas en el proceso de optimización, para hacer

comparaciones entre los resultados arrojados por estas.

Otra recomendación sería incluir más modelos de inventarios, para que el sistema se

adapte a las necesidades de una mayor variedad de empresas. Una recomendación para

brindarle mayor velocidad al programa, es colocar en macros separadas la parte

estocástica y la constante. Ya que, en este momento se encuentran en la misma


subrutina o macro y esto produce que el programa gaste tiempo en diversas partes del

programa checando si lo que deseamos es minimizar con variables estocásticas o

constantes.
REFERENCIAS BIBLIOGRAFICAS

ISO Tool Exellence. ISO Tool Exellence. ISO Tool Exellence. [En línea] [Citado el:
24 de 04 de 2018.] https://www.isotools.org.

ISO, Secretaria Central de. 2015. Sistemas de gestión ambiental - Requisitos con
orientación para uso. Ginebra, Suiza : s.n., 2015. ISO 14001:2015.

—. 2015. Sistemas de gestión de calidad Requisitos. Ginebra, Suiza : s.n., 2015. ISO
9001:2015.

—. 2015. Sistemas de gestión de la calidad - Fundamentos y vocabulario. Ginebra,


Suiza : s.n., 2015. 9001:2015.

—. 2018. Sistemas de gestión de la seguridad y salud en el trabajo - Requisitos con


orientación para uso. Ginebra, Suiza : Translation Management Group, 2018. ISO
45001:2018.

Ledesma, Aniba. 2013. Prezi. Prezi. [En línea] 29 de noviembre de 2013. [Citado el:
25 de marzo de 2019.] https://prezi.com/h0j-_95vhkj2/que-es-wampserver/.

Maciá Pérez, Francisco, y otros. 2008. Administración de Servicios de Internet: De


la teoría a la práctica. [En línea] 23 de Febrero de 2008. [Citado el: 14 de Junio de
2017.]
https://books.google.com.pe/books?id=PnYgzkE7XdYC&pg=PA133&dq=servidor+
de+aplicaci%C3%B3n&hl=es-
419&sa=X&ved=0ahUKEwjyqu6y173UAhXH8j4KHThdAJkQ6AEIKzAC#v=onep
age&q&f=false.

MASADELANTE. 2014. MASADELANTE.COM. MASADELANTE.COM. [En


línea] 10 de 09 de 2014. [Citado el: 28 de 03 de 2019.]
http://www.masadelante.com/faqs/css.

Meléndez Valladarez, Sintya Milena, Gaitán, María y Pérez Reyes, Neldin Noel.
2016. METODOLOGIA ÁGIL DE DESARROLLO DE SOFTWARE
PROGRAMACION. [En línea] 28 de Enero de 2016. [Citado el: 16 de Juilo de 2017.]
http://repositorio.unan.edu.ni/1365/1/62161.pdf.

OpenWebinars. 2018. OpenWebinars. [En línea] 08 de 03 de 2018. [Citado el: 24 de


04 de 2018.] https://openwebinars.net/blog/conoce-las-3-metodologias-agiles-mas-
usadas/.
Oracle Corporation. 2017. MySQL. [En línea] 2017. [Citado el: 2017 de Junio de
14.] https://dev.mysql.com/.

Osorio Rivera, Fray León. 2007. Introducción a la Programación en Java: un enfoque


práctico. [En línea] 2007. [Citado el: 14 de Junio de 2017.]
https://books.google.com.pe/books?id=t8ReO1PLjuoC&printsec=frontcover&dq=de
fine:+java&hl=es-
419&sa=X&ved=0ahUKEwi4k6Gei77UAhVEdz4KHWqOBBgQ6AEIIDAA#v=one
page&q=define%3A%20java&f=false.

Payara Server. 2017. Paya Server - Derived from Glassfish with 24/7 Production &
Developer Support. [En línea] 2017. [Citado el: 14 de Junio de 2017.]
http://www.payara.fish/home.

Pech-May, Fernando, y otros. Desarrollo de Aplicaciones web con JPA, EJB, JSF y
PrimeFaces. Tabasco : s.n.

PROGRAMAENLINEA.NET. 2018. PROGRAMAENLINEA.


PROGRAMAENLINEA. [En línea] 08 de SEPTIEMBRE de 2018. [Citado el: 28 de
MARZO de 2019.] http://programaenlinea.net/modelo-vista-controlador-en-php/.

Ramos Martín, Alicia y Ramos Martín, Jesús. 2007. Operaciones con Bases de
Datos Ofimáticas y Corporativas. [En línea] 2007. [Citado el: 13 de Junio de 2017.]
https://books.google.com.pe/books?id=hwNWRHc79PMC&printsec=frontcover&dq
=base+de+datos&hl=es-
419&sa=X&sqi=2&redir_esc=y#v=onepage&q=base%20de%20datos&f=false.

Ruiz, Alberto. 2010. Ministerio de Educación, Cultura y Deporte. Ministerio de


Educación, Cultura y Deporte. [En línea] 01 de marzo de 2010. [Citado el: 25 de
febrero de 2019.]
http://recursostic.educacion.es/observatorio/web/fr/software/servidores/800-
monografico-servidores-wamp.

SIRIUS. 2018. SIRIUS. [En línea] 2018. [Citado el: 11 de Abril de 2018.]
www.sirius.com.pe.

TICPORTAL. 2017. tic.PORTAL. tic.PORTAL. [En línea] 23 de 03 de 2017. [Citado


el: 24 de 04 de 2018.] https://www.ticportal.es.

UNIWEBSIDAD. 2016. UNIWEBSIDAD. UNIWEBSIDAD. [En línea] 12 de 03 de


2016. [Citado el: 28 de 03 de 2019.]
https://uniwebsidad.com/libros/javascript/capitulo-1.

Wikipedia. 2019. Wikipedia. Wikipedia. [En línea] 19 de febrero de 2019. [Citado el:
26 de marzo de 2019.] https://es.wikipedia.org/wiki/MySQL.
WIKIPEDIA. 2015. WIKIPEDIA. [En línea] 22 de 02 de 2015. [Citado el: 24 de
04
de
201
8.]
https://es.wikipedia.org/wiki/Programaci%C3%B3n_extrema#Caracter%C3
%ADstic as_fundamentales.

ANEXO

Das könnte Ihnen auch gefallen