TRABAJO FINAL DE CARRERA .NET - CLUB DEPORTIVO MARATON
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
TRABAJO FINAL DE CARRERA .NET CLUB DEPORTIVO MARATON Ingeniería Técnica de Informática de Gestión Autor: Alberto Morgado Contreras Profesora: Àngels Rius Gavidia Consultor: Ángel Acha Lizama Febrero 2013
ÍNDICE 1. Introducción ...................................................................................................... 3 2. Descripción del proyecto ................................................................................... 4 2.1. Justificación del proyecto (idoneidad) ................................................................... 4 2.2. Objetivos del proyecto ........................................................................................... 6 2.3. Requerimientos de la solución ............................................................................... 7 2.4. Funcionalidades a implementar ............................................................................ 9 2.5. Resultados esperados .......................................................................................... 11 2.6. Productos obtenidos ............................................................................................ 11 2.7. Planificación inicial vs planificación final ............................................................ 12 3. Análisis y diseño .............................................................................................. 14 3.1. Diagrama de casos de uso ................................................................................... 14 3.2. Modelo conceptual .............................................................................................. 23 3.3. Diagrama de arquitectura: de aplicación / SW / HW .......................................... 25 3.3.2 Arquitectura hardware .......................................................................................... 26 3.4. Diagrama de secuencia ....................................................................................... 27 3.5. Diseño de la BD / Diagrama E-R .......................................................................... 28 3.6. Modelo de clases ................................................................................................. 30 3.7. Diseño de la interfaz de usuario .......................................................................... 32 4. Implementación .............................................................................................. 50 4.1. SW usado ............................................................................................................. 50 4.2. Capas de la aplicación ......................................................................................... 51 5. Evaluación de costes ........................................................................................ 52 6. Trabajo futuro ................................................................................................. 53 7. Conclusiones ................................................................................................... 54 8. Anexos ............................................................................................................ 55 8.1. Glosario ................................................................................................................ 55
T.F.C. - .NET - I.T.I.G. Memoria 9. Bibliografía ...................................................................................................... 56 10. Índice de tablas ............................................................................................ 58 11. Índice de figuras ........................................................................................... 59 Alberto Morgado Contreras 2 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 1. Introducción El Club Deportivo Maratón cuenta con una corta pero satisfactoria experiencia en su sector. Entre sus instalaciones, dispone de una sala de musculación, en la que se pueden realizar distintas actividades, y de una sala de relax. Sin embargo el Club destaca principalmente por la organización de carreras atléticas. Nuestro proyecto nace de la ilusión y esfuerzo del Club Deportivo Maratón por posicionarse entre los mejores clubes del país. Este deseo lleva a abordar la implementación de su página web, lo que permitirá que se dé a conocer al gran colectivo del sector independientemente de su localización geográfica y además servirá para que aquellos que ya lo conocen estén al corriente de la actualidad del Club. Dado que existe la posibilidad de subscribirse a la web, habrá zonas públicas y otras de acceso restringido a los usuarios registrados. La nueva página web mostrará información sobre las ofertas del Club y una amplia descripción de sus instalaciones y servicios, así como información de los corredores, premios y patrocinadores con los que el Club Deportivo Maratón está relacionado. Por otro lado contendrá un área con el detalle de las carreras atléticas organizadas por el Club en la que se podrá consultar el recorrido de las mismas mediante Google Maps. También se podrá acceder a un foro en el que se publicarán las opiniones y comentarios de los usuarios e incluso se podrán compartir los recorridos exportados por los propios corredores en formato KML. Para concluir, añadir que el Club dispondrá de la aplicación de escritorio que permita la gestión de todos los contenidos de la página web. De esta forma, se conseguirá un gran dinamismo que permitirá su actualización de la web sin la necesidad de acudir a personal externo al Club. En cuanto a la estructura de este documento, avanzar que se van a presentar de manera sintetizada las distintas fases del desarrollo, reflejando el trabajo que se ha llevado a cabo para obtener el producto final. En concreto las fases de: Descripción del proyecto. Con la justificación del mismo, requerimientos y objetivos fijados por el Club Deportivo Maratón. Análisis y diseño. Detalle del análisis de la solución y de su diseño. Implementación. Visión global del software y estructura utilizados. Alberto Morgado Contreras 3 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 2. Descripción del proyecto A continuación, se ofrece una visión global del proyecto, que contiene desde la primera idea con la que nace hasta un análisis de los objetivos, requisitos y funcionalidades del producto. 2.1. Justificación del proyecto (idoneidad) Tal y como hemos avanzado en la introducción, la creación del proyecto surge del deseo del Club Deportivo de darse a conocer en el sector deportivo y así promocionarse y crecer tanto en el alcance de sus actividades como en el número de socios. 2.1.1. ¿Por qué el proyecto? Aplicar las nuevas tecnologías y hacer uso de Internet dará una publicidad al Club que de otra forma sería mucho más costosa. Además, con este proyecto será posible el acercamiento a un gran número de deportistas, supondrá un incremento de las relaciones del Club con corredores, proveedores, otras organizaciones… Otro de los objetivos que se pretende conseguir es el crecimiento económico de la organización, para poder aumentar el número de eventos, el alcance de las actividades y evidentemente un mayor beneficio para los propietarios (no olvidemos que se trata de una empresa). Por último, se quiere posicionar al Club en la vanguardia del uso de las nuevas tecnologías y convertirlo en referencia entre los centros deportivos a nivel nacional. 2.1.2. Estudio del mercado Tras analizar con detenimiento el conjunto de requisitos del cliente, pasamos a realizar el estudio de mercado para detectar la posible competencia tanto en este momento como en el futuro en el que el Club Deportivo Maratón cuente con la aplicación solicitada. Una vez realizada la búsqueda de páginas webs cuyo contenido es similar al solicitado, encontramos gran cantidad de clubes deportivos que, especializados en un deporte en concreto (principalmente fútbol o baloncesto), muestran todo tipo de información del mismo. Por ejemplo, en el caso del Club Deportivo Tenerife nos encontramos con una web muy actualizada, con un diseño sencillo pero muy vistoso y un acceso muy intuitivo a todas las funcionalidades ofrecidas. Por otra parte, también existe una amplia oferta de gimnasios cuyas actividades e instalaciones podrían ser comparadas con las de Maratón. Un ejemplo de página Alberto Morgado Contreras 4 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria web de gimnasio es la de Holiday Gym. Al igual que en el Club Deportivo Tenerife, presenta un acceso muy intuitivo a cada área de la web al igual que ofrece una información muy actualizada. Su interfaz gráfica es más compleja y la organización de elementos es muy parecida a la de un blog. En Internet también encontramos clubes deportivos dedicados íntegramente al atletismo, como es por ejemplo el club Atletismo Paracuellos. En este caso, observamos que debe tratarse de un club con un presupuesto más modesto pues queda reflejado en el diseño de la página, en la que los estilos utilizados son menos sofisticados y vistosos y no se encuentra tan actualizada como el resto de sitios analizados. También podemos ver como su mantenimiento está menos controlado ya que hemos encontrado, por ejemplo, imágenes que no se localizan en la ruta correcta del servidor. Concluyendo este estudio, encontramos que el desarrollo del proyecto aportaría una publicidad muy valiosa a Maratón dado que no es fácil encontrar un club deportivo que además de disponer de gimnasio propio, tenga un área especialmente dedicada a la organización de carreras de atletismo. Pero si hay algo que destaca por encima de la gran multitud de webs destinadas a este amplio sector, es el impacto que tendrá la funcionalidad relacionada con los recorridos e introducida gracias a Google Maps. El uso de esta tecnología, marcará la diferencia entre nuestro producto y el del resto de competidores. Más información acerca de las webs analizadas en el apartado Bibliografía del presente documento. 2.1.3. Descripción del proyecto En lo que respecta al Club Deportivo Maratón, el proyecto está dividido en dos partes muy bien diferenciadas. 1. Por un lado, de cara a los clientes, proveedores, y resto de usuarios, cuenta con una página web en la que se puede consultar toda la información relativa a los servicios y actividades del Club: o Ofertas que tenga en vigor el Club Deportivo tanto para socios como para futuros colaboradores. o Una detallada descripción de las salas de máquinas, las salas de relax e incluso de los servicios de la cafetería. o Información referente a los corredores, carreras y patrocinadores. o Un área específica para la consulta de futuras carreras en la que el usuario puede ver el recorrido presentado mediante Google Maps. Alberto Morgado Contreras 5 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria o Un módulo especialmente dedicado a los usuarios registrados, llamado Rincón del Corredor, en el que estos pueden compartir comentarios sobre sus carreras e incluso subir sus propios recorridos en archivos .kml. 2. Por otro lado y para uso exclusivo del personal del Club Deportivo, se cuenta con la aplicación de escritorio que permite alimentar y administrar el contenido de la página web de forma cómoda y centralizada. 2.2. Objetivos del proyecto A partir de las ideas expuestas por el cliente, se definen una serie de objetivos que detallamos a continuación, clasificándolos en generales y específicos. 2.2.1. Generales Conseguir una importante promoción del Club Deportivo y alcanzar una relevancia que hasta ahora no se ha logrado por otros medios, de manera que llegue a conocerse más allá de la zona en la que se encuentra localizado. Aumentar el número de usuarios de las instalaciones y crecer económicamente, de forma que sea posible mejorar la oferta de instalaciones y servicios actuales: mayor capacidad a la hora de organizar carreras atléticas y una mayor cartera de patrocinadores, sin restar importancia a los que actualmente trabajan con el Club. Posicionar al Club en un lugar de prestigio dentro de este mercado tan competitivo. Este objetivo está íntimamente ligado a la consecución de los objetivos anteriormente comentados. 2.2.2. Específicos Unificar en un sistema todas las ofertas de las que dispone el Club en la actualidad, al igual que la información en cuanto a instalaciones, actividades, localización… Crear un área en la que los corredores tengan su propia comunidad y se relacionen con otros escribiendo comentarios y compartiendo los recorridos de sus carreras de entrenamiento. Crear una aplicación de escritorio con la que los empleados del Club, puedan dar de alta ofertas, carreras con sus respectivos recorridos… Alberto Morgado Contreras 6 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 2.3. Requerimientos de la solución Puesto que la aplicación se divide en una página web y una aplicación de escritorio, los requerimientos en cada una de las partes son distintos. Se detalla a continuación en qué consisten. Sin embargo, existe una característica que toma importancia en ambas partes de la aplicación, y es precisamente uno de los retos del proyecto. Se trata de la posibilidad de integración con Google Maps para compartir y publicar los recorridos de las carreras organizadas en el Club, o bien, a título personal, por parte de los usuarios registrados en la web. 2.3.1. Funcionales El conjunto de requerimientos funcionales de la solución en cuanto a la página web son los siguientes: REQF01. Ofrecer al usuario que se conecta a la página web todo el desglose de ofertas actuales de las que dispone el Club. REQF02. La página web contendrá una parte pública con las ofertas, instalaciones, contacto… y otra privada llamada Rincón del Corredor. REQF03. Dar a conocer las instalaciones con las que cuenta el Club. REQF04. Mostrar los distintos premios otorgados al Club. REQF05. Poder consultar los patrocinadores que colaboran con el Club y participan en las distintas carreras organizadas. REQF06. Gracias a la integración con Google Maps, será posible consultar el recorrido de las carreras organizadas por el Club. Además, claro está, se podrán ver los resultados y demás información sobre las distintas competiciones. REQF07. En el caso de los corredores, podrán acceder mediante usuario / contraseña, al Rincón del Corredor. En esta área, podrán: o Consultar las carreras que han disputado o Consultar sus estadísticas y descargarlas en pdf o Inscribirse a nuevas carreras o Descargar el dorsal de las carreras en las que están inscritos o Cambiar su contraseña de acceso y datos personales o Subir sus propios recorridos y comentarios sobre carreras Alberto Morgado Contreras 7 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria REQF08. También dispondrá de un apartado en el que se mostrará cómo contactar con el Club y la localización del mismo. REQF09. Un usuario web anónimo podrá registrarse en el sistema desde la misma web. De esta forma pasa a convertirse en usuario registrado. Para acceder a la parte privada, el usuario registrado tendrá que autenticarse en el sistema REQF10. Relacionado con el punto anterior, en el caso de que el usuario ya registrado olvide su contraseña, el sistema ofrecerá la posibilidad de recuperar el acceso enviando una nueva clave al usuario vía correo electrónico. En cuanto a la aplicación de gestión de contenidos de la web (escritorio), las funcionalidades requeridas son: REQF11. Los usuarios que utilicen esta aplicación, tendrán que identificarse en el sistema introduciendo usuario y contraseña. La primera vez que se utilice la aplicación, el usuario accederá con un nombre y contraseña que serán comunicados en el manual de instalación, válidos para ese primer acceso y para el que se recomienda modificar la contraseña por motivos de seguridad. REQF12. Mantenimiento del contenido de la aplicación con la consulta, alta, baja y modificación de: o Centros se considera la posibilidad de crear nuevos centros del Club, así el crecimiento del mismo no implicaría cambios en la aplicación. o Ofertas o Instalaciones o Patrocinadores o Premios o Competiciones o Usuarios REQF13. En concreto, en cuanto a las competiciones, destacar que será posible almacenar y posteriormente consultar el recorrido de la carrera, esto, haciendo uso de la API de integración con Google Maps. Esta funcionalidad, como ya se ha comentado anteriormente, es uno de los aspectos novedosos del proyecto, por lo que tiene especial importancia. REQF14. Validar los comentarios de los usuarios. El personal del Club será responsable de determinar qué comentarios del Rincón del Corredor se harán públicos en la web y cuáles no. REQF15. La aplicación de escritorio será de uso exclusivo del personal del Club Deportivo. REQF16. Los usuarios de la aplicación de escritorio son válidos también para el acceso a la zona restringida de la aplicación web. Alberto Morgado Contreras 8 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 2.3.2. No funcionales A continuación se enumeran los requerimientos no funcionales de la solución que se consideran también muy importantes para el proyecto: REQNF01. Idoneidad. La aplicación debe proporcionar al usuario toda la información que le pudiera interesar así como las distintas funcionalidades esperadas. REQNF02. Usabilidad. La aplicación debe mostrar al usuario toda la funcionalidad de una manera clara y concisa. Éste, tiene que poder navegar por la web de una manera rápida e intuitiva desde la primera vez que acceda a ella. REQNF03. Accesibilidad. La aplicación será necesariamente web para que cualquier usuario interesado pueda acceder a ella desde un ordenador conectado a Internet. La aplicación de administración se instalará en los equipos del Club deportivo para el uso exclusivo de sus empleados. REQNF04. Seguridad. Tanto la aplicación de gestión de contenidos como el acceso de usuarios registrados en la página web, requerirán la autenticación del usuario mediante el par usuario / contraseña. REQNF05. Mantenimiento. Otro requerimiento no funcional a tener en cuenta es el conseguir un producto escalable, con un fácil mantenimiento, un código claro y comentado que posibilite de una manera sencilla la implementación de nuevas funcionalidades aprovechando las clases ya desarrolladas. REQNF06. Documentación. Esta se proporcionará como parte del producto desarrollado y será relativa al uso e instalación de la aplicación. 2.4. Funcionalidades a implementar A continuación se detallan las funcionalidades a implementar en el desarrollo del producto: 1. Consulta de ofertas. Un área de la página web estará dedicada a la comunicación por parte del Club de las diferentes ofertas que tiene vigentes. 2. Consulta de instalaciones. También ofrecerá un detalle de las instalaciones de las que dispone el Club junto con algunos datos de interés de las mismas (fotografías, medidas, horarios…). Alberto Morgado Contreras 9 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 3. Consulta de premios y patrocinadores. La aplicación ha de mostrar online los premios otorgados al Club así como la distinta cartera de patrocinadores. 4. Rincón del corredor. Área privada (web) del corredor en la que podrá consultar los resultados obtenidos en las carreras en las que haya participado, podrá inscribirse a nuevas competiciones y descargar el dorsal correspondiente, modificar sus datos de acceso a la web e incluso darse de baja. 5. API Google Maps. Mediante el API citado, la aplicación web dará a conocer los recorridos de las carreras organizadas. Esta utilidad también estará disponible para que los usuarios puedan subir sus propios recorridos y para mostrar la ubicación del centro del Club. 6. Contacto y localización. Al igual que la mayoría de páginas web, se aportará información acerca de la localización física del Club y de los datos de contacto disponibles. 7. Competiciones y resultados. La página web también ha de contar con un espacio dedicado a las competiciones organizadas en las que se ofrece la descripción y el recorrido. Además almacenará las posiciones en las que quedan los corredores en las distintas competiciones de forma que los participantes puedan, desde el Rincón del Corredor, tener acceso a datos estadísticos sobre sus resultados. 8. Acceso de usuarios. Los usuarios accederán tanto al contenido privado de la página web como a la aplicación de administración (solamente el personal del Club) mediante la introducción de un usuario y una contraseña. 9. Gestión de ofertas. Módulo de la aplicación de escritorio que permitirá realizar el mantenimiento de las ofertas (alta, baja y modificación). 10. Gestión de usuarios. Al igual que con las ofertas, el personal del Club también tendrá la posibilidad de de dar de alta, baja y modificar los usuarios de la aplicación. 11. Gestión de comentarios. Validación por parte del personal del Club de los comentarios enviados por los corredores. 12. Gestión de carreras. El personal del Club podrá dar de alta nuevas carreras añadiendo su respectivo recorrido así como descripción y demás datos que se crean oportunos. Al igual que en el resto de entidades, también tendrá la opción de modificar o dar de baja una carrera. Alberto Morgado Contreras 10 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 2.5. Resultados esperados Tal y como se comentaba en el punto 2.2 sobre los objetivos del proyecto, el resultado esperado más importante es el conseguir que la aplicación aporte un incremento en la popularidad del Club Deportivo Maratón. En general se espera una finalización del proyecto de forma exitosa en la que destaque su calidad, idoneidad y totalmente ajustada a las necesidades del Club. El logro de este objetivo puede medirse con la consecución de los siguientes resultados: Creación de una web accesible, útil y adaptada que permita el uso sencillo para cualquier cliente independientemente de su conocimiento en informática. Creación de una aplicación de escritorio que permita la gestión de los contenidos de la página web con el fin de hacerla lo más dinámica posible. Centralización de datos estadísticos referentes a las carreras organizadas así como los de los corredores. Creación de una interfaz para el corredor “Rincón del corredor” que sea útil, eficiente y permita a los usuarios interactuar entre ellos y con el Club de una manera rápida y sencilla. Ofrecer a los usuarios registrados facilidades como descargar el dorsal de las carreras en cualquier momento y obtener estadísticas de sus resultados. Incremento en la cantidad de corredores en las carreras organizadas así como de los patrocinadores y asistentes a las instalaciones (socios del Club) Mejor posicionamiento respecto a las páginas web del sector gracias al uso de nuevas tecnologías como el uso del API de Google Maps. Crecimiento del Club Deportivo de manera que en un futuro se contemple la posibilidad de crear nuevos centros e instalaciones. 2.6. Productos obtenidos Como resultado de las sucesivas fases del desarrollo, se ha obtenido, por un lado, un producto (aplicación de escritorio) para la administración de los contenidos de la web por parte del personal del Club y por otro lado, se cuenta con la página web de acceso público, para promocionar el Club y facilitar la comunicación entre corredores y organización. Alberto Morgado Contreras 11 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria Con la aplicación de escritorio se realiza el mantenimiento de todas las entidades que aparecen en la aplicación web. Cabe destacar, la integración con Google Maps para señalizar la localización del centro (y resto de centros en caso de expansión) de una manera muy útil e intuitiva. Por otro lado, en la página web se ha utilizado un estilo sencillo que facilita la navegabilidad también para usuarios poco experimentados. Todos los contenidos se encuentran en posiciones estratégicas que ayudan al usuario. En este caso, la integración con Google Maps se utiliza en la localización de centros, en la muestra del recorrido de las competiciones y finalmente en los comentarios del Rincón del Corredor cuando los usuarios suben sus propios recorridos. Dichos comentarios serán públicos en la web una vez validados por el personal del Club. 2.7. Planificación inicial vs planificación final La forma más clara para identificar la desviación entre la planificación inicial y la final, es utilizar la tabla con la relación de actividades. En base al conjunto de hitos fijados en el proyecto, se definió en un primer momento el siguiente desglose de actividades junto con la duración de las mismas y las fechas tanto de comienzo como de fin. Comentar respecto a esta planificación inicial que se ha considerado que el tiempo dedicado al aprendizaje de las nuevas tecnologías está intercalado e incluido en cada uno de los puntos de la implementación. Nombre de tarea Duración Comienzo Fin Maratón 105 días jue 28/02/13 mié 12/06/13 Definición y planificación del proyecto 12 días jue 28/02/13 lun 11/03/13 Estudio previo 1 día jue 28/02/13 jue 28/02/13 Estudio de mercado 1 día vie 01/03/13 vie 01/03/13 Toma de requisitos 1 día sáb 02/03/13 sáb 02/03/13 Definición de las tecnologías a utilizar 2 días dom 03/03/13 lun 04/03/13 Definición de funcionalidades 3 días mar 05/03/13 jue 07/03/13 Elaboración del plan de proyecto 3 días vie 08/03/13 dom 10/03/13 Supervisión documento 1 día lun 11/03/13 lun 11/03/13 Entrega 0 días lun 11/03/13 lun 11/03/13 Análisis y diseño 28 días mar 12/03/13 lun 08/04/13 Análisis de requisitos 2 días mar 12/03/13 mié 13/03/13 Casos de uso 3 días jue 14/03/13 sáb 16/03/13 Mapa conceptual 3 días dom 17/03/13 mar 19/03/13 Diagrama de arquitectura 2 días mié 20/03/13 jue 21/03/13 Diagramas de secuencia 4 días vie 22/03/13 lun 25/03/13 Diagramas de estado 3 días mar 26/03/13 jue 28/03/13 Diagrama de implementación 4 días vie 29/03/13 lun 01/04/13 Diseño de la base de datos 2 días mar 02/04/13 mié 03/04/13 Alberto Morgado Contreras 12 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria Diseño de las interfaz gráfica 3 días jue 04/04/13 sáb 06/04/13 Diccionario de datos 1 día dom 07/04/13 dom 07/04/13 Supervisión documento 1 día lun 08/04/13 lun 08/04/13 Entrega 0 días lun 08/04/13 lun 08/04/13 Producto 49 días mar 09/04/13 lun 27/05/13 Modelo de datos 2 días mar 09/04/13 mié 10/04/13 Página web 27 días jue 11/04/13 mar 07/05/13 Consulta de ofertas 2 días jue 11/04/13 vie 12/04/13 Consulta de instalaciones 2 días sáb 13/04/13 dom 14/04/13 Consulta de premios y patrocinadores 2 días lun 15/04/13 mar 16/04/13 Competiciones y resultados 2 días mié 17/04/13 jue 18/04/13 Contacto y localización 2 días vie 19/04/13 sáb 20/04/13 API Google Maps 8 días dom 21/04/13 dom 28/04/13 Rincón del corredor 8 días lun 29/04/13 lun 06/05/13 Acceso a usuarios 1 día mar 07/05/13 mar 07/05/13 Aplicación de administración 21 días mié 08/05/13 mié 22/05/13 Gestión de usuarios 3 días mié 08/05/13 vie 10/05/13 Gestión de ofertas 2 días sab 11/05/13 dom 12/05/13 Gestión de comentarios 2 días lun 13/05/13 mar 14/05/13 Gestión de carreras 6 días mié 15/05/13 lun 20/05/13 Acceso de usuarios 1 día mar 21/05/13 mar 21/05/13 Pruebas unitarias 2 días mié 22/05/13 jue 23/05/13 Pruebas de integración 2 días vie 24/05/13 sáb 25/05/13 Manuales 1 día dom 26/05/13 dom 26/05/13 Entrega 0 días lun 27/05/13 lun 27/05/13 Cierre del proyecto 16 días mar 28/05/13 mié 12/06/13 Mejoras y correcciones 3 días mar 28/05/13 jue 30/05/13 Elaboración de la memoria 6 días vie 31/05/13 mie 05/06/13 Supervisión documento 1 día jue 06/06/13 jue 06/06/13 Elaboración de la presentación 6 días vie 07/06/13 mié 12/06/13 Entrega 0 días mié 12/06/13 mié 12/06/13 Tabla 1. Relación de actividades. Antes de finalizar el desarrollo del proyecto ya fue patente la diferencia entre la planificación inicial y lo que realmente estaba siendo. En concreto al alcanzar la fase de implementación. La previsión del tiempo necesario para la fase de implementación ha sido insuficiente. Con el objetivo de cumplir el hito de la fecha de entrega, el producto presentado en un primer momento fue modificado y ampliado posteriormente, esto es, se han necesitado más jornadas de las programadas para finalizarlo. Por tanto, también se ha visto afectada la planificación inicial respecto a las mejoras y correcciones, ya que se ha dedicado menos tiempo en favor de la finalización de la implementación de todas las funcionalidades requeridas. Alberto Morgado Contreras 13 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 3. Análisis y diseño En este apartado se aborda el análisis y diseño de las nuevas aplicaciones. 3.1. Diagrama de casos de uso En la siguiente figura se muestra el diagrama de casos de uso de cada sistema. A continuación se detallará cada uno de los casos. Figura 1. Diagrama de casos de uso Alberto Morgado Contreras 14 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 3.1.1. Crear centro Tanto este caso de uso como el de Crear oferta, Crear instalación, Crear patrocinador, Crear premio, Crear competición (se puede añadir el recorrido de la carrera al darla de alta) y Crear usuario poseen las mismas características, por lo que su tabla de detalle será idéntica a la tabla 2, con la única excepción del destino de cada caso de uso (oferta, instalación, patrocinador, premio, competición y usuario). Caso de uso Crear centro Resumen de la Permite introducir un nuevo centro en el sistema funcionalidad Actores Personal del Club Casos de uso relacionados Precondición El actor se encuentra autenticado en el sistema de administración Postcondición Se ha registrado el centro en el sistema Proceso normal 1. El usuario indica al sistema que quiere crear un nuevo centro principal 2. El sistema pide los campos necesarios al usuario 3. El usuario introduce los datos necesarios 4. El sistema recoge los datos y crea el nuevo centro 5. El usuario finaliza el proceso de creación de centro Alternativas de 4a. Faltan campos obligatorios en la creación del centro proceso y 4a.1. El sistema muestra un mensaje de aviso y retorna al punto 2 excepciones Tabla 2. Caso de uso crear centro. 3.1.2. Consultar centro De la misma manera que sucede con el caso de uso anterior, tanto este caso de uso como el de Consultar comentario, Consultar oferta, Consultar instalación, Consultar patrocinador, Consultar premio, Consultar competición y Consultar usuario son similares, por lo que su tabla de detalle será idéntica a la tabla 3, con la excepción del destino de cada caso de uso (comentario, oferta, instalación, patrocinador, premio, competición y usuario). Caso de uso Consultar centro Resumen de la Presenta un listado con la información de los centros registrados funcionalidad en el sistema. Además, el listado se puede filtrar con criterios de búsqueda Actores Personal del Club Casos de uso Crear centro, Modificar centro, Eliminar centro relacionados Precondición El actor se encuentra autenticado en el sistema de administración Postcondición Proceso normal 1. El usuario indica al sistema que quiere consultar un centro principal 2. El sistema muestra todos los centros registrados Alberto Morgado Contreras 15 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 3. El usuario elige un resultado de la búsqueda 4. El sistema muestra la información y finaliza el caso de uso Alternativas de 3a. El usuario introduce los criterios de búsqueda. proceso y 3a1. El sistema realiza una búsqueda con los criterios indicados excepciones por parte del usuario y presenta los resultados 3a11. El usuario refina los criterios de búsqueda y retorna al paso 3a 3b. El usuario ejecuta el caso de uso Crear centro 3c. El usuario ejecuta el caso de uso Modificar centro 3d. El usuario ejecuta el caso de uso Eliminar centro Tabla 3. Caso de uso consultar centro. 3.1.3. Modificar centro Al igual que en los dos apartados anteriores, tanto este como Modificar oferta, Modificar instalación, Modificar patrocinador, Modificar premio, Modificar competición y Modificar usuario poseen las mismas características, por lo que su tabla de detalle será idéntica a la tabla 4 excepto en el destino de cada caso de uso (oferta, instalación, patrocinador, premio, competición y usuario). Caso de uso Modificar centro Resumen de la Permite modificar un centro del sistema funcionalidad Actores Personal del Club Casos de uso Consultar centro, crear centro relacionados Precondición El actor se encuentra autenticado en el sistema de administración y ha ejecutado el caso de uso Consultar centro Postcondición El centro se encuentra modificado Proceso normal 1. El usuario indica al sistema que quiere modificar un centro principal 2. El sistema muestra los campos modificables al usuario 3. El usuario modifica los datos correspondientes 4. El usuario confirma la modificación 5. El sistema recoge los datos y modifica el centro 6. El usuario finaliza el proceso de modificación del centro Alternativas de 5a. Faltan campos obligatorios en la modificación del centro proceso y 5a.1. El sistema muestra un mensaje de aviso y retorna al punto2 excepciones Tabla 4. Caso de uso modificar centro. 3.1.4. Eliminar centro Al igual que en los apartados anteriores, tanto este caso de uso como el de Eliminar comentario, Eliminar oferta, Eliminar instalación, Eliminar patrocinador, Eliminar premio, Eliminar competición y Eliminar usuario tienen las mismas características, por lo que su tabla de detalle será igual a la tabla 5 a excepción del Alberto Morgado Contreras 16 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria destino de cada caso de uso (oferta, instalación, patrocinador, premio, competición y usuario). Caso de uso Eliminar centro Resumen de la Permite realizar una baja lógica de un centro funcionalidad Actores Personal del Club Casos de uso Consultar centro, crear centro relacionados Precondición El actor se encuentra autenticado en el sistema de administración y ha ejecutado el caso de uso Consultar centro Postcondición El centro se encuentra dado de baja Proceso normal 1. El usuario indica al sistema que quiere eliminar un centro principal 2. El sistema pide confirmación para realizar la baja 3. El usuario confirma la baja y finaliza el proceso de baja del centro Alternativas de proceso y excepciones Tabla 5. Caso de uso eliminar centro. 3.1.5. Validar comentario A continuación, se analiza el caso de uso Validar comentario que ejecutará el personal del Club en la aplicación de mantenimiento para que el mismo pueda verse en la página web. Caso de uso Validar comentario Resumen de la El personal del Club valida un comentario subido por un usuario de funcionalidad la web Actores Personal del Club Casos de uso Consultar comentario, crear comentario relacionados Precondición El actor se encuentra autenticado en el sistema de administración y ha ejecutado el caso de uso Consultar comentario Postcondición El comentario se encuentra validado Proceso normal 1. El usuario indica al sistema que quiere validar un comentario principal 2. El sistema pide confirmación para realizar la validación 3. El usuario confirma la validación y finaliza el proceso Alternativas de proceso y excepciones Tabla 6. Caso de uso validar comentario. Alberto Morgado Contreras 17 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 3.1.6. Autenticarse (web y administración) El caso de uso Autenticarse será ejecutado tanto en la aplicación de administración (únicamente por el personal del Club) como en la web (por cualquier usuario registrado). Caso de uso Autenticarse Resumen de la Para acceder a las aplicaciones, el personal del Club en el caso de funcionalidad la aplicación de administración y el usuario registrado en el caso de la zona privada de página web, necesitan autenticarse previamente Actores Personal del Club para la autenticación en la aplicación de administración Usuario registrado para la autenticación en la página web Casos de uso relacionados Precondición El actor arranca la aplicación Postcondición El actor se encuentra autenticado en el sistema Proceso normal 1. El sistema solicita el usuario y contraseña al actor principal 2. El usuario rellena los campos de usuario y contraseña 3. El usuario se autentica y finaliza el caso de uso Alternativas de 3a. Los datos introducidos no son correctos proceso y 3a.1 El sistema muestra un mensaje de aviso y retorna al punto 1 excepciones Tabla 7. Caso de uso autenticarse. 3.1.7. Inscribirse competición El usuario registrado ejecuta el caso de uso Inscribirse competición dentro del rincón del corredor en la página web. Caso de uso Inscribirse competición Resumen de la El usuario registrado se inscribe en una competición funcionalidad creada en un centro del Club Actores Usuario registrado Casos de uso relacionados Crear competición Precondición El usuario se encentra autenticado en la página web Postcondición El usuario registrado está inscrito en la competición Proceso normal principal 1. El usuario indica al sistema que quiere inscribirse en una competición 2. El sistema muestra todas las competiciones abiertas 3. El usuario se inscribe en una de ellas y finaliza el caso de uso Tabla 8. Caso de uso inscribirse competición. Alberto Morgado Contreras 18 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 3.1.8. Descargar dorsal El sistema le da la posibilidad al usuario registrado de descargar su dorsal en PDF, para la carrera en la que está inscrito, ejecutando el método Descargar dorsal que se detalla a continuación: Caso de uso Descargar dorsal Resumen de la El usuario registrado que está inscrito en alguna competición funcionalidad puede descargar el dorsal que va a utilizar para la misma Actores Usuario registrado Casos de uso Inscribirse competición relacionados Precondición El usuario se encuentra autenticado en la página web e inscrito en alguna competición Postcondición Proceso normal 1. El usuario indica al sistema que quiere descargarse un dorsal principal 2. El sistema muestra todas las competiciones pendientes en las que está inscrito el actor 3. El usuario selecciona una de ellas, descarga el dorsal asociado y finaliza el caso de uso Alternativas de proceso y excepciones Tabla 9. Caso de uso descargar dorsal. 3.1.9. Ver datos personales Al igual que en los primeros apartados, tanto este caso de uso como el de Ver estadísticas poseen las mismas características, por lo que su tabla de detalle será idéntica a la tabla 10 a excepción del destino de cada caso de uso (en este caso datos personales y en el de Ver estadística, estadísticas). Caso de uso Ver datos personales Resumen de la Consulta sobre los datos personales del usuario registrado funcionalidad Actores Usuario registrado Casos de uso relacionados Precondición El usuario se encuentra autenticado en la página web Postcondición Proceso normal 1. El usuario indica al sistema que quiere consultar los datos principal personales 2. El sistema muestra todas los datos personales del usuario registrado 3. El usuario finaliza el caso de uso Tabla 10. Caso de uso ver datos personales. Alberto Morgado Contreras 19 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 3.1.10. Modificar datos personales El usuario registrado siempre puede modificar sus datos personales ejecutando este caso de uso dentro del Rincón del Corredor. Caso de uso Modificar datos personales Resumen de la Permite modificar los datos del actor funcionalidad Actores Usuario registrado Casos de uso relacionados Precondición El actor se encuentra autenticado en la página web y ha ejecutado el caso de uso Ver datos personales Postcondición Los datos personales se encuentran modificados Proceso normal 1. El usuario indica al sistema que quiere modificar los datos principal 2. El sistema muestra los campos modificables al usuario 3. El usuario modifica los datos 4. El sistema recoge y modifica los datos 5. El usuario finaliza el proceso de modificación del usuario Alternativas de 4a. Faltan campos obligatorios en los datos de usuario proceso y 4a.1. El sistema muestra un mensaje de aviso y retorna al punto2 excepciones Tabla 11. Caso de uso modificar datos personales. 3.1.11. Crear comentario Un usuario registrado en la página web puede crear un comentario e incluso adjuntar el recorrido de un entrenamiento que quiera compartir con el resto de usuarios. Para ello ejecutará el caso de uso Crear comentario. Caso de uso Crear comentario Resumen de la Permite introducir un nuevo comentario en la web funcionalidad Actores Usuario registrado Precondición El actor se encuentra autenticado en la página web Postcondición Se ha registrado el comentario en el sistema Proceso normal 1. El usuario indica al sistema que quiere crear un nuevo principal comentario 2. El sistema pide los campos necesarios al usuario 3. El usuario introduce los datos necesarios. En este momento se puede subir el recorrido de una. 4. El sistema recoge los datos y crea el nuevo comentario 5. El usuario finaliza el proceso de creación de comentario Alternativas de 4a. Faltan campos obligatorios en la creación del comentario proceso y 4a.1. El sistema muestra un mensaje de aviso y retorna al punto 2 excepciones Tabla 12. Caso de uso crear comentario. Alberto Morgado Contreras 20 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 3.1.12. Ver comentarios En este caso, detallamos el caso de uso Ver comentarios, que es idéntico a Ver competiciones, Ver patrocinadores, Ver premios, Ver instalaciones, Ver centros y Ver ofertas , con la diferencia del objeto que se quiere visualizar. Caso de uso Ver comentarios Resumen de la Muestra los comentarios que están validados y activos en la funcionalidad página web Actores Usuario web (registrado o anónimo) Casos de uso relacionados Precondición El usuario se encuentra conectado a la página web Postcondición Proceso normal 1. El usuario indica al sistema que quiere consultar los principal comentarios 2. El sistema muestra todas los comentarios que están validados y activos en la página web 3. El usuario finaliza el caso de uso Tabla 13. Caso de uso ver comentarios. 3.1.13. Registro Para poder inscribirse en carreras y acceder al Rincón del Corredor, el usuario de la aplicación web necesita registrarse en nuestro sistema mediante este caso de uso. Caso de uso Registro Resumen de la Registro de un usuario en el sistema web. El usuario pasaría a ser funcionalidad de usuario web a usuario registrado Actores Usuario web Casos de uso Recordar Contraseña relacionados Precondición El usuario ha accedido a la web Postcondición El usuario queda registrado en el sistema Proceso normal 1. El usuario indica al sistema que quiere registrarse principal 2. El sistema pide los campos necesarios al usuario 3. El usuario introduce los datos necesarios 4. El sistema recoge los datos y crea el nuevo usuario 5. El usuario finaliza el proceso de alta en la web Alternativas de 4a. Faltan campos obligatorios para el registro proceso y 4a.1. El sistema muestra un mensaje de aviso y retorna al punto 2 excepciones Tabla 14. Caso de uso registro. Alberto Morgado Contreras 21 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 3.1.14. Recordar Contraseña (Web) En el caso de que al usuario registrado de la página web se le olvidara la contraseña, la aplicación le permitirá recuperar la contraseña y el acceso a la aplicación con este caso de uso. Caso de uso Recordar contraseña Resumen de la Cambio de contraseña cuando el usuario registrado la ha olvidado funcionalidad Actores Usuario registrado Casos de uso Registro relacionados Precondición El usuario no puede acceder a la web Postcondición El usuario ha cambiado su contraseña de acceso Proceso normal 1. El usuario indica al sistema que quiere cambiar su contraseña principal 2. El sistema envía vía correo electrónico una nueva contraseña 3. El usuario accede con la nueva contraseña y finaliza el proceso de cambio de contraseña Alternativas de proceso y excepciones Tabla 15. Caso de uso recordar contraseña web. 3.1.15. Recordar Contraseña (Escritorio) De la misma manera que sucede en la aplicación web, se realiza el reinicio de la contraseña en la aplicación de escritorio mediante el caso de uso que detallamos a continuación: Caso de uso Recordar contraseña Resumen de la Cambio de contraseña cuando el usuario registrado la ha olvidado funcionalidad Actores Personal del Club Casos de uso Registro relacionados Precondición El usuario no puede acceder a la aplicación Postcondición El usuario ha cambiado su contraseña de acceso Proceso normal 1. El usuario indica al sistema que quiere cambiar su contraseña principal 2. El sistema envía vía correo electrónico una nueva contraseña 3. El usuario accede con la nueva contraseña y finaliza el proceso de cambio de contraseña Alternativas de proceso y excepciones Tabla 16. Caso de uso recordar contraseña escritorio. Alberto Morgado Contreras 22 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 3.2. Modelo conceptual En los siguientes modelos conceptuales, se pretende dar una visión global de las relaciones de cada tipo de usuario con las distintas entidades de la aplicación. De esta forma, también queda reflejada en cierta manera la funcionalidad que ofrece la aplicación a cada usuario. Dado que tenemos dos partes muy diferenciadas en el proyecto, se presenta un modelo conceptual para la aplicación web y otro para la aplicación de escritorio. Apuntar que los usuarios de una y otra parte interactúan de forma muy distinta con el sistema. 3.2.1. Modelo conceptual aplicación de administración En la aplicación de escritorio, el usuario es el empleado del Club y en el siguiente diagrama se identifican tanto las relaciones del empleado con las entidades (en concreto, su pertenencia a un centro) como sus funciones administrativas. Se refleja la pertenencia del empleado a un centro porque esta característica es la que se utiliza para distinguir en el modelo de datos al usuario de la aplicación de escritorio del usuario web. Por tanto, en el siguiente modelo conceptual aparece la relación de pertenencia del empleado a un centro y por otro lado, las relaciones relativas a las tareas de mantenimiento y administración por parte del mismo empleado. Añadir por último, que las tareas de mantenimiento engloban la creación, consulta, modificación y eliminación lógica de cada una de las entidades. Figura 2. Modelo conceptual aplicación de administración (escritorio) Alberto Morgado Contreras 23 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 3.2.2. Modelo conceptual aplicación web En este caso, el usuario web puede ser registrado o no registrado y en función de esto, podrá acceder a unas funcionalidades u otras. En particular, el usuario registrado tiene acceso a todo el contenido y funcionalidades mientras que el no registrado tiene acceso únicamente a la parte pública. Las funcionalidades de acceso restringido son principalmente: La posibilidad de inscribirse a una competición La creación de comentarios La consulta de estadísticas personales La consulta y modificación de sus datos personales La descarga de dorsales Donde las dos últimas, no se reflejan en el modelo. En cuanto a la parte pública de la web, todas las acciones que pueden realizar los usuarios son de consulta. La aplicación mostrará en cada caso, la información que requiera el usuario. Figura 3. Modelo conceptual aplicación web Alberto Morgado Contreras 24 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria 3.3. Diagrama de arquitectura: de aplicación / SW / HW En este apartado se describe la arquitectura de la aplicación. Por un lado, se presenta en la figura 4 el diagrama para la arquitectura software planteada y posteriormente, en la figura 5 se muestra una visión general de la arquitectura hardware necesaria para montar la nueva aplicación. 3.3.1. Arquitectura software En cuanto a la arquitectura de software de la aplicación, en la figura 4 se muestra cómo se distribuye cada componente de la aplicación. Se ha seguido la arquitectura cliente – servidor. Aunque para la aplicación de escritorio es necesario matizar que esta estructura no se refiere a la convencional (aplicación instalada en cliente y servidor) si no que, la aplicación de administración como tal se instala únicamente en el cliente y la parte del servidor se refiere al de base de datos. Así, en el lado del cliente, se encuentra la capa de presentación de la aplicación web en la que se utiliza la tecnología Ajax que permite realizar postback sin necesidad de enviar al servidor la pantalla completa, es decir, se enviará únicamente la parte a actualizar y con ello se mejora el rendimiento en cuanto a la velocidad de la aplicación. Y por otro lado, también se incluye en la parte cliente la aplicación de escritorio. Tal y como hemos comentado con anterioridad, la aplicación de administración se encontrará instalada en cada equipo desde el que se va a utilizar. Dicha aplicación será desarrollada bajo Windows Presentation Foundation y conectará con la base de datos mediante el ADO .NET Entity Framework en la capa de persistencia para acceder a la base de datos. Volviendo a la aplicación web, se conectará a la capa de aplicación del servidor, que es responsable de la gestión de las vistas a mostrar y en el otro sentido, de la comunicación con la capa de persistencia para la obtención y modificación de datos. Destacar también, que la capa de presentación se ejecutará por una parte en el cliente (JavaScript) y por otra en el servidor (ASP.NET). La capa de persistencia tendrá una comunicación bidireccional con la base de datos SQL Server 2008 que será el origen y destino de toda la información manejada tanto en la aplicación de administración como en la página web. Transversalmente a las capas indicadas se encuentra la de infraestructura. En ella reflejamos los recursos técnicos genéricos que dan soporte a las capas superiores. Por ejemplo la API de Google Maps que permitirá el tratamiento de los mapas. Además otros recursos serían los relativos a seguridad, trazas de seguimiento… Alberto Morgado Contreras 25 Club Deportivo Maratón
T.F.C. - .NET - I.T.I.G. Memoria Figura 4. Diagrama de arquitectura software 3.3.2 Arquitectura hardware A continuación, se muestra el diagrama de arquitectura hardware. En él, podemos ver cómo se distribuye la aplicación para poder ejecutarla. Tal y como vemos en la figura 5, en un servidor web con Internet Information Server tendremos instalada la aplicación web. Dentro de la misma red, por lo tanto, comunicado con él, un servidor de base de datos con el SQL Server 2008. La red en la que se encuentran ambos servidores debe tener salida a internet para acceder a ellos. Desde cualquier equipo con un navegador web e internet, podremos conectarnos a la página web. Para acceder a la aplicación de administración, ésta debe estar previamente instalada en los equipos que se quieran utilizar y a su vez, tendrán que estar conectados a internet. Alberto Morgado Contreras 26 Club Deportivo Maratón
También puede leer