el perfil profesional de los graduados de la …a mis padres por haberme forjado para llegar a ser...
TRANSCRIPT
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
DISEÑO E IMPLEMENTACIÓN DEL SISTEMA DE GESTIÓN PARA LA
ASIGNACIÓN Y CONTROL DEL SERVICIO TÉCNICO EN LA EMPRESA
DIGITAL SERVICE CIA. LTDA.
TRABAJO DE GRADUACIÓN, PREVIO A LA OBTENCIÓN DEL TÍTULO DE
INGENIERO INFORMÁTICO
AUTOR: Chicaiza Cabrera César Augusto
TUTOR: Ing. René Alfonso Carrillo Flores, Msc.
Quito, 10 agosto
2016
ii
DEDICATORIA
Dedico este trabajo a mis padres Raúl y
Ximena, por su apoyo incondicional,
comprensión, infinito amor y por siempre
creer en mí.
A mi hija Doménica, quizás hoy no
entiendas mis palabras, pero para cuando
seas capaz, quiero que te des cuenta de lo
significas para mí, eres mi alegría, mi
orgullo y mi mayor motivación para vencer
adversidades.
A mi esposa Diana, por tu paciencia,
comprensión y todo el amor que sientes por
mí.
A mis abuelitos José y Filomena, por sus
sabios consejos, cariño y ejemplo de hogar.
A mi hermana Paola, por ser mi confidente
de alegrías y tristezas durante todos estos
años.
iii
AGRADECIMIENTO
A mis padres por haberme forjado para llegar a ser la persona que soy hoy.
A mis esposa e hija por apoyarme y motivarme a seguir cumpliendo mis metas.
A Ing. Patricio Arroyo, Gerente General de la Empresa Digital Service Cía. Ltda., por
permitirme realizar este proyecto en su prestigiosa empresa.
A todas las personas que de una u otra forma me apoyaron para que este proyecto sea posible.
iv
AUTORIZACIÓN DE AUTORIA INTELECTUAL
Yo, Chicaiza Cabrera César Augusto en calidad de autor del trabajo de titulación, modalidad
proyecto integrador: DISEÑO E IMPLEMENTACIÓN DEL SISTEMA DE GESTIÓN
PARA LA ASIGNACIÓN Y CONTROL DEL SERVICIO TÉCNICO EN LA EMPRESA
DIGITAL SERVICE CIA. LTDA., autorizo a la Universidad Central del Ecuador hacer uso
de todos los contenidos que me pertenecen o parte de los que contiene esta obra, con fines
estrictamente académicos o de investigación.
Los derechos que como autor me corresponden, excepción de la presente autorización,
seguirán vigentes a mi favor, de conformidad con lo establecido en los artículos 5, 6, 8; 19
y demás pertinentes de la Ley de Propiedad Intelectual y su Reglamento.
Asimismo, autorizo a la Universidad Central del Ecuador para que realice la digitalización
y publicación de este trabajo de investigación en el repositorio virtual, de conformidad a lo
dispuesto en el Art. 144 de la Ley Orgánica de Educación Superior.
En la ciudad de Quito, a los 6 días del mes de julio de 2016.
Chicaiza Cabrera César Augusto
CC. 172010323-1
Teléfono: 02354834
Celular: 0987871677
v
CERTIFICACIÓN DEL TUTOR
Yo, RENE ALFONSO CARRILLO FLORES en calidad de tutor del trabajo de titulación
DISEÑO E IMPLEMENTACIÓN DEL SISTEMA DE GESTIÓN PARA LA
ASIGNACIÓN Y CONTROL DEL SERVICIO TÉCNICO EN LA EMPRESA DIGITAL
SERVICE CIA. LTDA., elaborado por el estudiante César Augusto Chicaiza Cabrera de la
Carrera de Ingeniería Informática, Facultad Ingeniería Ciencias Físicas y Matemática,
considero que el mismo reúne los requisitos y méritos necesarios en el campo metodológico
y en el campo epistemológico, para ser sometido a la evaluación por parte del jurado
examinador que se designe, por lo que APRUEBO, a fin de que el proyecto integrador sea
habilitado para continuar con el proceso de titulación determinado por la Universidad
Central del Ecuador.
En la ciudad de Quito, a los 6 días del mes de julio de 2016.
Ing. René Alfonso Carrillo Flores
CC.: 1720948700
TLF: 0998747171
vi
CALIFICACIÓN DEL TRIBUNAL
vii
RESULTADO DEL TRABAJO DE TITULACIÓN
viii
CONTENIDO
DEDICATORIA ..................................................................................................................... II
AGRADECIMIENTO ..............................................................................................................III
AUTORIZACIÓN DE AUTORIA INTELECTUAL ........................................................................ IV
CERTIFICACIÓN DEL TUTOR ................................................................................................. V
CALIFICACIÓN DEL TRIBUNAL ............................................................................................. VI
RESULTADO DEL TRABAJO DE TITULACIÓN ........................................................................ VII
CONTENIDO..................................................................................................................... VIII
LISTA DE TABLAS................................................................................................................ XI
LISTA DE FIGURAS ............................................................................................................. XII
RESUMEN ........................................................................................................................ XIII
ABSTRACT ....................................................................................................................... XIV
INTRODUCCIÓN ................................................................................................................... 1
1. MARCO TEORICO .......................................................................................................... 7
1.1. FUNDAMENTACIÓN TEÓRICA .......................................................................................... 7
1.1.2. APLICACIÓN WEB ...................................................................................................................... 7
1.1.3. ARQUITECTURA MODELO-VISTA-CONTROLADOR (MVC) ................................................................. 7
1.1.4. HERRAMIENTAS PARA EL DESARROLLO ........................................................................................... 8
1.1.4.1. Ide Eclipse Luna Service Release 1 (4.4.1) .......................................................................... 8
1.1.4.2. MYSQL 5.7 .......................................................................................................................... 9
1.1.4.3. MYSQL WORKBENCH 6.3 CE............................................................................................. 10
1.1.5. SERVIDOR WEB ....................................................................................................................... 11
1.1.6. SERVIDOR DE APLICACIONES WILFLY............................................................................................ 12
1.1.7. LENGUAJE DE PROGRAMACION JAVA ........................................................................................... 12
1.1.7.1. Java Enterprise Edition (Java EE) ...................................................................................... 13
1.1.7.2. Java Persistence API (JPA) ................................................................................................ 13
1.1.7.3. Enterprise Java Beans (EJB) .............................................................................................. 13
ix
1.1.7.4. Java Server Faces (JSF) ..................................................................................................... 14
1.1.8. PRIMEFACES (PF) .................................................................................................................... 14
1.1.9. AJAX ...................................................................................................................................... 14
1.1.10. FACELETS.............................................................................................................................. 15
2. METODOLOGÍA DE DESARROLLO ................................................................................. 16
2.1. METODOLOGÍA DE DESARROLLO .......................................................................................... 16
2.2. METODOLOGÍAS ÁGILES ..................................................................................................... 17
2.2.2. REVISIÓN DE METODOLOGÍAS ................................................................................................... 17
2.2.3. RANKING DE AGILIDAD ............................................................................................................. 18
2.2.4. METODOLOGÍA PROGRAMACIÓN EXTREMA (EXTREME PROGRAMMING, XP)..................................... 19
2.2.4.1. Ciclo De Desarrollo de XP ................................................................................................. 19
2.2.4.2. Fases de XP ....................................................................................................................... 20
3. DESARROLLO DE LA METODOLOGIA ............................................................................ 21
3.1. PROCESO DE LA METODOLOGÍA XP ....................................................................................... 21
3.1.2. REQUERIMIENTOS FUNCIONALES DEL SISTEMA .............................................................................. 21
3.1.3. REQUERIMIENTOS NO FUNCIONALES DEL SISTEMA ......................................................................... 21
3.1.4. ACTORES QUE INTERVIENEN EN EL SISTEMA .................................................................................. 21
3.1.5. FASE I: EXPLORACION ............................................................................................................... 22
3.1.5.1. Historias de los Usuarios .................................................................................................. 22
3.1.5.2. Herramientas De Hardware Para El Desarrollo ................................................................ 28
3.1.5.3. Tecnología De Software Para El Desarrollo ...................................................................... 28
3.1.5.4. Arquitectura De La Aplicación .......................................................................................... 29
3.1.5.5. Proceso Del Sistema ......................................................................................................... 30
3.1.5.6. Diagramas Y Casos De Uso ............................................................................................... 32
3.1.5.7. Diagrama Y Caso De Uso Incio De Sesion ......................................................................... 32
3.1.5.8. Diagrama Y Caso De Uso Registro De Una Solicitud ........................................................ 33
3.1.5.9. Diagrama Y Caso De Uso Despacho De Solicitud ............................................................. 35
3.1.5.10. Diagrama Y Caso De Uso Diagnostico ............................................................................ 37
3.1.5.11. Diagrama Y Casos De Uso De Reparación ...................................................................... 38
3.1.5.12. Diagrama Y Casos De Uso Finalización ........................................................................... 40
3.1.5.13. Diagrama Y Casos De Uso De Entrega ............................................................................ 41
3.1.6. PROTOTIPO DEL SISTEMA .......................................................................................................... 42
3.1.7. MODELO ENTIDAD-RELACIÓN DEL SISTEMA ................................................................................. 43
3.1.8. FASE II: PLANIFICACIÓN DE LA ENTREGA...................................................................................... 44
3.1.9. FASE III: ITERACIONES............................................................................................................... 45
3.1.9.1. Desarrollo e Implementación ........................................................................................... 45
3.1.9.2. Resultado De Iteraciones ................................................................................................. 48
3.1.10. FASE DE PRODUCCIÓN ............................................................................................................ 49
3.1.10.1. Pruebas de Caja Negra ................................................................................................... 49
x
3.1.10.2. Pruebas de Interfaz ........................................................................................................ 64
3.1.10.3. Pruebas Basadas en Errores ........................................................................................... 64
3.1.11. FASE IV: MANTENIMIENTO ..................................................................................................... 64
3.1.12. FASE V: MUERTE DEL PROYECTO .............................................................................................. 64
4. CONCLUSIONES ........................................................................................................... 65
5. RECOMENDACIONES ................................................................................................... 66
6. BIBLIOGRAFÍA ............................................................................................................. 67
7. ANEXOS ...................................................................................................................... 68
7.1. ANEXO 1: PRESUPUESTO ............................................................................................... 68
7.2. ANEXO 2: MANUAL DE INSTALACION ............................................................................ 69
7.3. ANEXO 3: MANUAL DE USUARIO ................................................................................... 78
xi
LISTA DE TABLAS
Pág.
Tabla 1 Diferencias entre metodologías ágiles y tradicionales ........................................................ 16
Tabla 2 Ranking de agilidad entre metodologías ............................................................................. 19
Tabla 3 Historia de Usuario Ingreso de Solicitudes .......................................................................... 23
Tabla 4 Historia de Usuario Asignar Técnico ................................................................................... 24
Tabla 5 Historia de Usuario Cambio de técnico ............................................................................... 24
Tabla 6 Historia de Usuario Solicitar soporte ................................................................................... 25
Tabla 7 Historia de Usuario Cambio de estado de solicitud............................................................. 26
Tabla 8 Historia de Usuario Reparación del equipo ......................................................................... 27
Tabla 9 Historia de Usuario Finalización de la reparación .............................................................. 27
Tabla 10 Historia de Usuario Entrega de Equipo.............................................................................. 28
Tabla 11 Caso de Uso Inicio de sesión .............................................................................................. 33
Tabla 12 Caso de Uso Ingreso y actualización de datos del cliente ................................................ 34
Tabla 13 Caso de Uso Ingreso de Información del equipo .............................................................. 34
Tabla 14 Caso de Uso Ingreso de información del servicio ............................................................. 35
Tabla 15 Caso de Uso Selección de la solicitud ................................................................................ 36
Tabla 16 Caso de Uso Despacho de técnicos .................................................................................. 37
Tabla 17 Caso de Uso Revisión del equipo ....................................................................................... 38
Tabla 18 Caso de Uso Reparación del Equipo .................................................................................. 39
Tabla 19 Caso de Uso Finalización de la reparación ........................................................................ 40
Tabla 20 Caso de Uso Entrega del Equipo ....................................................................................... 41
Tabla 21 Prueba de caja negra P1 .................................................................................................... 50
Tabla 22 Prueba de caja negra P2 .................................................................................................... 52
Tabla 23 Prueba de caja negra P3 ................................................................................................... 53
Tabla 24 Prueba de caja negra P4 .................................................................................................... 54
Tabla 25 Prueba de caja negra P5 ................................................................................................... 56
Tabla 26 Prueba de caja negra P6 .................................................................................................... 58
Tabla 27 Prueba de caja negra P7 ................................................................................................... 59
Tabla 28 Prueba de caja negra P8 ................................................................................................... 61
Tabla 29 Prueba de caja negra P9 ................................................................................................... 62
Tabla 30 Prueba de caja negra P10 ................................................................................................. 63
Tabla 31 Tabla de resultados prueba de interfaz ............................................................................. 64
Tabla 32 Presupuesto estimado para la elaboración del proyecto .................................................. 68
xii
LISTA DE FIGURAS
Pág. Figura 1 Diagrama MVC ...................................................................................................................... 7
Figura 2 Diagrama Servidor Web ..................................................................................................... 11
Figura 3Diagrama JEE CAPAS ............................................................................................................ 13
Figura 4 Proceso Principal ................................................................................................................ 30
Figura 5 Subproceso ingreso de solicitud ......................................................................................... 30
Figura 6 Subproceso Asignación de técnicos ................................................................................... 30
Figura 7 Subproceso Diagnóstico del equipo ................................................................................... 31
Figura 8 Subproceso reparación del equipo .................................................................................... 31
Figura 9 Subproceso entrega del equipo ......................................................................................... 31
Figura 10 Diagrama de casos de uso general ................................................................................... 32
Figura 11 Diagrama Caso Uso Inicio Sesión ...................................................................................... 32
Figura 12 Diagrama Caso de Uso Registro de Solicitud .................................................................... 33
Figura 13 Diagrama Caso de Uso Despacho Solicitud ...................................................................... 35
Figura 14 Diagrama Caso De Uso Diagnóstico de Solicitud .............................................................. 37
Figura 15 Diagrama Caso de Uso Reparación del Equipo ................................................................ 38
Figura 16 Diagrama Caso de Uso Finalización .................................................................................. 40
Figura 17 Diagrama Casos de Uso Entrega ....................................................................................... 41
Figura 18 Pantalla de ingreso al Sistema .......................................................................................... 42
Figura 19 Prototipo Pantalla Recepción ........................................................................................... 42
Figura 20 Prototipo Pantalla Cierre de Llamada .............................................................................. 43
Figura 21 Diagrama del Modelo Entidad-Relación ........................................................................... 43
Figura 22 Cronograma de actividades .............................................................................................. 44
Figura 23 Entidad Llamada ............................................................................................................... 46
Figura 24 JavaBean ControlUsuario ................................................................................................. 47
Figura 25 Pagina Login . xhtml ......................................................................................................... 48
xiii
RESUMEN
TEMA: “DISEÑO E IMPLEMENTACIÓN DEL SISTEMA DE GESTIÓN PARA LA
ASIGNACIÓN Y CONTROL DEL SERVICIO TÉCNICO EN LA EMPRESA DIGITAL
SERVICE CIA. LTDA.”
Autor: César Augusto Chicaiza Cabrera
Tutor: Ing. René Alfonso Carrillo Flores
El presente trabajo de titulación se realizó con el objetivo de mejorar los procesos de
asignación y control del servicio técnico que ofrece la empresa Digital Service Cía. Ltda.,
con el propósito de satisfacer las necesidades de los clientes. El desarrollo de la aplicación
web se llevó a cabo a través del lenguaje de programación Java, utilizando Java Server Faces
junto con la librería Primefaces, para el despliegue se utilizó el servidor de aplicaciones
Wildfly 8.1 y el sistema gestor de base de datos MySQL 5.3. Además para la generación de
reportes se utilizó la biblioteca JasperReport y la metodología de desarrollo utilizada fue
Extreme Programming (Programación Extrema-XP).
PALABRAS CLAVE: APLICACIÓN WEB / JAVA SERVER FACES / MYSQL /
METODOLOGIA XP / JASPERREPORT / WILDFLY.
xiv
ABSTRACT
TOPIC: “DESIGN AND IMPLEMENTATION OF THE MANAGEMENT SYSTEM FOR
THE ASSIGNMENT AND CONTROL OF THE TECHNICAL SERVICE IN THE
COMPANY DIGITAL SERVICE Co. Ltd.”
Author: Chicaiza Cabrera, César Augusto
Tutor: Ing Carrillo Flores, René Alfonso
The present work of titration was performed with the objective to improve tthe assignment
processes and control of the technical service that offers the Company Digital Service Co.
Ltd., in order to meet the needs of customers. The development of the web application was
carried out through the Java programming language, using Java Server Faces along with
Primefaces library, for the deployment was used the applications server Wildfly 8.1 and the
database manager MySQL 5.3. In addition to generating reports were used the JasperReport
library and the development methodology Extreme Programming (Extreme Programming-
XP).
KEYWORDS: WEB APPLICATION / JAVA SERVER FACES / MYSQL / XP
METHODOLOGY / JASPERREPORT / WILDFLY.
1
INTRODUCCIÓN
Hoy en día en una época de constantes cambios, incertidumbre y globalización, el
acceso y manejo óptimo de la información juega un rol tan fundamental en el mundo que
vivimos que no solo impacta la vida cotidiana, sino también el hacer negocios.
Sin lugar a duda, la informática se ha encargado de facilitar la realización de tareas
y la comunicación de las personas. El avance vertiginoso que representa la historia de la
informática, provoca que lo que ayer era lo moderno, hoy este relegado; esta avance
también, ha permitido resaltar el valor de la información en todas sus formas (sitios web,
blogs, emails).
Es así que las aplicaciones informáticas cumplen funciones muy importantes en
cualquier empresa desde las más simples hasta las complejas, dando paso así a la
automatización de rutinas, al almacenamiento de gran cantidad de datos que se puede
convertir en información y a su vez en conocimiento.
En la actualidad, existen varias empresas que brindan servicios de soporte remoto
y físico pero ¿Qué sucede cuando tienen una gran demanda de clientes y estos requiere
una atención personalizada y de calidad?
Ante este escenario las empresas que se dedican a esta actividad económica deben
tener un sistema de gestión del servicio técnico que les facilite controlar y garantizar
soluciones inmediatas permitiendo así satisfacer las necesidades de sus clientes.
Es importante también señalar que cuando a un cliente se le presenta un incidente
que le impide continuar con sus funciones habituales, el soporte que requiere debe
brindarle soluciones óptimas e inmediatas que puedan crear valor y logren cumplir sus
metas y objetivos.
Es ahí cuando a las empresas dedicadas a la prestación de estos servicios se les
presenta las siguientes interrogantes: ¿Cuál es el tiempo máximo de atención a los
requerimientos de un cliente? ¿El equipo de trabajo es suficiente para cubrir la demanda?
2
Por lo expuesto, este proyecto pretende sugerir una propuesta práctica que
contribuya al mejoramiento del servicio brindado por las empresas que se dedican a la
prestación de estos servicios.
Planteamiento del Problema
Es indudable que las tecnologías de la información son actualmente elementos
indispensables para la superación y desarrollo de la sociedad, en los actuales momentos
es importante que las empresas integren este tipo de tecnologías que brindan ventajas
comparativas con respecto a la competencia.
Sin embargo, la falta de organización, la gran demanda de clientes y un ineficiente
control de solicitudes de servicio conlleva a un tiempo de respuesta y soluciones muy
deficiente.
En este sentido, la empresa DIGITAL SERVICES CIA. LTDA, dedicada a la
prestación de servicio técnico en equipos de copiado e impresión digital a nivel nacional
actualmente no cuenta con un sistema de control del servicio técnico que brinda a sus
clientes.
El problema se presenta al momento de controlar el estado actual de un incidente
reportado por el cliente, pues no existe un control de aquellos que se encuentran en espera
de una solución, tampoco de los que ya se asignó el personal adecuado pero el incidente
aún no ha podido ser solucionado, y de aquellos que efectivamente ya fueron
solucionados, sin duda alguna estos son factores que impiden brindar servicios de calidad,
ocasionando así pérdida de tiempo del personal, falta de información oportuna y
actualizada de los incidentes reportados y lo más importante insatisfacción del cliente.
A partir de esta evidencia, se debe tener en cuenta que los sistemas de información
son hoy en día una herramienta que bien implementada se convierte en un arma
competitiva en los negocios, permitiendo a las empresas diferenciarse de su competencia.
3
Por lo expuesto anteriormente es importante que la empresa optimice y automatice
los procesos de atención a sus clientes para contribuir a la mejora de sus servicios y al
manejo de la información con el propósito de brindar un servicio de calidad.
Formulación del Problema
¿Es posible desarrollar e implementar una aplicación web que permita asignar y controlar
las solicitudes de servicio técnico de la empresa Digital Services Cía. Ltda.?
Interrogantes de la Investigación
Partiendo de la realidad expuesto en párrafos que anteceden, el presente proyecto de
titulación plantea las siguientes interrogantes:
¿Cuáles son los beneficios de desarrollar una aplicación web?
¿Cuáles son los principales problemas a los que se enfrenta el técnico al momento de
atender un requerimiento?
¿Cómo utilizar las tecnologías de la información y comunicación en el mejoramiento
del servicio técnico de la empresa?
¿Por qué el sistema manual utilizado actualmente en la empresa, no genera resultados
positivos?
Objetivos
Objetivos Generales
1. Diseñar e implementar un sistema de gestión en la empresa Digital Service Cía.
Ltda., que permita asignar y controlar el servicio técnico para reducir tiempos de
respuesta y mantener la información actualizada y disponible en cualquier
momento.
4
Objetivos Específicos
1. Construir una aplicación web que permita asignar de manera eficiente los
diferentes tipos de incidentes a sus respectivos técnicos.
2. Aplicar estándares de programación que permitan desarrollar una aplicación web
amigable con el administrador del sistema y sus usuarios, evitando pérdida de
tiempo.
3. Controlar el estado actual de las solicitudes de servicio técnico reportadas por el
cliente.
4. Generar reportes que permitan obtener información actualizada del estado de las
solicitudes de servicio, las soluciones brindadas, permitiendo así corregir fallas
difíciles de detectar y controlar con un proceso manual.
Justificación
Por todo lo anterior creo pertinente llevar a cabo el presente proyecto,
considerando las siguientes particularidades, así:
DIGITAL SERVICES CIA. LTDA., es una empresa ubicada en la ciudad de Quito
y con sucursales a nivel nacional, que se fundó en el año 2001 y cuya Visión es la de
“Posicionarse como una empresa modelo en provisión de servicio técnico e insumos
para equipos de oficina”, cuenta con alrededor de 20 técnicos distribuidos en las
diferentes sucursales y un Supervisor que es el encargado de asignar las solicitudes de
servicio a cada técnico de acuerdo al nivel de complejidad y su ubicación, sin embargo
en la actualidad la empresa realiza un proceso manual que controla el servicio que ofrece
a sus clientes.
Desde el punto de vista tecnológico, es importante conocer que la implementación
de una aplicación web en el desarrollo de las actividades de la empresa proporcionará
ventajas competitivas si es que la competencia no cuenta con esta tecnología, además la
5
información estará disponible en cualquier momento para todos los usuarios pues con un
mismo sistema se puede trabajar en diferentes puntos.
Es importante también señalar que un sistema de información implementado
adecuadamente en algún área empresarial, optimiza la productividad, fortalece la toma de
decisiones y sirve de herramienta para el registro histórico de las gestiones.
Los beneficios que se obtendrán a través de este estudio hacen relación a la
implementación de un sistema de información que facilite la administración de datos,
ofreciendo así a la empresa mejora en la toma de decisiones para satisfacer las
necesidades de sus clientes.
Esta investigación es factible realizar gracias a los medios, recursos y tiempo que
se dispone sin restricción alguna, pues para este estudio se contará con el respaldo de
textos, estudios, estadísticas y demás soportes que sin duda alguna, contribuirán al éxito
del presente proyecto.
Alcance
El presente proyecto comprende las etapas de análisis, diseño, desarrollo e
implementación de la aplicación web en la empresa Digital Services Cía. Ltda.
La cual se desarrollará en una plataforma de software libre cuyos principales procesos a
ejecutar son:
Módulos
Ingreso de las nuevas solicitudes.
Asignación de técnicos a las diferentes solicitudes.
Ingreso de la información de los técnicos.
Ingreso de la información de los clientes.
Ingreso de la información de los repuestos.
6
Ingreso de la información de los equipos.
Ingreso de la información de los tipos de solicitudes.
Ingreso y control de usuarios.
Consulta de estado de las solicitudes.
Finalización de las solicitudes de servicio realizadas por los técnicos.
Generación de Reportes
7
1. MARCO TEORICO
1 . 1 . F U N DAM E NT A CI Ó N TEÓ RI C A
1.1.2. Aplicación Web
Se denomina aplicación web a aquellas aplicaciones que los usuarios pueden
utilizar accediendo a un servidor web a través del internet o de una intranet.
Se codifica con algún lenguaje soportado por los navegadores, confiándose en el
navegador para que reproduzca la aplicación.
Este tipo de aplicaciones son populares debido a lo práctico del navegador como
Cliente ligero, a la independencia de la plataforma sobre la cual se ejecuta, así como a la
facilidad de mantener y actualizar aplicaciones web sin necesidad de distribuir e instalar
software a miles de usuarios potenciales.
1.1.3. Arquitectura Modelo-Vista-Controlador (MVC)
El modelo–vista–controlador define un patrón de arquitectura de software la que se
encarga de separar los datos, lógica de negocio e interfaz de usuario de una aplicación.
Para que esto se lleve a cabo MVC plantea la construcción de tres componentes diferentes
que son el modelo, la vista y el controlador, lo que implica que por un lado se define los
componentes para la representación de la información, y por otro lado los componentes
para la interacción con el usuario. MVC tiene sus cimientos en la idea de la reutilización
de código y la separación de conceptos, rasgos que buscan facilitar la tarea de desarrollo
de aplicaciones y su mantenimiento futuro.
Figura 1 Diagrama MVC
8
El Controlador: Es el organizador de la aplicación, decide que hacer según interactúe el
usuario con la aplicación. Se encarga de gestionar la seguridad, control de errores,
responder a las acciones solicitadas por el usuario invocando a los diferentes modelos y
transmitir los datos devueltos a la vista para que los presente al usuario.
El modelo: Es la parte encargada de la obtención, procesamiento, y almacenamiento de
los datos según la acción transmitida desde el controlador. Una vez que procesa los datos,
devuelve la información de respuesta al controlador en caso de ser requerido. Dichos
datos pueden tener diferentes fuentes, ya sea una base de datos, ficheros de texto, ficheros
XML, o cualquier otro sistema y/o combinación de los mismos. Es la única capa que tiene
interacción con los sistemas de almacenamiento.
La vista: Es la que recibe por parte del controlador los nuevos datos a mostrar, y los
representa de forma gráfica para mejor entendimiento del usuario y pueda seguir
interactuando con la aplicación.
1.1.4. Herramientas para el desarrollo
1.1.4.1. Ide Eclipse Luna Service Release 1 (4.4.1)
Eclipse es un entorno de desarrollo de código abierto. Fue concebida desde sus orígenes
para convertirse en una plataforma de integración de herramientas de desarrollo.
Proporciona herramientas para la gestión de espacios de trabajo, escribir, desplegar,
ejecutar y depurar aplicaciones.
Características:
El entorno de desarrollo integrado (IDE) de Eclipse emplea módulos (en inglés plug-in)
para proporcionar toda su funcionalidad al frente de la Plataforma de Cliente rico, a
diferencia de otros entornos monolíticos donde las funcionalidades están todas incluidas,
las necesite el usuario o no.
Este mecanismo de módulos es una plataforma ligera para componentes de software.
Adicionalmente a permitirle a Eclipse extenderse usando otros lenguajes de programación
9
como son C/C++ y Python, permite a Eclipse trabajar con lenguajes para procesado de
texto como LaTeX, aplicaciones en red como Telnet y Sistema de gestión de base de
datos.
La arquitectura plug-in permite escribir cualquier extensión deseada en el ambiente, como
sería Gestión de la configuración. Se provee soporte para Java y CVS en el SDK de
Eclipse. Y no tiene por qué ser usado únicamente para soportar otros Lenguajes de
programación.
La definición que da el proyecto Eclipse acerca de su Software es: "una especie de
herramienta universal - un IDE abierto y extensible para todo y nada en particular".
1.1.4.2.MYSQL 5.7
Es un sistema de base de datos relacional, multihilo y multiusuario.
Características:
Aprovecha la potencia de sistemas multiprocesador, gracias a su implementación
multihilo.
Soporta gran cantidad de tipos de datos para las columnas.
Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc).
Gran portabilidad entre sistemas.
Soporta hasta 32 índices por tabla.
Gestión de usuarios y passwords, manteniendo un muy buen nivel de seguridad
en los datos.
Condición de open source de MySQL hace que la utilización sea gratuita y se
puede modificar con total libertad.
10
Se puede descargar su código fuente. Esto ha favorecido muy positivamente en su
desarrollo y continuas actualizaciones.
Es una de las herramientas más utilizadas por los programadores orientados a
Internet.
Infinidad de librerías y otras herramientas que permiten su uso a través de gran
cantidad de lenguajes de programación.
MYSQL, es el manejador de base de datos considerado como el más rápido de
Internet.
Gran rapidez y facilidad de uso.
Infinidad de librerías y otras herramientas que permiten su uso a través de gran
cantidad de lenguajes de programación.
Fácil instalación y configuración.
1.1.4.3.MYSQL WORKBENCH 6.3 CE
Es una herramienta que permite modelar diagramas de entidad-relación para bases de
datos MySQL. Puedes utilizarla para diseñar el esquema de una base de datos nueva,
documentar una ya existente o realizar una migración compleja.
Características:
Edición de diagramas basada en Cairo, con posibilidad de realizar una salida en
los formatos como OpenGL, Win32, X11, Quartz, PostScript, PDF.
Permite generar los scripts SQL a partir del modelo creado.
11
Proporciona una representación visual de las tablas, vistas, procedimientos y
funciones almacenadas y claves foráneas.
Permite acceso a bases de datos e ingeniería inversa de las mismas para crear los
SQL de creación
Ofrece sincronización con la base de datos y el modelo.
Ofrece una arquitectura extensible.
Tiene soporte para exportar los datos como script SQL CREATE.
Permite importar modelos de DBDesigner4.
Ofrece soporte completo a las características de MySQL 5.
MySQL Workbench es totalmente gratuito en su versión Community
Disponible para todas las plataformas (Windows, Linux y Mac OS).
1.1.5. Servidor Web
Figura 2 Diagrama Servidor Web
Es un software que ayuda a entregar cierto contenido a la Web con el objeto de que se
pueda acceder a éste a través de Internet.
El uso más común de los servidores web es para alojar Sitios Web, el almacenamiento de
datos o la ejecución de aplicaciones empresariales, que también lo usan.
La función principal es ofrecer páginas web a petición de los clientes mediante la
transferencia de hipertexto (HTTP). Esto significa la entrega de los documentos HTML
y cualquier contenido adicional que puede ser incluido en un documento, como imágenes,
hojas de estilo y scripts.
12
El servidor responde al cliente enviando el código HTML de la página; el navegador
cuando recibe el código, lo interpreta y lo muestra en pantalla. El Cliente es el encargado
de interpretar el código HTML, es decir, de mostrar las fuentes, los colores y la
disposición de los textos y objetos de la página. El servidor se encarga de transferir el
código de la página sin llevar a cabo ninguna interpretación de la misma.
1.1.6. Servidor de aplicaciones Wilfly
Es una aplicación flexible, ligera, que representa una nueva versión mejorada del servidor
de aplicación JBoss. Está escrita en Java e implementa la especificación de Java EE.
Wildfly es completamente gratis y de código abierto, disponible para ser usada en muchas
plataformas.
Principales características:
Despliegue rápido y la habilidad de editar recursos estáticos sin redespliegue.
Cada servicio puede ser iniciado y detenido en aislamiento.
Peso ligero a través de gestión de memoria eficiente.
Enfoque modular.
1.1.7. Lenguaje de programacion java
Java es un lenguaje de programación orientado a objetos. Actualmente es uno de los
lenguajes más usados para la programación en todo el mundo.
La sintaxis del lenguaje en su esencia toma mucho de C y C++, pero propone un modelo
de objetos más simple y funcional, además elimina instrumentos de bajo nivel como la
manipulación de punteros o direcciones memoria.
El software desarrollado en Java está compilado en bytecode, que es un código intermedio
entre el código fuente y el código máquina; en tiempo de ejecución el bytecode es
normalmente interpretado o compilado a código nativo para su ejecución. La Máquina
virtual de java es la encargada de interpretar el bytecode transformándolo a código
13
entendible por una computadora, este proceso permite mantenerse en el margen del lema
principal de java que es: "Write Once, Run Everywhere – Escribir una vez, ejecutar donde
sea".
1.1.7.1. Java Enterprise Edition (Java EE)
Es una plataforma de desarrollo de aplicaciones empresariales que permite obtener
flexibilidad, escalabilidad y seguridad. Se mantiene bajo una arquitectura de N capas las
cuales se apoyan principal en componentes de software modulares que se ejecutan sobre
un servidor de aplicaciones.
Figura 3Diagrama JEE CAPAS
Contiene un conjunto de tecnologías coordinadas que permiten reducir de forma
significativa el costo y la complejidad en el desarrollo de software, se apoya de forma
directa en el modelo MVC (Modelo-Vista-Controlador).
1.1.7.2.Java Persistence API (JPA)
Es la API de persistencia desarrollada para la plataforma Java EE e incluida en el estándar
EJB3. Esta API busca unificar la manera en que funcionan las utilidades que proveen un
mapeo objeto-relacional. El objetivo que persigue el diseño de esta API es no perder las
ventajas de la orientación a objetos al interactuar con una base de datos, y permitir usar
objetos regulares.
1.1.7.3.Enterprise Java Beans (EJB)
Es una plataforma para desarrollar aplicaciones de negocio que sean portables, escalables,
y reutilizables utilizando el lenguaje de programación java. Permite a los desarrolladores
enfocarse en la lógica del negocio sin tener que emplear tiempo en la conformación del
14
código de la infraestructura. Desde el punto de vista del desarrollador es un pedazo de
código java que se ejecuta en un entorno especializado denominado contenedor EJB que
proporciona un conjunto de servicios.
1.1.7.4.Java Server Faces (JSF)
Es un framework para desarrollo de aplicaciones Java basadas en web que simplifica el
desarrollo de interfaces de usuario en aplicaciones Java EE.
Consta de una librería de etiquetas, junto con un conjunto de reglas para su utilización.
La principal ventaja de jsf es que permite resolver la parte grafica sin necesidad de saber
HTML, además de que es posible crear componentes propios.
Características destacables:
Definición de las interfaces de usuario mediante vistas que agrupan componentes
gráficos.
Conexión de los componentes gráficos con los datos de la aplicación mediante los
denominados beans gestionados.
Conversión de datos y validación automática de la entrada del usuario.
Navegación entre vistas.
Internacionalización
A partir de la especificación 2.0 un modelo estándar de comunicación Ajax entre
la vista y el servidor.
1.1.8. Primefaces (PF)
Es un marco de código abierto que añade a las aplicaciones capacidad de Ajax en JSF, sin
recurrir a Java Script. Aprovecha el framework Java Server Faces, incluyendo su ciclo de
vida, la validación, los medios de conversión y la gestión de los recursos estáticos y
dinámicos.
Los componentes de primefaces con soporte Ajax y aspecto altamente personalizable
pueden ser fácilmente incorporados a aplicaciones JSF.
1.1.9. Ajax
Es el acrónimo para Asynchronous Java Script + XML cuyo concepto es: Cargar y
renderizar una página, luego mantenerse en esa página mientras scripts y rutinas van al
servidor buscando, en background, los datos que son usados para actualizar la página solo
15
re-renderizando la página y mostrando u ocultando porciones de la misma.
AJAX incorpora:
Presentación basada en estándares usando XHTML y CSS.
Exhibición e interacción dinámica usando el Document Object Model.
Intercambio y manipulación de datos usando XML y XSLT.
Recuperación de datos asincrónica usando XML Http Request.
1.1.10. Facelets
Es un framework simplificado de presentación, en donde es posible diseñar de forma libre
una página web y luego asociarle los componentes JSF específicos. Permite mayor
libertad al diseñador y mejora los informes de errores que tiene JSF.
Permite que JSP y JSF puedan funcionar, en conjunto, en una misma aplicación web.
Estos no se complementan naturalmente.
Facelets es una tecnología centrada en crear árboles de componentes y estar relacionado
con el complejo ciclo de vida JSF.
Las ventajas de Facelets son:
Construcción de interfaces basadas en plantillas.
Rápida creación de componentes por composición.
Fácil creación de funciones y librerías de componentes.
Facelets provee un proceso de compilación más rápido que JSP.
Provee template, lo cual implica reutilización de código, simplificación de
desarrollo y facilidad en el mantenimiento de grandes aplicaciones.
16
2. METODOLOGÍA DE DESARROLLO
2 . 1 . M e t o d o l o g í a D e De s a r r o l l o
Una metodología de desarrollo de software se refiere al entorno que se usa para
estructurar, planificar y controlar el proceso de desarrollo de un sistema. Una gran
variedad de metodologías se han desarrollado a lo largo de los años, cada una de ellas con
sus fortalezas y debilidades.
Una determinada metodología no es aplicable para todo tipo de proyectos, más
bien cada tipo de proyecto tiene una metodología a la cual se adapta mejor.
Existen diferentes modelos y metodologías que han sido en los últimos años
herramientas de apoyo para el desarrollo del software, dentro de las cuales existen dos
grandes grupos, metodologías tradicionales y metodologías agiles.
A continuación se define esquemáticamente algunas de las principales diferencias
entre estos dos grupos de metodologías:
Metodologías Agiles Metodologías Tradicionales
Basadas en heurísticas provenientes de
prácticas de producción de código.
Basadas en normas provenientes de
estándares seguidos por el entorno de
desarrollo.
Preparadas para cambios durante el
proyecto.
Resistencia al cambio.
Proceso menos controlado, con pocos
principios.
Proceso controlado con numerosas
políticas y normas.
El cliente es parte del equipo de
desarrollo.
El cliente interactúa con el equipo de
desarrollo mediante reuniones.
No existe contrato tradicional o al menos
es bastante flexible.
Existe un contrato prefijado.
Pocos roles. Más roles.
Menos énfasis en la arquitectura del
software. Se va definiendo en el
desarrollo.
La arquitectura del software es esencial y
se expresa mediante modelos desde el
principio.
Tabla 1 Diferencias entre metodologías ágiles y tradicionales
17
2 . 2 . M e t o d o l o g í a s Ág i l e s
Las metodologías agiles constituyen un nuevo enfoque en el desarrollo de software, estas
son mejor aceptadas por los desarrolladores de sistemas que las metodologías
tradicionales debido a la simplicidad de sus reglas y prácticas, su orientación a equipos
de desarrollo de pequeño tamaño, su flexibilidad ante los cambios y su ideología de
colaboración.
2.2.2. Revisión De Metodologías
A continuación se resumen las metodologías ágiles más relevantes
SCRUM.-Define un marco para la gestión de proyectos, especialmente indicada para
proyectos con un rápido cambio de requisitos. Sus principales características son:
1. El desarrollo de software se realiza mediante iteraciones, denominadas sprints,
con una duración de 30 días. El resultado de cada sprint es un incremento
ejecutable que se muestra al cliente.
2. La segunda característica importante son las reuniones a lo largo proyecto. Éstas
son las verdaderas protagonistas, especialmente la reunión diaria de 15 minutos
del equipo de desarrollo para coordinación e integración.
Crystal Methodologies.- Es conjunto de metodologías para el desarrollo de software
caracterizadas por estar centradas en las personas que componen el equipo y la reducción
al máximo del número de artefactos producidos. El desarrollo de software se considera
un juego cooperativo de invención y comunicación, limitado por los recursos a utilizar.
El equipo de desarrollo es un factor clave, por lo que se deben invertir esfuerzos en
mejorar sus habilidades y destrezas, así como tener políticas de trabajo en equipo
definidas.
-Dynamic Systems Development Method (DSDM).- Define el marco para desarrollar un
proceso de producción de software. Sus principales características son: es un proceso
iterativo e incremental y el equipo de desarrollo y el usuario trabajan juntos. Dispone de
cinco fases: estudio viabilidad, estudio del negocio, modelado funcional, diseño y
construcción, y finalmente implementación. Las tres últimas son iterativas, además de
existir realimentación a todas las fases.
Adaptive Software Development (ASD).- Sus principales características son: iterativo,
orientado a los componentes software más que a las tareas y tolerante a los cambios. El
18
ciclo de vida que propone tiene tres fases esenciales: especulación, colaboración y
aprendizaje. En la primera de ellas se inicia el proyecto y se planifican las características
del software; en la segunda desarrollan las características y finalmente en la tercera se
revisa su calidad, y se entrega al cliente. La revisión de los componentes sirve para
aprender de los errores y volver a iniciar el ciclo de desarrollo.
Feature-Driven Development (FDD).- Define un proceso iterativo que consta de 5 pasos.
Las iteraciones son cortas (hasta 2 semanas). Se centra en las fases de diseño e
implementación del sistema partiendo de una lista de características que debe reunir el
software.
Lean Development (LD).- En LD, los cambios se consideran riesgos, pero si se manejan
adecuadamente se pueden convertir en oportunidades que mejoren la productividad del
cliente. Su principal característica es introducir un mecanismo para implementar dichos
cambios.
Programación Extrema (XP).- Es una metodología ágil centrada en potenciar las
relaciones interpersonales como clave para el éxito en desarrollo de software,
promoviendo el trabajo en equipo.
2.2.3. Ranking De Agilidad
ADS Crystal DSDM FDD LD SCRUM XP
Sistema como algo
cambiante
5 4 3 3 4 5 5
Colaboración 5 5 4 4 4 5 5
Resultados 5 5 4 4 4 5 5
Simplicidad 4 4 3 5 3 5 5
Adaptabilidad 5 5 3 3 4 4 3
Excelencia técnica 3 3 4 4 4 3 4
19
Prácticas de colaboración 5 5 4 3 3 4 5
MEDIA 4.8 4.5 3.6 3.6 3.9 4.7 4.8
Tabla 2 Ranking de agilidad entre metodologías
Tomando en cuenta la tabla, las metodologías que se destacan son ADS,SCRUM Y XP
como las más ágiles.
Para el desarrollo del proyecto la metodología que se ajusta para su desarrollo es la
metodología de Programación Extrema (XP).
2.2.4. Metodología Programación Extrema (Extreme Programming, XP)
Su principal objetivo es potencializar las relaciones interpersonales en el desarrollo de
software, promueve el trabajo en equipo, preocupándose del nivel de aprendizaje de los
desarrolladores y propiciando un buen ambiente de trabajo.
Se basa además en la continua realimentación entre el cliente y el equipo de desarrollo
con el fin de buscar simplicidad en las soluciones implementadas y valor para enfrentar
los cambios.
Tomando en consideración lo mencionado anteriormente y a que el proyecto posee
requisitos cambiantes se opta por escoger la METODOLOGÍA DE PROGRAMACIÓN
EXTREMA O XP, para el desarrollo del sistema, la cual permitirá el desarrollo del
sistema ajustándose estrictamente a las necesidades del cliente logrando un producto de
alta calidad en un periodo de tiempo corto.
2.2.4.1.Ciclo De Desarrollo de XP
El ciclo de desarrollo de un sistema sigue los siguientes pasos:
1. El cliente define sus necesidades a implementar
2. El grupo de desarrollo estima el tiempo y esfuerzo que serán necesarios para dicha
implementación
3. El cliente establece las prioridades de sus necesidades, es decir escoge cuál será
desarrollada en primer lugar y así sucesivamente.
4. El grupo de desarrollo construye la necesidad y regresa al paso 1.
20
2.2.4.2.Fases de XP
Fase I: Exploración.- Se plantean las historias de usuario, que serán realizadas por el
personal de DIGITAL SERVICES, que son de interés para la primera entrega del
producto.
En esta fase además se establecerá la tecnología, arquitectura, proceso y prototipo para el
desarrollo del proyecto.
Fase II: Planificación de la Entrega.- En esta fase se establecerá una estimación de
tiempo para la entrega de los productos en base a la prioridad establecidas en las historias
de usuarios.
Fase III: Iteraciones.- En esta fase se hace referencia el ciclo de desarrollo mencionado
anteriormente, en la que se pueden realizar n iteraciones hasta realizar la entrega del
producto.
Fase IV: Producción.- Fase en la que el sistema será objeto de pruebas de funcionalidad
con la finalidad de realizar una revisión completa antes de su traslado al entorno del
cliente.
Fase V: Mantenimiento.- Mientras la primera versión o módulo se encuentre en
producción, el grupo de desarrollo puede seguir realizando nuevas iteraciones hasta
completar con en su totalidad el sistema. En esta fase se requiere mantener funcionando
el o los módulos en producción.
Fase VI: Muerte del Proyecto.- Se da cuando el cliente no requiere de más cambios en
el sistema, se genera la documentación final, manuales y el cliente se encuentra satisfecho
con el rendimiento y confiabilidad del sistema.
21
3. DESARROLLO DE LA METODOLOGIA
3 . 1 . P r o c e s o d e l a M e t o d o l o g í a X P
3.1.2. Requerimientos funcionales del sistema
A continuación, se describen las funciones que proporciona el sistema.
Módulo de seguridad
Este módulo permite controlar y limitar el acceso de los diferentes usuarios a las
funciones del sistema.
Módulo de control de procesos
Permite controlar y visualizar los procesos y estados en los que se encuentra una
solicitud o llamada en el sistema.
Módulo de reportes
Permite realizar reportes y listados de las solicitudes, así como también proporcionan
información estadística de los diferentes estados, tiempos promedios y números de
solitudes procesadas por técnico.
3.1.3. Requerimientos no funcionales del sistema
A continuación, se describen las cualidades o propiedades del sistema.
Disponibilidad
El sistema debe encontrarse operativo en cualquier momento que sea requerido.
Rendimiento
El sistema debe ser eficiente y rápido. Los tiempos de respuesta deben ser mínimos.
Confiabilidad
El sistema debe ser confiable, no se debe permitir el acceso a usuarios no autorizados.
Integridad
La información que se maneja debe ser transparente y ser protegida de inconsistencias.
3.1.4. Actores que intervienen en el sistema
El sistema contiene los siguientes usuarios:
Usuario Supervisor
Es la persona responsable de la asignación y control de los técnicos a las
diferentes solicitudes de servicio técnico.
Usuario Técnico
22
Es la persona encargada de atender a la solicitud de servicio técnico y procesarla
hasta su culminación.
Usuario Recepción
Es la persona encargada de receptar las solicitudes de servicio técnico y entrega
de equipos al cliente.
Usuario Administrador
Es la persona encargada de administrar el sistema, tiene acceso a todos los
módulos del sistema.
3.1.5. Fase i: exploracion
Se toman las historias de usuario, planteadas por el personal de DIGITAL
SERVICE
Se define la Tecnología de hardware y software para el desarrollo de la
aplicación
Se establece la Arquitectura que debe seguir el sistema
Se define el Proceso a seguir por el sistema
Se detallan el Diagrama y los Casos de Uso del sistema
Se genera un Prototipo para el desarrollo del proyecto.
Se establece el Modelado del Diagrama Entidad-Relación de la Base de Datos
para el sistema y se genera la base de datos para el almacenamiento de la
información del sistema.
3.1.5.1.Historias de los Usuarios
Historial para el ingreso de nueva solicitud o llamada
Representa una descripción del proceso que realizan para registrar las solicitudes de
servicio técnico.
Historia de Usuario
Número: 1 Nombre: Ingreso de nueva solicitud
Usuario: Recepción
23
Tabla 3 Historia de Usuario Ingreso de Solicitudes
Historial para la asignación del técnico a las solicitudes
Representa una descripción del proceso que se realiza para asignar uno o más técnicos a
las solicitudes que fueron ingresadas.
Modificación de Historia Número: Fecha: 15/02/2016
Prioridad en Negocio: Alta Entrevistado: Daniela Romero
Riesgo en Desarrollo: Alta Tiempo Estimado: 30 minutos
Descripción: El primer paso es obtener la información principal del cliente, como
son el nombre, dirección, correo, teléfono, ruc o ci.
Luego procedemos a verificar el modelo y el número de serie del equipo.
Después solicitamos al cliente que nos informe sobre los problemas que presenta el
equipo. Verificamos si el equipo se encuentra con todas las partes completas y si
existe algún tipo de observación que amerite ser registrada.
Luego vemos el tipo de la solicitud, si le cubre la garantía, si tienen contrato de
servicio técnico con la empresa o hay que facturar por el servicio técnico.
Observaciones: Es necesario tener en cuenta que las solicitudes se las crea una por
cada equipo que requiera atención.
Historia de Usuario
Número: 2 Nombre: Asignación de técnico a las solicitudes.
Usuario: Supervisor
Modificación de Historia Número: Fecha: 15/02/2016
Prioridad en Negocio: Alta Entrevistado: Catalina Huilcarema
24
Tabla 4 Historia de Usuario Asignar Técnico
Historial para la cambio del técnico a la solicitud
Representa una descripción del proceso que se realiza para cambiar uno o más técnicos
a las solicitudes que fue asignado.
Tabla 5 Historia de Usuario Cambio de técnico
Riesgo en Desarrollo: Alta Tiempo Estimado: 34 minutos
Descripción: Primero verificamos que técnicos pueden atender la solicitud ya que no
todos los técnicos revisan los mismos modelos de equipos.
Luego se coordina con el técnico para asignarle una nueva solicitud de servicio.
Se le asigna finalmente el técnico responsable de prestar el servicio a la solicitud.
Observaciones: Los datos de la solicitud se los entrega en forma impresa o por
medio de mensaje de texto.
Historia de Usuario
Número: 3 Nombre: Cambio de técnico a las solicitudes.
Usuario: Supervisor
Modificación de Historia Número: Fecha: 15/02/2016
Prioridad en Negocio: Alta Entrevistado: Catalina Huilcarema
Riesgo en Desarrollo: Alta Tiempo Estimado: 20 minutos
Descripción: Informamos al técnico que se va realizar el cambio para que no acuda
al lugar donde se requiere solucione el inconveniente.
Se asigna otro técnico para que acuda a solucionar ese inconveniente.
Observaciones: Los datos de la solicitud se los entrega en forma impresa o por
medio de mensaje de texto.
25
Historial para la solicitar soporte de otro técnico a la solicitud
Representa una descripción del proceso que se realiza cuando un técnico solicita soporte
técnico de otro compañero con mayor experiencia.
Tabla 6 Historia de Usuario Solicitar soporte
Historial para la cambio de estado de la solicitud a Diagnóstico
Representa una descripción del proceso que se realiza cuando un técnico cambia el
estado de la solicitud.
Historia de Usuario
Número: 4 Nombre: Solicitar Soporte de otro técnico a la
solicitud.
Usuario: Supervisor
Modificación de Historia Número: Fecha: 15/02/2016
Prioridad en Negocio: Alta Entrevistado: Catalina Huilcarema
Riesgo en Desarrollo: Alta Tiempo Estimado: 30 minutos
Descripción: El técnico solicita apoyo por parte de otro técnico de mayor
experiencia. Se reasigna la solicitud actual a otro técnico para solucionar el
inconveniente.
Observaciones: El tiempo de respuesta a la solicitud ya no varía puesto que ya se lo
registra al momento de la primera visita del técnico.
Historia de Usuario
Número: 5 Nombre: Cambio de estado de la solicitud.
26
Tabla 7 Historia de Usuario Cambio de estado de solicitud
Historial para la cambio de estado de la solicitud a EN REPARACION
Representa una descripción del proceso que se realiza cuando un técnico se encuentra
reparando un equipo.
Usuario: Técnico
Modificación de Historia Número: Fecha: 18/02/2016
Prioridad en Negocio: Alta Entrevistado: Walter Utreras
Riesgo en Desarrollo: Alta Tiempo Estimado: 30 minutos
Descripción: Una vez que el la solicitud fue despachada a un técnico primero se
realiza la revisión para determinar las causas de los errores o problemas presentados.
Una vez realizada esta operación la solicitud o llamada pasa a un estado de
Diagnóstico.
Observaciones: En este estado se le envía una cotización al cliente con el valor de
los repuestos en caso de que fuese necesario su cambio. Depende de la aprobación de
la proforma para continuar con la reparación.
Historia de Usuario
Número: 6 Nombre: Reparación de equipo
Usuario: Técnico
Modificación de Historia Número: Fecha: 18/02/2016
Prioridad en Negocio: Alta Entrevistado: Walter Utreras
Riesgo en Desarrollo: Alta Tiempo Estimado: 30 minutos
27
Tabla 8 Historia de Usuario Reparación del equipo
Historial para la cambio de estado de la solicitud a FINALIZADO
Representa una descripción del proceso que se realiza cuando un técnico se encuentra
reparando un equipo.
Tabla 9 Historia de Usuario Finalización de la reparación
Descripción: Una vez que se dio un diagnóstico del equipo y si el cliente aprueba la
proforma se procede a realizar la reparación del equipo.
Debe registrar el tiempo en el que inicia la reparación.
Observaciones: El informe debe contener todos los datos de la solicitud y el equipo
revisado.
Historia de Usuario
Número: 7 Nombre: Finalización de la reparación
Usuario: Técnico
Modificación de Historia Número: Fecha: 18/02/2016
Prioridad en Negocio: Alta Entrevistado: Walter Utreras
Riesgo en Desarrollo: Alta Tiempo Estimado: 30 minutos
Descripción: Después de reparar el equipo y someterlo a pruebas de funcionamiento,
si todo sale bien el estado de la llamada pasa a finalizado y se emite un informe con
todos los procedimientos realizados y los repuestos que hayan sido sustituidos .
Debe registrar el tiempo en el que finaliza la reparación.
Observaciones: El informe debe contener todos los datos de la solicitud y el equipo
revisado.
28
Historial para la entrega de un equipo
Representa una descripción del proceso que se realiza para la entrega del equipo al
cliente.
Tabla 10 Historia de Usuario Entrega de Equipo
3.1.5.2.Herramientas De Hardware Para El Desarrollo
Procesador: Intel(R) Core™ i5-3230M CPU 2.6 GHz
Tipo de Sistema: Sistema Operativo de 64 bits
Versión del Sistema Operativo: Windows 10
Memoria (RAM): 4,00 GB
3.1.5.3.Tecnología De Software Para El Desarrollo
JDK jdk1.8.0_65 o superior de Sun de 64 bits
Historia de Usuario
Número: 8 Nombre: Entrega de equipo
Usuario: Recepción
Modificación de Historia Número: Fecha: 18/02/2016
Prioridad en Negocio: Alta Entrevistado: Daniela Romero
Riesgo en Desarrollo: Alta Tiempo Estimado: 30 minutos
Descripción: Para la entrega del equipo se registra la fecha de entrega y el número de
factura en caso que sea un cargo por llamada.
Si el cliente está satisfecho se lleva el equipo caso contrario se lo ingresa nuevamente
como una nueva solicitud.
Observaciones: El informe debe contener todos los datos de la solicitud, del equipo
y la fecha de entrega.
29
Driver JDBC, mysql-connector-5.1.38.jdbc4
Servidores de aplicación Java EE, WildFly-8.1
Entorno de Desarrollo Integrado, Eclipse JEE LUNA-win64
Sistema Gestor de Bases de Datos (SGBD) Relacional Orientado a Objetos,
MySQL para Windows de 64 bits.
Biblioteca PrimeFaces 5.3.0
Software para la generación de reportes, JasperReports, iReport 4.0.1
3.1.5.4.Arquitectura De La Aplicación
Se define una arquitectura de tres capas:
1. Una capa de presentación, es la responsable de la interacción entre el usuario y la
aplicación, encargada de presentar datos, resultados, y la información que fluye
desde el sistema al usuario y viceversa.
2. Una capa lógica de negocio, encargada de recibir las peticiones del usuario y
entregar una respuesta después de un determinado proceso.
3. Una capa de datos o Base de Datos, capa donde se encuentran los datos y es la
encargada de acceder a los mismos. La aplicación tendrá como sistema gestor de
base de datos a MySQL, que se encargará del almacenamiento, extracción,
modificación y eliminación de los datos.
30
3.1.5.5.Proceso Del Sistema
Proceso Principal
Figura 4 Proceso Principal
Subproceso Ingreso De La Solicitud
Figura 5 Subproceso ingreso de solicitud
Subproceso Asignación De Técnico A Solicitud
Figura 6 Subproceso Asignación de técnicos
31
Subproceso Diagnostico Del Equipo
Figura 7 Subproceso Diagnóstico del equipo
Subproceso Reparación Del Equipo
Figura 8 Subproceso reparación del equipo
Subproceso Entrega Del Equipo
Figura 9 Subproceso entrega del equipo
32
3.1.5.6.Diagramas Y Casos De Uso
Diagrama De Casos De Uso General
Figura 10 Diagrama de casos de uso general
3.1.5.7.Diagrama Y Caso De Uso Incio De Sesion
Figura 11 Diagrama Caso Uso Inicio Sesión
CU-01 INICIO DE SESION
Actores Usuario Recepción, Usuario Técnico, Usuario Supervisor
Descripción El sistema permitirá el ingreso a usuarios registrados
33
Precondición Usuario registrado en el sistema
Secuencia Pasos Acción
Normal 1 Los actores ingresan su nombre de usuario y contraseña.
2 Los actores dan clic en Iniciar.
3 El sistema compara los datos ingresados y los valida.
4 El sistema presenta la pantalla de inicio del usuario.
Excepción Pasos Acción
2 El sistema presenta un aviso “Nombre de Usuario o
Contraseña incorrectos”
Tabla 11 Caso de Uso Inicio de sesión
3.1.5.8.Diagrama Y Caso De Uso Registro De Una Solicitud
Figura 12 Diagrama Caso de Uso Registro de Solicitud
CU-02 Ingreso y Actualización de datos del cliente
Actores Usuario Recepción, Cliente
Descripción El sistema tendrá que actualizar y guardar la información del
cliente.
Precondición Haber ingresado al sistema.
34
Secuencia Pasos Acción
Normal 1 El usuario da clic en “Ingreso”.
2 El usuario da clic en “Nueva Llamada”.
3 El usuario da clic en “Nuevo Cliente”
4 El sistema presenta un formulario de ingreso de
información con campos llenos y vacíos.
5 El usuario llena la información faltante.
6 Da clic en Agregar.
Excepción Pasos Acción
5 Si faltan campos obligatorios de llenar el sistema
presenta un aviso y no guarda la información.
Tabla 12 Caso de Uso Ingreso y actualización de datos del cliente
CU-03 Ingreso de información del equipo
Actores Usuario Recepción, Cliente
Descripción El sistema tendrá que actualizar y guardar la información del
equipo.
Precondición Haber guardado la información del cliente.
Secuencia Pasos Acción
Normal 1 El usuario selecciona el modelo del equipo.
2 El usuario ingresa la información del equipo.
Excepción Pasos Acción
1 Si no existe el modelo da clic en “Nuevo Modelo” e
ingresa el nombre del modelo.
Tabla 13 Caso de Uso Ingreso de Información del equipo
CU-04 Ingreso de información del servicio
Actores Usuario Recepción, Cliente
35
Descripción El sistema tendrá que actualizar y guardar la información de la
nueva solicitud.
Precondición Haber ingresado la información del equipo.
Secuencia Pasos Acción
Normal 1 El usuario ingresa el problema que reporta el cliente.
2 El usuario selecciona el tipo de servicio.
3 El sistema toma la fecha y hora de registro.
4 El usuario da clic en “agregar”.
5 El sistema guarda la información y avisa al supervisor de
la nueva solicitud
6 El sistema presenta un certificado de ingreso.
Excepción Pasos Acción
4 Si faltan campos obligatorios de llenar el sistema
presenta un aviso y no guarda la información.
Tabla 14 Caso de Uso Ingreso de información del servicio
3.1.5.9.Diagrama Y Caso De Uso Despacho De Solicitud
Figura 13 Diagrama Caso de Uso Despacho Solicitud
CU-05 Selección de Solicitud
Actores Usuario Supervisor
Descripción El sistema tendrá que mostrar la los datos de la solicitud ingresada.
36
Precondición Haber iniciado sesión
Secuencia Pasos Acción
Normal 1 El usuario da clic en “Llamadas”
2 El usuario da clic en “Despachar Llamada”
3 El sistema muestra un formulario con una lista de las
nuevas solicitudes.
4 El usuario selecciona la solicitud dando clic en
“Despachar”
5 El sistema muestra un formulario con los datos de la
solicitud seleccionada.
Excepción Pasos Acción
Tabla 15 Caso de Uso Selección de la solicitud
CU-06 Despacho de técnicos
Actores Usuario Supervisor
Descripción El sistema tendrá que asignar la solicitud al técnico seleccionado.
Precondición Haber seleccionado la solicitud.
Secuencia Pasos Acción
Normal 1 El usuario da clic en “Técnicos”
2 El sistema presenta una lista con los nombres de los
técnicos.
3 El usuario selecciona el o los técnicos necesarios.
4 El usuario da clic en “Agregar”
5 El sistema muestra los técnicos seleccionados.
6 El usuario da clic en “Despachar”
7 El sistema agrega los técnicos a la solicitud y cambiar el
estado de la solicitud a “Despachada”
Excepción Pasos Acción
37
7 Si no se selecciona ningún técnico el sistema no permite
despachar la solicitud.
Tabla 16 Caso de Uso Despacho de técnicos
3.1.5.10. Diagrama Y Caso De Uso Diagnostico
Figura 14 Diagrama Caso De Uso Diagnóstico de Solicitud
CU-07 Revisión del equipo
Actores Usuario Técnico, Cliente
Descripción El sistema tendrá que actualizar y guardar la información de la
solicitud.
Precondición Haber iniciado sesión como técnico.
Secuencia Pasos Acción
Normal 1 El usuario da clic en “Llamadas”.
2 El usuario da clic en “Cerrar Llamadas”
3 El sistema muestra un formulario con la lista de
solicitudes asignadas al técnico.
4 El usuario selecciona la solicitud a diagnosticar dando
clic en “Ver Más”
5 El sistema muestra un formulario con los datos de la
solicitud y otros campos vacíos.
6 El usuario ingresa la información necesaria y cambia el
estado a diagnóstico.
38
7 El usuario da clic en “Guardar Cambios”
8 El sistema captura la fecha y actualiza la información de
la solicitud.
9 El supervisor envía una proforma con el costo de la
reparación al cliente para su aprobación.
Excepción Pasos Acción
8 Si no se llenan los campos obligatorios el sistema
muestra un mensaje de advertencia.
9 Si el cliente no aprueba la proforma se entrega el equipo
y finaliza la solicitud.
Tabla 17 Caso de Uso Revisión del equipo
3.1.5.11. Diagrama Y Casos De Uso De Reparación
Figura 15 Diagrama Caso de Uso Reparación del Equipo
CU-08 Reparación del equipo
Actores Usuario Técnico, Cliente
Descripción El sistema tendrá que actualizar y guardar la información de la
solicitud.
Precondición El cliente aprueba la proforma.
Haber iniciado sesión como técnico.
Secuencia Pasos Acción
Normal 1 El usuario da clic en “Llamadas”.
39
2 El usuario da clic en “Cerrar Llamadas”
3 El sistema muestra un formulario con la lista de
solicitudes asignadas al técnico.
4 El usuario selecciona la solicitud a reparar dando clic en
“Ver Más”
5 El sistema muestra un formulario con los datos de la
solicitud y otros campos vacíos.
6 El usuario ingresa los procedimientos realizados para
reparar el equipo.
7 El sistema muestra un listado con los repuestos para que
elija el usuario.
8 El usuario selecciona el repuesto de la lista y la cantidad.
9 El sistema almacena los repuestos utilizados y la cantidad
en una lista para agregarlos a la solicitud.
10 El usuario da clic en guardar cambios.
11 El sistema guarda la información agregada y la lista de
repuestos.
Excepción Pasos Acción
8 Si no encuentra el repuesto da clic en “Nuevo” y agrega
un código y nombre de repuestos.
11 Si no se llenan los cambios obligatorios el sistema
muestra una advertencia.
Tabla 18 Caso de Uso Reparación del Equipo
40
3.1.5.12. Diagrama Y Casos De Uso Finalización
Figura 16 Diagrama Caso de Uso Finalización
CU-09 Finalización de reparación
Actores Usuario Técnico
Descripción El sistema tendrá que actualizar la información de la solicitud.
Precondición Haber iniciado sesión como Técnico.
Secuencia Pasos Acción
Normal 1 El usuario da clic en “Cerrar Llamadas”
2 El sistema presenta una lista con las solicitudes asignadas
al técnico.
3 El usuario selecciona la solicitud a finalizar.
4 El sistema muestra un formulario con los datos de la
solicitud y los procedimientos realizados.
5 El usuario ingresa información adicional de los
procedimientos realizados y las pruebas realizadas.
6 El usuario ingresa la fecha de finalización de la
reparación
7 El sistema actualiza la información y cambia el estado de
la solicitud a “Finalizada”
Excepción Pasos Acción
7 Una vez finalizada la reparación no se puede realizar
ningún cambio a la solicitud.
Tabla 19 Caso de Uso Finalización de la reparación
41
3.1.5.13. Diagrama Y Casos De Uso De Entrega
Figura 17 Diagrama Casos de Uso Entrega
CU-10 Entrega de equipo
Actores Usuario Recepción, Cliente
Descripción El sistema tendrá que actualizar la información de la solicitud y
finalizar el servicio.
Precondición Haber iniciado sesión como Recepción.
Que le cliente no haya aprobado la proforma.
Secuencia Pasos Acción
Normal 1 El usuario da clic en “Entrega Equipo”
2 El sistema presenta una lista con las solicitudes que se
encuentren finalizadas.
3 El usuario selecciona la solicitud a entregar.
4 El sistema muestra un formulario con los datos de la
solicitud y los procedimientos realizados.
5 El usuario ingresa la fecha de entrega y el número de
factura en caso de ser necesario.
6 El sistema actualiza la información y cambia el estado de
la solicitud a “Entregada”
Excepción Pasos Acción
6 Si el cliente no acepta la entrega, se ingresa el equipo
como una nueva solicitud.
Tabla 20 Caso de Uso Entrega del Equipo
42
3.1.6. Prototipo del Sistema
A continuación se muestran tres pantallas usadas para la construcción de un prototipo
del sistema.
Figura 18 Pantalla de ingreso al Sistema
Figura 19 Prototipo Pantalla Recepción
43
Figura 20 Prototipo Pantalla Cierre de Llamada
3.1.7. Modelo Entidad-Relación Del Sistema
Figura 21 Diagrama del Modelo Entidad-Relación
44
3.1.8. Fase II: Planificación De La Entrega
En esta fase se establecerá una estimación del tiempo para la entrega de los productos
en base a las historias de usuarios y a la secuencia de los procesos.
Figura 22 Cronograma de actividades
45
3.1.9. Fase III: Iteraciones
En esta fase se hace referencia al ciclo de desarrollo creando un JSF Project en Eclipse
Luna, para:
La traducción de los objetos, detallados en el diagrama entidad-relación de la Base
de Datos, en clases, que son entidades con atributos semejantes.
JavaBeans que se usan para encapsular varios objetos en un único objeto, para
poder reutilizarlos
Paginas xhtml, permiten la interacción visual con el usuario.
Este proceso puede construir n iteraciones hasta realizar la entrega del sistema y su puesta
en producción.
3.1.9.1.Desarrollo e Implementación
Desarrollo de módulos:
Para el desarrollo de este proyecto se usan 3 capas:
Persistencia (Datos)
Servicio (Control)
Vista.
A continuación detallamos cada capa en cuestión.
Persistencia
Implementación de una entidad “Llamada” con sus anotaciones
46
Figura 23 Entidad Llamada
47
SERVICIOS Y JAVABEANS
JavaBean Control Usuario
Figura 24 JavaBean ControlUsuario
48
VISTA
Página xhtml
Para lograr que la información y la forma de presentarla estén claramente separadas. En
este sentido, se usaría para concretar el contenido del documento dejando para las hojas
de estilo y JavaScript la definición, su aspecto y diseño.
Figura 25 Pagina Login . xhtml
3.1.9.2.Resultado De Iteraciones
Iteración 1.- Esta iteración se consideran todos los entregables establecidos en la
fase de exploración, así como el MÓDULO DE REGISTRO E INGRESOS. Este
módulo está compuesto 15 páginas xhtml, que se encargarán del registro de
nuevas solicitudes, el ingreso de clientes, técnicos, equipos, usuarios, etc.
49
También la actualización de los mismos y permitirán al sistema mostrar los
diferentes listados que el usuario necesite.
Iteración 2.- Desarrollo del MÓDULO PARA CONTROL Y SEGUIMIENTO
DE SOLICITUDES. Este comprende de 5 páginas en formato xhtml, que se
encarga del despacho de las solicitudes, reasignación de técnicos, diagnósticos,
ingresos de detalles de reparación, repuestos, finalización de solicitudes y entrega
de equipos al cliente. Además de la visualización de listas de los estados y datos
de las solicitudes.
Iteración 3.- Desarrollo del MÓDULO DE REPORTES Y ADMINISTRACION
DE USUARIOS. El módulo de reportes se compone de 5 páginas xhtml,
encargadas de la visualización de reportes de solicitudes atendidas por técnicos,
por períodos de tiempo y reportes estadísticos de las mismas. El módulo de
administración de usuarios contiene 3 páginas en formato xhtml, que permitirán
realizar el control de acceso y seguridad de usuarios.
3.1.10. Fase de producción
En esta fase la aplicación será sometida a pruebas de funcionalidad con el fin de realizar
una revisión por completo antes de su traslado al entorno del cliente.
3.1.10.1. Pruebas de Caja Negra
Son pruebas funcionales en las cuales no se toma en cuenta el código sino se centran
principalmente en lo que se quiere de un módulo.
Para poder realizar estas pruebas se requieren entradas o parámetros con el fin de
obtener una salida específica, de esta manera comprobamos su usabilidad.
Técnica de la partición de equivalencia
Es una de las técnicas más efectivas ya que permite examinar valores válidos e inválidos
de las entradas existentes en el sistema.
Descubre de forma inmediata una clase de error que, de otro modo, requerirían la
ejecución de muchos casos antes de detectar el error.
NOMBRE Inicio de sesión usuarios
PRUEBAS
P1
PROPOSITO
Verificar si un usuario registrado puede iniciar sesión a sus
páginas correspondientes.
50
Verificar si al no llenar la información obligatoria el sistema le
permite el ingreso.
PRERREQUISITOS Estar registrado por el administrador de la aplicación.
UBICACIÓN
Pantalla de login, Pantallas de usuarios, Base de datos MySQL
PASOS
1. Ingresar a la página de inicio (Login) del sistema.
2. Ingresar su nombre de usuario y su contraseña.
3. Clic en “Iniciar”
UBICACIÓN ENTRADA/ACCION DEL
USUARIO/CONDICION
SALIDA ESPERADA ESTADO
Pantalla de inicio del
sistema
El usuario ingresa a la aplicación Página de Login OK
Página de login El usuario no llena los campos y
da clic en “Iniciar”
Aviso de
advertencia “Ingrese
su nombre de
usuario y
contraseña”
OK
Página de login El usuario llena solo un campo y
da clic en “Iniciar”
Aviso de
advertencia “Ingrese
su usuario” o
“Ingrese su
contraseña”
OK
Página de login El usuario llena la información
solicitada y da clic en “Iniciar”
Página principal que
corresponde al tipo
de usuario
OK
Página de principal de
ese tipo de usuario
El usuario da clic en “Salir” Página de login OK
Tabla 21 Prueba de caja negra P1
51
NOMBRE Registro de clientes
PRUEBAS
P2
PROPOSITO
Verificar un nuevo cliente se registra.
Verificar si un cliente registrado puede reintentar registrarse.
Verificar si al no llenar la información obligatoria el sistema
guarda el cliente en la base.
PRERREQUISITOS Haber iniciado sesión como recepción o supervisor.
UBICACIÓN
Pantalla de clientes, Pantalla principal de usuario, Base de datos
MySQL
PASOS
1. Iniciar sesión.
2. Ingresar a la página principal del tipo de usuario.
3. Ingresar a la página “Clientes”
4. Dar clic en “Nuevo”
5. Llenar la información obligatoria del cliente.
6. Dar clic en “Agregar”
UBICACIÓN ENTRADA/ACCION DEL
USUARIO/CONDICION
SALIDA ESPERADA ESTADO
Página de login El usuario llena los campo y da
clic en “Iniciar”
Página principal que
corresponde al tipo
de usuario”
OK
Página principal El usuario da clic en “Clientes” Página de clientes OK
Página de clientes El usuario da clic en “Nuevo” Página de ingreso de
clientes nuevos
OK
Página de ingreso de
clientes nuevos
El usuario no ingresa
información obligatoria y da clic
en “Agregar”
Mensaje
Advertencia “Llene
los campos
obligatorios”
OK
Página de ingreso de
clientes nuevos
El usuario ingresa la información
obligatoria y da clic en
“Agregar”
Se crea un nuevo
registro en la tabla
“Cliente” con los
datos ingresados por
el usuario.
OK
52
Página de ingreso de
clientes nuevos
El usuario vuelve a ingresar la
misma información y da clic en
“Agregar”
Mensaje de
advertencia “El
cliente ya existe”
OK
Página de ingreso de
clientes nuevos
El usuario da clic en “regresar” Página principal del
usuario
OK
Tabla 22 Prueba de caja negra P2
NOMBRE Registro de técnicos
PRUEBAS
P3
PROPOSITO
Verificar un nuevo técnico se registra.
Verificar si un técnico registrado puede reintentar registrarse.
Verificar si al no llenar la información obligatoria el sistema
guarda el técnico en la base.
PRERREQUISITOS Haber iniciado sesión como supervisor.
UBICACIÓN
Pantalla de técnicos, Pantalla principal de usuario, Base de datos
MySQL
PASOS
1. Iniciar sesión.
2. Ingresar a la página principal del tipo de usuario.
3. Ingresar a la página “Técnicos”
4. Dar clic en “Nuevo”
5. Llenar la información obligatoria del técnico.
6. Dar clic en “Agregar”
UBICACIÓN ENTRADA/ACCION DEL
USUARIO/CONDICION
SALIDA ESPERADA ESTADO
Página de login El usuario llena los campo y da
clic en “Iniciar”
Página principal que
corresponde al tipo
de usuario”
OK
Página principal El usuario da clic en “Técnico” Página de técnicos OK
Página de técnicos El usuario da clic en “Nuevo” Página de ingreso de
técnicos
OK
Página de ingreso de
nuevos técnicos
El usuario no ingresa
información obligatoria y da clic
en “Agregar”
Mensaje
Advertencia “Llene
los campos
obligatorios”
OK
53
Página de ingreso de
nuevos técnicos
El usuario ingresa la información
obligatoria y da clic en
“Agregar”
Se crea un nuevo
registro en la tabla
“Tecnico” con los
datos ingresados por
el usuario.
OK
Página de ingreso de
nuevos técnicos
El usuario vuelve a ingresar la
misma información y da clic en
“Agregar”
Mensaje de
advertencia “El
técnico ya existe”
OK
Página de ingreso de
nuevos técnicos
El usuario da clic en “regresar” Página principal del
usuario
OK
Tabla 23 Prueba de caja negra P3
NOMBRE Registro de usuarios
PRUEBAS
P4
PROPOSITO
Verificar un nuevo usuario se registra.
Verificar si un usuario registrado puede reintentar registrarse.
Verificar si al no llenar la información obligatoria el sistema
guarda el usuario en la base.
Verificar si el nuevo usuario puede iniciar sesión.
PRERREQUISITOS Haber iniciado sesión como supervisor.
UBICACIÓN
Pantalla de usuarios, Pantalla principal de administrador, Base de
datos MySQL
PASOS
1. Iniciar sesión.
2. Ingresar a la página principal del tipo de usuario.
3. Ingresar a la página “Usuarios”
4. Dar clic en “Nuevo”
5. Llenar la información obligatoria del usuario.
6. Dar clic en “Agregar”
7. Salir del sistema y volver a iniciar sesión como el nuevo
usuario.
UBICACIÓN ENTRADA/ACCION DEL
USUARIO/CONDICION
SALIDA ESPERADA ESTADO
Página de login El usuario llena los campo y da
clic en “Iniciar”
Página principal que
corresponde al tipo
de usuario”
OK
54
Página principal El usuario da clic en “Usuarios” Página de usuarios OK
Página de usuarios El usuario da clic en “Nuevo” Página de ingreso de
usuarios
OK
Página de ingreso de
nuevos usuarios
El usuario no ingresa
información obligatoria y da clic
en “Agregar”
Mensaje
Advertencia “Llene
los campos
obligatorios”
OK
Página de ingreso de
nuevos usuarios
El usuario ingresa la información
obligatoria y da clic en
“Agregar”
Se crea un nuevo
registro en la tabla
“Usuario” con los
datos ingresados por
el usuario.
OK
Página de ingreso de
nuevos usuarios
El usuario vuelve a ingresar la
misma información y da clic en
“Agregar”
Mensaje de
advertencia “El
usuario ya existe”
OK
Página de ingreso de
nuevos usuarios
El usuario da clic en “regresar” Página principal del
usuario
OK
Página principal
usuario
El usuario da clic en “salir” Página de login OK
Página de login El usuario ingresa los datos del
nuevo usuario y da clic en
“Iniciar”.
Página principal de
usuario
OK
Tabla 24 Prueba de caja negra P4
NOMBRE Registro de una nueva
solicitud
PRUEBAS
P5
PROPOSITO
Verificar que una nueva solicitud se registra.
Verificar si al no llenar la información obligatoria el sistema
guarda la solicitud en la base.
Verificar si se genera reporte de ingreso de la solicitud ingresada.
PRERREQUISITOS Haber iniciado sesión como recepción o supervisor.
55
UBICACIÓN
Pantalla de Llamadas, Pantalla de clientes, Pantalla principal del
usuario, Reporte de ingreso, Base de datos MySQL
PASOS
1. Iniciar sesión.
2. Ingresar a la página principal del tipo de usuario.
3. Ingresar a la página “Llamadas”
4. Dar clic en “Nueva Llamada”
5. Seleccionar el cliente o agregar un nuevo cliente.
6. Llenar la información obligatoria del usuario.
7. Dar clic en “Agregar”
8. Dar clic en “Imprimir” y verificar que los datos sean los
correctos.
UBICACIÓN ENTRADA/ACCION DEL
USUARIO/CONDICION
SALIDA ESPERADA ESTADO
Página de login El usuario llena los campo y da
clic en “Iniciar”
Página principal que
corresponde al tipo
de usuario”
OK
Página principal El usuario da clic en “Llamada” Página de Llamadas OK
Página de Llamadas El usuario da clic en “Nueva
Llamada”
Página de ingreso de
llamadas
OK
Página de ingreso de
llamadas
El usuario no selecciona ningún
cliente de la lista.
Da clic en “Nuevo Cliente”
Página de ingreso de
nuevos clientes
OK
Página de ingreso de
nuevos clientes
El usuario ingresa la información
obligatoria y da clic en
“Agregar”
Se crea un nuevo
registro en la tabla
“Cliente” con los
datos ingresados por
el usuario.
Actualiza la lista de
clientes en la
pantalla ingreso de
llamadas.
OK
Página de ingreso de
llamadas
El usuario no ingresar la
información obligatoria y da clic
en “Agregar”
Mensaje de
advertencia “Llene
los campos
obligatorios”
OK
56
Página de ingreso de
llamadas
El usuario llena los campos
obligatorios y da clic en agregar
Mensaje
Información “Nueva
Llamada registrada”
OK
Página de ingreso de
llamadas
El usuario da clic en “Imprimir” Se presenta el
reporte “Ingreso”
con los datos del
cliente, equipo, la
fecha de ingreso y el
problema reportado
OK
Página de Llamadas El usuario regresa a la pantalla
de llamadas y verifica la lista de
llamadas.
Se ha añadido la
nueva solicitud con
el estado de
“Abierta”
OK
Tabla 25 Prueba de caja negra P5
NOMBRE Despacho de una solicitud
PRUEBAS
P6
PROPOSITO
Verificar que una solicitud sea asignada a uno o más técnicos.
Verificar si al no llenar la información obligatoria el sistema
guarda la solicitud en la base.
Verificar que se pueda reasignar las solicitudes a otro técnico.
Verificar que las solicitudes se hayan asignado al técnico.
Verificar que se pueda reasignar una solicitud a otro técnico.
PRERREQUISITOS Haber iniciado sesión como supervisor.
UBICACIÓN
Pantalla de Llamadas, Pantalla de Despacho Llamadas, Pantalla
principal del usuario, Base de datos MySQL
PASOS
1. Iniciar sesión.
2. Ingresar a la página principal del tipo de usuario.
3. Ingresar a la página “Llamadas”
4. Dar clic en “Despacho de llamadas”
5. Seleccionar la solicitud que desea despachar.
6. Seleccionar el técnico al que se asignará la solicitud.
7. Dar clic en “Agregar” para agregar la lista de técnicos.
8. Dar clic en “Despachar” y verificar que el despacho ha
sido correcto.
57
9. Dar clic en Reasignar Llamada.
10. Buscar la solicitud por número.
11. Seleccionar el nuevo técnico a reasignar la llamada.
12. Dar clic en “Listo”
UBICACIÓN ENTRADA/ACCION DEL
USUARIO/CONDICION
SALIDA ESPERADA ESTADO
Página de login El usuario llena los campos y da
clic en “Iniciar”
Página principal que
corresponde al tipo
de usuario”
OK
Página principal El usuario da clic en “Llamada” Página de Llamadas OK
Página de Llamadas El usuario da clic en “Despacho
Llamada”
Página de despacho
de llamadas
OK
Página de despacho
de llamadas
El usuario selecciona una
solicitud de la lista.
Da clic en “Despachar”
Página de despacho
a técnicos
OK
Página de despacho a
técnicos
El usuario no selecciona ningún
técnico y da clic en “Despachar”
Mensaje de
Advertencia
“Seleccione uno o
más técnicos”.
OK
Página de despacho a
técnicos
El usuario selecciona un técnico
y da clic en “Agregar”
Se muestra el
nombre y apellido
del técnico
seleccionado.
OK
Página de despacho a
técnicos
El usuario da clic en
“Despachar”
Mensaje
Información
“Llamada
despachada con
éxito”
OK
Página de llamadas El usuario observa la lista de
solicitudes para comprobar el
estado.
El estado de la
solicitud a cambiado
a “Despachada”
OK
Página de Llamadas El usuario da clic en “ver más”
para presentar los nuevos
cambios.
Se muestra una
pantalla con los
datos de la solicitud
y el técnico
asignado.
OK
58
Página de Llamadas El usuario da clic en “Reasignar
Llamada”
Mensaje de
búsqueda para
buscar por número
de llamada
OK
Mensaje de búsqueda El usuario ingresa el número de
llamada y da clic en “Buscar”
Página de Llamada
con la solicitud
encontrada.
OK
Página de Llamada El usuario da clic en “Ver Más” Pantalla Reasignar
Llamada
OK
Pantalla Reasignar
Llamada
El usuario selecciona el técnico
para reasignar la solicitud.
Da clic en “Reasignar”
Mensaje
Información
“Llamada
Reasignada con
éxito”
OK
Tabla 26 Prueba de caja negra P6
NOMBRE Diagnóstico de Solicitudes
PRUEBAS
P7
PROPOSITO
Verificar que se registre el diagnóstico en la solicitud.
Verificar si al no llenar la información obligatoria el sistema
guarda la solicitud en la base.
Verificar que se el estado de la solicitud cambie a “Diagnóstico”.
PRERREQUISITOS Haber iniciado sesión como técnico.
UBICACIÓN
Pantalla de Llamadas, Pantalla de Cerrar Llamadas, Pantalla
principal del usuario, Base de datos MySQL
PASOS
1. Iniciar sesión.
2. Ingresar a la página principal del tipo de usuario.
3. Ingresar a la página “Llamadas”
4. Dar clic en “Cerrar de llamadas”
5. Seleccionar la solicitud que desea diagnosticar.
6. Dar clic en “Ver Más”.
7. Ingresar el diagnóstico del equipo.
8. Seleccionar una prioridad.
9. Cambiar el estado a diagnóstico.
59
10. Dar clic en “Guardar Cambios”
UBICACIÓN ENTRADA/ACCION DEL
USUARIO/CONDICION
SALIDA ESPERADA ESTADO
Página de login El usuario llena los campos y da
clic en “Iniciar”
Página principal que
corresponde al tipo
de usuario”
OK
Página principal El usuario da clic en “Llamada” Página de Llamadas OK
Página de Llamadas El usuario da clic en “Cerrar
Llamada”
Página de cierre de
llamadas
OK
Página de cierre de
llamadas
El usuario selecciona una
solicitud de la lista.
Da clic en “Ver Más”
Página de Cerrar
Llamada
OK
Página de Cerrar
Llamada
El usuario ingresa el diagnóstico
y da clic en “Guardar Cambios”
Mensaje de
Información
“Cambios guardados
con éxito”.
Se actualiza la
información de la
tabla Llamada en la
Base de Datos.
OK
Tabla 27 Prueba de caja negra P7
NOMBRE Reparación de Equipos
PRUEBAS
P8
PROPOSITO
Verificar que se registre los procedimientos ingresados en la
solicitud.
Verificar si al no llenar la información obligatoria el sistema
guarda la solicitud en la base.
Verificar que se el estado de la solicitud cambie a “Reparación”.
PRERREQUISITOS Haber iniciado sesión como técnico.
UBICACIÓN
Pantalla de Llamadas, Pantalla de Cerrar Llamadas, Pantalla
principal del usuario, Base de datos MySQL
60
PASOS
1. Iniciar sesión.
2. Ingresar a la página principal del tipo de usuario.
3. Ingresar a la página “Llamadas”
4. Dar clic en “Cerrar de llamadas”
5. Seleccionar la solicitud que desea reparar.
6. Dar clic en “Ver Más”.
7. Ingresar los procedimientos realizados en el equipo.
8. Ingresa los repuestos cambiados y la cantidad.
9. Seleccionar una prioridad.
10. Cambiar el estado a “Reparación”.
11. Dar clic en “Guardar Cambios”
UBICACIÓN ENTRADA/ACCION DEL
USUARIO/CONDICION
SALIDA ESPERADA ESTADO
Página de login El usuario llena los campos y
da clic en “Iniciar”
Página principal que
corresponde al tipo de
usuario”
OK
Página principal El usuario da clic en
“Llamada”
Página de Llamadas OK
Página de Llamadas El usuario da clic en “Cerrar
Llamada”
Página de cierre de
llamadas
OK
Página de cierre de
llamadas
El usuario selecciona una
solicitud de la lista.
Da clic en “Ver Más”
Página de Cerrar
Llamada
OK
Página de Cerrar
Llamada
El usuario ingresa los
procedimientos realizados y
agrega varios repuestos.
Los repuestos
seleccionados se
muestran en una tabla.
OK
Página de Cerrar
Llamada
El usuario da clic en “Guardar
Cambios”
Mensaje Información
“Cambios Guardados
con éxito”
Se actualiza en la tabla
Llamada los
procedimientos
realizados y se crean
los registros en la tabla
Repuesto_Llamada.para
almacenar los repuestos
usados y la cantidad.
OK
61
Tabla 28 Prueba de caja negra P8
NOMBRE Finalización de Equipos
PRUEBAS
P9
PROPOSITO
Verificar que se registre la fecha de finalización en la solicitud.
Verificar si al no llenar la información obligatoria el sistema
guarda la solicitud en la base.
Verificar que se el estado de la solicitud cambie a “Finalizada”.
Verificar que se genere el reporte de finalización.
PRERREQUISITOS Haber iniciado sesión como técnico.
UBICACIÓN
Pantalla de Llamadas, Pantalla de Cerrar Llamadas, Pantalla
principal del usuario, Base de datos MySQL
PASOS
1. Iniciar sesión.
2. Ingresar a la página principal del tipo de usuario.
3. Ingresar a la página “Llamadas”
4. Dar clic en “Cerrar de llamadas”
5. Seleccionar la solicitud que desea reparar.
6. Dar clic en “Ver Más”.
7. Ingresar la fecha y hora de finalización y el contador.
8. Cambiar el estado a “Finalización”.
9. Dar clic en “Guardar Cambios”
10. Dar clic en Imprimir para generar el informe.
UBICACIÓN ENTRADA/ACCION DEL
USUARIO/CONDICION
SALIDA ESPERADA ESTADO
Página de login El usuario llena los campos y da
clic en “Iniciar”
Página principal que
corresponde al tipo
de usuario”
OK
Página principal El usuario da clic en “Llamada” Página de Llamadas OK
Página de Llamadas El usuario da clic en “Cerrar
Llamada”
Página de cierre de
llamadas
OK
Página de cierre de
llamadas
El usuario selecciona una
solicitud de la lista.
Página de Cerrar
Llamada
OK
62
Da clic en “Ver Más”
Página de Cerrar
Llamada
El usuario ingresa la fecha y hora
de finalización y el contador.
Se almacena la fecha
y hora de
finalización
OK
Página de Cerrar
Llamada
El usuario da clic en “Guardar
Cambios”
Mensaje
Información
“Cambios
Guardados con
éxito”
Se actualiza en la
tabla Llamada la
fecha y hora de
finalización.
OK
Página de Cerrar
Llamada
El usuario da clic en “Imprimir” Se genera un archivo
con los datos de la
solicitud, los
procedimientos
realizados, los
repuestos cambiados
y las respectivas
fechas.
OK
Tabla 29 Prueba de caja negra P9
NOMBRE Entrega de Equipos
PRUEBAS
P10
PROPOSITO
Verificar que se registre la fecha de entrega del equipo.
Verificar si al no llenar la información obligatoria el sistema
guarda la solicitud en la base.
Verificar que se el estado de la solicitud cambie a “Entregada”.
Verificar que se genere el reporte de entrega.
PRERREQUISITOS Haber iniciado sesión como recepción.
UBICACIÓN
Pantalla de Llamadas, Pantalla de Entregar Equipo, Pantalla
principal del usuario, Base de datos MySQL
63
PASOS
1. Iniciar sesión.
2. Ingresar a la página principal del tipo de usuario.
3. Ingresar a la página “Llamadas”
4. Dar clic en “Entregar Equipo”
5. Seleccionar la solicitud que desea entregar.
6. Dar clic en “Ver Más”.
7. Ingresar la fecha de entrega y el número de factura.
8. Dar clic en “Finalizar”
9. Dar clic en Imprimir para generar el informe de entrega.
UBICACIÓN ENTRADA/ACCION DEL
USUARIO/CONDICION
SALIDA ESPERADA ESTADO
Página de login El usuario llena los campos y da
clic en “Iniciar”
Página principal que
corresponde al tipo
de usuario”
OK
Página principal El usuario da clic en “Llamada” Página de Llamadas OK
Página de Llamadas El usuario da clic en “Entregar
Equipo”
Página de entrega
equipos
OK
Página de entrega
equipos
El usuario selecciona una
solicitud de la lista.
Da clic en “Ver Más”
Página de entrega
equipos
OK
Página de entrega
equipos
El usuario ingresa la fecha y hora
de entrega y el número de factura
Se almacena la fecha
y hora de
finalización
OK
Página de entrega
equipos
El usuario da clic en “Finalizar” Mensaje
Información
“Entrega realizada
con éxito”
Se actualiza en la
tabla Llamada la
fecha y hora de
entrega y el número
de factura.
OK
Página de entrega
equipos
El usuario da clic en “Imprimir” Se genera un archivo
con los datos de la
solicitud y las
respectivas fechas.
OK
Tabla 30 Prueba de caja negra P10
64
3.1.10.2. Pruebas de Interfaz
Se tomó en cuenta los tres navegadores más usados a nivel mundial para conocer el
funcionamiento de la aplicación.
Los resultados obtenidos fueron:
NAVEGADOR Tiempo de
respuesta
Visualización
Formularios
Problemas
Chrome 51.0 Optimo Optima Ninguna
Mozilla Firefox
47.0
Optimo Optima Ninguna
Microsoft Edge Optimo Optima Ninguna
Tabla 31 Tabla de resultados prueba de interfaz
3.1.10.3. Pruebas Basadas en Errores
Los errores que se encontraron con mayor frecuencia fueron producidos por valores nulos
usados para diversas operaciones, los mismos que fueron corregidos de manera oportuna
durante las revisiones del sistema.
3.1.11. Fase IV: Mantenimiento
Esta fase se la cumplirá cuando el sistema ya se encuentre en producción, el tiempo
estimado para realizar el mantenimiento es de 1 mes después de haber sido puesto en
producción.
3.1.12. Fase V: Muerte del proyecto
La muerte del proyecto se cumple con la entrega del documento de entrega y recepción
del sistema a la empresa “Digital Services”, además se generan los manuales de
instalación y usuario.
65
4. CONCLUSIONES
La falta de un sistema que automatice las tareas diarias que se llevan a cabo en la
empresa ha generado que los procesos no sean los más óptimos para el desarrollo
del negocio, se ha evidenciado también que la falta de acceso a la información
veraz y oportuna ha impedido prestar una atención adecuada e inmediata a sus
clientes, siendo esto motivo suficiente para que la empresa no genere una ventaja
competitiva con sus competidores y que la toma de decisiones se vea estancada
por la falta de registros históricos que permitan medir el rendimiento de los
colaboradores de la compañía.
Por ello para el desarrollo de la solución, lo primordial fue comprender la lógica del
negocio y sus procedimientos internos, pues la identificación de los principales
procesos manejados en el área técnica permitió tener una idea clara de cuáles serían
las principales funciones que el software debía ejecutar.
En base a estos antecedentes, se inició con el desarrollo de un Sistema de
Asignación y Control de Llamadas vía web que automatice los procesos que se
ejecutaban manualmente con la finalidad de mejorarlos, minimizando el tiempo y
costos adicionales que estos generaban, convirtiéndose así en un arma competitiva
que la diferencia de la competencia y permitiendo proveer de información más a
la mano, más ordena y más clara de los procesos en tiempo real con la posibilidad
de consultar la misma información por diferentes usuarios.
.
Se consideró también que la metodología Extreme Programming (Programación
Extrema-XP) utilizada para el desarrollo de la solución fue la adecuada, ya que
esta metodología nos permitió una comunicación constante con el usuario
haciéndolo que sea parte del desarrollo de forma permanente.
Además XP permitió una programación ordenada y por ende una menor tasa de
errores, los cuales se fueron solucionando conforme se avanzó con las iteraciones
para finalmente obtener un producto de calidad que pueda satisfacer todas las
necesidades presentadas por el cliente.
Así mismo la arquitectura y herramientas de software libre usadas para el diseño
y construcción del sistema se adaptan perfectamente con estándares de calidad,
brindando así un ahorro en costos relacionados con licencias.
Para finalizar es necesario recalcar que la implementación de este sistema de
información representa el primer paso a la integración de la Cadena de Valor, ya
que integra la parte interna del negocio, para mejorar los procesos internos,
generando ganancias tangibles e intangibles que permiten alcanzar el éxito,
considerando que todo el potencial y ventajas que brinda el sistema recaen
directamente en los protagonistas de cada proceso, el saber usar la aplicación y
darle el mejor provecho permitirá generar ventajas competitivas y mejoramiento
de los mismos.
66
5. RECOMENDACIONES
1. Es recomendable el desarrollo de aplicaciones en ambientes web por las
tendencias actuales de desarrollo y además por los beneficios que estos brindan
como son flexibilidad, accesibilidad y seguridad.
2. Se recomienda continuar con el desarrollo de un módulo financiero en versiones
posteriores del sistema, ya que algunos de los procesos de esta área se encuentran
directamente relacionados.
3. Es importante que una aplicación sea lo suficientemente amigable e intuitiva para
que los nuevos usuarios que no conozcan la aplicación puedan navegar y hacer
uso de la misma sin necesidad de un aprendizaje exhaustivo de los manuales de la
misma.
4. La orientación futura que puede llegar a tener el sistema de asignación y control,
radica en que llegue a ser una aplicación abierta a la participación de los clientes,
es decir que los clientes puedan acceder al sistema e interactuar con consultas y
comentarios.
67
6. BIBLIOGRAFÍA
1. SOMMERVILLE Ian (2005). Ingeniería del software. Pearson Educación.
2. SCHWABER K., BEEDLE M., Martin R.C. "Agile Software Development with
SCRUM". Prentice Hall. 2001.
3. CANÓS José H., LETELIER Patricio y PENADÉS Mª Carmen. Metodologías
Ágiles para el desarrollo de software. Universidad Politécnica de Valencia.
4. KENDALL, Kenneth E. y KENDALL, Julie E, “Análisis y Diseños de Sistema”,
OCTAVA EDICIÓN, 2011
5. http://www.gcfaprendelibre.org/tecnologia/curso/informatica_basica/aplicaciones_
web_y_todo_acerca_de_la_nube/1.do, Consultado 15/02/2016
6. https://eclipse.org/luna/, Consultado 18/02/2016
7. https://www.oracle.com/es/products/mysql/overview/index.html,Consultado
18/02/2016
8. https://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n),
Consultado 25/02/2016
9. https://es.wikipedia.org/wiki/Java_EE, Consulta 25/02/2016
10. http://blog.servidoresdeaplicaciones.com/category/servidores-de-
aplicaciones/jbossas/wildfly/, Consultado 27/02/2016
11. http://primefaces.org/, Consultado 27/02/2016
12. https://www.adictosaltrabajo.com/tutoriales/introduccion-jsf-java/,Consultado
27/02/2016
13. http://www.ecured.cu/Pruebas_de_caja_negra, Consultado 05/03/1026
68
7. ANEXOS
7 . 1 . A N E XO 1 : P R ES UP U E S TO
ITEM RUBRO
Cantidad Valor
Unitario Valor Rubro
No. Unidad No $ $
1
Recursos Institucionales
Materias Primas 0 0 $ 0,00
Uso Equipos 1 0 $ 0,00
Subtotal Recursos Institucionales $ 0,00
2
Recursos Humanos
Tutor y Revisores del proyecto 3 0 $ 0,00
Investigador (Autor del proyecto) 1 0 $ 0,00
Subtotal Recursos Humanos $ 0,00
3
Recursos Materiales
Material de escritorio
Resmas de papel 2 5 $ 10,00
Copias 300 0,02 $ 6,00
Memory Flash 1 10 $ 10,00
Tintas impresora 4 5 $ 20,00
Material bibliográfico
Internet 5 (meses) 22 $ 110,00
Fotocopias de libros 200 0,02 $ 4,00
Impresión de borrador de documento 300 0,15 $ 45,00
Empastados 3 20 $ 60,00
Subtotal Recursos Materiales $ 265,00
4
Otros
Movilización 90 0,75 $ 67,50
Alimentación 150 2,25 $ 337,50
Gastos Varios 30 2 $ 60,00
Subtotal Otros $ 465,00
TOTAL $ 730,00
IMPREVISTOS $ 36,50
TOTAL PRESUPUESTO $ 766,50 Tabla 32 Presupuesto estimado para la elaboración del proyecto
69
7 . 2 . A N E XO 2 : M AN U AL DE I NS T AL A CI O N
OBJETIVO
El propósito de este manual es mostrar los pasos necesarios para poder poner en funcionamiento
el sistema.
ALCANCE
El alcance de este documento con lleva a la demostración y visualización de cada de las etapas
para la instalación.
INSTALACIÓN
1. Instalación JDK 1.8.101
Para la instalación del jdk hay que ejecutar el archivo de instalación de la máquina virtual java,
según la arquitectura del sistema operativo 32 o 64 bits.
Para iniciar con la instalación hay que dar doble click en el archivo ejecutable e ir siguiendo las
indicaciones del wizard de instalación.
70
Para verificar que todo se haya instalado correctamente en una ventana de CMD se escribe el
comando “java -version”, este comando arroja la versión de jdk que se tiene instalado. Si todo va
bien se procede a configurar las variables de entorno para que se pueda ejecutar correctamente la
aplicación.
2. Configuración de Variables de Entorno
Estas son las variables que informan al sistema operativo dónde y cómo ubicar Java dentro del
mismo. “JAVA_HOME” y “PATH”
Configurar La Variable Java_Home
71
Nombre de variable: JAVA_HOME
Valor de variable: se escribe la ruta en que se haya instalado Java. C:\Program
Files\Java\jdk1.8.0_101 ó C:\Program Files (x86)\Java\jdk1.8.0_101
Configurar La Variable Path
Al final del contenido que ya existe, se añade un punto y coma (;) y el texto
“%JAVA_HOME%\bin”, no deben quedar espacios intermedios. Entonces se tendrá lo siguiente
3. Instalación MySQL
72
Para la instalación del motor de base de datos, que es MySQL 5.7.13, le damos doble clic en el
ejecutable el cual iniciara el wizard de instalación, elegimos el indicado para el sistema operativo
en el que se vaya a trabajar.
Ahora vamos a colocamos el password : “admin”
73
Ahora nos conectamos como root con la clave “admin”
74
Ahora vamos a crear la base mediante el scrip
Ejecutamos el scrip, una vez que finaliza la ejecución actualizamos “SCHEMAS” y nos aparece la
base creada.
Ahora procedemos a cargar las tablas, buscamos la carpeta donde se encuentra la carpeta
“Dump”
75
Con esos pasos se logra restaurar la base de datos del sistema.
4. Instalación Servidor WildFly 8.x.Final
El servidor Jboss estará ubicado en el disco C del sistema operativo para tener una correcta
organización. Simplemente se copiara el servidor que se encuentra en la carpeta de instaladores
del CD del proyecto en el disco C.
Una vez instalado tanto el servidor como la base de datos se procede a realizar la configuración de
ciertos procesos para que la aplicación funcione correctamente.
Configuración del servidor WildFly
Modificar el archivo “standalone.xml”, que se encuentra en “C:\wildfly-8.1.0.Final
\standalone\configuration”
76
Ubicamos la sección de “interfaces”, y añadimos lo siguiente:
Esto es para que el servidor se pueda levantar con la opción pública, es decir que acepte y permita
conexiones exteriores al localhost.
5. Deployado del archivo war.
Para este paso se necesita copiar el archivo .war que se encuentra en el CD del proyecto dentro
de la carpeta “C:\wildfly-8.1.0.Final\standalone\deployments” del servidor Jboss.
El servidor por si solo se encargará de generar el deployado del archivo war.
6. Levantar el servidor WildFly
Para este paso abrimos la consola CMD como administrador
Nos ubicamos en el disco C:
77
Y colocamos la siguiente sentencia:
Con las configuraciones anteriores realizadas correctamente, el sistema ya está disponible para su
uso; simplemente es necesario ingresar la url
“http://localhost:8081/ProyectoDigitalServices/Log.jsf” en un navegador. Si se accede desde fuera
del servidor, la url cambia ubicando la dirección ip del servidor o la dirección asignada al sistema.
78
7 . 3 . A N E XO 3 : M AN U AL DE US UA RI O
TIPOS DE USUARIOS
El sistema contiene varios tipos de usuarios.
Administrador.
Recepción.
Técnico.
INSTALACIÓN
Requerimientos de hardware Contar con:
Computadora.
Conexión a Internet.
Requerimientos de software
Contar con:
Navegador (Internet Explorer, Chrome, Firefox u otro).
Lector de archivos PDF.
Permiso de acceso por parte del administrador.
INGRESO AL SISTEMA
1. Interfaz de inicio de sesión
El sistema solicitara las credenciales de acceso (Usuario y Contraseña), datos que serán
proporcionados por el administrador.
1.1. Acceso erróneo
El sistema verificará el usuario y clave ingresados, en el caso de ingreso de datos incorrectos el
sistema mostrará un mensaje de error.
79
1.2. Acceso Correcto
El sistema verificará el usuario y clave ingresados, en el caso de ingreso de datos correctos el
usuario ingresará al sistema y podrá acceder al menú principal con las opciones según su perfil de
acceso
Pantalla Principal Administrador
Pantalla Principal Recepción
80
Pantalla Principal Técnico
El usuario podrá cerrar su sesión en el momento que desee, simplemente hacer clic en el enlace
“Salir”. El sistema cerrará la sesión del usuario y se mostrará la pantalla inicial de login del
Sistema.
Ingreso de nuevas solicitudes o Llamadas
Para poder realizar el ingreso de llamadas el usuario debe tener el perfil de administrador o de
recepción.
Elegimos la opción “Llamadas” y luego en “Nueva Llamada”
81
Si no encuentra un cliente en la lista puede ingresar uno nuevo dando clic en “Nuevo Cliente”
Lista con el tipo de
Llamada Lista de
Clientes
Ingreso de
Nuevos
Clientes
Número de
Serie Equipo
Ingreso de
Nuevas
Marcas
Ingreso de
Nuevo
Modelo
Detalle del
problema que
presenta el
equipo
Lista de
Ciudades
Regresa a la Página
Principal
Lista de
Marcas
Lista de
Modelos
Contador de
impresiones
Detalle de
novedades
del equipo
Permite Limpiar la
pantalla para
ingresar una nueva
llamada
Permite
Agregar la
Llamada al
sistema
Imprime un reporte
con los datos
ingresados
Nombre o Razón
Social del Cliente RUC del Cliente
Correo
electrónico
Persona de
contacto
Dirección del
Cliente
Teléfono del
Cliente
Teléfono del
Contacto
Opción que
permite
saber si el
cliente tiene
contrato con
la empresa
Sugerencias u
observaciones
Limpia la
pantalla Permite ingresar el
nuevo cliente a la
base del sistema
Regresa a la
pantalla anterior
sin guardar datos
Fecha en la que
finaliza el contrato
con la empresa
82
En caso que se requiera puede ingresar una nueva Marca dando clic en “Nueva Marca”
Para ingresar un nuevo modelo solo damos clic en “Nuevo Modelo”
Si se ingresan todos los datos y no existen novedades el sistema presentará un mensaje de éxito.
Al imprimir se genera un archivo con el nombre “Ingreso.pdf” con los datos de la llamada.
Agrega la
nueva marca
a la base del
sistema
Nombre
de la
Marca
Regresa a la
pantalla anterior
sin guardar datos
Regresa a la
pantalla anterior
sin guardar datos
Lista con
las marcas Nombre del
modelo
Agrega el nuevo modelo a
la base del sistema
83
En la pantalla principal podemos observar que la llamada ingresada se encuentra en la lista.
DESPACHO DE LLAMADAS
Aquí podemos realizar la asignación del técnico o despacho de la llamada.
Cabe recalcar que este proceso lo realiza solo el usuario Supervisor (Administrador).
Primero realizamos un login como Administrador.
Seleccionamos en la lista la llamada a la cual queremos asignar el técnico dando clic en
“Despachar Llamada”.
84
Seleccionamos el técnico dando clic en la lista “Técnicos”.
Damos clic en “Agregar” y el técnico es seleccionado.
Damos clic en “Despachar” y con eso finalizamos la asignación.
Si damos clic en “Actualizar” observamos que la llamada ya cambio su estado a “Despachada”
DIAGNOSTICAR UNA LLAMADA
Esta es la primera etapa en la que el técnico atiende a una llamada dando un diagnóstico acerca
del error o problema que presenta el equipo.
Para esto se requiere un login como Técnico ya que solo el técnico asignado puede acceder a
realizar cambios en la llamada.
85
Dando clic en “Cerrar Llamadas” se nos muestra una lista con las llamadas que el técnico tiene
asignadas.
Al dar clic en “Ver Más” se despliega la siguiente pantalla.
Datos de la Llamada
Estado en
el que se
encuentra
la llamada
Contador actual de impresiones
Número
de
Factura
Prioridad que se le asigna a la
llamada Guarda los cambios
realizados en la
llamada
Imprime
un
informe
Cierra la
ventana
86
Fechas en las cuales se
realizaron los respectivos
procedimientos
Horas en las cuales se
realizaron los respectivos
procedimientos
Procedimientos realizados
para la reparación del equipo
Detalle del
diagnóstico
Lista con repuestos que ya fueron cambiados
Lista de
repuestos
Cantidad de
repuestos
utilizados
Permite agregar un
nuevo repuesto
Guarda los
repuestos en
una lista
Código del repuesto
87
Damos clic en “Guardar Cambios” se nos muestra el mensaje y se actualiza el estado de la
llamada.
AUTORIZAR UNA REPARACIÓN
Solo el usuario supervisor puede realizar una autorización de reparación.
Damos clic en “Autorizar Reparación” y se nos muestra una lista con las llamadas que tienen un
diagnóstico y requieren autorización para continuar con el proceso de reparación.
Al dar clic en “Autorizar Reparación” se nos muestra la siguiente pantalla.
Nombre del repuesto Agrega el
nuevo repuesto
a la Base de
datos del
sistema
Regresa a la pantalla anterior
88
Desplegamos la lista y elegimos “APROBADA” en caso que el cliente haya aprobado la proforma o
“NO APROBADA”.
Damos clic en “Elegir” y obtenemos el estado de la proforma.
Damos clic en “Guardar Cambios” para finalizar este proceso.
Si vemos los detalles de la llamada observamos que el estado de la proforma cambio a “APROBADA”
REPARACION DEL EQUIPO
El técnico accede al sistema y da clic en “Cerrar Llamada”.
Elije la llamada que desea continuar con la reparación e ingresa los datos.
89
Cambia el estado de la llamada:
Da clic en “Guardar Cambios” para almacenar los cambios y finalizar la reparación
Al dar clic en “Imprimir” se genera el archivo “Informe Llamada.pdf” con los datos de la llamada,
los procedimientos realizados y el listado de repuestos cambiados.
90
91
ENTREGA DEL EQUIPO
Para proceder a la entrega del equipo al cliente se necesita autenticarse como usuario “Recepción”.
Damos clic en “Entrega Equipo” y se nos muestra la pantalla para buscar la llamada por el número
de serie o por el número de llamada.
Ingresamos el dato y obtenemos la llamada.
Damos clic en “Ver Más” para realizar la entrega del equipo.
Contador de impresiones
Número de
factura
Fecha de
Entrega
Finaliza la
llamada
Imprime el
informe de
entrega
Regresa a la
pantalla
anterior
92
Al dar clic en “Imprimir” obtenemos el informe de entrega
BUSQUEDA DE LLAMADAS
La búsqueda de llamadas se la puede realizar de diferentes formas:
93
Elegimos la opción que necesitemos e ingresamos el dato o elegimos el estado.
Se nos presenta la lista con los respectivos resultados.
CAMBIO DE TECNICOS
Esta operación a puede realizar solo el Supervisor, se la realiza con el objetivo de cambiar el
despacho de una llamada a otro técnico sin que este haya realizado ya el diagnóstico de la misma.
Damos clic en “Cambiar Técnico” y a continuación ingresamos el número de llamada.
Damos clic en cambiar para seleccionar el nuevo técnico.
Elegimos el técnico, damos clic en “Agregar” y para efectivizar el cambio damos clic en “Listo”.
REASIGNACION DE LLAMADAS
Este proceso lo realiza el supervisor, el objetivo es reasignar la llamada a otro técnico que tenga
mayor experiencia y pueda solucionar el problema.
Damos clic en “Reasignar Llamada” y buscamos la llamada por su número.
94
Seleccionamos el técnico al que se le reasignará la llamada, damos clic en “Agregar”
Para finalizar la reasignación damos clic en “Listo”
INGRESO DE USUARIOS
El ingreso de nuevos usuario al sistema los realiza solo el usuario “Supervisor o Administrador”.
Ingresamos los datos, seleccionamos en la lista el tipo de usuario y damos clic en “Agregar”
INGRESO DE TECNICOS
95
Para realizar el ingreso de un nuevo técnico es necesario que se haya realizado la creación del
respectivo usuario del sistema.
REPORTES
Seleccionamos el usuario
que creamos para el nuevo
técnico
Lista de
sucursales
Agrega el técnico a la base
de datos del sistema
96
Para poder generar los reportes acedemos como usuario “Administrador” y damos clic en
“Reportes”
Reporte Tiempos Promedios
Genera un reporte de los diferentes tiempos que se generan entre los procesos de la llamada.
Ingresamos una fecha desde la cual queremos el reporte hasta una fecha tope.
97
Reporte Número de Llamadas
Genera un reporte con la cantidad de llamadas que el técnico tiene actualmente según el estado
que elija.
Ingresamos una fecha desde la cual queremos el reporte hasta una fecha tope.
98
99
Reporte Detalle Todas Llamadas
Genera un reporte con todas las llamadas que se generaron desde ciertas fechas
Ingresamos una fecha desde la cual queremos el reporte hasta una fecha tope.