Professional Documents
Culture Documents
Memoria Final
Proyecto Fin de Carrera
ndice
Introduccin............................................................................................................... 6
Justificacin del proyecto .......................................................................................... 7
Por qu el proyecto? .................................................................................... 7
Estudio de mercado ....................................................................................... 7
Descripcin del proyecto .............................................................................. 9
Objetivos .................................................................................................................. 10
Objetivos generales........................................................................................ 10
Objetivos especficos ..................................................................................... 10
Resultados esperados ..................................................................................... 10
Funcionalidades a implementar ................................................................................ 11
Productos obtenidos .................................................................................................. 12
Planificacin inicial vs planificacin final ................................................................ 13
Anlisis y diseo ....................................................................................................... 17
Requerimientos funcionales/ no funcionales ................................................ 17
Requerimientos funcionales .............................................................. 17
Requerimientos no funcionales ......................................................... 22
Diagrama de casos de uso ............................................................................. 23
Sistema de Administracin y gestin de incidencias ........................ 23
Sistemas de consulta de cliente.......................................................... 26
Diagrama de clases ........................................................................................ 26
Diagrama de estados ..................................................................................... 27
Diagrama de flujo ......................................................................................... 27
Diseo de la base de datos: modelo E-R ...................................................... 29
Arquitectura de la aplicacin ........................................................................ 29
Hardware ........................................................................................... 30
Software ............................................................................................ 31
Diseo de la interfaz de usuario ................................................................... 31
Acceso al panel de administracin .................................................... 31
Sistema de Administracin y gestin de incidencias ........................ 32
Sistema de consulta de cliente .......................................................... 38
Page 2
Page 3
ndice de Figuras
Figura 1...................................................................................................................... 14
Figura 2...................................................................................................................... 15
Figura 3...................................................................................................................... 16
Figura 4...................................................................................................................... 16
Figura 5...................................................................................................................... 23
Figura 6...................................................................................................................... 23
Figura 7...................................................................................................................... 24
Figura 8...................................................................................................................... 24
Figura 9...................................................................................................................... 25
Figura 10.................................................................................................................... 25
Figura 11 .................................................................................................................... 26
Figura 12.................................................................................................................... 26
Figura 13.................................................................................................................... 27
Figura 14.................................................................................................................... 28
Figura 15.................................................................................................................... 28
Figura 16.................................................................................................................... 29
Figura 17.................................................................................................................... 30
Figura 18.................................................................................................................... 31
Figura 19.................................................................................................................... 32
Figura 20.................................................................................................................... 33
Figura 21.................................................................................................................... 33
Figura 22.................................................................................................................... 34
Figura 23.................................................................................................................... 34
Figura 24.................................................................................................................... 35
Figura 25.................................................................................................................... 35
Figura 26.................................................................................................................... 36
Figura 27 ................................................................................................................... 36
Figura 28.................................................................................................................... 37
Figura 29.................................................................................................................... 37
Figura 30.................................................................................................................... 38
Page 4
Page 5
Introduccin
Page 6
Por qu el proyecto?
Hoy en da los sistemas informticos son cada vez ms complejos y cada vez las
empresas dependen ms de servicios tecnolgicos por lo que un mal funcionamiento
o la interrupcin de servicios de stos pueden llegar a tener importantes
consecuencias en la consecucin de los objetivos de esas empresas.
Es crucial, entonces, que las compaas que brindan estos servicios a terceros sean
capaces de solucionar esos errores o fallos en sus servicios y de hacerlo en el menor
tiempo posible. Para ello deben tener controlados en todo momento cules son los
problemas de sus productos y qu personal tienen dedicados a ellos en todo momento.
La calidad que brinden a la hora de solucionar incidencias puede ser un hecho
determinante para captar o mantener a sus clientes. De ah tambin la importancia de
que conozcan la valoracin de sus clientes en cunto a la rapidez y eficacia en la
solucin de los problemas reportados.
Con todo lo dicho anteriormente se extrae la necesidad de que cualquier negocio que
provee de un servicio tecnolgico a otros negocios o que desarrolle servicios para uso
propio posea este tipo de aplicacin.
Adems, es muy interesante que estas aplicaciones puedan disponer de una
asignacin automtica de los problemas reportados a los tcnicos disponibles en ese
momento, valorando la carga de trabajo de cada uno de ellos, con el objetivo de
reducir el tiempo de dedicado a la gestin y planificacin de las incidencias segn
recursos.
Teniendo en cuenta todo lo anterior, se pretende implementar un sistema gestor de
incidencias para llevar el seguimiento de todos los errores/fallos, capaz de poderse
adaptar a los distintos flujo de trabajo de las empresas y que permita a los clientes
opinar sobre el servicio ofrecido.
Estudio de mercado
Actualmente, en el mercado tenemos multitud de gestores de incidencias. De entre
todos ellos destacaremos los que hemos encontrado ms importantes o destacables
por algn motivo, ya sea el coste o las particularidades que ofrece.
Page 7
Page 8
Page 9
Objetivos
Objetivos generales
Objetivos especficos
Resultados esperados
Funcionalidades a implementar
Page
11
Productos obtenidos
Page
12
Los hitos principales a realizar correspondan con las distintas etapas mostradas en el
Plan Docente:
- Plan de Trabajo
- Anlisis y diseo
- Implementacin
- Presentacin final
La planificacin inicial era la siguiente:
Nombre de tarea
Duracin
Comienzo
Plan de Trabajo
Eleccin y revisin del proyecto
Reunion virtual
Bsqueda de informacin y redaccin del
documento
Entrega PEC1
Anlisis y diseo
Anlisis de los requisitos funcionales
Definicin conceptual de datos
Diseo modelo relacional
Casos de Uso
Diseo interfaz grfica
Redaccin documentacin
Entrega PEC2
Implementacin
Creacin BDD
Implementacin capa de datos
Implementacin capa de negocio
Implementacin capa de servicio
Implementacin web
Plantillas, estilo y men
Gestin usuarios
Gestin reglas y configuracin
1,63 das
3 horas
1 hora
12 horas
0 horas
8,25 das
12 horas
12 horas
6 horas
12 horas
16 horas
8 horas
0 horas
14,38 das
4 horas
8 horas
30 horas
8 horas
7,5 das
8 horas
12 horas
8 horas
Page
13
Fin
8 horas
4 horas
12 horas
16 horas
5 horas
0 das
9,13 das
30 horas
12 horas
30 horas
0 das
Se estim que se dedicaran por semana unas 20 horas de media, excepto para la
tarea de implementacin que para poder cumplir el calendario se deban incrementar a
24 horas por semana.
En las siguientes figuras se muestra el Diagrama de Gantt correspondiente a las tareas
y actividades comentadas anteriormente:
Figura 1
Page
14
Figura 2
El tiempo estimado para los hitos Entrega PEC1 y Entrega PEC2 fueron correctos:
los entregables se pudieron liberar en las fechas establecidas, el 01/10/2012 y el
28/10/2012 respectivamente.
Sin embargo, el tiempo estimado para la fase de Implentacin no fue adecuado: se
fue muy optimista a la hora de valorar el coste algunas de las pantallas a implementar
como ocurri en los casos de las pantallas del mdulo de Gestin de incidencias y de
las pantallas del mdulo de Gestin de clientes.
Adems, en la planificacin inicial tampoco se tuvieron en cuenta algunas tareas: no
se tuvo en cuenta ni el tiempo dedicado a investigar sobre el uso de Entity Framework
sobre el cual no se tena apenas conocimiento ni la implementacin de la aplicacin
web para la consulta de incidencias por parte del cliente.
Por todo ello, para poder cumplir el hito Entrega PEC3 la ltima semana se tuvieron
que dedicar ms horas de las estimadas.
El tiempo dedicado a la actividad de Correcciones y mejoras tambin se ha visto
incrementado. El tiempo finalmente dedicado ha sido de 45 horas, esto ha provocado
que se dedicaran menos horas en las actividades que la sucedan.
En la siguiente imagen se muestra la planificacin final con todos los cambios
anteriormente comentados respecto a la planificacin inicial:
Page
15
Figura 3
Figura 4
Page
16
Anlisis y diseo
3.4 El sistema debe permitir seleccionar nicamente una de estas reglas como
criterio aplicacin en la asignacin automtica.
3.5 El sistema debe permitir configurar si el cliente recibir un email cuando una
incidencia sea resuelta o se actualice sus comentarios.
3.6 El sistema debe permitir configurar si a los clientes se les ofrecer un
encuesta para pedir su opinin sobre el servicio prestado una vez se haya resuelto
una incidencia.
3.7 El sistema deber permitir configurar si el clculo de fecha de resolucin
estimada de una incidencia se calcular automticamente en base al tiempo
Page
18
Gestin de incidencias
4.1 Una incidencia tendr los siguientes campos: asunto, descripcin,
comentarios, cliente que notific la incidencia, programa al que se refiere, fecha
de creacin, usuario que creo la incidencia, fecha de resolucin, estado, tcnico
asignado, tiempo estimado de resolucin, tiempo real de resolucin, fecha de
resolucin estimada y fecha final de resolucin.
4.2 Los posibles estados de las incidencias son los siguientes: Pendiente de
asignacin, Pendientes de resolucin, Iniciada y Resuelta.
4.3 El sistema debe permitir a un usuario de atencin al pblico abrir una
incidencia.
4.4 Al abrir una incidencia se debern rellenar siempre los campos de: cliente,
programa asociado o servicio al que se refiere, asunto y una descripcin del
problema
4.5 El campo fecha de creacin lo establecer automticamente el sistema en el
momento de abrirse la incidencia
4.6 Opcionalmente al abrirse la incidencia se podrn rellenar los campos de
tiempo estimado y fecha de resolucin estimada.
4.7. El sistema al asignar una incidencia a un tcnico establecer el estado de la
misma como Pendiente de resolucin.
4.8. El sistema al asignar una incidencia a la cola de pendientes de asignacin
establecer el estado de la misma como Pendiente de asignacin.
4.9. El sistema debe permitir a un supervisor asignar manualmente una incidencia
a un tcnico.
Page
19
Page
20
Informes
6.1 El sistema debe facilitar diferentes informes para conocer el estado de las
incidencias as como de los tiempos estimados, dedicados y la opinin de sus
clientes del servicio ofrecido. Estos informes solo sern visibles por supervisores.
6.2 El primer informe ofrecer la posibilidad de filtrar y/o agrupar las incidencias
por los siguientes criterios: cliente, servicio y tcnico, mostrando el nmero de
Page
21
Requerimientos no funcionales
1. Emplear la plataforma .NET, en concreto la tecnologas de ASP.NET, WCF y
Entity Framework
2. Aplicacin web que resulte atractiva as como fcil de usar.
3. La aplicacin debe ser compatible con las ltimas versiones de los siguientes
navegadores: Internet Explorer, Firefox y Chrome.
4. Proporcionar un sistema flexible que se puede adaptar a los distintos flujos de
trabajo adoptados por diferentes tipos de empresas.
Page
22
Figura 5
Por una lado tenemos los usuarios propios del sistema, entre los que podemos
distinguir tres perfiles: tcnicos, supervisores y usuarios de atencin al cliente, y por
otro los clientes que accedern su sistema de consulta de incidencias.
Dividiremos el diagrama entre estos dos subsistemas mencionados en el apartado
anterior.
Sistema de Administracin y gestin de incidencias
Figura 6
Page
23
Figura 7
Figura 8
Page
24
Figura 9
Figura 10
Page
25
Figura 11
Diagrama de clases
A continuacin se muestra el diagrama de las clases de negocio del sistema:
Figura 12
Page
26
Diagrama de estados
Como ya se ha comentado en apartados anteriores, una incidencia siempre tendr un
estado y ese estado variar durante el ciclo de vida de la incidencia. El siguiente
diagrama pretende describir los diferentes estados por los que pasar as como las
acciones que provocan la transicin de un estado a otro:
Figura 13
Una incidencia recin abierta podr tener dos posibles estados: Pendiente de
Asignacin o Pendiente de Resolucin dependiendo de si la incidencia est pendiente
de asignar a un tcnico o no, respectivamente.
Una incidencia cuyo estado sea Pendiente de Asignacin cambiar a Pendiente de
Resolucin cuando un supervisor reasigne la incidencia manualmente a un tcnico.
El tcnico ser el encargado de pasar la incidencia a Iniciada y luego a Resuelta una
vez solucionado el fallo.
Diagrama de flujo
La siguiente figura muestra el flujo que seguir el proceso de asignacin automtica
de incidencias:
Page
27
Figura 14
Figura 15
Page
28
Figura 16
Arquitectura de la aplicacin
Hardware
A continuacin se ha adjuntado el diagrama de la arquitectura hardware a seguir para
poder implantar el sistema.
Page
29
Figura 17
Page
30
Figura 18
Figura 19
Una vez identificado el sistema redireccionar al usuario a la home, que por defecto
ser el listado de incidencias.
En los siguientes apartados se mostrarn las diferentes pantallas del sistema divididas
en los 5 mdulos distintos que lo componen.
Page
32
Figura 20
Figura 21
Desde el listado anterior, al hacer doble click sobre una incidencia, se podrn
consultar los detalles de sta:
Page
33
Figura 22
Supervisor
Por defecto, el listado mostrar las incidencias de la cola de pendientes de asginacin:
Figura 23
Page
34
Figura 24
Tcnicos
Su listado de incidencias slo mostrar aquellas asignadas a su usuario y no podrn
buscar ni acceder a incidencias de otros usuarios:
Figura 25
Page
35
Figura 26
Todos los usuarios podrn consultar la opinin de las incidencias a las que pueden
acceder desde el botn Ver opinin.
Figura 27
Page
36
Figura 28
El botn Nuevo cliente solo ser visible para los usuarios de tipo Supervisor al
igual que la pantalla de creacin de clientes:
Figura 29
Page
37
Figura 30
Todos los usuarios podrn consultar los diferentes servicios dados de alta, pero slo
podrn ser creados, editados o eliminados por supervisores
Figura 31
Page
38
Figura 32
Figura 33
Page
39
Figura 34
Figura 35
Page
40
Figura 36
Informes
Este mdulo slo es accesible por supervisores. En total el sistema ofrecer cuatro
tipos de informes:
-
Page
41
Figura 37
Figura 38
Page
42
Figura 39
Figura 40
Page
43
Figura 41
Figura 42
Page
44
Figura 43
Page
45
Implementacin
Software usado
Para poder llevar a cabo implementacin del producto y la realizacin de las distintas
pruebas se ha utilizado el siguiente software:
-
Entornos de desarrollo:
o Microsoft Visual Studio 2010.
Frameworks y libreras:
o Entity Framework: conjunto de APIs para acceso a datos.
o ASP.NET
o NET Framework 4.0
o Windows Communication Foundation
o JQuery: librera de Javascript que permite de forma ms sencilla la
implementacin de tareas en ese lenguaje.
Servidor web:
o
Capas de la aplicacin
Se ha divido la aplicacin en 4 capas diferentes:
-
Capa de Entidades: se han abstrado en esta capa las entidades, de modo que
sean clases serializables para que puedan ser empleadas por los servicios
WCF. Adems esta capa tambin incluye otras clases empleadas para la
comunicacin entre la capa de presentacin y la capa de negocio.
Capa de Negocio: aqu es donde tenemos todas las clases que llevan a cabo la
lgica de negocio.
Capa de Datos
La capa de datos se ha llevado a cabo mediante el uso de Entity Framework. La
herramienta de generacin de modelo a partir de una base de datos ya existente se ha
encargado de realizar todo el mapeo de las distintas tablas y campos as como sus
relaciones a las diferentes clases dejndonos una serie de funciones desde las que
podemos realizar la insercin y borrado de datos sin preocuparnos de las
caractersticas internas de esta obteniendo un mayor nivel abstraccin.
Capa de Entidades
Con el fin de la mxima segregacin de las capas se ha creado una capa de
Entidades independiente a la capa de datos. De este modo, la capa de servicios no
interactuar nunca directamente con la de datos, slo la capa de negocio ser la
encargada de acceder a los mtodos de la capa de datos. Para ello se ha hecho uso de
una herramienta automtica del Entity Framework, Plantilla generador de
entidades de seguimiento propio, que nos ha generado clases STE a partir del
modelo. Estas pueden ser serializadas para su empleo a travs de un cliente WCF.
Las clases STE no tienen dependencia con la capa de datos pero a su vez incluyen
mecanismos que gestionan los cambios en sus propiedades.
Adems dentro de esta capa tenemos otras clases implementadas manualmente usadas
para conocer las propiedades por las que se filtrarn los listados de resultados de los
objetos solicitados desde la capa de servicios.
Page
47
Figura 44
Capa de servicios
Esta capa est integrada dentro del proyecto Servicios.
Los servicios aqu implementados sern los que proveern a la capa de presentacin
de los distintos mtodos de las clases de negocio.
Como se ha comentado en el punto anterior, es en el web.config de este proyecto, en
la seccin appSettings, donde se especifican los datos de la cuenta de correo
electrnico y del servidor desde el que se realizar el envo de correos a los clientes.
Page
48
Figura 45
Capa de presentacin
En esta capa tenemos toda la lgica de visualizacin y control de las distintas webs.
Aunque la mayor parte de la implementacin se ha llevado a cabo dentro de la capa
de negocio, en la capa de presentacin se realiza el control sobre la visualizacin de
las acciones a realizar y control de permisos.
Est compuesta por dos aplicaciones web diferentes: WebTicketReport y
WebSupportClient.
Comentar que la validacin de los campos de los formularios as como la mayor parte
de funciones realizadas en javascript se ha implementado mediante la librera jquery,
por su potencia y sencillez en muchas de las operaciones y controles que
habitualmente se llevan a cabo mediante scripts del navegador. Para la realizacin de
la grids se ha empleado un plug-in ya desarrollado en esta misma librera, llamada
JqGrid, sobre la cual se han tenido que efectuar una serie modificaciones para poder
otorgar de la funcionalidad necesaria mostrada en la fase de diseo a las grids .
Page
49
Evaluacin de costes
Analista: 50 /hora
Diseador: 40 /hora
Programador: 40 /hora
Figura 46
Page
50
Figura 47
Page
51
Trabajo futuro
El proyecto contempla los objetivos trazados, uno de ellos, era la asignacin y clculo
automtico de usuarios y fechas y este sentido donde ms mejoras podemos hacer:
-
Poder configurar tcnicos por servicios.. Sera muy interesante poder tener
para un servicio o programa un listado de tcnicos destinados a resolver las
incidencias de ese servicio.
Aadir ms filtros en los listados. Sera muy interesante por no decir casi
necesarios que en el listado de incidencias se pudieran filtro por parte de un
asunto, entre otros.
Al escoger un cliente al dar de alta una incidencia, solo poder ver los servicios
relacionados con ese cliente.
Poder configurar los perfiles de usuario. Ahora mismo los permisos de los tres
diferentes tipos de usuarios que nos encontramos en el sistema vienen
predefinidos.
Por ultimo comentar lo atractivo que sera poder ofrecer la posibilidad de poder
generar informes y formularios de opinin manualmente. Aunque esto ofrecera una
mayor complejidad al sistema y su desarrollo no es sencillo, esta mejora ya se podra
considerar como una fase 2 del proyecto.
Page
52
Conclusiones
El producto obtenido ha sido un sistema bsico de administracin y gestin de
incidencias. Cumple con la funcionalidad mnima necesaria que se requiere de este
tipo de sistemas aadiendo una serie de caractersticas interesantes como son la
asignacin automtica de incidencias, el clculo automtico de la fecha estimada de
reolucin y el feedback con el cliente permitindole introducir sus opiniones respecto
a la eficiencia en el servicio ofrecido.
Con este proyecto como base, y como se ha comentado en el apartado anterior, se
puede llevar a cabo una serie mejoras de ampliacin en su funcionalidad hacindola
mucho ms completa y flexible con el objetivo de que pueda cubrir las necesidades
de casi cualquier empresa; repartiendo las distintas mejoras en diferentes fases de
implementacin para conseguir un producto mucho ms completo y que permita una
mayor distribucin.
En este sentido, gracias a la arquitectura software en capas empleada se espera
tambin que se pueda aumentar las plataformas sobre las que se pueda entregar el
producto en caso de que as se requiera. Por ejemplo, poder realizar una aplicacin
mvil si uno de los nuevos requerimientos fuera la movilidad por parte del tcnico.
En este caso, solo tendramos que desarrollar la aplicacin mvil puesto que los
servicios web nos proveern de toda la lgica del negocio.
Una gran ayuda en este aspecto es el uso de Entity Framework que genera
automticamente el modelo de datos y el acceso a estos no tenindonos que preocupar
del motor de la base de datos.
En resumen, el marco de tecnologas .NET nos ofrece todas las herramientas
necesarias para poder crear sistemas cuya arquitectura sea n-capas con el objetivo de
crear aplicaciones escalables y flexibles, con mayor robustez y donde cada capa lleva
a cabo unas tareas diferentes.
Page
53
Bibliografa
-
Page
54