Question
The Coffee Maker Requirements: Need a piece of software to operate the Coffee maker Use case 1: Brew Coffee The user (Coffee Lady) needs to
The Coffee Maker
Requirements:
Need a piece of software to operate the Coffee maker
Use case 1: Brew Coffee
The user (Coffee Lady) needs to
- Put empty pot on warmer.
- Fill boiler with water.
- Put filter and coffee grounds into filter holder
- load it into the receptacle.
- select the coffee strength (strong, medium*, light); medium is default.
- press Brew Button
In order to brew coffee, the system (coffee maker) needs to have the different hardware properties
- Closes relief valve to allow water to flow to receptacle
- turns on boiler heater.
- Adjusts the spray force setting according to the selected coffee strength.
- When boiler is empty, turns off boiler heater.
- The indicator light is also turned on.
Use case 2: Pour Coffee add extras as needed
Basic black coffee (strong, medium, or light = $1.10; plus mocha = add $0.90; plus whip = add $1.25.
You need to design your software to handle new additional extras (condiments) as they become available with minimal changes.
The Coffee lady wants to pour a cup of coffee from the pot and add on the extras. She also wants to keep track of the total cost of her coffee with the extra additions. When she removes the coffee pot from the warmer, the maker needs to turn off the warm, turn the light off if it was on.
Precondition: The Coffee Maker is not Brewing. A new condiment (cinnamon) has arrived, but our coffee lady wants to select mocha and cinnamon but no whip.
- Coffee lady: Lifts pot from warmer.
- Coffee maker: Detects the pot has been lifted
- Coffee maker: turns off the plate warmer.
- Coffee maker: If the indicator light is on, then turn it off
- Coffer lady: replaces pot onto the warmer
- Coffee maker: if there is coffee remaining in the pot, restart the plate warmer
-
- Coffee Lady adds the extras
- Coffee Lady receives the cumulative updates on the cost.
Use case 3: Pour Interrupt Brewing:
When the coffee pot is removed from the warmer before the coffee brewing is done, the coffee maker should turn off the boiler, open the relief valve (to stop the water from entering the filter). When the pot is returned, the maker should automatically restart the brewing process.
Precondition: The coffee maker is NOT brewing.
The user (Coffee Lady) and the Coffee Maker should need to
- Coffee lady: Lifts pot from warmer.
- Coffee maker: Detects the pot has been lifted
- Coffee maker: turns off the boiler
- Coffee maker: opens the (pressure) relief valve
- Coffee maker: If the indicator light is on, then turn it off
- Coffer lady: replaces pot onto the warmer
-
- Coffee maker: turns on the boiler
- Coffee maker: close the relief valve
- Coffee maker: continue the brew cycle
There are a number of possible design patterns available for the above problem. Choose them wisely.
Expected deliverables:
I would expect you to rely on using your learned Java OOD/OOP programming skills with minimal use of if-then-else and/or Switch statements.
- (90%) Your software printout should show the sequences of the above three use cases for:
- The coffee lady morning routine
-
- Brews a pot of black medium coffee
- Interrupts the coffee brewing about thru
- Makes herself a coffee with whip only and writes down the cost
- Rushes to work
-
- In the evening, she invited a friend over for coffee.
-
- Brews a pot of light coffee
- Interrupts the coffee brewing about thru
- Makes herself a coffee with cinnamon after returning the pot back to the brewing.
- Records the cost (coffee with cinnamon)
- After the brewing is done, she makes her friend a coffee with mocha.
- Records the cost (coffee with mocha)
-
- (10%) UML diagram to illustrate your software design.
---------------------------------------------------------------------------------------
Need this in Java code please.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started