UML饮料自动售货机系统设计.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML饮料自动售货机系统设计

基于UML的饮料自动售货机系统设计 问题描述 1.1 关于自动售货机 自动售货机像磁卡电话、银行柜员机一样,以方便、新颖、文明、昼夜服务等特点,成为发达国家不可缺少的便民配套设施。 图2:用例图 2.3 类分析 系统中涉及的类有Person类,主要实现viewPrice这个功能.Customer和Sender继承这个类,并且各自实现一定的功能,Drink类和Money类各有自己的属性,并可以通过一些操作将自己的信息显示出来. 设计类图、核心用例的顺序图与状态图、组件图等的描述; 3.1 类图 图3:类图 3.2 核心用例的顺序图 图4:“注册新的送货员”时序图 时序图分析:送货员输入新的用户名和密码,并确定。对话框控件接收输入,并将信息传到售货机系统,请求生成新的数据记录。系统检查该用户名是否有效。如果无效,则拒绝生成新的送货员。如果有效,则在数据库中添加一条新的记录,成功的生成一个送货员的用户名和密码。 图5:“查看价格”时序图 时序图分析:顾客或送货员请求查看饮料的价格。对话框控件接收输入,并请求售货机系统查询该价格信息。系统在数据库中浏览并通过饮料名称查出该饮料的价格,返回给对话框界面。 图6:顾客”购买饮料”顺序图 时序图分析:界面接收顾客的输入(包括饮料名称和钱币类型数量),并传递给售货机系统。系统访问数据库查看该种饮料是否已经卖完,如果已卖完,则提示并退回钱币。否则,在数据库中查询该种饮料的价格,并判断顾客所投钱币是否够买该饮料。如果足够,则计算需要找的零钱,并在数据库中查询是否有足够的零钱。如果没有适合的零钱,则提示并退回顾客所投钱币。如果有适合的零钱,则通知数据库更新饮料和钱币信息,并且售出饮料,找零。 图7:送货员“登陆”时序图 时序图分析:送货员输入用户名和密码登陆系统。UI界面将其传递给售货机系统,系统查询数据库中的送货员信息,并验证该用户名和密码是否正确,如果错误,提示用户。否则,将送货员专区界面显示给送货员。 图8:“添加饮料”时序图 时序图分析:UI界面接收送货员输入要添加的饮料类型和数量,并传递给售货机系统,系统生成一条新的数据记录,并通知数据库修改该饮料的数量信息。修改成功之后,向界面返回现在的饮料信息。 图9:“查看饮料”时序图 时序图分析:UI界面接受送货员点击“查看饮料”按钮,并将接收的消息传递给售货机系统,系统查询数据库中的饮料信息,并将其显示出来。 图10:“取走钱币”时序图 时序图分析:UI界面接收送货员输入的钱币类型和数量,并传递给售货机系统。系统访问数据库,查看是否可以取走该数量的该种钱币,如果不可以,则拒绝取走钱币,并通知UI界面提示送货员。否则,通知数据库修改钱币信息,并返回给界面修改后的新信息。 3.3 状态图 图11:状态图 信息代码设计、数据库设计、输入设计、输出设计的描述 4.1 信息代码设计 (1)设计用Microsoft Visual C++ 基于对话框的App Wizard实现。 (2)首先创建“欢迎”对话框,即初始界面。再根据用户身份分为顾客和送货员,这样分别创建两个“专区”。 (3)“顾客专区”为新建的对话框改造,所以需要创建一个类,称为class CCustomer,并且添加相应的控件。顾客可以每次选择一种饮料,所以用单选按钮实现,而在投入钱币时,这里模拟用输入方式说明顾客投入的钱币面值和数量。当顾客确定输入以后,系统调用数据库中的信息判断是否有顾客所选饮料,并计算顾客投入钱币是否足够,是否需要找零等问题。之后,系统会弹出一个提示框提示顾客现在的交易情况——这里分3种情况:没有该种饮料并提示选择另一种、有该种饮料但没有适合的零钱并退回钱币、交易成功。 (4)送货员需要通过“登陆”对话框验证身份后才能进入“送货员专区”。登陆的用户名和密码分别为wumei,0000.而“送货员专区”也是新建的对话框,所以创建一个class CSell类,并添加控件。送货员可以添加任意种饮料任意瓶,所以用复选框选择所要添加饮料品种,并用编辑框输入添加数量。确定之后,数据添加到数据库中,通过“查看饮料”可以查看现在的饮料信息。同时,送货员可以选择“放置钱币”或“取走钱币”来放置或取走钱币,这里也用复选框和编辑框来实现操作的钱币面值和数量。确定并“查看钱币”可以看到现在的钱币状况。 4.2 数据库设计 图12:E-R图 数据库描述:钱币有面值和数量两种属性,其中,面值是主属性。送货员有用户名和密码两种属性,其中用户名是主属性,当添加新的送货员时,如果用户名已经存在,则会出错。饮料有类型、数量和价格三种属性。其中类型是主属性。数据库中按名称存储各种饮料若干。送货员可以放置或取走若干钱币,也可以添加饮料。 4.3 输入、输出设计 (1)创建数据库之后,先初始化,将钱币和饮料

文档评论(0)

ipad0b + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档