初学者指南:用例图——开启您的软件工程之旅

目录

背景:

基本组成:

关联(Assciation):

包含(Include):

扩展(Extend):

泛化(Inheritance):

完整银行系统用例图:

总结:


背景:

用例图(Use Case Diagram)是一种在软件开发和系统设计中广泛使用的图形化工具,它属于UML(Unified Modeling,统一建模语言)的一部分。用例图通过展示参与者(Actor)与系统用例(Use Case)之间的交互关系,来描述系统功能需求和行为

基本组成:

|-----------------|----------------------------------------------------------------------------|-----------------------------------------------------------------------|
| 名称 | 表示 | 名词解释 |
| 系统(System) | | 用一个矩形代表一个系统,然后将系统名称放在顶部。矩形用于定义系统的范围,矩形内的所有内容都在系统内发生,矩形外的所有内容都不会在系统外发生 |
| 参与者(Actor) | | 与系统交互的外部实体,可以是用户、其他系统或任何能够触发系统功能的实体 |
| 用例(Use Case) | | 描述系统的一个功能或行为,是系统参与者提供的一项服务或完成一个任务 |
| 关联(Assciation) | | 参与者与用例间的关系 |
| 包含(Include) | | 参与者之间或用例之间的关系 |
| 扩展(Exten) | | 用例之间的关系 |
| 泛化(Inheritance) | | 用例之间的关系 |

关联(Assciation):

关联关系,用实线表示。表示参与者与用例与用例之间的通信,任何一方都可以发送和接收消息。

例子:在银行系统中,客户(参与者)与登录(用例)之间存在关联关系。客户登录银行应用、客户检查账单、客户转账、客户付款。这种之间的连接或交互就是关联关系

包含(Include):

包含关系,把一个较复杂用例所表示的功能分解成较小的步骤,是上一个用例过程中不可可少的。箭头指向包含的子用例

例子:登录是基本用例,验证密码是包含用例,在银行系统中,每次客户登录时,银行应用都会验证密码

扩展(Extend):

扩展关系,用例功能的延伸,相当于为基础用例提供一个附加功能。(指向基础用例)

基本用例和扩展用例,当执行基本用例时,扩展用例有时候会触发有时候不会触发,扩展用例只会在满足某种条件的时候才会触发,

当有扩展关系时,使用一条带有箭头的虚线指向基本用例

例子:在银行系统中,登录是基本用例,而提示登录错误是一个扩展用例,银行应用不会在每次可客户登录时都提示登录错误消息,而是当客户输入错误的密码时,才会提示登录错消息。因为这是一个扩展关系,所以画一条带有箭头的虚线,箭头指向基本用例。

转账和支付者两个动作完成之前都需要检查余额是否充足

泛化(Inheritance):

泛化关系是一种继承关系,它表示一般与特殊的关系。在用例图中,泛化关系通常用于描述用例或参与者之间的继承关系。一个用例(或参与者)可以是另一个用例(或参与者)的特化或子类,继承父类(基类)的所有行为或者特征。

例子:在银行系统中,当客户使用银行应用付款时,可以从支票账户进行付款或者从储蓄账户进行付款,付款是一个通用用例。从支票账户付款和从储蓄账户付款是专门用例,可以把它们叫做父用例和子用例,子用例有着父用例的功能,并且子用例还具有特有的功能。

完整银行系统用例图:

总结:

用例图的好处 解释
清晰表达系统需求 通过展示参与者与系统之间的交互,使系统需求更加明确和直观
促进沟通 为开发团队、测试团队、业务分析师等提供了共同的语言和理解基础
识别系统功能 明确列出系统需要实现的功能,有助于后续的设计和开发工作
降低开发风险 通过早期识别潜在的问题和需求变更,减少开发过程中的风险和不确定性
支持迭代开发 易于更新和调整,适应迭代开发过程中的需求变化
提高开发效率 为开发团队提供了明确的指导,减少不必要的开发和测试工作
相关推荐
qq_5298353510 小时前
1 分钟掌握 PlantUML,快速绘制 UML 类图!
uml
北京理工大学软件工程2 天前
软件工程-UML
软件工程·uml
Tiger Z2 天前
R 语言科研绘图 --- 韦恩图-汇总
开发语言·程序人生·r语言·贴图
编程在手天下我有2 天前
一文读懂 UML:基础概念与体系框架
uml
在下胡三汉2 天前
3dmax批量转glb/gltf/fbx/osgb/stl/3ds/dae/obj/skp格式导出转换插件,无需一个个打开max,材质贴图在
3d·材质·贴图
Yang-Never2 天前
Open GL ES ->纹理贴图,顶点坐标和纹理坐标组合到同一个顶点缓冲对象中进行解析
android·java·开发语言·android studio·贴图
光头颜2 天前
UML之扩展用例
uml·ooad·分析与设计
编程在手天下我有2 天前
UML 关系探秘:理论与实践双维度剖析
uml
吴八月6 天前
UML用例图-UML Use Case Diagram
uml
juebai12310 天前
密集球光照贴图生成
贴图