(2.2)建模工具UML用例模型

1.参与者Actor

  • 定义
    (1)代表位于系统之外并和系统进行交互的一类事物(人、物、其他软件子系统等)
    (2)通过它,可以对软件系统与外界发生的交互进行分析和描述
    (3)通过它,可以了解客户希望软件系统提供哪些功能
  • Actor的图形表示
    (1)参与者是人,用“小人图”
    (2)参与者是某个系统时用方框图,构造型 《actor》
    在这里插入图片描述
  • 依据下面的问题来寻找系统的参与者
    ① 谁使用系统? Who or what uses the system
    ② 谁安装系统、维护系统? Who installs the system? Who maintains the system
    ③ 谁启动系统、关闭系统? Who starts and stops the system
    ④ 谁从系统中获取信息,谁提供信息给系统? Who gets and provides information to
    the system
    ⑤ 在系统交互中,谁扮演了什么角色? What roles do they play in the interaction
    ⑥ 系统会与哪些其他系统相关联? What other systems interact with this system
    ⑺ 内/外部定时器 Does anything happen at a fixed time?
  • eg:
 手机软件系统的Actor有
 用户
 网络
 SIM卡

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

 银行ATM机的Actor有
 用户/管理员
 网络 / 数据库

2.用例Usecase

  • 系统为响应参与者引发的一个事件而执行的一系列的处理/动作,而这些处理应该为参与者产生一种有价值的结果
  • 这些动作
    (1)不但应包含正常情况的各种动作序列
    (2)而且应包含对非正常情况时软件系统的动作序列的描述, Exception / Alternate
  • 用例图
    (1)边界
    (2)参与者
    (3)用例
    (4)关系
    在这里插入图片描述

3.寻找用例

  • 可以根据下面的一些问题来识别用例
    ①参与者希望系统提供什么功能 Start with actors, then identify what they want to do What functions will the actor want from the system ?
    ②系统是否存储和检索信息
    ③当系统改变状态时,是否通知参与者 Are any actors notified when the system changes ?
    ④是否存在影响系统的外部事件,是哪个参与者通知系统这些外部事件 Are there external events that notify the system ?
    ⑤哪个参与者触发了活动? Which actors trigger activity ?

  • 每个用例都有一个名称,用短小精悍的“动名词”

4.用例图中的关系

  • 1)参与者与用例之间
    关联关系: 用实线表示
  • 2)参与者/参与者之间的关系
    泛化关系:实线+空心箭头
  • 3)用例之间的关系
    泛化关系 例如、发出订单 - 网上发出订单
    含关系《include》
    扩展关系《extend》
  • eg:
    在这里插入图片描述

5.用例描述:UseCase description

  • 仅有用例图还不够,还需要详尽的文字描述!
  • 主事件流: 一切正常时的动作序列
  • 异常事件或者可选事件流: 主事件流的每一步都有可能出现异常, 此处描述异常情况的处理
  • eg:
    在这里插入图片描述
  • 一种用例描述的格式
    在这里插入图片描述

6.用例模型

  • 用例模型包括
    系统边界
    参与者
    用例
    用例图
    用例描述
  • 用例模型是系统分析的结果、是系统设计的输入
  • eg:
    在这里插入图片描述
用例:处理销售
Summary : 完成一笔日常销售业务的处理
Actor List : 顾客、收银员、财务子系统、税金计算器
Pre-Cond : 收银员必须经过确认和认证

Description :
1)顾客携带所购商品或服务到收银台通过POS机付款
2)收银员开始一次新的销售交易
3)收银员输入商品条码
4)系统记录出售的商品,显示品名、价格、数量

重复第3~4步,直到输入结束
5)系统显示应付总额
6)顾客付钱,系统处理支付
7)系统记录完整的销售信息,打印票据
8)顾客携带商品和票据离开,销售结束

Exception :
3a : 无效商品ID,收银员手工输入,或者取消该商品
3b : 顾客要求删除某项已经输入的商品,需要经理授权
,并删除商品
6a : 顾客信用卡不足部分,需要现金支付,请经理授权
,并接受现金
…….

PostCond :
系统完整记录该笔销售业务的信息
系统正确协同其他子系统,确保数据一致性

6.用例模型小结

  • 是软件开发人员分析客户业务流程的结果
  • 是面向对象分析的结果
    不一定完全是面向对象分析的结果
  • 是面向对象设计的输入
  • 是开发部门与顾客之间的合同
  • 是软件设计部门与软件工程师之间的合同
  • 是开发部门领导、 非直接开发人员, 了解系统的主要信息来源
  • 一旦用例模型有错误, 代价是很大的!
发布了556 篇原创文章 · 获赞 140 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/u011436427/article/details/104235783