Exercise 1, SWE 2410: Automated Coffee Maker Equipment (ACME)

Working in groups of two or three, create a domain diagram around the following problem description. It is not required to work in a group, but generally people who work in groups do a better job of identifying classes. We do want each student to turn in their own diagram so that students get experience creating UML diagrams.

A senior design team has decided to build automated coffee maker equipment (ACME) for a residence hall. The ACME has the following high-level requirements:

  1. The system shall contain reservoirs for coffee beans, cream, sugar, and vanilla syrup.
  2. The system shall detect the size of the cup placed under the dispenser and fill that cup to 3/4 full with the selected beverage.
  3. The machine shall always dispense coffee. In addition, the user shall select the additives to mix into the cup along with the amounts of each.
  4. Additive amounts shall be expressed in units of "squirts" (approximately 3 milliliters), and the machine shall support up to 3 squirts of any one additive.
  5. The system shall have a reservoir holding 500 ml of water heated to 90 C. When water is dispensed, the reservoir will be refilled from a hose connected to an open tap and a heating element turned on to reheat the water.
  6. The system shall have a panel used to create the next drink order, selecting additives and their amounts, and then have a dispense button which fulfills the order when a coffee cup is inserted.
  7. If the panel has not been touched for 2 minutes, then the panel shall reset to zero additives. The panel shall also reset after an order is fulfilled.
  8. To fulfill an order, the system shall grind an appropriate amount of coffee into a brew chamber, pump water to a preheat chamber where it can be heated to 95 C, pumped from the preheat chamber into the brew chamber, dispensed into a mixing chamber where the additives are inserted, then poured into the cup.
  9. Each reservoir shall have a pump attached to its outlet tube, and the pumps move liquid when activated and block movement when deactivated.
  10. Each reservoir shall have a sensor for the amount of liquid in that reservoir.
  11. The brew, preheat, and mixing chambers shall have sensors measuring the amount of liquid each contains.
  12. The preheat chamber and the water reservoir shall contain temperature sensors.

Working in groups, use the noun and verb technique followed by appropriate refinements to capture the domain of this problem. You should include classes, attributes, operations, associations, generalizations (including abstract classes or interfaces), multiplicities, and role names. Using EA, draw a class diagram capturing this information. In addition, satisfy the following:

To create this diagram in Enterprise Architect, follow the directions here to install it. Your instructor will describe how to use this tool to create a UML diagram.

Because this is a domain-level diagram, it should not have types. To remove them in EA:

  1. Right click on the diagram and select Properties
  2. Click on Features on the left
  3. Clear Show Operation Return Type
  4. Set Show Attribute Detail to Name Only
  5. Set Show Parameter Detail to None

When you are finished, follow these directions to create a .PNG of your project, convert that to a PDF, and upload it to Canvas. It is important that you follow these directions; taking a screen shot will not work because the image resolution is too low to grade on Canvas.