Ejercicio Nivel 1 Elecciones Cupi2

Universidad de los Andes
Ingeniería de Sistemas y
Computación
Algorítmica y Programación por Objetos 1
Ejercicio Nivel 1
Elecciones Cupi2
Descripción
Con el fin de tener estadísticas más detalladas sobre los votantes, se requiere realizar las siguientes
extensiones al ejemplo de la aplicación Elecciones Cupi2.
1. La aplicación para votar ahora debe permitir registrar la siguiente información adicional de la
persona que vota:
a. Género (Masculino o Femenino).
b. Rango de edad (18 - 34, 35 - 54 ó 55 en adelante).
2. Mostrar el total de votos de cada género.
3. Mostrar el total de votos de cada rango de edad.
4. Mostrar el total de votos obtenidos en todos los rangos de edad para cada candidato.
5. Mostrar el porcentaje de votos influenciados por publicidad en internet para cada candidato
respecto al total de votos influenciados por publicidad internet. Esto es:
% 𝑣𝑖𝑝𝑖 π‘π‘Žπ‘›π‘‘π‘–π‘‘π‘Žπ‘‘π‘œ π‘₯ =
𝑣𝑖𝑝𝑖 π‘π‘Žπ‘›π‘‘π‘–π‘‘π‘Žπ‘‘π‘œ π‘₯
βˆ— 100
π‘‡π‘œπ‘‘π‘Žπ‘™ 𝑣𝑖𝑝𝑖
Donde:
𝑣𝑖𝑝𝑖 = Votos influenciados por publicidad en internet.
Ventana principal de la aplicación
Objetivos del ejercicio
En el presente ejercicio usted trabajará en:
ο‚·
ο‚·
ο‚·
ο‚·
Completar requerimientos funcionales.
Construir expresiones aritméticas.
Agregar atributos.
Completar métodos.
Los siguientes pasos conforman el plan sugerido para desarrollar el ejercicio.
Este ejercicio debe ser realizado de manera INDIVIDUAL.
Preparación
1. Descargue del sitio del curso el archivo .zip del ejercicio.
2. Descomprima el archivo e importe el proyecto en Eclipse llamado n1_elecciones con el
contenido.
3. Lea
la
descripción
del
problema
original
disponible
en
n1_elecciones/docs/specs/Descripcion.pdf.
(Si desea ver el ejercicio original puede encontrarlo en:
http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-1/elecciones.)
4. Estudie el modelo del mundo diseñado para la extensión de este ejercicio. Este modelo se
encuentra en n1_elecciones/docs/specs/ModeloConceptual.jpg. Identifique las clases,
relaciones entre clases, atributos y métodos.
Parte 1: Documentación
1. Complete el documento de requerimientos funcionales con los nuevos requerimientos
definidos al inicio de este documento. El documento que debe modificar lo encuentra en
n1_elecciones/docs/specs/RequerimientosFuncionales.docx.
Debe
completar
la
documentación de los siguientes requerimientos:
ο‚·
R1 – Votar por un candidato
Ahora se debe contemplar el rango de edad y género.
ο‚·
R7– Mostrar el total de votos de cada género
ο‚·
R8– Mostrar el total de votos de cada rango de edad
ο‚·
R9– Mostrar el total de votos obtenidos en todos los rangos de edad para cada
candidato
ο‚·
R10– Mostrar el porcentaje de votos influenciados por publicidad en internet para cada
candidato
Parte 2: Completar la clase Candidato
En esta parte usted debe completar la clase Candidato, siguiendo las siguientes indicaciones:
1. Declare los atributos faltantes:
ο‚·
Votos influenciados por internet.
ο‚·
Votos género masculino.
ο‚·
Votos género femenino.
ο‚·
Votos edad joven.
ο‚·
Votos edad media.
ο‚·
Votos edad mayor.
2. En el método inicializar, asígnele un valor inicial en 0 a los atributos que declaró anteriormente.
3. Complete los métodos:
ο‚·
darVotosInfluenciaInternet
ο‚·
darVotosGeneroFemenino
ο‚·
darVotosGeneroMasculino
ο‚·
darVotosEdadJoven
ο‚·
darVotosEdadMedia
ο‚·
darVotosEdadMayor
ο‚·
reiniciarConteoVotos
ο‚·
agregarVotoInternet
ο‚·
agregarVotoGeneroFemenino
ο‚·
agregarVotoGeneroMasculino
ο‚·
agregarVotoEdadJoven
ο‚·
agregarVotoEdadMedia
ο‚·
agregarVotoEdadMayor
ο‚·
reiniciarConteoVotos
Parte 3: Completar la clase Urna
En esta parte usted debe completar la clase Urna, siguiendo las siguientes indicaciones:
1. Declarar los atributos:
ο‚·
Candidato2
ο‚·
Candidato3
2. Completar el método inicializar para inicializar los candidatos con los siguientes valores:
ο‚·
Candidato2: nombre: Susanita, apellido: Chirusi, partido político: Revolucionario, edad:
26.
ο‚·
Candiato3: nombre: Manolito, apellido: Goreiro, partido político: Tradicional, edad: 26.
3. Completar los siguientes métodos.
ο‚·
registrarVotoGeneroFemeninoCandidato2
ο‚·
registrarVotoGeneroMasculinoCandidato2
ο‚·
registrarVotoEdadJovenCandidato2
ο‚·
registrarVotoEdadMediaCandidato2
ο‚·
registrarVotoEdadMayorCandidato2
ο‚·
registrarVotoGeneroFemeninoCandidato3
ο‚·
registrarVotoGeneroMasculinoCandidato3
ο‚·
registrarVotoEdadJovenCandidato3
ο‚·
registrarVotoEdadMediaCandidato3
ο‚·
registrarVotoEdadMayorCandidato3
ο‚·
calcularTotalVotosGeneroFemenino
ο‚·
calcularTotalVotosGeneroMasculino
ο‚·
calcularTotalVotosEdadJoven
ο‚·
calcularTotalVotosEdadMedia
ο‚·
calcularTotalVotosEdadMayor
ο‚·
calcularPorcentajeVotosPorInternetCandidato1
ο‚·
calcularPorcentajeVotosPorInternetCandidato2
ο‚·
calcularPorcentajeVotosPorInternetCandidato3
Parte 4: Javadoc
Cuando haya verificado que todas las pruebas de la aplicación sean exitosas, genere el Javadoc del
proyecto. Para esto es necesario hacer doble clic sobre el archivo doc.bat (ubicado en
n1_elecciones/bin/win para Windows) o doc.sh (ubicado en n4_elecciones/bin/mac para Mac)
por fuera de eclipse.
La documentación se genera en el subdirectorio n1_elecciones/docs/api. En caso de no aparecer el
directorio api, modifique las variables de ambiente siguiendo las instrucciones proporcionadas en el
siguiente enlace a partir del punto 8:
http://cupi2.uniandes.edu.co/sitio/images/recursos/herramientas/InstalacionJDK.pdf
Una vez generada la documentación empiece por leer el archivo:
n1_ elecciones/docs/api/index.html
Revise la documentación html de las clases del mundo y verifique las responsabilidades de los
métodos, constantes y atributos.
Validación
Para comprobar el funcionamiento de su ejercicio usted puede:
1. Ejecutar las pruebas disponibles en el ejercicio. Para esto, ejecute el programa build.bat y
luego buildTest.bat que se encuentran en n1_elecciones/bin/win/ y enseguida ejecute el
programa runTest.bat, haciendo doble click en estos archivos desde el Explorador de
Windows (por fuera de Eclipse). Estas pruebas automáticas le permitirán verificar la
implementación de sus nuevos métodos. En un nivel posterior se estudiarán estas pruebas.
Por el momento, con saber ejecutar las pruebas con el respectivo archivo .bat es suficiente.
Como alternativa, para ejecutar las pruebas, en el entorno de Eclipse presione click derecho
sobre el paquete β€œuniandes.cupi2.asociacionTenistas.test” (o alguna de sus clases internas),
seleccione la opción Run as y posteriormente la opción JUnit Test.
2. Ejecutar el programa e interactuar con todas las opciones disponibles en la interfaz. Recuerde
que puede ejecutar su programa directamente desde eclipse o por fuera de la herramienta.
Para ejecutar el programa fuera de eclipse, siga los siguientes pasos: 1) Ejecute el archivo
build.bat que se encuentra en n1_elecciones/bin/win/ y enseguida ejecute el programa
run.bat.
Entrega
Este ejercicio debe ser realizado de manera INDIVIDUAL.
1. Construya el archivo entregable con el ejercicio completo, incluyendo el documento de
requerimientos modificado como se solicita. No olvide revisar que su entrega cumple con lo
especificado en las normas del curso referentes a entregas de ejercicios. Consultar
http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/normas-administrativas
2. Entregue el archivo del ejercicio vía SicuaPlus, de acuerdo con las normas, fecha y hora de
entrega definidas en sus sección.