基于UML的饮料自动售货机系统设计.doc
《基于UML的饮料自动售货机系统设计.doc》由会员分享,可在线阅读,更多相关《基于UML的饮料自动售货机系统设计.doc(17页珍藏版)》请在三一办公上搜索。
1、基于UML的饮料自动售货机系统设计1 问题描述1.1 关于自动售货机自动售货机像磁卡电话、银行柜员机一样,以方便、新颖、文明、昼夜服务等特点,成为发达国家不可缺少的便民配套设施。如今的自动售货机可以为顾客提供多种服务。顾客可以根据自己的需要选择商品并投入钱币,售货机接收钱币,售出商品。1.2 饮料自动售货机的设计该设计模拟自动售货机的工作原理和方式,完成出售商品、接收钱币、找零钱等功能。与系统交涉的人有两类:送货员和顾客。送货员在每周固定时间查看售货机中的饮料数量和钱币数量情况,并根据计划适当添加饮料、钱币或取走适当的钱币。同时,送货员也可以根据需要增加饮料的种类,或修改饮料的价格。顾客根据需
2、要选择饮料,投入钱币,并等待售货机的响应。售货机(所设计的系统)所做的响应:如果售货机中没有该种饮料,则退回顾客所投钱币,交易失败。否则,如果售货机中有该种饮料,则判断顾客所投钱币是否足够,如果不够,则提示顾客交易失败,并退回钱币。如果顾客所投的钱币刚好够(不需要找零钱),则售出饮料,交易结束。如果需要找零钱,则判断是否有适当的零钱可以找,如果有,则售出饮料,找出零钱,交易结束。否则,退回钱币,交易失败。当然,实际生活中的售货机可能有更加强大的功能和更完善的处理,这里只模拟一个售货机系统,所以只实现其核心原理,并练习和提高分析问题能力和编程能力。2 用例模型及分析类图的描述;2.1 系统功能模
3、块划分图1:模块划分2.2 系统用例模型描述系统涉及的角色有:顾客和送货员。系统用例模型如下图:图2:用例图2.3 类分析系统中涉及的类有Person类,主要实现viewPrice这个功能.Customer和Sender继承这个类,并且各自实现一定的功能,Drink类和Money类各有自己的属性,并可以通过一些操作将自己的信息显示出来.3 设计类图、核心用例的顺序图与状态图、组件图等的描述;3.1 类图图3:类图3.2 核心用例的顺序图图4:“注册新的送货员”时序图时序图分析:送货员输入新的用户名和密码,并确定。对话框控件接收输入,并将信息传到售货机系统,请求生成新的数据记录。系统检查该用户名
4、是否有效。如果无效,则拒绝生成新的送货员。如果有效,则在数据库中添加一条新的记录,成功的生成一个送货员的用户名和密码。图5:“查看价格”时序图 时序图分析:顾客或送货员请求查看饮料的价格。对话框控件接收输入,并请求售货机系统查询该价格信息。系统在数据库中浏览并通过饮料名称查出该饮料的价格,返回给对话框界面。图6:顾客”购买饮料”顺序图 时序图分析:界面接收顾客的输入(包括饮料名称和钱币类型数量),并传递给售货机系统。系统访问数据库查看该种饮料是否已经卖完,如果已卖完,则提示并退回钱币。否则,在数据库中查询该种饮料的价格,并判断顾客所投钱币是否够买该饮料。如果足够,则计算需要找的零钱,并在数据库
5、中查询是否有足够的零钱。如果没有适合的零钱,则提示并退回顾客所投钱币。如果有适合的零钱,则通知数据库更新饮料和钱币信息,并且售出饮料,找零。图7:送货员“登陆”时序图时序图分析:送货员输入用户名和密码登陆系统。UI界面将其传递给售货机系统,系统查询数据库中的送货员信息,并验证该用户名和密码是否正确,如果错误,提示用户。否则,将送货员专区界面显示给送货员。图8:“添加饮料”时序图时序图分析:UI界面接收送货员输入要添加的饮料类型和数量,并传递给售货机系统,系统生成一条新的数据记录,并通知数据库修改该饮料的数量信息。修改成功之后,向界面返回现在的饮料信息。图9:“查看饮料”时序图时序图分析:UI界
6、面接受送货员点击“查看饮料”按钮,并将接收的消息传递给售货机系统,系统查询数据库中的饮料信息,并将其显示出来。图10:“取走钱币”时序图时序图分析:UI界面接收送货员输入的钱币类型和数量,并传递给售货机系统。系统访问数据库,查看是否可以取走该数量的该种钱币,如果不可以,则拒绝取走钱币,并通知UI界面提示送货员。否则,通知数据库修改钱币信息,并返回给界面修改后的新信息。3.3 状态图图11:状态图4 信息代码设计、数据库设计、输入设计、输出设计的描述4.1 信息代码设计(1)设计用Microsoft Visual C+ 基于对话框的App Wizard实现。(2)首先创建“欢迎”对话框,即初始界
7、面。再根据用户身份分为顾客和送货员,这样分别创建两个“专区”。(3)“顾客专区”为新建的对话框改造,所以需要创建一个类,称为class CCustomer,并且添加相应的控件。顾客可以每次选择一种饮料,所以用单选按钮实现,而在投入钱币时,这里模拟用输入方式说明顾客投入的钱币面值和数量。当顾客确定输入以后,系统调用数据库中的信息判断是否有顾客所选饮料,并计算顾客投入钱币是否足够,是否需要找零等问题。之后,系统会弹出一个提示框提示顾客现在的交易情况这里分3种情况:没有该种饮料并提示选择另一种、有该种饮料但没有适合的零钱并退回钱币、交易成功。(4)送货员需要通过“登陆”对话框验证身份后才能进入“送货
8、员专区”。登陆的用户名和密码分别为wumei,0000.而“送货员专区”也是新建的对话框,所以创建一个class CSell类,并添加控件。送货员可以添加任意种饮料任意瓶,所以用复选框选择所要添加饮料品种,并用编辑框输入添加数量。确定之后,数据添加到数据库中,通过“查看饮料”可以查看现在的饮料信息。同时,送货员可以选择“放置钱币”或“取走钱币”来放置或取走钱币,这里也用复选框和编辑框来实现操作的钱币面值和数量。确定并“查看钱币”可以看到现在的钱币状况。4.2 数据库设计图12:E-R图数据库描述:钱币有面值和数量两种属性,其中,面值是主属性。送货员有用户名和密码两种属性,其中用户名是主属性,当
9、添加新的送货员时,如果用户名已经存在,则会出错。饮料有类型、数量和价格三种属性。其中类型是主属性。数据库中按名称存储各种饮料若干。送货员可以放置或取走若干钱币,也可以添加饮料。4.3 输入、输出设计(1)创建数据库之后,先初始化,将钱币和饮料的数量都置成0,并且设置默认的饮料价格。而送货员信息表中,先注册一个用户名为wumei,密码为0000的送货员。(2)输入设计。送货员登陆时设计2种情况:输入正确的登陆信息和错误的登陆信息。而在添加饮料输入饮料数量时,设计输入为正确的数字和错误的其他符号。在放置/取走钱币时,设计取走小于已有数量的钱币和大于已有数量的钱币。在送货员添加新的送货员时,设计添加
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 UML 饮料 自动 售货 系统 设计
链接地址:https://www.31ppt.com/p-2389200.html