universidad central del ecuador … · trabajo de titulación modalidad proyecto integrador, previo...
Post on 07-Oct-2018
244 Views
Preview:
TRANSCRIPT
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
Aplicación para el control de proyectos con órdenes de trabajo en la empresa ESYST.
Trabajo de Titulación modalidad Proyecto Integrador, previo a la obtención del Título de
Ingeniero Informático
AUTOR: Pullas Flores Juan Carlos
TUTOR: Ing. Santiago Leonardo Morales Cardoso MSc.
Quito, 2018
ii
DERECHOS DE AUTOR
Yo Pullas Flores Juan Carlos en calidad de autor y titular de los derechos morales y
patrimoniales del trabajo de titulación “APLICACIÓN PARA EL CONTROL DE
PROYECTOS CON ÓRDENES DE TRABAJO EN LA EMPRESA ESYST”, modalidad
PROYECTO INTEGRADOR, de conformidad con el Art. 114 del CODIGO ORGÁNICO
DE LA ECONOMÍA SOCIAL DE LOS CONOCIMIENTOS, CREATIVIDAD E
INNOVACIÓN, concedemos a favor de la Universidad Central del Ecuador una licencia
gratuita, intransferible y no exclusiva para el uso no comercial de la obra, con fines
estrictamente académicos. Conservamos a mi favor todos los derechos de autor sobre la
obra, establecidos en la normativa citada.
Así mismo, autorizo a la Universidad Central del Ecuador para que realice la digitalización
y publicación de este trabajo en el repositorio virtual, de conformidad a lo dispuesto en el
Art. 114 de la Ley Orgánica de Educación Superior.
El autor declara que la obra objeto de la presente autorización es original n su forma de
expresión y no infringe el derecho de autor de terceros, asumiendo la responsabilidad por
cualquier reclamación que pudiera presentarse por esta causa y liberando a la Universidad
de toda responsabilidad.
______________________
Juan Carlos Pullas Flores
CC: 1714745658
E-mail: jcldu2004@hotmail.com
Telf.: 0987744040
iii
APROBACION DEL TUTOR
En mi calidad de Tutor del Trabajo de Titulación, presentado por JUAN CARLOS
PULLAS FLORES, para optar por el Grado de Ingeniero en Informática; cuyo título es:
APLICACIÓN PARA EL CONTROL DE PROYECTOS CON ÓRDENES DE
TRABAJO EN LA EMPRESA ESYST, considero que dicho trabajo reúne los requisitos
y méritos suficientes para ser sometido a la presentación pública y evaluación por parte del
tribunal examinador que se designe.
En la ciudad de Quito, a los 15 días del mes de Septiembre de 2017.
Ing. Morales Cardoso Santiago Leonardo MSc.
DOCENTE-TUTOR
CC. 1707979934
iv
DEDICATORIA
A mi madre, pilar fundamental en mi estudios y en mi vida, enseñándome con su ejemplo
que cada día hay que seguir avanzando por conseguir las metas propuestas.
A mis tías que junto a mi madre me han guiado con buenos consejos y han estado al tanto
para brindarme su apoyo incondicional.
A todas las personas, esposa, padre, amigos, conocidos que con su amistad y sinceridad
han contribuido para alcanzar la meta profesional trazada.
v
AGRADECIMIENTOS
Primeramente a Dios por estar vivo, por brindarme salud, bienestar y darme la posibilidad
de estudiar.
A mis padres, tías, esposa, amigos y conocidos que de una u otra forma con ejemplo,
consejos, comentarios, dinero y preocupación para mi persona han contribuido y ayudado
para lograr este escalón tan importante en mi vida profesional.
vi
CONTENIDO
DERECHOS DE AUTOR ...................................................................................................................... ii
APROBACION DEL TUTOR .................................................................................................................iii
DEDICATORIA ................................................................................................................................... iv
AGRADECIMIENTOS ......................................................................................................................... v
CONTENIDO...................................................................................................................................... vi
LISTA DE TABLAS ............................................................................................................................ viii
LISTA DE FIGURAS ............................................................................................................................ ix
RESUMEN ......................................................................................................................................... xi
ABSTRACT ........................................................................................................................................ xii
INTRODUCCION ................................................................................................................................ 1
1. PLANTEAMIENTO DEL PROBLEMA............................................................................................ 2
1.1 Antecedentes ........................................................................................................................ 2
1.2 Objetivos ............................................................................................................................... 3
1.2.1 Objetivo General ............................................................................................................ 3
1.2.2 Objetivos Específicos ...................................................................................................... 3
1.3 Alcance .................................................................................................................................. 3
1.4 Limitaciones........................................................................................................................... 4
2. MARCO TEORICO ...................................................................................................................... 5
2.1 Orden de Trabajo................................................................................................................... 5
2.2 Ordenes de Trabajo en empresa Esyst .................................................................................. 6
2.3 Orden de Trabajo Capataz ..................................................................................................... 6
2.4 Orden de Trabajo Moytex ..................................................................................................... 7
3. SELECCIÓN DE HERRAMIENTAS DE DESARROLLO..................................................................... 9
3.1 Selección de Servidor Web .................................................................................................... 9
3.2 Selección del SGDB (Sistema Gestor de Base de Datos). ..................................................... 11
3.3 Selección de Entorno de Desarrollo. .................................................................................... 15
3.4 Selección de Framework de Desarrollo. .............................................................................. 16
4. METODOLOGIA....................................................................................................................... 20
4.1 Metodología de Desarrollo Ágil. .......................................................................................... 20
4.1.1 Programación Extrema. ................................................................................................ 20
vii
4.1.2 Planeación: ................................................................................................................... 22
4.1.3 Diseño. .......................................................................................................................... 23
4.1.4 Codificación. ................................................................................................................. 23
4.1.5 Pruebas. ........................................................................................................................ 24
5. DESARROLLO DE LA SOLUCION .............................................................................................. 25
5.1 Planeación del Desarrollo de la Solución. ............................................................................ 25
5.1.1 Recopilación de la Información. ................................................................................... 25
5.1.2 Actores que intervienen en el sistema ......................................................................... 25
5.1.3 Historias de Usuario. .................................................................................................... 26
5.2 Fase de Diseño. .................................................................................................................... 29
5.2.1 Diagrama de casos de uso ............................................................................................ 30
5.2.2 Descripción de casos de uso. ........................................................................................ 32
5.2.4 Diagrama de Clases....................................................................................................... 36
5.3 Fase de codificación ............................................................................................................ 38
5.4 Pruebas y Resultados. .......................................................................................................... 41
6. CONCLUSIONES ...................................................................................................................... 43
7. RECOMENDACIONES .............................................................................................................. 44
BIBLIOGRAFIA ................................................................................................................................. 45
En vez de obtenido: recuperado de ............................................................................................... 45
ANEXOS .......................................................................................................................................... 46
viii
LISTA DE TABLAS
Tabla 1. Servidor de aplicaciones web ................................................................................ 11
Tabla 2. Sistemas gestores de base de datos ....................................................................... 14
Tabla 3. Métodos de desarrollo ágil .................................................................................... 21
Tabla 4. Historias de Usuario .............................................................................................. 26
Tabla 5. Validación de Usuario ........................................................................................... 26
Tabla 6. Administración de Usuario .................................................................................... 27
Tabla 7. Administración de órdenes de trabajo ................................................................... 27
Tabla 8. Administración de Tareas ...................................................................................... 28
Tabla 9. Administración Clientes. ....................................................................................... 28
Tabla 10. Administración licencias. .................................................................................... 29
Tabla 11. Administración Reportes. .................................................................................... 29
Tabla 12. Descripción de Caso de Uso Acceso al Sistema ................................................. 32
Tabla 13. Descripción de Caso de Uso Administrar Clientes. ............................................ 33
Tabla 14. Descripción de Caso de Uso Administrar Ordenes de Trabajo. .......................... 33
Tabla 15. Descripción de Caso de Uso Administrar Usuarios. ........................................... 34
Tabla 16. Descripción de Caso de Uso Administrar Tareas. ............................................... 34
Tabla 17. Descripción de Caso de Uso Administrar licencias. ........................................... 35
Tabla 18. Descripción de Caso de Uso Administrar Implementadores. .............................. 35
Tabla 19. Descripción de Caso de Uso Reportes................................................................. 36
ix
LISTA DE FIGURAS
Figura 1. Orden de trabajo Capataz ....................................................................................... 7
Figura 2. Orden de Trabajo Moyex ....................................................................................... 7
Figura 3. Orden de Trabajo CheckOS ................................................................................... 8
Figura 4. Utilización de servidores de aplicaciones web....................................................... 9
Figura 5. Uso de servidor de aplicaciones web ................................................................... 10
Figura 6. Sistema Gestor de Base de Datos ......................................................................... 12
Figura 7. Página Principal Oracle 10g XE .......................................................................... 13
Figura 8. Toad...................................................................................................................... 15
Figura 9. Netbeans ............................................................................................................... 16
Figura 10. Funcionamiento de Servlet ................................................................................. 17
Figura 11. Código Servlet .................................................................................................... 18
Figura 12. Modelo Vista Controlador.................................................................................. 18
Figura 13. Ejemplo Modelo Vista Controlador ................................................................... 19
Figura 14. Características de metodología de desarrollo ágil .............................................. 20
Figura 15. Actividades de programación extrema XP. ........................................................ 22
Figura 16. Diagrama de Caso de Uso General .................................................................... 30
Figura 17. Diagrama de Casos de Uso Administrador ........................................................ 31
Figura 18. Diagrama de Casos de Uso Implementador ....................................................... 32
Figura 19. Diagrama de clases Entidad-Relación .............................................................. 37
Figura 20. Ejemplo de página JSP en el sistema ................................................................. 38
Figura 21. Ejemplo de clases Java usada en el sistema ....................................................... 39
Figura 22. Clase java con sentencia de base de datos ......................................................... 39
Figura 23. Código Servlet. ................................................................................................... 40
Figura 24. Código Servlet de acceso al sistema. ................................................................. 41
Figura 25. Entidades de la Base de Datos. .......................................................................... 41
Figura 26. Acceso al sistema ............................................................................................... 42
Figura 27. Pantalla principal del sistema. ............................................................................ 42
Figura 28. Orden de Trabajo................................................................................................ 47
Figura 29. Pagina Netbeans ................................................................................................. 48
Figura 30. Inicio de Instalacion ........................................................................................... 48
x
Figura 31. Ruta de Instalacion Netbeans ............................................................................. 49
Figura 32. Final Instalacion Netbeans ................................................................................. 49
Figura 33. Pagina Descarga jdk ........................................................................................... 50
Figura 34. Instalacion jdk .................................................................................................... 50
Figura 35. Tipo instalacion jdk ............................................................................................ 51
Figura 36. Instalacion de Java ............................................................................................. 51
Figura 37. Pagina Descarga Oracle ..................................................................................... 52
Figura 38. Instalacion Oracle............................................................................................... 52
Figura 39. Asistente de Instlacion Oracle ............................................................................ 53
Figura 40. Contraseña Oracle .............................................................................................. 53
Figura 41. Final Instalacion Oracle ..................................................................................... 54
Figura 42. Inicio Instalacion Toad ....................................................................................... 54
Figura 43. Terminos y condiciones Toad ............................................................................ 55
Figura 44. Componentes Toad............................................................................................. 56
Figura 45.Pagina Instalacion Power Designer ..................................................................... 57
Figura 46. Terminos y condiciones Power Designer ........................................................... 57
Figura 47. Ruta de Instalacion Power Designer .................................................................. 58
Figura 48. Componentes Power Designer ........................................................................... 58
Figura 49. Final Instalacion Power Designer ...................................................................... 59
xi
TITULO: Aplicación para el control de proyectos con órdenes de trabajo en la empresa
Esyst.
Autor: Juan Carlos Pullas Flores
Tutor: Ing. Santiago Leonardo Morales Cardoso MSc.
RESUMEN
El presente proyecto integrador se basa principalmente en órdenes de trabajo que nos facilita
saber que tareas realizó el técnico (en este caso el implementador) en cada cliente el que se
implementó el sistema (software realizado por la empresa) y el detalle de cada una. El
sistema de órdenes de trabajo trabaja vía web y será ingresado por cada usuario luego de
finalizado su trabajo. El ingreso esta validado con su respectivo username y password.
Además el sistema nos va a permitir ahorrar tiempo y papel, ya que nos permitirá el acceso
digital y no físico de las órdenes así como la búsqueda rápida de cliente, implementador,
tareas, licencias y datos relacionados con el cliente lo que anteriormente se lo hacía
manualmente. La aplicación fue desarrollada en java con la utilización del entorno de
desarrollo Netbeans, Base de Datos Oracle 10 XE, Toad y un visualizador de reportes como
el iReport.
PALABRAS CLAVE: SISTEMA / APLICACIÓN / ORDENES DE TRABAJO / JAVA /
ORACLE XE / TOAD / WEB
xii
TITLE: Application sofware for controlling projects with work orders at the esyst company
Author: Juan Carlos Pullas Flores
Thesis supervisor: Ing. Santiago Leonardo Morales Cardoso MSc.
ABSTRACT
This integrating project is mainly based on work orders that make it easier to know what
tasks the technician (the implementer) performed with each client who implemented the
system (software made by the company) as well as the detail of each one. The work orders
system works via web and will be entered by each user after finishing their work. The access
is validated with his respective username and password. In addition, the system will allow
to save time and paper since it will allow digital and non-physical access to the orders as
well as the quick search for the client, the implementer, tasks, licenses and data related to
the client when these searches used to be done manually. The application software was
developed in Java with the use of the Netbeans development environment, Oracle 10 XE
database, Toad and a report viewer such as iReport.
KEY WORDS: SYSTEM / APPLICATION SOFTWARE / WORK ORDERS / JAVA /
ORACLE / TOAD / WEB
1
INTRODUCCION
Actualmente en varias empresas del Ecuador y del mundo se siguen manejando información
en papel, generando gran cantidad de información en archivos físicos, obteniendo bodegas
enormes de carpetas con información, lo cual resulta conflictivo llegar a encontrar la
información buscada en la gran cantidad de papel consumiendo gran cantidad de tiempo en
esa tarea lo cual se traduce en un costo adicional por el tiempo invertido por parte del
empleado para esta tarea.
La tecnología permite poder administrar de mejor manera documentos físicos ya que podrían
ser almacenarlos en una base de datos y tenerlos siempre al alcance sin necesidad de buscar
en una gran cantidad de papel lo cual ahorraría mucho tiempo, dinero y ayudaría con la
automatización de la empresa.
Los beneficios que ofrecen una empresa, oficina, lugar de trabajo automatizado son
enormes.
Reducción de tiempo en búsqueda.
Reducción de tiempo en archivar documentos.
Incremento de la velocidad de respuestas apropiadas a los clientes.
Mejora en la realización de procesos(automatización) en este caso en procesos como ordenes
de trabajo que es el enfoque de varias empresas y al que se le va a tomar en cuenta en el
presente proyecto integrador.
Una orden de trabajo es un documento en el que se detalla las actividades realizadas por
parte de una persona o empresa que ofrece sus servicios.
2
1. PLANTEAMIENTO DEL PROBLEMA
1.1 Antecedentes
En la empresa Esyst se ha visto la necesidad de que se controle y automatice el sistema de
ingreso de órdenes de trabajo y diferente documentación.
La empresa se encarga del desarrollo de sistemas contables, de la respectiva
implementación, soporte a los usuarios del sistema así como de venta y soporte en hardware.
Las diferentes implementaciones, capacitaciones, soporte de software como de hardware se
ingresa en una orden de trabajo en las cuales se especifica: contacto, empresa, dirección,
versión de la base de datos, número de usuarios (servidor y clientes, la fecha de la visita, el
número de teléfono, horas de inicio y fin, así como el detalle de la orden de trabajo y
pendientes u observaciones.
En la orden de trabajo también se especifica el número de horas que utiliza cada
implementador en cada proceso de capacitación e implementación, se desconoce el tiempo
empleado en cada cliente lo que perjudica económicamente porque se emplea más tiempo
de implementación lo que resulta un costo mayor para la empresa.
Todos estos procesos de implementación, capacitación y soporte son escritos en papel en
las respectivas órdenes de trabajo por ese motivo no sabemos en qué estado se encuentra la
implementación del software de cada empresa.
Además se desea eliminar el alto consumo de papel, ya que cada técnico emite por lo menos
tres órdenes de trabajo por día lo cual resulta incómodo y muy difícil la búsqueda. Con la
aplicación creada se quiere optimizar esa búsqueda.
3
1.2 Objetivos
1.2.1 Objetivo General
Desarrollar una aplicación web cuando se ingrese vía internet e intranet cuando se ingrese
mediante la red interna de la empresa para mejorar el control de órdenes de trabajo y
seguimiento de cada cliente hasta la finalización de la instalación y capacitación con todo lo
referente al desarrollo e implementación de la variedad de software que oferta la empresa.
1.2.2 Objetivos Específicos
Desarrollar una aplicación vía intranet cuando se ingrese al sistema mediante una red
LAN y vía web cuando se tenga la necesidad de acceder vía internet para
administración y control de documentos que en este caso se tratara específicamente
con órdenes de trabajo que serviría para el control tiempo y estado para clientes.
Desarrollar una aplicación web para la administración y control de las personas
encargadas de la implementación, capacitación, soporte y desarrollo de cada uno de
los clientes es decir una relación orden-cliente-técnico-empresa-tiempo-avance-
detalles.
Brindar la posibilidad de facilitar el trabajo y la coordinación de las respectivas tareas
asignadas a cada técnico con sus tareas y pendientes.
Disminuir el tiempo de entrega de información al cliente ya que anteriormente se
demoraban dos días en esa entrega.
Reducir la utilización de papel ya que se tiene una bodega entera con órdenes de
trabajo físicas.
1.3 Alcance
Las órdenes de trabajo pueden ser ingresadas vía web y vía intranet.
El ingreso vía web lo van a realizar los operarios.
4
El control vía intranet lo realizara el administrador del sistema.
El sistema va a constar de:
Administración: Usuarios, perfiles de usuario, respaldo de información, reportes
gerenciales, configuración de parámetros.
Clientes: Datos Generales de clientes, estado implementación clientes relación con
cada orden.
Operarios: Implementadores y técnicos.
Procesos: Ordenes de trabajo, generación, consultas, edición, estado, informes y
reportes.
Subprocesos: Creación, modificación, consultas de subprocesos ligados a la
implementación y soporte que realiza la empresa.
1.4 Limitaciones
El sistema no trabajaría en cualquier explorador más que en Google Chrome (las
pruebas de funcionamiento se harían solo en Google Chrome y no se garantizaría su
correcto funcionamiento en diferentes exploradores.
El sistema no trabajaría si el cliente no posee el servicio de internet.
No tiene seguridades.
No posee el módulo de facturación.
5
2. MARCO TEORICO
En el marco teórico apreciar el fundamento del negocio y los aspectos informáticos que
intervienen para el desarrollo.
2.1 Orden de Trabajo
Una orden de trabajo es un documento en el cual se detallan por escrito los pasos que se
realizan para ejecutar un trabajo o encargo. Lo más común es encontrar órdenes de trabajo
en negocios como: mecánicas, imprentas, carpinterías, taller de servicio técnico y en este
caso en implementaciones de sistemas informáticos.
“Una orden de trabajo es un documento escrito que la empresa le entrega a la persona que
corresponda y que contiene una descripción pormenorizada del trabajo que debe llevar a
cabo.
En la orden de trabajo, además de indicarse el lugar geográfico preciso y algunos datos
personales de quien solicitó la realización del trabajo, en el caso que se trate de una empresa
de instalaciones, se podrá indicar el tiempo que se estima debe durar el trabajo a realizar en
el lugar”(Definición ABC, 2016, http://www.definicionabc.com/general/orden-de-
trabajo.php).
Nos indica toda la información que debemos ingresar en la orden de trabajo.
“La orden de trabajo puede tener una gran variedad de diseño, pero no perderá nunca lo
esencial, el contenido textual, usualmente tienen parecido a las hojas de facturas, solo que
no es una factura y debe llevar impresa en letras más grande “orden de trabajo” para su
identificación: Número, folio, nombre del cliente, tipo de servicio, descripción,
observaciones, costo del trabajo, adelanto, monto restante, forma de pago, fecha de
6
recepción del trabajo, fecha de entrega”(Ejemplo de, 2016, http://www.ejemplode.com/11-
escritos/1946-ejemplo_de_orden_de_trabajo.html).
Describe acerca de las órdenes de trabajo, su concepto y la forma de realizarlas. Ejemplos y
características de órdenes de trabajo.
2.2 Ordenes de Trabajo en empresa Esyst
En el caso de la empresa ESYST, se utiliza ordenes de trabajo para saber en qué estado va
la implementación, el número de horas empleadas para esa implementación, fechas y hora
de la visita, el cliente, el implementador, tareas o procesos realizados, licencias y pendientes
y observaciones registrados en la visita.
Se puede visualizar la orden de trabajo y sus respectivos campos (información) que necesita
la empresa para ser almacenados.
La orden de Trabajo se encuentra en el apartado de Anexos.
La empresa ESYST-EDISFOT se encarga de desarrollo de software especialmente dirigida
a pequeñas y medianas empresas y centrándose en sistemas de facturación y contables.
En este momento existen varias aplicaciones que nos facilitan la gestión de órdenes de
trabajo.
2.3 Orden de Trabajo Capataz
Uno de ellas es la aplicación llamada Capataz, donde nos indica el proceso para crear,
ingresar, consultar, modificar, anular, cerrar, observaciones, impresión, estado y asignación
de más subprocesos a la orden de trabajo, el autor de esta aplicación lo llama gestión básica
integral de órdenes de trabajo (OT), se encuentran además un panel de procesos para el
ingreso de cada uno de estos a la (OT) y la vinculación con una factura de esta OT.
Cada operario es responsable de la orden de trabajo emitida al cliente.
7
Figura 1. Orden de trabajo Capataz
Fuente: http://www.capatazsoft.com.ar/blog/2014/09/10-tips-gestion-ordenes-de-trabajo/
2.4 Orden de Trabajo Moytex
Otra aplicación para ordenes de trabajo es MOYEX el cual nos permite crear, editar, borrar,
añadir, eliminar, visualizar mediante reporte y buscar con sus respectivas configuraciones y
ayudas. Moyex Órdenes de Trabajo es una herramienta de gestión que permite organizar el
trabajo de un servicio técnico y optimizar la productividad de sus operarios.
MOYEX se enfoca en el proceso, cliente y operario.
Figura 2. Orden de Trabajo Moyex
Fuente: https://sistemaspaez.com/ordenes-de-trabajo/
El operario irá anotando las actuaciones que haga sobre la máquina de un menú que
habremos creado previamente.
8
Anotará, asimismo, las horas de trabajo y permite la elaboración de listados e informes
basados en los distintos módulos: clientes, facturación, horas de trabajo, operarios etc.
La aplicación CHECKOS se enfoca principalmente en asistencia técnica mediante órdenes
de trabajo, esta asistencia técnica se la realiza a través de llamadas telefónicas de clientes.
Figura 3. Orden de Trabajo CheckOS
http://www.checkos.net/es
En el mercado hay varias aplicaciones entre ellas tenemos CMMS, EAM, SST 2.5, ULA
que tienen aspectos similares a los anteriormente citados.
9
3. SELECCIÓN DE HERRAMIENTAS DE DESARROLLO
Una Aplicación web es un conjunto de herramientas que los usuarios utilizan accediendo a
un servidor web. Es un aplicación o software que se escribe en un lenguaje de programación
que sea compatible con los navegadores web (Internet Explorer, Google Chrome, Mozilla,
Opera, etc.).
3.1 Selección de Servidor Web
Para que la aplicación web funcione debe haber un servidor web que contenga o almacene
a dicha aplicación.
A continuación se muestra un gráfico con la utilización de servidores web en el transcurso
del tiempo.
Figura 4. Utilización de servidores de aplicaciones web
Fuente: Plumbr https://plumbr.eu/
Según lo que nos muestra el grafico es que el servidor tomcat (Apache) es el servidor web
más utilizado.
10
Figura 5. Uso de servidor de aplicaciones web
Fuente: Plumbr https://plumbr.eu/
A continuación se visualiza una tabla comparativa de los Servidores de aplicaciones web
más utilizadas. Por tal razón se concluyó que la herramienta a utilizar es APACHE
APACHE es un contenedor o servidor web HTTP (Hipertext Transfer Protocol),
desarrollado en código abierto y gratuito.
El servidor Apache es mantenido a través de la comunidad Apache Software Foundation. Es
criticado porque no posee una interfaz gráfica aceptable pero recompensa en seguridad,
rendimiento y mantenimiento.
Funciona en las plataformas Unix, Linux, Windows, BSD, Macintosh entre otras.
Es el servidor web más utilizado luego del servidor (IIS) Internet Information Server.
Apache permite almacenar y gestionar las diferentes páginas web o recursos de un sitio y
gestiona su entrega o denegación.
Es eficiente ya que atiende un gran número de peticiones HTTP incluyendo multitarea ya
que puede realizarse peticiones simultaneas, ósea que varios usuarios pueden acceder al
mismo tiempo a la aplicación o sitio web.
Maneja errores de páginas no encontradas o redirecciona a páginas predeterminadas
dependiendo de los errores o peticiones de los usuarios.
11
Tabla 1. Servidor de aplicaciones web
https://developer.jboss.org/blogs/mark.little/2013/04/19/
3.2 Selección del SGDB (Sistema Gestor de Base de Datos).
Existen en el mercado varias empresas gigantes que desarrollan y crean gestores de base de
datos.
Un sistema gestor de base de datos es un conjunto de aplicaciones que permite la definición,
almacenamiento, modificación, extracción, seguridad, integridad, recuperación y
restauración de información almacenada en una base de datos. Además sirve de interfaz
entre la base de datos y el usuario.
12
Figura 6. Sistema Gestor de Base de Datos
Fuente: https://homeworkdatabase.wordpress.com/
Existen distintos gestores de base de datos, entre los principales podemos citar: Oracle,
DB2, Postgress, Microsoft SQL Server, Oracle, Mysql, Access, etc.
Nosotros para el desarrollo de software del proyecto Integrador utilizamos Oracle (en su
versión gratuita.
Para el desarrollo del sistema de órdenes de trabajo comparando características y
funcionalidades se seleccionó el SGBD Oracle con la versión 10 XE.
Oracle Database 10g Express Edition XE es un gestor de base de datos relacional
mundialmente conocido.
Oracle Database 10g Express Edition (Oracle Database XE) es una versión gratuita y se
puede descargar vía web.
Oracle Database XE es fácil de instalar y fácil de administrar. Con Oracle Database XE,
utiliza la Página de inicio de la base de datos, una interfaz intuitiva basada en navegador,
para administrar la base de datos; crear tablas, vistas y otros objetos de esquema; importar,
exportar y ver los datos de la tabla; ejecutar consultas y secuencias de comandos SQL; y
generar informes.
13
Figura 7. Página Principal Oracle 10g XE
Fuente: http://docs.oracle.com/cd/B25329_01/doc/admin.102/b25610/toc.htm
Oracle Database XE incluye Oracle HTML DB 2.1, un entorno de desarrollo gráfico
declarativo para crear aplicaciones Web centradas en la base de datos. Además de HTML
DB 2.1, puede utilizar herramientas y lenguajes de Oracle y de terceros para desarrollar sus
aplicaciones Oracle Database XE.
Los requerimientos para instalar la Base de Datos Oracle 10g Express Edition son:
Plataforma 32 o 64 bits
Sistema Operativo Windows 2000 service pack 4 o superior, Windows Server 2003 o 2008,
Windows XP, Windows Vista, Windows 7 Windows 8, Windows 10.
Protocolo de Red: TCP/IP.
Espacio en disco: 1,6 GB.
Memoria RAM: 512 MB.
A continuación se muestra una tabla comparativa acerca de los gestores de base de datos
más comunes y utilizados en el mercado.
14
Tabla 2. Sistemas gestores de base de datos
http://www.dataprix.com/files/analisis-comparativo_MySQL-Oracle.pdf
DBMS Características Ventajas Desventajas Opinión
Mysql Propietaria y
publica
Fácil de aprender y
utilizar
multiplataforma
El soporte para
disparadores es muy
básico
Mysql es uno de los
DBMS más populares
que hay y es debido al
hecho que además de
ser eficiente es de
código libre y gratuito
en algunas versiones y
también incluye
versiones de pago
Portabilidad Código abierto No soporta algunas
conversiones de datos
Fácil configuración Los privilegios de las
tablas no se borrar de
forma automática
Veloz a realizar
operaciones
Oracle Propietaria DBMS popular Una mala
configuración ofrece
resultados
desfavorables
Oracle es un BAMS de
paga que tiene como
beneficio su fiabilidad
y su soporte.
Portable Oracle ofrece porte
técnico
Compatible Permite la gestión
de múltiples bases
de datos
Alto rendimiento
Postgress
SQL
Incluye herencia
entre las tablas
Ahora en costos Lento en inserciones
y actualizaciones
Tiene características
específicas que los
hacen especial para
ciertas necesidades. Incorpora
estructuras de
arrays
Instalación limitada Ofrece soporte en
línea
Estabilidad
Gran capacidad de
almacenamiento
Arquitectura
única
Permite hacer
copias de seguridad
en caliente
No es popular
El lenguaje de
procedimientos y
trigger es muy
potente
Tiene cercanía al
estándar SQL
Microsoft
SQL
Server
Propietario Para Windows Utiliza muchos
recursos
computaciones como
memoria RAM
La principal ventaja es
su fiabilidad a la hora
de recuperar datos
Integra nuevas
herramientas
Soporte de
transacciones
Es de paga
Recuperación de
datos eficaz y
rápida
Estabilidad
Portabilidad Seguridad
Soporte de
procedimientos
almacenados
Entorno grafico
15
Dentro de la selección del sistema Gestor de Base de Datos se debe nombrar a Toad.
Toad es una aplicación de desarrollo SQL que permite administrar de forma eficiente y
rápida la base de datos Oracle.
Figura 8. Toad
Fuente: http://www.quest.com
Desarrollado por la empresa Quest, Toad nos permite:
Implementar procesos coherentes y repetibles, que soportan el desarrollo ágil de bases de
datos.
Acelerar la entrega de aplicaciones mientras minimiza los riesgos relacionados con los
cambios en la base de datos.
Garantizar la precisión y escalabilidad funcional con pruebas automatizadas.
Identificar y solucionar rápidamente las ineficiencias en el rendimiento de la base de datos.
Automatizar la optimización de SQL.
Automatizar y programar las tareas complejas o de rutina de la base de datos.
Las soluciones de Toad soportan las bases de datos relacionales (como Oracle, SQL Server,
DB2, SAP y Mysql).
3.3 Selección de Entorno de Desarrollo.
Existen varios entornos de desarrollo, entre los más conocidos tenemos Netbeans, Jcreator,
Eclipse, MS Visual Estudio, Bluejean, Windeb, etc.
Nosotros trabajaremos con Netbeans por su facilidad para aprender, soporta varios lenguajes
de desarrollo, es software libre, gratuito sin restricciones de uso, tiene integración con
16
HTML que es lo que necesitamos para desarrollar en la web, fácil de conseguir, hay
suficiente información y tutoriales acerca de Netbeans.
Netbeans IDE es un entorno de desarrollo, una herramienta para que los programadores
puedan escribir, compilar, depurar y ejecutar programas.
Figura 9. Netbeans
Fuente: https://netbeans.org/features/index.html
Es alimentado y actualizado por miles de usuarios que conforman la comunidad
Netbeans es un proyecto exitoso de código abierto con una gran base de usuarios
Permite agregar nuevas funcionalidades desarrolladas por otros usuarios, es decir permite
desarrollar aplicaciones a partir de componentes de software denominados módulos. Un
módulo es un archivo Java que tiene clases de java que interactúan con las APIs de Netbeans.
Las aplicaciones desarrolladas a partir de módulos pueden ser utilizadas agregándolas
nuevos módulos ya que pueden ser desarrollados independientemente.
Es un IDE libre gratuito, sin restricciones de uso, de código abierto y multiplataforma
(Windows, Linux).
Netbeans soporte el desarrollo de diferentes lenguajes de programación y tipos de aplicación
Java (J2SE, WEB, EJB, aplicaciones móviles, PHP, HTML, XHTML, C, C++, JSP, JSF,
JAVASCRIPT, XML, etc.).
3.4 Selección de Framework de Desarrollo.
Un framework es una estructura de software con componentes personalizables y
reutilizables que sirve para el desarrollo de una aplicación.
Es una aplicación genérica configurable a la cual se le puede añadir nuevas funcionalidades.
17
El objetivo principal de un Framework es acelerar y facilitar el proceso de desarrollo
reutilizando código ya existente.
Un framework por tanto, podemos definirlo como un conjunto de componentes que
componen un diseño reutilizable que facilita y agiliza el desarrollo de sistemas Web.
EL framework utilizado es el uso de Servlets con la utilización de JSP.
Los Servlets son módulos en Java que se utilizan en un servidor web para facilitar sus
capacidades de respuesta a los clientes al utilizar las potencialidades de Java. Los Servlets
son para los servidores lo que los applets para los navegadores, aunque los Servlets no tienen
una interfaz gráfica.
La página escrita en lenguaje JSP recibe una petición del usuario. La página JSP invoca al
Servlet. EL Servlet se comunica con clases en java que generan una petición a la base de
datos.
Una vez que las clases java tiene información de la base de datos invocan al Servlet que a
su vez muestra la información en las páginas JSP que son visualizadas por el usuario.
Figura 10. Funcionamiento de Servlet
Fuente: https://www.ibm.com/support/knowledgecenter/en/ssw_i5_54/rzamy/jspdef.htm
Para que se comprenda de mejor manera a continuación se muestra una declaración de un
Servlet.
18
Figura 11. Código Servlet
Fuente: http://codigosjava.blogspot.com/2008/05/curso-de-java-servlets-8.html
Una característica principal de framework es que se encarga de guiar al usuario en el uso de
patrones como por ejemplo el patrón MVC.
Figura 12. Modelo Vista Controlador https://underc0de.org/foro/java/modelo-vista-controlador
19
El patrón MVC (Modelo Vista Controlador) es una guía para el diseño de aplicaciones para
que el usuario tenga una buena interactividad con el sistema
Consta de tres elementos
Modelo: representa los datos y las reglas del negocio
Vista: Muestra la información del modelo al usuario como los formularios de entrada y de
salida de información.
Controlador: Procesa las peticiones del usuario, así como los eventos de entradas del mismo.
Las peticiones son procesadas por el controlador, quien llama al modelo y actualiza la vista
que se mostrara al usuario.
Dentro de nuestra aplicación seria por ejemplo
Figura 13. Ejemplo Modelo Vista Controlador Fuente: Juan Carlos Pullas (2017)
En este caso el modelo seria las clases Java que ayudan a la creación de clases Java,
constructores, y declaraciones.
La vista son todas las paginas JSP y que son mostradas al usuario
El controlador llamado ServletControlador permite la interconexión (peticiones del usuario)
entre las páginas JSP y las clases Java del modelo.
20
4. METODOLOGIA
La metodología se refiere a un conjunto de pasos o procedimientos utilizados para alcanzar
una meta u objetivo. En el proyecto integrador son procedimientos técnicos que nos ayudan
a cumplir un objetivo bajo normas de desarrollo de software adecuadas para obtener un
producto de calidad con el enfoque de cumplir con las necesidades de los usuarios.
4.1 Metodología de Desarrollo Ágil.
Un método ágil está compuesto de procesos basados en ingeniería de software en el
desarrollo interactivo como también en el incremental, en los que los requisitos,
requerimientos y soluciones evolucionan con el tiempo según la necesidad del cliente.
Es un incremento del software en funcionamiento que satisface al cliente.
Es adaptable con el tiempo
Figura 14. Características de metodología de desarrollo ágil
Fuente: Grupo ISSI (2003)
4.1.1 Programación Extrema.
En el presente proyecto integrador utilizaremos la metodología de desarrollo ágil,
programación extrema (XP).
21
Tabla 3. Métodos de desarrollo ágil
Fuente: http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992013000100003
La metodología de desarrollo ágil presenta varias variantes, como lo son Programación
Extrema (XP), XP industrial, DAS (Desarrollo Adaptivo se Software), Scrum, Cristal, DIC
(Desarrollo impulsado por las características), DES (Desarrollo Esbelto de Software), PUA
(Proceso Unificado Ágil).
Las características principales de la metodología de desarrollo ágil son:
El cliente es parte del equipo de desarrollo.
La arquitectura tiene menos énfasis.
Roles específicos.
Los módulos son funcionales.
Usan artefactos mínimos.
Cortas iteraciones.
No se opone al cambio.
La Programación extrema (XP) consta de 4 actividades en el marco de trabajo que son:
Planeación
Diseño
Codificación
Pruebas
22
Figura 15. Actividades de programación extrema XP.
Fuente: https://www.codejobs.biz/es/blog/2013/06/05/programacion-extrema-xp
4.1.2 Planeación:
Es una actividad que permite escuchar al cliente para la correcta y rápida toma de
requerimientos y por ende entender el funcionamiento del negocio al cual se va a realizar
la implementación del software. Además de comprender las características principales y las
funcionalidades que se requiere del software que se va a elaborar.
La planeación consta de historias. Una historia no es más que las tareas que el usuario que
va a utilizar el software realiza comúnmente y deben ser plasmadas en una tarjeta indexada,
el cliente asigna un valor a cada historia ingresada que nos va a indicar la prioridad e
importancia en base a la funcionalidad del negocio.
Luego el equipo XP(Programación Extrema) evalúa cada historia de acuerdo a su prioridad
medido en semanas de desarrollo que representaría el costo, si se pasa este desarrollo de tres
semanas , se explica al cliente que tiene que descomponer en historias más pequeñas.
Cabe recordar que cada toma de requerimientos puede representar nuevas historias del
cliente.
Una comunicación efectiva permite al cliente y desarrollador definir como agrupar historias
en la siguiente iteración de entrega.
A la vez que avanza el desarrollo y entrega del proyecto el cliente puede agregar más
historias. El equipo xp debe estar preparado para dicho cambio asignando nuevos valores y
prioridades a las ya existentes.
23
Las historias de usuario son mediamente comparable con los casos de usos de las
metodologías tradicionales.
4.1.3 Diseño.
El principio fundamental en el diseño en la Programación Extrema es “Mantelo Sencillo”,
lo que quiere decir que siempre el diseño tiene que ser fácil de entender, susceptible de
probar, encontrar una funcionalidad con facilidad, y agregar nuevas de forma ágil.
Otro principio al ser tomando en cuenta es que si el diseño resulta complejo se crea una
solución de punta basado en un prototipo con el objetivo de disminuir el riesgo cuando
comencemos a implementar.
La Programación extrema tiene su fuerte en el proceso de rediseño.
Rediseño se refiere a la modificación del sistema de software no afectando el
comportamiento externo del código y mejorando la estructura interna del diseño del código,
de lo cual tendremos optimización y minimiza errores.
En conclusión el rediseño es una mejora continua del diseño.
4.1.4 Codificación.
La codificación en programación extrema se basa principalmente en la programación por
pares o llamada también programación en pareja que consiste en que dos personas se
dediquen a la programación en una estación de trabajo con el fin de que obtengamos un
producto de calidad(dos cabezas piensan mejor que una) y luego ser integradas por un equipo
de trabajo.
La siguiente característica en la codificación son las pruebas unitarias a cada una de las
historias que fueron tomadas en la etapa de planeación
Al código terminado se le aplican las pruebas unitarias con lo que obtenemos
retroalimentación (incremento de software) para los desarrolladores.
24
4.1.5 Pruebas.
Consisten en pruebas unitarias antes de que se empiece a codificar minimizando posibles
errores
Conforme si siguen avanzando las pruebas unitarias, las pruebas de integración y validación
se siguen efectuando continuamente.
Las pruebas unitarias se deben realizar a la mayor parte del código.
A medida que se creen nuevas historias o funcionalidades al sistema se requieren nuevas
pruebas unitarias.
Si una parte del código no pasa la prueba unitaria se tiene que reconstruir y modificar el
código y nuevamente ejecutar la prueba unitaria.
Las pruebas se basan en las historias de usuarios.
25
5. DESARROLLO DE LA SOLUCION
Como citamos anteriormente la metodología a utilizar es el método de programación
extrema parte de desarrollo ágil con sus respectivas actividades.
5.1 Planeación del Desarrollo de la Solución.
En la empresa Esyst que se dedica al desarrollo de software planificamos varias reuniones,
se dividió en tres etapas, reuniones con el dueño y gerente de la empresa, reuniones con la
jefa de implementación y reuniones con los implementadores. Se tuvo todas las facilidades
del caso por parte de los usuarios de la empresa explicándonos los requisitos y
requerimientos que necesitaban que realice el sistema.
5.1.1 Recopilación de la Información.
Para reunir la información tuvimos conversaciones la mayor parte informales con los
diferentes actores dentro de la empresa, las reuniones fueron con personas que más
experiencia tienen en el manejo de las ordenes de trabajo, lo cual pudimos identificar dos
actores dentro de la empresa que van a utilizar el sistema.
5.1.2 Actores que intervienen en el sistema
De lo que se pudo recabar información se estableció que existen dos actores:
Jefe de implementación: Se encarga de obtener reportes, crear usuarios (implementadores),
modificar órdenes de trabajo, eliminación y creación de tareas.
Implementadores: Se encargan de ingresar información, creación de clientes, creación de
órdenes de trabajo, fechas, horas, pendientes y observaciones.
26
5.1.3 Historias de Usuario.
Se describe procesos que realizan los usuarios en la empresa ESYST.
Se pudo identificar historias de usuarios que visualizamos en la siguiente tabla:
Tabla 4. Historias de Usuario
Fuente: Juan Carlos Pullas (2017)
Numero Historia de usuario
1 Validación Usuario
2 Administración de órdenes de trabajo
3 Administración de tareas
4 Administración de clientes
5 Administración de licencias
6 Administración de reportes
Tabla 5. Validación de Usuario
Fuente: Juan Carlos Pullas (2017)
HISTORIA DE USUARIO
SISTEMA DE ORDENES DE TRABAJO ESYST
Numero de Historia: 1 Título: Validación de usuario
Usuario: Administrador, Implementador
Prioridad del Negocio: Alta
Riesgo en desarrollo: Media
Descripción de la historia
Valida el ingreso de usuario al sistema, tanto su login como su password
Anotaciones
Muestra un aviso de error cuando el usuario no está registrado o se equivocó en el ingreso
de su login y contraseña
27
Tabla 6. Administración de Usuario
Fuente: Juan Carlos Pullas (2017)
HISTORIA DE USUARIO
SISTEMA DE ORDENES DE TRABAJO ESYST
Numero de Historia: 2 Título: Administrar usuarios
Usuario: Administrador
Prioridad del Negocio: Alta
Riesgo en desarrollo: Media
Descripción de la historia
El administrador del sistema crea modifica, consulta y elimina usuarios y se le asigna
un perfil especifico a cada usuario.
Para el ingreso del usuario el sistema requiere código(creado automáticamente), nombre,
username, password y el perfil
Anotaciones
Se deben ingresar toda la información caso contrario el sistema pedirá que se ingrese los
datos, ninguna casilla debe quedar vacía.
Tabla 7. Administración de órdenes de trabajo
Fuente: Juan Carlos Pullas (2017)
HISTORIA DE USUARIO
SISTEMA DE ORDENES DE TRABAJO ESYST
Numero de Historia: 3 Título: Administrar de órdenes de trabajo
Usuario: Administrador, Implementador
Prioridad del Negocio: Alta
Riesgo en desarrollo: Media
Descripción de la historia
Tanto el usuario administrador como el implementador pueden ingresar la orden de
trabajo su consulta, su modificación y su eliminación
Los datos a ingresar la orden son: número de orden, contacto, cliente(empresa en el que
se implementó el software), fecha de visita, implementador responsable, horas de inicio,
visita y fin
un concepto adicional y los procesos(tareas) registrados por el implementador que se hizo
en el transcurso de la implementación o capacitación
Anotaciones
EL número de orden no es automático, se calcula el número de horas a partir de la suma
de hora de inicio y de fin,
28
Tabla 8. Administración de Tareas
Fuente: Juan Carlos Pullas (2017)
HISTORIA DE USUARIO
SISTEMA DE ORDENES DE TRABAJO ESYST
Numero de Historia: 4 Título: Administrar de tareas
Usuario: Administrador
Prioridad del Negocio: Alta
Riesgo en desarrollo: Media
Descripción de la historia
El usuario administrador realiza el ingreso, modificación, eliminación y consultas de las
tareas (procesos que se ejecutan dentro del software vendido por parte de la empresa
ESYST como son: Respaldo de datos, creación de productos, de clientes, facturación,
etc.)
Anotaciones
Tratar de agrupar los procesos o tratarlos de forma lo más general posible para no tener
tantas tareas a escoger, lo cual dificultaría su manejo
Tabla 9. Administración Clientes.
Fuente: Juan Carlos Pullas (2017)
HISTORIA DE USUARIO
SISTEMA DE ORDENES DE TRABAJO ESYST
Numero de Historia: 5 Título: Administrar de clientes
Usuario: Administrador, Implementador
Prioridad del Negocio: Alta
Riesgo en desarrollo: Media
Descripción de la historia
Los usuarios de tipo administrador e implementador pueden ingresar, crear, modificar y
eliminar la información de los clientes que maneja la empresa Esyst. Los
datos pedidos para el ingreso de clientes son: código (automático), nombre, dirección,
contacto y teléfono.
Anotaciones
La información ingresada debe ser real y validada ya que es una fuente de información
para comunicarse con el cliente
29
Tabla 10. Administración licencias.
Fuente; Juan Carlos Pullas (2017)
HISTORIA DE USUARIO
SISTEMA DE ORDENES DE TRABAJO ESYST
Numero de Historia: 6 Título: Administrar de licencias
Usuario: Administrador
Prioridad del Negocio: Alta
Riesgo en desarrollo: Media
Descripción de la historia
La admiración de licencias solo está a cargo del usuario administrador. Crea modifica,
consulta y elimina. La información pedida para el ingreso son: código(automático),
descripción de la licencia como "Licencia Servidor", Observación y el número total de
licencias registradas
Anotaciones
El número de licencia debe ser validada ya que nos permite verificar el número de
licencias y su respectivo costo.
Tabla 11. Administración Reportes.
Fuente: Juan Carlos Pullas (2017)
HISTORIA DE USUARIO
SISTEMA DE ORDENES DE TRABAJO ESYST
Numero de Historia: 7 Título: Administrar de reportes
Usuario: Administrador
Prioridad del Negocio: Alta
Riesgo en desarrollo: Media
Descripción de la historia
Solo el usuario administrador puede visualizar reportes. Los reportes son en base a toda
la información ingresada en el sistema. Los reportes de clientes , implementadores,
usuarios, clientes, ordenes de trabajo pueden ser consultados
Anotaciones
La información visualizada en los reportes nos va a servir para tener una visión general
de cómo va la implementación, el número de horas invertidas y permitir encontrar
rápidamente la visualización de la orden de trabajo
5.2 Fase de Diseño.
Dentro de la fase de diseño se tienen los casos de uso que tienen nuestros actores (usuarios)
con su respectiva descripción, modelo de datos, modelo relacional, diagrama de clases y un
diccionario de datos.
30
5.2.1 Diagrama de casos de uso
Figura 16. Diagrama de Caso de Uso General Fuente: Juan Carlos Pullas (2017)
31
Figura 17. Diagrama de Casos de Uso Administrador
Fuente: Juan Carlos Pullas (2017)
32
Figura 18. Diagrama de Casos de Uso Implementador
Fuente: Juan Carlos Pullas
5.2.2 Descripción de casos de uso.
Tabla 12. Descripción de Caso de Uso Acceso al Sistema
Fuente: Juan Carlos Pullas (2017)
Caso de uso: Acceso al sistema
Fecha: 03/09/2017
Autores: Administrador, Implementador
Descripción:
Permite ingresar al sistema, validando el username, el password y creando una sesión
de usuario
Precondiciones:
Digitar correctamente la dirección URL de la página web en la que funciona el sistema.
Estar registrado en el sistema, este registro lo hace el administrador
Flujo Normal:
El usuario del sistema ingresa a la dirección web en un explorador
El usuario ingresa el username y el password que el administrador le asigno
previamente
Dependiendo del perfil del usuario tiene acceso a diferentes procesos del sistema
Pos condiciones:
Si el usuario digita correctamente el username y el password ingresa a la página
principal del sistema
Si el usuario digita erróneamente el username y el password el sistema muestra un
mensaje que indica que los datos ingresados son incorrectos
33
Tabla 13. Descripción de Caso de Uso Administrar Clientes.
Fuente: Juan Carlos Pullas (2017)
Caso de uso: Administrar Clientes
Fecha: 03/09/2017
Autores: Administrador, Implementador
Descripción: Permite crear, modificar, consultar y eliminar clientes
Precondiciones: El usuario que va a realizar los procesos debe estar creado en el
sistema
El usuario debe tener un perfil (rol) dentro del sistema (permisos)
Flujo Normal: Una vez validado el acceso al sistema, el usuario ingresa al módulo de
clientes
Para Crear un cliente el usuario da un click en el icono de nuevo ubicado en la parte
derecha superior de la tabla que tiene la información de los clientes
Para eliminar un cliente nos dirigimos al registro del cliente y en la última columna
damos clic en el icono eliminar
Para modificar un cliente nos dirigimos al registro del cliente y en la última columna
damos click en el icono modificar, lo cual nos lleva a otra pantalla que nos va a permitir
editar los campos del cliente y luego damos click en grabar
Los clientes son visualizados en el momento de ingresar al módulo clientes
Pos condiciones: Ya registrado o modificado el cliente el sistema redirecciona a la
página principal de clientes para que pueda ser visualizado
El sistema valida la información antes de guardar, si los datos son erróneos el sistema
enviara un mensaje indicándonos el campo mal ingresado
Tabla 14. Descripción de Caso de Uso Administrar Ordenes de Trabajo.
Fuente: Juan Carlos Pullas (2017)
Casos de uso: Administrar Ordenes de Trabajo
Fecha: 03/09/2017
Autores: Administrador; Implementador
Descripción: Permite ingresar, modificar, consultar, eliminar y configurar ordenes de
trabajo
Precondiciones: El usuario que va a realizar los procesos debe estar creado en el sistema
Para ingresar una orden de trabajo, ya se debe tener registrado el cliente, el
implementador, la versión y el tipo de licencia.
Flujo Normal: El usuario ingresa al módulo de órdenes de trabajo lo cual nos indica el
registro de cada orden, un registro general.
Para ingresar la orden de trabajo debemos dirigirnos a la parte derecha superior y dar
click en el icono de nuevo
Se muestra la pantalla de ingreso de órdenes de trabajo en la cual vamos a llenar todos
los campos que nos solicita
Para modificar la orden de trabajo ubicamos el registro general de la orden y damos click
en el icono modificar que se encuentra en la última columna
La orden se muestran en forma general al momento de ingresar al módulo de orden de
trabajo
Pos condiciones: Ya registrado o modificado la orden de trabajo el sistema redirecciona
a la página principal de órdenes de trabajo para que pueda ser visualizado
El sistema valida la información antes de guardar, si los datos son erróneos el sistema
enviara un mensaje indicándonos el campo mal ingresado
34
Tabla 15. Descripción de Caso de Uso Administrar Usuarios.
Fuente: Juan Carlos Pullas (2017)
Casos de uso: Administrar Usuarios
Fecha: 03/09/2017
Autores: Administrador
Descripción: Permite ingresar, modificar, consultar y eliminar usuarios
Precondiciones: El usuario que va a realizar la administración debe estar creado y
validado
Para ingresar un usuario ya se debe tener un perfil con los permisos al que se va a dar
a dicho usuario
Flujo Normal: El usuario ingresa al módulo de usuarios el cual nos muestra todos los
usuarios registrados en el sistema
Para ingresar un nuevo usuario nos dirigimos a la parte derecha superior de la tabla y
damos click en el icono nuevo
Se muestra la pantalla de ingreso de usuario, se ingresa todos los campos que
corresponde al usuario
Para modificar un registro de usuario escogemos el icono ubicado en la última columna
en la fila del usuario
Pos condiciones: Ya ingresado el usuario el sistema retorna a la página de usuarios que
indica el usuario registrado
El sistema valida la información antes de guardar, si los datos son erróneos el sistema
enviara un mensaje indicándonos el campo mal ingresado
Tabla 16. Descripción de Caso de Uso Administrar Tareas.
Fuente: Juan Carlos Pullas
Casos de uso: Administrar Tareas
Fecha: 03/09/2017
Autores: Administrador
Descripción: Permite ingresar, modificar, consultar y eliminar tareas
Precondiciones: El usuario que va a realizar la administración debe estar creado y
validado
Flujo Normal: El usuario ingresa al módulo de tareas y el sistema muestra todas las
tareas creadas
Para ingresar una nueva tarea nos ubicamos a la parte derecha superior de la tabla y
damos click en el icono nuevo
Se muestra la pantalla de ingreso de tareas, se digita el nombre de la tarea y se da un
click en el botón guardar
Para modificar una tarea nos dirigimos a la última columna ubicándonos en el registro
de la tarea a modificar
Pos condiciones: Ya ingresado la tarea el sistema retorna a la página de tareas que
indica la tarea registrada
El sistema valida la información antes de guardar, si los datos son erróneos el sistema
enviara un mensaje indicándonos el campo mal ingresado
35
Tabla 17. Descripción de Caso de Uso Administrar licencias.
Fuente: Juan Carlos Pullas (2017)
Casos de uso: Administrar licencias
Fecha: 03/09/2017
Autores: Administrador
Descripción: Permite ingresar, modificar, consultar y eliminar licencias
Precondiciones: El usuario que va a realizar la administración debe estar creado y
validado
Flujo Normal: El usuario ingresa al módulo de licencias y el sistema muestra todas las
licencias creadas
Para ingresar una nueva licencia nos ubicamos a la parte derecha superior de la tabla y
damos click en el icono nuevo
Se muestra la pantalla de ingreso de licencias, se digitan los campos que se muestra en la
pantalla y se da un click en el botón guardar
Para modificar una licencia nos dirigimos a la última columna ubicándonos en el registro
de la licencia a modificar
Pos condiciones: Ya ingresado la licencia el sistema retorna a la página de licencias que
indica la licencia registrada
El sistema valida la información antes de guardar, si los datos son erróneos el sistema
enviara un mensaje indicándonos el campo mal ingresado
Tabla 18. Descripción de Caso de Uso Administrar Implementadores.
Fuente: Juan Carlos Pullas (2017)
Casos de uso: Administrar implementadores
Fecha: 03/09/2017
Autores: Administrador
Descripción: Permite ingresar, modificar, consultar y eliminar implementadores
Precondiciones: El usuario que va a realizar la administración de implementadores debe
estar creado y validado
Debe estar creado un usuario con su respectivo perfil(permisos)
Flujo Normal: El usuario ingresa al módulo de implementadores y el sistema muestra los
implementadores creados en una tabla
Para ingresar una nuevo implementador nos ubicamos a la parte derecha superior de la
tabla y damos click en el icono nuevo
Se muestra la pantalla de ingreso de implementadores, se digitan los campos que se
muestra en la pantalla y se da un click en el botón guardar
Para modificar un implementador nos dirigimos a la última columna ubicándonos en el
registro de la licencia a modificar
Pos condiciones: Ya registrado el implementador el sistema retorna a la página de
implementadores que indica el implementador registrado
El sistema valida la información antes de guardar, si los datos son erróneos el sistema
enviara un mensaje indicándonos el campo mal ingresado
36
Tabla 19. Descripción de Caso de Uso Reportes.
Fuente: Juan Carlos Pullas
Casos de uso: Generación y visualización de reportes
Fecha: 03/09/2017
Autores: Administrador, Implementador
Descripción: Permite la generación y visualización de reportes
Precondiciones: El usuario que va a realizar la visualización y generación debe estar
creado, validado y autorizado
Flujo Normal: El usuario ingresa el módulo de reportes dentro del sistema
El usuario escoge la consulta a realizar y elige el tipo de reporte a visualizar dependiendo
de los parámetros de dicha consulta
El sistema muestra el reporte que escogió el cliente escogiendo el formato, visualización
y parámetros de dicho reporte
Pos condiciones: Si el usuario ingresa parámetros erróneos para la consulta o reporte el
sistema mostrara un mensaje indicando el parámetro faltante
El sistema permanecerá en la misma página de reportes.
5.2.4 Diagrama de Clases
Se describe el diagrama de clases del sistema que se está desarrollando
a) Diagrama Entidad-Relación
|
Un diagrama ER (Entidad-Relación) muestra como entidades a personas,
conceptos u objetos y la relación que existen entre ellos.
Las entidades se muestran en un cuadrado con sus respectivos campos,
mientras que las líneas muestran la conexión o relación entre ellos.
A continuación se visualiza el modelo Entidad-Relación para el sistema de
Órdenes de Trabajo.
37
Figura 19. Diagrama de clases Entidad-Relación
Fuente: Juan Carlos Pullas (2017)
38
5.3 Fase de codificación
En la creación del código fuente como lo mencionamos anteriormente se trabajó con la
Controlador) con el framework Servlets que permite enlazar la vista (paginas JSP) con clases
Java y con la base de datos (Oracle).
La codificación está basada en tres componentes MVC.
El vista dentro de la programación está constituida por todas las paginas JSP programadas.
Tenemos la página de logueo donde validamos el ingreso del usuario al sistema, la página
principal que se ingresa después de la validación del usuario creando una sesión.
En la siguiente figura se muestra la plantilla general del sistema que utilizan todas las
paginas JSP que visualiza el usuario.
Figura 20. Ejemplo de página JSP en el sistema Fuente: Juan Carlos Pullas
Dentro del modelo tenemos las clases java que tienen declaraciones de clase de acuerdo a la
tabla (entidad) de la base de datos
39
Figura 21. Ejemplo de clases Java usada en el sistema Fuente: Juan Carlos Pullas
Dentro del modelo se tiene también las sentencias que sirven para extraer información de la
base de datos.
Figura 22. Clase java con sentencia de base de datos
Fuente: Juan Carlos Pullas
40
En el controlador tenemos la creación de Servlets. En la programación tenemos dos Servlets.
El ServletControlador que sirve de enlace entre las páginas JSP y las clases Java.
El Servlet tiene funciones de consultar, insertar, modificar y eliminar dependiendo de la
selección del usuario
Figura 23. Código Servlet.
Fuente: Juan Carlos Pullas
El ServletLogueo que nos ayuda a crear sesiones y validar la entrada del usuario al sistema
41
Figura 24. Código Servlet de acceso al sistema.
Fuente: Juan Carlos Pullas
Para el desarrollo del sistema de órdenes de trabajo las tablas principales dentro de la base
de datos son la entidad Implementador y la entidad Orden donde se almacenan los datos del
implementador y de la orden de trabajo respectivamente.
Figura 25. Entidades de la Base de Datos. Fuente: Juan Carlos Pullas
5.4 Pruebas y Resultados.
Se efectuaron diferentes tipos de pruebas entre las que tenemos
Prueba en diferentes navegadores web (Internet Explorer, Google Chrome, Mozilla Firefox).
Prueba de Ingreso al Sistema
IMPLEMENTADOR
ID_IMPLEMENTADOR
ID_USUARIO
NOMBRE_IMPLEMENTADOR
TELEFONO_IMPLEMENTADOR
EMAIL_IMPLEMENTADOR
INT
INT
VARCHAR(50)
VARCHAR(50)
VARCHAR(50)
<pk>
<fk>
ORDEN
ID_ORDEN
ID_CLIENTE
ID_IMPLEMENTADOR
ID_VERSION
ID_TIPO_LICENCIA
FECHA_ORDEN
INT
INT
INT
INT
INT
DATE
<pk>
<fk1>
<fk2>
<fk3>
<fk4>
42
Se muestra el mensaje de error en el ingreso al sistema dependiendo del usuario y el
password.
Si el username o el password es vacío o erróneo nos va a mostrar un mensaje de error.
Figura 26. Acceso al sistema
Fuente: Juan Carlos Pullas
Si el username o el password es correcto el sistema valido y le da acceso a la pantalla
principal.
Figura 27. Pantalla principal del sistema. Fuente: Juan Carlos Pullas
43
6. CONCLUSIONES
Se desarrolló e implemento un sistema de información que facilita la gestión de
órdenes de trabajo dentro de la empresa Esyst obteniendo información actualizada y
veraz.
El sistema permitió la reducción drásticamente de papel, ya que se utilizaba gran
cantidad en el registro de la orden, aproximadamente 40 documentos físicos diarios.
Permitió la reducción de espacio físico en almacenamiento de la información ya que
se procesa información solamente en el sistema.
El sistema permite el registro de toda la información generada por las ordenes de
trabajo (clientes, implementadores, ordenes, usuarios, versión, fechas y licencias) lo
cual contribuye a la facilidad de visualización de la información almacenada
Se redujo el tiempo en entrega de información al cliente ya que ya no es necesario
buscar la información física en los archivadores.
Se puede saber de manera automática y rápida el número de horas invertidas en la
instalación, capacitación o soporte de cada cliente.
El sistema permite ver el avance y estado de cada cliente en la utilización del sistema,
parte fundamental para poder tomar decisiones.
44
7. RECOMENDACIONES
Se recomendaría realizar un seguimiento del funcionamiento del sistema para ver su
funcionamiento en el transcurso del tiempo y por las actualizaciones que se realizan
en los exploradores web y sistemas operativos.
Sería conveniente tener un servidor con buena conexión a internet y buen
rendimiento.
Se podría actualizar el sistema a una nueva versión que incluya nuevas
funcionalidades y características solicitadas por el usuario como costos.
Es recomendable el uso de navegadores web conocidos y funcionales como Internet
Explorer, Google Chrome y Mozilla Firefox.
Se recomendaría desarrollar el sistema para aplicaciones web (tanto para android
como para IOS) para facilitar el uso en celulares.
Sería conveniente la actualización de la base de datos Oracle a una con licencia ya
que tendría más ventajas y almacenamiento que la Express Edition (gratuita).
Se sugiere la compra de un servidor dedicado con Windows Server, Antivirus, 8 Gb
de RAM, y un buen procesador, Discos duros con redundancia RAID (Redundant
Array of Independent Disks) para mantener segura y protegida la información.
Adquirir una IP pública privada, así como dominio y host, una conexión mínima de
internet de 10MB de entrada y salida, Router CISCO configurable, y la conexión del
servidor al Router debe ser mediante cable UTP categoría 6 no mediante conexión
inalámbrica (WIFI).
Se recomienda realizar copias de seguridad de la base de datos semanalmente o crear
un script para que este proceso sea automático y la adquisición de un buen antivirus
y firewall.
45
BIBLIOGRAFIA
En vez de obtenido: recuperado de
1. ALCIVAR, G. (2017). Gestion de Catastro Rural. Quito: Tesis UCE.
2. CHECKOS. (2017). Programa de Ordenes de Trabajo. Obtenido de
http://www.checkos.net/es
3. CODEJOBS. (2017). Programacion Extrema. Obtenido de
https://www.codejobs.biz/es/blog/2013/06/05/programacion-extrema-xp
4. IBM. (2017). Servlets y JSP. Obtenido de
https://www.ibm.com/support/knowledgecenter/en/ssw_i5_54/rzamy/jspdef.htm
5. ISSI, G. (2003). Metodologias Agiles en el Desarrollo del Software. Valencia: Jisbd.
6. ORACLE. (2017). Netbeans. Obtenido de https://netbeans.org/features/index.html
7. ORACLE. (2017). Oracle 10g Express Edition. Obtenido de
http://docs.oracle.com/cd/B25329_01/doc/admin.102/b25610/toc.htm.
8. PAEZ, S. D. (2017). Sistemas de Gestion de Ordenes de Trabajo. Obtenido de
https://sistemaspaez.com/ordenes-de-trabajo/
9. PLUMBR. (2017). Java Aplication Server. Obtenido de https://plumbr.eu
10. PRESMMAN, R. (2010). Ingenieria de Software, un enfoque practico. New York: Mc
Grawn-Hill.
11. REDHAT. (2017). Servidores de Aplicaciones Web. Obtenido de
https://developer.jboss.org/blogs/mark.little/2013/04/19/?_sscc=t.
12. SCIELO. (2017). Metodos de Desarrollo Agil. Obtenido de
http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992013000100003
13. SOMMERVILLE, I. (2011). Ingenieria de Software. Mexico: Pearson.
14. TORRES, C. (2017). Desarrollo de un SIstema de Control Microproductor de Cacao.
Quito: Tesis UCE.
15. UNDERCORE. (2017). Modelo Vista Controlador. Obtenido de
https://underc0de.org/foro/java/modelo-vista-controlador
16. VILLAREAL, D. (2005). Tips para Gestion de Ordenes de Trabajo. Obtenido de
http://www.capatazsoft.com.ar/blog/2014/09/10-tips-gestion-ordenes-de-trabajo
17. WORDPRESS. (2017). Sistema Manejador de Base de Datos. Obtenido de
https://homeworkdatabase.wordpress.com/
46
ANEXOS
ORDEN DE TRABAJO DE LA EMPRESA ESYST
En este apartado se puede observar toda la información que se ingresa en la orden de trabajo.
Contacto: Nombre de la persona encargada y responsable de la empresa en la que se va a
efectuar la instalación.
Empresa: Nombre de la empresa en la que se va a instalar el sistema
Dirección: Dirección de la empresa en la que se va a instalar
Teléfono: Número de teléfono de la empresa o contacto con cual comunicarse
Versión: La versión del software que se va instalar (año, versión).
Número de Usuarios: Número de licencias o computadores en los que se instalo
Fecha: Fecha de la instalación y/o capacitación.
Hora Inicio: Hora de inicio del trabajo
Hora Fin: Hora de culminación del trabajo
Número de Horas: Número de horas efectivas a ser descontadas al cliente
Detalles: Todos los detalles, tareas, procesos, productos que se realizó en esa orden.
Número de Factura: Número de factura ligada a la orden de trabajo
Valor: Valor a facturar por lo servicios presados
Pendientes y Observaciones: los pendientes, observaciones y recomendaciones que se le
realiza al cliente
Implementador: Nombre de implementador a cargo de la instalación, capacitación o soporte.
47
Figura 28. Orden de Trabajo
Fuente: Juan Carlos Pullas
ORDEN DE TRABAJO
CONTACTO FECHA
EMPRESA HORA INICIO
DIRECCION HORA FIN
TELEFONO NUMERO DE HORAS
VERSIONNUMERO DE USUARIOS
DETALLES
PENDIENTES Y OBSERVACIONES NUMERO FACTURA
VALOR
__________________________ ___________________________
FIRMA DEL TECNICO FIR MA DEL CLIENTE
48
MANUAL DE INSTALACION
En la instalación se va utilizar varios software que nos va a permitir parametrizar y
configurar el entorno con el que se desea trabajar
Primeramente se va a instalar el Entorno de Desarrollo NETBEANS.
Se descarga de la página oficial de Netbeans.
Figura 29. Página Netbeans
Fuente: Juan Carlos Pullas (2017)
La recomendación seria que se descargue la versión All ya que tiene todas las tecnologías y
paquetes a utilizar, para luego no estar descargando y añadiendo uno por uno.
Una vez descargado se procede a instalar haciendo click en el ejecutable
Figura 30. Inicio de Instalación
Fuente: Juan Carlos Pullas
49
Click en siguiente para escoger el directorio en el que vamos a instalar y click en siguiente
Figura 31. Ruta de Instalación Netbeans
Fuente: Juan Carlos Pullas
Se espera hasta que termine la instalación y aparece una imagen que indica el final de la
instalación
Figura 32. Final Instalación Netbeans
Fuente: Juan Carlos Pullas (2017)
Luego se procede a descargar el paquete jdk. Sin el jdk no funcionaría el Netbeans
50
Figura 33. Página Descarga jdk
Fuente: Juan Carlos Pullas (2017)
Hay varias versiones y plataformas dependiendo del sistema Operativo.
Para el presente proyecto integrador se descarga la última versión compatible con Windows
de 64 bits y la instalamos.
Doble click en el ejecutable del instalador, se muestra la siguiente pantalla y se da click en
next para ejecutar el Wizard de la instalación.
Figura 34. Instalación jdk
Fuente: Juan Carlos Pullas (2017)
51
Figura 35. Tipo instalación jdk
Fuente: Juan Carlos Pullas
Luego hacer click en next ya escogido el directorio en el que se instalara.
Figura 36. Instalación de Java
Fuente: Juan Carlos Pullas
Se instalara automáticamente jdk que es precisamente JAVA.
Posteriormente nos descargamos el SGDB (Sistema Gestor de Base de Datos)
Que este caso se escogió Oracle 10g con la versión Express Edition (sin costo) de la página
oficial de Oracle escogiendo la versión para Windows de 64 bits.
52
Figura 37. Página Descarga Oracle
Fuente: Juan Carlos Pullas
Y procedemos con la instalación haciendo click en el ejecutable descargado
Figura 38. Instalación Oracle
Fuente: Juan Carlos Pullas (2017)
Se accede a la página principal de la instalación haciendo click en siguiente
53
Figura 39. Asistente de Instalación Oracle
Fuente: Juan Carlos Pullas (2017)
Luego click para escoger el directorio donde se va a realizar la instalación
Figura 40. Contraseña Oracle
Fuente: Juan Carlos Pullas
En esta sección se ingresa la contraseña que se utilizara para acceder a la Base de Datos y
click en Siguiente, aquí se espera un momento apropiado hasta que se instale el Oracle. Y
se va a mostrar una pantalla que indica el final de la instalación.
54
Figura 41. Final Instalación Oracle
Fuente: Juan Carlos Pullas
Además del Oracle y Netbeans se utilizó 3 programas adicionales como es el Toad, Power
Designer y Visio de Office
Toad para visualizar de forma gráfica la base de datos.
Descargar la aplicación, hacer click en el ejecutable y luego next
Figura 42. Inicio Instalación Toad
Fuente: Juan Carlos Pullas
55
Se acepta todos los términos y condiciones
Figura 43. Términos y condiciones Toad
Fuente: Juan Carlos Pullas
Se escoge el directorio en el cual se va a instalar
56
Figura 44. Ruta de Instalación Toad
Fuente: Juan Carlos Pullas
Para finalizar la instalación hacer click en cada uno de los componentes a instalar
Figura 45. Componentes Toad
Fuente: Juan Carlos Pullas
Power Designer se utilizó para el diseño lógico de la base de datos
57
Se descarga de la página oficial de SYBASE y click en el ejecutable
Figura 46.Pagina Instalación Power Designer
Fuente: Juan Carlos Pullas (2017)
Se acepta todos los términos y condiciones y luego next
Figura 47. Términos y condiciones Power Designer
Fuente: Juan Carlos Pullas (2017)
Se escoge la ruta en la que se va a instalar
58
Figura 48. Ruta de Instalación Power Designer
Fuente: Juan Carlos Pullas (2017)
Finalmente se escoge todos los componentes a instalar y click en next
Figura 49. Componentes Power Designer
Fuente: Juan Carlos Pullas (2017)
Tras finalizar la instalación se muestra la pantalla de concluida la instalación
59
Figura 50. Final Instalación Power Designer
Fuente: Juan Carlos Pullas
top related