面向对象分析与设计——建模工具UML:用例图

为什么要建模?

  • 因为不能完整地理解一个复杂的系统,所以要对它建模
  • 建模是为了能够更好地理解正在开发的系统
  • 建模的四个目的:
    1. 帮助我们按照需要对系统进行可视化
    2. 允许我们详细说明系统的结构和行为
    3. 给出了一个指导我们构造系统的模板
    4. 对我们所做出的决策进行文档化

UML是啥?

uml:统一建模语言。
面向对象分析与设计——建模工具UML:用例图_第1张图片
事物与事物之间必定存在关系,将这些事物和关系结合在一起,就构成了图。
最重要的图有以下几种:

  • 用例图和活动图是用来捕获需求的。
  • 类图是用来做设计的。
  • 顺序图和通信图是用来验证类图设计的对不对。
  • 状态图

用例图

用例模型是用来帮助我们捕获用户需求的工具。

参与者(Actor)

  • 代表位于系统之外并和系统进行交互的一类事物(人、物、其他软件子系统等)。
  • 通过它,可以对软件系统与外界发生的交互进行分析和描述。
  • 通过它,可以了解客户希望软件系统提供哪些功能。

Actor的图形表示:

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

面向对象分析与设计——建模工具UML:用例图_第2张图片
如何寻找参与者?

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

对每一类参与者要有简短描述:
例如, 学生:需要参加培养计划规定的课程,并通过考核。

练习:查找 Actor:
银行ATM机的Actor有 :

  • 用户/管理员
  • 网络 / 数据库

用例

  • 系统为响应参与者引发的一个事件而执行的一系列的处理/动作。这一系列处理/动作被称为用例。
  • 这些动作
    • 不但应包含正常情况的各种动作序列。
    • 而且应包含对非正常情况时软件系统的动作序列的描述。

用例图:
系统边界:矩形方框。
参与者
用例:用椭圆型表示,背后是一系列的动作。
关系:线
面向对象分析与设计——建模工具UML:用例图_第3张图片
寻找用例:

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

每个用例都有一个名称:

  • 短小精悍的“动名词”。
  • 例如ATM系统,经典的用例有“取钱” “存钱”“修改密码”等。

用例图中的关系

1)参与者与用例之间

  • 关联关系: 用实线表示

2)参与者/参与者之间的关系

  • 泛化关系:实线+空心箭头

3)用例之间的关系

  • 泛化关系 例如、发出订单 - 网上发出订单
  • 含关系《include》
  • 扩展关系《extend》

面向对象分析与设计——建模工具UML:用例图_第4张图片
面向对象分析与设计——建模工具UML:用例图_第5张图片

用例描述

一个用例的描述包括一个主事件流和多个异常事件流。
面向对象分析与设计——建模工具UML:用例图_第6张图片
用例描述的格式:
面向对象分析与设计——建模工具UML:用例图_第7张图片

用例模型小结

  • 是软件开发人员分析客户业务流程的结果
  • 是面向对设计的输入
  • 是开发部门与顾客之间的合同
  • 是软件设计部门与软件工程师之间的合同
  • 是开发部门领导、非直接开发人员,了解系统的主要信息来源

你可能感兴趣的:(面向对象设计与分析)