Sie sind auf Seite 1von 62

Proyecto final de carrera .

NET
Ingeniera tcnica de sistemas

Autor: Ivan Nofuentes Aljama Consultor: Jess Bosh Ayguade Universitat Oberta de Catalua Memoria

TFC .NET (WPF) Ivan Nofuentes Aljama

Indice. 1. Introduccin...pgina 1 2. Plan de proyecto...pgina 2 2.1- Descripcin del proyecto.....pgina 2 2.1.a- Perfiles de usuario....pgina 2 2.1.b- Contextos de uso......pgina 4 2.2- Objetivos de la aplicacin...pgina 7 2.3- Planificacin......pgina 8 2.4- Riesgos principales....pgina 10 3. Anlisis........pgina 11 3.1- Requerimientos funcionales..pgina 11 3.1.1- Datos.....pgina 12 3.1.2- Funcionalidad......pgina 15 3.2- Requerimientos no funcionales.pgina 18 4. Prototipo interfaces.....pgina 20 4.1 Interfacespgina 22 5. Diseo del proyecto.pgina 26 5.1- Diagrama de uso.pgina 26 5.2- Diagrama UML.pgina 33 5.3- Diseo de la base de datos...pgina 35 5.4- Diagrama de secuencia..pgina 36 6. Manual de usuario.......pgina 39 6.0.1- Inicio y acceso......pgina 39 6.1- Usuario bsico.....pgina 39 6.1.1- Ventana principal.....pgina 39 6.1.2- Botn Nuevo formulario....pgina 41 6.1.3- Botn Bsqueda....pgina 43 6.1.4- Botn Tareas.........pgina 44 6.1.5- Visualizacin de visitas......pgina 45

TFC .NET (WPF) Ivan Nofuentes Aljama

6.2- Usuario responsable...pgina 45 6.2.1- Ventana principal........pgina 46 6.2.2- Botn Gestin........pgina 46 6.2.3- Botn Control.....pgina 48 6.2.4- Botn Visitas......pgina 50 6.2.5- Variaciones usuario bsico....pgina 50 6.3- Usuario administrador....pgina 51 7. Manual de instalacin.........pgina 52 7.1- Requisitos previos...pgina 53 7.2- Instalacin....pgina 53 8. Conclusiones.pgina 57 9. Bibliografa....pgina 58

ii

TFC .NET (WPF) Ivan Nofuentes Aljama

1. Introduccin
Este proyecto, aparte de ser la asignatura de cierre a un largo y duro camino, es una sntesis de todos los conocimientos adquiridos hasta la fecha, universitarios y no universitarios, porque a mi entender, una gran ventaja que he adquirido durante estos aos de estudio a distancia, es la metodologa o la destreza de buscar soluciones a los problemas de forma ms o menos autnoma. En la elaboracin he intentado aprender una nueva tecnologa como es: C#, WPF y crear un producto til y utilizable en el mundo real. Esta memoria contiene todo el proceso de elaboracin de una aplicacin completa, desde las primeras descripciones acordadas entre el cliente y el programador, hasta el producto final, pasando por el prototipo de la interface, anlisis del programa y estudio de la base de datos. El producto terminado consta del instalador de la aplicacin ms dos manuales, uno de usuario y otro de instalacin. Aunque la aplicacin, tal como indican los requerimientos descritos ms adelante, est enfocada a la gestin de un servicio tcnico (SAT), el producto de muestra est acotado para un SAT de trazabilidad. Esta decisin no ha sido tomada a la ligera, despus de muchas dudas, me decid por esta especializacin porque, dado que es mi trabajo, he valorado positivamente el hecho de conocer las necesidades del trabajo diario y los pormenores de las aplicaciones existentes, facilitara la tarea tanto de depuracin como diseo del interfaz o los datos necesarios para trabajar. En definitiva, la elaboracin de este trabajo ha sido como una pequea yincana, donde cada etapa ha sido un pequeo reto, unas veces de documentacin, otras de investigacin y la mayora de perseverancia y tenacidad, pero al final de todo creo que el trabajo aqu expuesto ha merecido la pena. Antes de terminar la introduccin y entrar en materia, me gustara hacer una mencin especial a tres personas: en primer lugar a mi mujer, porque sin su apoyo, comprensin y paciencia no podra haber invertido todo el tiempo necesario para llevar a buen puerto este proyecto, en segundo lugar a mi peque (que est por llegar), por ser tan buena y no dar guerra, me ha facilitado mucho las cosas y por ltimo a mi jefe David, por su confianza y apoyo incondicional, adems de dejarme horas de trabajo para desarrollar todo este montaje. Me gustara darles las gracias desde aqu y hacerles un pequeo homenaje.

-1-

TFC .NET (WPF) Ivan Nofuentes Aljama

2. Plan de proyecto
2.1- Descripcin del proyecto El proyecto estar basado en una aplicacin para la gestin del trabajo diario de un servicio de asistencia tcnica (SAT). Dicha aplicacin ofrecer las herramientas necesarias para controlar y documentar las incidencias recibidas de los clientes, tanto va telefnica, como por correo electrnico, de modo que quedar registrado en el sistema que clientes han sufrido incidencias, el tipo de problema, para que equipos, si se ha solucionado o no y el tcnico o tcnicos que han intervenido en ella. De este modo se unifica una forma de trabajar y documentar todo el trabajo qu se realiza desde el SAT. Tambin permitir buscar en el histrico de incidencias, de modo que un tcnico puede buscar una asistencia pasada, tanto por el nmero de serie del equipo, como por el cdigo del cliente o nmero de incidencia. Adems, la aplicacin permitir administrar a cada usuario sus tareas individuales, de modo que dispondr de una lista de tareas pendientes, para llevar un control de la cola de trabajo, de igual forma, el responsable del SAT tambin podr asignar tareas a los tcnicos. Ms tcnicamente, ser un aplicativo del tipo cliente-servidor, por lo que se convertir en un software in-line, un equipo servidor equipado con SQL server almacenar y gestionar la base de datos y las peticiones de los clientes. Por otro lado, cada cliente dispondr en local de una instalacin del software y el entorno grfico (WPF).

2.1.a- Perfiles de usuario. La aplicacin tendr tres tipos de usuarios: tcnico, responsable y administrador. En funcin del tipo de acceso al programa se tendrn unas funcionalidades u otras. El usuario tcnico es el usuario ms bsico, utilizar la aplicacin para el desarrollo diario de su trabajo. Como tcnico del servicio tcnico recibe llamadas de clientes con problemas, consultas o quejas, adems tambin puede recibir las mismas incidencias por mail, de modo que documenta todas estas asistencias mediante la aplicacin. Tambin utiliza la aplicacin para controlar la cola de trabajo, aadiendo o quitando tareas propias. Adems tiene constancia de las salidas a clientes planificadas por su responsable. Como personal de un servicio tcnico, se presupone que posee conocimientos de informtica, por lo cual la interfaz puede ser ms tcnica y directa que en aplicaciones ms genricas o de gran consumo. El usuario tcnico tendr las siguientes funcionalidades: Gestin de incidencias. o Dar de alta incidencias nuevas. o Proseguir con incidencias abiertas. o Concluir incidencias o Buscar incidencias antiguas. -2-

TFC .NET (WPF) Ivan Nofuentes Aljama

o o

Imprimir incidencias. Exportar incidencias a PDF.

Gestin de tareas. o Crear una tarea propia. o Borrar una tarea propia. Gestin de equipos. o Dar de alta equipos nuevos de clientes existentes. El usuario responsable es el siguiente escaln; a medida que los clientes van solicitando asistencia personal en sus instalaciones va asignando dichas visitas a los tcnicos, adems de poder encargar tareas personalizadas a cada uno de los tcnicos. Tambin puede controlar las estadsticas de trabajo para cada uno de sus tcnicos. A parte se encarga de la gestin de los clientes, es decir, crea clientes nuevos o da de baja a clientes ya creados. El usuario responsable adems de toda la funcionalidad del usuario tcnico tendr: Gestin de incidencias. o Sacar estadsticas de servicios. Gestin de tareas. o Crear tareas ajenas. o Modificar tareas ajenas. o Planificar visitas a clientes. Gestin de clientes. o Dar de alta nuevos clientes. o Dar de baja a clientes existentes. o Modificar datos de clientes. El usuario administrador, tcnicamente hablando, es el ms importante, puesto que dispondr de acceso total a la aplicacin. Entre sus funciones est el velar por la seguridad y gestionar el control de acceso de los usuarios. Este usuario deber tener amplios conocimientos de informtica. Adems deber conocer el funcionamiento del aplicativo a la perfeccin puesto que ser el responsable de solventar las dudas y posibles incidencias a los usuarios de menor nivel. El usuario administrador adems de toda la funcionalidad del responsable tendr: Acceso a la base de datos. o Crear usuarios. o Modificar propiedades de los usuarios. o Modificar las propiedades de la aplicacin.

-3-

TFC .NET (WPF) Ivan Nofuentes Aljama

Un posible escenario sobre el programa ser: Joan, tcnico de una empresa de servicios, ejecuta el programa de gestin, este le solicitar
un usuario y contrasea. Como Joan es tcnico, introduce sus datos y la aplicacin le muestra la pantalla principal para que pueda empezar a trabajar. Cuando el tcnico recibe una llamada solicitando asistencia telefnica, inicia un formulario de creacin de incidencia. Dicho formulario se abre con la fecha y hora del inicio ya insertadas. Al introducir el nombre del cliente, el programa mostrar una lista con todas las posibles coincidencias (si no se encuentran, se puede buscar por cdigo de cliente), al elegir el cliente en concreto, la aplicacin mostrar por pantalla los datos del cliente y los nmeros de serie disponibles; elige los datos que el cliente le facilita y si todo es correcto, el sistema entrega un nmero de incidencia para empezar la asistencia. Joan anota el problema del cliente y la solucin que le ofrece, como queda solucionado por telfono, el tcnico concluye la asistencia y la guarda, insertando el sistema la fecha y hora de finalizacin. Seguidamente le entra un correo electrnico reclamando una asistencia que se efectu hace tres das. Joan entra en el histrico e introduce el nmero de incidencia, el sistema le retorna los datos de dicha incidencia en modo lectura, de este modo Joan puede explicar al cliente que sucedi y las medidas que se tomaron.

2.1.b- Contextos de uso. El contexto de uso ser diferente en funcin del tipo de usuario, tal como se ha indicado en el apartado perfiles de usuario. Se seguir un modelo jerarquizado, es decir, el usuario tcnico, tendr una serie de funcionalidades limitadas, el usuario responsable, tendr las funcionalidades del bsico y otras propias, y el usuario administrador, tendr acceso a todas las funcionalidades de la aplicacin incluso acceso a la base de datos. Para el usuario tcnico: Rol del usuario Usuario bsico Tcnico
Podr gestionar incidencias: dar de alta nuevas incidencias, proseguir con incidencias abiertas, concluir incidencias o buscar incidencias antiguas. Tambin podr imprimir incidencias o exportarlas a PDF, tanto antiguas como en curso. Adems, podr gestionar sus tareas propias. Finalmente podr dar de alta equipos nuevos para clientes ya existentes.

Conocimientos Habla lingstica Informtica

Tcnico
La aplicacin estar implementada en castellano, por lo tanto deber conocer el idioma oficial del pas. Deber tener un mnimo de conocimientos de informtica, como puede ser utilizar los perifricos principales (ratn y teclado). No es necesario conocimientos de internet para utilizar el aplicativo.

Internet

-4-

TFC .NET (WPF) Ivan Nofuentes Aljama

Motivaciones Documentacin

Tcnico
Entrar los datos de todas las asistencias que realiza diariamente, adems le servir como justificacin del trabajo realizado y la inversin del tiempo. El histrico le permitir dar servicio de informacin sobre asistencias anteriores as como adquirir in know how de otros compaeros En todo momento tendr en pantalla tanto la cola de trabajo propia como las nuevas tareas que le adjudique su responsable. Adems podr ver las salidas planificadas para otros compaeros para estar informado de la asistencia de los mismos.

