Alguien me podria ayudar con estos requisitos de esta aplicaion

Iniciado por dorsan, 15 Diciembre 2015, 16:33 PM

0 Miembros y 1 Visitante están viendo este tema.

dorsan

En esta ocasión se requiere construir un juez para maratones de programación:

En las competencias de programación se reunen grupos de estudiantes para poner a prueba sus habilidades y conocimientos en algoritmos y programación. Un Juez es un sistema que permite la creación y la puesta en marcha de una maraton.

Background

En una competencia de programación varios equipos compiten solucionando la mayor cantidad de problemas de un conjunto de problemas dados. El reto para este proyecto es lograr construir una interfaz de configuración para competencias de programación.

Una maratón consta de un listado de equipos y de problemas, además de la fecha y hora del inicio de la maratón, la fecha y hora de la finalización de la maratón, la fecha y hora del congelamiento del scoreboard y un listado de lenguajes de programación aceptados.

Los equipos están conformados generalmente por tres personas las cuales pertenecen a la misma universidad, usualmente se da el caso de equipos que no cuentan con los tres integrantes por lo cual el sistema debe permitir esta situación. De un equipo es importante contar con la información de los participantes como nombres, apellidos, documento de identificación,
universidad a la que pertenecen, correo electrónico personal, correo electrónico institucional y fecha de nacimiento.

Un problema consta de un título, un enunciado el cual puede ser un archivo plano en alguno de los siguientes formatos: txt, pdf, doc, docx, odt ó puede ser un texto que contenga la descripción del problema, un tiempo límite el cuál es el tiempo máximo que se debe demorar la ejecución de un programa. Además de esto el problema cuenta con casos de prueba los cuales son parejas entrada-salida, esto es, un caso de prueba contiene un archivo de entrada en algún formato de texto plano (.txt, .in, .dat, etc.) y de manera similar un archivo de salida (esperada) también en formato de texto plano. Un archivo de entrada es utilizado por el
juez para probar la exactitud de la solución. El juez utiliza cada uno de los archivos de entrada pasándolos por la entrada estándar al programa enviado como solución, obteniendo la salida generada por el programa y comparándola con los archivos de salida esperada.

Un problema puede tener soluciones o no soluciones oficiales, esto es: soluciones al problema dadas por los jueces, el autor del problema, etc. y que únicamente sirven como guía para los jueces a la hora de juzgar y/o analizar alguna solución de la competencia. Estas soluciones son archivos de código fuente, un solo archivo por solución y de aquí es importante almacenar
el autor y el lenguaje de programación de la solución que puede ser deducido a partir de la extensión del archivo.

Durante la competencia los equipos hacen envíos de sus soluciones a los problemas para que sean juzgadas por los jueces o el sistema automáticamente. Una solución es un archivo de código fuente en alguno de los lenguajes de programación aceptados por la competencia. Cada uno de estos envíos debe ir acompañado del tiempo en que fue enviado desde el inicio
de la competencia ya que esta información es fundamental a la hora de calcular el tablero de posiciones de la competencia.

Cada una de estas soluciones enviadas deberá ser juzgada y el sistema generará por medio de un juez o autómaticamente un veredicto. Éste veredicto es como tal la respuesta de los jueces luego que se ha realizado las pruebas a la solución y es necesario almacenar la siguiente información de un veredicto: la respuesta otorgada por el juez la cual puede ser Accepted,
Wrong Answer, Time Limit Exceeded y Runtime Error.

Durante la competencia un equipo puede observar el listado de sus envíos y allí puede tanto realizar más envíos como consultar el veredicto dado por los jueces de los envíos previos. Además de lo anterior se puede observar los resultados parciales de la competencia por medio del scoreboard. El scoreboard es una tabla que lista los equipos participantes en un orden
específico, este es, del equipo que más a resuelto problemas al que menos.

Es muy importante que la administración y creación de la competencia se pueda realizar de la manera más práctica y sencilla posible, además que sea muy clara utilizar para lo cual puede hacer uso de ayudas al usuario.



Necesito si me pueden ayudar con estas cosas:

Requerimientos funcionales.
Proceso de análisis y diseño orientado a objetos.
Diagrama de clases


Gracias