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

目录

背景:

基本组成:

关联(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):

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

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

完整银行系统用例图:

总结:

用例图的好处 解释
清晰表达系统需求 通过展示参与者与系统之间的交互,使系统需求更加明确和直观
促进沟通 为开发团队、测试团队、业务分析师等提供了共同的语言和理解基础
识别系统功能 明确列出系统需要实现的功能,有助于后续的设计和开发工作
降低开发风险 通过早期识别潜在的问题和需求变更,减少开发过程中的风险和不确定性
支持迭代开发 易于更新和调整,适应迭代开发过程中的需求变化
提高开发效率 为开发团队提供了明确的指导,减少不必要的开发和测试工作
相关推荐
huohuopro44 分钟前
UML的概念和主图学习
学习·uml
魔士于安2 天前
unity 圆盘式 太空飞船
游戏·unity·游戏引擎·贴图·模型
魔士于安2 天前
宇宙版地球模拟器
游戏·unity·游戏引擎·贴图·模型
魔士于安2 天前
氛围感游戏场景,天空盒,带地形,附赠一个空要塞
游戏·unity·游戏引擎·贴图
mxwin3 天前
Unity Shader 用 Ramp 贴图实现薄膜干涉效果
unity·游戏引擎·贴图·shader·uv
魔士于安3 天前
Unity星球资源,八大星球,带fps显示
游戏·unity·游戏引擎·贴图·模型
Traced back3 天前
从0到1:UML统一建模语言实战指南(纯理论+通用案例)
uml
CG_MAGIC4 天前
Blender《废弃房屋》的制作过程
3d·blender·贴图·效果图·建模教程
@我漫长的孤独流浪5 天前
UML核心概念与关系全解析
uml
CG_MAGIC10 天前
3D 软件文件格式详解:OBJ/FBX/USD 导出与导入规范
3d·blender·贴图·建模教程·渲云渲染