Dar servicio

Gestin

Atributos fsicos Limitaciones fsicas Edad Gnero

Tcnico
No se prev una accesibilidad especial para usuarios minusvlidos. El promedio de edad esperado ser el que se encuentre entre 18 hasta los 60 aos. Se espera una distribucin predominante del gnero masculino.

Para el usuario responsable: Rol del usuario Usuario bsico Responsable


Podr dar de alta nuevas incidencias, proseguir con incidencias abiertas, concluir incidencias o buscar antiguas. Tambin podr imprimir incidencias o exportarlas a PDF, tanto antiguas como en curso. Adems, podr gestionar sus tareas propias. Finalmente podr dar de alta equipos nuevos para clientes ya existentes. Podr sacar estadsticas de servicios prestados, crear tareas ajenas, modificar tareas ajenas y planificar visitas a clientes. Adems, podr dar de alta nuevos clientes, de baja a clientes existentes o modificar datos de clientes.

Usuario medio

Conocimientos Habla lingstica Informtica

Responsable
La aplicacin estar implementada en castellano, por lo tanto deber conocer el idioma oficial del pas. Deber tener un mnimo de conocimientos de informtica, como puede ser utilizar los perifricos principales (ratn y teclado).

-5-

TFC .NET (WPF) Ivan Nofuentes Aljama

Internet

No es necesario conocimientos de internet para utilizar el aplicativo.

Motivaciones Backup

Responsable
En determinadas puntas de trabajo, el responsable puede ejercer las mismas funciones que un tcnico, de modo que puede documentar incidencias. A criterio del responsable puede sacar estadsticas de servicios para llevar un control del rendimiento que tiene sus tcnicos. A parte de encargar tareas a los tcnicos o modificarlas y planificar visitas, puede crear clientes nuevos o darlos de baja.

Control

Gestin

Atributos fsicos Limitaciones fsicas Edad Gnero

Responsable
No se prev una accesibilidad especial para usuarios minusvlidos. El promedio de edad esperado ser el que se encuentre entre 35 hasta los 60 aos. Se espera una distribucin predominante del gnero masculino.

Para el usuario administrador: Rol del usuario Usuario bsico Administrador


Podr dar de alta nuevas incidencias, proseguir con incidencias abiertas, concluir incidencias o buscar antiguas. Tambin podr imprimir incidencias o exportarlas a PDF. Adems, podr gestionar sus tareas propias. Finalmente podr dar de alta equipos nuevos para clientes ya existentes. Podr sacar estadsticas de servicios prestados, crear tareas ajenas, modificar tareas ajenas y planificar visitas a clientes. Adems, podr dar de alta nuevos clientes, de baja a clientes existentes o modificar datos de clientes. Gestionar el acceso de usuarios y conexin SMTP.

Usuario medio

Usuario avanzado Conocimientos Habla lingstica

Administrador
Deber conocer tanto el castellano como el ingls, por un lado la aplicacin ser en castellano, mientras que es posible que ciertas propiedades de estn en ingls. El administrador deber poseer amplios conocimientos de informtica, ya que ser el encargado del mantenimiento de la aplicacin y el que deber solucionar problemas.

Informtica

-6-

TFC .NET (WPF) Ivan Nofuentes Aljama

Internet

Los conocimientos de Internet aunque no son obligatorios sern aconsejables a la hora de buscar solucin a posibles problemas. Tendr conocimientos sobre software y gestin de servidores.

Diseo

Motivaciones Modificar datos de acceso Gestin de usuarios

Administrador
Cuando un usuario desee cambiar u olvide su contrasea deber cambiarla o facilitarle la contrasea actual. Con la incorporacin o baja de personal, deber actualizar los datos de conexin en la base de datos, creando un perfil nuevo o borrando el antiguo. Cuando un usuario tenga dudas o problemas con la aplicacin, ser el encargado de intentar solventarlas, en ltima instancia se pondr en contacto con el suministrador. Adems frente a posibles actualizaciones, ser el encargado de mantener el sistema al da.

Dar soporte

Atributos fsicos Limitaciones fsicas Edad Gnero

Administrador
No se prev una accesibilidad especial para usuarios minusvlidos. El promedio de edad esperado ser el que se encuentre entre 25 hasta los 40 aos. Indiferente

2.2- Objetivos de la aplicacin El proyecto est enfocado a mejorar la documentacin de las incidencias y su posterior control. Adems, aumentar la productividad del cuerpo tcnico, dado que permitir controlar las asistencias realizadas mediante nmeros de incidencia. De este modo al registrar cada incidencia unitariamente, se evitar la duplicacin de informes por diferentes tcnicos. Partiendo de la base que la asistencia telefnica en la mayora de los casos es gratuita para el cliente, la aplicacin permitir un filtrado exhaustivo de las asistencias, detectando a los clientes que intenten solicitar una asistencia para material adquirido fuera de la compaa o para no clientes. Por otro lado, al disponer tambin de un histrico de todas las asistencias realizadas hasta la fecha, se puede controlar el estado de los equipos propiedad del cliente, as como la productividad de cada miembro del personal. Adems, permite tanto a los usuarios mantener una cola de trabajo ordenada, como al responsable controlar las tareas de sus tcnicos e insertar tareas nuevas.

-7-

TFC .NET (WPF) Ivan Nofuentes Aljama

2.3- Planificacin El proyecto se ha planificado en 7 etapas y estas se han ordenado segn las necesidades del proyecto y entrega de las PAC. Las siete etapas del proyecto son: 1- Plan de proyecto. - Definicin del proyecto. - Planificacin de tareas. - Anlisis de riesgos. - Bsqueda e instalacin del software El plan de proyecto est compuesto por cuatro fases: En la fase definicin del proyecto, se pretende definir de qu trata el proyecto, que funcionalidades tendr, qu podrn hacer los usuarios, etc. En esta fase se buscarn una serie de definiciones para poder acotar exactamente que tareas hay que realizar en concreto. En la planificacin de tareas se organizar el trabajo a realizar, en funcin del tiempo, de modo que se fijen unas pautas temporales a seguir durante todo el proyecto, as que en cada momento se sea consciente de si la evolucin del proyecto es buena o lenta. Como se puede apreciar en el diagrama de Gantt de la siguiente pgina, hay varias tareas que se solapan en el tiempo, como la bsqueda e instalacin de software necesario y el anlisis de requerimientos funcionales o bien la memoria con el resto del proyecto. Esto es debido a que una de las tareas tiene periodos de tiempo muertos, tiempos de espera, por lo tanto, ese tiempo se invierte en iniciar otra de las tareas del planning. Al tratarse de un proyecto de final de carrera, el tiempo es crucial y la planificacin se ha realizado contando seis das a la semana, con una media de cinco horas diarias. Dada la magnitud del proyecto y la implicacin de una sola persona, la probabilidad de tener desviaciones sobre el plan propuesto es muy alta, sobre todo en el apartado 5, la implementacin, aunque se tratarn de solventar esas desviaciones invirtiendo ms tiempo diario al principio del proyecto para intentar compensar esas posibles futuras desviaciones. El anlisis de riesgos expondr las posibles dificultades a las que se enfrentar el desarrollo del proyecto adems de los riesgos que tendr una vez terminado, por lo tanto sern unos puntos a tener en cuenta durante la creacin del mismo. Una vez realizado el anlisis de riesgos habr otro breve pero importante punto, que se trata de la bsqueda e instalacin del software necesario que se utilizar para efectuar el anlisis, programar y ejecutar el proyecto. El siguiente diagrama de Gantt muestra la planificacin prevista para todo el proyecto.

-8-

TFC .NET (WPF) Ivan Nofuentes Aljama

2- Anlisis del proyecto. - Requerimientos funcionales. - Requerimientos no funcionales. En el anlisis del proyecto se trata de decidir que funcionalidad se pretende que tenga, que aspecto debera de presentar, que necesita tener en el programa, etc. Los requerimientos funcionales explicarn de forma detallada que funciones debe realizar el programa y como operar para realizar las funciones descritas, para plasmarlo en los diagramas correspondientes. Mientras que los requerimientos no funcionales definirn como se comportar el hardware y que requisitos debe cumplir para un correcto funcionamiento de la aplicacin. 3- Prototipo - Creacin de interfaz. La creacin de interfaz se trata de un primer contacto con las pantallas de usuario, es decir, en este punto se crearan todas las ventanas en las que el usuario va a trabajar, pero sin funcionalidad, de esta forma se podr hacer una evaluacin heurstica y comprobar si las interfaces son cmodas y eficaces. 4- Diseo del proyecto. - Diagramas de uso. - Diagramas UML. - Diagramas de secuencia.

-9-

TFC .NET (WPF) Ivan Nofuentes Aljama

La fase de diseo engloba la creacin de todos los elementos y diagramas necesarios para la correcta implementacin del producto. Partiendo de las especificaciones obtenidas de los requerimientos anteriores, de modo que este punto contendr todos los diagramas de operatividad usuario-mquina, secuencias de funcionamiento, clases, mtodos, tablas, etc 5- Implementacin. - Creacin de cdigo. - Juego de pruebas. - Correccin de errores. - Manual de usuario. - Creacin del instalable. - Manual de instalacin. Esta fase no es la ms delicada pero s la ms laboriosa puesto que se trata de crear el producto en s. La creacin de cdigo engloba la programacin de todas las clases, mtodos y comunicaciones diseadas previamente en la fase de diseo. Adems de la creacin de todas las tablas y sus relaciones de la base de datos. Posteriormente en juego de pruebas se proceder al test de la aplicacin con plena funcionalidad. Las primeras pruebas se realizarn mediante una evaluacin heurstica, aunque si el tiempo lo permite, no se descarta realizar un test de usuarios mientras se realizan la correccin de errores encontrados en la primera evaluacin. Finalmente, se crear el manual de usuarios, donde se expone el funcionamiento bsico del programa, la creacin de un instalable, que contenga tanto la aplicacin en local como la creacin de la base de datos en el servidor y el manual para la instalacin del producto final. 6- Memoria. - Inicio Memoria. - Fin Memoria. En la fase memoria se realizar la documentacin, se trata de la fase de redaccin de la memoria que servir como referencia al personal que est interesado en el proyecto y que incluir toda la documentacin realizada. 7- Presentacin- Presentacin. Esta ltima fase producir la presentacin final del proyecto para su exposicin frente al tribunal, constar de un video sobre el funcionamiento de la aplicacin con mi voz en off explicando los pasos realizados y el funcionamiento del programa. 2.4- Riesgos principales Existen dos tipos de riesgos. Por un lado los riesgos personales del estudiante y por otro lado, los riesgos propios del proyecto. Los principales riesgos personales son: la tecnologa y el tiempo. - 10 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Por un lado la tecnologa .NET es nueva para m; si bien es cierto que la parte de anlisis o SQL es la misma, independientemente de la plataforma a implementar, hay que tener en cuenta que tanto el uso de las nuevas libreras .NET como WPF para la creacin de interfaces o la funcionalidad de Visual Studio requerirn un periodo de documentacin, investigacin, pruebas y familiarizacin del entorno. Por otro lado, la capacidad de expansin que posee la aplicacin, obliga a marcar unos lmites muy estrictos sobre las necesidades mnimas que cubrir, de modo que se corre el riesgo de intentar abarcar muchas funcionalidades y finalmente no cumplir con los plazos fijados para la entrega del producto. Sin embargo la modularidad de la aplicacin, permitir partir de una versin bsica e ir ampliando funciones en un futuro. Los principales riesgos del proyecto son: Incompatibilidad de software y seguridad. Por una parte, el hecho que trabajar sobre .NET obliga al sistema anfitrin a disponer de este motor instalado, pero no solo el motor de ejecucin, si no una versin concreta, es decir, el hecho de implementar funcionalidades WPF, obliga a disponer del paquete framework 3 o superior, porque los anteriores no disponen de esa funcionalidad. Por lo tanto esta aplicacin no podr funcionar sobre sistemas que no utilicen Microsoft Windows, ni con versiones anteriores a Windows XP. Por otro lado, como ya se ha comentado anteriormente, en la aplicacin existen diferentes tipos de usuarios, lo cual quiere decir que hay que tener en cuenta la seguridad y que cada usuario tan solo pueda acceder a sus funcionalidades. Todos los datos se encontrarn ubicados en la Base de Datos (BDD), de esta forma contaremos con la seguridad que ofrece el Sistema Gestor de Bases de Datos (SGBD).

