java咖啡机系统产品设计说明书.docx
- 文档编号:7849035
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:25
- 大小:959.45KB
java咖啡机系统产品设计说明书.docx
《java咖啡机系统产品设计说明书.docx》由会员分享,可在线阅读,更多相关《java咖啡机系统产品设计说明书.docx(25页珍藏版)》请在冰豆网上搜索。
java咖啡机系统产品设计说明书
java咖啡机系统
产品设计说明书
版本:
<>
版本历史
版本
作者
参与者
起止日期
备注
1引言
目的
为了明确用户的需求并较好的与开发人员进行沟通,使用户与开发人员双方对软件需求取得共同理解基础上达成的协议,特编写此文档,并作为整个软件开发的基础。
背景
这个项目的开发是应老师要求,制作出咖啡机ATM机,用于用户自助选取饮料功能
1.3 参考资料
《ATM系统可行性分析报告》。
术语
:
在coffeeATM中交易的货币。
:
最终客户得到的东西,能够饮用。
3.coffeeATM:
coffeeAutoTellerMachine,分为两部分组成。
一部分是ATM服务器,另一部分是ATM终端。
终端负责和内部进行交互,coffeeATM服务器负责处理交易和出咖啡。
2项目概述
被开发软件的一般描述
这个项目的开发是为银行提供一套高效稳定的终端服务平台,为储户存款,取款,查询等等提供便利。
本软件采用面向对象方法开发,代码使用JAVA语言实现
被开发软件的功能描述
该软件是一个24小时实时服务系统,用户可以控制四个实体,并加以操作
本系统其基本框架为:
图1ATM系统框架图
实现语言
主要使用JAVA语言
用户特点
本软件的用户主要是有钱要喝咖啡或奶茶的人。
一般约束
本软件的主要约束是材料和硬币约束。
在经费、开发人员及设备方面没有太多消耗;但要在一定的环境下运行,即要有基本的运行设备,设备的要求为一般的PC机即可。
3需求规格说明
3.1.系统说明
需求描述:
1、这种无人值守自动贩卖机贩卖淡咖啡、浓咖啡、奶茶等三种产品。
每种产品的价格均为1元。
2、每种产品所消耗的资源如下:
品名
水(cc)
咖啡(份)
奶茶(份)
糖(块)
杯(只)
淡咖啡
200
5
1
1
浓咖啡
10
奶茶
10
3、顾客每次投币规定为1元,系统界面上有当前硬币的显示。
4、顾客可以选择购买3种商品之一,当顾客所投入的硬币符合产品的生产条件时,咖啡机将生产产品。
产品生产完毕后,顾客可通过“取出”按键取走商品。
在顾客没有取出饮料之前,系统不能进行其它操作。
5、用户通过“退币”返还已投入的硬币。
6、考虑到系统为水加温需要一定的时间,所以在系统界面上应该有实时水温的显示(初始水温20度)。
系统每注入一杯量的水会降低1度,当水温低于70度时系统会自动启动加热程序。
当系统在加热状态时,不能选择饮料,但可以添加饮料、投币和退币。
假定系统加热速度为每1秒钟上升2度。
7、系统也将实时显示水、咖啡粉、奶茶粉、糖、杯等各类资源的剩余数量。
当资源不足时,系统将给出报警提示,同时不接受顾客投币行为,也不接受饮料
选择行为。
8、管理员可以通过面板添加资源。
只有当某个资源耗尽后才可以添加资源。
每类添加资源的数量为:
水 2000;粉:
咖啡、奶茶各100;糖 10;杯 10。
9、GUI界面中应该有饮料生产的模拟过程。
10、为简单计,操作过程中的各类提示信息在控制台输出。
资源
本咖啡机所提供的浓咖啡,淡咖啡,奶茶。
活动列表
1.当咖啡量贩机资源充足时,顾客可以通过向咖啡量贩机投入硬币,来选择饮料,当饮料生产完成时,顾客可以取出饮料。
2.顾客在取出饮料后,如果硬币还有多余,可以通过退币按钮取出剩余的硬币。
3.当资源不足时,不可进行任何操作,只有管理员可添加材料
3.2.咖啡机ATM系统人机界面描述
●用户和系统之间的界面
对所有的用户都开放。
允许用户购买当前能够制作的饮品
3.3.信息资源列表
⏹基本饮品信息
提供淡咖啡,浓咖啡,奶茶三种饮料
4需求分析过程
4.1.咖啡机买饮品应用中的参与者
4.2.系统中的用例及用例文档
用例
总用例图
java咖啡机系统用例图
用例文档:
用例:
货币管理
简述:
该用例允许用户投入硬币或退币
参与者:
Customer
前提条件:
投币:
执行本用例之前,咖啡量贩机内制作饮料的各项材料均无缺货现象,且机内不存在没有取走的饮料。
退币:
执行本例之前,咖啡量贩机内不存在没有取走的饮料。
机内应有剩余的币值
主流:
投币:
顾客按下投币按钮,向系统投入1元硬币,系统接收硬币后在显示面板显示硬币数值的变化。
退币:
顾客按下退币按钮,系统将退还咖啡量贩机内剩余的硬币,并在显示面板上将币值清零。
其他流:
无
后置条件:
投币:
只有至少成功投币一次后,才能启动“选择饮料”、“退币”用例。
退币:
全部材料不缺少时,如果机内还有硬币,才能启用“选择饮料”,“退币”用例。
如果机内没有硬币,只能进行“退币”用例。
用例:
取饮料
简述:
该用例允许用户取走饮料
参与者:
Customer
前提条件:
执行本例之前,咖啡量贩机内应该已经制作好了一杯饮料,并且饮料并没有被取走。
主流:
用户按下“取出饮料”按钮,饮料被取出,显示面板的饮料图像消失。
其他流:
无
后置条件:
饮料没有取出之前。
不能进行任何操作。
用例:
选饮料
简述:
该用例允许用户选择饮料
参与者:
Customer
前提条件:
执行本例之前,咖啡量贩机内不存在没有取走的饮料。
机内应有剩余的币值,机内的材料无缺货现象。
主流:
用户按下“浓咖啡”或“淡咖啡”或“奶茶”按钮,系统将消耗相应的材料进行制作饮料,并在显示面板中显示饮料产生的过程。
其他流:
无
后置条件:
只有执行了本例之后,才能进行取出饮料操作。
用例:
添加原料
简述:
该用例允许用户添加原料
参与者:
Administrator
前提条件:
执行本例之前,咖啡量贩机内制作饮料的各项材料至少有一样存在缺货状态,且机内不存在没有取走的饮料。
主流:
1.管理员按下“加杯”或“加粉”或“加糖”或“加水”,一次向咖啡量贩机内加满选项材料。
量贩机接收材料,显示面板上显示材料的变化,并开启绿灯。
其他流:
无
后置条件:
全部材料不缺少时,如果机内还有硬币,才能启用“选择饮料”,“退币”用例。
如果机内没有硬币,只能进行“退币”用例。
4.3.系统中的类
实体类
从需求中找出候选实体类:
需求号
需求
候选实体类
1
这种无人值守自动贩卖机贩卖淡咖啡、浓咖啡、奶茶等三种产品。
每种产品的价格均为1元。
Coffee
Coin
Milk
2
每种产品所消耗的资源
Coffee
Cup
Water
Sugar
Milk
3
顾客每次投币规定为1元,系统界面上有当前硬币的显示。
Coin
CoinNumber
4
顾客可以选择购买3种商品之一,当顾客所投入的硬币符合产品的生产条件时,咖啡机将生产产品。
产品生产完毕后,顾客可通过“取出”按键取走商品。
在顾客没有取出饮料之前,系统不能进行其它操作。
Coffee
Milk
Coin
CoinNumber
5
用户通过“退币”返还已投入的硬币。
Coin
CoinNumber
6
系统也将实时显示水、咖啡粉、奶茶粉、糖、杯等各类资源的剩余数量。
当资源不足时,系统将给出报警提示,同时不接受顾客投币行为,也不接受饮料选择行为。
7
管理员可以通过面板添加资源。
只有当某个资源耗尽后才可以添加资源。
每类添加资源的数量为:
水2000;粉:
咖啡、奶茶各100;糖10;杯10。
Material
Coffee
Milk
Cup
Water
Sugar
8
GUI界面中应该有饮料生产的模拟过程。
表1需求到实体类的赋值
4.3.2边界类
MaintainPanel类:
MonitorPanel类:
功能:
添加材料面板功能:
监控材料变化
方法:
方法:
返回数据的方法。
返回数据的方法。
Light类:
功能:
实现报警灯颜色变化的面板
方法:
turnOff()当材料不足时绿灯灭红灯亮
turnOn()当材料不足时红灯灭绿灯亮
paintComponent()绘制报警灯的方法
IndicatorPanel类:
功能:
用来显示材料变化的面板
方法:
update()更新材料变化
ChoicePanel类:
功能:
用来选择饮料的面板
方法:
返回数据的方法
AnimationPanel类:
功能:
用来显示生产饮料过程的面板。
方法:
takeout()取出饮料
paintComponent()绘制饮料的方法。
ShowPanel类:
功能:
显示币值变化的面板。
方法:
返回数据的方法
控制类
Controller类:
功能:
主控制类
方法:
getInstance()外界的接口
putCoin()投币
getAllCoin()退币
addWater()加水
addCup()加杯
addCoffee()加咖啡
addMilk()加奶茶
addSugar()加糖
takeOut()取出饮料
chooseCoffee(kindcoffee)选择饮料类型
BoilerController类:
功能:
选择饮料控制器
方法:
getAdrink(coffeeKindkind)获取饮料种类
Boiler类:
功能:
材料消耗控制器
方法:
usePowder()消耗粉
useCup()消耗杯子
useSugar()消耗糖
useWater()消耗水
boilAdrink()选择饮料
EspressoBoiler类:
功能:
粉耗量控制器
方法:
usePowder()浓咖啡耗粉量
LightBoiler类:
功能:
粉耗量控制器
方法:
usePowder()淡咖啡耗粉量
MilkBoiler类:
功能:
粉耗量控制器
方法:
usePowder()奶茶耗粉量
State类:
功能:
基本控制类
方法:
putCoin()投币
getAllCoin()退币
addWater()加水
addCup()加杯
addCoffee()加咖啡
addMilk()加奶茶
addSugar()加糖
takeout()取出饮料
chooseCoffee()选择饮料类型
No_Coin类:
功能:
无硬币时的控制器
方法:
putCoin()投币
getAllCoin()退币
addWater()加水
addCup()加杯
addCoffee()加咖啡
addMilk()加奶茶
addSugar()加糖
takeout()取出饮料
chooseCoffee()选择饮料类型
Sold类:
功能:
销售时的控制器
方法:
putCoin()投币
getAllCoin()退币
addWater()加水
addCup()加杯
addCoffee()加咖啡
addMilk()加奶茶
addSugar()加糖
takeout()取出饮料
chooseCoffee()选择饮料类型
Sold_Out类:
功能:
售空时的控制器
方法:
putCoin()投币
getAllCoin()退币
changeState()改变状态
addWater()加水
addCup()加杯
addCoffee()加咖啡
addMilk()加奶茶
addSugar()加糖
takeout()取出饮料
chooseCoffee()选择饮料类型
5系统建模
5.1.系统用例的活动图及活动文档
用户操作:
包括操作退币,投币,选取饮料
选择饮料:
包括选择浓咖啡,淡咖啡,奶茶
添加饮料:
包括添加粉,糖,杯,水
咖啡量贩机系统用例包图
咖啡量贩机系统用例图
5.2.系统用例的活动图及活动文档(活动建模)
购买一杯饮料的活动图
⏹购买一杯饮料的文档
1.添加材料
管理员分别点击加水、加粉、加糖、加杯按钮添加材料
2.投币
顾客点击投币,在showPanel上显示币值的变化。
3.选择饮料
顾客点击自己所需要的饮料,消耗相应的材料,在中间出现生产饮料的动画。
4.取出、退币
顾客点击取出,饮料图像消失,若系统内有剩余的硬币,点击退币可以将币值清零。
5.3.java咖啡机系统的类图(类建模)
系统类包图
系统实体类关联图
系统界面类关联图
java咖啡机控制类图
5.4.构造顺序图(交互建模)
奶茶生产的顺序图
用户在ChoicePanel上选择生产奶茶,此时BoilerController会将奶茶选项传递到Boiler上,调用boilADrink()方法,对Water,Sugar,Cup,Milk同时调用useOneCup()
5.4.2浓咖啡生产的顺序图
用户在ChoicePanel上选择生产浓咖啡,此时BoilerController会将奶茶选项传递到Boiler上,调用boilADrink()方法,对Water,Sugar,Cup,Coffee同时调用useOneCup()
5.4.3淡咖啡生产的顺序图
用户在ChoicePanel上选择生产淡咖啡,此时BoilerController会将奶茶选项传递到Boiler上,调用boilADrink()方法,对Water,Sugar,Cup同时调用useOneCup()
对Coffee调用useHalf()
5.5.构造状态图(状态图建模)
有币,无币,销售中,售罄的状态图
从sold_out状态开始,添加材料后判断,无货在返回sold_out状态,都有货进入判断无硬币进入
No_coin状态,有硬币进入has_coin状态。
Has_coin状态后选择饮料,进入sold状态,无硬币竟然
No_coin状态,缺货进入sold_out状态,都有进入has_coin状态
行为
状态
钱币相关
添加材料类
饮料选择类
投币
退币
加水
加咖啡
加奶茶
加糖
加杯
选饮料
取饮料
售罄
×
√
√
√
√
√
√
×
×
无硬币
√
×
×
×
×
×
×
×
×
有硬币
√
√
×
×
×
×
×
√
×
销售中
×
×
×
×
×
×
×
×
√
售罄:
可退币,加水,加咖啡,加奶茶,加糖,加杯
无硬币:
可投币
有硬币:
可投币,退币,选饮料
销售中:
可取饮料
结束语
项目组运用所学的专业知识,分析了网上购物系统的设计与实现,给出一套完整的解决方案。
采用这种方案使产品信息流转、产品信息共享、查询和销售人员的维护更加方便,提高销售人员工作效率,同时在此基础上对网络购物的实现提供了一个良好的基础平台。
当然,由于我们知识和经验的局限,及其它各方面的原因,本系统还有多多待完善的地方。
通过开发这个“网上购物系统”,在老师的指导下,我们亲身实践,更加深了对所学过知识的深刻理解,很好地做到了理论和实际的结合。
我们进一步明确了用所学的专业知识分析设计一个系统的方法与思路,加深了对所学的专业知识的认识,巩固了所学的所学的专业知识,提高了软件开发技术水平,为今后的工作与进一步发展打下了坚实的基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 咖啡机 系统 产品设计 说明书