Beruflich Dokumente
Kultur Dokumente
DESARROLLO DE APLICACIONES
AUTOR: RODRIGO EFRAN TUFIO CRDENAS CONSULTOR UOC: GREGORIO ROBLES MARTNEZ CONSULTOR EXTERNO: DANY ANAEL LPEZ LOAIZA
ENERO 20 !
Contenido protegido por una licencia Creative Commons BY-SA 4.0 que permite su copia y difusin ilimitadas, y uso en o ras propias con la misma licencia CC. !a licencia completa puede verse en "ttp#$$creativecommons.org$licenses$ y-sa$4.0$
ii
Agradecimientos
A %ios, el ser celestial que d&a a d&a coloca en mi camino nuevos retos y me rinda las "erramientas necesarias para culminar con '(ito cada meta planteada. A mi familia por ser un apoyo incondicional y estar siempre )unto a mi en cada paso que doy. A mi compa*ero y amigo %any !pe+, por su invalua le aporte y generosa cola oracin en el desarrollo de esta aplicacin. A mi tutor ,regorio -o les, por su apoyo y gu&a durante el desarrollo del proyecto. .or /ltimo, un agradecimiento especial a Ale(andra por todas sus pala ras de apoyo en la redaccin de este documento.
iii
Dedicatoria
iv
Resumen
0l sistema desarrollado dentro de este proyecto es una aplicacin 1e que permite o tener reportes estad&sticos a partir de calificaciones registradas por dispositivos electrnicos para la empresa ecuatoriana S2!330C. Aqu& se muestra el desarrollo del sistema, iniciando por las fases de an4lisis y requerimientos, para luego continuar con el dise*o y la construccin de la aplicacin utili+ando la metodolog&a 5.6 se culmina con las prue as del sistema y la implementacin en un servidor de aplicaciones. Ca e mencionar que las "erramientas y plataformas utili+adas en el desarrollo de este proyecto son de Soft7are !i re. 0ste proyecto es el tra a)o final del m4ster universitario en Soft7are !i re de la 8niversitat 9 erta de Catalunya y "a sido desarrollado con el auspicio de la empresa S2!330C.
ndice de contenido
: 2;3-9%8CC2<;.............................................................................................................................: = %0SA--9!!9.................................................................................................................................> =.: An4lisis de via ilidad.................................................................................................................> =.:.: ?ia ilidad t'cnica...............................................................................................................> =.:.= ?ia ilidad econmica.........................................................................................................> =.:.> ?ia ilidad operacional ......................................................................................................4 =.= An4lisis de requerimientos.........................................................................................................4 =.=.: Alcance...............................................................................................................................4 =.=.= %efiniciones, acrnimos y a reviaturas.............................................................................@ =.=.> ?isin general.....................................................................................................................@ =.=.4 %escripcin general............................................................................................................@ =.=.4.: .erspectivas del producto...........................................................................................@ =.=.4.= Aunciones del producto..............................................................................................@ =.=.4.> Caracter&sticas de usuario...........................................................................................B =.=.4.4 -estricciones..............................................................................................................B =.=.4.@ Suposiciones y dependencias.....................................................................................B =.=.4.B -equisitos para futuras versiones del sistema............................................................B =.=.@ -equerimientos espec&ficos................................................................................................B =.=.@.: -equerimientos de interfa+ e(terno............................................................................B 2nterfaces de usuario..............................................................................................B 2nterfaces de "ard7are...........................................................................................B 2nterfaces de soft7are............................................................................................B 2nterfaces de comunicaciones................................................................................C =.=.B -equerimientos funcionales...............................................................................................C =.=.B.: Administrador del sistema..........................................................................................C -equerimiento funcional :.:# ,estin de 8suarios...............................................C -equerimiento funcional :.=# ,estin de 9ficiales...............................................C -equerimiento funcional :.># ,estin de Agencias..............................................C -equerimiento funcional :.4# ,estin de %epartamentos.....................................C -equerimiento funcional :.@# ,estin de Computadoras......................................C -equerimiento funcional :.B# .ar4metros generales.............................................D -equerimiento funcional :.C# Actuali+acin del programa de los calificadores...D =.=.B.= -eporte.......................................................................................................................D -equerimiento funcional =.:# ;otificaciones........................................................D -equerimiento funcional =.=# ,enerar reporte general.........................................D -equerimiento funcional =.># 9 tener ta las detalladas.......................................D -equerimiento funcional =.4# 0(portar ta las detalladas......................................E =.=.B.> %emostracin..............................................................................................................E -equerimiento funcional >.:# Acceso directo al reporte general..........................E =.=.C -equisitos de rendimiento..................................................................................................E =.=.D -estricciones de dise*o......................................................................................................E =.=.E Atri utos de sistemas soft7are..........................................................................................E =.=.E.: Seguridad....................................................................................................................E =.=.:0 9tros requisitos................................................................................................................E =.=.:0.: Autenticacin de usuarios........................................................................................E =.=.:0.= Cam io de contrase*a..............................................................................................E =.> %ise*o......................................................................................................................................:0 =.>.: %iagramas de casos de uso...............................................................................................:0 vi
=.>.:.: Caso de uso F :# Administracin..............................................................................:0 =.>.:.= Caso de uso F =# -eportes........................................................................................:0 =.>.= %iagrama de loques general...........................................................................................:: =.>.> Base de datos....................................................................................................................:= =.>.4 2nterfaces de usuario........................................................................................................:> =.>.@ Gapa de navegacin.........................................................................................................:@ =.>.@.: Gapa de navegacin para -eportes..........................................................................:@ =.>.@.= Gapa de navegacin para Administracin...............................................................:@ =.>.B Arquitectura del sistema...................................................................................................:B =.>.B.: Cliente 1e ..............................................................................................................:B =.>.B.= Servidor de aplicaciones...........................................................................................:B =.>.B.> Base de datos............................................................................................................:C =.4 Construccin............................................................................................................................:D =.4.: 0structura de paquetes y clases........................................................................................:D =.4.:.: .aquete# silttec.pardus..............................................................................................:E Clase# AppBean...................................................................................................:E =.4.:.= .aquete# silttec.pardus.administracion. ean.............................................................=0 Clase# ComputadorasBean...................................................................................=0 Clase# 8suariosBean............................................................................................=0 Clase# 9fficialesBean..........................................................................................=: Clase# .arametrosBean........................................................................................=: Clase# %epartamentosBean..................................................................................=: Clase# AgenciasBean...........................................................................................=: Clase# Actuali+acionesBean.................................................................................=: =.4.:.> .aquete# silttec.pardus."i ernate..............................................................................=: Clase# Hi ernate8til............................................................................................=: Clase# Consultas...................................................................................................=: =.4.:.4 .aquete# silttec.pardus."i ernate.entidades..............................................................== =.4.:.@ .aquete# silttec.pardus.security................................................................................=> Clase# 8serBean...................................................................................................=> Clase# ;avigationBean........................................................................................=4 Clase# !oginAiler.................................................................................................=4 Clase# !oginAilterAdmin.....................................................................................=4 =.4.:.B .aquete# silttec.pardus.reportes................................................................................=4 Clase# -eporte3a ................................................................................................=4 Clase# -,eneral...................................................................................................=@ Clase# Calificacion...............................................................................................=B =.4.:.C .aquete# silttec.pardus.reportes. ean........................................................................=B Clase# -eportesBean............................................................................................=B Clase# .ass7ordBean...........................................................................................=B Clase# ;otificacionesBean...................................................................................=B =.4.:.D .aquete# silttec.pardus.7e services.........................................................................=C Clase# ControladorHost.......................................................................................=C =.4.= 0structura de las p4ginas ("tml........................................................................................=D =.4.> Configuraciones...............................................................................................................=D =.4.>.: Configuracin de la aplicacin 1e .........................................................................=D Seguridad.............................................................................................................=D 3iempo de sesin.................................................................................................=E 3ema de la interfa+...............................................................................................=E 8pload de arc"ivos..............................................................................................=E vii
Servicio 1e ........................................................................................................=E =.4.>.= Configuracin de Hi ernate.....................................................................................>0 Sistema gestor de ase de datos...........................................................................>0 Comportamiento de Hi ernate.............................................................................>0 Gapa de entidades...............................................................................................>0 =.4.>.> Configuracin del Servidor......................................................................................>: =.@ .rue as.....................................................................................................................................>: =.@.: .rue as contra requerimientos.........................................................................................>: =.@.:.: -equerimientos funcionales.....................................................................................>: Administrador del sistema...................................................................................>: -eporte.................................................................................................................>> %emostracin.......................................................................................................>> =.@.:.= -equisitos de rendimiento........................................................................................>> =.@.:.> 9tros requisitos.........................................................................................................>> =.@.= .rue as de rendimiento....................................................................................................>> =.B 2mplementacin.......................................................................................................................>@ =.B.: Arc"ivo de despliegue 1A-............................................................................................>@ =.B.= Configuracin del servidor...............................................................................................>@ =.B.> 2nstalacin en Gicrosoft 1indo7s...................................................................................>C =.B.4 2nstalacin en ,;8$!inu(...............................................................................................>C =.B.@ Configuracin de otros gestores de ase de datos............................................................>C =.B.@.: GySI!.....................................................................................................................>C =.B.@.= Gicrosoft SI! Server..............................................................................................>C =.B.@.> 9racle.......................................................................................................................>D > -0S8!3A%9S................................................................................................................................>E >.: Acceso al sistema.....................................................................................................................>E >.= Gdulo de reportes..................................................................................................................40 >.=.: ;otificaciones..................................................................................................................40 >.=.= -eportes...........................................................................................................................40 >.=.=.: -eporte ,eneral........................................................................................................4: -eporte.................................................................................................................4= -esumen..............................................................................................................4> 0stad&sticas por d&a de la semana y por "ora del d&a...........................................44 3iempo de atencin..............................................................................................44 -eportes %etallados.............................................................................................4@ >.=.> Cam iar contrase*a..........................................................................................................4B >.> Gdulo de Administracin......................................................................................................4B >.>.: .ar4metros generales........................................................................................................4B >.>.= 8suarios...........................................................................................................................4C >.>.> 9ficiales...........................................................................................................................4D >.>.4 Agencias...........................................................................................................................4E >.>.@ %epartamentos.................................................................................................................@0 >.>.B Computadoras..................................................................................................................@: 4 C9;C!8S29;0S Y -0C9G0;%AC29;0S..............................................................................@= 4.: Conclusiones............................................................................................................................@= 4.= -ecomendaciones....................................................................................................................@> -eferencias i liogr4ficas..................................................................................................................@4
viii
ndice de ilustraciones
2lustracin :# Calificador electrnico de atencin al cliente desarrollado por la empresa S2!330C. .: 2lustracin =# Caso de uso :, Administrador......................................................................................:0 2lustracin ># Caso de uso =, -eporte.................................................................................................:: 2lustracin 4# %iagrama de loques general.......................................................................................:: 2lustracin @# %iagrama conceptual de la ase de datos.....................................................................:= 2lustracin B# %ise*o de la interfa+ del reporte general......................................................................:> 2lustracin C# %ise*o de la interfa+ para cuadros de di4logo y filtros de datos..................................:4 2lustracin D# %ise*o de la interfa+ para la administracin de datos..................................................:4 2lustracin E# Gapa de navegacin para -eporte...............................................................................:@ 2lustracin :0# Gapa de navegacin para %emostracin....................................................................:@ 2lustracin ::# Gapa de navegacin para Administracin.................................................................:B 2lustracin :=# %iagrama de despliegue del sistema..........................................................................:C 2lustracin :># %iagrama de paquetes................................................................................................:E 2lustracin :4# Clase AppBean...........................................................................................................:E 2lustracin :@# %iagrama de clases del paquete silttec.pardus.administracion. ean..........................=0 2lustracin :B# %iagrama de clases del paquete silttec.pardus."i ernate...........................................== 2lustracin :C# %iagrama de clases simplificado del paquete silttec.pardus."i ernate.entidades......=> 2lustracin :D# Clases del paquete silttec.pardus.security..................................................................=4 2lustracin :E# %iagrama de clases del paquete silttec.pardus.reportes.............................................=@ 2lustracin =0# %iagrama de clases del paquete silttec.pardus.reportes. eans...................................=C 2lustracin =:# Clase del paquete silttec.pardus.7e services.............................................................=C 2lustracin ==# .4gina de autenticacin del sistema...........................................................................>E 2lustracin =># .4gina de notificaciones.............................................................................................40 2lustracin =4# .4gina inicial de los reportes......................................................................................4: 2lustracin =@# Ailtro para el reporte general......................................................................................4: 2lustracin =B# Barra de progreso al generar un reporte.....................................................................4: 2lustracin =C# -eporte ,eneral..........................................................................................................4= 2lustracin =D# -esumen general del reporte......................................................................................4= 2lustracin =E# Cuadro de di4logo para reportes detallados...............................................................4> 2lustracin >0# ,r4ficas estad&sticas con el resumen de calificaciones..............................................4> 2lustracin >:# 0stad&sticas por d&a de la semana y por "ora del d&a..................................................44 2lustracin >=# ,r4fica estad&stica para el tiempo de atencin entre calificaciones...........................4@ 2lustracin >># %etalle de calificaciones.............................................................................................4@ 2lustracin >4# Aormulario para el cam io de contrase*a...................................................................4B 2lustracin >@# .ar4metros generales del sistema...............................................................................4C 2lustracin >B# .4gina de administracin de 8suarios.......................................................................4C 2lustracin >C# Aormulario de edicin para 8suarios.........................................................................4D 2lustracin >D# .4gina de administracin de 9ficiales.......................................................................4D 2lustracin >E# Aormulario para editar datos de un 9ficial.................................................................4E 2lustracin 40# .4gina de administracin de Agencias.......................................................................4E 2lustracin 4:# Aormulario para editar datos de una Agencia.............................................................@0 2lustracin 4=# .4gina de administracin de %epartamentos..............................................................@0 2lustracin 4># .4gina de administracin de Computadoras..............................................................@: 2lustracin 44# Aormulario para editar los datos de una Computadora...............................................@:
i(
ndice de tablas
3a 3a 3a 3a 3a 3a 3a 3a 3a 3a la :# %etalles de la via ilidad econmica.......................................................................................> la =# %escripcin de las ta las de la ase de datos.......................................................................:> la ># %escripcin de las p4ginas ("tml.........................................................................................=D la 4# .rue as contra requerimientos del usuario Administrador del sistema................................>= la @# .rue as contra requerimientos del usuario -eporte del sistema..........................................>> la B# .rue as contra requerimientos del usuario %emostracin del sistema.................................>> la C# ;/mero de registros para prue as de rendimiento...............................................................>4 la D# .rue as de rendimiento para reporte general.......................................................................>4 la E# !i rer&as utili+adas dentro del proyecto y su despliegue en la aplicacin............................>@ la :0# 0structura de las carpetas y arc"ivos de los mdulos e(ternos para el servidor................>B
1 INTRODUCCIN
!a calidad de atencin al cliente es un factor que marca la diferencia al momento de seleccionar una empresa para un servicio o producto, y las gerencias siempre est4n uscando "erramientas para medir y me)orar sus indicadores de calidad. Aprovec"ando estos requerimientos del mercado S2!330C, una empresa ecuatoriana, "a enfocado sus esfuer+os en dise*ar, ela orar y perfeccionar un dispositivo electrnico que permita a los clientes calificar la atencin reci ida por los oficiales de servicio de una empresa o institucin. %urante las primeras versiones del dispositivo, se desarroll una aplicacin 1e para reportes que permite visuali+ar a trav's de gr4ficas y ta las detalladas las calificaciones que los dispositivos registran. 0ste sistema se lo nom ro .A-%8S y est4 en el mercado por m4s de 4 a*os.
Actualmente la empresa "a terminado el desarrollo de su /ltima versin del dispositivo electrnico denominado Calificador @. 0s una versin totalmente innovada en su dise*o e(terior como en sus componentes electrnicos. 0n ase al lan+amiento de este nuevo dispositivo, la empresa decidi actuali+ar la aplicacin de reportes a la versin >. !a principal motivacin para desarrollar el nuevo sistema de reportes, es proporcionar a las empresas una aplicacin totalmente renovada, utili+ando las me)ores tecnolog&as de informacin e(istentes en el mercado, permitiendo o tener estad&sticas /tiles para la toma de decisiones y crear estrategias que me)oren la atencin a sus clientes. S2!330C siempre "a garanti+ado que los sistemas funcionen independientemente de la plataforma inform4tica de sus clientes y por otro lado, la empresa esta muy alineada con la filosof&a del Soft7are !i re6 por lo tanto, el nuevo sistema de reportes de e mantener esta filosof&a y l&nea de desarrollo.
!a tecnolog&a que se "a seleccionado para el desarrollo del sistema es JA?A :.C, puesto que es multiplataforma y Soft7are !i re. .ara las interfaces de usuario se utili+a JSA y espec&ficamente el frame7orK de tra a)o .rimefaces 4.06 mientras que el motor de persistencia es Hi ernate 4.0. ;o se "a esta lecido ning/n sistema gestor de ase de datos por defecto, y gracias al motor de persistencia seleccionado, el sistema puede conectarse a cualquier ase de datos que la li rer&a Hi ernate soporte, "a i'ndose reali+ado prue as con .ostgreSI!, GySI!, Gicrosoft SI! Server y 9racle. 0l o )etivo general de este proyecto es reali+ar el an4lisis, dise*o y construccin de una aplicacin 1e que permita o tener reportes estad&sticos de las calificaciones de atencin al cliente reali+adas a trav's de los calificadores electrnicos de la empresa S2!330C. .ara cumplir con este o )etivo, en primer lugar "ay que definir los requerimientos del sistema asado en la e(periencia con la versin anterior y los clientes6 posteriormente se de e investigar las "erramientas y li rer&as m4s idneas, que se acoplen a la filosof&a de la empresa y su pol&tica de desarrollo. !a aplicacin de e ser dise*ada y construida aplicando una metodolog&a r4pida de desarrollo, en este caso se aplicar4 5.6 a continuacin se de er4 reali+ar prue as al sistema para garanti+ar que cumple con los requerimientos y su rendimiento es ptimo6 finalmente se de e generar los manuales para los usuarios finales. 0ste documento "a sido dividido en tres cap&tulos m4s. 0l segundo cap&tulo a arca todos los aspectos relacionados al desarrollo de la aplicacin partiendo con el an4lisis de via ilidad, requerimientos, dise*o, construccin, prue as y finali+ando con la implementacin del sistema. 0l tercer cap&tulo muestra el resultado final de la aplicacin a trav's de un manual de usuario con las pantallas y procesos m4s importantes del sistema. .or /ltimo, se plantean las conclusiones y recomendaciones asadas en las lecciones aprendidas.
2 DESARRO
0ste cap&tulo muestra el desarrollo del proyecto desde su an4lisis "asta la implementacin6 se inicia con el an4lisis de via ilidad y requerimientos para luego continuar con el dise*o y la construccin del sistema, por /ltimo se muestran las prue as y la implementacin del mismo en un servidor de aplicaciones.
>
A continuacin se mostrar4 las caracter&sticas que definen el sistema, los perfiles de usuario, sus interfaces y principalmente se especificar4 en detalle la funcionalidad y operaciones que de e reali+ar el sistema.
2!2!1 Alcance
0ste sistema ser4 creado para administrar y generar reportes de las calificaciones que o tienen los oficiales de servicio, por parte de los clientes, de una determinada institucin o empresa. 0l sistema ser4 desarrollado para la empresa S2!330C. 0spec&ficamente, el sistema permitir4 a los usuarios o tener reportes estad&sticos de las calificaciones reali+adas en determinados per&odos de tiempo a los oficiales de servicio, los mismos que se encuentran organi+ados dentro de agencias y departamentos. Adem4s, permitir4 gestionar informacin de los usuarios que acceden a la aplicacin, las agencias y departamentos que disponen las instituciones que adquieran el soft7are, y otros par4metros generales que son indispensa les para el funcionamiento del sistema. Ca e mencionar que el sistema requiere de los dispositivos electrnicos que permiten registrar las calificaciones, pero las caracter&sticas y requerimientos de estos dispositivos no forman parte del desarrollo de este proyecto, por lo que no se "a considerado dentro de los requerimientos.
2!2!-!' Caracter0sticas de usuario Se "a definido tres tipos de usuarios en funcin de las actividades que pueden reali+ar dentro del sistema6 estos usuarios son# A!ministra!or .ersona t'cnica que se encargar4 de administrar el sistema, gestionando la informacin dentro del mdulo de administracin. $eporte .ersona no t'cnica que podr4 revisar las notificaciones que genere el sistema y o tener reportes generales de las calificaciones reali+adas a los oficiales. 0ste usuario no reali+a tareas administrativas. Demostraci"n .ersona no t'cnica con las mismas facultades del usuario -eporte. Se diferencia en que acceder4 directamente a un reporte generado previamente y se lo utili+ar4 con fines demostrativos para potenciales compradores del sistema. 2!2!-!- Restricciones 0l sistema de e ser instalado en un servidor de aplicaciones, compati le con los gestores de ase de datos m4s comunes del mercado y su acceso de er4 ser a trav's de un navegador 1e . 2!2!-!1 Su(osiciones , de(endencias !os dispositivos electrnicos para la calificacin de la atencin al cliente de er4n almacenar los datos de forma co"erente a la estructura de agencias y departamentos. 0l sistema 9perativo so re el cual correr4 el sistema podr4 ser ,;8 $!inu( o Gicrosoft 1indo7s. 2!2!-!2 Re)uisitos (ara *uturas #ersiones del sistema Se podr&a pensar en generar otro tipos de reportes en funcin de la informacin almacenada en el sistema, como por e)emplo comparativas entre agencias, departamentos u oficiales.
!as interfaces de usuario ser4n 1e , intuitivas para que la interaccin de los usuarios sea lo m4s agrada le posi le. Se procurar4 utili+ar interfaces limpias y minimalistas.
Inter*aces de 5ard6are
0l sistema de e ser compati le con arquitecturas 5DBMB4. !a visuali+acin en los clientes de e respetar los est4ndares actuales de resolucin N:0=4 ( CBD p&(elesO.
Inter*aces de so*t6are
0l sistema de e permitir la comunicacin con el programa de los dispositivos electrnicos de calificacin de atencin al cliente, instalados en los computadores de los oficiales. .ara ello se requiere de un servicio 1e que permita esta comunicacin. B
Inter*aces de comunicaciones
Salida
2!2!2!2 Re(orte
Re)uerimiento *uncional 2!17 Noti*icaciones
%escripcin .recondicin 0ntrada .roceso Salida .ermite revisar notificaciones generadas por el sistema ;otificaciones generadas ;inguna 8suario revisa y acepta la notificacin. %atos modificados en el sistema Gensa)e de aceptacin $ 0rror
2!2!2!' Demostraci&n
Re)uerimiento *uncional '!17 Acceso directo al re(orte general
%escripcin .recondicin 0ntrada .roceso Salida .ermite al usuario ingresar directamente al reporte general y visuali+ar las calificaciones de los /ltimos >0 d&as Calificaciones registradas en la ase de datos ;inguna ,eneracin de ta las y gr4ficas estad&sticas -eporte ,eneral# -esumen 0stad&sticas por d&as 0stad&sticas por "oras 0stad&sticas por tiempos de atencin
2!' Dise;o
0n los siguientes apartados se mostrar4 las funcionalidades m4s importantes que los usuarios podr4n reali+ar dentro del sistema, a trav's de los diagramas de casos de uso6 tam i'n se reali+a una representacin de los mdulos con un diagrama de loques general del sistema, a continuacin se muestra un diagrama conceptual de la ase de datos y por /ltimo se muestra la arquitectura que se emplear4 para implementar el sistema.
2!'!1!2 Caso de uso > 27 Re(ortes Con este caso de uso se representa las funcionalidades a las que tiene acceso el usuario con el perfil de -eporte. B4sicamente puede o tener los reportes con gr4ficas estad&sticas y listas detalladas de las calificaciones reali+adas en el per&odo de tiempo esta lecido para las agencias y departamentos seleccionados.
:0
0l usuario con el perfil %emostracin, tam i'n dispone de las mismas funciones que el usuario -eporte, la diferencia radica en que el usuario con el perfil demostracin ingresa directamente a un reporte que muestra la informacin de las calificaciones de los /ltimos >0 d&as. Ca e mencionar que el usuario Administrador puede acceder a todas las funcionalidades que dispone el usuario con el perfil -eporte.
::
:=
3a la tMagency tMdepartment tMofficial tMcomputer tMqualification tMvalue tMuser tMnotification tMnotifycationMtype tMparameter
%escripcin Almacena informacin de las agencias Almacena informacin de los departamentos Almacena la informacin de oficiales de servicio que van a ser evaluados Almacena informacin de las computadoras a las que est4 conectado el calificador de atencin al cliente Almacena las calificaciones reali+adas a los oficiales de servicio Almacena las valoraciones de las calificaciones que puede tener un oficial de servicio N0(celente, ueno, malo y regularO Almacena la informacin de los usuarios del sistema Almacena las notificaciones que se generen para que los usuarios del sistema las puedan visuali+ar Almacena los diferentes tipos de notificaciones que se pueden suscitar Nerror, advertencia, etcO Almacena par4metros del sistema Tabla 2: Descripcin de las tablas de la base de datos
Se "a decidido utili+ar nom res en ingl's para las ta las y los campos para que sea m4s f4cil de interpretar por futuros desarrolladores y para evitar cualquier conflicto con pala ras reservadas del gestor de ase de datos o el lengua)e, se "a esta lecido el prefi)o PtMQ y PcMQ para ta las y campos respectivamente.
:>
8no de los aspectos m4s destaca les de la versin anterior fue la posi ilidad de disponer toda la informacin que el usuario requer&a agrupada a trav's de pesta*as en una sola pantalla, esto es una caracter&stica que se desea mantener y potenciar. Cada ve+ que se requiera tra a)ar con una agencia o un departamento de er4 utili+arse un 4r ol, puesto que estos dos aspectos son almacenados en forma )er4rquica y para el usuario ser4 m4s f4cil de interpretar la informacin. Adicionalmente se requiere que el usuario que ingrese a generar los reportes ingrese la menor cantidad de informacin posi le y solamente pueda seleccionar a trav's de controles ien definidos, para evitar errores. .ara ello se "a definido ciertos criterios para los di4logos que permitir4n interactuar con los usuarios.
.or /ltimo, para la seccin de administracin se "a esta lecido que los datos se muestren en ta las paginadas y se disponga de controles que permitan su gestin NAgregar, modificar y eliminarO. .ara la mayor&a de las ta las se "a definido que se pueda filtrar y ordenar los datos de sus columnas.
:4
2!'!1!2 @a(a de na#egaci&n (ara Administraci&n !os usuarios con el rol administrador ingresan por la misma p4gina de autenticacin y al igual que el usuario con rol reporte ingresan a la p4gina de ienvenida del mdulo de reportes. %ispone de la mismas opciones que los dos tipos usuarios anteriores, pero en el men/ principal de la aplicacin dispone de un enlace para el mdulo de administracin. !a p4gina de ienvenida de administracin muestra los par4metros del sistema y un control para su ir el arc"ivo de actuali+acin para el programa de los calificadores. %esde aqu&, a trav's del men/ de administracin, se podr4 dirigir a las diferentes p4ginas para gestionar los datos del sistema. 0n la ilustracin :: se muestra el mapa de navegacin para la administracin :@
2!'!2!1 Cliente Aeb Ser4 el computador de los usuarios que acceder4n al sistema. 0l sistema operativo que estar4 instalado puede ser Gicrosoft 1indo7s, ,;8$!inu( y el navegador de 2nternet podr&a se 2nternet 0(plorer Nversin C o superiorO, Go+illa Airefo(, Safari u 9pera . 2!'!2!2 Ser#idor de a(licaciones 0s el lugar donde se desplegar4 la aplicacin, podr4 ser un servidor Gicrosoft 1indo7s o ,;8$!inu( y el servidor que contendr4 la aplicacin sea JBoss versin C. !a aplicacin de er4 ser desarrollada a)o un modelo G?C NGodelo ?ista ControladorO y se "a decidido utili+ar componentes adicionales para o tener una aplicacin m4s ro usta. !os componentes que conformar4n la aplicacin son los siguientes# :B
Interfa& !e usuario' Se utili+ar4 el frame7orK .rimefaces 4.0 para crear todas las interfaces de usuario (otor !e persistencia' Hi ernate 4.0 ser4 el frame7orK que proveer4 la persistencia de los datos Dri)er *D+C' Se "a esta lecido como un componente los diferentes drivers que permitir4n la cone(in con los diferentes gestores de datos que podr&a disponer la aplicacin. SILTTEC frame,or-' la empresa "a desarrollado clases que permite reali+ar tareas /tiles como conversin de fec"as y mane)o de cadenas de caracteres proporcionar solamente un empaquetado Java para su utili+acin.
2!'!2!' ?ase de datos 0l gestor de ase de datos que se seleccione para almacenar la informacin se "a de)ado a ierto para que el cliente determine el que m4s le convenga. 2gualmente para el sistema operativo se "a contemplado que sea Gicrosoft 1indo7s o ,;8$!inu(. 3anto el servidor de aplicaciones, como la computador. ase de datos podr&an funcionar so re el mismo
!a ilustracin := se muestra la interrelacin de los diferentes componentes del sistema a trav's de un diagrama de despliegue.
:C
2!- Construcci&n
%entro de este su cap&tulo se muestra los aspectos m4s importantes de la programacin del sistema, se e(plica como se encuentran organi+adas las clases que constituyen el programa, las p4ginas ("tml y las configuraciones m4s importantes. Ca e mencionar que el sistema "a sido desarrollado a)o la plataforma JA?A J%R :.C, se "a utili+ado el 2%0 de desarrollo 0clipse Java 00 2%0 for 1e %evelopers. Repler Service -elease :6 como sistema gestor de ase de datos .ostgreSI! E.: y como servidor de aplicaciones JBoss Application Server C.:.:. 0s preciso mencionar que para la programacin del sistema se aplic la metodolog&a 5., para lo cual se esta lec&a requerimientos de un mdulo en espec&fico, se desarrolla a los prototipos, se los pro a a y una ve+ que el mdulo era funcional, se proced&a a esta lecer nuevos requerimientos. 0s as& que el desarrollo del sistema se lo reali+ en el siguiente orden# :. Autenticacin de usuarios =. Gdulo de persistencia >. Godulo de administracin 4. 8pload del arc"ivo de actuali+acin @. -eporte ,eneral B. 3a las detalladas 0n los siguientes apartados se muestra el resultado final de la programacin del sistema. .or motivos de tiempo y espacio no se "a colocado el desarrollo iterativo que sigui la programacin del sistema.
0n la ilustracin de a a)o, se puede apreciar la relacin que e(iste entra cada uno de los paquetes6 evidenciando que el paquete m4s importante es silttec.pardus."i ernate.entidades, puesto que estas clases proveen la persistencia para todo el sistema.
:D
0n los siguientes apartados se descri e las clases que conforman estos paquetes y su funcionalidad. 2!-!1!1 .a)uete7 silttec!(ardus 0ste es el paquete principal de la aplicacin, dentro de 'l se encuentran los otros paquetes y solamente contiene una clase.
Clase7 A((?ean
0sta clase "a sido configurada como un ean de aplicacin y contiene atri utos est4ticos con valores que no cam ian durante todo el despliegue de la aplicacin como el nom re y la versin del :E
sistema6 tam i'n contiene m'todos que son comunes y se utili+an en varias clases de reportes principalmente. 2!-!1!2 .a)uete7 silttec!(ardus!administracion!bean %entro de este paquete se encuentran las clases que permiten la comunicacin entre las p4ginas ("tml del mdulo de administracin y el resto de la aplicacin. %entro de este paquete se encuentran siete clases que se descri en a continuacin
Clase7 Com(utadoras?ean
A trav's de esta clase se reali+a todas las tareas de modificacin para los registros de computadoras que se encuentran almacenados en la ase de datos.
Clase7 Usuarios?ean
Aqu& se encuentran todos los m'todos que permiten reali+ar la gestin de usuarios dentro del sistema, en el caso de estos registros se puede agregar, modificar o eliminar la informacin almacenada en la ase de datos.
=0
Clase7 O**iciales?ean
.or medio de esta clase se gestiona la informacin de los oficiales de servicio, igual que en la clase anterior, se puede agregar, modificar y eliminar informacin de la ase de datos
Clase7 .arametros?ean
0sta clase permite o tener y esta lecer los par4metros del sistema que tam i'n se almacenan en la ase de datos. 0n este caso los par4metros "an sido preesta lecidos por lo que el administrador no puede agregar o eliminar registros, solamente puede cam iar los valores.
Clase7 De(artamentos?ean
Con esta clase se gestiona toda la informacin de los departamentos6 para este caso se puede agregar, modificar y eliminar registros almacenados en la ase de datos.
Clase7 Agencias?ean
Con esta clase se gestiona toda la informacin de las agencias6 para este caso se puede agregar, modificar y eliminar registros almacenados en la ase de datos.
Clase7 Actuali3aciones?ean
0sta clase permite su ir el arc"ivo de actuali+acin para los calificadores de atencin al servicio que se encuentra instalado en cada computador de los oficiales de servicio. 0n la ilustracin >: se muestra el diagrama de clases de este paquete. 2!-!1!' .a)uete7 silttec!(ardus!5ibernate 0ste paquete es la capa modelo dentro del patrn G?C, contiene las clases entidad que permiten manipular los datos y las clases que permiten acceder al motor de persistencia Hi ernate.
Clase7 BibernateUtil
A trav's de esta clase se "an creado los m'todos que permite la comunicacin con el motor de persistencia Hi ernate.
Clase7 Consultas
0sta clase permite o tener esta lecer y o tener los datos espec&ficos de cada una de las entidades. A trav's de est4 se comunican todos las clases de los paquetes de administracin y reportes6 y es el /nico medio por el cual se puede acceder a la informacin almacenada en la ase de datos.
=:
2!-!1!- .a)uete7 silttec!(ardus!5ibernate!entidades 0sta paquete contiene todas las clases entidad que permiten mane)ar la persistencia del sistema. Se las "a creado a trav's del asistentes que proporciona el plugin Hi ernate 3ool versin >.C. y cada una de estas clases representa a una ta la en la ase de datos. 0n la ilustracin :C se muestra un diagrama de clase simplificado Nya que ser&a demasiado grande mostrarlo con todos los atri utos y m'todos de cada claseO con todas las relaciones que e(iste entre cada una de las entidades.
==
2!-!1!1 .a)uete7 silttec!(ardus!securit, %entro de este paquete se encuentran las clases que permiten esta lecer la seguridad dentro de la aplicacin 1e , espec&ficamente el control de acceso de los usuarios6 .ara esto se esta leci un sistema de seguridad asado en un filtro de peticiones H33..
Clase7 User?ean
0sta clase mane)a la informacin de los usuarios al momento de la autenticacin. .ermite consultar a la ase de datos y garanti+ar el acceso de un usuario registrado6 adem4s permite o tener la agencia y el departamento al que pertenece dic"o usuario. Cuando se garanti+a el acceso de un usuario al sistema, el m'todo doLogin() direccionar4 al usuario a la p4gina de ienvenida o si e(ite un error, lo enviar4 a la p4gina de autenticacin.
=>
Clase7 Na#igation?ean
0sta clase contiene las rutas para acceder a las p4ginas de ienvenida del sistema. Cuando un usuario es autenticado se lo direcciona a la p4gina de ienvenida N reportes inde!"!html)# pero si no se garanti+a sus credenciales, siempre se lo dirigir4 a la pagina de autenticacin Nlogin"!htmlO.
Clase7 ogin/iler
.or medio de esta clase se puede controlar el acceso al mdulo de reportes del sistema, a trav's de la configuracin de Seguridad se esta lece a esta clase como la responsa le de garanti+ar el acceso a la p4gina de ienvenida de los reportes. 0l m'todo do$ilter() "ace uso de la clase %ser&ean para garanti+ar si un usuario se encuentra autenticado. Si %ser&ean no garanti+a el acceso, esta clase no permitir4 el continuar la navegacin por la aplicacin.
Clase7 ogin/ilterAdmin
0sta clase reali+a las mismas tareas que la anterior pero para el mdulo de Administracin, si un usuario con rol de -eporte trata de acceder al mdulo de Administracin, ser4 dirigido a la p4gina de ienvenida de -eporte. Al igual que la clase anterior, la configuracin de este filtro se encuentra en la configuracin de Seguridad
2!-!1!2 .a)uete7 silttec!(ardus!re(ortes %entro de este paquete se encuentran las clases que permiten reali+ar los c4lculos y generan las gr4ficas estad&sticas para el reporte general. 0(isten tres clases que se descri en a continuacin.
Clase7 Re(orteTab
0s una clase que "ereda del componente 3a de .rimefaces org.primefaces.component.ta vie7.3a y permite definir comportamientos generales para los diferentes tipos de reportes que se puedan crear dentro del sistema. 0sta clase se "a creado en ase a uno de los requerimientos de dise*o que esta lece que todos los reportes de en mostrarse en pesta*as. =4
Clase7 R8eneral
0sta es una su clase de Reporte'a( y contiene los m'todos que permiten visuali+ar el reporte general de calificaciones. 0ntre los m'todos m4s importantes estan los siguientes# crearLista$esumen# .ermite o tener una lista con las calificaciones que luego ser4n llenadas para el resumen de calificaciones o.tenerListas# .ermite o tener la lista de agencias y departamentos para los cuales se est4n generando el reporte =@
enera$esumen# .ermite generar el resumen de calificaciones. eneraDia# .ermite generar la gr4fica para las estad&sticas de calificaciones por d&as enera/ora# .ermite generar la gr4fica para las estad&sticas de calificaciones por "oras eneraTiempos# .ermite generar la gr4fica para las estad&sticas de calificaciones por lapso de tiempo de atencin itemSelectLapso# .ermite esta lecer en que punto de la gr4fica estad&stica por lapso de tiempo de atencin se reali+ un clic para o tener la ta la detallada de calificaciones. itemSelect$esumen# .ermite esta lecer en que arra de la gr4fica estad&stica del resumen de calificaciones se reali+ un clic para o tener la ta la detallada de calificaciones. itemSelectDia# .ermite esta lecer en que arra de la gr4fica estad&stica del resumen de calificaciones se reali+ un clic para o tener la ta la detallada de calificaciones. itemSelect/ora# .ermite esta lecer en que arra de la gr4fica estad&stica del resumen de calificaciones se reali+ un clic para o tener la ta la detallada de calificaciones. preConsulta# .ermite reali+ar una consulta previa para determinar el n/mero de registros que se visuali+ar4 cuando el usuario solicite una ta la detallada. enerarDetalle# .ermite generar la ta la con las calificaciones detalladas pre0rocess1LS# 0ste m'todo reali+a un procesamiento previo para la "o)a de c4lculo que se generar4 a partir de las calificaciones detalladas. pre0rocess0D2# 0ste m'todo reali+a un procesamiento previo para el arc"ivo .%A que se generar4 a partir de las calificaciones detalladas.
Clase7 Cali*icacion
0sta clase se "a creado para mane)ar de forma m4s fle(i le los datos de las calificaciones y poder mostrar directamente en las ta las que provee el frame7orK .rimefaces. 2!-!1!9 .a)uete7 silttec!(ardus!re(ortes!bean %entro de este paquete se encuentran las clases que permiten la comunicacin entre las p4ginas ("tml del mdulo de reportes y el resto de la aplicacin. %entro de este paquete se encuentran cuatro clases que se descri en a continuacin.
Clase7 Re(ortes?ean
0sta clase est4 configurada como un ean de sesin permite esta lecer la comunicacin entre la p4gina reportes"!html y el resto de la aplicacin. Aqu& se esta lecen todos los par4metros que permitir4n crear un nuevo reporte general.
Clase7 .ass6ord?ean
.or medio de esta clase se puede cam iar el pass7ord de cualquier usuario. 0ste es un requerimiento que necesitan tanto los usuarios de tipo Administrador como -eporte.
Clase7 Noti*icaciones?ean
0sta clase permite mane)ar las notificaciones que se mostrar4n a los usuarios cuando ingresen a la p4gina de ienvenida del mdulo de reportes.
=B
2!-!1!: .a)uete7 silttec!(ardus!6ebser#ices 0ste paquete contiene una sola clase que permite la comunicacin entre el programa de los dispositivos electrnicos de calificacin y la ase de datos.
Clase7 ControladorBost
0s un 1e Service que permite al programa de los calificadores o tener datos de oficiales, computadoras, agencias y departamentos6 y registrar las calificaciones que los clientes eval/an en la ase de datos.
=C
!as p4ginas que conforman cada mdulo se encuentran en carpetas separadas, con ello se pudo aplicar un filtro a cada mdulo y as& a todo su contenido. 0(isten carpetas adicionales dentro del sitio 1e que sirven para almacenar recursos adicionales N"o)a de estilos, im4genes y un arc"ivo de )avaScript para el calendario de fec"asO. Se dispone de una carpeta denominada updates que permite almacenar las actuali+aciones para el programa de los calificadores de atencin al cliente.
2!-!' Con*iguraciones
0l sistema tiene varias configuraciones para el definir la seguridad, la cone(in con el sistema gestor de ase de datos y el servidor de aplicaciones. A continuacin se descri e estas configuraciones. 2!-!'!1 Con*iguraci&n de la a(licaci&n Aeb 0n el arc"ivo 7e .(ml se "a configurado los siguientes aspectos para la aplicacin 1e #
Seguridad
Como ya se "a mencionado, la seguridad de la aplicacin esta definida a trav's de filtros de peticiones H33. y para ello se defini los filtros tanto para el mdulo de administracin y reportes.
=D
0l siguiente segmento de cdigo muestra la configuracin del filtro para el mdulo de reportes
<filter> <filter-name>LoginFilter</filter-name> <filter-class>silttec.pardus.security.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/reportes/*</url-pattern> </filter-mapping>
Tiem(o de sesi&n
0l tiempo de inactividad para la sesin de usuarios se "a esta lecido en >0 minutos y su configuracin es la siguiente#
<session-config> <session-timeout>30</session-timeout> </session-config>
Tema de la inter*a3
.rimefaces dispone de algunos temas para sus controles, se "a esta lecido el tema darK-"ive por defecto, el nom re del tema se encuentra en la Clase# AppBean y su configuracin dentro del arc"ivo es la siguiente#
<context-param> <param-name>primefaces.T !"!</param-name> <param-#alue>$%app&ean.t'eme(</param-#alue> </context-param>
U(load de arc5i#os
.ara su ir arc"ivos a la carpeta de actuali+aciones es necesario reali+ar una configuracin al .rimefaces a trav's del siguiente cdigo#
<filter> <filter-name>)rimeFaces File*pload Filter</filter-name> <filter-class>org.primefaces.+e,app.filter.File*ploadFilter</filter-class> </filter> <filter-mapping> <filter-name>)rimeFaces File*pload Filter</filter-name> <ser#let-name>Faces -er#let</ser#let-name> </filter-mapping>
Ser#icio Aeb
=E
2!-!'!2 Con*iguraci&n de Bibernate 0l arc"ivo de configuracin de Hi ernate se encuentra dentro del .aquete# silttec.pardus y se le "a denominado hi(ernate"cfg"!ml. 0(isten > configuraciones principales para este arc"ivo# Sistema gestor de ase de datos Comportamiento de Hi ernate Gapa de entidades
.ara configurar el sistema gestor de ase de datos se de e esta lecer el dialecto, driver, y las credenciales para la ase de datos. 0n este caso se desarrollo la aplicacin con .ostgres y la configuracin es la siguiente#
<property <property <property <property <property name/"hibernate.dialect">org.'i,ernate.dialect.)ostgre-0L1ialect</property> name/"hibernate.connection.driver_class">org.postgres2l.1ri#er</property> name/"hibernate.connection.url">3d,c4postgres2l4//local'ost45637/pardus</property> name/"hibernate.connection.username">postgres</property> name/"hibernate.connection.password">s3cr3t</property>
Com(ortamiento de Bibernate
Se "a modificado el comportamiento por defecto de motor de persistencia para que permita la creacin autom4tica de ta las, si es que no e(istiesen, un pool de cone(iones en D y mientras se desarrolla a la aplicacin era necesario visuali+ar las consultas sql generadas. A continuacin se muestran estas configuraciones#
<property name/"hibernate.connection.pool_size">8</property> <property name/"hibernate.current_session_context_class">t'read</property> <property name/"hibernate.search.autoregister_listeners">true</property> <property name/"hibernate.hbm2ddl.auto">update</property> <property name/"hibernate.show_sql">false</property> <property name/"hibernate.transaction.factory_class">org.'i,ernate.transaction.91&.TransactionFactory </property> <property name/"hibernate.use_sql_comments">true</property>
@a(a de entidades
0l mapa de entidades permite a Hi ernate relacionar las ta las de la ase de datos con las clases entidad. A continuacin el mapa de entidades#
<mapping <mapping <mapping <mapping <mapping <mapping <mapping <mapping <mapping <mapping <mapping <mapping <mapping <mapping <mapping class/"silttec.pardus.hibernate.entidades.TAgency" /> class/"silttec.pardus.hibernate.entidades.TDepartment" /> class/"silttec.pardus.hibernate.entidades.T omputer" /> class/"silttec.pardus.hibernate.entidades.T!otificationType" /> class/"silttec.pardus.hibernate.entidades.T"fficial#ocation" /> class/"silttec.pardus.hibernate.entidades.T$alue" /> class/"silttec.pardus.hibernate.entidades.T!otification" /> class/"silttec.pardus.hibernate.entidades.T lient" /> class/"silttec.pardus.hibernate.entidades.T%ualification" /> class/"silttec.pardus.hibernate.entidades.T&ser" /> class/"silttec.pardus.hibernate.entidades.T"fficial" /> class/"silttec.pardus.hibernate.entidades.T'arameter" /> class/"silttec.pardus.hibernate.entidades.T lient%ualification" /> class/"silttec.pardus.hibernate.entidades.T"fficial(ndicator" /> class/"silttec.pardus.hibernate.entidades.T omputer(ndicator" />
>0
2!-!'!' Con*iguraci&n del Ser#idor .ara el servidor la /nica configuracin que se reali+o fue el nom re del conte(to de la aplicacin, para que siempre que se despliegue tome el nom re de .A-%8S. 0sta configuracin se encuentra en el arc"ivo j(oss+*e("!ml.
<:xml #ersion/").*" encoding/"&T+,-":> <3,oss-+e, xmlns/"http.//www.0boss.com/xml/ns/0avaee" xmlns4xsi/"http.//www.w1.org/2**)/23#4chema,instance" xsi4sc'emaLocation/"http.//www.0boss.com/xml/ns/0avaee555 555http.//www.0boss.org/02ee/schema/0boss,web_6_).xsd"> <context-root>)A;1*-</context-root> </3,oss-+e,>
2!1 .ruebas
8na ve+ concluido la construccin de la aplicacin se la someti a dos tipos de prue as# contra requerimientos y prue as de rendimiento. 0n las primeras se "a creado una ta la para verificar que el sistema cumple con los requerimientos planteados6 mientras que para el segundo grupo de prue as se "a creado un entorno con datos astante apro(imados a la realidad en ase a informacin o tenida de los clientes.
S2
>
S2
Agregar un nuevo oficial Godificar el nom re de un oficial e(istente Agregar una nueva agencia
S2
@ B
S2 S2
>:
4. Gover el nodo del nuevo registro creado a la posicin correcta dentro del 4r ol de agencias 4. .resionar el otn .uardar C Godificar el nom re de una agencia e(istente 0liminar una agencia e(istente :. Acceder a la p4gina de administracin de agencias =. Seleccionar la agencia a modificar y presionar Editar :.> >. cam iar el nom re 4. .resionar el otn .uardar :. Acceder a la p4gina de administracin de agencias :.> =. Seleccionar la agencia a modificar y presionar Editar >. .resionar el otn 0liminar :. Acceder a la p4gina de administracin de agencias =. Seleccionar la agencia dentro del 4r ol :.> >. Gover la agencia a su nuevo nodo padre 4. .resionar el otn .uardar :. Acceder a la p4gina de administracin de departamentos =. .resionar el otn ,ue-o :.4 >. 2ngresar el nom re del nuevo registro 4. Gover el nodo del nuevo registro creado a la posicin correcta dentro del 4r ol de departamentos 4. .resionar el otn .uardar :. Acceder a la p4gina de administracin de departamentos =. Seleccionar el departamento a modificar y presionar :.4 Editar >. cam iar el nom re 4. .resionar el otn .uardar :. Acceder a la p4gina de administracin de departamentos :.4 =. Seleccionar el departamento a modificar y presionar Editar >. .resionar el otn 0liminar S2 !a agencia registra calificaciones. !a ;9 agencia de e ser nueva S2
:0
S2
::
S2
:=
:>
:. Acceder a la p4gina de administracin de departamentos Gover departamento :.4 =. Seleccionar el registro dentro del 4r ol de u icacin >. Gover el nodo a su nuevo nodo padre 4. .resionar el otn .uardar Godificar datos de una computadora Godificar un par4metro general :. Acceder a la p4gina de administracin de computadoras :.@ =. Seleccionar el registro y presionar Editar >. Godificar los datos pertinentes 4. .resionar .uardar :. Acceder a la pantalla principal de administracin =. Seleccionar el registro a modificar :.B >. Cam iar el dato 4. .resionar el otn .uardar :. Acceder a la pantalla principal de administracin :.C =. .resionar el otn Actuali+acin >. Seleccionar el arc"ivo
S2
:4
S2
:@
:C
S2
Tabla ": 5ruebas contra re$uerimientos del usuario Administrador del sistema
>=
Re(orte
;o. ;om re de la prue a -eq .asos : -evisar notificaciones :. Acceder a la p4gina de inicio de reportes =.: =. -evisar las notificaciones generadas >. Cerrar la notificacin :. Acceder a la seccin de reportes =. .resionar el otn .eneral >. 0sta lecer el per&odo de fec"as =.= 4. Seleccionar una agencia o todas @. Seleccionar un departamento o todos B. .resionar el otn .enerar 9R 9 servaciones S2
S2
>
:. 9 tener un reporte general =. %ar clic en la arra en una de las arras de las gr4ficas =.> estad&sticas que contenga un n/mero acepta le de S2 calificaciones >. .resionar Si en el cuadro de di4logo que aparece :. 9 tener ta las detalladas =.4 =. .resionar el otn E!cel >. .resionar el otn /D$ S2
Demostraci&n
;o. ;om re de la prue a -eq .asos -eporte general al ingresar al sistema :. Acceder a la pantalla de login del sistema =. 2ngresar las credenciales de un usuario %emostracin 9R 9 servaciones 0l sistema se demora apro(imadamente :0 segundos en generar el reporte
>.:
S2
Tabla &: 5ruebas contra re$uerimientos del usuario Demostracin del sistema
2!1!1!2 Re)uisitos de rendimiento 0l sistema es una aplicacin 1e que est4 disponi le siempre disponi le y soporta a m4s de :0 usuarios concurrentes. 2!1!1!' Otros re)uisitos 0l sistema dispone de un sistema de seguridad que garanti+a el acceso a usuarios registrados a trav's de un nom re de usuario y contrase*a. !as contrase*as se encuentran almacenadas en la ase de datos encriptadas con el algoritmo G%@. 0n el men/ principal de los reportes se dispone de un formulario que permite a los usuarios registrados cam iar su contrase*a sin la necesidad de disponer privilegios de administrador.
Crear al menos dos oficiales de servicio por cada departamento en las agencias. ,enerar un mayor n/mero de calificaciones para agencias dentro de ciudades importantes. ,enerar un incremento del =0T de las calificaciones al acercarse las "oras de almuer+o y salida. !as calificaciones generadas ser4n desde el : de enero del =0:> al >: de diciem re del =0:>
0n ase a estos criterios se generaron el siguiente n/mero de registros para las ta las relacionadas a las evaluaciones dentro de la ase de datos#
3a la tMagency tMcomputer tMdepartment tMoficial tMqualification ;/mero de registros >@ ::@ > ::@ :U4B:.::B
0l rendimiento del sistema se evalu en ase al tiempo que tarda en generar un reporte general con diferente par4metros.
;o. .ar4metros de entrada : %esde# Hasta# Agencia# %epartamento# %esde# Hasta# Agencia# %epartamento# %esde# Hasta# Agencia# %epartamento# %esde# Hasta# Agencia# %epartamento# %esde# Hasta# Agencia# %epartamento# %esde# Hasta# Agencia# %epartamento# C %esde# Hasta# Agencia# %epartamento# 0:-0:-=0:> >:-:=-=0:> 39%AS 39%9S 0:-04-=0:> >0-04-=0:> 39%AS 39%9S 0:-04-=0:> >0-04-=0:> Sierra 39%9S 0:-04-=0:> >0-04-=0:> 39%9S Servicio al cliente 0:-04-=0:> >0-04-=0:> Costa, Iuito, Am ato Servicio al cliente 0:-04-=0:> >0-04-=0:> Costa, Iuito, Am ato, !o)a, Cayam e Servicio al cliente 0:-04-=0:> >0-04-=0:> 0smeraldas Servicio al cliente 3iempo NsO D.DD Calificaciones 9 servaciones :U4B:.::B Calificaciones registradas durante todo un a*o
4.>4
:=C.BDB
>
4.==
B=.D@@
4.4C
:=C.BDB
:BC
D>.0@=
=>@
:E.=C0
:>.>
:0=>
>4
2!2 Im(lementaci&n
.ara la implementacin del sistema fue necesario reali+ar configuraciones en el 2%0 de desarrollo y determinar que li rer&as pod&an incluirse dentro del arc"ivo 1A- de la aplicacin y que li rer&as podr&an configurarse dentro del servidor de aplicaciones. 0n los siguientes apartados se descri e estas configuraciones y la instalacin en la plataforma Gicrosoft 1indo7s y ,;8$!inu(.
Hi ernate 4.=
.rimfaces 4.0
>@
X X YWW main X X VWW ite(t-=.:.C.)ar X X YWW module.(ml X VWW microsoft X X YWW sqlserver X X YWW )d c X X YWW main X X VWW module.(ml X X YWW sql)d c4.)ar X YWW mysql X YWW )d c X YWW main X VWW module.(ml X YWW mysql-connector-)ava-@.:.=B- in.)ar VWW oracle X YWW )d c X YWW main X VWW module.(ml X YWW o)d cB.)ar YWW org VWW apac"e X VWW commons X X VWW fileupload X X X YWW main X X X VWW commons-fileupload-:.=.:.)ar X X X YWW module.(ml X X YWW io X X YWW main X X VWW commons-io-=.4.)ar X X YWW module.(ml X YWW poi X YWW main X VWW module.(ml X YWW poi->.E-=0:=:=0>.)ar VWW "i ernate4M= X YWW main X VWW antlr-=.C.C.)ar X VWW dom4)-:.B.:.)ar X VWW "i ernate-commons-annotations-4.0.=.Ainal.)ar X VWW "i ernate-core-4.=.B.Ainal.)ar X VWW "i ernate-)pa-=.0-api-:.0.:.Ainal.)ar X VWW )avassist->.:@.0-,A.)ar X VWW ) oss-logging->.:.0.,A.)ar X VWW ) oss-transaction-apiM:.:Mspec-:.0.:.Ainal.)ar X YWW module.(ml VWW postgresql X YWW main X VWW module.(ml X VWW postgresql-E.=-:00>.)d c4.)ar X YWW postgresql-E.=-:00>.)d c4.)ar.inde( YWW primefaces YWW main VWW darK-"ive-:.0.:0.)ar VWW module.(ml YWW primefaces-4.0.)ar Tabla 1-: Estructura de las carpetas + arc2ivos de los mdulos e4ternos para el servidor
>B
0sta instruccin instalar4 el servidor de aplicaciones JBoss como un servicio dentro de Gicrosoft 1indo7s. .ara definir que el servidor inicie autom4ticamente se de e configurar dentro de los servicios de Sistema 9perativo.
>C
2!2!1!' Oracle
<property <property <property <property <property <property name/"dialect">org.'i,ernate.dialect.=racleA0g1ialect</property> name/"hibernate.connection.driver_class">oracle.3d,c.dri#er.=racle1ri#er</property> name/"hibernate.connection.url">3d,c4oracle4t'in4Elocal'ost4A57A4data,aseDame</property> name/"hibernate.connection.username">F=*;-. !"A</property> name/"hibernate.connection.password">F=*;)A--G=;1</property> name/"hibernate.default_schema">F=*;-. !"A</property>
>D
8na ve+ que apare+ca la p4gina de autenticacin, se de er4 proporcionar las credenciales que permitan ingresar a un usuario registrado en el sistema. 0l usuario por defecto del sistema es un usuario con el perfil administrador y sus credenciales son# ;om re# admin, Contrase*a# admin. por seguridad, es altamente recomenda le cam iar estas credenciales la primera ve+ que se acceda al sistema. >E
'!2!1 Noti*icaciones
A trav's de esta p4gina el usuario puede o servar las notificaciones que se "an registrado en el sistema. 8na ve+ que "a sido revisada una notificacin, se puede cerrar "aciendo clic so re la 5 que est4 )unto a cada t&tulo de la notificacin
'!2!2 Re(ortes
A trav's del men/ principal se accede a la p4gina de reportes. %esde aqu& se puede generar el reporte general, cada uno de los reportes generados ocupar4 una pesta*a y estar4n disponi les durante toda la sesin del usuario. 40
'!2!2!1 Re(orte 8eneral .ara generar un reporte general es necesario reali+ar el siguiente proceso# :. .resionar el otn .eneral =. 0n el cuadro de di4logo que aparece, esta lecer los siguientes par4metros# %esde# Aec"a desde la cual se va a considerar las calificaciones Hasta# Aec"a "asta la cual se van a considerar las calificaciones Agencia# %e las cual se van a consideraran las calificaciones %epartamentos# %e los cuales se van a consideraran las calificaciones
>. 8na ve+ esta lecidos los par4metros dentro del filtro se presiona el otn .enerar Cuando el reporte se est4 generando, el sistema puede que tarde algunos minutos dependiendo del filtro seleccionado, se muestra una arra de progreso que indica que el sistema est4 tra a)ando en la generacin del reporte.
4:
Guestra los par4metros que se "a esta lecido para el reporte, dispone de una ta la con el resumen general de las calificaciones su n/mero y porcenta)e.
4=
Se encuentran cuatro otones que permite reali+ar las siguientes funciones# Actuali&ar# .ermite actuali+ar el reporte en ase a los par4metros esta lecidos. As& se puede disponer de informacin actuali+ada sin necesidad de volver a generar el reporte. Imprimir# .ermite imprimir el reporte tal y como se ve. Cerrar# Cierra la pesta*a actual del reporte To!os# .ermite o tener el detalle de todas las calificaciones del reporte
Cada ve+ que se desea acceder a los detalles de las calificaciones, e(iste un c4lculo previo que esta lece si el n/mero de registros que se va a visuali+ar es adecuado o e(cesivo.
Resumen
Guestra de forma gr4fica el resumen de las calificaciones o tenidas. %ispone de dos tipos de gr4ficas# la primera muestra en arras el n/mero de calificaciones registrado para cada apreciacin, mientras que el segundo gr4fico muestra el porcenta)e de cada una de las calificaciones
Al dar clic so re cualquiera de las arras de la gr4fica o secciones del pastel se puede acceder a los detalles de calificaciones. 2gual que en el apartado anterior, aparecer4 un cuadro de di4logo que indicar4 el n/mero de registros que se intenta mostrar, permitiendo o denegando la accin.
4>
0stas gr4ficas permiten ver el n/mero de calificaciones que se "an registrado durante los d&as de la semana y durante las "oras del d&a. Son gr4ficas de arras acumuladas en donde cada color indica las calificaciones registradas.
Al igual que el las gr4ficas anteriores, el momento que se "ace clic so re un segmento de la arra se o tiene el reporte detallado para esa calificacin en d&a u "ora seleccionado.
Tiem(o de atenci&n
0sta es la /ltima seccin del reporte, permite visuali+ar una curva que descri e el tiempo de atencin entre una calificacin y otra. Al igual que en las secciones anteriores, al dar clic so re un nodo de la gr4fica se accede a los reportes detallados de las calificaciones.
44
Re(ortes Detallados
0n todas las secciones del reporte general se puede o tener el detalle de las calificaciones. .ara ello es necesario dar clic en alg/n gr4fico estad&stico del cual se desee o tener el detalle de calificaciones.
Ilustracin
: Detalle de calificaciones
!os detalles se muestra a trav's de una ta la cuyas columnas se pueden ordenar o filtrar para o tener informacin m4s espec&fica. Si se desea se puede e(portar los detalles a una "o)a de c4lculo con formato Gicrosoft 0(cel o a un documento .%A. 0l otn 1errar oculta la ta la detallada.
4@
Adem4s de los par4metros generales se encuentra un control para su ir el arc"ivo de actuali+acin para el programa de calificacin de atencin al cliente que se instala en el computador de cada oficial.
4B
'!'!2 Usuarios
A trav's de esta p4gina se gestiona la informacin de los usuarios del sistema. 0sta p4gina dispone de una ta la con todos los usuarios registrados en el sistema, se puede filtrar y ordenar los registros por cada una de las columnas que dispone.
.ara agregar un nuevo usuario al sistema se de e presionar el otn ,ue-o. .ara lo cual aparecer4 un formulario que permite ingresar todos los datos de un nuevo usuario. .ara editar un registro se de e presionar el otn que se encuentra al final de cada registro N0ditarO, esto cargar4 el mismo formulario con los datos del usuario a modificar. .ara eliminar un registro se de e presionar el otn que se encuentra al final de cada registro N0ditarO, esto cargar4 el mismo formulario con los datos del usuario y se de e presionar el otn Eliminar. 0l otn Actuali3ar refresca la lista, por si otro usuario "a agregado datos.
4C
'!'!' O*iciales
A trav's de esta p4gina se gestiona la informacin de los oficiales de servicio. 0sta p4gina dispone de una ta la con todos los oficiales registrados en el sistema, se puede filtrar y ordenar los registros por cada una de las columnas que dispone.
.ara agregar un nuevo oficial al sistema se de e presionar el otn ,ue-o. .ara lo cual aparecer4 un formulario que permite ingresar todos los datos de un nuevo oficial. .ara editar un registro se de e presionar el otn que se encuentra al final de cada registro N0ditarO, esto cargar4 el mismo formulario con los datos del oficial a modificar. 0l otn Actuali3ar refresca la lista, por si otro usuario "a agregado datos. 0l otn Resetear a 456784 que est4 dentro del formulario sirve para reiniciar la contrase*a de los oficiales de servicio, por si se "an olvidado. 4D
'!'!- Agencias
A trav's de esta p4gina se gestiona la informacin de las agencias. !a informacin se muestra a trav's de un 4r ol )er4rquico para una me)or interaccin con el usuario.
.ara agregar un nuevo registro al sistema se de e presionar el otn ,ue-o. .ara lo cual aparecer4 un formulario que permite ingresar el nom re del nuevo registro. 8na ve+ que se presione Aceptar en el formulario, el nuevo registro se u icar4 al final del 4r ol. Se de e arrastrar y soltar el registro creado en la posicin que se desea dentro de la estructura ar rea. .ara editar un registro se de e seleccionar un nodo del 4r ol y presionar el otn que se encuentra Editar, esto cargar4 el mismo formulario para cam iar el nom re del registro. Si se desea cam iar la u icacin del registro, asta con arrastrar y soltar el registro en la posicin que se desea dentro de la estructura ar rea. .ara eliminar un registro se de e seleccionar el nodo del 4r ol que se desea eliminar y presionar el otn Editar, esto cargar4 el formulario y se de e presionar el otn Eliminar. 4E
0l otn Actuali3ar refresca la lista, por si otro usuario "a agregado datos. 0s importante guardar los cam ios que se realicen cuando se mueve un nodo dentro del 4r ol. .ara ello e(iste el otn .uardar que almacena en la ase de datos la estructura tal y como se muestra en ese momento al usuario
'!'!1 De(artamentos
A trav's de esta p4gina se gestiona la informacin de los departamentos. !a informacin se muestra a trav's de un 4r ol )er4rquico para una me)or interaccin con el usuario.
.ara agregar un nuevo registro al sistema se de e presionar el otn ,ue-o. .ara lo cual aparecer4 un formulario que permite ingresar el nom re del nuevo registro. 8na ve+ que se presione Aceptar en el formulario, el nuevo registro se u icar4 al final del 4r ol. Se de e arrastrar y soltar el registro creado en la posicin que se desea dentro de la estructura ar rea. .ara editar un registro se de e seleccionar un nodo del 4r ol y presionar el otn que se encuentra Editar, esto cargar4 el mismo formulario para cam iar el nom re del registro. Si se desea cam iar la u icacin del registro, asta con arrastrar y soltar el registro en la posicin que se desea dentro de la estructura ar rea. .ara eliminar un registro se de e seleccionar el nodo del 4r ol que se desea eliminar y presionar el otn Editar, esto cargar4 el formulario y se de e presionar el otn Eliminar. 0l otn Actuali3ar refresca la lista, por si otro usuario "a agregado datos. 0s importante guardar los cam ios que se realicen cuando se mueve un nodo dentro del 4r ol. .ara ello e(iste el otn .uardar que almacena en la ase de datos la estructura tal y como se muestra en ese momento al usuario 0l formulario para editar los datos de departamentos es id'ntico al formulario de Agencias.
@0
'!'!2 Com(utadoras
A trav's de esta p4gina se modifica la informacin de los computadores del sistema. 0sta p4gina dispone de una ta la con todos los computadores registrados en el sistema, se puede filtrar y ordenar los registros por cada una de las columnas que dispone.
.ara editar un registro se de e presionar el otn que se encuentra al final de cada registro N0ditarO, esto cargar4 el formulario con los datos del computador a modificar. 0l otn Actuali3ar refresca la lista, por si se "a agregado un nuevo computador al sistema
Ca e mencionar que el registro de computadores en el sistema se reali+a cada ve+ que un t'cnico instala el programa en el computador del oficial, por esa ra+n esta p4gina no dispone de los controles para crear nuevos computadores o eliminarlos. !a /nica operacin permitida dentro de esta p4gina es cam iar la locali+acin Nagencia y departamentoO del computador.
@:
@=
-!2 Recomendaciones
:. 0l motor de persistencia Hi ernate permite integrar f4cilmente el sistema de reportes con los gestores de ase de datos m4s comunes del mercado, garanti+ando as& que un sistema se pueda acoplar sin mayores dificultades a la infraestructura inform4tica de los clientes. =. !a li rer&a .rimefaces es un e(celente marco de tra a)o para el desarrollo de interfaces de usuario. Su variedad de controles y la documentacin e(istente en la red permite crear aplicaciones muy atractivas al usuario y de forma r4pida. >. JA?A :.C y JBoss C.0 son e(celentes plataformas para el desarrollo de aplicaciones 1e ya que "an demostrado ser tecnolog&as ro ustas, r4pidas y eficientes.
@>
Re*erencias bibliogr"*icas
%EA$7 D, /O$ST(A## C6 PCore JavaServer AacesQ6 >ra 0dicin =0::, .rentice S Hall /I+E$#ATE Comunit86 N=0:4-0:-:=O6 P"i ernate.orgQ6 Zsite del proyecto en l&nea[6 ZAec"a de consulta# %iciem re =0:>[6 \"ttp#$$"i ernate.org$] *+OSS Comunit86 N=0:4-0:-:=O6 PComunity driven open source midle7areQ6 Zsite del proyecto en l&nea[6 ZAec"a de consulta# %icoem re =0:>[6 \"ttp#$$777.) oss.org$overvie7$] 9A:ATA7 9I;ICI6 P.rimefaces 8serUs ,uide 4.0Q6 \"ttp#$$primefaces.googlecode.com$files$primefacesMusersMguideM4M0Medtn=.pdf ] 0$I(E2ACES6 N=0:4-0:-:=O6 P.rimeAacesQ6 Zsite del proyecto en l&nea[6 ZAec"a de consulta# %iciem re =0:>[6 \"ttp#$$777.primefaces.org$] IEEE, 2000 Std D>0-:EED 2000 -ecommended .ractice for Sot7are -equirements Specifications, 2000 Computer Society, :EED 2O#TELA C6 P8G!# modelado de soft7are para profesionalesQ6 :ra 0dicin =0::6 Alfaomega 0ETE$SE# $6 P!2;85 Ganual de referenciaQ6 Bta 0dicin =00E6 Gc ,ra7 Hill
@4