3. Anlisis
3.1- Requerimientos funcionales La aplicacin trabajar mediante credenciales de usuario, de modo que ser necesaria una autentificacin por parte de este al iniciar la aplicacin. Como todo el personal del servicio tcnico est asociado a un nmero de trabajador, nico e intransferible, se usar este como login de la aplicacin, no obstante se necesitar una contrasea que identificar al usuario junto al nmero de trabajador. En funcin del acceso que tenga el usuario, se presentar la ventana principal, ocultando los controles no permitidos y cargando la parametizacin asignada al usuario autentificado. Las credenciales asignadas a los usuarios sern de tres tipos, que se fijarn en el inicio de la aplicacin: tcnico, responsable y administrador. Las credenciales de los usuarios se tratarn de modo jerrquico, es decir, el usuario responsable dispondr de toda la funcionalidad del tcnico, adems de las propias, y el administrador a su vez, las del responsable y las especficas. - 11 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Una vez autentificado, se acceder a la pgina principal, donde se mostrarn los botones de acceso a las diferentes opciones de la aplicacin, adems, en esta ventana se mostrarn tanto las tareas propias, como las tareas asignadas por el responsable y un calendario con las visitas planificadas, para la semana en curso y una semana vista, de todos los tcnicos del SAT. La funcionalidad de la aplicacin de distribuye principalmente en cuatro grupos: Documentacin: Engloba todas las acciones a la hora de dar asistencia a un cliente, desde la identificacin del cliente y el equipo afectado, hasta el fin (satisfactorio o no) de la asistencia. Histrico: El sistema permite realizar bsquedas de incidencias anteriores, en modo lectura, presentando los informes que coincidan con el nmero de incidencia, cliente o nmero de serie. Tareas: La aplicacin permitir a los usuarios ordenarse la cola de trabajo, as como al responsable aadir tareas a los tcnicos. Visitas: Todos los usuarios podrn comprobar la planificacin del departamento entorno a las salidas, de modo que se pueda prevenir cuando un compaero va a estar fuera.

Seguidamente se especificar ms detalladamente la funcionalidad y la estructura de datos de cada grupo.

3.1.1. Datos A continuacin se detallarn los datos necesarios para llevar a cabo las funciones de la aplicacin. La estructura de la informacin que formar la base de datos se definir en fase de diseo. A parte de los cuatro grupos mencionados antes: documentacin, histrico, tareas y visitas, se han aadido administracin y gestin, que aunque no son modos de trabajo, son funcionalidades propias de la gestin de la aplicacin y herramientas para el control y seguimiento del responsable. 3.1.1.a- Documentacin Los datos relevantes para documentar las incidencias son: Nombre cliente. Persona de contacto. Nmero de serie. Descripcin del equipo. Telfono de contacto. Correo electrnico. Descripcin incidencia. Concluido. Nmero de incidencia. Fecha y hora de inicio de la asistencia. - 12 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Fecha y hora de inicio de la incidencia. Tcnico que ha iniciado la incidencia. Nmero de asistencias realizadas (en la misma incidencia). Fecha y hora de fin de la asistencia. Fecha y hora de fin de la incidencia. Tcnico que ha finalizado la incidencia.

Hay que resaltar que una incidencia puede estar compuesta por ms de una asistencia, por lo tanto, es necesario tratar cada asistencia por separado, pero como parte de un grupo, la incidencia. Adems, en la cabecera de la descripcin deber mostrarse el nombre del tcnico, la fecha y la hora en que se ha iniciado la asistencia. Aunque es un dato redundante, debido a que se muestra en otro lugar de la ventana, cuando la incidencia sea multiasistencia, facilitar el seguimiento del histrico. 3.1.1.b- Histrico Los datos relevantes para el histrico son los mismos que se han utilizado en la documentacin, puesto que el histrico est compuesto por todos las incidencias existentes en la base de datos. 3.1.1.c- Tareas Los datos relevantes para las tareas son: Fecha de inicio. Prioridad. Descripcin. Concluido. Nombre del tcnico. Ordenante. Progreso. Como las tareas pueden ser propias o encomendadas, cada tarea quedar asignada con el nombre del tcnico, en el caso de ser tareas propias, se insertar automticamente al crear la tarea. De igual modo, el dato ordenante solo se utilizar cuando sea una tarea ajena y se insertar automticamente. El dato prioridad a parte de almacenar la urgencia de la tarea, servir para decidir el orden de las tareas en la lista, es decir, se ordenarn por orden de urgencia. Respecto al dato progreso, tendr un valor en modo porcentaje y fraccionado por decenas. 3.1.1d- Visitas Para planificar las visitas se necesitarn los siguientes datos: Fecha y hora de efecto. Nombre de cliente. Persona de contacto. Telfono. Equipo. Nmero de serie. - 13 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Nombre del responsable. Nombre del tcnico. Descripcin de la intervencin.

La fecha de efecto contendr la fecha en que deber realizarse la visita, ser la fecha en que quedar guardada y posteriormente presentada en el sistema. Tanto el equipo como el nmero de serie, describirn que equipo es el averiado y su matrcula, identificador nico. 3.1.1.e- Administracin Solo el usuario administrador podr acceder a modificar estos datos, los datos de administracin son los referentes a los usuarios. Nombre. Cdigo tcnico. Contrasea. ndice de simultaneidad. Tipo de usuario. Correo electrnico.

El dato simultaneidad definir cuantas ventanas tipo formulario, sobretodo en asistencias, podr abrir a la vez cada uno de los usuarios.

3.1.1.f- Gestin. La gestin del servicio tcnico requiere dos grupos de datos. Por un lado la informacin de los clientes y por otro, los datos de las mquinas. Para los clientes se necesitarn: Nombre de la empresa. Cdigo de cliente. Persona del contacto. Telfono. Correo electrnico. Cdigo postal. Descripcin. Clase. Los datos de tipo clase se reservaran para clientes con condiciones especiales o contratos. Para las mquinas se necesitarn: Nmero de serie. Tipo. Descripcin. Mantenimiento. Condiciones especiales. - 14 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Las mquinas se separan por tipos o familias, por ejemplo hardware y software. Mantenimiento, contendr si el equipo tiene un contrato de prioridad, piezas o similar con el SAT o no, y si es as que modalidad de contrato tiene. En condiciones especiales se almacenar si el cliente necesita algn trato especial, como un destino de mercanca diferente, transporte especial, algn accesorio en el equipo, etc 3.1.2- Funcionalidad A continuacin se detallar el funcionamiento de la aplicacin sin contemplar los datos que se deben recoger ni como se guardarn, estos parmetros se realizarn durante el diseo del programa.

3.1.2.a- Documentacin La documentacin trata principalmente de anotar todas las peticiones de asistencia remota que se soliciten, para ello, en la ventana principal se necesitar un botn, el cual abrir un formulario para documentar la incidencia. Cualquier creacin de nuevo formulario debe iniciarse con la identificacin del cliente, ya sea por el nombre de cliente, el cdigo del mismo o el nmero de serie del equipo. Una vez rellenado por lo menos uno de estos campos en el formulario, mediante un botn buscar, todos los campos posibles se rellenarn con los datos importados de la base de datos, pero, en las ocasiones que exista ms de un posible dato para un mismo campo, aparecer una lista con las posibles coincidencias, el operario elegir una e iniciar la asistencia. En el caso de que el mismo nmero de serie ya tenga una incidencia abierta, el sistema dar un aviso al usuario para contrastarlo y que decida si quiere seguirla o bien crear una nueva. Para el caso en que el usuario realice la bsqueda del informe mediante el nmero de incidencia, automticamente abrir el informe deseado, queda claro que es una continuacin de servicio. Para nuevas incidencias, como se indicaba antes, toda la informacin que est disponible en la base de datos, respecto al cliente y equipo, se rellenarn automticamente en el formulario, para los campos que dispongan de ms de una entrada se deber elegir a mano mediante desplegables. Para datos menos relevantes o de fcil variacin (correo, telfono, etc) ser posible la introduccin de datos a mano. Una vez que estn todos los datos correctos en pantalla, mediante un botn Iniciar se asignar un nmero de incidencia que deber retransmitirse al cliente en caso de necesitar una continuacin de esta incidencia. Al iniciarse una asistencia, nueva o continuacin de servicio, el formulario deber incorporar los siguientes datos predefinidos e invariables: Fecha y hora de inicio de la asistencia. Fecha y hora de inicio de la incidencia. - 15 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Tcnico que ha iniciado la asistencia. Nmero de asistencias realizadas (en la misma incidencia). Una cabecera en Descripcin. Nmero de incidencia.

El nmero de incidencia ser nico para todas las asistencias que se realicen sobre un mismo equipo y problema, hasta que se solucione el problema y se concluya la misma. Una vez concluida solo podr ser consultada en modo lectura. Como una incidencia puede constar de muchas asistencias, es importante documentar el nmero de asistencias que componen una incidencia; adems, la cabecera del cuadro descripcin deber iniciarse con el nombre del tcnico y la fecha y hora en que ha introducido los datos, de este modo cuando se realice el histrico quedar patente qu tcnico ha realizado cada una de las operaciones hasta cerrar la incidencia. En el cuadro descripcin, el tcnico deber anotar todo lo relevante al problema del cliente, las pruebas que se realicen durante la llamada y si queda pendiente alguna otra tarea por parte del cliente. En el supuesto que la asistencia quede terminada deber existir un botn para concluirla. Para nuevas asistencias de una incidencia ya abierta, mediante el nmero de incidencia se importar la asistencia anterior en modo lectura como referencia para la nueva asistencia. Los informes de las incidencias se podrn exportar del sistema, bien va PDF o bien imprimindolos en la impresora predeterminada. El usuario responsable podr sacar estadsticas del rendimiento de cada operario, mediante las incidencias que opere cada uno, de modo el responsable podr parametizar la bsqueda de asistencias por intervalos de tiempo o tcnico. 3.1.2.b- Histrico Desde la pgina principal se podr acceder al histrico de incidencias, para ello se abrir un formulario donde se introducirn las condiciones de bsqueda: nmero de incidencia, cliente, nmero de serie, etc cuando el usuario haya rellenado por lo menos uno de los campos, la aplicacin iniciar la bsqueda por medio de un botn. El sistema retornar una lista con todas incidencias que coincidan con los parmetros de bsqueda. De la lista retornada, el tcnico podr; por un lado, elegir un registro, este mostrar los datos de cliente y equipo en pantalla, o por otro lado, abrir la incidencia en modo lectura, en ambos casos, la lista permanecer en pantalla, de modo que el usuario podr consultar varias incidencias de la lista sin tener que repetir la bsqueda cada vez.

3.1.2.c- Tareas La ventana principal deber contener un espacio para alojar las tareas del usuario, este espacio deber estar permanentemente en pantalla y con un tamao razonable, deber ocupar una superficie no inferior a la quinta parte de la ventana.

