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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónT.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ónTambién puede leer