Story Transcript
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 1
(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 2
Á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 3
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 4
• 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:
5
• 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 6
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 7
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. 8
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. 9
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 EQUIPOS DIVISION LISTA EQUIPOS
RESULTADOS
NOMBRE
JORNADAS
DIRECCION
FECHA PARTIDO
TABLA RESULTADOS
PABELLON
EQ_JUGARON
ESTADISTICAS
PLANTILA JUG
RESUL_(GOLES)
CALENDARIO
ENTRENADOR
JUGADOR QUE MARCÓ
CLASIFICACION
NOM Y TELF REPRESENTANTE POR EQUIPOS
EQUIPOS LIGA DIVISION 1 DIVISION 2 DIVISION 3
RESULTADOS
NOM_JUGADOR ESTADISTICAS TABLA RESULTADOS
MAYORES GOLEADORES
LISTA EQUIPOS LISTA RESULTADOS
PORTEROS GOLEADOS POR EQUIPOS
VECES TITULAR V. CAMBIADO V. SUPLENTE GOLES PENALTI TARJETAS ACUMULADAS CLASIFICACION
CALENDARIO PRIMERA VUELTA SEGUNDA VUELTA
PLANTILLA JUG NOMBRE APELLIDO LUGAR NAC. POSICION DORSAL DATOS CONTACTO
PRIMERA VUELTA JORNADA FECHA LISTA EQUIPOS
POR EQUIPOS JORNADAS
LISTA RESULTADOS
EQUIPOS
JUGADORES INGRESAR NUEVO
JORNADAS
CAL _ EQUIPOS
RESULTADOS
JORNADA FECHA GENERAL
JUGADORES
CATEGORIA
NOM_EQUIPO CONTRARIO
INGRESAR NUEVO
MODIFICAR
MODIFICAR
ELIMINAR
ELIMINAR
MOSTRAR PLANTILLA
JORNADA
CASA FUERA
GOLES NOMBRE EQUIPO
PUNTOS P.GANADOS
ARBITRO
MOSTRAR TODOS P.PERDIDOS
JUGADORES 10
GOLES
P.EMPATADOS
DORSAL JUG
GOLES FAVOR
FALTAS
G. EN CONTRA
TIEMPO MUERTO
G. PENALTI TARJETAS
TARJETAS EXPULSIONES EXPULSIONES 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. 11
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 12
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
13
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 14
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**
15
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
16
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
17
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
18
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
19
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
20
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
21
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
22
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
23
Equipo
Clasificación
Resultado
Jugadores
NIF
Id_clasif
Id_resultado
DNI 24
Nombre
Puntos
Arbitro
Nombre_ap
Dirección
Partidos Ganados
Goles
Lugar Nac.
Pabellón
P.E; G.F; G.C; G.P
Faltas
Posición
Entrenador
Tarjetas
Tiempo muerto
Dorsal
Nombre y Telf. Rep.
Expulsiones
Liga
Campeonato
Calendario
Veces suplente
Nombre
Nombre_c
Calendario
Veces titular
Datos Contacto Genera
Veces cambiado Estadísticas Fecha Id _ estadística
Jornada
Tarjetas
Ida
Mayores Goleados
Año
Competición
Mes
Número
Vuelta Día
Porteros _ goleados 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? 25
• ¿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. 26
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 27
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
28
• 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
29