- 16 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Adems, en la ventana principal deber alojarse un botn que permita crear nuevas tareas. Dicho botn abrir un formulario nuevo donde el usuario introducir los datos referentes a la tarea a programar, fecha de inicio, prioridad, descripcin, etc... Una vez guardado el formulario la tarea deber aparecer en la ventana principal, aunque podr entrar en la tarea y modificarla cuando lo necesite, por ejemplo, modificar la prioridad de la misma. A medida que el operario vaya cumpliendo con la tarea, en el caso de tareas largas, ir actualizando el estado de la misma, aumentando el porcentaje de progresin, de modo que el responsable puede ver en qu estado se encuentra cada tarea. Cuando el tcnico haya cumplido la tarea deber seleccionar la opcin de concluido y la tarea desaparecer de la lista de tareas, pero permanecer en la base de datos para posibles consultas. Por otro lado, el responsable podr enviar tareas a los tcnicos, de modo que tiene que poder elegir al tcnico que ir dirigida la tarea. Adems, cuando se cree una tarea ajena, no solo se aadir en la lista de tareas, si no que se enviar un correo electrnico al usuario de destino notificando dicha tarea. Adems el usuario responsable, podr gestionar las tareas de los usuarios, no solo las encomendadas, sino tambin las propias de casa usuario, de modo que podr modificar preferencias, controlar el estado de las mismas y el rendimiento del personal, dado que podr listar las tareas de los usuarios, tanto pendientes como concluidas. 3.1.2.d- Visitas Las visitas las deber programar el usuario responsable, de modo que el nombre de este se insertar automticamente al abrir la visita, como estas estn ligadas a los clientes y los equipos, antes de nada deber introducir un parmetro de bsqueda, nombre de cliente, nmero de serie, etc, los datos recibidos se rellenarn automticamente y cuando existan varias posibilidades, el usuario podr elegir los datos de un desplegable. Una vez completados los datos y asignado un tcnico, se seleccionar la fecha, adems de una pequea descripcin del motivo de la misma. Al igual que las tareas, cuando se cree una nueva visita, el sistema avisar mediante un correo electrnico al destinatario. El igual que los informes, existir la opcin de exportar el documento completo a PDF o bien imprimirlo por la impresora predeterminada del sistema. Las visitas planificadas, se mostrarn en la pantalla principal, de modo que junto a las tareas ocupen un espacio importante de la interface, debern mostrarse las visitas planificadas para toda la semana en curso y la semana siguiente, aunque el usuario podr navegar por la agenda de las visitas mediante un calendario. 3.1.2.e- Gestin En funcionalidad, la administracin formar parte de la gestin, aunque solo tendr acceso el usuario administrador.

- 17 -

TFC .NET (WPF) Ivan Nofuentes Aljama

En la ventana principal, solo para usuarios con credenciales de responsable o administrador, aparecer un botn ms para la gestin. La gestin se realizar mediante una nueva ventana que permitir realizar los trmites de adicin y mantenimiento de los datos almacenados, principalmente datos de clientes, equipos y usuarios. Por un lado, los clientes se podrn dar de alta, modificar sus datos existentes o bloquearlos -- es preferible bloquearlos para que no se puedan utilizar que borrarlos, debido al histrico que puede colgar de ellos--; por otro lado, los equipos tambin podrn crearse, modificarse o bloquearse, aunque estos siempre debern ir ligados a un cliente. No obstante, la gestin de la aplicacin y de los usuarios solo ser posible por parte del administrador, de modo que estos controles quedarn ocultos a la vista del responsable. Para gestionar a los usuarios, se utilizar el mismo mecanismo que en el caso de los clientes o equipos, tambin se podrn crear, modificar o bloquear. Como parte de la aplicacin requiere de envo de correo electrnico, se necesitar un apartado para configurar las opciones del servidor de envo, de modo que el administrador necesitar acceder a estos datos para su mantenimiento (creacin o modificacin).

3.2- Requerimientos no funcionales Los requerimientos no funcionales se mostrarn agrupados en los siguientes puntos: - Arquitectura: La aplicacin se desarrollar en Visual Studio 2008, cumpliendo con el estndar .NET, en su versin 3.5 o superior, las interfaces se desarrollarn mediante WPF y la comunicacin se realizar por medio de WCF. Se necesitar un servidor que albergue la base de datos, para ello ser necesario que disponga del software SQL server 2005 o superior. - Escalabilidad: La aplicacin deber implementarse sobre una base de desarrollo evolutivo e incremental, de manera que se puedan incorporar nuevas funcionalidades y requerimientos, afectando estos lo mnimo posible al cdigo existente; para ello se deber incorporar tcnicas de reutilizacin de componentes. El sistema deber permitir el desarrollo de nuevas funcionalidades, modificarlas o eliminarlas despus de su construccin y puesta en marcha inicial. - Disponibilidad: El rendimiento tanto del servidor como de la LAN deber ser suficiente para dar servicio ininterrumpido al menos a tres equipos cliente simultneamente.

- 18 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Los clientes se conectarn a la base de datos mediante una LAN, por ese motivo es necesario asegurar un ancho de banda suficiente para el correcto funcionamiento, sin retrasos en la comunicacin. El sistema deber ofrecer una disponibilidad los ms cercana al 100% durante el horario laboral (por ejemplo, de 9:00 a 18:00, excepto das festivos), garantizando un esquema adecuado que prevenga un posible fallo en cualquiera de los componentes. En caso de fallo en algn componente, no deber perderse informacin. Deben contemplarse requerimientos de consistencia transaccional; ante un fallo de la aplicacin se deber contar con mecanismos que controlen la interrupcin de transacciones para que estas finalicen de manera correcta. - Desempeo: La aplicacin deber ofrecer un buen desempeo del sistema ante una alta demanda, acorde a los requerimientos funcionales y no funcionales de la solucin; el tiempo promedio no ser mayor a 5 segundos sobre operaciones transaccionales. La informacin almacenada podr ser consultada y actualizada permanente y simultneamente, sin que se afecte el tiempo de respuesta. Los datos almacenados no se podrn borrar, en el caso de no ser necesarios estos constarn como peticin de borrado, pero podrn ser consultables. - Seguridad: El acceso a la aplicacin deber estar restringido mediante el uso de contraseas, asignadas a cada usuario. Slo podrn acceder a la aplicacin los usuarios que estn registrados, los cuales estarn clasificados por sus roles, con diferentes parmetros de trabajo para cada rol. La aplicacin debe ser capaz de rechazar accesos o modificaciones indebidas (no autorizadas) a la informacin y proveer de los servicios requeridos a los usuarios autentificados. - Mantenibilidad: El cdigo deber estructurarse de manera consistente y predecible, tambin se debe asegurar que el diseo de las interfaces contemple que las propiedades pblicas y los parmetros de los mtodos sean de un tipo comn. Todo el sistema deber estar complemente documentado, cada uno de los componentes del software que forme parte de la solucin propuesta deber estar debidamente documentado tanto en el cdigo fuente como en los manuales. - Ingreso de informacin: La aplicacin no deber permitir el cierre de una operacin sin que todos sus procesos y subprocesos relacionados, hayan sido terminados y cerrados convenientemente. El ingreso de informacin a la base de datos deber efectuarse mediante transacciones que no permitan el ingreso de datos de forma parcial, adems, la aplicacin validar automticamente la informacin contenida en los formularios de ingreso de datos. En el proceso de validacin de la informacin, se debern tener en cuenta aspectos como obligatoriedad de campos, longitud de caracteres permitida por campo, manejo de tipos de datos, etc - 19 -

TFC .NET (WPF) Ivan Nofuentes Aljama

La aplicacin deber presentar mensajes de error que permitan al usuario identificar el tipo de error y comunicarse con el administrador del sistema. - Instalacin: La aplicacin deber ser fcil de instalar en todas las plataformas de hardware y software que tengan instalado el motor framework 3.5 o superior, as como permitir su instalacin en diferentes resoluciones de pantalla. Los datos de conexin en el cliente se parametizarn en tiempo de instalacin, para posteriores cambios se deber modificar directamente el fichero de configuracin, XML o reinstalar el cliente. El resto de parmetros se definirn en la base de datos para cada usuario. - Otros Requerimientos: La aplicacin debe fomentar el desarrollo de la cultura que minimice el uso del papel. Para ello, hasta donde sea posible, deber hacer uso de las diferentes caractersticas de la tecnologa, tales como documentos electrnicos, etc Garantizar que el diseo de las consultas no afecte el desempeo de la base de datos, ni considerablemente el trfico de la red.

4. Prototipo interfaces
Para desarrollar el prototipo se han seguido las 10 normas de evaluacin heurstica, descritas por Jakob Nielsen, en cada paso se ha introducido una pequea explicacin a nivel de ejemplo sobre cmo se ha implementado la norma en la aplicacin: 1. Visibilidad del estado del sistema: El sistema debe siempre mantener a los usuarios informados del estado del sistema, con una realimentacin apropiada y en un tiempo razonable. Todas las tareas que desempea la aplicacin, estn ligadas a una base de datos, por lo tanto cundo la conexin caiga el programa dejar de trabajar, mostrando un error explicativo. Adems en la pantalla principal aparecer el nombre del usuario autentificado, de forma que quedar patente quin es el usuario.

2. Concordancia entre el sistema y el mundo real: El sistema debe hablar el lenguaje de los usuarios, con las palabras, frases y los conceptos familiares al usuario, en lugar de que los trminos estn orientados al sistema. Utilizar convenciones del mundo real, haciendo que la informacin aparezca en un orden natural y lgico. Aunque se ha utilizado lenguaje coloquial, hay algn trmino del mundo tcnico de uso habitual, SAT, FAX, nmero de serie, etc...

- 20 -

TFC .NET (WPF) Ivan Nofuentes Aljama

3. Control y libertad para el usuario: Los usuarios eligen a veces funciones del sistema por error y necesitan a menudo una salida de emergencia claramente marcada. Cada opcin de la aplicacin se realiza en un apantalla diferente, por lo tanto frente a un posible error del usuario, al cerrar la ventana errnea le llevar de nuevo a la pantalla principal.

4. Consistencia y estndares: Los usuarios no deben tener que preguntarse si las diversas palabras, situaciones, o acciones significan la misma cosa. En general sigue las normas y convenciones de la plataforma sobre la que est implementando el sistema. El diseo se ha realizado siguiendo unos estndares intuitivos, agrupando las acciones en conjuntos de funciones y los datos en el resto, de modo que la dinmica de trabajo es siempre la misma.

5. Prevencin de errores: Es mejor prevenir un error que disear buenos mensajes de error. Se han de prevenir las condiciones propensas a errores y detectar los errores ms comunes por el usuario. Cuando el usuario introduce cualquier dato a mano este es verificado antes de enviarlo a la base de datos. Adems todos los datos ya existentes se mostrarn mediante desplegables, para que de este modo el usuario los seleccione en lugar de introducirlos manualmente.

6. Reconocer mejor que recordar: El usuario no debera tener que recordar la informacin de una parte del dilogo a la otra. Es mejor mantener objetos, acciones, y las opciones visibles que memorizar. El usuario no deber memorizar nada dado que toda la informacin necesaria se mostrar en pantalla cuando le sea requerida una decisin. Todos los datos ya existentes se mostrarn mediante desplegables, para que de este modo el usuario los seleccione en lugar de introducirlos manualmente. 7. Flexibilidad y eficiencia de uso: Los aceleradores no vistos por el usuario principiante, mejoran la interaccin para el usuario experto de tal manera que el sistema puede servir para usuarios inexpertos y experimentados. Permitir a los usuarios ajustar a su medida las tareas frecuentes. Se ha desestimado introducir un acceso rpido, porque la estructura de la aplicacin solo presenta dos niveles y la propia botonera de la pgina principal hace de mapa.

- 21 -

TFC .NET (WPF) Ivan Nofuentes Aljama

8. Los dilogos estticos y diseo minimalista: No deben contener la informacin que sea irrelevante o se necesite raramente. Cada unidad adicional de la informacin en un dilogo compite con las unidades relevantes de la informacin y disminuye su visibilidad relativa. La aplicacin se ha diseado sin exceso de entorno grfico, fondos grises para no cansar tanto la vista y elementos de inters y manipulado en degradado de azul, adems los botones se iluminan cuando estn seleccionados, de modo que no hay posibilidad de fallo por descuido.

9. Ayudar a los usuarios a reconocer, diagnosticar y recuperarse de los errores: Los mensajes de error se deben expresar en un lenguaje claro (no cdigos), se debe indicar exactamente el problema, y deben ser constructivos y con sugerencias para solucionarlo. Cuando aparece un mensaje de error porque falta algn dato antes de seguir, aparecen unos mensajes en rojo, con el campo exacto al que le falta el dato y un asterisco junto al campo.

