客户代表说,我希望这台ATM能支持跨行业务,我插入卡片输入密码后,可以让我选择是取钱还是存钱;为了方便,可以设置一些默认的存取金额按钮;我可以修改密码,也可以挂失;还有我希望可以交纳电话费、水费、电费等费用;为了安全起见,ATM上应当有警示小心骗子的提示条,还有摄像头;如果输入三次密码错误,卡片应当被自动吞没。
图表 1 第一次作业
第二次作业 订单的活动图 网店的订单处理过程,大致包括:
客户:挑选商品,下订单,支付,收货确认,评价 网店业务员:订单汇总,下达配货单
仓库业务员:备货,配货,发货,如果某种商品库存不多了还要下达采购单 试用泳道式活动图来记录以上活动,要求活动中处理的对象流:“订单” 要求先给出订单类,以及订单的状态图
活动图中的订单对象以各人的学号来命名,客户对象以各人的姓名来命名
图表 2状态图
图表 3活动图
第三次作业 整套模型 设计一订单处理系统,顾客可以下订单、查订单。管理员可以处理订单,包括修改订单状态、查询订单、统计订单和打印订单等。顾客下订单的处理流程包括选择商品和购物车的确认提交。网店的订单处理过程包括确认配送中心库存充足等。 绘出整个系统的用例图 给出“订单”对象的状态图
绘出订单从产生到处理的完整的活动图 绘出顾客下订单过程的顺序图
1.单号同学负责的场景:顾客浏览和选择商品到购物车中; 2.双号同学负责的场景:顾客管理购物车,确认,生成订单。 绘出基于上述顺序图得出的类图
图表 4用例图
图表 5单号时序图
图表 6单号类图
图表 7双号时序图
图表 8双号类图
饮料销售机模型
假设你正着手设计一台饮料销售机,其主要功能是允许顾客购买一罐饮料,其它情况包括缺货处理、付款不正确、无法找零等。此外,供货商负责定期向饮料机补货,收银员负责定期收银(收走整钱和补充零钱储备)。
顾客买饮料顾客供货商补货供货商收银员收银收银员 饮料机用例图
< 买饮料用例图 类图 用例“Buy Soda(买饮料)” 顾客从前端的钱币口塞入钱币,然后输入选择 钱币到达钱币记录仪,记录仪更新自己的存储 理想场景:“检查饮料是否还有”的结果是还有存货,记录仪通知分配器分发一罐饮料 到机器前端。 Front : 前端 : 顾客1: 接受输入(, ) : 记录仪 : 分配器2: 获取用户输入( )3: 检查有货否( )4: Available5: 更新储备( )6: 释放饮料( )7: 接受饮料( ) 买饮料 时序图 “无所选存货”的场景: 1.当顾客选择了一种已售完的饮料时,机器显示一条闪烁消息:“该饮料已售完”。 2.接着再显示一条消息,提示顾客重新选择。 3.顾客此时可以按下某个选项键,收回已投入的钱币。 4.也可以重新选择。若重新选择了有现货的饮料,则后面按理想场景继续。 5.若再选择的饮料也售完,则重复第1步。 : 顾客1: 接受输入(, ) : 前端 : 记录仪 : 分配器2: 获取用户输入( )3: 检查有货否( )4: Sold out5: 返还现金( )6: 显示提示( ) 无所选货物时序图 “钱数不正确”场景: 1.记录仪检查顾客输入的钱币数量是否与所要购买的饮料价格匹配。 2.如果输入数量大于价格,则计算二者之间的差额并检查机器中存有的余额。 3.如果机器中有能找给顾客的零钱,则找钱,继续。 4.如果零钱不足,则记录仪退回顾客投入的钱币,并显示一个消息,提示顾客重新输入正确的金额。 5.如果顾客输入的金额小于饮料价格,则机器等待顾客继续投入钱币。(此时可能需要一个设计决策,可以设计为机器等待一个固定的时间间隔,计算差额并显示一条消息提示给用户。) Front : 前端 : 顾客1: 接受输入(, ) : 记录仪 : 分配器2: 获取用户输入( )3: 检查有货否( )4: Available5: 找零( )6: 更新储备( )7: 释放饮料( )8: 接受饮料( ) “零钱数量不对”场景1:找钱 Front : 前端 : 顾客1: 接受输入(, )2: 获取用户输入( ) : 记录仪 : 分配器3: 找零( )4: 返还现金( )5: 显示提示( ) “零钱数量不对”场景2:不够或找不开 只覆盖了用例“买饮料”的一个场景(即一个实例),也被称之为实例顺序图 实例顺序图 此用例还包括另两个场景: 1.机器中无顾客所选择的饮料时的情形 2.顾客输入了数量不正确/不正好的钱币时 如果绘图时考虑到用例的所有这些场景,这样所创建的就是一个一般顺序图(generic sequence diagram) Front : 前端 : 顾客1: 接受输入(, )2: 获取用户输入( ) : 记录仪 : 分配器3: 找零( )4: [no change]返还现金( )5: < 因篇幅问题不能全部显示,请点此查看更多更全内容