饮料销售机 UML 顺序图文档引言本文档为饮料销售机设计过程中的 UML 顺序图文档,编写成员为开发成员,目的是为了方便后续的开发更顺利并且便利的开展,了解系统功能顺序,对系统有一个更加直观的功能框架。饮料销售机分析在自动饮料售货机的“买饮料”场景中,假设饮料销售机有 3 个部分:前端(front)、钱币记录仪(register)以及分配器(dispenser)。前端负责:接受顾客的选购和现钞;显示诸如 Out of selection(所选饮料已售完)和User correct change(使用合适零钱)的信息;从记录仪接收找回的零钱并返还给顾客;返还现钞;从分配器接收一罐饮料并把它交给顾客。钱币记录仪负责:从前端获取顾客输入的信息(即选购的饮料的种类和现钞);更新现钞存储;如果缺少零钱将不让系统服务并在前端显示没有零钱;若零钱充足一切正常,找零钱。分配器负责:检查选购的饮料是否还有货;分发一罐饮料。类图描述:(注:该图只提供参考,参数和返回值可自行定义,方法也可以增加)UML 顺序图 在饮料售货机购买饮料的所有情况中,都需要顾客往前端放入金钱,由钱币记录仪判定钞票面额。1、 理想状态下买饮料(购买成功且不用找零)在理想状态下,顺序如下:1、 顾客放入现钞 inputMoney();2、 前端接收现钞并将现钞传给钱币记录仪 accept();3、 钱币记录仪对现钞面额进行判断 getCustomerInput();4、 钱币记录仪根据现钞面额给分配器发送消息检查该面额可购买的饮料checkForSoda();5、 分配器向前端返回可购买饮料信息 returnSodaFree();6、 前端将可购买饮料显示给顾客 displayPrompt();7、 顾客选择饮料 chooseSoda();8、 前端将结果给分配器 sendChooseToDis();9、 分配器检查是否有该饮料 checkAvailability();10、 分配器向前端释放饮料 releaseSoda();11、 前端接收饮料并释放出来 receiveSoda();12、 购买结束顺序图如下:2、 顾客要买的饮料售完在此情况下,顺序如下:1、 顾客放入现钞 inputMoney();2、 前端接收现钞并将现钞传给钱币记录仪 accept();3、 钱币记录仪对现钞面额进行判断 getCustomerInput();4、钱币记录仪根据现钞面额给分配器发送消息检查该面额可购买的饮料checkForSoda();5、分配器向前端返回可购买饮料信息 returnSodaFree();6、前端将可购买饮料显示给顾客 displayPrompt();7、顾客选择饮料 chooseSoda();8、前端...