10. Ayuda y documentacin: Aunque es mejor si el sistema se puede usar sin documentacin, puede ser necesario disponer de ayuda y documentacin. sta tiene que ser fcil de buscar, centrada en las tareas del usuario, tener informacin de las etapas a realizar y que no sea muy extensa. Este punto no se ha tenido en cuenta en modo grfico, puesto que la aplicacin es muy intuitiva y para cualquier operacin especial se puede recurrir al manual de usuario.

4.1- Interfaces Toda la aplicacin se ha elaborado siguiendo la misma poltica de presentacin, fondos grises en lugar de blancos, para no cansar la vista del usuario, tres tamaos de letras: 9, 12 y 16 para las ventanas, y 36 para el ttulo de la ventana inicial. Siguiendo las normas minimalistas, el uso del color se reduce a uno, un azul degradado a blanco (podra ser un color corporativo). Para facilitar la percepcin del uso de los controles se ha colocado un icono en cada botn de accin para ayudar al texto con una metfora. Adems, aunque en la presentacin fotogrfica de las ventanas no pueda apreciarse, cada botn tiene predefinido un toolTip, es decir, al pasar el puntero del ratn por encima de un botn aparece un pequeo texto explicativo de la funcionalidad de dicho botn, por lo tanto, adems de disipar cualquier duda que pueda surgir con el texto o la imagen del botn, deja una puerta abierta para implementar ayudas a personas con deficiencias visuales como explicaciones auditivas de los toolTip.

- 22 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Ventana de autentificacin (inicial)

Una vez introducido el usuario y la contrasea, el programa validar los datos de conexin contra la base de datos al pulsar Conectar, si son correctos iniciar el entorno de trabajo predefinido para el usuario validado. Por el contrario, si se pulsa salir, se cerrar la ventana de autentificacin y con ella la aplicacin. Dada la utilidad de la ventana y la escasez de interaccin con ella, esta ser de tamao fijo, es decir, no podr ni aumentarse ni reducirse, nicamente minimizarse.

Ventana principal

La ventana principal ser el centro de la aplicacin, aunque es completamente redimensionable, se ha diseado para que todos los elementos necesarios quepan en una presentacin mnima de 800x600, a partir de ah al ganar tamao mejorar la visibilidad de los datos en tareas y visitas, el resto de iconos permanecer igual. Donde indica GridViewColumn se mostrar una lista de la cola de trabajo que tiene cada operario, ordenadas por orden de prioridad y en la cuadrcula de la derecha, bajo el calendario, se ubicarn las visitas programadas para la semana en curso y la siguiente, quedando ordenados los das de la semana verticalmente, de lunes a viernes.

- 23 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Ventana de nuevo informe

Esta ventana tambin es completamente redimensionable. Cuando la ventana se maximice, el espacio se aadir a los campos desplegables y al cuadro de texto, donde se documentar la asistencia, el resto de elementos permanecer con el mismo tamao pero desplazado hacia los extremos. Se han colocado dos pestaas de modo que el operario pueda trabajar en una de ellas, Actual, y disponga de la informacin relativa a asistencias anteriores en la pestaa Historia. De este modo una incidencia no se cie a un solo operario, si no que puede atender al cliente cualquier tcnico, sin tener que repetir pasos anteriores ni solicitar al cliente que empiece de nuevo. Adems esta ventana permite tanto imprimir en la impresora predeterminada como exportar a PDF el informe de la asistencia o todo el informe completo de la incidencia, en funcin del tipo de asistencia. Operativamente, se ha buscado la mxima facilidad para el usuario, de modo que este deba introducir la menor cantidad posible de datos; en su lugar se ha elegido una mtodo de presentacin y seleccin de datos automtico, de este modo se busca una interaccin ms dinmica con el operador de la aplicacin. Ventana de bsqueda

- 24 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Esta ventana tambin es completamente redimensionable. Se ha diseado de forma polivalente, de modo que se utilizar tanto para bsqueda de incidencias antiguas (histrico), como clientes, equipos, usuarios o configuracin; cuando se llame a la ventana en tiempo de ejecucin, se modificarn los ttulos de los campos para adaptar la ventana a la informacin a tratar. A parte de los datos, a nivel grfico, la nica diferencia entre ellas es que al ser llamada desde bsqueda de informes, el recuadro con los botones que est alojado en la parte superior no aparecer, puesto que solo es til para la gestin de la informacin y los botones Modificar y Guardar solo sern visibles desde el usuario responsable. El funcionamiento ser bsicamente el mismo para todas las configuraciones, el usuario deber insertar al menos un parmetro de bsqueda y pulsar el botn Buscar, el resultado de la bsqueda aparecer en la tabla y al elegir un registro, este se presentar en los campos inferiores. Ventana de tareas

Al igual que la ventana principal, el cuadro de Asignacin de tareas, solo estar activo para el usuario responsable, para el resto, el campo Tcnico: vendr dado al iniciar y ser el propio usuario que inserta la tarea (tarea propia). Por defecto, las tareas sern propias y en curso, de modo que, cuando un usuario responsable necesite enviar una tarea a un tcnico, al elegir tarea ajena, automticamente se insertar el nombre del responsable en su campo, y el nombre del tcnico pasar a ser seleccionable. Ventana control

- 25 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Esta ventana tambin es completamente redimensionable y se ha diseado para que todos los elementos necesarios quepan en una presentacin de 640x480. Los parmetros de bsqueda se utilizan tanto para las incidencias como para las visitas o en las tareas. Mediante la pestaas, el usuario puede elegir para qu tipo de funcionalidad quiere controlar el estado. Adems esta ventana permite tanto imprimir como exportar a PDF el informe del control realizado. Ventana visitas

La funcionalidad de la ventana es parecida a las de bsqueda ya mencionadas, el usuario selecciona un tcnico, introduce un parmetro de bsqueda y lanza la bsqueda de los datos, termina de seleccionar los datos restantes e introduce el motivo de la visita en descripcin. Adems esta ventana tambin permite tanto imprimir como exportar a PDF el informe de la visita.

5. Diseo del proyecto


5.1- Casos de uso El esquema de casos de uso, debido a su tamao, se ha partido en tres trozos, de modo que quedara ms claro y fcil de leer. Dada la extensin de la documentacin completa, solo se comentarn los casos de uso principales, los secundarios e intuitivos como Abrir registro, Guardar o Bsqueda de datos se pasarn por alto dado que estos quedan perfectamente identificados en la descripcin de requerimientos funcionales.

- 26 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Diagrama de casos de uso general

Caso de uso Logearse1. - Resumen de la funcionalidad: El usuario se autentifica frente a la aplicacin para validar su entrada. - Actor: Tcnico. - Casos de uso relacionados: Documentar incidencia, Histrico y Tareas. - Precondicin: El usuario debe iniciar la aplicacin. - Postcondicin: La aplicacin arranca con la pantalla principal. - Proceso normal principal: 1- El usuario ejecuta la aplicacin. 2- Introduce su usuario, contrasea y pulsa el botn conectar. Alternativas de proceso o excepciones 1.1- Usuario no registrado. 1.1.1- El sistema retorna un error y lanza un mensaje.

Caso de uso Historico. - Resumen de la funcionalidad: El usuario autentificado, pulsa el botn de histrico y busca la informacin archivada sobre una incidencia o cliente. - Actor: Tcnico.

Los usuarios responsable y administrador tambin debern estar logados para entrar

- 27 -

TFC .NET (WPF) Ivan Nofuentes Aljama

- Casos de uso relacionados: Seleccionar registro. - Precondicin: El usuario debe estar validado. - Postcondicin: Lista de coincidencias con los parmetros de entrada. - Proceso normal principal: 1- El usuario pulsa el botn de Histrico. 2- Introduce al menos un parmetro de bsqueda. 3- Pulsa el botn buscar. 4- El sistema lanza el caso de uso Seleccionar registro. Alternativas de proceso o excepciones 3.1- No existen datos para los parmetros introducidos. 3.1.1- El sistema retorna un error y lanza un mensaje.

Caso de uso Seleccionar registro. - Resumen de la funcionalidad: El usuario elige un registro de la lista entregada y el sistema lo muestra en campos sobre la misma pantalla o abre el registro. - Actor: Tcnico. - Casos de uso relacionados: Abrir registro. - Precondicin: El sistema debe haber presentado la lista de coincidencias. - Postcondicin: Quedan presentados los datos del formulario elegido. - Proceso normal principal: 1- El usuario selecciona un registro con un doble click. 2- El sistema ejecuta el caso de uso Abrir registro. Alternativas de proceso o excepciones 1.1El usuario selecciona el registro con un solo click. 1.2El sistema presenta en la parte inferior la informacin relevante.

Caso de uso Tareas ajenas: - Resumen de la funcionalidad: El usuario responsable puede crear o modificar las tareas de sus tcnicos. - Actor: Responsable. - Casos de uso relacionados: Tareas. - Precondicin: El usuario debe estar validado. - Postcondicin: Se abrir una tarea para su creacin. - Proceso normal principal: 1- El usuario pulsa el botn Tareas. 2- El sistema abre la ventana Tareas(modo responsable). - 28 -

TFC .NET (WPF) Ivan Nofuentes Aljama

3- El usuario pincha en tarea ajena y selecciona un tcnico. 4- El sistema llama al caso de uso Tareas. 5- El sistema enva un correo de notificacin al tcnico.

Caso de uso Tareas: - Resumen de la funcionalidad: El usuario puede crear o modificar sus tareas personales, que forman la cola de trabajo. - Actor: Tcnico. - Casos de uso relacionados: Nueva tarea, Visualizar tarea y Tarea ajena. - Precondicin: El usuario debe haber validado. - Postcondicin: Se abrir una tarea para su creacin o modificacin - Proceso normal principal: 1- El usuario pulsa el botn Tareas. 2- El sistema llama al caso de uso Nueva tarea. Alternativas de proceso y excepciones. 1.1 - El usuario selecciona una tarea de la lista. 1.2 - El sistema ejecuta el caso de uso Visualizar tarea.

Diagrama de casos de uso Documentar incidencia

Caso de uso Documentar incidencia. - Resumen de la funcionalidad: El usuario introducir en el sistema los datos relevantes a una asistencia realizada por va telefnica o mediante correo electrnico. - Actor: Tcnico. - Casos de uso relacionados: Continuacin y Nueva. - Precondicin: El usuario debe estar registrado. - 29 -

TFC .NET (WPF) Ivan Nofuentes Aljama

- Postcondicin: La aplicacin muestra la ventana de formulario. - Proceso normal principal: 1- El usuario pulsa el botn Asistncia. 3- El sistema muestra la pantalla de formularios. 4- El usuario introduce al menos un parmetro de bsqueda y pulsa buscar. 5- El sistema retorna los datos encontrados. 6- El usuario elige los datos del cliente entre las posibilidades entregadas y pulsa el botn iniciar. 7- La aplicacin lanza el caso de uso Nueva. Alternativas de proceso o excepciones 5.1- Datos no encontrados. 5.1.1- El sistema retorna un error y lanza un mensaje. 7.1- Encuentra una incidencia abierta. 7.1.1- El sistema lanza un mensaje de advertencia. 7.1.2- El usuario acepta. 7.1.3- El sistema lanza el caso de uso Continuacin. Caso de uso Nueva. - Resumen de la funcionalidad: El usuario introduce todos los datos relevantes a la asistencia que le est realizando al cliente. - Actor: Tcnico. - Casos de uso relacionados: Iniciar incidencia. - Precondicin: El usuario debe haber pulsado Iniciar sin errores de retorno. - Postcondicin: Se inicia una nueva asistencia en el sistema. - Proceso normal principal: 1- El sistema entrega un nmero de INC. 2- El sistema lanza el caso de uso Iniciar incidencia con el INC obtenido.

