用例图类图练习(网上购物平台)

15 篇文章 1 订阅
11 篇文章 7 订阅

某网上购物平台的主要功能如下:

  1. 创建订单。顾客(Customer)在线创建订单(Order),主要操作是向订单中添加项目、从订单中删除项目。订单中应列出所订购的商品(Product)及其数量(quantities )。
  2. 提交订单。订单通过网络来提交。在提交订单时,顾客需要提供其姓名(name)、 收货地址(address)以及付款方式(form of payment)(预付卡、信用卡或者现金)。为了制定送货计划以及安排送货车辆,系须确定订单量(volume)。除此之外,还必须记录每种商品的名称(name)、进价(cost price)、售价(sale price)以及单件商品的包装体积(cubic volume)。
  3. 处理订单。订单处理人员接收来自系统的订单;根据订单内容,安排配货,制定送货计划。在送货计划中不仅要指明发货日期(delivery date),还要记录每个订单的限时发送要求(Delivery Time Window )。
  4. 派单。订单处理人员将已配好货的订单转交给派送人员。
  5. 送货/收货。派送人员将货物送到顾客指定的收货地址。当顾客收货时,需要在运货单(delivery slip)上签收。签收后的运货单最终需交还给订单处理人员。
  6. 收货确认。当订单处理人员收到签收过的运货单后,会和顾客进行一次再确认。 现采用面向对象方法开发上述系统,得到如图3-1所示的用例图和图3-2所示的类图。
    在这里插入图片描述
    在这里插入图片描述
    【问题1】
    根据说明中的描述,给出附件图3-1中A1〜A3所对应的参与者名称和U1〜U2处所对应的用例名称。
    【问题2】
    根据说明中的描述,给出附件图3-2中C1〜C3所对应的类名以及(1)〜(4)处所对应的多重度(类名使用说明中给出的英文词汇)。
    【问题3】
    根据说明中的描述,将类C2和C3的属性补充完整(属性名使用说明中给出的英文词汇)。

答案:
【问题1】
A1:顾客 A2:订单处理人员.
A3:派送人员
U1:收货 U2:派单
【问题2】
C1: Custorner C2: Order
C3: Product
(1)1
(2)0… * 或0… n
(3)0… * 或0… n
(4)1… * 或1… n
【问题3】
C2: volume、 delivery date、 form of payment
C3: cost price、 sale price、 cubic volume

解析:
【问题1】
在UML用例图中,参与者表示要与本系统发生交互的一个角色单元。与系统交互的外部人员、角色、其他的计算机系统、物理实体等通常都可以看作是参与者。由题干给出的“(1)创建订单。顾客(Customer)在线创建…”、“ (5)送货/收货。……当顾客收货时,需要在运货单(delivery slip).上签.……”、“(6)收货确认。当订单处理人员收到签收过的运货单后,会和顾客进行一次再确认”等关键信息,结合图3-1中A1参与的用例“创建订单”、“收货确认” 等,可知参与者A1的名称是“顾客”
同理,基于题干给出的关键信息“(3)处理订单。订单处理人员接收来自系统的……”、“(6)收货确认。当订单处理人员收到签收过的运货单后,会和顾客进行一次再确认”等,结合图3-1中A2参与的用例“处理订单”、“收货确认” 等,可知参与者A2的名称是“订单处理人员”。
根据题干给出的“(5)送货/收货。派送人员将货物送到顾客指定的收货地……”等关键信息,结合图3-1中A3参与的用例“送货”等,可知参与者A3的名称是“派送人员”
依题意,该“网上购物平台”的用例图中共有3个参与者、7个用例。图3-1中已给出了其中的5个用例“创建订单”、“提交订单” 、“收货确认” 、“处理订单”、“送货” 。由题干给出的说明信息,可知需要补充的两个用例名称分别为“派单”、“收货”。 由题干给出的“(4)派单。订单处理人员将已配好货的订单转交给派送人员”等关键信息,图2-12中 也显示出了A2(订单处理人员)与A3(派送人员)都参与了用例U2,因此U2的名称是“派单”。
同理,基于题干给出的关键信息“(5)送货/收货。派送人员将货物送到顾客指定的收货地址。当顾客收货时,需要在运货单(delivery slip). 上签收。签收后的运货单最终需交还给订单处理人员”等,结合图3-1中A1 (顾客)、A2(订单处理人员)与A3 (派送人员)共同参与了用例U1,因此U1的名称是“收货”。
【问题2】
在图3-2所示的类图中,类C1的关键属性都已经给出了。由题干给出的说明信息可知,属性address表示的是“收货地址”。而收货地址的最初始来源是顾客,因此C1的类名是Customer(顾客)。
在UML类图中,“在这里插入图片描述” 表示其相联的两个类之间存在聚合关系。它代表两个类之间的整体/局部关系,其显著的特点是不能包含循环的联系(即局部中不能包含整体)。在图3-2中,类C2和类C3之间存在着一个聚合关系,C3是构成C2的部分对象;并且两者之间存在着一个关联类0rder Product; 结合题干给出的关键信息“订单中应列出所订购的商品及其数量”等,可知C2的类名是0rder(订单),C3的类名是Product (商品)。
结合常识,一名顾客可以在线创建多个订单,但是一个订单只能由一名顾客来创建。因此类C1 (顾客)和类C2(订单)之间是一种一对多联系, 图2-13中(1)空缺处所对应的多重度应填入1,(2) 空缺处应填入0… *。
一个订 单中至少应包含一件商品,也可以包含多件商品;而一件商品可以出现在一个或多个订单中,也可能没有任何顾客订购某种商品。因此类C2(订单)和类C3(商品)之间是一种多对多联系。在图2-13中,采用了关联类的方法来表示多对多联系。(3) 空缺处应填入0… * (此处下限0表示没有顾客订购某种商品),(4) 空缺处应填入1… * (此处下限1表示一个订单中至少应包含一件商品)。
【问题3】
仔细题干给出的说明信息,结合问题1和问题2的分析结果,类C2 (订单)的属性至少应包括volume(订单量)、deliver),date(发货日期)、form of payment(付款方式)等;类C3(商品)需要补充的属性至少应包括cost price (造价)、sale price(售价)、cubic volume (包装体积)等。
在图2-13所示的类图中,类C1的关键属性都已经给出了。由题干给出的说明信息可知,属性address表示的是“收货地址”。而收货地址的最初始来源是顾客,因此C1的类名是Customer(顾客)。

  • 16
    点赞
  • 179
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值