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

目录

背景:

基本组成:

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

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

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

完整银行系统用例图:

总结:

用例图的好处 解释
清晰表达系统需求 通过展示参与者与系统之间的交互,使系统需求更加明确和直观
促进沟通 为开发团队、测试团队、业务分析师等提供了共同的语言和理解基础
识别系统功能 明确列出系统需要实现的功能,有助于后续的设计和开发工作
降低开发风险 通过早期识别潜在的问题和需求变更,减少开发过程中的风险和不确定性
支持迭代开发 易于更新和调整,适应迭代开发过程中的需求变化
提高开发效率 为开发团队提供了明确的指导,减少不必要的开发和测试工作
相关推荐
_codemonster5 小时前
UML静态图之类图详解
uml
摄影图1 天前
太空站宇宙地球高清素材 适配科普宣传多类创作需求
科技·aigc·贴图·插画
深念Y1 天前
我在 Trae 里用 UML-mcp-renderer 画图,发现了 MCP 跟 CLI+Skills 的区别
agent·uml·cli·幻觉·mcp·trae·skills
hssfscv2 天前
软件设计师下午题训练1-3题+2019上上午题错题解析 练习真题训练13
笔记·设计模式·uml
摄影图2 天前
蓝色光效科技背景图片素材 多场景设计
人工智能·科技·aigc·贴图·插画
CG_MAGIC2 天前
Enscape 新手从零到出图全流程
3d·贴图·uv·建模教程·渲云渲染
摄影图3 天前
量子计算科技图片素材 高清商用适配多场景
科技·aigc·量子计算·贴图·插画
CG_MAGIC4 天前
3ds Max 模型导入导出常见报错解决方法
3d·贴图·效果图·建模教程·渲云渲染
今儿敲了吗4 天前
面向对象(二)——UML基础
笔记·uml
BugShare5 天前
轻量级原生 macOS 智能剪贴板管理器
macos·贴图