Caso de uso Continuacin. - Resumen de la funcionalidad: Ya existe una asistencia para el equipo dado, por lo tanto no se puede crear una nueva. Se debe seguir la abierta. - Actor: Tcnico. - Casos de uso relacionados: Guardar y Cancelar. - Precondicin: El sistema debe haber presentado la lista de coincidencias y el aviso. - Postcondicin: Se aade una nueva asistencia a la incidencia abierta. - Proceso normal principal: 1- El usuario acepta la ventana informativa. 2- El sistema abre la ventana de formulario con el histrico cargado. - 30 -

TFC .NET (WPF) Ivan Nofuentes Aljama

3- El usuario documenta la asistencia en descripcin y guarda. 4- El sistema lanza el caso de uso Guardar. Alternativas de proceso o excepciones 3.1- El usuario cancela la asistencia. 3.1.1- El sistema lanza el caso de uso Cancelar. Casos de uso Gestin interna

Caso de uso Gestin interna. - Resumen de la funcionalidad: El usuario podr gestionar los servicios internos del SAT, control de trabajadores, planificacin de visitas o gestin de datos. - Actor: Responsable. - Casos de uso relacionados: Gestin clientes, Gestin equipos, Visitas, Control. - Precondicin: El usuario debe estar registrado y ser responsable o administrador. - Postcondicin: La aplicacin abre la ventana de trabajo. - Proceso normal principal: 1- El usuario pulsa el botn Gestin interna. 2- El sistema abre la pantalla de gestin interna. 3- El sistema lanza el caso de uso Gestin clientes. Alternativas de proceso o excepciones 1.1- El usuario pulsa el botn Visitas. 1.1.1- El sistema abre la pantalla de visitas. 1.1.2- El sistema lanza el caso de uso Visitas. 1.2- El usuario pulsa el botn Control. 1.2.1- El sistema abre la pantalla de Control. 1.2.2- El sistema lanza el caso de uso Control de usuarios. 4- El usuario selecciona Equipos. 4.1- El sistema lanza el caso de uso Gestin de equipos. - 31 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Caso de uso Gestin clientes2. - Resumen de la funcionalidad: El usuario podr crear, visualizar y modificar los datos de los clientes. - Actor: Responsable. - Casos de uso relacionados: Crear, Modificar. - Precondicin: El usuario debe haber pulsado el botn Gestin interna. - Postcondicin: La aplicacin permitir crear, buscar o modificar los datos de clientes. - Proceso normal principal: 1- El usuario pulsa el botn crear. 2- El sistema lanza el caso de uso Crear. Alternativas de proceso o excepciones 1.1- El usuario introduce al menos un parmetro de bsqueda y pulsa Buscar. 1.1.1- El sistema retorna una lista con las coincidencias. 1.1.2- El usuario selecciona un registro. 1.1.3- El sistema muestra los datos del registro en pantalla. 1.1.4- El usuario pulsa el botn modificar. 1.1.5- El sistema lanza el caso de uso Modificar. 1.2.1- El sistema no encuentra resultados para la bsqueda. 1.2.1.1- El sistema lanza una pantalla de error. Caso de uso Visitas. - Resumen de la funcionalidad: El usuario podr crear, visualizar y modificar las visitas planificadas. - Actor: Responsable. - Casos de uso relacionados: Crear, Modificar. - Precondicin: El usuario debe haber pulsado el botn Visitas o haber seleccionado una visita ya planificada del calendario. - Postcondicin: La aplicacin permitir crear o modificar visitas.. - Proceso normal principal: 1- El usuario pulsa el botn crear. 2- El sistema lanza el caso de uso Crear Alternativas de proceso o excepciones 1.1- El usuario selecciona una visita del calendario (pgina principal). 1.1.1- El sistema abre la ventana de visitas con los datos de la misma. 1.1.2- El sistema lanza el caso de uso Modificar. 1.1.3- El sistema enva un correo a todos los tcnicos.
El caso de uso Gestin de equipos, Gestin usuario y Configurar app tienen el mismo comportamiento con diferente informacin.
2

- 32 -

TFC .NET (WPF) Ivan Nofuentes Aljama

5.2- Diagramas UML El diagrama UML costa de tres fases, por un lado, el mapa de clases, un diagrama con las necesidades de clases y atributos, para que la aplicacin cumpla los requisitos. Seguidamente el diagrama de esttico, se trata de adecuar el primer diagrama de clases a las restricciones que presenta el tipo de programacin elegido (objetos). Finalmente el diagrama de implementacin, diagrama del cual se extraen directamente las clases a utilizar con las relaciones creadas. 5.2.1- Diagrama de clases

5.2.2- Diagrama esttico Para transformar un diagrama de clases en uno de esttico, se han seguido los siguientes pasos: 1- Preproceso: El primero paso para transformar un diagrama de clases en un diagrama esttico es normalizar los nombres de las clases y los atributos, de modo que no creen conflictos con el lenguaje a utilizar. Tambin se tendrn que reconsiderar la utilizacin de algunas clases, si esas pueden quedar albergadas dentro de otras ms generales. En el caso que nos ocupa, se han modificado los nombres de las clases Contacto cliente por Contactos y a la clase Conexin se le ha retirado el acento. Adems, tambin se ha retirado el acento al atributo parmetro de la clase Conexin. 2- Adaptacin de la herencia a un nivel soportado por el lenguaje: (no usado) 3- Transformacin de las clases asociativas (reificacin): (no usado) 4- Eliminacin de las asociaciones n-arias (n>2):

- 33 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Para eliminar las asociaciones n-arias (para ms de dos participantes), se substituye la asociacin por una nueva clases que se relacionar con los diferentes participantes de la asociacin original, aunque en este caso, en lugar de crear una clase nueva se ha seguido la poltica de la reificacin, se ha usado una clase comn como si fuese una clase asociativa. Para la primera asociacin n-aria (Visita, Usuario, Contactos, Equipo), se ha utilizado Visita como clase central y para la segunda asociacin (Contactos, Asistencia, Usuario, Equipo), se ha utilizado Asistencia. Una vez aqu, el diagrama resultante sera:

5- Implementacin del diseo: Ahora el diseo es directamente implementable en lenguaje de programacin orientada a objetos, substituyendo las asociaciones por un atributo de tipo clase asociada en cada asociacin binaria. Las clases que tienen multiplicidad * obtendrn un atributo del tipo clase asociada, pero la clase que tiene multiplicidad 1, obtendr como atributo un array de objetos del tipo clase asociada. El diagrama resultante una vez implementado ser:

- 34 -

TFC .NET (WPF) Ivan Nofuentes Aljama

5.3- Diseo de la base de datos relacional Para crear la base de datos relacional necesaria para albergar todos los datos de la aplicacin se partir del diagrama esttico, puesto que ya tiene deshechas las asociaciones n-arias y simplificar la tarea de crear las claves. El diagrama de tablas resultante ser:

Como se puede ver en el diagrama, se ha optado por aadir un atributo autonumrico como clave principal en lugar de la combinacin de claves forneas, de este modo se facilita el tratamiento de datos y se simplifica la condicin de datos nico e irrepetible de la clave principal.

- 35 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Las tablas resultantes sern: Usuario (numTecnico, nombre, password, tipo, correo, ventanas) Cliente (codCliente, nombre, descripcion, codPostal, clase, tlfCentralita) Contactos (IDContact, nombre, telfono, email, codCliente) codCliente es clave fornea de Cliente Equipo (numSerie, tipo, descripcion, contrato, condEspec, codCliente) codCliente es clave fornea de Cliente Visitas (IDVisita, fechaEfecto, descripcin, numSerie, IDContact, numTecnico) numSerie es clave fornea de Equipo. IDContact es clave fornea de Contactos. numTecnico es clave fornea de Usuario. Tareas (IDTarea, fechaInicio, prioridad, descripcion, concluido, propia, progreso, numTecnico) numTecnico es clave fornea de Usuario. Incidencia (numeroINC, fechaIni, fechaFin, numAsis, numSerie, concluido) numSerie es clave fornea de Equipo. Asistencia (IDAsis, fechaIni, fechaFin, descripcion, IDcontact, numTecnico, numINC) IDContact es clave fornea de Contactos. numTecnico es clave fornea de Usuario. numINC es clave fornea de Incidencia Conexion (IDConexion, parametro, valor )

5.4- Diagrama de secuencia El diagrama de secuencia se ha dividido en dos partes, por un lado, las acciones del usuario tcnico, que son comunes a todos los usuarios, y por otro lado, las acciones de los usuarios responsable y administrador. En el segundo diagrama, no se implementa las secuencias del usuario administrador, dado que las acciones son las mismas que realiza el responsable para realizar bsquedas o modificaciones de clientes o equipos pero con las credenciales de administrador para usuarios o datos de conexin.

- 36 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Diagrama bsico

- 37 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Diagrama avanzado

- 38 -

TFC .NET (WPF) Ivan Nofuentes Aljama

6. Manual de usuario
Dado que la aplicacin dispone de tres tipos de usuarios, el manual se ha repartido de la misma manera, de modo que un usuario responsable tiene todas las funcionalidades de un usuario tcnico y un usuario administrador tendr acceso total a la aplicacin. 6.0.1- Inicio y acceso Realizando un doble click sobre el icono del escritorio o seleccionando el ejecutable del grupo de carpetas, se lanzar la aplicacin; presentando una pantalla de acceso, con dos campos para insertar datos.

Una vez rellenados los dos campos con el nmero de tcnico y la contrasea asignadas, el botn Conectar validar los datos y dar acceso a la aplicacin. En cualquier momento, el botn Salir cierra la ventana y la aplicacin.

6.1- Usuario bsico Usuario inicial, puede crear informes de incidencias nuevas y continuaciones de incidencia abiertas, as como crear contactos nuevos para clientes existentes, tambin podr crear y modificar tareas propias o visualizar las visitas planificadas, pero carece de privilegios para modificar informacin de la base de datos. 6.1.1- Ventana principal La pgina principal de la aplicacin para este usuario, se compone de tres reas: botonera, cuadro de tareas y cuadro de visitas. Para cerrar la aplicacin pulsar sobre la X de la ventana.

- 39 -

TFC .NET (WPF) Ivan Nofuentes Aljama

rea de botones. El rea de la botonera contiene tres botones: - Nuevo informe: Crea nuevas asistencias para incidencias nuevas o contina incidencias ya creadas no concluidas. - Bsqueda de informes: Busca informes de las incidencias almacenados en la base de datos. - Aadir tarea: Crea una tarea para la cola de trabajo, esta se aadir al cuadro de tareas. Cuadro de tareas. El cuadro de tareas contiene la cola de trabajo personal de cada tcnico. Cada uno podr aadir tareas propias y actualizar el estado de las existentes. Las tareas se muestran ordenadas por orden de prioridad y cuando las tareas se concluyen, son eliminadas de la lista. Mediante un doble click sobre una tarea, est se lanza en su ventana original, para que el usuario pueda actualizar o modificar los datos existentes en ella. Solo es posible modificar una tarea a la vez, es decir, la aplicacin no permite abrir ms de una ventana de tarea en modo actualizacin simultneamente. Cuadro de visitas. Esta cuadrcula presenta las visitas programadas para la semana en curso y la siguiente, de modo que todos los usuarios pueden ver la disponibilidad del resto. Mediante el calendario superior, se puede elegir un da cualquiera, y automticamente se mostrarn las visitas programadas para la semana del da seleccionado y la siguiente. La vista inicial del calendario es en vista de da, muestra los das del mes en curso. Pulsando un click sobre el ttulo, mayo de 2011, el calendario pasa de vista de da a vista de mes y muestra los meses del ao. Pulsando nuevamente sobre la barra del ttulo, 2011, el calendario pasa de vista de mes a vista de ao, mostrando la dcada actual. En todos los casos, con las flechas laterales se puede modificar la horquilla de tiempo mostrada y avanzar y retroceder en el tiempo.

