Sunteți pe pagina 1din 6

Escuela Superior Politécnica del Litoral

Programación Orientada a Objetos


Proyecto Primer Parcial
2018-II – 1T, Paralelo 2

Antecedentes
Su grupo de trabajo ha sido contratado para implementar un sistema que permita a una
estación de radio manejar la información relacionada a su programación musical.

Especificaciones
Deberá tener una clase para la información de la radio:
● Nombre
● Descripción
● Dial
● Dirección
● Teléfono
● Redes Sociales
○ Será una lista que relacione una red social y su usuario. Las redes sociales
serán: Facebook, Twitter, Instagram(utilizar Enum)
Ej. La radio punto rojo está presente en las siguientes redes sociales:
● Facebook:RadioPuntoRojo
● Twitter:RadioPuntoRojo
● Instagram:radiopuntorojo
● Lista de locutores
● Lista de programas
● Lista de concursos
● Lista de Top 5

El sistema deberá presentar el siguiente menú principal


1. Administrar locutores
2. Administrar programas
3. Administrar concursos
4. Administrar Top 5
5. Salir

1. Administrar locutores
Esta opción manejará la lista de locutores de la radio
Al seleccionar este menú se presentará la información de los locutores de la radio
CI Nombres Apellidos
CI Nombres Apellidos
CI Nombres Apellidos
Y a continuación el siguiente menú
1. Mostrar locutor
2. Agregar locutor
3. Eliminar locutor
4. Volver al menú principal
1.1 Mostrar locutor
En esta opción se solicitará el CI del locutor para mostrar toda su información

1.2 Agregar locutor


Solicitará los datos del locutor
● CI
● Nombres
● Apellidos
● Teléfono
● Email
● Redes sociales (solicitar las redes sociales en las que está presente)

1.3 Eliminar locutor


Se solicitará la CI del locutor y luego de esto se borrará el locutor de la lista, además de
todas las referencias a este objeto

2. Administrar programas
Las estaciones de radio generalmente tienen programación musical dividida en bloques a
cargo de uno o varios locutores. En esta opción se mostrará la información de los
programas ​activos ​que existen en la radio:
Codigo Nombre Locutores
Codigo Nombre Locutores
Codigo Nombre Locutores

Y a continuación el siguiente menú


1. Agregar programa
2. Suspender programa
3. Editar programa
4. Volver al menú principal

2.1 Agregar programa


Solicitará los datos del programa
● Nombre
● Descripción
● Días (Lunes-Viernes o ciertos días de la semana)
● Hora Inicio
● Hora Fin
● Locutores. Aquí debe mostrar los locutores y permitir agregar uno o más locutores
como parte del programa a través del ingreso de CI

Cada vez que se agrega un programa se debe generar un código en base a los códigos
existentes. Por ejemplo si el último código es 4, el nuevo programa tendrá código 5.
También deberá asignar una ​fecha de creación al programa con la fecha actual y una
fecha de finalización ​con valor vacío.
2.2 Suspender programa
Se solicitará el código y luego de esto se cambiará la fecha de finalización del programa a la
fecha actual. Cuando un programa tiene fecha de finalización deja de estar activo por lo
tanto ya no se mostrará en el listado.

2.3 Editar programa


Se solicitará el código, se mostrarán los datos del programa y luego se podrá cambiar la
información. Queda a su elección como solicitar los datos para modificar.

3. Administrar concursos

En esta opción se mostrará la información de los concursos que se realizan(Estado Vigente)


o se han realizado en la radio(Estado Finalizado). Los concursos pueden realizarse de
manera general o en algún programa en particular. Se mostrará la información de los
concursos
Codigo Nombre Programa Estado
Codigo Nombre Programa Estado
Codigo Nombre Programa Estado

Y a continuación el siguiente menú


1. Mostrar concurso
2. Agregar concurso
3. Eliminar concurso
4. Inscribir participantes en concurso
5. Asignar Ganador de concurso
6. Volver al menú principal

3.1 Mostrar concurso


En esta opción se solicitará el código del concurso para mostrar toda su información. Debe
incluir la lista de participantes y el ganador( si es que el concurso ya ha finalizado)

3.2 Agregar concurso


Solicitará los datos del concurso
● Nombre
● Fecha inicio
● Fecha finalización
● Programa : podrá elegir de los programas existentes o dejar en blanco
● Premio

Cada vez que se agrega un concurso se debe generar un código en base a los códigos
existentes. Por ejemplo si el último código es 2, el nuevo concurso tendrá código 3.

3.3 Eliminar concurso


Se solicitará el código del concurso y luego de esto se borrará el concurso de la lista.
3.4 Inscribir participantes en concurso
Se mostrará los concursos que están vigentes para elegir el concurso al cual se van a
agregar los participantes.
Se solicitará la siguiente información de los participantes:
● CI
● Nombres
● Apellidos
● Teléfono

