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

  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(顾客)。

用例图类图练习(网上购物平台)相关推荐

  1. php电商网站开发流程图,php网上购物平台设计+ER图+流程图.doc

    php网上购物平台设计ER图流程图 php网上购物平台设计+ER图+流程图 摘要:广义来说,电子商务是指电子工具在商务活动中的应用.狭义来说,电子商务是在技术.经济高度发达的现代社会里,掌握信息技术和 ...

  2. asp毕业设计——基于asp+access的校园网上购物平台设计与实现(毕业论文+程序源码)——网上购物平台

    基于asp+access的校园网上购物平台设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的校园网上购物平台设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. ...

  3. UML 建模步骤 用例图 类图 对象图 包图 顺序图/时序图 状态图 活动图 协作图

    统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明.可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言. UML是面向对象设计的建 ...

  4. (纯原创) 基于JAVAWEB的网上购物平台(完整源代码)

    摘要     随着计算机网络技术的飞速发展和人们生活节奏的不断加快,电子商务技术已经逐渐融入了人们的日常生活当中,网上商城作为电子商务最普遍的一种形式,已被大众逐渐接受.因此开发一个网上商城系统,适合 ...

  5. starUML教程-用例图/类图

    用例图 也称为用户模型图 是从软件需求分析到最终实现的第一步 它是从客户的角度来描述系统功能 它包含3个基本组件: 1.参与者:与系统打交道的人或使用该系统的人 2.用例:表示该系统的某项完整功能 3 ...

  6. 网上购物软件的测试计划,网上购物平台购物测试计划书

    这是在学习软件测试自己写的软件测试计划书,可以让大家参考一下. 目录 (一) 简介........................................................... ...

  7. 车辆销售系统用例_服装销售系统 数据流图 用例图 类图都有

    项目编号: 2014-19 项目名称:连锁零售运动装管理系统 项目描述: 随着社会经济的迅速发展和科学技术的全面进步以及计算机 事业的飞速发展, 以计算机科学与通信技术为基础的信息管理系统正处于蓬 勃 ...

  8. 项目前期——用例图、类图、活动图、组件图

    建立模型是为了更好地理解要模拟的现实世界,是软件开发方法的核心问题.在结构化方法中,使用SA构建系统的环境模型和逻辑模型,实现模型的主要工具有数据字典(DD).ER图和数据流图(DFD). 面向对象方 ...

  9. UML实践---用例图、顺序图、状态图、类图、包图、协作图

    转载:http://www.uml.org.cn/oobject/200901203.asp 面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UM ...

最新文章

  1. 20169205实验一 Java开发环境的熟悉(Linux+IDEA)
  2. Qt Creator导入3D资产Importing 3D Assets
  3. MVC架构在Asp.net中的应用和实现
  4. mysql cmake错误_MySQL5.5安装出现CMake错误找不到CMakelists.txt原因-阿里云开发者社区...
  5. 全国计算机等级考试职称,全国职称计算机考试与全国计算机等级考试有什么不同?...
  6. [Android] Bitmap OOM解决办法一
  7. 百度SEO站群织梦响应式博客资讯网模板
  8. c# 判断是否存在次盘符_C# 怎么自动识别U盘盘符 进行判断 读写操作
  9. DeepStream插件Gstreamer(一):概述
  10. kong 网关教程入门
  11. 4. ubuntu php composer
  12. 锻炼编程思维的小题目
  13. 如何在win7下如何创建虚拟磁盘
  14. POJ- 1751 Highways
  15. 保证服务4个9的可用性的核心思路
  16. Python网络爬虫模块介绍:fake-useragent模块快速生成User-Agent信息
  17. 微信限制收付款怎么解决_解决付款处理问题
  18. lisp边长注记_小程序cad批量注记建筑物边长
  19. CMCT-FA修饰阿霉素纳米脂质体/ADR-HAS-MS单抗Hab18偶联阿霉素人血清白蛋白微球的制备方法
  20. 【UE4 附源工程】VR直升机模拟飞行与轰炸制作流程

热门文章

  1. 最新云盘网盘PHP系统源码+对接云存储/附安装教程
  2. 2019年全国马拉松报名时间指南
  3. JAVA调用Matlab代码(MATLAB 2014a)
  4. iMazing最新版本Win64位系统详细安装教程
  5. ubuntu20.04 系统备份以及迁移
  6. Git忽略文件不起作用的原因及解决办法
  7. ThreadX内核源码分析(SMP) - 核间互斥(arm)
  8. java小项目之成绩管理、排课软件、局域网聊天软件
  9. 代码的“处理”英文该使用handle/cope/deal
  10. 离开小厂进大厂的第一周:我后悔了