Mick & Rorty TM quedan atrapados en el planeta Wabalabadu sin recarga para la pistola de dimensiones de Rick y out of cash (sin parné), pues en ese planeta se paga con EnZinIums y los dólares americanos no sirven para nada.
En vez de hacerse repartidores de Jlobo le quitan el trabajo a dos robococineros en una fast-break truck que prepara desayunos a las crías de los alienígenas antes de entrar en la escuela de educación wabalabadaria.
El desayuno consta de:
- Una caja de cereales de uno de los dos tipos: eyeholes o smiggles
- Una bebida: fleeb juice o turbulent juice
Construye la aplicación según la arquitectura que se representa en el diagrama de clases UML de la figura que se proporciona. Al final del examen tendrás que añadir nuevos componentes al diagrama. Pon tu nombre y devuélvemela al finalizar el examen.
Respeta los nombres de todos los componentes, métodos y propiedades que se indican.
- Crea un nuevo repo en tu cuenta en Github.
- Crea un nuevo directorio en tu equipo y clona el repositorio de Github.
- Abre VSCode /Eclipse /Netbeans y establece como workspace el directorio que has clonado.
- Crea un proyecto Maven.
- Pon el proyecto en seguimiento en Git y configura
.gitignore
. - Copia y pega la función principal
App.java
. Utilízala como guía en el proceso TDD. No puedes modificar su código, pero sí puedes comentar aquellas partes que aun no hayas implementado. - Completa las clases que aquí se indican implementando los casos test que necesites. Practica TDD.
- Realiza
commits
como mínimo cada vez que termines una historia de usuario.
- Desde Eclipse exporta el proyecto a un fichero.
- En VSCode, comprime la carpeta del proyecto.
- Envíame el archivo por correo electrónico.
- Realiza commits periódicamente mientras avanzas en el desarrollo de la aplicación.
- Realiza un
push
al repo remoto en GitHub SOLO cuando hayas terminado el proyecto.
Intenta que la salida del programa sea lo más parecida posible a las imágenes que se proporcionan.
Las historias de usuario están enunciadas en el script principal App.java
Utiliza este script para guiar el desarrollo del diagrama de clases UML.
Garantiza que tu solución satisfaga los 5 principios SOLID.
Prepara dos tipos desayuno:
Eyeholes + Turbulent Juice
y
Smiggles + Fleeb Juice
Para ello, crea un Desayuno
con un Item
del tipo Eyeholes
y otro del tipo TurbulentJuice
; luego crea un Desayuno
con Smiggles
y FleebJuice
mostratItems()
recorre los items y los muestra en pantalla.getCoste()
calcula el precio total del desayuno.
Los métodos de este componente devuelven el nombre, el empaquetado y el precio de cada Item
Estas clases crean un Item
u objeto de ese tipo e inicializan sus propiedades nombre, empaquetado y precio (pvp).
envoltorio()
devuelve el nombre del empaquetado: caja
o tubo
.
Una vez que hayas terminado de implementar la app según la arquitectura indicada en el diagrama de clases UML, añade al desayuno la posibilidad de incluir un juguete, un plumbus en el caso del Desayuno
de tipo Eyeholes
. Su precio es de 100 y viene en una caja.
Comprueba que tu código es OCP de modo que no necesites modificar el código que ya has escrito de la clase Eyeholes
para añadir esta nueva funcionalidad. Si has de modificarlo... code smell.
-
Prepara un desayuno de tipo
Eyeholes
que incluya un plumbus. -
Chequea que el plumbus aparece en la salida del tercer caso test en el script principal de la app.
-
Añade al diagrama de clases los componentes necesarios para reflejar la extensión que has hecho a la arquitectura del programa y entrégame la hoja.