No hay límite de participantes en concurso siempre que el concurso esté activo(fecha de


finalización no ha pasado). Además se debe validar que los participantes no estén
repetidos verificando la existencia del CI

3.5 Asignar ganador de concurso


En esta opción se presentará las siguientes subopciones
3.5.1 Asignar ganador aleatoriamente
3.5.3 Asignar ganador manualmente

​3.5.1 Asignar ganador aleatoriamente


De la lista de participantes del concurso se elegirá aleatoriamente un ganador
Se deberá mostrar los datos del participante que se eligió.
​3.5.2 Asignar ganador manualmente
Se solicitará que se ingrese la CI del participante que se va a asignar como ganador del
concurso y se presentará los otros datos del participante.

4. Administrar Top 5
En esta opción se manejará la información de las canciones más populares en la radio. Se
mostrará el siguiente menú
1. Registrar Top 5
2. Consultar Top5

4.1 Registrar Top 5


Aquí se registrarán las canciones más populares durante un periodo (semanal o quincenal a
elección)
El top tiene una fecha y una lista de las 5 canciones más populares. Además se puede
indicar el programa donde se lo elige. Para registrar la canción se solicitará el artista, el
nombre de la canción y la ubicación en el top.

4.2 Consultar Top 5


Aquí se mostrará información sobre los Top 5 ordenados desde el más actual
*** Fecha
Canción Top 1
Canción Top 2
Canción Top 3
Canción Top 4
Canción Top 5
*** Fecha
Canción Top 1
Canción Top 2
Canción Top 3
Canción Top 4
Canción Top 5

Su proyecto deberá tener cargado el siguiente contenido al iniciar la ejecución:


● Información de la radio
● 5 locutores
● 3 programas
● 2 concursos (1 vencido, otro vigente) con 5 participantes c/u
● 2 Top 5

El proyecto
● El proyecto debe ser realizado en grupo de 3 estudiantes.
● Se deben aplicar los Principios de Programación Orientada a Objetos en el diseño
de la solución.
● El desarrollo de la solución debe ser en Java 8.

Entregables Proyecto:
● .zip con las fuentes de su Proyecto con el nombre
proyecto1_grupoNUMEROGRUPO.
● .pdf con su diagrama de clases y reporte del proyecto

Criterios de Evaluación
Documentación (10 %)
● El programa fuente deberá presentar un código documentado internamente usando
Java doc (un correcto uso de comentarios).
● En 500 - 800 palabras (más diagrama de clases) discuta sobre su diseño. Discuta
críticamente que tan bien su diseño cumple con los Pilares de Programación
Orientado a Objetos. Muestre ejemplos de su diseño donde cumple con los pilares.

Funcionalidad (90%)
● Se valorará la apariencia del proyecto, sin que esto implique que el estudiante deba
utilizar recursos adicionales a los aprendidos en clase. (El proyecto es en consola)
● Se verificará el cumplimiento de toda la funcionalidad requerida, así como las
correctas validaciones de los datos.
● El proyecto debe ser debidamente probado antes de presentarlo al profesor. Por lo
tanto se espera que el programa no se caiga al ejecutarlo, ni tenga un
comportamiento no esperado (Sólo se revisará funcionalidad sin errores)
● Cada estudiante deberá registrar al menos 4 commits en el repositorio de bitbucket
con cambios significativos incluyendo comentarios.
Tener presente en el desarrollo de su solución:
Abstracción y Uso de Objetos
● Creación de Clases pertinentes con sus propiedades y métodos
● Correcta interacción de objetos. Que los objetos se comuniquen entre sí y no solo
sean llamados todos en el main.
● Usar recursos de herencia e interfaces para la solución donde aplique.

Modularidad y Encapsulamiento
● Dividir el problema usando los métodos correspondientes. No escribir bloques
inmensos de código.
● Encapsular correctamente el proyecto. Crear paquetes donde se agrupen clases que
se relacionen.
● No olvidar que para acceder a las propiedades de las clases se debe proveer los
métodos get y set.

Penalidades
5 por ciento menos por no seguir buenas prácticas de programación (convención para
nombre de clases, nombre de atributos y métodos, uso de constantes cuando es necesario,
o algún fallo grave que se detecte en la forma de programar).

Componentes

Proyecto 100

Factor sustentación individual 1

Factor uso git 1

Factor trabajo en grupo 1

Nota Final = Proyecto x Factor sustentación x Factor uso git x Factor trabajo en grupo.

Fecha de entrega
Los entregables del proyecto deberán subirse a Sidweb hasta el ​viernes 16 de noviembre
23:59
El dìa ​martes 27 de noviembre ​en el horario de clases se realizará la sustentación del
proyecto.

S-ar putea să vă placă și