《UML案例超市进销存系统》由会员分享,可在线阅读,更多相关《UML案例超市进销存系统(38页珍藏版)》请在金锄头文库上搜索。
1、练习:请对超市进销存系统进行UML建模v系统需满足的基本需求如下: v1、销售: 售货员货员 接受顾顾客订购订购 ,输输入顾顾客购买购买 的商品,计计算总总价 顾顾客付款并接受清单单 售货员货员 保存顾顾客购买购买 的商品记录记录 v2、库存: 库库存管理员员每天进进行盘盘点 库库存管理员员每天发现库发现库 存商品有损损坏时时,及时时到相关部门报损门报损 供应应商的商品到货时货时 ,超市人员员首先检查检查 商品是否合格,并将合格商品 入库处库处 理 经经理、统计统计 分析员员根据需要进进行相关商品的模糊查询查询 或详细查询详细查询 v3、订货: 订货员订货员 用新商品供应应商信息更新供应应商数
2、据库库的信息 订货员统计库订货员统计库 存商品是否低于库库存下限,然后制作订货单订货单 v4、经理: 经经理在促销销期间间或节节日期间间,注明相关商品的促销销价格和手段 经经理按市场场情况经经常变动变动 商品价格 练习:请对超市进销存系统进行UML建模v绘出整个用例图v绘出几个用例的顺序图v绘出基于上述顺序图得出的类图v给出“订货单”对象的状态图分析1v1、销售:售货员货员 接受顾顾客订购订购 ,输输入顾顾客购买购买 的商品,计计算总总价 顾顾客付款并接受清单单 售货员货员 保存顾顾客购买购买 的商品记录记录 v1、销售:1.售货员货员 接受顾顾客订购订购2.售货员货员 输输入顾顾客购买购买
3、的 商品3.售货员货员 计计算总总价4.顾顾客付款5.顾顾客接受清单单6.售货员货员 保存顾顾客购买购买 的 商品记录记录 问题: 1. 接受顾客订购是什么意思?就是打开相关的 业务处理界面,开始一 次新业务 2.输入商品是可以多次重复的 3.计算总价系统计算 4.顾客付款系统接受或确认付款 5.顾客接受清单清单哪里来的?应该是前面某 一步骤中打印出来的(付 款后)分析1v销售:1.打开业务业务 界面,开始一次 新的销销售;2.输输入顾顾客购买购买 的商品(可 重复多次)3.计计算总总价4.接受付款5.打印清单单并交给顾给顾 客6.保存购买记录购买记录 ?1、销售 v本场景中可能比较特殊的步骤
4、:1.付款系统统会支持什么样样的支付方式未知如果只收现现金,则则系统统中只需要售货员货员 确认认已收款如果支持刷卡,系统统需要有支付接口详细详细 情况2.保存购买记录购买记录1、销售v可能特殊的步骤,与重复的步骤一样,可用包含关系列出:1、销售v本场景中可能存在的实体类有:商品:应该应该 会有ID、名称、单单价等属性总总价:应该应该 是清单单和购买记录购买记录 的一项项数据。清单单:给顾给顾 客看的纸纸购买记录购买记录 :与清单单的内容应该应该 是一致的(是一致,不是一样样)v最终结果:商品,购买记录2、库存v需求描述: 库库存管理员员每天进进行盘盘点 库库存管理员员每天发现发现 库库存商品
5、有损损坏时时,及时时到相关部门报门报 损损 供应应商的商品到货时货时 ,超市人 员员首先检查检查 商品是否合格,并 将合格商品入库库处处理 经经理、统计统计 分析员员根据需要进进 行相关商品的模糊查询查询 或详细详细 查询查询 v提到的业务: 1.盘盘点(库库存管理员员)盘盘点时时,如果发现发现 有损损坏则报损则报损 2.入库库(超市人员员?也可能就是 库库存管理员员)入库时库时 先检查检查 商品是否合格 3.查询查询 (经经理、统计统计 分析员员)v以上三种业务相对独立2、库存3、订货v需求描述: 订货员订货员 用新商品供应应商信息更新供应应商数据库库的信息 订货员订货员 统计库统计库 存商
6、品是否低于库库存下限,然后制作订货单订货单 v提到的业务: 1.更新供应应商数据库库 2.订货订货条件:某商品的库库存低于下限制作订货单订货单 是一个步骤骤应该应该 会有选择选择 供应应商这这个步骤骤v以上两种业务虽然有关联,但相对独立3、订货v有关的类:供应商数据库,订货单 4、统计v需求描述: 经经理在促销销期间间或节节日期间间,注明相关商品的促销销价格和手段 经经理按市场场情况经经常变动变动 商品价格v提到的业务: 1.促销销:条件:特殊时时期 2.调调整商品价格条件:根据市场变动场变动 促销销有可能也是调调整商品价格的一种,但是还还有个“手段”不详详,所以暂暂按二者是不同业务业务来处处
7、理4、统计v结合刚才已定义的查询业务:初步类图“销售”场景的时序v已知参与者:售货员v已知实体:商品,购买记录v需要构造一个边界类:销售UI可输输入商品可计计算总总价可确认顾认顾 客已付款可打印清单单“销售”场景的时序“销售”场景的时序v如果要求边界类与控制类分离,则:再增加一个控制类类;读读取商品信息和保存购买记录这购买记录这 两项项要求不应应由UI直接向实实体类类提出,而是向控制类类提出,由控制类类再调调用实实体类类的操作。“销售”场景的时序“订货”场景的时序v相关业务:条件:某商品的库库存低于下限即需要先统计统计 各商品的数量制作订货单订货单 是一个步骤骤应该应该 会有选择选择 供应应商
8、这这个步骤骤v已知参与者:订货员v已知实体:供应商DB,订货单,商品问题:库存数量v怎么得知某商品的库存数量?最简单简单 有效的方法:“商品”类类增加一个“数量”属性;“商品”类还应该类还应该 有一个“统计库统计库 存”操作,功能是把库库存数低于某数量的商品都找出来。问题:库存数量v哪些业务与此属性有关?订货时订货时 ,要参考此属性;货货到后,入库库,要相应应增加数量;每日盘盘点,发现损发现损 坏,要相应应减少数量;销销售时时,售出的商品要相应应减少数量;以上可总结为同一操作!以上可总结为同一操作!-更新库存更新库存()()问题:库存数量v哪些业务与此属性有关?入库库,盘盘点,销销售这这三个用
9、例都要用到“更新库库存”操作,可考虑虑提取出一个子用例。销销售时时,售出的商品要相应应减少数量,所以,前面的时时序图图中,应该应该 加上此项项操作。更新用例图更新“销售”时序图回到“订货”场景v已知参与者:订货员v已知实体:供应商DB,订货单,商品v需要构造一个边界类:订货UI可要求统计统计 商品库库存,并列出库库存低于下限的商品;对满对满 足条件的商品,可以要求制作(创创建)订货单订货单 ;针对针对 商品可列出供应应商,供订货员选择订货员选择 。可构造一个控制类类,来跟相关的实实体类类打交道。“订货”场景的时序研究一下“订货单”的状态v对象-订货单:订货时订货时 创创建,创创建后到提交给给供
10、货货商之间间,都可以改变变(更换换供货货商,更改订货订货 数量等)提交后,等待所订订商品到货货;到货货后,检查检查 并办办理入库库手续续;入库库完成后,该订单该订单 完成。vv 待定状态待定状态vv 等货状态等货状态vv 入库中入库中vv 已完成已完成研究一下“订货单”的状态v对象-订货单:订货时订货时 创创建,创创建后到提交给给供货货商之间间,都可以改变变(更换换供货货商,更改订货订货 数量等)提交后,等待所订订商品到货货;到货货后,检查检查 并办办理入库库手续续;入库库完成后,该订单该订单 完成。vv 当然,入库时若发现有问题,可能还会有个当然,入库时若发现有问题,可能还会有个“投诉状态投
11、诉状态”或是或是“退货状态退货状态”之类之类“订货单”v所以, “订货单”类应该有一个“状态”属性相关活动加上对象流此时的类图对实体类进行数据库设计(1)v商品: 商品编编号,名称,类别类别 ,单单价,数量v供应商: 需增加一个OID-供货货商编编号 名称,地址,商品编编号,价格v订货单: 需增加一个OID订单编订单编 号 商品编编号,数量,供货货商编编号,状态态商品编号名称类别单价库存数量Pvv 商品:商品:供货商编号名称地址商品编号价格PFvv 供应商:供应商:订单编 号商品编号数量供货商编号状态PFFvv 订货单:订货单:对实体类进行数据库设计(2)v购买记录:需要增加一个对对象OID记录编记录编号“所购购商品”有多个商品,可以另开一个表“购买购买 清单单”:记录编记录编 号,商品编编号,数量记录记录 表与清单单表是一对对多的关系记录编 号日期时间总数量总价Pvv 购买记录:购买记录:vv 购买清单:购买清单:流水号记录编 号商品编号数量PFF 记录编 号商品编号数量Pvv 或:或: