UML 又称统一建模语言或标准建模语言,是一个支持模型化和软件系统开发的图形化语言,它的作用域不仅仅支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程;
模型是对现实的简化,建模是为了更好地理解系统:
- 模型帮助我们按照实际情况或需求对系统可视化;
- 模型允许我们详细说明系统的结构行为;
- 模型给出了一个构造系统的模板;
- 模型对我们作出的决策进行文档化;
- 统一的标准,已经被 OMG 接受为标准建模语言;
- 面向对象,支持面向对象开发;
- 可视化,表示能力强;
- 独立于开发过程,可以适用于不同的软件过程;
- 概念明确,表示清晰、结构清晰、容易掌握;
- 事物(元素)thing :模型中最具有代表性成分的抽象;
- 关系 relationship :事物之间的联系;
- 图 diagram :相关事物的集合;
描述一组用例、参与者以及它们之间的联系,用例模型描述的是外部执行者所理解的系统功能,用于需要分析阶段;
用例之间的关系:
包含(include)
- 两个以上用例有共同功能,可分解到单独用例,形成包含依赖;
- 箭头方向由基本用例指向被包含用例;
- 执行基本用例时,每次都必须调用被包含的用例;
- 包含用例也可以单独执行;
扩展(extend)
- 如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事情,则可以断定将这个用例分为一个主用例和一个或多个辅助用例进行描述会更加清晰;
构建用例模型需要 3 个阶段:
(1)识别参与者(actor)
- 参与者是系统之外与系统进行交互的任何事物,参与者可以是使用系统的用户,可以是其他外部系统、外部设备等外部实体;
- 在 UML 中采用小人符号来表示参与者;
- 参与者有主要参与者和次要参与者,开发用例的重点是要找到主要参与者;
(2)合并需求获得用例
- 将参与者都找到后,为每一个参与者确定用例;
- 确定用例的依据主要类源于已取得的特征;
- 将特征分配至相应的参与者,然后进行合并操作,最后绘制用例图;
业务用例和系统用例:
- 业务用例:是描述这个业务具体工作流程的,体现功能性需求,需要 actor 和业务目标来体现;
- 系统用例:是侧重于系统交互的,可理解为要实现某个业务⽤例的系统级实现,要注意的是系统⽤例并不是业务需求的细分;
(3)细化用例描述
用例建模的主要工作是书写用例规约而不是画图;
用例模板为一个给定项目的所有人员定义了用例规约发结果,其内容至少包括用例名、参与者、目标、前置条件、事件流(基本事件流、扩展事件流)、后置条件等,其他的还可以包括非功能需求、用例优先级等;