3.用例建模
用例建模
目录
- 需求建模
- 用例
- 参与者
- 确定用例
- 用例图
- 用例描述
- 用例关系
1 需求建模
1.1 需求和需求建模
- 描述了用户对系统的期望,主要涉及系统的外部特性
- 类型: 包括功能需求和非功能需求
- 目的: 代替手工系统或者替代旧系统
- 建模: 包含需求分析和需求规约
1.2 相关问题
- 需求分析需要考虑的问题:涉众扮演的角色、系统使用、特性、优势和局限性。
- 需求规约:与用户达成共识的文档。也就是需求分析说明书。需求规约的质量属性:正确、完整、无二义性;一致、可验证、易理解特性;可修改、可追踪。
- 非公能需求:性能、可用性、安全。
2 用例
2.1 用例作用
用例建模是用来描述系统功能的一种方法。用例定义了一个或多个参与者与系统交互的序列。用例不关心具体实现,总是从参与者的输入开始。
2.2 用例表示
- 用例名称
- 概述
- 依赖:是否依赖、包含、扩展了其他用例。
- 参与者
- 前置条件:用例启动的条件
- 主序列:主场景
- 备选序列:在某些决策点上进入的场景
- 非公能需求:性能和安全性的需求
- 后置条件:用例执行完后总是为真的结果
- 未解决的问题:需要讨论的问题
3 参与者
3.1 参与者作用
描述了一个与系统交互的外部用户。是一类外部用户,单个用户是参与者的实例。
3.2 参与者分类
- 人类参与者
- 外部系统参与者
- 设备参与者
- 计时器参与者
4 确定用例
5 用例关系
5.1 包含关系
- 包含用例和基用例
- 多个包含用例构成了一个交互序列,包含用例是抽象的,不能独立执行。
- 包含用例反映了多个用例之间的共同功能。
- 基用例包含并执行包含用例。
- 包含用例用来组织冗长交互序列的用例(将大量交互序列进行分成多个用例中的交互序列)。是一种层层细分的建模思路。基用例提供了用户与系统之间高层抽象交互序列,包含用例提供了用户与系统底层细分的交互序列。
5.2 扩展关系
- 将可替换的、备选的、异常的分支作为新的用例。基用例,扩展用例。
- 根据条件确定基用例以不同的方式扩展。扩展用例依赖于基用例,需要基用例在满足一定条件时执行。
- 扩展点,用来扩展基用例的位置。可以根据条件分成多个扩展用例。扩展条件,是在基用例运行时确定的。
6 用例组织
- 用例包:描述系统主要功能的集合,表示更高层的集合。
- 可以基于用例的主要参与者,组织成用例包
- 可以根据具有相同非公能需求的用例,组织成用例包。
7 活动图
描述控制流和活动序列的UML图。(就像平时说的流程图)显示了活动序列、决策点、循环、并发活动。用例模型可以使用活动图来描述主序列和备选序列。
这里很明显说明了建模过程中的需求建模包含了建模方法:用例建模(表示功能需求)和静态建模(表示数据需求)其中用例建模可以使用UML图形工具中的用例图(表示用例关系)和活动图(表示用例执行序列)来实现。
对建模过程、建模方法、建模工具进行了很好的区分。
对软件生存周期中的建模过程和这里的建模方法的关系进行说明:一个是描述具体实践是建模的过程,另个一描述的是建模的方法。需求建模、分析建模、设计建模分别是生存周期当中,三个不同的建模阶段,每个建模阶段可能采取的方法也不止,比如需求建模可能包括:用例建模方法表示功能,静态建模方法表示数据。
对软件的建模方法和UML图的关系进行说明。UML图是一种图形工具,用来更好的表示方法,而不是方法不慎。所以UML画的图可以更好的描述建模的过程。用例建模用到了用例图,静态建模用到了类图、对象图、包图、构件图等。所以要区分过程、方法和工具。
我觉得现在的知识体系有点乱,首先应该把所有的基础内容都了解一下,至少看一遍。然后,花费大量时间,对学到的知识进行总结,构件知识体系。此时应该可以使用头脑风暴的图,来整理相关领域的知识。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!




