.根据自动售货机系统的需求陈述,建立其对象模型、动态模型和功能模型。(21分) 自动售货机系统的需求陈述: 自动售货机系统是一种无人收货系统。收货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。有效的硬币是一元币、五角币、一角币。其他货币都被认为是假币。机器拒绝接收假币,并将其从退币孔退出。当机器接收了有效的硬币之后,就把硬币送入硬币储藏器中。顾客支付的货币根据硬币的面值进行累加。 自动售货机装有货物分配器。每个货物分配及中包含零个或多个价格相同的货物。顾客通过选择货物分配器来选择货物。如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返回到退币孔。如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将在指定的一段时间内等待顾客投入更多的货币。如果机器等待超时或者顾客决定不买所选择的货物,他投放进的货币将从退币孔中退出。
时间: 2024-03-15 13:43:01 浏览: 86
对象模型:
- 自动售货机(VendingMachine):拥有硬币储藏器、货物分配器和退币孔等组件,管理自动售货机的整个流程。
- 硬币(Coin):具有大小、重量、厚度和边缘类型等属性,自动售货机会检查硬币的属性来判断其是否有效。
- 货物分配器(ProductDispenser):装有价格相同的货物,顾客通过选择货物分配器来选择货物。
- 货物(Product):具有价格和名称等属性,可以被顾客选择和购买。
动态模型:
- 投入硬币(insertCoin):顾客将硬币投入自动售货机的投币口中,自动售货机会检查硬币的属性来判断其是否有效,并将有效的硬币送入硬币储藏器中。
- 选择货物分配器(selectProductDispenser):顾客通过选择货物分配器来选择货物。
- 分配货物(dispenseProduct):如果货物分配器中有货物,且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返回到退币孔。如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。
- 等待投币(waitForCoin):如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将在指定的一段时间内等待顾客投入更多的货币。
- 退币(returnCoin):如果机器等待超时或者顾客决定不买所选择的货物,他投放进的货币将从退币孔中退出。
功能模型:
- 插入硬币(InsertCoin):顾客将硬币投入自动售货机的投币口中,自动售货机会检查硬币的属性来判断其是否有效,并将有效的硬币送入硬币储藏器中。
- 选择货物(SelectProduct):顾客通过选择货物分配器来选择货物。
- 购买货物(DispenseProduct):如果货物分配器中有货物,且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返回到退币孔。如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。
- 退币(ReturnCoin):如果机器等待超时或者顾客决定不买所选择的货物,他投放进的货币将从退币孔中退出。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)