A travs del botn Hoy la cuadrcula se actualiza y vuelve a su fecha original. Efectuando un doble click sobre una visita, esta se abre en su ventana original para que el usuario pueda ver todos los datos de la misma, como las visitas no son modificables, esta ventana se abre en solo lectura. - 40 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Al igual que las tareas, la aplicacin solo permite abrir una ventana de visitas en modo lectura. La usabilidad de cada funcin se detallar en el apartado de cada una de ellas. 6.1.2- Botn Nuevo formulario Este botn lanza la funcionalidad para crear y modificar la documentacin de las asistencias telefnicas o en lnea. Esta ventana est dividida en tres partes (de arriba a abajo), datos de la asistencia/incidencia, datos del cliente y equipo, y descripcin del problema y medidas tomadas. Para iniciar una asistencia ser necesario insertar algn parmetro de bsqueda; la bsqueda puede realizarse por cuatro medios diferentes: si se trata de una continuacin de incidencia, mediante el nmero de incidencia entregado anteriormente al cliente; si no se dispone de este nmero o bien se trata de una incidencia nueva, se puede realizar la bsqueda por cliente, equipo o nmero de serie. En los tres casos, el sistema est preparado para buscar la palabra exacta o bien una parte de ella, de modo que para buscar un cliente no es necesario saber toda la descripcin del mismo.

Los parmetros de bsqueda se introducen en los mismos campos donde se mostrarn posteriormente los resultados. Una vez introducido un parmetro de bsqueda, mediante el botn Buscar, se inicia la bsqueda en la base de datos, los resultados obtenidos, se insertarn en el desplegable.

A medida que el usuario va eligiendo datos, estos se colocan en las cajas y se bloquean, de modo que no pueda haber cambios accidentales. En cualquier momento, es posible reiniciar el proceso, el botn que se ha pulsado anteriormente, ahora indica la palabra Reset.

- 41 -

TFC .NET (WPF) Ivan Nofuentes Aljama

En funcin del camino elegido para realizar la bsqueda, se necesitarn ms o menos pasos para llegar al final. Por ejemplo, el camino ms largo sera buscar un cliente, despus un equipo y finalmente un nmero de serie, pero si se realiza la bsqueda inicial por medio del nmero de serie, este ya importar los datos de cliente y equipo.

Una vez rellenados los datos de cliente y equipo ser necesario seleccionar la persona de contacto, en el caso que el interlocutor no conste en la base de datos, es posible la insercin a mano del mismo. Con todos los datos introducidos, el botn Iniciar activa la incidencia, si los parmetros dados coinciden con alguna incidencia en tratamiento, el sistema dar un aviso para poder continuarla, en caso de querer iniciar una nueva, solo se tendr que cancelar el cuadro de dialogo. Una vez iniciada la asistencia, ya sea nueva o no, en la pestaa actual se podr documentar todo lo necesario sobre la asistencia realizada. Pero en el caso de las continuaciones, la pestaa historial contendr el histrico de las asistencias realizadas anteriormente en esa incidencia.

Finalmente, una vez terminada la intervencin y NICAMENTE para incidencias nuevas, el botn de guardar archiva la incidencia y retorna el nmero INC, pero no termina la asistencia, de modo que el usuario puede colgar el telfono y entregar al cliente su nmero de INC pero puede seguir documentando la asistencia.

- 42 -

TFC .NET (WPF) Ivan Nofuentes Aljama

La siguiente vez que pulse guardar se guardar la asistencia en la base de datos y se cerrar la ventana. Una vez iniciada la asistencia, en cualquier momento el usuario puede tanto imprimir la asistencia como exportarla a PDF. En el caso de querer imprimir, la aplicacin imprimir el informe por la impresora predeterminada del sistema; para el PDF dar la opcin de elegir la ruta de destino del fichero. Tambin es posible enviar el informe para la supervisin o informacin de otro usuario, para ello ser necesario elegir al usuario de destino antes de guardar y cerrar la asistencia. Una vez terminada la incidencia, seleccionando botn concluir se dar por terminada la incidencia. 6.1.3- Botn Bsqueda Este botn lanza una ventana para buscar y listar los formularios creados mediante la funcionalidad anterior. Esta ventana est dividida en tres partes (de arriba a abajo), parmetros de bsqueda, lista de resultados y detalle de la incidencia seleccionada.

Al igual que en caso anterior, el nmero de serie se puede buscar por una fraccin, devolviendo todas las posibles coincidencias, mientras que el nmero de cliente y el nmero de incidencia debern ser exactos, de lo contrario no devolver nada. - 43 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Una vez iniciada una bsqueda, el botn Buscar, se convierte en Reset, de este modo pulsando nuevamente el botn se cargar la ventana en condiciones iniciales, borrando todos los datos presentados. Una vez realizada una bsqueda, el sistema retornar las coincidencias en la tabla de resultados, al seleccionar un resultado con un click, este se desgrana en la parte baja de la ventana, mostrando la informacin principal del informe.

Mediante un doble click se lanzar el informe en una ventana de formulario, en modo solo lectura. La observacin de informes solo es posible de uno en uno, es decir si se abre un informe en modo lectura, no se puede abrir otro en lectura hasta haber cerrado el primero.

A diferencia del modo creacin, el formulario se abre presentando el historial de la incidencia, de modo que la lectura es ms rpida, adems tambin permite la exportacin a PDF y la impresin del documento. 6.1.4- Botn Tareas Este botn lanza la funcionalidad para crear tareas propias. Esta ventana consta de dos partes, la parte superior parametiza la tarea y la inferior la define. La ventana se utiliza tanto para crear tareas nuevas como para modificar las tareas creadas, seleccionndolas desde la lista de la ventana principal.

- 44 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Mediante el botn del calendario, se seleccionar la fecha estimada de inicio de la tarea. Seguidamente elegir la prioridad y definir el trabajo a realizar. En el caso de ser una actualizacin de la tarea (entrando desde la pgina principal, seleccionando una tarea de la lista), se podr modificar la descripcin de la tarea, la prioridad o el progreso. En el momento de seleccionar el 100% de progreso o bien el estado Concluido, la tarea se dar por concluida y se borrar de la lista de tareas.

6.1.5- Visualizacin de visitas La creacin de visitas es una tarea reservada al usuario con privilegios, no obstante, el usuario bsico puede seleccionar una visita de la tabla ubicada en la pantalla principal y lanzarla en modo lectura para ver los datos. Al igual que los informes o las tareas, las funciones en modo lectura nicamente pueden lanzarse de una en una, es decir solo se puede consulta una vista a la vez.

No obstante, al igual que los informes, permite la exportacin a PDF y la impresin de los datos por la impresora predeterminada del sistema. 6.2- Usuario responsable El usuario responsable dispone de toda la funcionalidad del usuario tcnico o bsico adems de herramientas de gestin.

- 45 -

TFC .NET (WPF) Ivan Nofuentes Aljama

6.2.1- Ventana principal La ventana principal de este usuario es similar a la anterior pero con los controles de gestin. En el cuadro de gestin se encuentran tres botones: Gestin: Permite buscar, dar de alta y actualizar los datos referentes a los equipos y clientes. Control: Permite listar el rendimiento de los usuarios por fechas, usuarios, as como ver el estado de las incidencias, adems, permite ver las visitas y tareas de todos los usuarios. Visitas: Permite programar visitas a clientes y aadirlas a la tabla de la ventana de inicio.

La utilizacin del cuadro de tareas, visitas y calendario es idntica a la descrita para el usuario bsico. 6.2.2- Botn Gestin Este botn lanza la funcionalidad para crear, listar y modificar los datos de clientes y equipos, datos que se utilizan para la elaboracin de informes y visitas. Esta ventana es similar a la utilizada en la bsqueda de informes, est dividida en tres partes (de arriba a abajo), parmetros de bsqueda, lista de resultados y detalle de la seleccin.

- 46 -

TFC .NET (WPF) Ivan Nofuentes Aljama

A diferencia de la ventana de bsqueda de informes, esta permite la insercin de datos nuevos, si se pulsa el botn Aadir sin realizar ninguna bsqueda, se desbloquean los campos inferiores para permitir la insercin de nuevos datos; en funcin de la posicin del selector superior (Clientes o Equipos), se aadir un nuevo cliente o equipo a la base de datos.

Para clientes, el campo Clase se define con la siguiente codificacin: Cliente normal = 0 Distribuidor = 1 Grandes cuentas = 2 Espordico = 3 Por otro lado, al igual que en caso anterior, el nmero de serie, descripcin y nombre, se puede buscar por una fraccin, devolviendo todas las posibles coincidencias, mientras que el cdigo de cliente deber ser exacto, de lo contrario no devolver nada. La bsqueda por tipo de equipo responde a la siguiente codificacin: Impresora = 0 Impresora de inyeccin = 1 Lector = 2 Software = 3 Varios = 4

Una vez iniciada una bsqueda, el botn Buscar, se convierte en Reset, de este modo pulsando nuevamente el botn se cargar la ventana en condiciones iniciales, borrando todos los datos presentados. El cambio de seleccin, de Clientes a Equipo y viceversa tambin provocar la limpieza de los datos de pantalla. Una vez realizada una bsqueda, el sistema retornar las coincidencias en la tabla de resultados, al seleccionar un resultado con un click, este se desgrana en la parte baja de la ventana, mostrando la informacin principal de la seleccin. - 47 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Una vez seleccionado un resultado de la bsqueda, permite la posibilidad de modificar los datos referentes al equipo o cliente: para los clientes, se habilitan todos los campos, datos de cliente y contacto, pero si se pulsa al botn Add Cont, se bloquean todos los campos y se ponen en blanco los referentes al contacto, de modo que se puede insertar un nuevo contacto para ese cliente.

Para los equipos se habilitan los campos para modificar los datos del equipo, pero los referentes al cliente, propietario de dicho equipo, no se pueden modificar, a excepcin del nmero de cliente.

A la hora de modificar o insertar un equipo nuevo, el campo Tipo debe seguir la misma codificacin que la bsqueda. 6.2.3- Botn Control Este botn lanza la funcionalidad para controlar el estado y rendimiento de los usuarios. Permite listar las incidencias, visualizar y modificar las tareas propias de cada usuario y las visitas. Esta ventana est dividida en dos partes, arriba, los parmetros de bsqueda y abajo la lista de resultados y un grfico estadstico. - 48 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Las bsquedas se pueden realizar por intervalo de fechas, estado del informe (concluido o abierto) y por tcnico, esta ventana permite mltiples parmetros de bsqueda, por lo tanto se pueden introducir ms de uno y acotar la bsqueda de manera ms exhaustiva. El recuadro Total muestra el total de registros encontrados para los parmetros dados. Una vez introducidos los parmetros, el botn Buscar lanza la bsqueda; al igual que en la ventana Gestin el cambio de pestaa provoca la limpieza de la pantalla y el borrado de los datos. Independientemente de la pestaa elegida, el resultado de la bsqueda siempre ser el mismo, mostrar los datos en una lista y un grfico para mostrar los resultados grficamente. El desplegable Tipo de grfico permite variar la apariencia de este en funcin del criterio del usuario (queso, barras, columnas, lneas, etc).

En el ejemplo anterior, se puede observar que hay un total de 26 incidencias concluidas en el intervalo de fechas dado, adems se puede ver rpidamente que usuario es el que posee mayor nmero de incidencias tratadas es test, tambin se puede ver cuntas asistencias forman parte de cada incidencia, la incidencia 800309 ha necesitado un total de 7 asistencias para solucionar el problema.

- 49 -

TFC .NET (WPF) Ivan Nofuentes Aljama

6.2.4- Botn Visitas Este botn lanza la funcionalidad para crear visitas. Las visitas pueden contemplarse como unas tareas especiales, puesto que aparte de ser pblicas para todos los usuarios, estn enfocadas a tareas con clientes, puesto que estn vinculadas a ellos. La bsqueda de datos de esta ventana es similar a la utilizada en los informes, est dividida en dos partes, los parmetros de bsqueda y la descripcin de los trabajos a realizar. Las bsquedas se realizan de igual modo que en la creacin de informes, se pueden realizar las bsquedas por cliente, nmero de serie u equipo, del mismo modo, las bsquedas pueden ser parciales y el sistema retornar todas las posibles coincidencias.

