En Cuba la elaboración del plan de entrenamiento en los deportes de combate se realiza de forma manual, lo cual lo convierte en un proceso muy complejo, debido a la gran cantidad de información que se maneja. El presente trabajo consiste en el desarrollo de un sistema multiplataforma desarrollado con tecnologías libres para facilitar este proceso. El desarrollo del sistema fue guiado por la metodología de desarrollo Programación Extrema. Como lenguajes de programación del lado del cliente se utilizaron HTML, JavaScript a través de la librería JQuery y CSS apoyado en el framework de diseño Twitter-Bootstrap. Como lenguaje del lado del servidor se utilizó PHP, a través del framework de desarrollo Symfony. Se utilizó el NetBeans IDE como Entorno de Desarrollo Integrado, Apache como servidor web y PostgreSQL como gestor de bases de datos. Se implementaron los módulos: Biorritmo y Administración y se sentaron las bases para el desarrollo de los módulos Plan gráfico, Test pedagógicos, Archivo multimedia, Ficha del deportista, Pruebas médicas, Control de asistencia, Historia clínica, Cumplimiento de la preparación, Calendario de competición y Competencia, que serán desarrollados en futuras versiones. Fueron realizadas las pruebas de software a la propuesta de solución, las cuales aseguran en gran medida la correcta implementación de las funcionalidades y un alto grado de satisfacción por parte del cliente.
Fundamentos teóricos de los almacenes de datos. Metodologías y herramientas p...
Sistema para la planificación y control del entrenamiento en deportes de combate.
1. Sistema para la planificación y control del
entrenamiento en deportes de combate
TRABAJO DE DIPLOMA
PARA OPTAR POR EL TÍTULO DE INGENIERO EN CIENCIAS INFORMÁTICAS
2. Sistema para la planificación y control del entrenamiento
en deportes de combate
Autores
Autores:
Roanny Lamas López
Alex García Hernández
Tutor:
Ing. Karenia Donatien Goliath
Co-Tutor(es) :
MsC. Roberto López Dosagües
MsC. Esteban Joel Navarro Mora
3. Sistema para la planificación y control del entrenamiento
en deportes de combate
Introducción
Avance Expansión Control
4. Sistema para la planificación y control del entrenamiento
en deportes de combate
Introducción
Educación Salud Deporte
5. Sistema para la planificación y control del entrenamiento
en deportes de combate
Introducción
"El deporte es un derecho
del pueblo"
Fidel Castro
I Plenaria Nacional de los
Consejos Voluntarios Deportivos
6. Sistema para la planificación y control del entrenamiento
en deportes de combate
Introducción
Entrenadores Deportistas
Dirección
Planificación
Ejecución
Programas
deportivos
7. Sistema para la planificación y control del entrenamiento
en deportes de combate
Introducción
Entrenamiento
deportivo
Trabajo Planificado
Plan de
entrenamiento
8. Sistema para la planificación y control del entrenamiento
en deportes de combate
Situación problémica
Deportes de
combate
Plan de
entrenamiento
SIMILITUDES
9. Sistema para la planificación y control del entrenamiento
en deportes de combate
Situación problémica
Deportes de
combate
SIMILITUDES
Indicadores
Pruebas médicas
Test pedagógicos
Plan gráfico
...
10. Sistema para la planificación y control del entrenamiento
en deportes de combate
Situación problémica
Indicadores
Pruebas médicas
Test pedagógicos
Plan gráfico
...
11. Sistema para la planificación y control del entrenamiento
en deportes de combate
Situación problémica
Equipo técnico
Atleta Gran cantidad
de cálculos
Información no
digitalizada
12. Sistema para la planificación y control del entrenamiento
en deportes de combate
Situación problémica
Pérdida de tiempo en la planificación.
Imposibilita obtener estadísticas precisas.
Personal Medios
13. Sistema para la planificación y control del entrenamiento
en deportes de combate
Problema de investigación
¿Cómo facilitar el proceso de planificación y control
del entrenamiento en deportes de combate?
14. Sistema para la planificación y control del entrenamiento
en deportes de combate
Objeto de estudio
El proceso de informatización del entrenamiento
deportivo.
15. Sistema para la planificación y control del entrenamiento
en deportes de combate
Campo de acción
Los sistemas para la planificación y control del
entrenamiento en los deportes de combate.
16. Sistema para la planificación y control del entrenamiento
en deportes de combate
Objetivo general
Desarrollar un sistema que facilite el proceso de
planificación y control del entrenamiento en
deportes de combate.
17. Sistema para la planificación y control del entrenamiento
en deportes de combate
Objetivos específicos
Construir los referentes teóricos fundamentales
que sustentan la investigación.
Identificar los requerimientos con que debe
cumplir la propuesta de solución.
18. Sistema para la planificación y control del entrenamiento
en deportes de combate
Objetivos específicos
Implementar el sistema de planificación y control
del entrenamiento en deportes de combate.
Realizar pruebas de software a la propuesta de
solución.
19. Sistema para la planificación y control del entrenamiento
en deportes de combate
Idea a defender
El proceso de planificación y control del
entrenamiento en deportes de combate se facilita
con el desarrollo de un sistema informático.
20. Sistema para la planificación y control del entrenamiento
en deportes de combate
Ambiente de desarrollo
Metodología de desarrollo
- Programación Extrema
Herramienta de modelado
- Visual Paradigm for UML
Lenguaje de modelado
- Lenguaje de Modelado Unificado
8.0
2.1
21. Sistema para la planificación y control del entrenamiento
en deportes de combate
Ambiente de desarrollo
Servidor de base de datos
- PostgreSQL
Entorno de Desarrollo Integrado
- NetBeans IDE
Servidor de aplicaciones
- Apache
9.1
7.4
2.0
22. Sistema para la planificación y control del entrenamiento
en deportes de combate
Ambiente de desarrollo
Lenguaje en el servidor
- PHP
Lenguajes en el cliente
- JavaScript
- CSS
- HTML
5.3.10
23. Sistema para la planificación y control del entrenamiento
en deportes de combate
Frameworks y librerías
2.2.2
1.8.3
1.10.0
1.4.20 1.2.4
Presentación
Lógica del
negocio
Acceso a datos
24. Sistema para la planificación y control del entrenamiento
en deportes de combate
Descripción de la solución
Concepción
inicial
• 12 módulos
Primera
versión
• Biorritmo
• Administración
• Bases para
desarrollos
futuros
Desarrollo
futuro
• Restantes
módulos
25. Sistema para la planificación y control del entrenamiento
en deportes de combate
Características del sistema
Administrador
Jefe de colectivo técnico
Entrenador
Médico
Fisioterapeuta
Psicólogo
Roles del sistema
Cargos
en un
equipo
técnico
26. Sistema para la planificación y control del entrenamiento
en deportes de combate
Características del sistema
• Gestionar miembro de
equipo técnico.
• Gestionar equipo
técnico.
• Gestionar deporte.
• Gestionar usuario.
dor
• Gestionar atleta.
• Gestionar grupo de
atletas.
• Gestionar cargo de
equipo técnico.
• Graficar biorritmo.
Jefe de colectivo
técnico
27. Sistema para la planificación y control del entrenamiento
en deportes de combate
Flujo propuesto para el proceso
Administrador
Jefe de colectivo
técnico
Deporte
Equipo técnico
Miembro de equipo técnico
Usuario del sistema
Gestión de las entidades
base detectadas.
28. Sistema para la planificación y control del entrenamiento
en deportes de combate
Interfaces de usuario
29. Sistema para la planificación y control del entrenamiento
en deportes de combate
Interfaces de usuario
30. Sistema para la planificación y control del entrenamiento
en deportes de combate
Exploración y planificación
20
Historias
de usuario
1
2
3
4
4
Iteraciones
4
Entregas
31. Sistema para la planificación y control del entrenamiento
en deportes de combate
Arquitectura
Modelo-Vista-Controlador
32. Sistema para la planificación y control del entrenamiento
en deportes de combate
Arquitectura
33. Sistema para la planificación y control del entrenamiento
en deportes de combate
Patrones de diseño
GRASP
Experto
Creador
Alta cohesión
Bajo
acoplamiento
Controlador
GOF
Singleton
Decorator
Command
Computación
distribuida
Registry
34. Sistema para la planificación y control del entrenamiento
en deportes de combate
Seguridad del sistema
Gestionar usuarios, roles y permisos.
Mecanismo de autenticación basado en usuario y
contraseña.
Protección contra ataques XSS, CSRF e inyecciones
SQL.
35. Sistema para la planificación y control del entrenamiento
en deportes de combate
Estrategia de pruebas
Desarrollo dirigido por pruebas
Seleccionar una
HU
Escribir las
pruebas
Automatizar las
pruebas
Implementar la
funcionalidad
36. Sistema para la planificación y control del entrenamiento
en deportes de combate
Estrategia de pruebas
Desarrollo dirigido por pruebas
Pruebas Unitarias
Código
Pruebas de Aceptación
Funcionalidades
37. Sistema para la planificación y control del entrenamiento
en deportes de combate
No conformidades
13
9
5
3
0
2
4
6
8
10
12
14
Iteración 1 Iteración 2 Iteración 3 Iteración 4
38. Sistema para la planificación y control del entrenamiento
en deportes de combate
Conclusiones
Al investigar el objeto de estudio, los métodos
científicos empleados posibilitaron identificar los
conceptos y teorías que sustenta la investigación
para el desarrollo de la solución.
La metodología seleccionada permitió al equipo
de desarrollo cumplir con el objetivo general de la
investigación y satisfacer de esta forma las
necesidades del cliente.
39. Sistema para la planificación y control del entrenamiento
en deportes de combate
Conclusiones
Las herramientas y lenguajes de programación
seleccionados permitieron el desarrollo de la
solución propuesta.
La validación demostró la eficacia del proceso de
desarrollo llevado a cabo y además, comprobó el
correcto funcionamiento de la solución.
40. Sistema para la planificación y control del entrenamiento
en deportes de combate
Recomendaciones
Implementar los restantes módulos definidos para
el sistema.
Desarrollar una versión de escritorio del sistema.
41. Sistema para la planificación y control del entrenamiento
en deportes de combate
Recomendaciones
Desarrollar una versión que aproveche las
principales tendencias del desarrollo de software
actual, de modo que permita a los miembros de
los equipos técnicos acceder y almacenar la
información necesaria en el momento deseado.
42. Sistema para la planificación y control del
entrenamiento en deportes de combate
TRABAJO DE DIPLOMA
PARA OPTAR POR EL TÍTULO DE INGENIERO EN CIENCIAS INFORMÁTICAS
43. Sistema para la planificación y control del entrenamiento
en deportes de combate
Preguntas del oponente
En el epígrafe 1.4.1 cuando seleccionan Symfony en su
versión 1.4.20, plantean: “La selección se basó en el
conocimiento que se posee sobre el framework Symfony,
evitando invertir tiempo y esfuerzo en el aprendizaje de
una nueva tecnología de este tipo y aprovechar el mismo
en el desarrollo de la propuesta de solución”. Además
argumentan que “su creador aseguró que el código de
Symfony 1 es muy estable y que la infraestructura se
mantendrá en línea como parte del mantenimiento”.
Además se apoyan en varias soluciones existentes en el
entorno universitario que se desarrollaron con la versión 1.
Las preguntas son las siguientes:
44. Sistema para la planificación y control del entrenamiento
en deportes de combate
Preguntas del oponente
A pesar de los argumentos anteriores no existe una
comparación entre las distintas versiones del framework
Symfony que justifique la selección realizada, por tanto:
Pregunta 1. Enuncie los elementos que hicieron llegar a la
selección de la versión, analice las ventajas y desventajas
de esta elección.
45. Sistema para la planificación y control del entrenamiento
en deportes de combate
Respuesta Pregunta # 1
Conocimiento por parte del equipo de desarrollo.
Cúmulo de conocimientos existente en la
comunidad universitaria.
Framework suficientemente estable y no
obsoleto.
Gran comunidad de usuarios.
Inestabilidad de Symfony 2.
Elementos tenidos en cuenta para
realizar la selección de Symfony 1.4.20:
46. Sistema para la planificación y control del entrenamiento
en deportes de combate
Respuesta Pregunta # 1
Desarrollo de la solución en un menor período de
tiempo.
Posibilidad de reutilizar código y conocimiento.
Desarrollo de un código con un alto grado de
estabilidad.
Potente herramienta para generar el panel de
administración de una aplicación.
Ventajas de la elección de Symfony 1.4.20:
47. Sistema para la planificación y control del entrenamiento
en deportes de combate
Respuesta Pregunta # 1
Inestabilidad con versiones superiores a PHP 5.3.
Las peticiones al servidor son más lentas.
No aprovecha las principales características
incorporadas al lenguaje PHP a partir de la
versión 5.3.
No permite el uso de anotaciones en el código
fuente.
Desventajas de la elección de Symfony 1.4.20:
48. Sistema para la planificación y control del entrenamiento
en deportes de combate
Preguntas del oponente
Pregunta 2. En el campo de las ciencias informáticas, la
escalabilidad, soporte y mejoras a las soluciones existentes
son temas imprescindible dado el avance tecnológico
actual. Por eso en sus recomendaciones plantean:
“Desarrollar una versión que aproveche las principales
tendencias del desarrollo de software actual, como son el
desarrollo de software para dispositivos móviles y la
computación en la nube, de modo que permita a los
miembros de los equipos técnicos acceder y almacenar la
información necesaria en el momento deseado”. Si la
ejecución de esto dependiera de la migración a la versión
2.x.x del framework:
49. Sistema para la planificación y control del entrenamiento
en deportes de combate
Preguntas del oponente
En base a dicha conjetura, haga una valoración de la
factibilidad actual del desarrollo de la solución utilizando
la versión 1.4.20.
50. Sistema para la planificación y control del entrenamiento
en deportes de combate
Respuesta Pregunta # 2
El “diseño web adaptativo” o “responsive web
design” es una filosofía o nuevo enfoque para
solucionar los problemas de diseño para la gran
diversidad de resoluciones y dispositivos. Este
enfoque quiere centrarse en el contenido, y en el
cliente, en su experiencia de usuario, si deja de
trabajar con su equipo de sobremesa y quiere
continuar navegando en la misma página web desde
una tablet o smartphone.
ALONSO VEGA, Adrián. Responsive Web Design interfaces web adaptables
al dispositivo empleando HTML5 y CSS3. [En línea]. 2013.
51. Sistema para la planificación y control del entrenamiento
en deportes de combate
Respuesta Pregunta # 2
52. Sistema para la planificación y control del entrenamiento
en deportes de combate
Respuesta Pregunta # 2
La “computación en la nube” o “cloud computing” es
un paradigma en el que la información se almacena
de manera permanente en servidores de Internet
y se envía a cachés temporales de cliente, lo que
incluye equipos de escritorio, centros de ocio,
portátiles,etc
AGUILERA, Sergio and TOMMASSONE, Juan. Desarrollo cooperativo de
software libre aplicado a la enseñanza de sistemas operativos sobre
plataforma de cloud computing. In : XIII Workshop de Investigadores en
Ciencias de la Computación [En línea]. 2011.
53. Sistema para la planificación y control del entrenamiento
en deportes de combate
Respuesta Pregunta # 2
54. Sistema para la planificación y control del entrenamiento
en deportes de combate
Preguntas del oponente
Realice además una estimación del esfuerzo que
implicaría realizar dicha migración.
55. Sistema para la planificación y control del entrenamiento
en deportes de combate
Respuesta Pregunta # 2
1. Crear una aplicación nueva con Symfony2.
2. Generar el CRUD básico de las entidades.
3. Refactorizar el código de la capa de Acceso a
datos.
4. Refactorizar el código de la capa de Lógica del
negocio.
5. Refactorizar el código de la capa de la Vista.
6. Realizar pruebas de software.
Metodología para realizar la migración:
56. Sistema para la planificación y control del entrenamiento
en deportes de combate
Respuesta Pregunta # 2
Presentación
Lógica del
negocio
Acceso a datos
1
2
57. Sistema para la planificación y control del entrenamiento
en deportes de combate
Respuesta Pregunta # 2
40%
Estimación del esfuerzo:
51 días
58. Sistema para la planificación y control del
entrenamiento en deportes de combate
TRABAJO DE DIPLOMA
PARA OPTAR POR EL TÍTULO DE INGENIERO EN CIENCIAS INFORMÁTICAS
Notas del editor
El siglo 21 está caracterizado por un vertiginoso avance, expansión y control de las TIC, a nivel global. La actividad humana del presente esta estrechamente relacionado con las denominadas TIC,
En Cuba, un país del tercer mundo este tema tiene sus peculiaridades, fomentando su uso en esfera que son priorizadas por el estado, tales como la educación la salud y el deporte
La calidad del deporte cubano ha sido uno de los estándares que ha identificado a la revolución cubana prácticamente desde sus inicios. Esta realidad fue posible debido a la voluntad política existente en el gobierno de la naciente revolución, de llevar la practica del deporte hasta la base. Esta ideas se concretó con la creación del INDER el 23 de febrero de 1961 y fue reafirmada por el Comandante en Jefe Fidel Castro Ruz el 19 de mayo de ese mismo año en la clausura de la 1 Plenaria Nacional de los Consejos Voluntarios Deportivos, donde se asegura que en Cuba el deporte es un derecho del pueblo.
El INDER es el encargado de la dirección, planificación u ejecución de los programas deportivos de la nación. La concepción de trabajo de este organismo central aplica el principio martiano de la no comercialización del deporte, quedando eliminado el profesionalismo en Cuba en el año 1962. Desde sus inicio el INDER se ha identificado por su trabajo enfocado a la excelencia, avalado por el impetuoso quehacer de su colectivo de entrenadores y la entrega inigualable de sus deportistas. Los logros alcanzado hasta hoy también han sido el reflejo del desarrollo de la nuevas técnicas y herramientas que le facilitan la labor al cuerpo de entrenadores, especialista del deporte y deportistas.
El entrenamiento deportivo es un trabajo panificado. Esta planificación está plasmada precisamente en el plan de entrenamiento deportivo que no es mas que una planificación de las cargas de entrenamiento para obtener la forma deportiva y el alto grado de las capacidades.
La elaboración del plan de entrenamiento para los deportes de combate tiene muchas similitudes en cuanto a ciertos y determinados elementos, entre los cuales figuran;
los indicadores que se miden al concluir la preparación para verificar la efectividad de la misma, las pruebas medicas, los test pedagógicos que se realizan y la elaboración del plan grafico.
Sin embargo estos componentes del plan de entrenamiento en la actualidad se realizan de forma manual,
Convirtiéndolo en un proceso muy complejo, debido a la gran cantidad de información de se maneja, tanto a nivel de atleta como a nivel de equipo técnico, la gran cantidad de cálculos que se realizan y la búsqueda de información asociada en fuentes no digitalizada.
Esta situación provoca incurrir en perdida de tiempo y de precisión de la planificación, e imposibilita al equipo técnico de obtener estadísticas precisas del comportamiento de los atletas durante el entrenamiento, a pesar de que existe en el INDER al personal capacitado y los medios informáticos para informatizar este proceso.
La situación problémica descrita constata que estamos en presencia de un problema a resolver que consiste en … Tomando en referencia la situación actual surge el problema de investigación:
La parte de la ciencia que será objeto de estudio es … De lo planteado anteriormente se deriva como objeto de estudio
La zona donde se va a generar el nuevo conociemiento es en el desarrollo del …. Determinando para la investigación como campo de acción
El objetivo general de este trabajo se basa en:
Para dar cumplimiento al PI, se propone ……….
La situación problémica descrita indica una idea defender y no una hipótesis a demostrar que consiste en que si se desarrolla un sistema informático se facilitará el proceso de planificación y control ….
El proceso de planificación y control del entrenamiento en deportes de combate se facilita con el desarrollo de un sistema informático.
El desarrollo de un sistema informático facilita el ….
Defendiendo como idea que si se desarrolla……….
El ambiente de desarrollo fue dirigido con una metodología ágil y desarrollado con tecnologías libres.
La metodología empleada, permitió además identificar las principales tendencias así como estudiar las herramientas y tecnologías para dar solución al problema de investigación.
Dentro de las tendencias la bilbliografía consultada permitió resumir las siguientes:
A- tiende el desarrollo de estos sistemas sobre la base de tecnologías libres
B- proliferan el desarrollo sobre la base de la metodología XP.
Como resultado de este análisis y teniendo en cuenta lo pactado con el cliente se decidió centrase en el estudio de las herramientas ….
La metodología seleccionada para guiar el proceso de desarrollo fue Programación Extrema, porque las características que describen a esta metodología son las que más se adaptan al entorno de desarrollo del sistema, algunas de estas características son; que el cliente forma parte del equipo de desarrollo, que la dimensión de la solución es pequeña y se cuenta con un corto periodo de tiempo para desarrollar la aplicación, Lenguaje de Modelado Unificado y Visual Paradigm for UML como lenguaje de modelado y herramienta de modelado respectivamente.
Como herramientas para llevar a cabo el proceso de desarrollo de la solución fueron seleccionadas
Justificación de la selección de las tecnologías, metodologías y herramientas(criterio de programación, ambiente de desarrollo, cliente)
Para desarrollar la propuesta de solución fueron usados un conjunto de framework y librerías, los cuales pueden ser agrupados en dependencia de la capa en la que actúan.
En la capa de Presentación podemos encontrar a la librería JavaScript Jquery, al framework de diseño Twitter, y la librería de componentes visuales Jquery UI.
En la capa de Negocio podemos encontrar al framework Symfony
Y en la capa de acceso a datos al Mapeador Objeto-Relacional Doctrine.
Durante la concepción inicial del sistema fueron concebidos un conjunto de 12 módulos, los cuales ocupan la casi totalidad de las áreas de la planificación y control del entrenamiento deportivo.
En una primera versión solo estarán disponibles los módulos Administración, Biorritmo y se sentarán las bases para el desarrollo de los restantes módulos.
Fueron concebidos un total de 6 roles para el sistema, contando con un Administrador general y un rol para cada cargo que puede ser ocupado dentro de un equipo técnico.
El sistema permite la gestión de las entidades bases que forman parte del proceso de planificación y control del entrenamiento deportivo, dentro de las que pueden mencionarse los Usuarios, Atletas, Miembros de Equipos Técnicos, Equipos Técnicos y Grupos de Atletas, hasta completar un total de 15 entidades, las cuales servirán de base al desarrollo del resto de los módulos previstos.
En esta primera versión los roles previstos con una mayor actividad dentro del sistema serán el Administrador, al cual estarán delegadas funciones tales como:
-Gestionar miembro de equipo técnico
-Gestionar equipo técnico
-Gestionar deporte
-Gestionar usuario
Y el Jefe de colectivo técnico al cual estarán delegadas funciones tales como:
-Gestionar atleta
-Gestionar grupo de atletas
-Gestionar cargo de equipo técnico
-Graficar biorritmo
Entre otras.
Inicialmente el acceso a la aplicación se realizará por medio de un usuario con rol Administrador que posee el sistema en su configuración inicial.
El mismo será el encargado de atender las solicitudes de los Jefes de colectivos técnicos, a los cuales les será creado un Equipo técnico del Deporte al cual pertenecen, luego un perfil como Miembro de dicho colectivo técnico y un Usuario con la credencial Jefe de colectivo para permitir su acceso al sistema.
A partir de ese momento el Jefe de colectivo técnico podrá gestionar dentro del sistema las entidades base del proceso de planificación y control del entrenamiento deportivo.
En la presente diapositiva se muestra la interfaz correspondiente a la funcionalidad Crear grupo de atletas en la cual se permite a un Jefe de colectivo técnico crear un grupo de atletas por afinidad o por características propiamente definidas por el equipo técnico. Facilitando la búsqueda de los mismos a través de un filtro por nombre y por sexo.
En la presente diapositiva se muestran las interfaces de usuario relacionadas con la funcionalidad Graficar biorritmo, la cual permite a los equipos técnicos realizar inferencias sobre el comportamiento Físico, Intelectual o Emocional de los atletas durante el entrenamiento planificado.
Fueron escritas un total de 20 HU, desarrolladas en 4 iteraciones y pactado con el cliente la realización de 4 entregas del producto.
La propuesta de solución posee una arquitectura MVC, la cual estuvo determinada por el uso del framework Symfony.
Esta arquitectura separa el código de nuestra aplicación en tres capas lógicas, la capa de Acceso a Datos, la capa Lógica del Negocio y la capa de la Vista.
De modo que:
De modo que un usuario al acceder a la aplicación, es atendido por un controlador frontal, el cual delega dicha responsabilidad a la acción solicitada del módulo correspondiente. La acción pide al modelo toda la información solicitada por el usuario en caso de ser necesario, esta información se le pasa a la plantilla relacionada con dicha acción, la cual es insertada en el layout de la aplicación y devuelta al usuario por el controlador frontal que atendió la solicitud.
Para el desarrollo de la propuesta de solución fueron usados los patrones de diseño
GRASP:
-Experto
-Creador
-Alta cohesión
-Bajo acoplamiento
-Controlador
GOF:
-Singleton
-Decorator
-Command
Computación distribuida:
-Registry
Es válido aclarar que no fue necesario usar patrones de diseño, no implementados por el framework Symfony.
La seguridad del sistema corre a cargo del complemento sfDoctrineGuardPlugin, el cual es un desarrollo de terceros oficializado por el proyecto Symfony, el cual posibilitó la
-Gestión de los usuarios, roles y permisos.
-Establecer un mecanismo de autenticación basado en usuario y contraseña
Y la Protección del sistema contra ataques XSS, CSRF e inyecciones SQL.
La metodología Programación Extrema propone llevar a cabo un desarrollo dirigido por pruebas, de modo que sea seleccionada una HU a desarrollar según la planificación, se escriban las pruebas relacionadas con la misma, se automaticen y luego sea implementada la funcionalidad.
Para cumplir con dicho proceso …
A lo largo del ciclo de vida de cada iteración fueron realizadas las pruebas unitarias al código implementado y las pruebas de aceptación fueron realizadas a cada una de las entregas pactadas con el cliente.
La presente tabla muestra los resultados de las pruebas realizadas.
La disminución gradual del número de no conformidades estuvo relacionada con una mayor integración por parte del equipo de desarrollo y la disminución del grado de complejidad de las HU a medida que el desarrollo avanzaba.
Implementar los restantes módulos definidos para el sistema (Plan gráfico, Test pedagógicos, Archivo multimedia, Ficha del deportista, Pruebas médicas, Control de asistencia, Historia clínica, Cumplimiento de la preparación, Calendario de competición y Competencia).
Desarrollar una versión de escritorio del sistema, para ser usada en lugares donde la no existencia de una red y el uso de computadoras con bajas prestaciones sean características del ambiente.
Desarrollar una versión que aproveche las principales tendencias del desarrollo de software actual, como son el desarrollo de software para dispositivos móviles y la computación en la nube, de modo que permita a los miembros de los equipos técnicos acceder y almacenar la información necesaria en el momento deseado.
De forma tal que se puede llevar a cabo un desarrollo que cumpla con un ¨diseño web adaptativo¨, con el uso de un framework de diseño como el usado en el desarrollo de la propuesta de solución, en este caso Twitter-Bootstrap, el cual permite realizar diseños que cumplan con tal tendencia, o simplemente usando las propiedades definidas por los lenguaje CSS3 y HTML5 para dicho propósito.
El desarrollo de software bajo el paradigma de computación en la nube depende más del hecho de brindar de software como servicio en internet y del uso de un potente hardware que respalde este propósito.
De modo que es factible continuar el desarrollo bajo la versión 1.4.20 del framework puesto que desarrollar software a la par de estas tendencias no depende del framework de desarrollo, ni de la versión en específico a usar.
Para realizar una estimación del esfuerzo que provocaría la migración de la propuesta de solución a la versión 2 del framework Symfony, hay que partir de que existe una serie de elementos que podrían ser reutilizados total y parcialmente y otros reelaborados completamente, lo que pudiera reducir considerablemente el tiempo de desarrollo. De modo que se podría seguir la siguiente metodología
En la capa de Acceso a datos:
La migración se centraría en migrar el código de las consultas escrito con Doctrine 1 a Doctrine 2. Esta capa sería la más favorecida puesto que el modelo de datos de la nueva aplicación será el mismo que posee la propuesta de solución.
En la capa Lógica del Negocio:
Habría que recodificar las funcionalidades adaptándolas al modo de trabajo en symfony2, aquí se puede reutilizar toda la lógica de programación utilizada para el desarrollo de estas funcionalidades en la propuesta de solución. (Se mostrarán ejemplos de funciones en una y otra versión)
En la capa de la vista:
En esta capa se podría reutilizar gran parte del código javascript, css y html escrito, aunque sería necesario reescribir las plantillas de la aplicación utilizando el motor de plantillas Twig.