Upload
dinhdien
View
221
Download
0
Embed Size (px)
Citation preview
“ SISTEMA DE INFORMACIÓN PARA
LA ORGANIZACIÓN Y ADMINISTRACION DE
CAMPEONATOS PARA DEPORTES DE CONJUNTO
SPORTACUS”
FUNDACION UNIVERSITARIA KONRAD LORENZ
FACULTAD DE INGENIERIA DE SISTEMAS
PROYECTO DE GRADO
BOGOTÁ D.C.
2007
“ SISTEMA DE INFORMACIÓN PARA
LA ORGANIZACIÓN Y ADMINISTRACION DE
CAMPEONATOS PARA DEPORTES DE CONJUNTO
SPORTACUS”
JEISON ANTONIO MURILLO CRUZ
JORGE ERNESTO ROA TORRES
Director
HECTOR ARTURO FLOREZ FERNANDEZ
Ingeniero Electrónico, Ingeniero de Sistemas
MSc en Ciencias de Información y Comunicaciones
FUNDACION UNIVERSITARIA KONRAD LORENZ
FACULTAD DE INGENIERIA DE SISTEMAS
BOGOTÁ D.C.
2007
“ SISTEMA DE INFORMACIÓN PARA
LA ORGANIZACIÓN Y ADMINISTRACION DE
CAMPEONATOS PARA DEPORTES DE CONJUNTO
SPORTACUS”
JEISON ANTONIO MURILLO CRUZ
JORGE ERNESTO ROA TORRES
Director
HECTOR ARTURO FLOREZ FERNANDEZ
Ingeniero Electrónico, Ingeniero de Sistemas
MSc en Ciencias de Información y Comunicaciones
Trabajo presentado para optar al
Titulo de Ingeniero de Sistemas
FUNDACION UNIVERSITARIA KONRAD LORENZ
FACULTAD DE INGENIERIA DE SISTEMAS
BOGOTÁ D.C.
2007
NOTA DE ACEPTACION
JURADO:
JURADO:
DIRECTOR:
RESUMEN
Para esta nueva era donde se requiere dominar los nuevos conceptos de
informática, comunicaciones, multimedia, realidad virtual, las artes y el diseño que
se desprenden de los sistemas digitales y tridimensionales. El Sistema de
Información para la Organización y Administración de Campeonatos para
Deportes de Conjunto “Sportacus” facilita la organización de los procesos y
apoyos logísticos en la realización de eventos deportivos. El programa contribuye
a la optimización del trabajo, agilización y la exactitud en el manejo de los
resultados estadísticos en cualquier disciplina deportiva., desarrollado bajo
ambiente WEB utilizando metodología SCRUM y aplicando los conocimientos de
desarrollo en ingeniería de software como proyecto de grado.
ABSTRACT
For this new era which requires mastering new concepts of computer,
communications, multimedia, virtual reality, the arts and design that flow from
digital systems and threedimensional.
The information system for the organization and administration of championships
for sports package "Sportacus" facilitates the organization of processes and
Logistic support in the organization of sporting events. The program contributes to
the optimization of work, streamlining and accuracy in handling statistical results of
any sport, developed under Web environment using methodology scrum and
applying knowledge for development in software engineering and project level.
DEDICATORIA
A mis padres porque tuvieron toda la paciencia para saberme comprender cuando no
tenia tiempo para ellos, gracias por su apoyo, gracias por guiarme por el camino correcto
y por inculcarme tan excelentes valores con los que fui formado y de nuevo gracias
porque sin ellos no hubiese sido posible cumplir este sueño la ayuda que me brindaron
para poder hacer realidad este sueño.
Jeison Murillo
A mis hijos Santiago y Juan Pablo por que me fortalecen cada día con su amor y
camaradería, a mi querida esposa Paola, quien con su apoyo incondicional y calidez ha
estado siempre presente, a mi madre quien con esfuerzo y sacrificio logro llevarme
siempre por el mejor camino. Este es un paso más de la larga travesía que de ahora en
adelante continúa. Una meta se ha cumplido y el esfuerzo da frutos con este logro.
Jorge Roa
AGRADECIMIENTOS
Quiero expresar mis agradecimientos a Dios quien nos fortaleció en cada uno de esos
momentos en que sentíamos desfallecer, a mi amigo Jeison por acompañarme
incondicionalmente, a mi familia que soporto muchas ocasiones de mis ausencias, al
Ingeniero Héctor Florez por guiarnos y brindarnos su apoyo y gran conocimiento, gracias a
quien de una u otra forma colaboro para que lográramos nuestro objetivo a todos ellos
muchas gracias.
Jorge Roa
A Dios por darnos todo su apoyo, la oportunidad y la sabiduría para poder alcanzar este
objetivo y un sueño tan anhelado, gracias a mi gran amigo el “chato Roa” por sus
concejos, colaboración y apoyo incondicional, gracias por ser mi compañero de
proyecto y trabajar juntos día y noche para lograr nuestro objetivo, gracias al Ingeniero
Héctor Florez por su apoyo, por compartir su conocimiento, por su colaboración, por la
paciencia que nos tuvo y por ser parte de este gran equipo de trabajo, a todos mis
amigos y familiares por apoyarme, por la ayuda que me brindaron para poder hacer
realidad este sueño.
Jeison Murillo
Queremos expresar nuestro especial agradecimiento a:
A el Ingeniero Pervys Rengifo Por inculcarnos la constancia y tenacidad pues las cosas no
son difíciles y menos para un estudiante de la Konrad.
“Difícil NO Sencillo”
A todos nuestros compañeros y amigos que de una u otra forma nos llenaron de
experiencias y sentimientos, su constante apoyo, sus innumerables y valiosas orientaciones
en este último proceso académico y formativo de nuestra carrera.
A todos ellos mil gracias y cuentan con nosotros.
1
1. INTRODUCCION
Los encuentros deportivos toman un carácter específico cuando nos ponemos en
la tarea de comparar rendimientos mediante la caracterización de situaciones
concretas en las competiciones, es aquí donde dichos resultados toman
importancia cuando se cuantifican y se traducen en récords o registros.
El ganador de una competición y el rendimiento del mismo deben ser abstraídos
de la persona o equipo y se deben traducir en cifras, fechas, tiempos y distancias.
Que deberán ser almacenadas y posteriormente comparadas con otros registros
para generar listados de posiciones, rankings, mejores tiempos y marcas, para
que deportistas entrenadores y las diferentes organizaciones puedan consultarlas
y tomar decisiones en la gestión de su labor deportiva.
Dentro de las diversas funciones que las competiciones deportivas conllevan
encontramos la de la organización y gestión deportiva, que es en la cual nos
enfocaremos es decir; tomar todos los registros e información útil, organizarlos y
presentarlos de tal manera que sean claros, exactos y en tiempo oportuno
procurando siempre el aprovechamiento máximo de los recursos con un manejo
eficiente y facilitando los procesos de la administración como son la planificación,
organización, dirección y control.
El propósito del presente trabajo de grado es demostrar el conocimiento adquirido
a lo largo de nuestro recorrido académico en la Fundación Universitaria Konrad
Lorenz, desarrollando una aplicación que permita facilitar la organización y
administración de campeonatos para deportes de conjunto básicos como son el
Baloncesto, Fútbol, Futsal y Voleibol. Mediante el adecuado proceso de análisis,
diseño, desarrollo, e implantación de una herramienta basada en las Tecnologías
de Información el aprovechamiento de los avances tecnológicos y con altos
estándares de calidad.
2
2. MARCO DE REFERENCIA.
2.1. ANTECEDENTES
“Ya desde 1830 comenzó la formación en todos los países de asociaciones
deportivas especializadas y con el desarrollo de una entidad oficial de medidas y
de récords (asociaciones deportivas) se creó, primero en Gran Bretaña y en
Estados Unidos, un sistema de competición nacional en los tipos de deporte
típicos nacionales.
Como consecuencia de la orientación hacía los records, se llegó rápidamente a la
creación de los primeros campeonatos mundiales, en los que casi exclusivamente
había participación anglosajona.
La continua extensión de la competición deportiva y el ansia de las capas sociales
más bajas por tomar parte en las competiciones acarrearon la reacción de
limitaciones sociales por parte de los gentleman y bourgeois (nobles y burgueses).
Las reglas amateurs (por primera vez en 1864) prohibieron que los deportistas
profesionales, los artesanos y los trabajadores tomaran parte en las
competiciones.
Pero en el plano nacional, junto a esas asociaciones amateurs, también se
crearon asociaciones donde no estaba excluida la población trabajadora y la gente
de oficio, así como las asociaciones puras de deporte profesional” 1 (texto tomado
y modificado de Teoría y Metodología de la Competición Deportiva).
1 Günter Thies, Peter Tschiene, Helmut Nicket; Teoría y Metodología de la Competición Deportiva.
Editorial Paidotribo.
3
Estos cambios fundamentales en el deporte dieron paso a la modernización y
aplicación de métodos y herramientas para la administración de esta información.
A nivel internacional son muchas las aplicaciones existentes para tal fin, pero en el
ámbito nacional son escasas y por no decirlo nulas, las herramientas apropiadas
para el manejo y control de estos resultados.
Es así como organismos como el Instituto Colombiano del Deporte Coldeportes, el
Instituto Distrital para la Recreación y el Deporte IDRD o cajas de compensación
familiar como Confenalco o Compensar que están trabajando en el ámbito
deportivo no cuentan con aplicaciones diseñadas específicamente para este tipo
de trabajo, sino que aprovechan de las bondades de programas como hojas de
calculo o aplicaciones rudimentarias para el manejo de su información.
Es también importante recalcar que muchas de las ligas deportivas tampoco
cuentan con este tipo de aplicaciones y que son muy pocas las que lo tienen.
4
2.2. JUSTIFICACIÓN
En la actualidad las personas que tienen el manejo del deporte, tanto en los
organismos deportivos del sector privado, como en el de los entes estatales, se
enfrentan diariamente a situaciones que no son fáciles de resolver y en algunas
oportunidades se están tomando decisiones afectando a deportistas y procesos en
la actividad deportiva bien sea por desconocimiento de la normatividad, las pocas
oportunidades de capacitación o las diversas interpretaciones de la norma.
Con el manejo de las tecnologías de la información y la utilización de nuevos
avances tecnológicos es necesario contar con herramientas que permitan el
correcto y efectivo manejo de la información de una competencia deportiva. Como
ingenieros de sistemas enfocamos nuestras acciones en el desarrollo de
aplicaciones que puedan satisfacer las necesidades que se presentan en
diferentes ámbitos, es así como vemos que para la administración deportiva es de
mucha utilidad la aplicación de herramientas tecnológicas que faciliten la gestión
de organización y control de campeonatos, equipos, jugadores, estadísticas e
informes. De igual forma se pretende que los profesionales del área deportiva,
cuenten con algunas técnicas administrativas puesto que hoy la actividad
deportiva no se encuentra al margen de la actividad empresarial.
Como parte de nuestra formación académica, aprovecharemos los conocimientos
adquiridos en las diferentes asignaturas para desarrollar una aplicación que
permita facilitar las tareas que cualquier organización deportiva realiza, el manejo
de bases de datos, el desarrollo de software, la utilización de lenguajes de
programación modernos y el aprovechamiento de los ambientes Web nos
permitirán presentar un producto con altos estándares de calidad y de esta
manera obtener nuestra titulación.
5
Creemos que un programa para la organización y administración de campeonatos
para deportes de conjunto es una herramienta útil para las organizaciones
deportivas y un excelente motivo para demostrar nuestras capacidades como
ingenieros.
6
3. FORMULACIÓN DEL PROBLEMA
Desde siempre se ha definido la competición deportiva como una comparación
entre el rendimiento de deportistas individuales o de grupos de deportistas
(equipos), buscando alcanzar metas o logros deportivos, que solo son reflejados
en las marcas o resultados estadísticos que estos puedan alcanzar.
Pero a lo largo del transcurso del desarrollo deportivo se han añadido, cambiado,
vuelto a proponer o también se han suprimido, diferentes aspectos que han
servido para una definición más pormenorizada de la competición. Así, por
ejemplo, a partir de los juegos modernos en el siglo XIX, se han introducido y se
ha hecho de obligado cumplimiento el manejo de estadísticas e informes de las
competiciones deportivas. En la actualidad, los siguientes rasgos y características
son fundamentales y decisivos para la esencia de las competiciones.
Es por esto que se hace necesario la utilización de diferentes herramientas para la
organización y administración de las competencias, en nuestro país son muy
pocas las organizaciones deportivas que cuentan con este tipo de aplicaciones o
si las tienen no han sido ajustadas a las necesidades propias de nuestro entorno.
Basándonos en consultas realizadas a diferentes organizaciones tanto del orden
privado como oficial vemos que en muchos de los casos se utilizan hojas de
cálculo u otro tipo de programas para este fin y que no cuentan con una aplicación
adecuada para el manejo de la información.
Como parte de nuestro proceso de formación y cumpliendo con los requerimientos
para la obtención del titulo de ingenieros de sistemas, desarrollaremos una
aplicación que permita a los diferentes profesionales en las áreas del deporte
manejar de manera efectiva los procesos de gestión en las competiciones
deportivas
7
4. OBJETIVOS
4.1. OBJETIVO GENERAL
Realizar la investigación, diseño y desarrollo de un sistema de información con
altos estándares de calidad, aprovechando los últimos avances tecnológicos, para
la organización y administración de competiciones deportivas que permita facilitar
las tareas que se deben realizar para la correcta gestión deportiva.
4.2. OBJETIVOS ESPECÍFICOS
• Desarrollar una aplicación dinámica con altos estándares de calidad que
permita el adecuado manejo de la gestión deportiva, por parte de
profesionales en las áreas del deporte.
• Aplicar la metodología (Scrum) para Desarrollo de Software y evaluar sus
resultados.
• Realizar el diseño del sistema de información, utilizando el lenguaje de
modelado unificado UML.
• Hacer uso de bases de datos relacionales con licencia de software libre
para el almacenamiento de la Información pertinente al sistema.
• Desarrollar un sistema de información en entorno WEB utilizando
herramientas de software libre.
• Desarrollar módulos de gestión aplicables al ambiente Web, para la
administración de los diferentes elementos como: incorporación de los
8
deportes, creación de campeonatos, inscripción de equipos y jugadores,
acreditaciones de jugadores y personal técnico, manejo de resultados,
control de estadísticas y reportes, necesarios para la correcta gestión
deportiva.
• Permitir que la aplicación nos presente estadísticas e informes, de
jugadores, equipos, campeonatos, escenarios, datos interesantes, etc.
• Incorporar información referente a cada disciplina deportiva con sus
aspectos fundamentales como historia, reglamentación, sistemas de
competencia, generación de torneos y datos de interés social.
• Implantar el sistema de información mediante la publicación de la base de
datos y módulos del mismo, utilizando un servidor Web con un dominio
propio.
• Realizar pruebas parciales y globales de cada modulo o producto
entregable, para el aseguramiento de la calidad del sistema de información.
• Elaborar la documentación suficiente del sistema de información con el fin
de revelar a la comunidad las técnicas y metodologías utilizadas en el
proceso de desarrollo.
9
5. ALCANCES Y LIMITACIONES
El uso de las Tecnologías de la Información en proyectos como el aquí propuesto
nos permiten desarrollar nuestras capacidades y demostrar los logros adquiridos
en el transcurso de nuestro aprendizaje en la Fundación Universitaria Konrad
Lorenz.
El lograr implementar una herramienta informática para el desarrollo de la gestión
en organizaciones deportivas y más importante aun la obtención de nuestra
titulación son los incentivos primordiales en la elaboración de este proyecto. El
aprovechamiento de los recursos tecnológicos, permitirán un mejor desempeño en
las labores realizadas por los profesionales del área del deporte
En este contexto, los resultados de este proyecto beneficiarán directamente a
profesionales del área del deporte, deportistas, entrenadores organismos estatales
y privados, especialmente en aquellos casos en que dichos usuarios no posean
capacidad ni el conocimiento suficiente para organizar campeonatos completos. El
beneficio a estos destinatarios consiste en que se les proveerá de una herramienta
capaz de apoyar su gestión, permitiendo así el buen manejo de estadísticas,
controles, inscripciones entre otras.
Sabemos que nuestras limitaciones son muchas, por eso planteamos un análisis
donde podamos determinar cuales son nuestras oportunidades, amenazas
fortalezas y debilidades, y de esta manera organizar de manera optima el
desarrollo de nuestro proyecto.
10
5.1. ANALISIS DOFA
5.1.1. OPORTUNIDADES:
• Los grandes desarrollos en ciencia, tecnología e innovación, demandarán
nuevos programas y mayor creación y transferencia de conocimiento puro y
aplicado.
• Demanda de recursos humanos altamente calificados en el análisis de la
información, capaces de abordar y enfrentar nuevos problemas y buscar
soluciones creativas
• Las crecientes tendencias de integración y de cooperación nacional e
internacional en la transferencia adecuada de información.
• La creciente demanda de nuevos conocimientos y de servicios
especializados por parte de organizaciones nacionales e internacionales.
• El surgimiento de nuevas formas de aprendizaje y apropiación del
conocimiento generado por el avance vertiginoso de las tecnologías de la
información y la comunicación.
5.1.2. AMENAZAS:
• El surgimiento de nuevas organizaciones y centros de investigación
científica y tecnológica nacionales e internacionales más competitivos.
• La rapidez con que se renueva el conocimiento en el mundo.
11
• La poca credibilidad en la empresa nacional.
5.1.3. FORTALEZAS:
• El conocimiento y manejo de la información que se desea evaluar.
• El liderazgo con que cuenta nuestro equipo de trabajo.
• El acceso a nuevas tecnologías y el avance informático.
• La adecuada gestión de los recursos.
5.1.4. DEBILIDADES:
• Poca experiencia en la realización de proyectos.
• Incipiente incorporación de las nuevas tecnologías de información y
comunicación en los procesos.
• Incipiente desarrollo de la gestión tecnológica.
• Limitaciones de espacios físicos para prácticas y pruebas.
12
6. RECURSOS.
Para el desarrollo del presente proyecto se contara con los siguientes recursos:
6.1. RECURSOS DE TIEMPO
El proyecto se desarrollará durante el segundo semestre del año en curso y se
estima que la fecha límite para la entrega final sea el 30 de Noviembre de 2007.
Para lograr alcanzar el objetivo propuesto dentro de este margen de tiempo, los
integrantes del grupo dedicarán 4 horas diarias.
El director del proyecto supervisará periódicamente los avances con una
dedicación de 2 horas por semana.
6.2. RECURSO HUMANO
Los Estudiantes que presentan el proyecto
JEISON ANTONIO MURILLO CRUZ
JORGE ERNESTO ROA TORRES
HECTOR ARTURO FLOREZ FERNANDEZ DIRECTOR DE PROYECTO
Y compañeros o personal auxiliar para el desarrollo de las pruebas.
13
6.3. RECURSOS TECNOLOGICOS
6.3.1. Recursos de Hardware (Equipos de Computo).
Para el desarrollo de la aplicación contaremos, en primera instancia con los
computadores personales y por su puesto con las diferentes salas con que cuenta
la universidad. En las etapas finales, la facultad brindara un servicio de acceso a
sus servidores para las etapas de pruebas finales.
6.3.2. Recursos de Software.
Necesarios para llevar adelante el proyecto.
• Easy PHP 5.2.3.
• My SQL 5.0.
• SERVIDOR WEB APACHE
• Adobe DreamWeaver CS3.
• Dezing Databases 4.0.
• Rational Rose 2000.
• Adobe Flash CS3.
14
7. MARCO CONCEPTUAL
7.1. MARCO TEORICO
7.1.1. UML
Son las siglas del Unified Modeling Language o Lenguaje Unificado de Modelado.
Es un lenguaje de modelado visual que se usa para Especificar, Visualizar,
Construir y Documentar artefactos de un sistema de software.
El lenguaje de modelado es la notación (principalmente gráfica) que usan los
métodos para expresar un modelo de software, proceso que indica los pasos que
se deben seguir para llegar a un diseño.
UML, es un Lenguaje para: Visualizar, Especificar, Construir, Documentar
Software. UML es un Lenguaje: Porque proporciona el vocabulario y las reglas
para combinar las palabras de ese vocabulario para lograr la comunicación. UML
es un lenguaje estándar para los planos de software.
UML es un Lenguaje para visualizar porque proporciona símbolo gráficos con una
semántica bien definida, la notación es la parte gráfica que se ve en los modelos y
representa la sintaxis del lenguaje de modelado. UML es un lenguaje para
especificar es decir construye modelos no ambiguos y completos para lograr un
sistema con alta calidad. UML es un Lenguaje para construir porque establece
correspondencias entre diferentes lenguajes de programación permitiendo realizar
Ingeniería directa es decir generar código a partir de un modelo UML en un
lenguaje de programación ó ingeniería inversa es decir construir el modelo en
UML partiendo del código implementado en un Lenguaje de Programación.
15
UML es un Lenguaje para documentar porque permite cubrir la documentación de
todo el sistema desde su concepción hasta su implementación y puesta en marcha
del mismo pasando por los requisitos, Arquitectura, Diseño, Código fuente,
Planificación del proyecto, pruebas, prototipos y Versiones.
Modelo Conceptual de UML.
El modelo conceptual de UML cuenta con tres elementos básicos:
• Bloques de construcción
• Reglas que dictan como relacionar esos bloques.
• Mecanismos comunes: facilidades de comunicación ampliación de
definiciones básicas.
Bloques de construcción de UML
UML incluye tres bloques de construcción:
Elementos: Abstracciones de primera clase.
Relaciones: Que ligan elementos con clases.
Diagramas: Son conjuntos de elementos y relaciones que representan un fin
particular.
16
Elementos en UML
Existen cuatro tipos, son los bloques básicos construcción orientados a objetos de
UML. Son utilizados para escribir modelos bien formados.
• Elementos estructurales
• Elementos de comportamiento
• Elementos de agrupación
• Elementos de anotación
Elementos Estructurales
Son los nombres de los modelos UML. Existen siete tipos de elementos
estructurales, a saber
Relaciones UML
Hay cuatro tipos de relaciones en UML.
• Dependencia
• Asociación
• Agregación
• Generalización
• Realización
17
Diagramas UML.
Un diagrama es la representación gráfica de un conjunto de elementos y sus
relaciones. En la anterior descripción de los elementos, no solo se describió el
elemento, sino que se asocio con una relación para mejorar la semántica del
marco teórico.
Los diagramas que establece UML como básicos para especificar la estructura y el
comportamiento de un modelo son los siguientes:
Reglas de UML
Un modelo bien formado es aquel que es semánticamente auto consistente y está
en armonía con todos sus modelos relacionados. UML tiene reglas semánticas
para:
Nombres: Se deben asignar nombres a los elementos, relaciones y diagramas.
Alcance: El contexto que da un significado específico a un nombre. (establece
el contexto).
Visibilidad: Cómo se puede ver y utilizar los elementos.
(#) Visibilidad protegida: protegida para la clase y sus hijos
() Visibilidad privada: solo para la clase
(+) Visibilidad Pública: Todas las clases
Integridad: Como se relacionan apropiada y consistentemente unos elementos
con otros.
18
Ejecución: Qué significa ejecutar o simular un modelo dinámico.
Las reglas UML estimulan pero no obligan a considerar las cuestiones más
importantes de análisis, diseño e implementación que llevan a tales sistemas a
convertirse en bien formados con el paso del tiempo.
Mecanismos Comunes en UML.
Especificaciones: Proporciona una base semántica que incluye a todos los
elementos de todos los modelos de un sistema, y cada elemento está relacionado
con otros de manera consistente. Todos los elementos básicos están claramente
especificados, tienen un diagrama y ese diagrama tiene una semántica.
Adornos: Son elementos adicionales que mejoran la semántica y el significado de
los elementos básicos.
Divisiones Comunes: El lenguaje permite hacer representación de abstracciones
y representaciones concretas. Abstracción: Clase, Concretas: Objeto
Mecanismo de extensibilidad: UML es un lenguaje abiertocerrado, siendo
posible extender el lenguaje de manera controlada. Los mecanismos de extensión
de UML incluyen:
Estereotipos: Extiende el vocabulario, permitiendo añadir nuevos bloques de
construcción.
Manejar excepciones: Las excepciones no son propiamente errores sino sitios
donde pasa el programa que puede llevar un error pueden ser definidos como
clase.
Valores etiquetados: Es información adicional manejo de un elemento para
manejar su descripción. Se anota entre llaves
19
Restricciones: Limitan o detallan una condición. Extiende la semántica de un
bloque de construcción UML.
En conjunto estos tres mecanismos de extensibilidad permiten configurar y
extender UML para las necesidades de un proyecto. Estos mecanismos también
permiten a UML adaptarse a nuevas tecnologías de software.
Arquitectura del Software
Muestra diferentes puntos de vista del modelo es un conjunto de vistas. Su
objetivo es: Detallar o especificar la estructura del sistema, Especificar como
interactúan los componentes del sistema, Especificar subsistemas, Documentar el
proceso de diseño y desarrollo.
Figura 1. Modelado de la Arquitectura de un sistema
Vista de Diseño: Las clases, diagramas de clases, colaboraciones, interfaces que
atienden requisitos funcionales.
Vista de Implementación: Comprenden diagramas de componentes y archivos
que se utilizan.
Vista de despliegue: Como se debe montar la aplicación: .exe, .dll. Comprende el
diagrama de despliegue donde se indica como se debe instalarse y ejecutarse la
aplicación.
20
Vista de Procesos: Similar a la vista de diseño pero centrada en los procesos,
clases activas comprenden varios hilos.
Vista de casos de uso: Primero los requerimientos que son las necesidades de
los usuarios, segundo: caso de uso y tercero: diagramas de casos de uso.
Describe el comportamiento del sistema tal cual es percibido por usuarios finales.
Ciclo de Vida Del Desarrollo De Software
Dirigido a casos de usos: Significa que los casos de uso se utilizan como un
artefacto básico para establecer el comportamiento deseado del sistema, para
verificar y validar la arquitectura del sistema, para las pruebas y para la
comunicación de las personas involucradas al proyecto.
Centrado en la arquitectura: Significa que la arquitectura del sistema se utiliza
como un artefacto básico para conceptuar, construir, gestionar y hacer evolucionar
el sistema en desarrollo.
Iterativo e incremental: El proceso iterativo es aquel que involucra la gestión de
un flujo de ejecutables del sistema. Un proceso incremental es aquél que involucra
la continua integración de la arquitectura del para producir esos ejecutables,
donde cada nuevo ejecutable incorpora mejoras increméntales sobre los otros.
El anterior proceso puede ser descompuesto en fases, una fase es definida como
el intervalo de tiempo entre dos etapas importantes del proceso, ya cumplidos los
objetivos se procede a pasar a la siguiente fase. Existen cuatro fases en el ciclo
del desarrollo de software a saber:
La Iniciación: Es la primera fase del proceso y es el fundamento de la idea inicial
La elaboración es le segunda fase del proceso, cuando se define la visión del
producto y la arquitectura. Aquí es se expresan con claridad los requisitos del
sistema.
21
La Elaboración: Se define la arquitectura. En esta fase se expresan con claridad
los requisitos, los cuales son priorizados con el fin de establecer una sólida base
de la arquitectura. Se tiene en cuenta fundamentalmente los requisitos, los cuales
pueden variar de generales a precisos.
La Construcción: Es la tercera fase del proceso, cuando el software se lleva
desde una base arquitectónica ejecutable hasta su disponibilidad para la
comunidad de usuarios. En esta fase no solo los requisitos sino la evaluación son
reexaminados.
La transición: Es la cuarta fase del proceso, aquí el software es entregado a la
comunidad de usuarios. No es una fase de finalización sino una fase de
mejoramiento y evolución del software producido.
Figura 2. Ciclo de vida del software.
7.1.2. Herramientas Case Para Modelado
Encontramos un sin número de herramientas que nos permiten modelar nuestras
aplicaciones, herramientas como: UML Studio 7.1, Visual Paradigm, Visual UML,
Rational Rose, Eclipse UML, Umbrella, Argos .
22
Herramientas y Lenguajes Para Construcción del Sistema de Información
(Software)
7.1.3. Programación Orientada A Objetos (OOP)
OOP, son las siglas de Object Oriented Programming, la programación orientada
es una forma de programar basada en la reutilización de código mediante
herencia, encapsulamiento y polimorfismo.
Herencia: Una relación de herencia es una relación en la que un tipo (el tipo
derivado) se deriva de otro (el tipo base), de tal forma que el espacio de
declaración del tipo derivado contiene implícitamente todos los miembros de tipo
no constructor del tipo base. Mediante el Lenguaje de Modelado Unificado (UML),
se puede implementar la herencia a través de las relaciones de generalización.
Encapsulamiento: El encapsulado es la capacidad de contener y controlar el
acceso a un grupo de elementos asociados. Las clases proporcionan una de las
formas más comunes de encapsular elementos, estableciendo como regla general
que el acceso a los atributos, se debe realizar mediante métodos.
Poliformismo: El polimorfismo se refiere a la posibilidad de definir múltiples
clases con funcionalidad diferente, pero con métodos o propiedades denominados
de forma idéntica, que pueden utilizarse de manera intercambiable mediante
código cliente en tiempo de ejecución.
23
7.1.4. Arquitectura de Tres (3) Capas
Las nuevas estrategias de construcción de software establecen la necesidad de
hacer desarrollos multinivel o multicapa. Esta estrategia, separa la capa de
presentación o interfaz de usuario con la capa de lógica de aplicación o de
negocio y la separa completamente de la capa de datos, recomendando incluso
que no se coloque lógica como procedimientos almacenados o vistas en esta
capa.
Figura 3. Modelo arquitectónico de 3 capas
La capa de presentación: Estará compuesta por formularios PHP y páginas
HTML, para la salida Web que tenga la aplicación y para interoperabilidad.
La capa de lógica de aplicación: Consta de los procesos que se requieren para
hacer la conexión entre los formularios y la base de datos, así como para
manejar la seguridad de la aplicación, estos desarrollados con componentes
utilizando lenguaje de programación PHP, Javascript y herramienta de desarrollo
en Adobe DreamWeaver CS3
La capa de persistencia: Maneja la base de datos en la cual se encuentra la
información sobre todas las actividades realizadas con el sistema y se utilizará el
motor de bases de datos MYSQL 5.0 .
24
7.1.5. Redes de Computadores
La interconexión de dos o más computadores da origen a redes de computadores.
Estas redes dependiendo de sus características pueden conformar Redes de Área
Local (LANLocal Areal Network), Redes de Área Extendida (WANWide Areal
Network), sobre las cuales dependiendo de los protocolos, se pueden implementar
Intranets, Extranets o Internet.
La aplicación propuesta tendrá la capacidad de funcionar en cualquiera de los
sistemas mostrados, bien sea una Red LAN, una Red WAN, una Intranet, una
Extranet o en Internet. Sin embargo inicialmente el modulo del Sistema de
Información se tiene previsto que opere sobre la Internet..
Estas redes para efectos del manejo de los estándares internacionales se suelen
soportar por los protocolos TCP/IP (Transport Control Protocol/Internet Protocol).
7.1.6. Seguridad de la Información y de las aplicaciones.
Todos los sistemas informáticos deben proveer un sistema de seguridad, que
utilice políticas claras en cuanto a: Autenticación, confidencialidad, integridad y no
repudio.
Las políticas y tecnologías de seguridad se basan en técnicas criptográficas,
sistemas de cifrado como RSA, Kerberos, DES, PGP que permite proteger la
información y las aplicaciones de personas no autorizadas.
El Sistema de Información contará con políticas de seguridad basadas en la
ayuda del sistema operativo, dispositivos de control de acceso, mecanismos de
seguridad del motor de base de datos y en especial en un sistema de gestión y
control de usuarios.
25
EL Sistema tiene previsto realizar la validación de todos y cada uno de los
usuarios del sistema, cifrar la información crítica, utilizar las facilidades que tiene el
sistema operativo para autenticación con el fin de limitar el control de acceso a las
estaciones de trabajo.
7.1.7. Metodología RUP
Para la investigación sobre el estado del arte y debido a que esta es una
investigación sobre las posibilidades que ofrecen las nuevas tecnologías de la
información y comunicación, la metodología que se seguirá en este aspecto tiene
como fundamento la navegación y exploración a través de Internet, pues es la
expresión máxima de aplicación de estas tecnologías.
Para el proceso de modelado y desarrollo del software se utilizará la metodología
RUP (Racional Unified Process) la cual tiene como fundamento estrategias
debidamente probadas para la construcción de software y será quién guíe todo el
proceso y que estará acompañada de la metodología ágil SCRUM para el
desarrollo de proyectos de software.
RUP describe como utilizar de forma efectiva procedimientos comerciales
probados en el desarrollo de software para equipos de desarrollo de software,
conocidos como “mejores prácticas”.
Las Mejores Prácticas de RUP
El Proceso Unificado de Desarrollo es una metodología creada por Racional
Software, que establece una serie de procesos por realizar, con el fin de construir
software de alta calidad en tiempo y precio justos.
26
Figura 4. Las seis (6) mejores prácticas de la Metodología RUP.
La metodología se soporta en la administración de requerimientos, entendidos
estos como las necesidades de los usuarios de la Plataforma Virtual, vistos desde
la perspectiva de lo que tiene que atender el software.
Los requerimientos permiten:
• Licitar, organizar, y documentar la funcionalidad y restricciones requeridas.
• Llevar un registro y documentación de cambios y decisiones.
• Los requerimientos de negocio son fácilmente capturados y comunicados a través de casos de uso.
• Los casos de uso son instrumentos importantes de planeación.
Características del desarrollo Iterativo
Permite un entendimiento incremental del problema a través de refinamientos
sucesivos, habilitando una fácil retroalimentación de usuario. Se establecen metas
específicas que permiten que el equipo de desarrollo mantenga su atención en
producir resultados, el progreso es medido conforme avanzan las
implementaciones.
27
Figura 5. Desarrollo Iterativo de la Metodología RUP.
7.1.8. Desarrollo basado en componentes
Se caracteriza por utilizar lenguajes de programación orientados a objetos, que
permiten la implementación de componentes. Sus principales ventajas se
relacionan a continuación:
• Se enfoca en el pronto desarrollo de una arquitectura ejecutable robusta.
• Resistente al cambio mediante el uso de interfaces bien definidas.
• Intuitivamente comprensible.
• Promueve un reuso más efectivo de software.
• Es derivada a partir de los casos de uso más importantes.
7.1.9. Modelado Visual
Utiliza como lenguaje para el modelado del software UML (Unified Modeling
Language). UML permite visualizar, especificar, construir y documentar el software
y tiene como características principales:
• Captura la estructura y comportamiento de arquitecturas y componentes.
28
• Muestra como encajan de forma conjunta los elementos del sistema.
• Mantiene la consistencia entre un diseño y su implementación.
• Promueve una comunicación no ambigua.
Verificación de la calidad del software
Se establecerán prueba para cada escenario (casos de uso) con el fin de asegurar
que todos los requerimientos están propiamente implementados, se verificará la
calidad del software con respecto a los requerimientos basados en la confiabilidad,
funcionalidad, desempeño de la aplicación y del sistema. Cada una de las
iteraciones por las que se pase será probada debidamente.
Control de cambios
Se llevará un control, registró y monitoreo sobre los cambios para permitir un
desarrollo iterativo, que en todo momento esté ajustado a la metodología
propuesta.
29
7.1.10. METODOLOGIA SCRUM
Figura 6. Metodología SCRUM.
Basándonos en los cuatro principios fundamentales detrás de las metodologías
ágiles (no solo SCRUM) que son:
• Los individuos y las interacciones (sobre todo cara a cara) priman por sobre
los procesos y las herramientas.
• El software funcionando prima por sobre la documentación detallada.
• La colaboración con el cliente prima por sobre la negociación de contratos.
• Responder a los cambios prima por sobre seguir un plan.
30
Podemos determinar que para este tipo de desarrollo encontramos que:
El futuro usuario del software quiere un programa que resuelva sus problemas, no
documentación acerca de como sería ó es ese programa. Un programa
funcionando (quizá incompletamente) es una prueba de avance, la documentación
no lo es.
El cliente es parte (literalmente, en persona) del equipo y del proceso de
desarrollo.
A inicio del proyecto los requerimientos no son bien entendidos, ni siquiera por el
cliente. Esto se fundamenta en parte en la alta proporción de features que se
implementan y nunca son utilizadas. Cuando el cliente ve, durante el desarrollo
(del cual es parte) lo que cuesta implementar ciertas features, ve el tiempo que
queda y ve el dinero disponible, él solo va descartando lo menos relevante y deja
solo lo principal.
La Ley de Parkinson nos dice: el trabajo tiende a expandirse hasta cubrir el tiempo disponible. Fijar un lapso y atenerse a él, tiene el efecto psicológico de enfocar el esfuerzo en ese lapso. Esto lo comprenderá perfectamente cualquiera
que haya rendido un examen final.
31
¿Por qué SCRUM?
El nombre proviene de la posición de salida del rugby homónima, y se justifica
diciendo que en esta metodología cada uno desde su puesto contribuye al equipo,
haciendo todos fuerza para el mismo lado sinergia.
Figura 7. Campo deportivo para Rugby
El "gol" es que al cliente le sirva el producto desarrollado.
El "contrincante" es esa cosa ambigua o pobremente definida que tiene el software
y que hace tortuoso su desarrollo.
Prácticas Clave de SCRUM
Requerimientos evolutivos.
Desarrollo iterativo e incremental.
El origen.
Scrum es una metodología ágil de desarrollo de proyectos que toma su nombre y
principios de los estudios realizados sobre nuevas prácticas de producción por
Hirotaka Takeuchi e Ikujijo Nonaka a mediados de los 80.
32
Aunque surgió como modelo para el desarrollo de productos tecnológicos, también
se emplea en entornos que trabajan con requisitos inestables y que requieren
rapidez y flexibilidad; situaciones frecuentes en el desarrollo de determinados
sistemas de software.
Jeff Sutherland aplicó el modelo Scrum al desarrollo de software en 1993 en Easel
Corporation (Empresa que en los macrojuegos de compras y fusiones se
integraría en VMARK, luego en Informix y finalmente en Ascential Software
Corporation). En 1996 lo presentó junto con Ken Schwaber como proceso formal,
también para gestión del desarrollo de software en OOPSLA 96. Más tarde, en
2001 serían dos de los promulgadores del Manifiesto_ágil. En el desarrollo de
software scrum está considerado como modelo ágil por la Agile Alliance.
Surge del estudio de varios proyectos y productos exitosos y su adaptación a la
industria del software:
• Industria japonesa: Toyota, Honda, FujiXerox
• Borland Quattro Pro
¡¡Basado en la teoría del caos!!
Figura 8. Empresas que implementan metodología SCRUM
33
Introducción al modelo
Scrum es una metodología de desarrollo muy simple, que requiere trabajo duro
porque no se basa en el seguimiento de un plan, sino en la adaptación continua a
las circunstancias de la evolución del proyecto.
Scrum es una metodología ágil, y como tal:
_ Es un modo de desarrollo de carácter adaptable más que predictivo.
_ Orientado a las personas más que a los procesos.
_ Emplea la estructura de desarrollo ágil: incremental basada en iteraciones y
revisiones.
Figura 9. Estructura de desarrollo Ágil
Se comienza con la visión general del producto, especificando y dando detalle a
las funcionalidades o partes que tienen mayor prioridad de desarrollo y que
pueden llevarse a cabo en un periodo de tiempo breve (normalmente de 30 días).
34
Cada uno de estos periodos de desarrollo es una iteración que finaliza con la
producción de un incremento operativo del producto.
Estas iteraciones son la base del desarrollo ágil, y Scrum gestiona su evolución a
través de reuniones breves diarias en las que todo el equipo revisa el trabajo
realizado el día anterior y el previsto para el día siguiente.
Figura 10. Control de la evolución del proyecto
Scrum controla de forma empírica y adaptable la evolución del proyecto,
empleando las siguientes prácticas de la gestión ágil:
Revisión de las Iteraciones
Al finalizar cada iteración (normalmente 30 días) se lleva a cabo una revisión con
todas las personas implicadas en el proyecto. Este es el periodo máximo que se
tarda en reconducir una desviación en el proyecto o en las circunstancias del
producto.
Desarrollo incremental
Durante el proyecto, las personas implicadas no trabajan con diseños o
abstracciones.
El desarrollo incremental implica que al final de cada iteración se dispone de una
parte del producto operativa que se puede inspeccionar y evaluar.
35
Desarrollo evolutivo
Los modelos de gestión ágil se emplean para trabajar en entornos de
incertidumbre e inestabilidad de requisitos.
Intentar predecir en las fases iniciales cómo será el producto final, y sobre dicha
predicción desarrollar el diseño y la arquitectura del producto no es realista,
porque las circunstancias obligarán a remodelarlo muchas veces.
Para qué predecir los estados finales de la arquitectura o del diseño si van a estar
cambiando. En Scrum se toma a la inestabilidad como una premisa, y se adoptan
técnicas de trabajo para permitir esa evolución sin degradar la calidad de la
arquitectura que se irá generando durante el desarrollo.
El desarrollo Scrum va generando el diseño y la arquitectura final de forma
evolutiva durante todo el proyecto. No los considera como productos que deban
realizarse en la primera “fase” del proyecto.
(El desarrollo ágil no es un desarrollo en fases)
Autoorganización
Durante el desarrollo de un proyecto son muchos los factores impredecibles que
surgen en todas las áreas y niveles. La gestión predictiva confía la responsabilidad
de su resolución al gestor de proyectos.
En Scrum los equipos son autoorganizados (no autodirigidos), con margen de
decisión suficiente para tomar las decisiones que consideren oportunas.
36
Colaboración
Las prácticas y el entorno de trabajo ágiles facilitan la colaboración del equipo.
Ésta es necesaria, porque para que funcione la autoorganización como un control
eficaz cada miembro del equipo debe colaborar de forma abierta con los demás,
según sus capacidades y no según su rol o su puesto.
Visión general del proceso
Scrum denomina “sprint” a cada iteración de desarrollo y recomienda realizarlas
con duraciones de 30 días.
El sprint es por tanto el núcleo central que proporciona la base de desarrollo
iterativo e incremental.
§ Duración máxima: 30 días.
§ Durante el sprint no se puede modificar el trabajo que se ha acordado en el Backlog.
§ Sólo es posible cambiar el curso de un sprint, abortándolo, y sólo lo puede hacer el Scrum Master si decide que no es viable por alguna de las razones siguientes:
§ La tecnología acordada no funciona.
§ Las circunstancias del negocio han cambiado.
§ El equipo ha tenido interferencias.
37
Figura 11. Elementos que conforman el desarrollo Scrum.
Comunicación
La forma más eficiente y efectiva de comunicar información de ida y vuelta dentro
de un equipo de desarrollo es mediante la conversación cara a cara.
Las reuniones
Planificación de sprint: Jornada de trabajo previa al inicio de cada sprint en la
que se determina cuál va a ser el trabajo y los objetivos que se deben cumplir en
esa iteración.
Reunión del equipo, Scrum Manager, propietario del producto con todas las
personas implicadas en el proyecto (gallinas).
§ Duración máxima: 4 horas.
§ Finalidad: presentar al propietario del producto y a las gallinas las nuevas funcionalidades implementadas.
§ Las funcionalidades no implementadas no se presentan.
38
§ En la reunión, los miembros del equipo muestran las nuevas funcionalidades.
§ Al final de la reunión se interroga individualmente a todos los asistentes para recabar impresiones, sugerencias de cambio y mejora, y su relevancia.
§ El propietario del producto trata con los asistentes y con el equipo las posibles modificaciones en la pila de producto.
Reunión diaria: Breve revisión del equipo del trabajo realizado hasta la fecha y la
previsión para el día siguiente.
Reunión del equipo con duración máxima de 15 minutos.
§ Todos los días en el mismo sitio y a la misma hora.
§ Se recomienda que sea la primera actividad del día.
§ Deben acudir todos los miembros del equipo.
§ Moderada por el Scrum Manager, que pregunta a todos los asistentes
§ ¿Cuál ha sido el trabajo realizado desde la última revisión diaria?
§ ¿Cuál es el trabajo previsto para hoy?
§ ¿Hay algo que necesitas, o que te impide realizar el trabajo previsto?
§ No se permite entrar en divagaciones o salirse del guión.
§ Sólo habla la persona que informa de su trabajo, el resto escucha y no hay lugar para otras conversaciones.
§ Cuando un miembro informa de algo de interés para otros, o necesita ayuda de otros, estos se reúnen al terminar la revisión diaria.
§ Las gallinas no pueden intervenir ni distraer, y el Scrum Master puede limitar el número de gallinas asistentes si lo considera oportuno.
39
Revisión de sprint: Análisis y revisión del incremento generado.
Acuden el equipo y el Scrum Master, y opcionalmente el Propietario del Producto.
§ Todos los miembros del equipo responden a dos preguntas:
§ ¿Qué cosas fueron bien en el último sprint?
§ ¿Qué cosas se podrían mejorar?
§ El Scrum Manager anota todas las respuestas
§ El equipo prioriza las mejoras posibles
§ El Scrum Manager no proporciona respuestas, sino que ayuda al equipo a encontrar la mejor forma de trabajar con Scrum.
§ Las acciones de mejora localizadas que se puedan implementar en el próximo Sprint deben introducirse en la pila de producto como elementos no funcionales.
Los elementos
Pila del producto: lista de requisitos de usuario que se origina con la visión inicial
del producto y va creciendo y evolucionando durante el desarrollo.
Listado con los requisitos del sistema
§ Es responsabilidad del dueño del producto
§ Contenido
§ Priorización
§ Disponibilidad
§ Nunca llega a ser una lista completa y definitiva
§ El empleado para planificar el proyecto es sólo una estimación inicial de requisitos
40
§ Es un documento dinámico que incorpora constantemente las necesidades del sistema
§ Se mantiene durante todo el ciclo de vida (hasta la retirada del sistema).
Figura 12. Pila del producto (Product Backlog)
41
Pila del sprint: Lista de los trabajos que debe realizar el equipo durante el sprint
para generar el incremento previsto.
Figura 13. Pila del Sprint
Incremento: Resultado de cada sprint
Figura 14. Grafico de resultados he incremento de trabajo
42
Figura 15. Incremento de trabajo metodología SCRUM
Los roles
Scrum clasifica a todas las personas que intervienen o tienen interés en el
desarrollo del proyecto en: propietario del producto, equipo, gestor de Scrum
(también Scrum Manager o Scrum Master) y “otros interesados”.
Los tres primeros grupos (propietario, equipo y gestor) son los responsables del
proyecto, los que según la comparación siguiente (y sin connotaciones
peyorativas) serían los “cerdos”; mientras que el resto de interesados serían las
gallinas.
Cerdos y gallinas.
Esta metáfora ilustra de forma muy gráfica la diferencia de implicación en el
proyecto entre ambos grupos:
Una gallina y un cerdo paseaban por la carretera. La gallina dijo al cerdo: “Quieres
abrir un restaurante conmigo”. El cerdo consideró la propuesta y respondió: “Sí,
me gustaría. ¿Y cómo lo llamaríamos?”. La gallina respondió: “Huevos con
beicon”.
43
El cerdo se detuvo, hizo una pausa y contestó: “Pensándolo mejor, creo que no
voy a abrir un restaurante contigo. Yo estaría realmente comprometido, mientras
que tu estarías sólo implicada”.
Figura 16. Cerdos y Gallinas SCRUM
Tabla 1. Comprometidos e Implicados en metodología SCRUM
COMPROMETIDOS (cerdos) IMPLICADOS (gallinas)
Propietario del producto
Equipo
Scrum Manager
Otros interesados
(Dirección general
Dirección comercial
Marketing Usuarios, etc)
Propietario del producto: El responsable de obtener el mayor valor de producto
para los clientes, usuarios y resto de implicados.
Equipo de desarrollo: grupo o grupos de trabajo que desarrollan el producto.
Scrum Manager: gestor de los equipos que es responsable del funcionamiento de
la metodología Scrum y de la productividad del equipo de desarrollo.
44
Figura 17. Roles metodología SCRUM
Scrum diferencia claramente entre estos dos grupos para garantizar que quienes
tienen la responsabilidad tienen también la autoridad necesaria para poder lograr
el éxito, y que quienes no tienen la responsabilidad no producen interferencias
innecesarias
Valores
Scrum es una “carrocería” para dar forma a los principios ágiles. Es una ayuda
para organizar a las personas y el flujo de trabajo; como lo pueden ser otras
propuestas de formas de trabajo ágil: Cristal, DSDM, etc.
La carrocería sin motor, sin los valores que dan sentido al desarrollo ágil, no
funciona.
Delegación de atribuciones (empowerment) al equipo para que pueda auto organizarse y tomar las decisiones sobre el desarrollo.
Respeto entre las personas. Los miembros del equipo deben confiar entre ellos y
respetar sus conocimientos y capacidades.
Responsabilidad y autodisciplina (no disciplina impuesta).
45
Trabajo centrado en el desarrollo de lo comprometido
Información, transparencia y visibilidad del desarrollo del proyecto
FLUJO DE SCRUM
Figura 18. Flujo de trabajo
46
Figura 19. Proceso Completo Scrum
47
7.2. ESTADO DEL ARTE
El desarrollo de la tecnología informática viene ofreciendo grandes avances y
ventajas en el mundo de hoy, la rapidez con la que se puede acceder a la
información y la respuesta de las capacidades de los computadores con memorias
y procesadores que día a día aumentan enormemente de su rendimiento y que
cada vez disminuyen sus costos afortunadamente.
Hay en la actualidad alrededor de 5.000 medios diferentes de aprendizaje
asistidos por computadores y aplicaciones de software para acondicionamiento
físico, entrenamiento de atletas, manejo de tiempos y marcas, manejo de
estadísticas y resultados, capacitación para entrenadores, deportistas,
administradores deportivos, profesores y otras aplicaciones que podemos
descargar de la Internet e instalarlas en nuestro computador, o también a través
de CD Roms.
Existen software capaz de controlar el movimiento humano (incluyendo
animaciones en 3D), programas para el mantenimiento físico ( como análisis
nutricionales y de asesoramiento, los ejercicios de flexibilidad, condicionamiento
aeróbico, condiciones de fuerza): software que controla reservas de escenarios y
horarios de programación, aplicaciones interactivas multimediales para muchas
actividades deportivas.
Con el desarrollo de los sistemas operativos con interfases perfeccionadas y
hardware muy rápido, la aplicación de software de fácil utilización avanza
vertiginosamente. En un futuro cercano el desarrollo del deporte incluirá realidad
virtual o artificial y la holografía. Los sistemas de realidad virtual utilizando cascos
con sistemas visuales permitiendo el desenvolverse fácilmente en las
simulaciones 3D del entorno y del equipamiento. La holografía que crea imágenes
sin necesidad de cascos o gafas.
48
Pronto los deportistas podrán visualizar su técnica no solo en cintas de video
bidimensionales, sino también en una perspectiva tridimensional, permitiéndoles
mejorar su tiempos, movimientos, técnica y táctica, aprovechando dichas
bondades que la tecnología nos ofrece en la actualidad.
El interés por crear aplicaciones que faciliten el mejor desarrollo tanto en la parte
deportiva como en la misma gestión administrativa, ha permitido nuevas
experiencias interactivas controladas automáticamente, ha llevado a diseñar
sistemas de gran alcance para la gestión administrativa de competencias, manejo
de escenarios, administración de clubes, ligas, federaciones de diferentes
disciplinas deportivas.
A nivel internacional son muchas las aplicaciones que se pueden encontrar pero
cada una de ellas contemplan especificaciones para deportes o reglamentaciones
especiales de acuerdo a la ubicación geográfica de la casa desarrolladora o de
los programadores o creadores de dichas aplicaciones, vemos el caso de los
diferentes software de administración deportiva que existen donde algunos se
centran solamente en el control de inscripciones para equipos y jugadores o en
otros casos en el control y manejo de las competencias.
Muchos de estos programas pueden ser descargados en versiones trial
(demostraciones) que limitan el manejo del mismo pero dan a conocer las ventajas
que pueden ofrecer. Entre este tipo de programas encontramos algunos como los
siguientes:
• Argos 2.0 gestión de competiciones
• Splendy City control de inscripción y manejo de escenarios y
programaciones deportivas
• Tennis point logger gestor de puntuación para partidos de tenis,
• VolleyballPointManager 1.0 gestor de puntuaciones para partidos de
VolleyBall,
49
• SHIAI 2006 programa para competencias de Judo
• Nitroxcalc calculadora de mezclas para inmersiones o actividades
subacuáticas,
• TeamStats 1.5.0 Registra resultados de ligas y torneos de fútbol,
• Aqua DiveLog 0.95 Un excelente gestor de información para submarinistas,
• VELO 0.9.8 Gestor de tiempos y recorridos para ciclistas,
• BFL Heart Rate 1.0 Tabla de control de ritmos cardiacos,
• Game Day 2.0 Guarda tus partidos en esta base de datos,
• Squash Tennis 1.0 Manual de referencia con las reglas y normas del
Squash,
• ZMoto 3.0 Gestor gratuito de reparaciones, revisiones, consumos y
kilometrajes de motocicletas
Los anteriores programas vienen implementados a reglamentaciones o disciplinas
deportivas exclusivas de tal manera que limitan su manejo y en muchos de los
caso los usuarios solo hacen uso del o los módulos que mejor se adapten a su
necesidad.
A través de los años de ejercicio en la labor de control y desarrollo de
competiciones deportivas en el Instituto Distrital para la Recreación y el Deporte
desde el año de 1997, se observa la necesidad de una aplicación dinámica y de
fácil manejo para la gestión de competencias de las diferentes disciplinas
deportivas que se llevaban a cabo en el área de deportes específicamente en la
coordinación de juegos escolares e íntercolegiados.
Fue como a si se implemento el uso de hojas de cálculo para generar los sorteos,
programación y control de los marcadores de los campeonatos en las disciplinas
de conjunto como son el fútbol, baloncesto, voleibol y fútbol de salón, por medio
de unas simples consultas donde el encargado ingresaba los datos a los
diferentes formularios y utilizando las macros y funciones que las hojas de calculo
50
ofrecían se obtenían los resultados, clasificación y puntuación de las
competencias.
A este primer intento de sistematización hecho en Excel se le denomino fixtures 1,
que fue diseñado por jorge roa, desconociendo en ese entonces lenguajes de
programación o entornos de diseño, era tan solamente una hoja de calculo con
sus funciones la que hacia la labor.
Figura 20. Fixtures 1
51
Algo muy particular es que en muchas organizaciones utilizan en la actualidad
hojas de calculo para el manejo de sus competencias, diseñadas por sus
coordinadores de deporte o adquiridas de otras organizaciones. Realizando una
encuesta entre las diferentes ligas deportivas capitalinas observamos que son muy
pocas las que cuentas con software especializado para manejo de la gestión
deportiva y las que lo tienen por no ser las aplicaciones diseñadas para los
requerimientos que dichas ligas presentan son desaprovechados y solo se utilizan
para tareas especificas.
Para los pasados Juegos Deportivos Nacionales 2004 con sede en Bogotá,
Coldeportes Nacional a través de FONADE contrato el servicio de sistematización
de competencias de una compañía cubana, que no colmo las expectativas pues el
manejo de la aplicación además de ser obsoleto, no contaba con una
funcionalidad.
En la actualidad existe una firma que esta incursionando en el desarrollo de
aplicaciones de gestión deportiva, llamada Deporte Virtual compañía colombiana
que ya ha tenido experiencias en el manejo de la sistematización de competencias
como los Juegos Universitarios y los Juegos Íntercolegiados Nacionales su
aplicación denominada “Hércules” desarrollada en ambiente Web y en lenguaje de
programación PHP .
Para esta nueva era donde se requiere dominar los nuevos conceptos de
informática, comunicaciones, multimedia, realidad virtual, las artes y el diseño que
se desprenden de los sistemas digitales y tridimensionales. Creemos que el
Sistema de Información para la Organización y Administración de Campeonatos
para Deportes de Conjunto “sportacus” permitirá facilitar la organización de los
procesos y apoyos logísticos para la realización de eventos deportivos. El
programa contribuirá a la optimización del trabajo, agilización y la exactitud en el
manejo de los resultados estadísticos en cualquier disciplina deportiva.
52
8. ANALISIS DE REQUERIMIENTOS
8.1. Actores
Administrador: actor encargado de la gestión de control y administración del
sistema.
Delegado: actor con permisos limitados para administración y control de los
módulos autorizados.
Usuario; actor que solo puede acceder a la visualización de la pagina WEB
a través del Internet.
8.2. Requerimientos Funcionales
Listado de requerimientos funcionales
Sistema de información para la organización y administración de campeonatos
para deportes de conjunto
Tabla 2. Acceso a la aplicación
R1 Pagina inicial de acceso a la aplicación
En esta página obtenemos la información inicial y las características del sistema
en esta página navegaremos por los diferentes elementos.
Tabla 3. Control de acceso
R2 Control de acceso a la aplicación
Dentro de la página inicial del sistema ubicaremos un control de acceso con las
siguientes características: usuario y password que serán validados contra la
base de datos, en caso de no existir el usuario permitir un registro.
53
Tabla 4. Registro nuevo usuario
R3 Registro de nuevo usuario
Este será un formulario con los datos personales del solicitante que serán
validados luego por el administrador del sistema.
Envió de la información del registro de nuevo usuario a un correo para posterior
verificación y autenticación de contraseñas
Tabla 5. Modulo administradores
R4 Modulo administradores
Este modulo permitirá las siguientes actividades:
• Crear nuevo administrador • Consultarlos • Editarlos • Inhabilitarlos
Tabla 6. Modulo delegados
R5 Modulo delegados
Este modulo permitirá las siguientes actividades:
• Agregar equipo • Agregar Jugador • Consultar • Editarlos
Tabla 7. Generación de Campeonatos
R6 Generación de Campeonatos
Este formato permitirá entre otras:
Selección de un deporte
• Baloncesto • Fútbol • Fútbol de salón • Voleibol
Creación de campeonato:
• Nombre del campeonato • Categoría (permitir establecer categorías infantil, juvenil, mayores, etc.)
54
• Sistema de campeonato • Ramas: Femenina y masculina • Numero de Equipos • Numero de jugadores (permitir mínimos y máximos por equipo)
Tabla 8. Generación de grupos por campeonato
R7 Generación de grupos por campeonato
De acuerdo al número de equipos inscritos el sistema indicara al usuario el
sistema de campeonato que puede desarrollar entre los siguientes:
• PlayOff
• Triangular
• Cuadrangular
• Pentagonal
• Hexagonal
• Heptagonal
• Octogonal
Tabla 9. Creación de Equipos
R8 Creación de Equipos
Este formulario permitirá dependiendo del campeonato seleccionado crear los
equipos pertenecientes a cada campeonato.
• Nombre del equipo • Jugadores • Categoría • Rama • Cuerpo técnico
o Delegados o Entrenadores o Capitán
• Cuerpo medico o Doctor o Quinesiólogo o Nutricionista o Enfermera o Otros
• Administrativo o Gerente
55
o Presidente o Otros
Tabla 10.Creación de jugadores
R9 Creación de jugadores
Este formulario permitirá la creación de los diferentes deportistas pertenecientes
a un equipo inscrito.
• Nombres • Apellidos • Documento de identidad • Fotografía • Fecha de nacimiento ddmmyy (verificación de la categoría) • Posición • Acreditación de lija si la tiene • Logros • Historia deportiva • Contacto:
o Dirección, teléfono, email. • Observaciones
Tabla 11.Generación de programación
R10 Generación de programación
De pendiendo del fixture la aplicación genera de manera automática la
programación jornada a jornada de los diferentes encuentros para cada
campeonato.
Tabla 12.Modulo marcadores
R11 Modulo marcadores
El sistema permitirá al administrador o a su encargado registrar el marcador y las
anotaciones de los diferentes encuentros en los respectivos campeonatos.
Tabla 13.Generación cuadros de posiciones
R12 Generación cuadros de posiciones
El sistema dará el reporte automático de la tabla de posiciones de cada
campeonato con sus respectivos ítems.
56
8.3. Requerimientos NO funcionales
A continuación se describen los requerimientos básicos para la adecuada
utilización y funcionalidad de la aplicación.
La característica principal de la aplicación es que se pueda acceder vía Web
desde los principales navegadores en este caso Firefox Mozilla e Internet Explorer
para ello debemos implementar ambientes que permitan el desarrollo, el acceso a
la misma.
Figura 21. Ambientes de trabajo
Servidor de Aplicaciones
Inicialmente la aplicación correrá en las maquinas de cada uno de los integrantes
del grupo de trabajo en este caso se escoge el sistema operativo Windows por su
fácil instalación, su interfaz grafica.
Para el servidor done estará alojada la aplicación para la Web se implementara
sobre sistema Operativo Linux , este sistema operativo cuyo uno de sus atributos
es que es software libre y cualquier persona puede libremente usarlo, estudiarlo,
redistribuirlo y modificarlo, facilita la interacción con el usuario ofreciéndole una
LINUX
Tomcat Mysql
FIREFOX
MOZILLA
INTERNER
EXPLORER
Ambiente Servidor Ambiente Cliente
DreamWeaver
PHP
Tomcat Mysql
Ambiente Desarrollo
57
interfaz gráfica agradable, convirtiéndolo en un competidor fuertemente con
otros sistemas operativos como Windows
Servidor de Aplicaciones Web
Teniendo en cuenta que el diseño del prototipo de la aplicación esta orientado a la
Web se requiere de un servidor Web 2 para transferir lo que llamamos hipertextos,
páginas Web o páginas HTML.
La aplicación estará alojada en un servidor Web Tomcat (Apache), servidor de
fácil manejo y de excelente rendimiento.
MySQL (versión 5.0): “MySQL es un sistema de gestión de base de datos,
multihilo y multiusuario” 3 , de los principales motivos por el cual se escogió este
motor de base de datos,.
Ambiente Cliente
La aplicación deberá correr en los principales navegadores como son:
FireFox (Mozilla):
Internet Explorer :
Ambiente de Desarrollo
La aplicación se desarrolla en la herramienta DreamWeaver CS3, para el diseño
de las pagina y formularios en PHP, que es una herramienta para programadores
pensada para escribir, compilar, depurar y ejecutar programas.
2 Es un programa que implementa el protocolo HTTP (hypertext transfer protocol). 3 http://dev.mysql.com
58
Otras Herramientas
PhpMyAdmin: es una herramienta que se usa para administrar las bases de datos
de Mysql, provee una interfaz gráfica Web que permite crear, eliminar, actualizar
y en fin hacer todo tipo de consultas en la Base de datos.
59
9. DISEÑO
9.1. Casos de Uso
Modulo Admon
Modulo Campeonato
Modulo Equipo
Agregar Jugador
Modulo Jugador
Editar Equipo
Editar Jugador
<<extends>>
Editar CT
<<extends>>
Modulo CT
Agregar CT
Editar Admon
Editar Campeonato
Delegado
Agregar Admon
Consultar Admon
<<extends>>
Agregar Campeonato
Consultar campeonato
<<extends>>
Agregar Equipo
<<extends>>
<<extends>>
Consultar Equipo
<<extends>>
Administrador
Figura 22. Casos de uso del sistema
<< extends>>
<< extends>>
60
Modulo Admon
Editar Admon
Agregar Admon
Consultar Admon
<<extends>>
Administrador
Figura 23. Caso de uso Generar administrador
Modulo Delegado
Editar Delegado
Agregar Delegado
Consultar Delegado
<<extends>>
Administrador
Figura 24. Caso de uso Generar Delegado
Modulo Campeonato
Editar Campeonato
Agregar Campeonato
Consultar Campeonato
<<extends>>
Administrador
Figura 25. Caso de uso Generar Campeonato
<< extends>>
<< extends>>
<< extends>>
61
Modulo Equipo
Editar Equipo
Consultar Equipo
<<extends>>
Agregar Equipo
Administrador
Figura 26. Caso de uso Generar equipo
Modulo Jugador
Editar Jugador
Consultar Jugador
Agregar Jugador
Administrador
<<extends>>
Figura 27. Caso de uso Generar Jugado
Modulo Escenario Agregar Escenario
Administrador
Consultar Escenario
<<extends>>
Editar Escenario
Figura 28. Caso de uso Generar Escenario
<< extends>>
<< extends>>
62
9.2. Documentación Casos de Uso
Tabla 14.Caso de uso “Agregar Administrador” Identificador del Caso
de Uso CA1
Nombre Caso de Uso: Agregar Administrador
Actor Administrador
Prioridad y Tipo Alta
Descripción El administrador del sistema ingresa los datos del nuevo administrador en la base de datos
Curso Básico Eventos: ACTOR SISTEMA
1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador coloca los datos del nuevo administrador en los campos correspondientes.
4. El sistema valida los datos incluidos por el administrador.
5. El sistema verifica que el nuevo administrador no se encuentre registrado.
6. El sistema ingresa el nuevo administrador.
7. El sistema avisa al administrador que la operación fue exitosa.
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error en la validación de los campos, genera un
mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Para el evento 5, si el sistema encuentra que el nuevo administrador existe en el sistema,
muestra un mensaje de alerta y cancela la operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes
63
Tabla 15.Caso de uso “Consultar Administrador” Identificador del Caso
de Uso
CA2
Nombre Caso de Uso: Consultar Administrador
Actor Administrador
Prioridad y Tipo Baja
Descripción El administrador del sistema consulta los datos de un nuevo Administrador
Curso Básico Eventos: ACTOR SISTEMA 1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador coloca la cedula del administrador que desea consultar.
4. El sistema muestra los resultados obtenidos
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 3, si el sistema detecta un error en la validación de la cedula suministrada,
genera un mensaje de error y cancela la operación, permitiendo al administrador volver a
realizar la operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes
64
Tabla 16.Caso de uso “Editar Administrador” Identificador del Caso
de Uso
CA3
Nombre Caso de Uso: Editar Administrador
Actor Administrador
Prioridad y Tipo Alta
Descripción El administrador del sistema edita los datos de un Administrador
Curso Básico Eventos: ACTOR SISTEMA 1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador coloca la cedula del Administrador que desea editar.
4. El sistema muestra los resultados obtenidos
5. El administrador actualiza los datos que desea editar del Administrador
6. El sistema valida los datos incluidos por el administrador.
7. El sistema ingresa los datos actualizados del Administrador.
8. El sistema avisa al administrador que la operación fue exitosa.
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 3, si el sistema detecta un error en la validación de la cedula suministrada,
genera un mensaje de error y cancela la operación, permitiendo al administrador volver a
realizar la operación.
Para el evento 6, si el sistema detecta un error en la validación de los campos, genera un
mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes.
Para el evento 5, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes
65
Tabla 17.Caso de uso “Agregar Delegado” Identificador del Caso
de Uso CA4
Nombre Caso de Uso: Agregar delegado
Actor Administrador
Prioridad y Tipo Alta
Descripción El administrador del sistema ingresa los datos de un nuevo delegado en la base de datos
Curso Básico Eventos: ACTOR SISTEMA
1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador coloca los datos del nuevo delegado en los campos correspondientes.
4. El sistema valida los datos incluidos por el administrador.
5. El sistema verifica que el nuevo delegado no se encuentre registrado.
6. El sistema ingresa el nuevo delegado.
7. El sistema avisa al administrador que la operación fue exitosa.
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error en la validación de los campos, genera un
mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Para el evento 5, si el sistema encuentra que el nuevo delegado existe en el sistema, muestra
un mensaje de alerta y cancela la operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes
66
Tabla 18.Caso de uso “Consultar Delegado” Identificador del Caso
de Uso CA5
Nombre Caso de Uso: Consultar Delegado
Actor Administrador
Prioridad y Tipo Baja
Descripción El administrador del sistema consulta los datos de un Delegado
Curso Básico Eventos: ACTOR SISTEMA
1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador coloca la cedula del delegado que desea consultar.
4. El sistema muestra los resultados obtenidos
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 3, si el sistema detecta un error en la validación de la cedula suministrada,
genera un mensaje de error y cancela la operación, permitiendo al administrador volver a
realizar la operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes
67
Tabla 19.Caso de uso “Editar Delegado” Identificador del Caso
de Uso
CA6
Nombre Caso de Uso: Editar Delegado
Actor Administrador
Prioridad y Tipo Alta
Descripción El administrador del sistema edita los datos de un Delegado
Curso Básico Eventos: ACTOR SISTEMA 1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador coloca la cedula del delegado que desea editar.
4. El sistema muestra los resultados obtenidos
5. El administrador actualiza los datos que desea editar del delegado
6. El sistema valida los datos incluidos por el administrador.
7. El sistema ingresa los datos actualizados del delegado.
8. El sistema avisa al administrador que la operación fue exitosa.
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 3, si el sistema detecta un error en la validación de la cedula suministrada,
genera un mensaje de error y cancela la operación, permitiendo al administrador volver a
realizar la operación.
Para el evento 6, si el sistema detecta un error en la validación de los campos, genera un
mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes.
Para el evento 5, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes
68
Tabla 20.Caso de uso “Agregar Campeonato ” Identificador del Caso
de Uso
CA7
Nombre Caso de Uso: Agregar campeonato
Actor Administrador
Prioridad y Tipo Alta
Descripción El administrador del sistema ingresa los datos para la creación de un campeonato.
Curso Básico Eventos: ACTOR SISTEMA 1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador coloca los datos del nuevo campeonato en los campos correspondientes.
4. El sistema valida los datos incluidos por el administrador.
5. El sistema ingresa el nuevo campeonato.
6. El sistema avisa al administrador que la operación fue exitosa.
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error en la validación de los campos, genera un
mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes.
69
Tabla 21.Caso de uso “Consultar Campeonato” Identificador del Caso
de Uso
CA8
Nombre Caso de Uso: Consultar Campeonato
Actor Administrador
Prioridad y Tipo Baja
Descripción El administrador del sistema consulta los datos de un campeonato
Curso Básico Eventos: ACTOR SISTEMA 1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador selecciona el campeonato que desea consultar.
4. El sistema verifica si el campeonato seleccionado se encuentra habilitado.
5. El sistema muestra los resultados obtenidos
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error al verificar si el campeonato no esta habilitado,
genera un mensaje de error y cancela la operación, permitiendo al administrador volver a
realizar la operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes
70
Tabla 22.Caso de uso “Editar Campeonato” Identificador del Caso
de Uso
CA9
Nombre Caso de Uso: Editar Campeonato
Actor Administrador
Prioridad y Tipo Alta
Descripción El administrador del sistema edita los datos de un campeonato
Curso Básico Eventos: ACTOR SISTEMA 1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador selecciona el campeonato que desea editar.
4. El sistema verifica si el campeonato seleccionado se encuentra habilitado.
5. El sistema muestra los resultados obtenidos
6. El administrador actualiza los datos que desea editar del delegado
7. El sistema valida los datos incluidos por el administrador.
8. El sistema ingresa los datos actualizados del Campeonato.
9. El sistema avisa al administrador que la operación fue exitosa.
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error al verificar si el campeonato no esta habilitado,
genera un mensaje de error y cancela la operación, permitiendo al administrador volver a
realizar la operación.
Para el evento 7, si el sistema detecta un error en la validación de los campos, genera un
mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes.
Para el evento 6, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes
71
Tabla 23. Caso de uso “Agregar Equipo ” Identificador del Caso
de Uso CA10
Nombre Caso de Uso: Agregar Equipo
Actor Administrador
Prioridad y Tipo Alta
Descripción El administrador del sistema ingresa los datos para la creación de un Equipo.
Curso Básico Eventos: ACTOR SISTEMA
1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador coloca los datos del nuevo equipo en los campos correspondientes.
4. El sistema valida los datos incluidos por el administrador.
5. El sistema ingresa el nuevo equipo.
6. El sistema avisa al administrador que la operación fue exitosa.
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error en la validación de los campos, genera un
mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes.
72
Tabla 24.Caso de uso “Consultar Equipo” Identificador del Caso
de Uso
CA8
Nombre Caso de Uso: Consultar Equipo
Actor Administrador
Prioridad y Tipo Baja
Descripción El administrador del sistema consulta los datos de un equipo
Curso Básico Eventos: ACTOR SISTEMA 1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador selecciona el equipo que desea consultar.
4. El sistema verifica si el equipo seleccionado se encuentra habilitado.
5. El sistema muestra los resultados obtenidos
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error al verificar si el equipo no esta habilitado, genera
un mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes
73
Tabla 25.Caso de uso “Editar Equipo” Identificador del Caso
de Uso
CA9
Nombre Caso de Uso: Editar Equipo
Actor Administrador
Prioridad y Tipo Alta
Descripción El administrador del sistema edita los datos de un equipo
Curso Básico Eventos: ACTOR SISTEMA 1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador selecciona el equipo que desea editar.
4. El sistema verifica si el equipo seleccionado se encuentra habilitado.
5. El sistema muestra los resultados obtenidos
6. El administrador actualiza los datos que desea editar del equipo
7. El sistema valida los datos incluidos por el administrador.
8. El sistema ingresa los datos actualizados del equipo.
9. El sistema avisa al administrador que la operación fue exitosa.
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error al verificar si el equipo no esta habilitado, genera
un mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Para el evento 7, si el sistema detecta un error en la validación de los campos, genera un
mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes.
Para el evento 6, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes.
74
Tabla 26. Caso de uso “Agregar Jugador” Identificador del Caso
de Uso CA10
Nombre Caso de Uso: Agregar Jugador
Actor Administrador
Prioridad y Tipo Alta
Descripción El administrador del sistema ingresa los datos para la creación de un Jugador.
Curso Básico Eventos: ACTOR SISTEMA
1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador coloca los datos del nuevo jugador en los campos correspondientes.
4. El sistema valida los datos incluidos por el administrador.
5. El sistema ingresa el nuevo jugador.
6. El sistema avisa al administrador que la operación fue exitosa.
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error en la validación de los campos, genera un
mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes.
75
Tabla 27.Caso de uso “Consultar Jugador” Identificador del Caso
de Uso
CA8
Nombre Caso de Uso: Consultar Jugador
Actor Administrador
Prioridad y Tipo Baja
Descripción El administrador del sistema consulta los datos de un jugador
Curso Básico Eventos: ACTOR SISTEMA 1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador selecciona el jugador que desea consultar.
4. El sistema verifica si el jugador seleccionado se encuentra habilitado.
5. El sistema muestra los resultados obtenidos
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error al verificar si el jugador no esta habilitado,
genera un mensaje de error y cancela la operación, permitiendo al administrador volver a
realizar la operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes
76
Tabla 28.Caso de uso “Editar Jugador” Identificador del Caso
de Uso
CA9
Nombre Caso de Uso: Editar Jugador
Actor Administrador
Prioridad y Tipo Alta
Descripción El administrador del sistema edita los datos de un Jugador
Curso Básico Eventos: ACTOR SISTEMA 1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador selecciona el jugador que desea editar.
4. El sistema verifica si el jugador seleccionado se encuentra habilitado.
5. El sistema muestra los resultados obtenidos
6. El administrador actualiza los datos que desea editar del jugador.
7. El sistema valida los datos incluidos por el administrador.
8. El sistema ingresa los datos actualizados del jugador.
9. El sistema avisa al administrador que la operación fue exitosa.
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error al verificar si el jugador no esta habilitado, genera un mensaje de error y cancela la operación, permitiendo al administrador volver a
realizar la operación.
Para el evento 7, si el sistema detecta un error en la validación de los campos, genera un
mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes.
77
Tabla 29. Caso de uso “Agregar Escenario” Identificador del Caso
de Uso CA10
Nombre Caso de Uso: Agregar Escenario
Actor Administrador
Prioridad y Tipo Alta
Descripción El administrador del sistema ingresa los datos para la creación de un Escenario.
Curso Básico Eventos: ACTOR SISTEMA
1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador coloca los datos del nuevo escenario en los campos correspondientes.
4. El sistema valida los datos incluidos por el administrador.
5. El sistema ingresa el nuevo escenario.
6. El sistema avisa al administrador que la operación fue exitosa.
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error en la validación de los campos, genera un
mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes.
78
Tabla 30.Caso de uso “Consultar Escenario” Identificador del Caso
de Uso
CA8
Nombre Caso de Uso: Consultar Escenario
Actor Administrador
Prioridad y Tipo Baja
Descripción El administrador del sistema consulta los datos de un Escenario
Curso Básico Eventos: ACTOR SISTEMA 1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador selecciona el escenario que desea consultar.
4. El sistema verifica si el escenario seleccionado se encuentra habilitado.
5. El sistema muestra los resultados obtenidos
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error al verificar si el escenario no esta habilitado,
genera un mensaje de error y cancela la operación, permitiendo al administrador volver a
realizar la operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes
79
Tabla 31.Caso de uso “Editar Escenario” Identificador del Caso
de Uso
CA9
Nombre Caso de Uso: Editar Escenario
Actor Administrador
Prioridad y Tipo Alta
Descripción El administrador del sistema edita los datos de un Escenario
Curso Básico Eventos: ACTOR SISTEMA 1. El administrador se registra en el sistema ingresando cedula y contraseña.
2. El sistema valida la información ingresada por el administrador
3. El administrador selecciona el escenario que desea editar.
4. El sistema verifica si el escenario seleccionado se encuentra habilitado.
5. El sistema muestra los resultados obtenidos
6. El administrador actualiza los datos que desea editar del escenario
7. El sistema valida los datos incluidos por el administrador.
8. El sistema ingresa los datos actualizados del escenario.
9. El sistema avisa al administrador que la operación fue exitosa.
Caminos de Excepción: Para el evento 2, si el sistema encuentra un error en la validación de los datos de registro del
administrador, el sistema genera un mensaje de error y cancela la operación permitiendo al
administrador volver a realizar la operación.
Para el evento 4, si el sistema detecta un error al verificar si el escenario no esta habilitado, genera un mensaje de error y cancela la operación, permitiendo al administrador volver a
realizar la operación.
Para el evento 7, si el sistema detecta un error en la validación de los campos, genera un
mensaje de error y cancela la operación, permitiendo al administrador volver a realizar la
operación.
Caminos Alternos: Para el evento 1, si el administrador decide cancelar manualmente la operación, no ingresa al
sistema y el sistema se cierra.
Para el evento 3, si el administrador decide cancelar manualmente la operación, el sistema no
realiza ninguno de los eventos siguientes.
80
9.3. Diagramas de Clases
Auditoria Idauditoria : Integer Fecha : Date Hora : Date Operacion : String Ip : Integer Usuario : String
Consultar()
Campeonato Id : Integer Nombre : String Categoria : String Deporte : String Rama : String Num_Jugadores : Integer Num_Equipos : Integer Estado : Integer Puntosganador : Integer Puntosperdedor : Integer Puntosempate : Integer Puntosw : Integer
Crear() Inscripcion() Programacion() Marcadores() Posiciones() Consultar()
Equipo Id : Integer Nombre : String Foto : String Deporte : String
Crear() Consultar() Editar()
Administrador id : Integer Contraseña : String Estado : Integer
Editar() Crear() Consultar()
CuerpoTecnico Id : Integer Contrasena : String Estado : Integer
Editar() Crear() Consultar()
Persona Cedula : Integer Nombre : String Apellido : String Fotografia : String Fecha de Nacim iento : Date Posicion : String Acreditacion : String Logros : String His toria : String Contacto : String Direccion : String Telefono : Integer Email : String Observaciones : String
Crear() Consultar() Editar()
Jugadores Id : Integer Numero : String
Editaar() Crear() Consultar()
1
1..n
Escenario Id : Integer Nombre : String Direccion : String Telefono : Integer Adminis trador : String Ciudad : String Estado : Integer
Crear() Consultar() Editar()
Programacion Id : Integer Idequipolocal : Integer Idequipovis itante : Integer Goles local : Integer Golesvis itante : Integer Fecha : Date Hora : Date
Crear() Consultar() Editar()
Resultados PjPg Pe Pp Anotf Anotc Anotdif Puntos Posiciones
Consultar()
1
1..n
1
1..n
Figura 29. Diagrama de clases
81
9.4. Diagramas de Secuencia
: Administrador : Administrador : Conexion
ingresarDatos() ingresarAdministrador()
ejecutar()
"Operacion Exitosa"
Figura 30. Iniciar sesión administrador
: Administrador
: Administrador : Conexion
consultar(string estado) consultarAdministrador()
consultar()
DataSet
Figura 31. Consultar Administrador
82
: Administrador
: Administrador : Conexion
consultar(string estado) consultarAdministrador()
consultar()
DataSet
ingresarDatos() actualizar()
ejecutar()
"Operacion Exitosa"
Figura 32. Editar Administrador
: Conexion : Administrador
: Campeonato : Equipo : Resultados
consultar() consultar()
consultar()
DataSet
consultar(idCampeonato)
consultar()
consultar()
DataSet
inscribir(idEquipo,idCampeonato)
agregarResultado()
ejecutar()
"Operacion Exitosa"
Figura 33. Agregar Marcadores
83
: Administrador : Campeonato : Conexion : Equipo : Programacion
consultar() consultar()
consultar()
DataSet
consultar(idCampeonato)
consultar()
consultar()
DataSet
generarProgramacion(idCampeonato,idEquipo[ ], sorteo [ ] ) generarProgramacion()
ejecutar() "Operacion Exitosa"
Figura 34. Generar Programación
: Delegado : CuerpoTecnico : Conexion
ingresarDatos()
ingresarDelegado()
ejecutar()
"Operacion Exitosa"
Figura 35. Iniciar sesión delegado
84
: Delegado : CuerpoTecnico : Conexion
consultar(string estado)
consultarDelegado()
consultar()
DataSet
Figura 36. Consultar Delegado
: Delegado : CuerpoTecnico : Conexion
consultar(string estado) consultarDelegado()
consultar()
DataSet
ingresarDatos()
actualizar()
ejecutar()
"Operacion Exitosa"
Figura 37. Editar Delegado
85
: Delegado : Jugadores : Conexion
ingresarDatos()
ingresarJugador()
ejecutar()
"Operacion Exitosa"
Figura 38. Agregar Jugador
: Delegado : Jugadores : Conexion
consultar(string estado)
consultarJugador()
consultar()
DataSet
Figura 39. Consultar Jugador
86
: Delegado : Jugadores : Conexion
consultar(string estado)
consultarJugador()
consultar()
DataSet
ingresarDatos()
actualizar()
ejecutar()
"Operacion Exitosa"
Figura 40. Editar Jugador
: Adminis trador : Campeonato : Conexion
ingresarDatos()
ingresarCampeonato()
ejecutar()
"Operacion Exitosa"
Figura 41. Agregar Campeonato
87
: Administrador : Campeonato : Conexion
consultar(string estado)
consultarCampeonato()
consultar()
DataSet
Figura 42. Consultar Campeonato
: Administrador : Campeonato : Conexion
consultar(string estado)
consultarCampeonato()
consultar()
DataSet
ingresarDatos()
actualizar()
ejecutar()
"Operacion Exitosa"
Figura 43. Editar Campeonato
88
: Administrador : Equipo : Conexion
ingresarDatos()
ingresarEquipo()
ejecutar()
"Operacion Exitosa"
Figura 44. Agregar Equipo
: Administrador : Equipo : Conexion
consultar(string estado)
consultarEquipo()
consultar()
DataSet
Figura 45. Consultar Equipo
89
: Administrador : Equipo : Conexion
consultar(string estado)
consultarEquipo()
consultar()
DataSet
ingresarDatos()
actualizar()
ejecutar()
"Operacion Exitosa"
Figura 46. Editar Equipo
: Administrador : Escenario : Conexion
ingresarDatos()
ingresarEscenario()
ejecutar()
"Operacion Exitosa"
Figura 47. Agregar Escenario
90
: Administrador : Escenario : Conexion
consultar(string estado)
consultarEscenario()
consultar()
DataSet
Figura 48. Consultar Escenario
: Administrador : Escenario : Conexion
consultar(string estado)
consultarEscenario()
consultar()
DataSet
ingresarDatos()
acualizar()
ejecutar()
"Operacion Exitosa"
Figura 49. Editar Escenario
91
9.5. Diagramas de Colaboración
: Administrador
: Administrador
: Conexion
3: ejecutar()
1: ingresarDatos()
2: ingresarAdministrador() 4: "Operacion Exitosa"
Figura 50. Agregar Administrador
: Administrador
: Administrador
: Conexion
3: consultar()
1: consultar(string estado)
2: consultarAdministrador() 4: DataSet
Figura 51. Consultar administrador
92
: Administrador
: Administrador
: Conexion
3: consultar() 7: ejecutar()
1: consultar(string estado) 5: ingresarDatos()
2: consultarAdministrador() 6: actualizar()
4: DataSet 8: "Operacion Exitosa"
Figura 52. Editar Administrador
: Administrador
: Campeonato
: Conexion
: Equipo
: Programacion
3: consultar() 7: consultar() 10: generarProgramacion()
1: consultar()
5: consultar(idCampeonato)
9: generarProgramacion(idCampeonato,idEquipo[ ], sorteo [ ] )
2: consultar()
4: DataSet 8: DataSet
12: "Operacion Exitosa"
6: consultar()
11: ejecutar()
Figura 53. Generar Programación
93
: Delegado
: CuerpoTecnico
: Conexion
3: ejecutar()
1: ingresarDatos()
2: ingresarDelegado() 4: "Operacion Exitosa"
Figura 54. Agregar Delegado
: Delegado
: CuerpoTecnico
: Conexion
3: consultar()
1: consultar(s tring estado)
2: consultarDelegado() 4: DataSet
Figura 55. Consultar Delegado
94
: Delegado
: CuerpoTecnico
: Conexion
3: consultar() 7: ejecutar()
1: consultar(string estado) 5: ingresarDatos()
2: consultarDelegado() 6: actualizar()
4: DataSet 8: "Operacion Exitosa"
Figura 56. Editar Delegado
: Delegado
: Jugadores
: Conexion
3: ejecutar()
1: ingresarDatos()
2: ingresarJugador() 4: "Operacion Exitosa"
Figura 57. Agregar Jugador
95
: Delegado
: Jugadores
: Conexion
3: consultar()
1: consultar(string estado)
2: consultarJugador() 4: DataSet
Figura 58. Consultar Jugador
: Delegado
: Jugadores
: Conexion
3: consultar() 7: ejecutar()
1: consultar(string estado) 5: ingresarDatos()
2: consultarJugador() 6: actualizar()
4: DataSet 8: "Operacion Exitosa"
Figura 59. Editar Jugador
96
: Adminis trador
: Campeonato
: Conexion
3: ejecutar()
1: ingresarDatos()
2: ingresarCampeonato() 4: "Operacion Exitosa"
Figura 60. Agregar Campeonato
: Administrador
: Campeonato
: Conexion
3: consultar()
1: consultar(string estado)
2: consultarCampeonato() 4: DataSet
Figura 61. Consulta Campeonato
97
: Administrador
: Campeonato
: Conexion
3: consultar() 7: ejecutar()
1: consultar(string estado) 5: ingresarDatos()
2: consultarCampeonato() 6: actualizar()
4: DataSet 8: "Operacion Exitosa"
Figura 62. Editar campeonato
: Administrador
: Equipo
: Conexion
3: ejecutar()
1: ingresarDatos()
2: ingresarEquipo() 4: "Operacion Exitosa"
Figura 63. Agregar Equipo
98
: Administrador
: Equipo
: Conexion
3: consultar()
1: consultar(string estado)
2: consultarEquipo() 4: DataSet
Figura 64. Consultar Equipo
: Administrador
: Equipo
: Conexion
3: consultar() 7: ejecutar()
1: consultar(string estado) 5: ingresarDatos()
2: consultarEquipo() 6: actualizar()
4: DataSet 8: "Operacion Exitosa"
Figura 65. Editar Equipo
99
: Adminis trador
: Campeonato
: Conexion
: Equipo
: Resultados 1: consultar()
2: consultar() 3: consultar()
4: DataSet 5: consultar(idCampeonato)
6: consultar()
7: consultar() 8: DataSet
9: inscribir(idEquipo,idCampeonato)
10: agregarResultado()
11: ejecutar() 12: "Operacion Exitosa"
Figura 66. Inscribir Equipo a Campeonato
: Administrador
: Escenario
: Conexion
3: ejecutar()
1: ingresarDatos()
2: ingresarEscenario() 4: "Operacion Exitosa"
Figura 67. Agregar Escenario
100
: Administrador
: Escenario
: Conexion
3: consultar()
1: consultar(string estado)
2: consultarEscenario() 4: DataSet
Figura 68. Consultar Escenario
: Administrador
: Escenario
: Conexion
3: consultar() 7: ejecutar()
1: consultar(string estado) 5: ingresarDatos()
2: consultarEscenario() 6: acualizar()
4: DataSet 8: "Operacion Exitosa"
Figura 69. Editar Escenario
101
: Administrador
: Campeonato
: Conexion
: Equipo
: Programacion
3: consultar() 7: consultar()
10: consultar() 14: Ejecutar()
1: consultar()
5: consultar(idCampeonato)
9: consultar() 13: generarProgramacion(idCampeonato,idEquipo[ ], sorteo [ ] )
2: consultar() 4: DataSet 8: DataSet 12: DataSet
16: "Operacion Exitosa"
6: consultar()
11: consultar() 15: actualizar()
Figura 70. Editar programación
: Administrador
: Campeonato
: Conexion
: Equipo
: Programacion
3: consultar() 7: consultar()
10: consultar()
1: consultar()
5: consultar(idCampeonato)
9: consultar()
2: consultar() 4: DataSet 8: DataSet 12: DataSet
6: consultar()
11: consultar()
Figura 71. Consultar programación
102
IMPLEMENTACION
9.6. Arquitectura de tres capas
Como sabemos esta estrategia para la construcción de software nos permite
realizar desarrollos en multinivel o multicapa a continuación presentaremos las
diferentes capas y sus elementos más importantes.
La capa de persistencia:
9.6.1. Presentación
Estos son algunos de los formularios y páginas diseñadas en DreamWeaver con
PHP con las que cuenta la aplicación:
Figura 72. Sesión Administrador
103
Figura 73. Generar Administrador
Figura 74. Consulta Administradores
Figura 75. Consulta de Administradores
104
Figura 76. Creación de Campeonatos
Figura 77. Consulta de programación
Figura 78. Consulta marcadores
105
Figura 79. Tabla de Posiciones
Figura 80. Consulta de Campeonatos
Figura 81. Creación de escenario
106
9.6.2. Lógica
Las siguientes son algunas de las clases que se generaron para realizar las
diferentes conexiones entre formularios y las bases de datos como también las
validaciones para la seguridad de la aplicación. Clase Administrador
<?php
class administrador
var $cedulaadmin;
var $nombre;
var $apellido;
var $foto;
var $direccion;
var $telefono;
var $correo;
var $observacion;
var $contrasena;
var $estado;
function administrador($id,$cont)
$this>cedulaadmin=$id;
$this>contrasena=$cont;
function ponerdatos($nombre,$apellido,$foto,$direccion,$telefono,$correo,$observacion,$contrasena,$estado)
$this>nombre= $nombre;
$this>apellido= $apellido;
$this>foto= $foto;
$this>direccion= $direccion;
$this>telefono= $telefono;
$this>correo= $correo;
$this>observaciones= $observacion;
$this>contrasena= $contrasena;
$this>estado= $estado;
function insertar()
return "insert into administrador values('".$this>cedulaadmin."','".$this>nombre."','".$this>apellido."','".$this
>foto."','".$this>direccion."','".$this>telefono."','".$this>correo."','".$this>observaciones."','".$this>contrasena."','".$this
>estado."')";
function consultar()
return "select * from administrador where cedulaadmin='".$this>cedulaadmin."'";
function consultarTodos($orden)
return "select * from administrador order by ".$orden;
function consultar1()
107
return "select * from administrador";
function consultar2()
return "select * from administrador where estado= '0'";
function consultar3()
return "select * from administrador where estado= '1'";
function consultarNombres()
return "select * from admon order by nombre";
function consultarAcceso()
return "select * from administrador where cedulaadmin='".$this>cedulaadmin."' and contrasena='".$this
>contrasena."'";
function actualizar()
if($this>foto=="")
$f=" ";
else
$f=", foto='".$this>foto."'";
return "update administrador set nombre ='".$this>nombre."', apellido='".$this>apellido."'".$f.", direccion='".$this
>direccion."', telefono='".$this>telefono."', correo='".$this>correo."', observaciones='".$this>observaciones."',
estado='".$this>estado."' where cedulaadmin='".$this>cedulaadmin."'";
function actualizarContra($c)
return "update administrador set contra='".$c."' where cedula='".$this>cedula."'";
function habilitar($h)
return "update administrador set habilitado=".$h." where cedula='".$this>cedula."'";
?>
Clase Delegado
<?php
class delegado
var $ceduladel;
var $nombre;
var $apellido;
var $foto;
var $direccion;
var $telefono;
var $correo;
var $observacion;
var $contrasena;
var $estado;
function delegado($codigo,$cont)
$this>ceduladel=$codigo;
108
$this>contrasena=$cont;
function ponerdatos($nombre,$apellido,$foto,$direccion,$telefono,$correo,$observacion,$contrasena,$estado)
$this>nombre= $nombre;
$this>apellido= $apellido;
$this>foto= $foto;
$this>direccion= $direccion;
$this>telefono= $telefono;
$this>correo= $correo;
$this>observaciones= $observacion;
$this>contrasena= $contrasena;
$this>estado= $estado;
function insertar()
return "insert into delegado values('".$this>ceduladel."','".$this>nombre."','".$this>apellido."','".$this>foto."','".$this
>direccion."','".$this>telefono."','".$this>correo."','".$this>observaciones."','".$this>contrasena."','".$this>estado."')";
function consultar()
return "select * from delegado ";
function consultar2($busqueda)
return "select * from delegado where ceduladel like'%".$busqueda."%' or nombre like '%".$busqueda."%' or apellido
like '%".$busqueda."%'";
function consultar1()
return "select * from delegado where ceduladel ='".$this>ceduladel."'";
function consultar3()
return "select * from delegado where estado= '0'";
function consultar4()
return "select * from delegado where estado= '1'";
function consultarTodos($orden)
return "select * from delegado order by ".$orden;
function consultarNombres()
return "select * from delegado order by nombre";
function consultarAcceso()
return "select * from delegado where ceduladel='".$this>ceduladel."' and contrasena='".$this>contrasena."'";
function actualizar()
109
if($this>foto=="")
$f=" ";
else
$f=", foto='".$this>foto."'";
return "update delegado set nombre ='".$this>nombre."', apellido='".$this>apellido."'".$f.", direccion='".$this>direccion."',
telefono='".$this>telefono."', correo='".$this>correo."', observaciones='".$this>observaciones."', estado='".$this>estado."'
where ceduladel='".$this>ceduladel."'";
function actualizarContra($c)
return "update delegado set contra='".$c."' where cedula='".$this>ceduladel."'";
function habilitar($h)
return "update delegado set habilitado=".$h." where cedula='".$this>ceduladel."'";
?>
Clase Jugador
?php
class jugador
var $codigo;
var $nombre;
var $apellido;
var $fechanacimiento;
var $numero;
var $idequipo;
var $foto;
var $direccion;
var $telefono;
var $correo;
var $acreditacion;
var $logros;
var $estado;
var $observaciones;
function jugador($codigo)
$this>cedulajugador=$codigo;
functionponerdatos($codigo, nombre,$apellido,$fechanacimiento,$numero,$equipo,$foto,$direccion,$telefono,$correo,
$acreditacion,$logros,$estado,$observacion)
$this>cedulajugador=$codigo;
110
$this>nombre= $nombre;
$this>apellido= $apellido;
$this>fechanacimiento= $fechanacimiento;
$this>numero= $numero;
$this>idequipo= $equipo;
$this>foto= $foto;
$this>direccion= $direccion;
$this>telefono= $telefono;
$this>correo= $correo;
$this>acreditacion= $acreditacion;
$this>logros= $logros;
$this>estado= $estado;
$this>observaciones= $observacion;
function insertar()
return "insert into jugador values('".$this>cedulajugador."','".$this>nombre."','".$this>apellido."','".$this>foto."','".$this
>direccion."','".$this>telefono."','".$this>correo."','".$this>observaciones."','".$this>logros."','".$this>estado."','".$this
>acreditacion."','".$this>fechanacimiento."','".$this>numero."','".$this>idequipo."')";
function consultar()
return "select * from jugador where cedulajugador='".$this>cedulajugador."'";
function consultar2($busqueda)
return "select j.cedulajugador,j.nombre,j.apellido,j.numero,j.estado, e.nombre from jugador j, equipo e where
(j.cedulajugador like'%".$busqueda."%' or j.nombre like '%".$busqueda."%' or j.apellido like '%".$busqueda."%' or
e.nombre like '%".$busqueda."%' or j.numero like '%".$busqueda."%' or j.estado like '%".$busqueda."%') and
j.idequipo=e.idequipo";
function consultarTodos($orden)
return "select * from jugador order by ".$orden;
function consultarNombres()
return "select * from jugador order by nombre";
function consultarAcceso()
return "select * from jugador where codigo='".$this>codigo."' and contra='".$this>contra."'";
function actualizar()
if($this>foto=="")
$f=" ";
else
$f=", foto='".$this>foto."'";
return "update jugador set nombre= '".$this>nombre."', apellido='".$this>apellido."'".$f.", direccion='".$this>direccion."',
telefono='".$this>telefono."',correo='".$this>correo."', observaciones='".$this>observaciones."', logros='".$this>logros."',
estado='".$this>estado."', acreditacion='".$this>acreditacion."', fechanacimiento='".$this>fechanacimiento."',
111
numero='".$this>numero."', idequipo='".$this>idequipo."' where cedulajugador='".$this>cedulajugador."'";
function actualizarContra($c)
return "update jugador set contra='".$c."' where cedula='".$this>cedula."'";
function habilitar($h)
return "update jugador set habilitado=".$h." where cedula='".$this>cedula."'";
?>
Clase Equipo
<?php
class equipo
var $idequipo;
var $nombre;
var $foto;
var $deporte;
var $rama;
var $estado;
var $ceduladel;
function equipo($id)
$this>idequipo=$id;
function ponerdatos($nombre,$img,$deporte,$rama,$estado,$ceduladel)
$this>nombre= $nombre;
$this>foto= $img;
$this>deporte= $deporte;
$this>rama= $rama;
$this>estado= $estado;
$this>ceduladel= $ceduladel;
function insertar()
return "insert into equipo values('','".$this>nombre."','".$this>foto."','".$this>deporte."','".$this>rama."','".$this
>estado."','".$this>ceduladel."')";
function consultar0()
return "select e.nombre, e.deporte, e.rama, e.estado, d.nombre, d.apellido, e.idequipo from equipo e, delegado d where
e.ceduladel=d.ceduladel";
function consultar1()
112
return "select e.nombre, e.deporte, e.rama, e.estado, e.fotografia, d.nombre, d.apellido, e.idequipo, d.ceduladel from
equipo e, delegado d where e.ceduladel=d.ceduladel and idequipo='".$this>idequipo."'";
function consultar2()
return "select e.nombre, e.deporte, e.rama, e.estado, d.nombre, d.apellido, e.idequipo from equipo e, delegado d where
e.ceduladel=d.ceduladel and e.estado= '0'";
function consultar3()
return "select e.nombre, e.deporte, e.rama, e.estado, d.nombre, d.apellido, e.idequipo from equipo e, delegado d where
e.ceduladel=d.ceduladel and e.estado= '1'";
function consultarTodos($orden)
return "select * from equipo order by ".$orden;
function consultarInscripcionEquipo($cat,$dep,$ram)
return "select e.idequipo, e.nombre, d.nombre, d.apellido from equipo e, delegado d where e.ceduladel=d.ceduladel
and e.deporte='".$dep."' and e.rama='".$ram."' and e.categoria='".$cat."' order by e.nombre";
function inscribir($idCam,$idEqu)
return "insert into resultados (idequipo, idcampeonato) values('".$idEqu."','".$idCam."')";
function desinscribir($idCam,$idEqu)
return "delete from resultados where idequipo='".$idEqu."' and idcampeonato='".$idCam."'";
function inscrito($idCam,$idEqu)
return "select * from resultados where idequipo='".$idEqu."' and idcampeonato='".$idCam."'";
function equiposinscritos($idCam)
return "select count(idcampeonato) from resultados where idcampeonato='".$idCam."'";
function datosequiposinscritos($idCam)
return "select e.idequipo, e.nombre, d.nombre, d.apellido from equipo e, delegado d, resultados r where
e.ceduladel=d.ceduladel and r.idequipo=e.idequipo and r.idcampeonato='".$idCam."'";
function consultarNombres()
return "select * from equipo order by nombre";
function consultarAcceso()
return "select * from equipo where idcampeonato='".$this>codigo."' and contra='".$this>contra."'";
function actualizar()
if($this>foto=="")
$f=" ";
else
$f=", fotografia='".$this>foto."'";
return "update equipo set nombre ='".$this>nombre."'".$f.", deporte='".$this>deporte."', rama='".$this>rama."',
113
estado='".$this>estado."', ceduladel='".$this>ceduladel."' where idequipo='".$this>idequipo."'";
function actualizarContra($c)
return "update equipo set contra='".$c."' where cedula='".$this>cedula."'";
function habilitar($h)
return "update equipo set habilitado=".$h." where cedula='".$this>cedula."'";
?>
Clase validar sesión
<?php
session_start();
require_once('logica/conexion.php');
require_once('logica/administrador.php');
require_once('logica/delegado.php');
$idPersona=$_POST['id'];
$_SESSION['idPersona']=$idPersona;
$contra=$_POST['contra'];
if($idPersona==""||$contra=="")//1
?>
<script>location.replace('index.php?error=1');</script>
<?php
else//1
$admin= new administrador($idPersona,$contra);
$c = new conexion();
$c>setsentencia($admin>consultarAcceso());
$c>ejecutar();
if($c>filas()==1)//2
$filas=$c>registro();
$_SESSION['rol']="1";
?>
<script>location.replace('presentacion/marco.php')</script>
<?php
else//2
114
$del= new delegado($idPersona,$contra);
$c = new conexion();
$c>setsentencia($del>consultarAcceso());
$c>ejecutar();
if($c>filas()==1)//3
$filas=$c>registro();
$_SESSION['rol']="2";
?>
<script>location.replace('presentacion/marcodelegado.php')</script>
<?php
else//3
?>
<script>location.replace('index.php?error=2')</script>
<?php
?>
Clase Validar Formularios
function validar(obj)
mensaje="";
if(obj.nombres.value=="")
mensaje+="Nombres\n";
if(obj.apellidos.value=="")
mensaje+="Apelidos\n";
if(obj.documento.value=="")
mensaje+="Documento de Identidad\n";
if(obj.fechanacimiento.value=="")
mensaje+="Fecha de Nacimiento\n";
if(obj.numero.value=="")
mensaje+="Numero del Jugador\n";
115
if(mensaje!="")
alert("Por Favor Digite:\n"+mensaje);
return false;
else
return true;
function validar1(obj)
mensaje="";
if(obj.nombre.value=="")
mensaje+="Nombres\n";
if(obj.apellido.value=="")
mensaje+="Apelidos\n";
if(obj.codigo.value=="")
mensaje+="Documento de Identidad\n";
if(obj.contra.value=="")
mensaje+="Contraseña\n";
if(mensaje!="")
alert("Por Favor Digite:\n"+mensaje);
return false;
else
return true;
function validar3(obj)
mensaje="";
if(obj.nombre.value=="")
mensaje+="Nombre del Campeonato\n";
if(obj.categoria.value=="")
116
mensaje+="Categoria\n";
if(obj.deporte.value=="")
mensaje+="Deporte\n";
if(obj.rama.value=="")
mensaje+="Rama\n";
if(obj.numequipos.value=="")
mensaje+="Numero de Equipos\n";
if(obj.numjugadores.value=="")
mensaje+="Numero de Jugadores\n";
if(obj.pg.value=="")
mensaje+="El control de Puntuacion\n";
if(mensaje!="")
alert("Por Favor Digite:\n"+mensaje);
return false;
else
return true;
function validar4(obj)
mensaje="";
if(obj.nombre.value=="")
mensaje+="Nombre del Escenario\n";
if(obj.direccion.value=="")
mensaje+="Direcion\n";
if(obj.telefono.value=="")
117
mensaje+="Telefono\n";
if(obj.administrador.value=="")
mensaje+="Administrador\n";
if(obj.ciudad.value=="")
mensaje+="Ciudad\n";
if(mensaje!="")
alert("Por Favor Digite:\n"+mensaje);
return false;
else
return true;
Control de Acceso de Usuario
<?php
session_start();
require_once('../logica/conexion.php');
require_once('../logica/administrador.php');
require_once('funciones.php');
if($_SESSION['idPersona']=="")
?>
<script>location.replace('../index.php')</script>
<?php
$rol=$_SESSION['rol'];
$idPersona=$_SESSION['idPersona'];
$filasPer=validarSesion($rol,$idPersona);
?>
<html>
<head>
<link href="estilo.css" rel="stylesheet" type="text/css">
<title>Sistema Administrador Deportivo Sportacus</title>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<style type="text/css">
<!
118
.Estilo14
fontsize: 16px;
fontweight: bold;
.Estilo16 fontsize: 16px
.Estilo17 fontsize: 18px
>
</style>
</head>
<body>
<div align="right">
<p><span class="Estilo2 Estilo6 Estilo2 Estilo6 Estilo10 Estilo14"><span class="Estilo2 Estilo2 Estilo6
Estilo16">Bienvenido al Sistema</span></span><span class="Estilo2 Estilo2 Estilo6 Estilo10"> <?php echo $filasPer[1] ?>
<?php echo $filasPer[2] ?> </span><span class="Estilo2 Estilo6 Estilo10"><span class="Estilo10 Estilo2 Estilo6
Estilo17"><strong><a href="../index.php"target="_parent">Salir</a></strong></span></p>
<p> </p>
</div>
</body>
</html>
9.6.3. Persistencia
Por medio de la clase conexión que presentaremos a continuación se estableció
toda la comunicación con la base de datos en la cual se encuentra la información
del sistema y de esa manera poder realizar todas las en el motor de bases de
datos MYSQL 5.0 .
Clase Conexión
<?php
class conexion
var $con;
var $sentencia="";
var $resultado;
function conexion()
$this>con= mysql_connect("localhost", "root", "");
mysql_select_db("sportacusbd", $this>con);
function setsentencia($sent)
$this>sentencia= $sent;
return $this>sentencia;
119
function ejecutar()
$this>resultado=mysql_query($this>sentencia,$this>con) or die (mysql_error());
return $this>resultado;
function liberar()
mysql_free_result($this>resultado);
function cerrar()
mysql_close($this>con);
function filas()
return mysql_num_rows($this>resultado);
function campos()
return mysql_num_fields($this>resultado);
function registro()
return mysql_fetch_row($this>resultado);
?>
Modelo relacional
120
10.PRUEBAS
Todo sistema de información debe probarse antes de ser utilizado, ya que el costo
es menor si se detectan los problemas antes de que entre en funcionamiento. En
un principio, se hace una serie de pruebas, con datos tipo, para identificar las
posibles fallas del sistema, más adelante, se utilizarán los datos del sistema real.
Una vez obtenidos los módulos de nuestro sistema, diferentes usuarios podrán
realizar las pruebas para su optimo funcionamiento, de esta prueba se realizaran
los ajustes necesarios, para iniciar a ingresar los datos definitivos.
Para garantizar que nuestra apliacaicon sea consistente realizamos las siguientes
pruebas:
10.1. Pruebas Locales
Pruebas inicio sesión contraseña Tabla 32.Plan de pruebas formulario contraseña
Realizan la prueba: Jeison Murillo, Jorge Roa
TIPO DE PRUEBA OPERACIÓN RESULTADO ESPERADO
Funcionamiento del ingreso
exitoso del nombre y
contraseña.
Se ingresa la identificación y contraseña
en los cuadro de texto correspondientes y
se da clic en “Ingresar”
Ingresa a la aplicación pasando
por el formulario Presentación
mostrado en la figura N° 72.
Funcionamiento del cuadro de
mensaje de error de
contraseña
Se ingresa el nombre y/o contraseña
errados en los cuadro de texto
correspondientes y se da clic en
“Ingresar”
Se muestra un cuadro de
mensaje con el mensaje “Error
de nombre o contraseña”
Funcionamiento de la
operación salir.
Se da clic en salir Se sale totalmente de la
aplicación y regresa a la pagina
inicial de la aplicación index.php
121
Prueba navegación menús Tabla 33. Plan de pruebas navegación menús
Realiza la prueba: Héctor Florez
TIPO DE PRUEBA OPERACIÓN RESULTADO ESPERADO
Funcionamiento de la barra de
menús
Se da click en uno de los menús de la
barra de menús
Se despliega los submenús
correspondientes al menú
seleccionado.
Funcionamiento de los
submenús de la barra de
menús.
Se hace ka operación anterior y se da clic
en el submenú deseado
Realiza la operación requerida
por el submenú seleccionado.
Funcionamiento de la barra de
herramientas.
Se da clic en uno de los iconos de la
barra de herramientas
Se ejecuta la operación
correspondiente al icono selec.
Pruebas formulario registro de nuevos usuarios (Administrador o delegado) Tabla 34.Plan de pruebas formulario grupos de usuarios
Realizan la prueba: Jorge Roa, Andrés Ocampo
TIPO DE PRUEBA OPERACIÓN RESULTADO ESPERADO
Funcionamiento del ingreso de
un nuevo usuario.
(Administrador o delegado)
Se da clic en el botón “crear
Administrador o delegado”, se llenan los
cuadros de texto con la información
correspondiente y se da clic en “Guardar”
Se guarda el usuario y se
muestra los datos que fueron
almacenados en la base de
datos.
Funcionamiento de edición de
un usuario.
Se selecciona usuario que se encuentre
en el cuadro de lista en la parte central
del formulario, se da clic en el botón
“Editar se hacen los cambios necesarios
y se da “Guardar ”
Se guarda el usuario modificado
y se muestra el usuario con los
datos modificados.
Pruebas formulario Creación de Campeonatos Tabla 35.Plan de pruebas formulario creación de campeonatos
Realiza la prueba: Jeison Murillo
TIPO DE PRUEBA OPERACIÓN RESULTADO ESPERADO
Funcionamiento del ingreso de
un nuevo campeonato
Se da clic en el botón “crear
campeonato”, se llenan los cuadros de
texto con la información correspondiente
y se da clic en “Guardar”
Se guarda el campeonato y se
muestra los datos que fueron
almacenados en la base de
datos.
Funcionamiento de edición de
un campeonato.
Se selecciona el campeonato que se
encuentre en el cuadro de lista, se da clic
en el botón “Editar se hacen los cambios
necesarios y se da “Guardar ”
Se guarda el campeonato
modificado y se muestra los
datos modificados.
122
Pruebas formulario Creación de Equipos Tabla 36.Plan de pruebas formulario creación de equipos
Realiza la prueba: Luis Eduardo Torres , realizan corrección los encargados y ejecuta de nuevo la prueba
TIPO DE PRUEBA OPERACIÓN RESULTADO ESPERADO
Funcionamiento del ingreso de
un nuevo equipo
Se da clic en el botón “crear
campeonato”, se llenan los cuadros de
texto con la información correspondiente
y se da clic en “Guardar”
Se intenta guardar la información
en la base de datos pero la
aplicación genera un error pues
no existe una columna en la
tabla que se esta intentando
insertar datos.
Funcionamiento del ingreso de
un nuevo equipo
Se corrige el campo faltante
Se da clic en el botón “crear
campeonato”, se llenan los cuadros de
texto con la información correspondiente
y se da clic en “Guardar”
Se guarda la información
correspondiente al equipo en
base de datos y se muestra los
datos que fueron almacenados
Funcionamiento de edición de
un equipo.
Se selecciona el equipo que se encuentre
en el cuadro de lista en la parte central
del formulario, se da clic en el botón
“Editar se hacen los cambios necesarios
y se da “Guardar ”
Se guarda el equipo modificado
y se muestra los datos
modificados.
Pruebas formulario Creación de Equipos Tabla 37.Plan de pruebas formulario creación de equipos
Realiza la prueba: Luis Eduardo Torres , realizan corrección los encargados y ejecuta de nuevo la prueba
TIPO DE PRUEBA OPERACIÓN RESULTADO ESPERADO
Funcionamiento del ingreso de
un nuevo equipo
Se da clic en el botón “crear
campeonato”, se llenan los cuadros de
texto con la información correspondiente
y se da clic en “Guardar”
Se intenta guardar la información
en la base de datos pero la
aplicación genera un error pues
no existe una columna en la
tabla que se esta intentando
insertar datos.
Funcionamiento del ingreso de
un nuevo equipo
Se corrige el campo faltante
Se da clic en el botón “crear
campeonato”, se llenan los cuadros de
texto con la información correspondiente
y se da clic en “Guardar”
Se guarda la información
correspondiente al equipo en
base de datos y se muestra los
datos que fueron almacenados
Funcionamiento de edición de
un equipo.
Se selecciona el equipo que se encuentre
en el cuadro de lista del formulario, se da
clic en el botón “Editar se hacen los
cambios necesarios y se da “Guardar ”
Se guarda el equipo modificado
y se muestra los datos
modificados.
123
Pruebas formulario Pruebas formulario posiciones Tabla 38.Plan de pruebas formulario posiciones
Realiza la prueba: Jorge Roa
TIPO DE PRUEBA OPERACIÓN RESULTADO ESPERADO
Funcionamiento de la consulta
de resultados
Se da clic en el botón “consultar
posiciones en el modulo campeonato”, se
selecciona el campeonato que se desea
consultar y se da click en “Detallar”
Se muestra el formulario con la
información del campeonato los
equipos participantes y las
respectivas posiciones
10.2. Pruebas Globales
Pruebas acceso vía WEBTabla 39.Plan de pruebas acceso vía WEB
Realiza la prueba: Jorge Roa, Jeison Murillo
TIPO DE PRUEBA OPERACIÓN RESULTADO ESPERADO
Funcionamiento de la
aplicación en ambiente Web
Se ingresa la direccion del sub dominio
donde se encuentra alojada la pagina
http://sportacus.hectorflotez.com”
Se muestra la pagina inicial de la
aplicación y el formulario de
ingreso de sesión
Pruebas manejo de sesión y cierre de usuario Tabla 40.Plan de pruebas manejo de sesión y cierre de usuario
Realiza la prueba: Jorge Roa, Jeison Murillo
TIPO DE PRUEBA OPERACIÓN RESULTADO ESPERADO
Funcionamiento de la
seguridad al cierre de una
sesión
Se ingresa a la aplicación con la sesión
de un usuario, se navega par la
aplicación y se copia la direccion en
navegador, posteriormente se cierra la
sesión y se intenta ingresar con la
direccion que se copio anteriormente”
La aplicación no da paso a la
dirección deseada pues no se
encuentra sesión activada, se
confirma seguridad
124
11.CONCLUSIONES
1. Dado que la información se requiere de manera inmediata, la mejor
herramienta para tener resultados de este tipo es a través de Internet, que
se puede alimentar o consultar desde cualquier computador con accesos a
Internet con los niveles de seguridad que requiera el proyecto.
2. Cada uno de los proyectos de software produce diferentes tipos de
información a través de diferentes medios y formas de organización de la
misma, que es necesario conocer dicha información para establecer por
medio de que mecanismo se realiza la captura, almacena y reporta la
información.
3. Aunque se desconocía la metodología de desarrollo Scrum, el seguir las
instrucciones de cómo implementarla facilito el gran desempeño del grupo,
pues es sabido que esta metodología mas que controlar el desempeño
grupal, genera parámetros de autocontrol, permitiendo que cada uno de los
participantes determine cual es su verdadero potencial, que puede estimar
con lo que se propuso inicialmente en el sprint y lo que verdaderamente
logro realizar.
4. Se esta acostumbrado a medir horas de trabajo que cuando vemos las
graficas de esfuerzo en la metodología, nos sorprendemos pues se mal
interpreta la información, no son las horas que se dedicaron en realizar
cierta labor sino la estimación que tuvo el equipo, que de acuerdo a sus
capacidades valoro un calculo de lo que deberían invertir a una tarea, caso
concreto cuando se estima una labor que para el equipo se le debe
establecer una gran cantidad de esfuerzo pero que solo cuando se enfrenta
125
a la labor y determina cuanto hice hoy cuanto me queda y que necesito
para concluirla puedo en realidad conocer el esfuerzo dedicado.
5. Podemos decir que para cada aplicación lo mas importante es realizar un
análisis concienzudo del tema a desarrollar, pues de ahí se parte al éxito en
el desarrollo, establecer como será la arquitectura, el diseño de las
información, la adecuada generación de las bases de datos y las
herramientas que me permitan lograr cumplir con el objetivo.
6. Cada sistema de competencia tiene sus particularidades que son base para
elegir en una circunstancia en particular si se aplica o no. Recordar que se
deben considerar las características de la competencia, la cantidad de
equipos participantes el tiempo y canchas disponibles para elegir el sistema
de competencia conveniente.
7. El lograr implementar el sistema de información y adecuarlo para una
posterior escalabilidad, con altos estándares de calidad utilizando
herramientas que facilitaron nuestra labor, y fortalecer los conocimientos
adquiridos es uno de los logros mas satisfactorios para el grupo.
8. Por experiencia sabemos cual es la importancia de la documentación de
una aplicación o de un proceso de desarrollo, es una parte fundamental
para el conocimiento de las metodologías y técnicas aplicadas.
9. Con este trabajo de lo que se ha pretendido es brindar a los profesionales
del deporte una herramienta que les permita realizar su gestión
administrativa de una manera eficaz y hacer uso de la tecnología .
126
12.BIBLIOGRAFÍA
• Reglamento académico de Pregrado de la Fundación Universitaria Konrad
Lorenz Bogota D.C., Julio 14 del 2005,
• Manual de Normas Técnicas Colombiana, para la presentación de Tesis y
Trabajos de Grado NTC 1486. Bogota D.C. 2006. p. 133.
• Günter Thies, Peter Tschiene, Helmut Nicket; Teoría y Metodología de la
Competición Deportiva. Editorial Paidotribo.
• http://www.navegapolis.net. Modelo Scrum
Referencias Web
http://www.geocities.com
http://www.Navegopolis.org
http://www. tomcat.com
http://www. wikipedia.com