Economía y Empresa
Proyecto deportivo
Documento Análisis del Proyecto
Introducción
Problema a resolver
El club deportivo “Colometa” ha contratado nuestros servicios para organizar las diferentes competiciones de Fútbol Sala que realizan.
Se trata de diseñar y organizar la implementación de un sistema que permita gestionar la organización de las competiciones de una manera más cómoda.
Cada temporada es de un año aproximadamente, la cual empieza en los meses de Septiembre-Octubre y termina en los meses de Mayo-Junio teniendo dos torneos, el primero de Liga y el segundo de Eliminatoria.
Cuando haya finalizado la Liga se hará un sorteo con todos los equipos que han participado en las diferentes categorías a fin de realizar un Torneo de Eliminatoria, este se lo realiza con todos los equipos que participaron en la Liga.
El plazo de entrega del proyecto será hasta el mes de Septiembre, se ingresa al sistema con una clave de acceso que nosotros les proporcionaremos, además el sistema es interno y de fácil uso.
Motivaciones
El club deportivo ha tenido durante largo tiempo el trabajoso sistema de realizar todas las gestiones a mano como manejar una extensa lista de archivadores de jugadores, equipos que juegan, las jornadas que realizan, los resultados, etc. guardados simplemente en carpetas amontonadas llenas de hojas escritas a tinta, por este motivo se ve obligado a cambiar de rudimentaria y solicitar nuestros servicios con el fin de construirle un sistema que lo organice todo automáticamente.
Soluciones
Para esto realizaremos un sistema capaz de llenar las necesidades del cliente el cual tendrá como objetivo el de realizar las competiciones de fútbol tanto de Liga como de Eliminatoria de una manera más fácil, así como también el de llevar un Base de Datos de todos los archivadores que eran en su momento carpetas llenas de papeles.
Teniendo en cuenta los requisitos de diseño, esto es los que nos impone el cliente al hacer la demanda y los requisitos y restricciones que vamos a tener en el transcurso de la realización del proyecto, aspectos importantes que tenemos que manejar como por ejemplo la implementación de un buen equipo Hardware y de un sistema Software que este acorde con las necesidades del usuario.
Análisis de viabilidad
Viabilidad económica
Analizamos el coste de todos los recursos que vamos a implementar para desarrollar el proyecto, para ello necesitamos de personal cualificado y material tanto para el hardware como para el software.
Para facilitar el entendimiento de lo que vamos a hacer, explicaremos en dos partes tanto la parte mecanica (hardware) como la parte tecnica (software) de forma detallada.
Hardware:
Un buen ordenador ha de tener los requisitos minimos para que el proyecto sea compatible y fiable, el ordenador que recomendamos a tener es un Pentium 4.
Software:
Necesitaremos un sistema operativo como windows 98 para la compatibilidad del proyecto y un sistema gestor de base de datos como access para llevar el historial de las competiciones.
Por otro lado necesitaremos un equipo de trabajadores para el desarrollo del proyecto; esto es analistas, programadores personal en general que nos aporten ideas para el trabajo en sí.
con este plan de necesidades y evaluando el coste de cada uno de estos recursos podremos poner en marcha el futuro proyecto.
Viabilidad técnica
Sabiendo sus necesidades ponemos en marcha el estudio de nuestra viabilidad tecnica, sabiendo de antemano que se necesita un sistema de facil uso realizaremos el sistema en un programa de cuarta generación (Visual Basic).
Si en el plazo del tiempo del contrato estimado para el desarrollo del sistema hay algun problema de cualquier tipo nos veremos obligados a prorrogar el tiempo de entrega a fin de garantizar el buen funcionamiento del proyecto.
Viabilidad operativa
El sistema ha construir tendra una serie de renstricciones impuestas por el cliente el cual vamos a analizar para establecer si lo vamos ha poder realizar. El sistema es exclusivamente interno, para ingresar al sistema se tendra una clave de acceso la cual solo las llevará la/s personas responsable de manejar el sistema.
Además debemos tener en cuenta las posibilidades que nos da el software y el hardware que vamos a tener, siendo esto, una parte importante que se complementa al sistema que vamos a realizar.
Sabemos que en el mercado actual existen diferentes sistemas en relación a este programa pero nosotros garantizamos detalles que el cliente nos pide y hacemos de este un sistema unico, dejando el camino abierto para realizar en un futuro proximo y si el cliente lo desea posibles ampliaciones del software.
Viabilidad legal
El sistema esta realizado cumpliendo todas las normativas legales que exige la ley respetando la propiedad intelectual y derechos de autor garantizando la legalidad del producto.
Viabilidad obvia
El producto consta de un software y hardware que se ajusta a todas las necesidades y requisitos minimos que puedan encontrarse, a todo esto recordamos que el sistema tiene una garantia de reparación si se da el caso.
Primera aproximación
Ámbito del Software
Funciones del producto
El Sistema realizará dos torneos, uno de Liga y otro por Eliminatoria.
Se dividen 3 categoría, Primera, segunda y tercera.
En principio de temporada se realizarán las inscripciones de los equipos los cuales se dividen en tres categorías, primera división, segunda A y segunda B, se hace un calendario por cada equipo, los partidos de Liga se realizan cada fin de semana. Se genera el resultado de cada jornada y la fecha de los próximos partidos.
Las competiciones de Liga tienen dos temporadas, ida y vuelta (38 jornadas), con veinte equipos en cada categoría. Se generarán los resultados de cada jornada y el historial (tabla de resultados) además de las estadísticas (partidos jugados, goles, estadísticas por equipo, etc.) Se tendrá la ficha de cada uno de los jugadores, de los partidos que se juegan en cada jornada y de los equipos que compiten. El calendario de las jornadas y la clasificación de todos los equipos.
Cuando tengamos la lista de los equipos por categoría realizaremos una primera vuelta en la cual cada equipo jugará con los demás equipos, es decir, haremos un “todos contra todos” el equipo que gane un partido se le darán tres puntos, cuando empaten tendrán 2 puntos y en caso de perder 1 punto.
La tabla de clasificaciones será por cada jornada teniendo los puntos acumulados por cada equipo, los partidos jugados, partidos ganados, partidos empatados, partidos perdidos, goles a favor y en contra, teniendo como ganador el primer equipo con mayor puntaje.
El resultado de los partidos que se han jugado en la jornada corresponderá en el apartado Resultados, y el total de la lista de todas las jornadas por equipo será en el apartado Tabla de Resultados.
Las estadísticas se las realizara por equipo en donde estará una lista detallada de los jugadores que han participado (minutos jugados, veces titular, veces cambiado, veces suplente, goles, penaltis y tarjetas) y además la estadística tanto de los máximos goleadores de la liga, la cantidad de tarjetas que han recibido y los porteros menos goleados.
El calendario estará compuesto por las fechas que tendrá que jugar cada equipo. En los archivadores tendremos las fichas, tanto de partidos jugados como de los jugadores
El sistema de juego por Eliminatoria se lo hará emparejando a dos equipos cada jornada eliminándose uno de ellos en una única vuelta, el vencedor del partido tendrá que jugar con otro equipo, el ganador del torneo será el que haya ganado todos sus partidos.
Estudio de usuarios
El software a desarrollar lo operará las dos personas encargadas hasta el momento de manejar estos datos manualmente, el software se lo instalará en un solo ordenador la cual cada uno tendrá un horario de turno del manejo del sistema.
Cuando tuvimos la primera entrevista con el cliente este nos recalcó que las personas encargadas de gestionar las competiciones futbolísticas lo hacían completamente a mano y no tenían conocimientos de administración de un ordenador por esta razón nos debemos en la obligación de darle a las personas que van a manejar el software un curso extra de manejo de Windows y Office el cual va a constar de 15 horas de practicas en el ordenador.
Restricciones del proyecto
En este ámbito debemos tener constancia de las restricciones que tendríamos si el sistema a realizar no encajara en diferentes plataformas tanto de hardware como de software.
El hardware debería cumplir los requisitos mínimos esto es ser una Pentium 3 con suficiente memoria de RAM esto es unos 256 MB y suficiente espacio en sus disco duro para almacenar la base de datos que administraremos en el programa, ya que de no cumplirlo tendríamos problemas que nos traerían problemas.
El sistema operativo del ordenador debe ser acorde a la plataforma que esta realizada nuestro software y que este no tenga otro uso exclusivo que requiera mayor demanda de recursos de ordenador.
Suposiciones y Dependencias
El programa del sistema esta hecho a medida que se ajuste a las reglas que en nuestro tema es el fútbol sala, en caso de intentar agregar un jugador demás y no cumplir lo establecido el programa dará un mensaje de error.
Sí llegará a suceder que la Base de Datos del sistema sufriera algún daño ó pérdida de alguna información tendríamos que tener una copia de los archivos por su propia seguridad.
El sistema tendrá que tener un programa Antivirus para la mayor seguridad, esto es de suma importancia ya que un virus informático podría dañar el sistema destruyendo información y pudiendo estropear el ordenador.
Objetivos de Información
Entradas
Tendremos el nombre del representante de cada equipo y su teléfono de contacto.
En el calendario ingresamos ya definidos las jornadas tanto las jugadas como las que quedan por jugarse con las fechas que tendrán y los resultados llenándolos de acuerdo a los resultados que se tengan.
Como entradas tendríamos el ingreso de los datos personales de los doce jugadores es decir:
-
Nombre y apellido
-
Lugar de nacimiento
-
Fecha de nacimiento
-
Posición
-
Dorsal
-
Trayectoria
-
Datos de contacto
En cada jornada tendríamos el ingreso del acta del partido:
-
Categoría
-
Fecha del partido
-
Jornada
-
Nombre del equipo
-
Arbitro
-
Plantilla de jugadores
-
Goles en contra y a favor
-
Dorsal del jugador
-
Faltas
-
Tiempo muerto
-
Tarjetas
-
Expulsiones
En la ficha del equipo agregaremos:
-
El nombre
-
Dirección
-
Pabellón
-
Plantilla de jugadores
-
Entrenador
-
Nombre y teléfono del representante
Además tendremos un modulo para el control del Campeonato, el cual ingresaremos el resultado de los partidos que cada equipo ha tenido.
Salidas
El apartado Resultados será el conjunto de los resultados que han tenido todos los equipos en la jornada correspondiente:
-
Fecha del partido
-
Equipos
-
Resultado (goles)
-
Nombre de jugador que haya marcado el gol
Asimismo la Tabla de Resultados será los resultados de todos los partidos que cada equipo ha tenido en todas las jornadas que se juegan en la Liga.
El resultado de las fechas que cada equipo jugará en las jornadas marcadas tanto para el campeonato de Liga como del Campeonato será en el apartado Calendario, teniendo ya definido con que equipo jugará con quien así como de los resultados conforme se vayan jugando, de igual manera habrá un calendario por equipos.
En las estadísticas tendremos los resultados tanto de los mayores goleadores como de los menos goleados de la liga, los jugadores que han acumulado mayor número de tarjetas.
Las estadísticas también se podrán ver por equipos:
-
Nombre del jugador
-
Veces titular
-
Veces cambiado
-
Veces suplente
-
Goles
-
Penalti
-
Tarjeta (amarilla, roja, azul)
El apartado de clasificación será el resultado de:
-
Puntos (P)
-
Partidos ganados (PG)
-
Partidos perdidos (PP)
-
Partidos empatados (PE)
-
Goles a favor (GF)
-
Goles en contra (GC)
-
Goles de penalti (GP)
-
Tarjetas (TA) (TR) (TZ)
-
Expulsiones
-
Cambios
Para el Campeonato tendremos el resultado del equipo que se vaya clasificando y los que se van eliminando, también las estadísticas existentes como se realiza en la Liga.
Todos los resultados que tengamos serán guardados en la Base de Datos que tengamos y además imprimidos.
Funciones y Rendimiento
Como se transforma Entrada/s en Salidas
En este apartado obtendremos en detalle el como se llevará acabo cada una de los datos de Entrada el cual lo detallamos continuación.
Tendremos el nombre del representante de cada equipo y su teléfono de contacto.
El nombre del representante se lo ingresará en un apartado de información de contacto para esto pediremos al inicio de la inscripción el nombre y el teléfono de localización del responsable esto servirá para tener una relación entre el equipo y las diversas comunicaciones que se tendrán a lo largo de la liga y del campeonato.
Dificultades
Las problemas vendrán al no tener ningún dato de alguno de los representantes, ya que esto trataría de que la Base de Datos tendría huecos vacíos de información que para nuestro cliente es de importancia.
Rendimiento
Estos datos a tratar serán necesarios para tener en contacto de todos los acontecimientos que se realizaran a lo largo del campeonato al equipo en cuestión
En cada jornada tendríamos el ingreso del acta del partido
Estos resultados que ingresaremos por jornada se transformaran en datos de recolección para realizar los apartados de Resultados, el cual contendrá el resultado de cada partido, la fecha de realización y el ganador que será el que mas goles haya tenido. Además este resultado será acumulado en una Tabla de Resultados que contendrá los resultados globales que cada equipo ha tenido en la liga introduciendo datos cada vez que se haya jugado una jornada.
Asimismo con cada resultado tendremos que actualizar el apartado Estadísticas el cual al finalizar cada jornada se tendrá que reconstruir sus datos, esto se hará consecutivamente se vayan realizando las jornadas.
La Tabla de Clasificación también tendrá que actualizarse, teniendo en este modulo el esquema completo de los puntos que los equipos han acumulado hasta el momento, este tendrá que renovarse cada vez que se realice una jornada, también es el cual tendrá que tenerse en cuenta al finalizar la Liga.
Dificultades
Tendremos en cuenta que las operaciones se hagan deacuerdo a los resultados que vayan teniendo cada equipo, los resultados de los partidos deberán de ingresarse por la persona encargada. Tendremos que tener un buen programa el cual nos vaya calculando estos datos y se vayan modificando conforme se vayan ingresando al sistema de no ser así tendríamos problemas en tener una información no anhelada.
Rendimiento
Será de ayuda el tener en cada partido que se juegue un Acta del Partido el cual contendrá todos estos datos requeridos y estos serán ingresados por el usuario encargado.
En el calendario ingresamos ya definidos las jornadas tanto las jugadas como las que quedan por jugarse con las fechas que tendrán y los resultados llenándolos deacuerdo a los resultados que se tengan.
Cuando tengamos ingresados todos los equipos que jugarán la Liga el sistema calculará automáticamente la fecha que se jugará cada jornada, esto es contando cada 7 días de manera que un equipo vaya jugando con todos los demás que conforman la liga, esto es un todos contra todos, cada equipo juega dos veces con un mismo equipo esto se calculará en dos etapas, la liga de ida y la de vuelta, cuando tengamos todos los resultados (los goles marcados) de los partidos de esa jornada tendremos rellenados esa jornada, así se hará consecutivamente conforme se vayan realizando cada jornada, asimismo tendremos definido el calendario por equipos que serán las jornadas que han jugado, con quien lo han hecho, la fecha del partido y el resultado.
Dificultades
El problema se tendrá a que el programa haga una concordancia exacta de que cada equipo vaya jugando con todos y que las fechas estén al margen de la fecha indicada por el usuario.
Rendimiento
El campeonato de Liga tendrá que hacerse teniéndose en cuenta que en un año se tendrá que jugar tanto la Liga como el de Campeonato, el programa se ajustará ateniéndose a estas reglas impuestas por el cliente.
Como entradas tendríamos el ingreso de los datos personales de los doce jugadores es decir:
-
Nombre y apellido
-
Lugar de nacimiento
-
Fecha de nacimiento
-
Posición
-
Dorsal
-
Trayectoria
-
Datos de contacto
Estos datos serán ingresados a manera de un formulario, teniéndolo organizado por equipo los doce jugadores que están inscritos, sus datos personales, cada jugador estará identificado con un numero de único, los informes serán guardados en una base de datos.
Dificultades
El no tener el suficiente espacio en disco para tener almacenada gran cantidad de datos de cada uno de los jugadores, también el no tener información de algún jugador teniendo un hueco de información relevante, asimismo estos datos serán renovados constantemente en caso que se lo solicite.
Rendimiento
El número de jugadores que cada equipo tendrá será un total de doce, pudiendo haber un error al querer ingresar un jugador numero trece, lo que el sistema detectará estos casos de anomalías del ingreso de alguna información que no requiramos.
En la ficha del equipo agregaremos:
-
El nombre
-
Dirección
-
Pabellón
-
Plantilla de jugadores
-
Entrenador
Cada equipo será registrado en nuestro sistema conforme vayan inscribiéndose, teniendo los datos relevantes de cada uno de ellos, estos datos serán almacenados en la base de datos del programa para mayor conocimiento de los diferentes equipos que juegan la liga y el campeonato y siendo renovados cuando se lo requiera.
Dificultades
Los datos serán modificados cuando se lo requiera, para ello tendremos un menú de los casos que tengamos, dar de alta un nuevo equipo, eliminar, ingresar datos nuevos, etc. Asimismo este tendrá una relación con los datos de los jugadores.
Rendimiento
Cada equipo que quiera participar será ingresado para que pueda participar en las competiciones, para esto necesitaremos de una cantidad de espacio en la base de datos.
Además tendremos un modulo para el control del Campeonato, el cual ingresaremos el resultado de los partidos que cada equipo ha tenido.
Esta parte tendrá lugar al finalizar el campeonato de liga, donde haremos un sorteo con todos los equipos de todas las categorías que tengamos, todos estos equipos estarán capacitados para ganar el campeonato, estos jugarán todos contra todos, jugándose solo una sola vez dos mismos equipos, el equipo que gane automáticamente tendrá que jugar con otro ganador de una jornada, los equipos se irán descartando conforme vayan perdiendo. Asimismo estos datos estarán almacenados en la base de datos.
Dificultades
La parte de peligro será al tener muchos equipos inscritos y tener controlado la clasificación en cada jornada además del tiempo que requeriremos y poder completar la liga de campeones en los meses que el usuario solicita.
Rendimiento
El campeonato se lo efectuará cuando hayamos acabado la liga, ajustándose a los meses restantes que nos ha solicitado para la realización de los dos campeonatos.
Todos estos resultados serán guardados en la base de datos del sistema y además serán impresos conforme a cada jornada realizada.
Descomposición del problema
Módulos
-
Gestión de impresión
-
Gestión de equipos y jugadores
-
Gestión de resultados
-
Mostrar resultados
Gestión de Impresión
En este modulo tendremos el proceso de todos los datos que vamos ha imprimir, estos son las estadísticas, los resultados, la tabla de resultados, clasificación, la próxima jornada. Además tendremos una comunicación con la base de datos que nos facilitarán los últimos resultados que se tienen almacenados.
Gestión de Equipos y Jugadores
En este apartado tendremos la tarea de generar datos de los equipos así como los del jugador, cada modificación se almacenará en la base de datos además pasaremos instrucciones de imprimir datos.
Gestión de Resultados
En este proceso se generarán toda la información de la Liga, esto es, el calendario, los equipos, el resultado, las estadísticas y la clasificación. Estos datos tendrán una vinculación directa con la base de datos. También se hará se tendrá en cuenta en ingreso de los datos que el administrador los facilita y su forma de acceso al sistema.
Mostrar Resultados
Por ultimo tendremos un modulo el cual procese los resultados de los partidos de cada jornada y los transforme en datos específicos que serán llevados directamente a la base de datos y mostrado por pantalla.
Interfaces
Gestión de Ingreso estará vinculado con los datos que le pase el usuario como parámetros, esto será tipo de división, una clave de acceso, jornada, datos de equipos, etc. Este a su vez enviará resultados a Mostrar Resultados como tipo de liga escogida, División, jornada jugada, además dará mensajes de error al exterior cuando haya anomalías. De igual manera pasará nuevos datos de equipo y jugador a Gestión de equipos/jugadores.
Mostrar Resultado le será enviado de Gestión de Ingreso los datos de la liga para organizar los datos y comprobarlos, también de Gestión de impresión le será enviado mostrar equipos, este estará unido con dos almacenes y devolverá resultados por pantalla esto es Calendario, Equipos, Resultado, Tabla de resultados, Estadísticas, Clasificación y le será enviado datos de la nueva jornada a Gestión de impresión.
Por otro lado Gestión de Ingreso le enviará datos de los nuevos equipos y jugadores a Gestión de de jugadores/equipos, este tendrá que comparar los datos que tiene hasta el momento verificarlos y compararlos, si no hay error estos datos son enviados a imprimir datos y la lista de equipos con sus jugadores a Mostrar resultados.
Por ultimo, Gestión de Impresión será un lazo entre el almacén donde Mostrar resultado guarda los últimos resultados y donde Gestión de impresión las recoge para generar un listado de todas ellas e imprimirlas, asimismo Gestión de jugadores le dará los datos de todos los equipos y jugadores que hay hasta el momento.
Diagrama de Módulos
LIGA DIVISION 1 DIVISION 2 DIVISION 3 | DIVISION EQUIPOS RESULTADOS TABLA RESULTADOS ESTADISTICAS CALENDARIO CLASIFICACION | EQUIPOS LISTA EQUIPOS NOMBRE DIRECCION PABELLON PLANTILA JUG ENTRENADOR NOM Y TELF REPRESENTANTE | RESULTADOS JORNADAS FECHA PARTIDO EQ_JUGARON RESUL_(GOLES) JUGADOR QUE MARCÓ | PLANTILLA JUG NOMBRE APELLIDO LUGAR NAC. POSICION DORSAL DATOS CONTACTO |
TABLA RESULTADOS LISTA EQUIPOS LISTA RESULTADOS | ESTADISTICAS MAYORES GOLEADORES PORTEROS GOLEADOS POR EQUIPOS | POR EQUIPOS NOM_JUGADOR VECES TITULAR V. CAMBIADO V. SUPLENTE GOLES PENALTI TARJETAS ACUMULADAS | CALENDARIO PRIMERA VUELTA SEGUNDA VUELTA POR EQUIPOS JORNADAS | PRIMERA VUELTA JORNADA FECHA LISTA EQUIPOS LISTA RESULTADOS |
JORNADAS RESULTADOS CATEGORIA JORNADA NOMBRE EQUIPO ARBITRO JUGADORES GOLES DORSAL JUG FALTAS TIEMPO MUERTO TARJETAS EXPULSIONES | CAL _ EQUIPOS JORNADA FECHA NOM_EQUIPO CONTRARIO GOLES | CLASIFICACION GENERAL CASA FUERA PUNTOS P.GANADOS P.PERDIDOS P.EMPATADOS GOLES FAVOR G. EN CONTRA G. PENALTI TARJETAS EXPULSIONES | EQUIPOS JUGADORES INGRESAR NUEVO MODIFICAR ELIMINAR MOSTRAR TODOS | JUGADORES INGRESAR NUEVO MODIFICAR ELIMINAR MOSTRAR PLANTILLA |
Comunicación con el cliente
Plan de comunicación
Lo primero que detectamos cuando el cliente dio a conocer su petición fue que en la realidad no teníamos idea de lo que íbamos a realizar, así que tuvimos que realizar una primera entrevista con nuestro cliente para conocer a fondo de las necesidades que el sistema va a tener. Esto era como ellos hacían las competiciones de Fútbol Sala, que tipos de datos manejaban que se debe hacer y que cosas son las más relevantes que deben tenerse en cuenta.
Teniendo la primera entrevista con el cliente y sabiendo sus necesidades hicimos un análisis mas detallado de los requisitos que va tener el sistema, en cuanto nos percatamos de algunos detalles que no nos quedaron claros decidimos hacer una segunda entrevista.
Cada vez que teníamos dudas tuvimos que realizar entrevistas o simplemente comentarios a lo largo de nuestro análisis del sistema, preguntas relevantes que nos serían de refuerzo para tener con precisión lo que el cliente nos pide.
Planificación
Paradigma
Para llevar acabo nuestro sistema tenemos que escoger el tipo de modelo que vamos a seguir teniendo en cuenta las necesidades y los riesgos que tenemos, detallaremos lo positivo y lo negativo que cada uno de estos nos conlleva, así lo especificamos a continuación:
Ciclo de vida clásico
Positivo
Como es un proyecto orientado a Software de Gestión este modelo nos vendría bien ya que es sencillo y fácil de seguir.
Tenemos el tiempo adecuado para tener una conversación con el cliente ya que como es un sistema en principio no difícil de desarrollar no necesitaremos en un primer momento tener a nuestro cliente en constante comunicación, solo en caso que este lo requiera.
Tenemos una idea de lo que nuestro cliente nos solicita, esto es la organización de sus competiciones futbolísticas, no es algo que requiera la necesidad de nuevos equipos y de grandes valoraciones técnicas.
Negativo
Habrá una posibilidad de que cuando el software este totalmente acabado no sea lo que el usuario hubiera preferido
Prototipo
Positivo
En un primer momento realizaríamos un modelo deacuerdo a las necesidades de nuestro cliente, conforme vayamos teniendo la idea total de lo que queremos lo modificaremos hasta que el tipo de prototipo sea el que mas se ajuste a las necesidades que el usuario nos pide.
Negativo
No tenemos la necesidad de realizar diseños continuos del sistema porque al final sería desaprovechar el tiempo también porque el cliente pensaría que el proyecto esta acabado temiéndose los errores que este conllevaría al no tenerse en cuenta los mínimos errores del sistema.
Modelo Espiral
Positivo
Tenemos gran comunicación con el cliente quien va valorando los resultados que se vayan teniendo.
Negativo
Este modelo no vendría bien en un primer momento en el desarrollo de este programa ya que se toman demasiado los riesgos de un sistema nuevo, el sistema que vamos a implementar va a ser un nuevo sistema en el club deportivo pero trata de un software de gestión, ser sabe que en el mercado actual existen modelos parecidos y tenemos una idea de cómo hacerlo.
Técnicas de Cuarta Generación
Positivo
Como requerimos guardar gran cantidad de información en una base de datos, este método nos hará el proceso más fácil y generamos informes constantemente, esto seria los resultados que tienen los equipos cada jornada.
Ciclo de vida sencillo ideal para Software de gestión el cual es el que estamos desarrollando ya que suponemos que los riesgos son los mínimos.
Negativo
Debemos revisar el código que se esta generando así como la documentación ya que puede no ser lo correcto y acorde con la especificación que necesitamos.
Teniendo en cuenta los aspectos positivos y negativos de cada modelo a seguir en el desarrollo de nuestro proyecto, nosotros nos inclinamos a la implementación teniendo como paradigma las Técnicas de Cuarta Generación.
Organización de Personal
Para la elección de cómo vamos a llevar a cabo la estructuración del personal que va ha trabajar en el proyecto tuvimos que ver los factores que vamos a tener en cuenta.
La dificultad del proyecto esta en hacer los cálculos para la selección del calendario, ir sumando y actualizando los datos del sistema cada ves que se vaya realizando una jornada, medir el tiempo adecuado para que las competiciones se realicen en la fecha determinada.
El proyecto es en proporción mediano algo que se ajusta a lo normal, la duración que el equipo de trabajo estará junto es acorde tengamos la necesidad de intercambiar comunicación, en sí no tendremos la necesidad de reunirnos constantemente.
El proyecto tendrá una estructuración bien definida en la cual habrá datos que estén relacionados los unos a los otros, la fecha de entrega del proyecto es estrictamente dada por el cliente y la comunicación entre el personal será lo suficientemente adeudado para formar un equipo.
De acuerdo a todo esto nosotros nos inclinamos a la estructuración de un equipo Centralizado Controlado lo definiremos en un grupo de cuatro personas, un jefe predefinido que será el gestor técnico (Analista) y tres profesionales (Desarrolladores técnicos) que serán los encargados en conjunto del desarrollo del Software.
Coordinación y Comunicación
En nuestro proyecto vamos a utilizar una comunicación de Red Interpersonal, la cual cada cierto tiempo tendremos la necesidad de discutir y analizar problemas concretos a lo largo del desarrollo de análisis del Software, no tendremos reuniones estrictas porque el caso no lo requiere, las comunicaciones se harán con el equipo de desarrolladores y con el cliente por la necesidad de conocer a fondo sus peticiones, así mismo habrá comunicación electrónica cuando el caso lo requiera.
Análisis estructurado
Diagrama de flujos de datos
-
Nivel contextual
-
Diagrama de primer nivel
-
Diagrama de segundo nivel
DICCIONARIO DE DATOS
Jornada = 1{fecha} m + {equipos} + [goles]
Tipo división = [Primera div | segunda div | tercera div]
Clave acceso = {numero + letras}
Ingreso _ actas = categoría + jornada + nombre _ equipo + arbitro + jugadores + goles + dorsal + faltas + tiempo muerto + tarjetas + expulsiones
Datos _ jugadores = @DNI + nombre + apellido + f. nacimiento + posición + dorsal + datos contacto
División = equipos + resultados + tabla resultados + estadísticas + calendario + clasificación
Opción = [liga | campeonato]
Calendario = [Primera div | segunda div | tercera div] + jornada + lista_equipos + lista resultados
Errores =
Equipos = {@nombre + dirección + pabellón + 1{plantilla _ jugadores}2 + entrenador + dato representante
Resultado = 1{jornadas}n + fecha + equipos + goles + nombre _ jugador
Tabla resultado = 1{equipos}n + goles
Estadísticas = [TOP 10 | por equipos]
Clasificación = 1{equipos}n + puntos + partidos ganados + p. perdidos + p. empatados + g. favor + g. contra + g. penalti + 1{tarjeta}1 + expulsiones
Próxima _ jornada = fecha + 1{equipos}n
Jugadores = 1{datos jugadores} 2 **12 jugadores como máximo**
Ultimo _ resultado = jornada + fecha + equipos + goles + nombre _ jugador
Ultimo _ equipo = nombre _ equipo
Ultimo _ jugador = datos _ jugador
Fecha = 1{día + @mes + @año}n
Día = [l | m | x | j | v | s | d]
Mes = 2{meses}2 **valor mínimo 1, valor máx. 12**
Años = 1{año}n
Año = [E | F | M | A | MY | J | JL |A | S | O | N | D]
Goles = 0{numero}n ** valor mínimo 0, valor máx. n **
Nombre _ equipo = string
Letras = string
Top_10 = 1{mayores goleadores}2 + 1{porteros goleados} + 1{n. tarjetas} **1 hasta 10**
Por equipos = 1{nombre _ jugador} + veces titular + veces cambiado + veces suplente + goles + penalti + tarjetas acumuladas}2 ** 12 jugadores**
Veces titular = 1{numero}n
Veces cambiado = 1{numero}n
Veces suplente = 1{numero}n
Penalti = 1{numero}n
Tarjetas acumuladas = 1{numero}n
Primera div = string; Segunda div = string; Tercera div = string
Categoría = tipo _ división; Arbitro = nombre; Nombre = string
Dorsal jugador = 1{numero}2; Falta = palabras
Tiempo muerto = horas + minuto; Horas = 2{hora}2; minuto = 2{minuto}2
Tarjetas = [amarillo | azul | rojo]
Amarillo = string; Azul = string; Rojo = string
Expulsiones = {jugador expulsado}; Jugador _ expulsado = nombre _ jugador
Nombre _ jugador = nombre; Nombre = string; Apellido = string; f. nacimiento = string
Posición = string; dorsal = dorsal _ jugador
Datos _ contactos = teléfono; teléfono = {números}; liga = palabra
Campeonato = palabra; lista _ equipos = equipos; lista _ resultados = {goles}
Puntos = 1{números}n; partidos ganados = 1{números}n; p.perdidos = 1{números}n
p. empatados = 1{números}n; g. favor = 1{números}n; g. contra = 1{números}n
g. penalti = 1{números}n; resultado_partido = resultado
Tipo _ liga = opción _ liga; División = tipo _ división; Jornada _ jugada = jornada
Nuevo _ equipo = equipo; Nuevo _ jugador = datos _ jugadores
Mostrar equipos = lista _ equipos; Nuevas modificaciones = {equipos + jugadores}
Modificaciones = equipo _ modificado + jugador _ modificado; Nueva jornada = jornada
Imprimir datos = string; Dirección = string; Pabellón = string
Plantilla _ jugadores = 1{jugadores}; Entrenador = nombre _ entrenador
Dato representante = nombre + teléfono; Imprimir = primitive
Nombre _ entrenador = string; Listados = 1{división}n; teléfono = números
Miniespecificaciones
Gestión de Ingreso 0.1
Datos locales
Liga como categoría
División _ escogida como string
Opción como opción
Jornada anterior como fecha
Nombre _ equipo, árbitro, jugadores, goles, dorsal jugador, faltas como string
Tiempo muerto, tarjetas, expulsiones como string
Nombre, dirección, pabellón, entrenador, representante como string
Inicio
LEER tipo divisiones DE usuario
LEER ingreso actas DE usuario
LEER clave acceso DE usuario
LEER jornada DE usuario
LEER datos jugadores DE usuario
LEER datos equipos DE usuario
LEER opción liga DE usuario
SI clave acceso = incorrecta
Escribir error en pantalla
Fin si
Si opción liga = liga
Escribir tipo _ liga en mostrar resultado
Escoger tipo _ división
Descomponer tipo _ división en división 1, division2, division3
Escribir división _ escogida en mostrar resultados
Si opción = ingresar acata
Si jornada <> jornada anterior
Descomponer ingreso _ acta en
Nombre _ equipo, árbitro, jugadores, goles, dorsal jugador, faltas
Tiempo muerto, tarjetas, expulsiones
Asignar descomposición ingreso _ acta a resultados
Escribir resultado en mostrar resultado
Sino
Escribir error en pantalla
Fin si
Si opción = datos equipos
Descomponer datos equipos en
Nombre, dirección, pabellón, entrenador, representante
Si existe nombre
Escribir error
Sino
Escribir nuevo equipo en gestión de equipos
Fin si
Si opción = datos jugadores
Descomponer datos jugadores en
Nombres, L.nacimiento, posición, dorsal, datos contacto
Si existe datos jugador en otro equipo
Escribir error en pantalla
Sino
Escribir nuevo jugador en gestión de equipos
Mostrar resultado 0.2
Datos locales
Resultado, t. resultado, estadísticas, calendario, clasificación como módulos
Jornada como jornada
Fecha como fecha
Equipos como string
Inicio
Leer resultado de gestión de ingreso
Leer tipo _ liga de gestión de ingreso
Leer división de gestión de ingreso
Leer jornada jugada de gestión de ingreso
Leer último resultado de campeonato
Leer resultado de liga
Leer resultado de gestión de equipos
Escribir tipo _ liga en pantalla
Mientras tipo _ liga sea la misma
Escribir división en pantalla
Abrir último resultado
Comparar resultado con último resultado
Si son diferentes
Escribir resultado a campeonato
Escribir resultado en pantalla
Sino
Escribir error en pantalla
Fin si
Cerrar último resultado
Resultado = resultado, t. resultado, estadísticas, calendario, clasificación
Asignar resultado a cada categoría
Escribir t.resultado en pantalla
Escribir estadísticas en pantalla
Escribir clasificación en pantalla
Fin mientras
Asignar a cada equipo una división
Asignar a equipo un partido por jornada
Calendario = jornada, fecha, equipos
Modificar calendario con jornada jugada
Escribir calendario en pantalla
Escribir equipos en pantalla
Fin
Gestión equipos/ jugadores 0.3
Datos locales
Plantilla _ jugadores como modulo
Ultimo _ jugador como string
Modificaciones como modificaciones
Opción como opción
Eliminar como opción
Modificar como opción
Datos _ nuevos como datos nuevos
Imprimir como señal de impresión
Jugador como string
Inicio
Leer equipo de ligas
Leer jugadores de ligas
Leer nuevo _ equipo de gestión de ingreso
Leer nuevo _ equipo de gestión de ingreso
Leer modificaciones de equipos _ jugadores
Comparar nuevo equipo con equipo
Si son iguales
Escribir error en pantalla
Sino
Escribir último _ equipo en ligas
Escribir nuevas modificaciones en equipos/jugadores
Fin si
Descomponer equipo en plantiílla jugadores
Mientras jugador sea <= 12
Comparar si jugador es igual a nuevo jugador
Escribir error en pantalla
Sino
Escribir nuevas modificaciones en equipos/jugadores
Escribir último _ jugador en ligas
Fin si
Fin mientras
Mostrar opción
Si opción es modificar jugador
Escribir datos nuevos en nuevas modificaciones
Fin si
Si opción es eliminar
Buscar y eliminar jugador
Escribir datos _ nuevos en modificaciones
Fin si
Si opción es mostrar _ equipos
Escribir y mostrar equipos en mostrar resultados
Fin si
Recolectar todos los datos _ nuevos
Datos _ nuevos = gestión de impresión
Escribir imprimir datos en gestión de impresión
Gestión de impresión 0.4
Datos locales
Clasificación, próxima _ jornada, estadísticas, tabla _ resultado, resultados como módulos
Plantilla jugador como lista de string
Lista _ equipos como lista _ equipos
Inicio
Leer nueva _ jornada de mostrar resultado
Leer resultado de mostrar resultado
Leer ultimo _ resultado de mostrar resultado
Leer imprimir _ datos de mostrar resultado
Listar resultado, ultimo resultado en
Clasificación, próxima _ jornada, estadísticas, tabla _ resultado, resultados
Comprobar resultado con nueva jornada
Si son correctos
Escribir próxima _ jornada en impresora
Escribir clasificación en impresora
Escribir tabla _ resultado en impresora
Escribir resultados en impresora
Escribir estadísticas en impresora
Sino
Escribir error en pantalla
Fin si
Listar imprimir _ datos y descomponer en plantilla jugador, lista equipos
Escribir plantilla _ jugador en impresora
Escribir lista _ equipos en impresora
Diagrama de transición de estados DTE
Diagrama de entidad relación
Equipo NIF Nombre Dirección Pabellón Entrenador Nombre y Telf. Rep. | Clasificación Id_clasif Puntos Partidos Ganados P.E; G.F; G.C; G.P Tarjetas Expulsiones | Resultado Id_resultado Arbitro Goles Faltas Tiempo muerto | Jugadores DNI Nombre_ap Lugar Nac. Posición Dorsal Datos Contacto |
Liga Nombre | Campeonato Nombre_c | Calendario Calendario | Genera Veces suplente Veces titular Veces cambiado |
Estadísticas Id _ estadística Tarjetas Mayores Goleados Porteros _ goleados | Jornada Ida Vuelta | Fecha Año Mes Día | Competición Número |
Diseño de los juegos de pruebas
Después de haber culminado el software de aplicación comenzamos con el arduo trabajo de realizar las respectivas pruebas que esta conlleva, esto es no solo comparar el programa con la especificación, sino también el código del sistema así como su contorno grafico, al final llegamos a detectar varios pequeños errores en todo el sistema, pero en casi su totalidad el programa funciona debidamente y acorde con los requisitos de nuestro cliente. En resumen este programa tiene una cobertura funcional del cien por ciento.
Apéndice
Formulación de preguntas para la recolección de requisitos del sistema.
Primera entrevista
¿Que tipo de persona va a utilizar el sistema?
¿Hasta el momento que lo organizaban a mano, que aspectos son los mas relevantes que se tienen en cuenta?
¿Como organizan una competencia?
¿Que es lo que principalmente debería llevar el sistema?
¿Que restricciones tendrá el sistema?
¿Como realizan las inscripciones de los clubes que quieren participar?
¿Algún aspecto que quiera recalcar o aportar al sistema?
Segunda entrevista
¿Que resultados son los que se van a estudiar cada semana?
¿Qué llevará el apartado de clasificación?
¿Qué se tendrá en cuenta en el apartado estadísticas?
¿Qué puntos se tiene en la ficha del partido?
¿Qué se necesita saber de cada jugador?
Requisitos Específicos
Requisitos funcionales
Introducción
-
Organizar competición de Liga y Organizar Torneo por eliminatoria
Entrada
Introducir tipo de liga
Proceso
Verificar si es la correcta
Salida
Mostrar todos los módulos de liga escogida
-
Generar un calendario de juego, generar resultados de cada jornada, generar calendario de próximas jornadas, generar Acta de cada partido
Entrada
Introducir tipo de división, actas de cada partido y jornada
Proceso
Descomponer tipo de división escogida, descomponer acta de partido y verificar jornadas, en calendario calcular la fecha de cada partido haciendo que todos los jugadores jueguen contra todos.
Salida
Mostrar calendario, resultado, tabla de resultado, estadísticas, clasificación
-
Todos los equipos de todas las categorías de Liga entran en el sorteo para jugar el Torneo, hacer un sorteo para la clasificación de Torneo.
Entrada
Lista de todos los equipos que jugaron la liga y fechas disponibles.
Proceso
Realizar automáticamente el sorteo haciendo que cada equipo juegue con uno opuesto en una fecha determinada.
Salida
Calendario para el próximo torneo
-
Se juega un partido por jornada, el que gana el partido juega con otro equipo.
Entrada
Nueva jornada jugada
Proceso
Eliminar del torneo al equipo que haya tenido como resultado menos goles.
Salida
Mostrar nueva jornada
-
Numero de teléfono de cada representante de equipo, datos personales del jugador
Entrada
Ingresar datos de equipo y jugador
Proceso
Verificar si no existe nombre de equipo y comprobar que jugador no juega en otra plantilla de equipo y que no sobrepasan de los 12 jugadores.
Salida
Nuevos datos de jugador y equipo.
-
El equipo ganador de Liga es el primero que acumule mas puntos, el equipo ganador por eliminatoria será el que halla ganado todos sus partidos.
Entrada
Ingreso de actas cada por jornada
Proceso
Acumular puntos en tabla de clasificación asignándole puntos deacuerdo al resultado del partido a cada equipo.
Salida
El jugador con más puntos es el ganador.
-
Cada equipo juega con 4 jugadores y 1 portero, un equipo tiene un máximo de 12 jugadores
Entrada
Ingresar lista de jugadores que han jugado en los partidos y la plantilla de jugadores de los equipos.
Proceso
Verificar que son cinco en total los jugadores que han jugado en el partido asimismo comprobar que hay un mínimo de doce jugadores por equipos.
Salida
Mensaje de error en caso contrario
Requisitos no Referenciales
Requisitos de Interficies Externas
-
Resultados
-
Historial
-
Estadísticas
-
Archivadores
-
Ficha de los jugadores
-
Calendario
-
Clasificación
-
Acta del partido (Ficha del partido)
Rendimiento Estático
-
Se realizan 3 categorías
-
Tendrá una clave de acceso al sistema
-
Programa interno
-
Liga de 38 jornadas
-
Se juega la Liga y posteriormente un Torneo de eliminatoria
-
En el Torneo de eliminatoria se juega solo un partido con el mismo equipo
-
El que pierde se le da 1 punto
-
Registro de tarjetas acumuladas
Amarillas ==> 2 tarjetas
Azules ==> 5 minutos de tiempo muerto
Roja ==> expulsión del jugador
-
El torneo de eliminatoria se lo hace por parejas
-
El que gana el partido se le dará 3 puntos, El que empata se le dará 2 puntos, El que pierda se le dará 1 punto
-
Los torneos se juegan en un año
Rendimiento Dinámico
-
Imprimir listados en menos de un minuto
Requisitos de Diseño
-
Guardar Historiales
-
Guardar Archivadores
-
Almacenar Actas de jugadores y Equipos
-
Terminar el proyecto en Septiembre
Otros
-
Los torneos se juegan en un año
-
Objetivos de Diseño
-
Fácil de usar
-
Que sea un programa interno
Índice
Documento Análisis del Proyecto
Descargar
Enviado por: | Leches Attacks |
Idioma: | castellano |
País: | España |