已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java咖啡机系统产品设计说明书版本:版本历史版本作者参与者起止日期备注1.0 2.0 目 录1 引言11.1目的11.2背景11.3参考资料11.4术语12 项目概述22.1被开发软件的一般描述22.2被开发软件的功能描述22.3实现语言22.4用户特点22.5一般约束33需求规格说明43.1系统说明43.1.1需求描述:43.1.2资源43.1.3活动列表43.2咖啡机ATM系统人机界面描述43.3信息资源列表54 需求分析过程64.1咖啡机ATM应用中的参与者64.2系统中的用例及用例文档64.2.1用例64.2.2总用例图74.2.3用例文档:74.3系统中的类74.3.1实体类74.3.2数据库类94.3.3边界类94.3.4控制类95系统建模105.1用例包图及用例图(用例建模)105.2系统用例的活动图及活动文档(活动建模)115.3网上购物系统的类图(类建模)135.3.1系统类包图135.3.2系统实体类关联图135.3.3系统界面类关联图145.3.4付款行为协作类关联图145.3.5 购买行为协作类关联图155.3.6送货行为协作类关联图165.4构造顺序图(交互建模)165.4.1 PrintInvoice的顺序图165.5构造状态图(状态图建模)175.5.1 Payment的状态图175.5.2 Ordert的状态图175.6构造协作图175.6.1 StandardConfiguration的协作图175.7构件图18结束语19参考文献20II1 引言1.1目的为了明确用户的需求并较好的与开发人员进行沟通,使用户与开发人员双方对软件需求取得共同理解基础上达成的协议,特编写此文档,并作为整个软件开发的基础。1.2背景这个项目的开发是应老师要求,制作出咖啡机ATM机,用于用户自助选取饮料功能1.3参考资料ATM系统可行性分析报告。1.4术语1.硬币:在 coffeeATM 中交易的货币。2.饮料:最终客户得到的东西,能够饮用。3.coffeeATM: coffee Auto Teller Machine , 分为两部分组成。一部分是 ATM 服务器,另一部分是 ATM 终端。终端负责和内部进行交互,coffeeATM 服务器负责处理交易和出咖啡。2 项目概述2.1被开发软件的一般描述这个项目的开发是为银行提供一套高效稳定的终端服务平台,为储户存款,取款,查询等等提供便利。本软件采用面向对象方法开发,代码使用JAVA语言实现2.2被开发软件的功能描述该软件是一个24小时实时服务系统,用户可以控制四个实体,并加以操作本系统其基本框架为:图1 ATM系统框架图2.3实现语言主要使用JAVA语言2.4用户特点本软件的用户主要是有钱要喝咖啡或奶茶的人。2.5一般约束本软件的主要约束是材料和硬币约束。在经费、开发人员及设备方面没有太多消耗;但要在一定的环境下运行,即要有基本的运行设备,设备的要求为一般的PC机即可。3需求规格说明3.1系统说明3.1.1需求描述:1、这种无人值守自动贩卖机贩卖淡咖啡、浓咖啡、奶茶等三种产品。每种产品的价格均为1元。2、每种产品所消耗的资源如下:品名水(cc)咖啡(份)奶茶(份)糖(块)杯(只)淡咖啡200511浓咖啡10奶茶103、顾客每次投币规定为1元,系统界面上有当前硬币的显示。4、顾客可以选择购买3种商品之一,当顾客所投入的硬币符合产品的生产条件时,咖啡机将生产产品。产品生产完毕后,顾客可通过“取出”按键取走商品。在顾客没有取出饮料之前,系统不能进行其它操作。5、用户通过“退币”返还已投入的硬币。6、考虑到系统为水加温需要一定的时间,所以在系统界面上应该有实时水温的显示(初始水温20度)。系统每注入一杯量的水会降低1度,当水温低于70度时系统会自动启动加热程序。当系统在加热状态时,不能选择饮料,但可以添加饮料、投币和退币。假定系统加热速度为每1秒钟上升2度。7、系统也将实时显示水、咖啡粉、奶茶粉、糖、杯等各类资源的剩余数量。当资源不足时,系统将给出报警提示,同时不接受顾客投币行为,也不接受饮料选择行为。8、管理员可以通过面板添加资源。只有当某个资源耗尽后才可以添加资源。每类添加资源的数量为:水2000;粉:咖啡、奶茶各100;糖10;杯10。9、GUI界面中应该有饮料生产的模拟过程。10、为简单计,操作过程中的各类提示信息在控制台输出。 3.1.2资源本咖啡机所提供的浓咖啡,淡咖啡,奶茶。3.1.3活动列表1. 当咖啡量贩机资源充足时,顾客可以通过向咖啡量贩机投入硬币,来选择饮料,当饮料生产完成时,顾客可以取出饮料。2. 顾客在取出饮料后,如果硬币还有多余,可以通过退币按钮取出剩余的硬币。3. 当资源不足时,不可进行任何操作,只有管理员可添加材料3.2咖啡机ATM系统人机界面描述l 用户和系统之间的界面对所有的用户都开放。允许用户购买当前能够制作的饮品3.3信息资源列表n 基本饮品信息提供淡咖啡,浓咖啡,奶茶 三种饮料4 需求分析过程 4.1咖啡机买饮品应用中的参与者 1.用户-Customer图1 参与者Customer 用户4.2系统中的用例及用例文档4.2.1用例4.2.2总用例图java咖啡机系统用例图4.2.3用例文档:用 例:货币管理简 述:该用例允许用户投入硬币或退币参 与 者:Customer前提条件:投币:执行本用例之前,咖啡量贩机内制作饮料的各项材料均无缺货现象,且机内不存在没有取走的饮料。退币:执行本例之前,咖啡量贩机内不存在没有取走的饮料。机内应有剩余的币值主 流:投币:顾客按下投币按钮,向系统投入1元硬币,系统接收硬币后在显示面板显示硬币数值的变化。退币:顾客按下退币按钮,系统将退还咖啡量贩机内剩余的硬币,并在显示面板上将币值清零。其 他 流: 无后置条件:投币:只有至少成功投币一次后,才能启动“选择饮料”、“退币”用例。退币:全部材料不缺少时,如果机内还有硬币,才能启用“选择饮料”,“退币”用例。如果机内没有硬币,只能进行“退币”用例。用 例:取饮料简 述:该用例允许用户取走饮料参 与 者:Customer前提条件:执行本例之前,咖啡量贩机内应该已经制作好了一杯饮料,并且饮料并没有被取走。主 流:用户按下“取出饮料”按钮,饮料被取出,显示面板的饮料图像消失。其 他 流: 无后置条件:饮料没有取出之前。不能进行任何操作。用 例:选饮料简 述:该用例允许用户选择饮料参 与 者:Customer前提条件:执行本例之前,咖啡量贩机内不存在没有取走的饮料。机内应有剩余的币值,机内的材料无缺货现象。主 流:用户按下“浓咖啡”或“淡咖啡”或“奶茶”按钮,系统将消耗相应的材料进行制作饮料,并在显示面板中显示饮料产生的过程。其 他 流: 无后置条件:只有执行了本例之后,才能进行取出饮料操作。用 例:添加原料简 述:该用例允许用户添加原料参 与 者:Administrator前提条件:执行本例之前,咖啡量贩机内制作饮料的各项材料至少有一样存在缺货状态,且机内不存在没有取走的饮料。主 流:1. 管理员按下“加杯”或“加粉”或“加糖”或“加水”,一次向咖啡量贩机内加满选项材料。2.咖啡量贩机接收材料,显示面板上显示材料的变化,并开启绿灯。其 他 流: 无后置条件:全部材料不缺少时,如果机内还有硬币,才能启用“选择饮料”,“退币”用例。如果机内没有硬币,只能进行“退币”用例。4.3系统中的类4.3.1实体类 从需求中找出候选实体类:需求号需求候选实体类1这种无人值守自动贩卖机贩卖淡咖啡、浓咖啡、奶茶等三种产品。每种产品的价格均为1元。CoffeeCoinMilk2每种产品所消耗的资源CoffeeCupWaterSugarMilk3顾客每次投币规定为1元,系统界面上有当前硬币的显示。CoinCoinNumber4顾客可以选择购买3种商品之一,当顾客所投入的硬币符合产品的生产条件时,咖啡机将生产产品。产品生产完毕后,顾客可通过“取出”按键取走商品。在顾客没有取出饮料之前,系统不能进行其它操作。CoffeeMilkCoinCoinNumber5用户通过“退币”返还已投入的硬币。CoinCoinNumber6系统也将实时显示水、咖啡粉、奶茶粉、糖、杯等各类资源的剩余数量。当资源不足时,系统将给出报警提示,同时不接受顾客投币行为,也不接受饮料选择行为。7管理员可以通过面板添加资源。只有当某个资源耗尽后才可以添加资源。每类添加资源的数量为:水 2000;粉:咖啡、奶茶各100;糖 10;杯 10。MaterialCoffeeMilkCupWaterSugar8GUI界面中应该有饮料生产的模拟过程。表1 需求到实体类的赋值4.3.2边界类MaintainPanel类: MonitorPanel类:功能:添加材料面板 功能:监控材料变化方法: 方法: 返回数据的方法。 返回数据的方法。Light类:功能:实现报警灯颜色变化的面板方法:turnOff() 当材料不足时绿灯灭红灯亮turnOn() 当材料不足时红灯灭绿灯亮paintComponent() 绘制报警灯的方法IndicatorPanel类:功能:用来显示材料变化的面板方法: update() 更新材料变化ChoicePanel类:功能:用来选择饮料的面板方法:返回数据的方法AnimationPanel类:功能:用来显示生产饮料过程的面板。方法:takeout() 取出饮料paintComponent() 绘制饮料的方法。ShowPanel类:功能:显示币值变化的面板。方法:返回数据的方法 4.3.4控制类Controller类:功能:主控制类方法:getInstance() 外界的接口putCoin() 投币getAllCoin() 退币addWater() 加水addCup() 加杯addCoffee() 加咖啡addMilk() 加奶茶addSugar() 加糖takeOut() 取出饮料chooseCoffee(kind coffee) 选择饮料类型BoilerController类:功能:选择饮料控制器方法: getAdrink(coffeeKind kind) 获取饮料种类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系统用例的活动图及活动文档(活动建模) 购买一杯饮料的活动图n 购买一杯饮料的文档1. 添加材料 管理员分别点击 加水、加粉、加糖、加杯按钮 添加材料2. 投币 顾客点击投币,在showPanel 上显示币值的变化。3. 选择饮料顾客点击自己所需要的饮料,消耗相应的材料,在中间出现生产饮料的动画。4. 取出、退币顾客点击取出,饮料图像消失,若系统内有剩余的硬币,点击退币可以将币值清零。5.3java咖啡机系统的类图(类建模)5.3.1系统类包图5.3.2系统实体类关联图5.3.3系统界面类关联图5.3.4 java咖啡机控制类图5.4构造顺序图(交互建模)5.4.1 奶茶生产的顺序图用户在 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, Sug
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论