Synthesize the domain model of vending machine which has the following characteristics. Products can be purchased by inserting the correct number of coins into the machine. A user selects a product from a list of available products, adds coins, and either gets the product or gets the coins returned if insufficient money was supplied or if the product is sold out. Products can be restocked and money removed by an operator. Requirements for this system: Product Selection: Users will be able to choose a product from a list of available items. The system must display the product list with corresponding prices. Coin Insertion: Users can insert coins into the machine to pay for selected products. The machine will accept common denominations. Purchase Process: Upon sufficient coin insertion, the selected product will be dispensed. If the inserted coins are insufficient, the machine should return the coins. In case of a sold-out product, the machine will return coins. Restocking: Operators will be able to restock products when inventory is low. Restocking should not interfere with ongoing transactions. Operator Management: Operators should have the ability to remove money from the machine. Key use cases from this description based on the requirements in User Purchases Product Primary Actor: User Flow: User selects product then insert coins machine then dispenses product if funds sufficient or return coins if funds insufficient. Sold-Out Scenario Primary Actor: User Flow: User selects product to check if product available, If sold out, return coins. Restocking Primary Actor: Operator Flow: Check product inventory and Restock products. Operator Removes Money Primary Actor: Operator Flow: Access money collection interface and operator removes money. Draw a UML class diagram of your domain model for the above information Create an interaction table for the Use case of a user purchasing a product from the machine. Create a UML sequence diagram of the use case in above Make sure to capture all cases (alt, and loop) in the UML sequence diagram.
Synthesize the domain model of vending machine which has the following characteristics.
Products can be purchased by inserting the correct number of coins into the machine. A user selects a product from a list of available products, adds coins, and either gets the product or gets the coins returned if insufficient money was supplied or if the product is sold out. Products can be restocked and money removed by an operator.
Requirements for this system:
Product Selection: Users will be able to choose a product from a list of available items.
The system must display the product list with corresponding prices.
Coin Insertion: Users can insert coins into the machine to pay for selected products.
The machine will accept common denominations.
Purchase Process: Upon sufficient coin insertion, the selected product will be dispensed.
If the inserted coins are insufficient, the machine should return the coins.
In case of a sold-out product, the machine will return coins.
Restocking: Operators will be able to restock products when inventory is low.
Restocking should not interfere with ongoing transactions.
Operator Management: Operators should have the ability to remove money from the machine.
Key use cases from this description based on the requirements in
User Purchases Product
Primary Actor: User
Flow: User selects product then insert coins machine then dispenses product if funds sufficient or return coins if funds insufficient.
Sold-Out Scenario
Primary Actor: User
Flow: User selects product to check if product available, If sold out, return coins.
Restocking
Primary Actor: Operator
Flow: Check product inventory and Restock products.
Operator Removes Money
Primary Actor: Operator
Flow: Access money collection interface and operator removes money.
- Draw a UML class diagram of your domain model for the above information
- Create an interaction table for the Use case of a user purchasing a product from the machine.
- Create a UML sequence diagram of the use case in above
- Make sure to capture all cases (alt, and loop) in the UML sequence diagram.
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 2 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)