Una vez rellenados los datos de usuario destinado, fecha de la asistencia, los datos del cliente y equipo, junto con la descripcin del trabajo a realizar, se puede archivar la visita, una vez guardada en la base de datos la visita quedar registrada en la pgina principal de todos los usuarios, adems de enviar un correo electrnico de aviso al usuario designado. 6.2.5- Variaciones respecto al usuario bsico Existen dos variaciones de funcionalidad respecto al usuario bsico, una en la bsqueda de informes y otra en la creacin de tareas propias. En la ventana de bsqueda, el responsable dispone de dos botones adicionales, similar la ventana Gestin.

- 50 -

TFC .NET (WPF) Ivan Nofuentes Aljama

El botn modificar permite cambiar el estado de la incidencia, de cerrado a abierto, de modo que una incidencia cerrada vuelve a estar nuevamente en tratamiento, para ello, se debe modificar el campo True por False. La otra variacin se encuentra en la ventana de tareas: El usuario responsable puede elegir en el cuadro de la derecha si la tarea que va a insertar es propia o la va a designar a algn trabajador, en el caso de elegir Ajena, se habilita el desplegable para elegir al destinatario de la tarea y se coloca al responsable como emisor de la tarea. Una vez rellenados los campos, al guardar la tarea, esta se inserta en la base de datos y en el cuadro de tareas del usuario de destino, adems de notificarle al usuario la asignacin de la tarea mediante correo electrnico.

6.3- Usuario administrador El usuario administrador prcticamente dispone de la misma funcionalidad que el responsable, la nica diferencia est en la ventana de gestin, aparte de gestionar clientes y equipo, puede gestionar usuarios y los datos de conexin con el servidor de correo.

La gestin de usuarios se lleva a cabo igual que los clientes o equipos, en el caso de querer realizar la bsqueda por tipo, responde a la siguiente codificacin: Tcnico = 0 Responsable = 1 Administrador = 2 - 51 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Si se observa la siguiente imagen, se puede observar que al importar los datos del resultado de la bsqueda el campo contrasea no se importa, por seguridad no se muestra el campo, pero en el caso de querer sustituir la contrasea por mantenimiento u olvido de la misma, si se rellena este campo y se guarda la informacin, la contrasea quedar actualizada. En el caso de no introducir ningn valor en esta casilla se mantendr la existente en la base de datos.

El campo ventanas contiene el nmero de ventanas, de tipo formulario, simultneas de que puede disponer el usuario, de este modo se acota la acumulacin de trabajo pendiente por guardar y por lo tanto, asistencias sin documentar. En el apartado de conexin, como la aplicacin solo dispone de una conexin a correo, se prescinde de la operacin de bsqueda, muestra los datos directamente.

7. Manual de instalacin
La instalacin de la aplicacin se separa en dos partes, creacin de la base de datos e instalacin de la aplicacin cliente, aunque en ambos casos se ejecuta el mismo instalador. El fichero de instalacin es TFCsetup.msi.

- 52 -

TFC .NET (WPF) Ivan Nofuentes Aljama

7.1 Requisitos previos. Para la instalacin y posterior ejecucin de la aplicacin en un sistema cliente - servidor, en distintas mquinas, es necesario cumplir los siguientes requisitos: El equipo: - Tener acceso a LAN. - Tener instalado como mnimo Framework 3.5. El equipo servidor: - Tener acceso a LAN con IP esttica. - Tener instalado SQL server. - Tener habilitado el servicio de acceso TCP a SQL. - Configurar el firewall del servidor para que permita el acceso. 7.2 Instalacin. Al ejecutar el instalador aparece una ventana de bienvenida. Pulsar Siguiente.

En la siguiente ventana aparece una opcin de crear una base de datos nueva.

- 53 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Si se selecciona el check box, el instalador intentar crear la base de datos antes de iniciar la instalacin del cliente, por el contrario, si no se selecciona, nicamente instalar el cliente en el equipo local.

Para instalaciones nuevas, es necesario marcar la casilla, puesto que sin base de datos la aplicacin no funciona, pero nicamente en la instalacin del primer cliente, para el resto de clientes no ser necesario marcar la casilla. Aunque el instalador consulta la existencia previa de una base de datos con los parmetros dados antes de iniciar la creacin, es importante que solo se marque la casilla en la primera instalacin del software porque disminuye considerablemente el tiempo de test e instalacin. Una vez decidido crear la base de datos o no, pulsar Siguiente. Esta ventana solicita los datos de conexin a la base de datos, en el supuesto de haber seleccionado crearla, sern los datos de la nueva base de datos, el primer campo se deber rellenar con la direccin completa del servicio SQL (normalmente ser la IP del equipo servidor seguido del nombre de la instancia), el segundo y tercer campo se debern rellenar con el usuario y la contrasea mediante los cuales se conectar la aplicacin al servicio SQL y finalmente el ltimo campo contendr el nombre de la base de datos a la cual se conectar la aplicacin o bien el nombre que recibir la base de datos a crear. Un ejemplo de datos puede ser:

En el ejemplo, el servidor tiene la direccin 192.168.15.250, y la instancia SQL se llama SQLEXPRESS; el nombre de usuario y contrasea para acceder al servicio SQL es usuarioTFC, TFC, respectivamente y finalmente, el nombre de la base de datos de destino (se vaya a crear ahora o exista anteriormente), ser BDDSAT. Una vez rellenados y verificados todos los datos pulsar Siguiente.

- 54 -

TFC .NET (WPF) Ivan Nofuentes Aljama

La actual ventana, permite por un lado consultar el espacio disponible en cada uno de los discos instalados en el equipo cliente, por otro lado elegir la disponibilidad de la instalacin, es decir, si la aplicacin estar disponible solo para el usuario actual o bien para cualquier usuario que utilice el equipo. Finalmente tambin permite la modificacin de la ruta donde se instalar la aplicacin en el equipo local. Para proseguir pulsar Siguiente y Siguiente para iniciar la instalacin.

Una vez iniciada la instalacin, la primera pantalla (la mostrada justo encima), puede tardar unos minutos, en funcin de la velocidad del equipo y la red, al tratarse del periodo de la instalacin donde comprueba la disponibilidad de conexin a red, a servidor y datos de conexin. Una vez verificado todo, es posible que en funcin de la versin del sistema operativo, este solicite una confirmacin de acceso a la instalacin, como por ejemplo en Windows 7 o Vista. Una vez realizadas las comprobaciones se inicia la instalacin.

- 55 -

TFC .NET (WPF) Ivan Nofuentes Aljama

En la instalacin del ejemplo (al ser la primera de la serie), se ha seleccionado que instale la base de datos. En el siguiente dialogo se muestra el estado de la conexin y creacin de cada una de las tablas que componen la base de datos.

Al finalizar, el dialogo muestra un mensaje de xito y un botn de cerrar. En el supuesto caso en que la base de datos ya existiese y se seleccionara la opcin de instalar la base de datos, en este dialogo aparecera que la base ya existe y se proseguir la instalacin del cliente sin crear la base de datos nueva. De igual modo, si en cualquier paso de la creacin de la base de datos apareciese algn error, creacin de base, creacin de tabla, problemas con las claves, etc el cuadro de dialogo mostrara el error y la instalacin se suspendera automticamente.

- 56 -

TFC .NET (WPF) Ivan Nofuentes Aljama

Si la creacin de la base de datos se realizado con xito, el instalador crear un usuario por defecto para la primera ejecucin de la aplicacin, de este modo el administrador podr entrar con: Usuario: admin Password: admin

Es imperativo que el administrador modifique los datos de conexin del usuario administrador dentro de la aplicacin. Pulsar Cerrar y finalizar la instalacin.

8. Conclusiones
Como experiencia personal, creo que ha sido un trabajo muy satisfactorio, aunque ha habido algunos momentos desesperantes y otros de bajn; cuando ves que los pasitos que das van dando su fruto, es muy reconfortante. Supongo que es una de las partes buenas de la programacin, ver que tu producto se mueve y lo que haces sirve para algo, te va dando vidilla para seguir adelante. Este proyecto me ha enseado un nuevo mundo, porque hasta ahora no haba tocado a fondo nada de programacin a alto nivel, ni diseo de interfaces, por lo tanto ha sido una tarea interesante. Trabajar con tecnologa .NET tiene la gran ventaja de que existe infinidad de informacin disponible en la web, muchas de las necesidades que te surgen, ya hay alguien que la ha solucionado o bien algo muy parecido, por lo tanto es muy propenso a reutilizar cdigo. Por el contrario, tambin hay que decir que el 90% de dicha informacin est en ingls, por lo tanto, es un punto a tener en cuenta; el nivel de ingls es importante para este tipo de trabajos. Entrando ms a fondo en el trabajo, en un principio se solicitaba que funcionase con WCF para las comunicaciones, aunque el proyecto se estudi con este mecanismo de comunicacin, al final el producto se ha implementado sin l, porque en fase de - 57 -

TFC .NET (WPF) Ivan Nofuentes Aljama

implementacin apareci un problema de comunicacin interna de Windows. Despus de evaluar el problema y viendo que la aplicacin nicamente se comunica a nivel de LAN interna, prefer (previa consulta con el tutor) cambiar de metodologa para la comunicacin, de WCF a SQL puro. Mediante este cambio, la aplicacin a perdido versatilidad, pero ha ganado velocidad y sencillez en las operaciones. Cabe decir, que he respetado las clases de comunicacin creadas para WCF, si en un futuro existiese la necesidad de comunicar la aplicacin por extranet, solo habra que implementar el protocolo WCF entre dos clases de comunicacin (WCFClientConnector y BDSqlConsultas) y el programa quedara perfectamente partido en dos, la parte del cliente y la parte del servidor, funcional para WCF. Para finalizar, referente a la aplicacin, es un producto que ha cumplido mis expectativas, cumple con las necesidades presentadas y adems tiene un gran potencial de expansin, si fuese un producto para salir al mercado, no solo es funcional desde el minuto 0, sino que adems puede crecer en funcin de las necesidades particulares y futuras de cada cliente.

9. Bibliografa
Introduccin a SQL server David Gan, UOC Windows Presentation Fundation David Gan, UOC Documentacin Master .NET UOC David Gan, UOC http://msdn.microsoft.com http://www.abcdatos.com/tutoriales/tutorial/z8164.html http://www.elguille.info/NET/cursoCSharpErik/index.htm http://www.lawebdelprogramador.com/cursos/C_sharp/index1.html http://es.wikipedia.org/wiki/Windows_Presentation_Foundation http://www.wpftutorial.net/ http://msdn.microsoft.com/es-es/library/bb655895(v=vs.90).aspx http://www.csharpcorner.com/Articles/ArticleListing.aspx?SectionID=1&SubSectionID=191 http://www.dreamincode.net/forums/topic/57901-introduction-to-wpf-c%23/ http://geeks.ms/blogs/oalvarez/archive/2006/11/27/comienzo-con-wcf.aspx#6811 http://autorneto.com/negocios/empresas/consultas-basicas-de-sql/ http://www.codeproject.com/kb/dotnet/win_app_setup_project.ASPX http://juank.black-byte.com/csharp-crear-servicio-c-wcf/ - 58 -

TFC .NET (WPF) Ivan Nofuentes Aljama

http://en.csharp-online.net/WCF_Essentials http://www.csharpcorner.com/Articles/ArticleListing.aspx?SectionID=1&SubSectionID=192 http://www.eggheadcafe.com/community/aspnet/2/10175107/how-to-start-wcf-incnet.aspx http://www.trucoswindows.net/conteni8id-40-manual-Tutorial-para-grabar-conCamtasia-Studio.html http://www.youtube.com/watch?v=d2So-bEminU http://www.elgrupoinformatico.com/manual-camtasia-studio-t997.html http://geeks.ms/blogs/oalvarez/archive/2007/04/27/191-es-complicado-configurarwcf.aspx http://www.desarrollador.org/2008/05/introduccin-wcf.html http://www.codeproject.com/KB/WCF/WCFWPFChat.aspx http://es.w3support.net/index.php?db=so&id=400099

- 59 -

Das könnte Ihnen auch gefallen