UML用例模型与用例图

本篇来介绍UML中的用例模型。

1 什么是用例模型

用例模型(Usecase Model)

用例模型包括:

  • 系统边界
  • 参与者
  • 用例
  • 用例图
  • 用例描述

用例模型是系统分析的结果,是系统设计的输入

2 用例模型具体介绍

2.1 参与者

2.1.1 Actor简介

参与者(Actor),也有翻译为“执行者”,它代表位于系统之外并和系统进行交互的一类事物,包括人、物、其它软件子系统等。

通过参与者,可以:

  • 对系统软件与外界发生的交互进行分析和描述
  • 了解客户希望软件系统提供哪些功能

参与者有两种图形表示:

  • 参与者是人:用“小人图”
  • 参与者是某个系统:用方框图,构造型《actor》,(stereotype)

对每一类参与者要有简短描述,例如:

  • 学生:需要参加培训计划规定的课程,并通过考核

2.1.2 如何寻找系统的Actor?

可以根据下面的问题来寻找Actor

  • 谁使用系统?
  • 谁安装系统、维护系统?
  • 谁启动系统、关闭系统?
  • 谁从系统中获取信息,谁提供信息给系统?
  • 在系统交互中,谁扮演了什么角色?
  • 系统会与哪些其它系统相关联?
  • 内/外部定时器

2.1.3 小例子:寻找Actor

学院管理系统的Actor有:

  • 用户/学生/教师/系统管理员
  • 数据库
  • 如果有子系统
    • 其它系统作为一个Actor
    • 有时数据库可以作为一个Actor

2.2 用例

2.2.1 Usercase简介

用例(Usecase),也被翻译为“用况”,是系统为响应参与者引发的一个事件而执行的一系列的处理/动作,而这些处理应该为参与者产生一种有价值的结果,这些动作包括:

  • 正常情况的各种动作序列
  • 非正常情况时软件系统的动作序列的描述,Exception / Alternate

每个用例都有一个名称,注意是短小精悍的动名词,如

  • ATM系统,经典的用例有:取钱、存钱、修改密码等

2.2.2 如何寻找用例?

可以根据下面的问题来寻找Usecase:

  • 参与者希望系统提供什么功能?
  • 系统是否存储和检索信息?
  • 当系统改变状态时,是否通知参与者?
  • 是否存在影响系统的外部事件,是哪个参与者通知系统这些外部事件?
  • 哪个参与者触发了活动?

2.3 用例图

2.3.1 用例图基本元素

用例图包括:

  • 边界:一个泛泛的概念,在图中用一个方框表示
  • 参与者:Actor
  • 用例:Usecase
  • 关系:关联关系

2.3.2 用例图中的关系

  • 参与者用例:关联关系,实线表示
  • 用例用例
    • include包含:ATM系统输入密码
    • extend扩展:ATM是否要打印单据
    • 泛化:下订单与网上下订单(泛泛的概念与具体的概念)

  • 参与者参与者(两个小人之间:买家与顾客、销售代理):泛化关系,实线+空心箭头

2.4 用例描述

仅有用例图还不够,还需要详尽的文字描述!这就是用例描述(Usecase description)。

用例描述包括:

  • 主事件流:一切正常时的动作序列
  • 异常事件或可选事件流:主事件流的每一步都有可能出现异常,此处描述异常情况的处理

用例描述的格式

  • 总述(Summary),这个用例大概是什么功能
  • 参与者列表(Actor List),这个用例涉及到哪些参与者
  • 前置条件(Pre-condition),这个用例要想运行,一定要满足一些条件。TAM取钱,需要网络要通,ATM里要有钱
  • 描述(Description),怎么取钱,第一步,插卡,第二步,系统提示,第三步,输入密码,第四步,验证密码等等
  • 后置条件(Post-condition),用例执行完后,系统应该处于哪种状态,取钱的后置条件,取到了真的钱,同时银行账户要扣掉对应的钱,不能多扣也不能少扣
  • 异常情况(Exception),密码输错,余额不足,取的钱没吐出来

3 用例模型案例:POS系统

用例图

用例描述

用例:处理销售

  • 总述(Summary):完成一笔日常销售的业务处理
  • 参与者列表(Actor List):顾客、收银员、财务子系、税金计算器…
  • 前置条件(Pre-condition):收银员必须经过确认和认证
  • 描述(Description):
    • 1)顾客s携带所购商品或服务到收银台通过POS机付款
    • 2)收银员开始一次新的销售交易
    • 3)收银员输入商品条码
    • 4)系统记录出售的商品,显示品名、价格、数量
    • 重复第3~4步,直到输入结束
    • 5)系统显示应付总额
    • 6)顾客付钱,系统处理支付
    • 7)系统记录完整的销售信息,打印票据
    • 8)顾客携带商品和票价离开,销售结束
  • 后置条件(Post-condition):
    • 系统完整记录该笔销售业务的信息
    • 系统正确协同其它子系统,确保数据一致性
  • 异常情况(Exception):
    • 3a:无效商品ID,收银员手工输入,或取消该商品
    • 3b:顾客要求删除某项已输入的商品,需要经理授权,并删除商品
    • 6a:顾客信用卡不足部分,需要现金支付,请经理授权,并接受现金

4 总结

本篇介绍了UML中的用例模型,包括参与者、用例、用例图、用例图中的关系、用例描述等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值