《面向对象分析与设计》一3.4 用况图

简介: 本节书摘来自华章出版社《面向对象分析与设计》一书中的第3章,第3.4节,作者 麻志毅,更多章节内容可以访问云栖社区“华章计算机”公众号查看

3.4 用况图

用况图是一幅由参与者、用况以及这些元素之间的关系组成的图。这些关系是参与者和用况之间的关联、参与者之间的继承,以及用况之间的包含、扩展和继承。根据需要,用况图也可以有注释(见图315中的卷角矩形)。
可以选择把用况用一个矩形围起来,用来表示系统或子系统的边界。图314为一个订单处理系统的用况图。

image

在图314中,用大方框把用况围起来,而把参与者放在外边,以此来表示系统边界。也可以不画系统边界,因为参与者位于系统边界以外而用况位于系统边界以内本身就体现出了系统边界的含义。
图315所示的是一个银行取款系统的用况图片段。

image

图315中用到了用况间的两种关系。图316和图317给出了其中两个用况的文字描述片段。

image

图3-16中的包含与扩展的写法是建议性的,UML对此没有做出规定。

image

图317所示用况的书写方式强调基本流和可选流。
图315所示的用况图仅是整个银行取款系统的用况模型中的一部分,只是说明了有限的功能。如果系统比较复杂,就要绘制多幅用况图,每幅用况图只注重于系统功能的一个方面。
使用用况图描述系统需求有如下益处:
1)由于系统可能会很复杂,分析员借助于用况模型可正确而全面地理解需求。
2)分析员能够得到的反映用户需求的材料常常是不够规范或不够准确的。通过全面、细致地定义用况,可把用户对系统的功能需求比较准确地在用况模型中表达出来,并且在形式上是较为规范的。
3)为领域专家、用户和开发者提供一种相互交流的手段,以使各方对需求的理解达成共识。
4)用况可以作为人机界面的设计基础,也可用做黑盒测试的测试用例。

相关文章
|
Ubuntu Linux API
libusb简介及在Linux中安装libusb
最近做了关于在X86环境下通过FT232H芯片实现的USB转SPI的相关驱动,接触到了libusb。libusb是一个开源的用C实现的,应用程序与用户的USB设备进行通信的库。它是可移植的,对外使用统一的API,支持Windows、macOS、Linux、Android。它是用户模式(user-mode),应用程序与USB设备通信不需要高权限,但是在Android下好像有些接口需要root权限才能调用成功。它支持所有版本的USB协议。它的License是LGPL,源码地址在https://github.com/libusb/libusb,最新发布版本为1.0.23。
libusb简介及在Linux中安装libusb
|
8月前
|
存储 网络协议 算法
从HPACK到多路复用,揭秘HTTP/2如何终结网络拥堵
HTTP/2通过HPACK压缩头部冗余信息,提升传输效率;并利用多路复用技术,在单个TCP连接上并行处理多个请求,避免队头阻塞,显著提升性能。同时支持服务器推送和流优先级设置,优化资源加载体验。
493 7
|
10月前
|
前端开发 JavaScript 编译器
Vue3:现代前端开发的革新力量
Vue3:现代前端开发的革新力量
289 6
|
数据采集 机器学习/深度学习 数据可视化
探索大数据分析的无限可能:R语言的应用与实践
探索大数据分析的无限可能:R语言的应用与实践
678 9
|
存储 算法 测试技术
【软件工程】软件工程复习题库2023
【软件工程】软件工程复习题库2023
692 0
|
传感器 机器学习/深度学习 算法
Nvidia Isaac Sim介绍 入门教程 2024(1)
Nvidia Isaac Sim是一个为NVIDIA Omniverse平台开发的机器人仿真工具包,提供高保真度的物理仿真和多传感器RTX渲染,支持ROS2并能够生成合成数据集,用于机器人的设计、调试、训练和部署。
3114 0
C#学习virtual(虚拟的)和abstract(抽象的)的区别
C#学习virtual(虚拟的)和abstract(抽象的)的区别
495 0
|
数据可视化 关系型数据库 数据库
告别破解版烦恼!Navicat Premium Lite免费版它来了
作为一名后端开发者,在开发过程中使用可视化工具查看数据库中的数据是我们的基本操作。Navicat作为一款广受欢迎的数据库连接工具,深受我们喜爱和挑战。我们喜爱它强大的功能和直观的操作习惯,但又对它的收费模式感到不满。个人使用可以通过破解解决,然而在公司环境下,由于侵权问题,我们通常被禁止使用,这令我们感到很不便。然而,最近Navicat推出了一款免费的产品——Navicat Premium Lite。
7327 1
告别破解版烦恼!Navicat Premium Lite免费版它来了
|
开发框架 前端开发 定位技术
在Mars3d实现cesium的ImageryLayer自定义瓦片的层级与原点
通过上述步骤,您可以成功在Mars3D平台上集成Cesium,并实现自定义瓦片图层的层级与原点配置。这一过程不仅提升了地图应用的定制化程度,也为处理特定数据集和优化用户体验提供了灵活的解决方案。在实际开发过程中,不断测试和微调是确保图层展示效果与性能的关键。
1056 0
|
程序员 C# 图形学
Unity3D学习笔记1——绘制一个三角形
Unity3D学习笔记1——绘制一个三角形
403 0