UseCase关系趣解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京火龙果软件工程技术中心
www.uml.org.cn
用例模型
武松 回家 <<include>> <<include>> 过景阳岗
武松-回家
当差的 办事
当差的-办事 武松-回家 找清河县令 要回家 Include use case 三碗不过岗 遇到老虎,打虎 过岗 回家 Include use case 三碗不过岗 住店 过岗 到县府 ……
验证
用户 程序员
测试员
北京火龙果软件工程技术中心
www.uml.org.cn
用例的误区
不用用例的时候,不算成功,但没有失败, 用用例的时候,反而失败了 编写了大量的用例,但是无人问津, 一个用例很美,100个用例很丑
100个用例要整 体和个体同时把 握。
用例带来的首先是思维,价值在于内 容,然后是形式,用例的形式取决于 内容,理论不会照顾所有
!!
打死老虎 偷猎者张三打虎
老虎要吃人=武松,老娘,唐僧 使用打虎工具=梢棒,朴刀,金箍棒 打死虎
原因=牟利 工具=猎枪 结果=空手而归
北京火龙果软件工程技术中心
www.uml.org.cn
关系的用法
用例的关系来自于对用例场景内容结构的分析 不要过分沉迷用例之间的关系 包含,扩展关系是面向执行具体场景的 泛化关系是面向结构定义的,也可以包含执行具体场景
北京火龙果软件工程技术中心
www.uml.org.cn
泛化关系-示例
打虎原因 虎要吃人 使用??打老虎 打死老虎 提炼 来到三碗不过冈 武松喝了15碗 武松要过井阳岗 武松睡着了 老虎要吃武松 武松打老虎 梢棒 折断 赤手空拳打虎 打死老虎 三碗不过冈 老虎要吃老娘 老娘被吃 怒寻老虎 用朴刀打虎 杀死2只小老虎 杀死母老虎 杀死公老虎 实例化 老虎要吃人=武松,老娘,唐僧
北京火龙果软件工程技术中心
www.uml.org.cn
扩展关系
目的:
表明用例的某一部分是可选(或可能可选)的系统行为。将 模型中的可选行为和必选行为分开。 表明只在特定条件(有时是例外条件)下才执行分支流,如 触发警报。
关系约束
扩展用例在扩展点插入基本用例 扩展用例不会孤立存在
执行方式
当执行基本用例的用例实例达到基本用例中定义扩展点的位 置时,如果条件发生,则执行扩展用例。执行完后返回。
使用打虎工具=梢棒,朴刀,金箍棒
打虎工具 打虎结果
打死虎
老虎要吃唐僧 孙悟空打虎 悟空用金箍棒打虎 打死老虎
北京火龙果软件工程技术中心
www.uml.org.cn
泛化关系描述方法
老虎要吃人 使用工具 打死虎
赋值描述
老虎要吃人=武松 使用工具= 梢棒, 空拳 打死虎 老虎要吃武松 武松使用梢棒, 空拳 打死虎
老虎要吃人=老娘 使用工具= 朴刀 打死虎
老虎要吃人=唐僧 使用工具= 金箍棒 打死虎
场景实例化
老虎要吃老娘 老虎吃了老娘 李逵使用朴刀 打死虎
老虎要吃唐僧 悟空使用朴刀 打死虎
北京火龙果软件工程技术中心
www.uml.org.cn
更泛化
抽象
打虎原因 打虎工具 打虎结果 虎要吃人 抽象 使用??打老虎
用例关系举例详解 打虎!!
声明:无意贬低武都头
北京火龙果软件工程技术中心
www.uml.org.cn
包含关系
目的:提取用例中公共的场景部分 关系约束:基本用例包含部分用例,部分用例无条件执行 执行路径: 包含用例的行为插入到基本用例中的一个位置。当遵循基本用例说明的 用例实例到达基本用例中定义了包含关系的位置,它就将执行包含用例 ,执行完包含用例,用例实例就将在基本用例中它先前停止的地方重新 开始。 如果用例实例无论如何也不能到达定义了包含关系的位置,则不会执行 包含。
北京火龙果软件工程技术中心
www.uml.org.cn
Use Case是如何炼成的
Use Case从用户的角度描述需求场景 Use Case始自于客户请求 Use Case的定义需要经过充分的分析 最终的Use Case由系统分析员定义,客户确认
需求分析员 原始请求
分析,定义 技术支持 用例
客户
开发者
®
Use Case关系趣解
俎涛 UML软件工程组织 Zutao@uml.net.cn
Evolve by case
北京火龙果软件工程技术中心
www.uml.org.cn
用例图-用例之间的关系
北京火龙果软件工程技术中心
www.uml.org.cn
关系的比较
北京火龙果软件工程技术中心
www.uml.org.cn
北京火龙果软件工程技术中心
www.uml.org.cn
用例构建
: 用户
用例 : 需求分析员 2: 分析 3: 技术支持 4: 定义 : 开发者
1: 原始请求
北京火龙果软件工程技术中心
www.uml.org.cn
如何定义高质量的用例
用例的需求质量:
目标明确性 有效性 可行性 可用性 价值性
用户。。。 系统。。。。 用户。。。 系统。。。 用户。。。 系统。。。 麻木了..
北京火龙果软件工程技术中心
Biblioteka Baidu
www.uml.org.cn
泛化关系
目的
当几个用例有共同的场景内容或者场景结构的时候,可以使 用泛化关系提炼共性 避免类似用例的重复描述
关系约束:
子用例依赖于父用例的结构 子用例和父用例范围一致
执行方式:
执行子用例的用例实例将遵循父用例的事件流的结构和内容 ,同时插入附加行为或修改在子用例事件流中定义的行为
北京火龙果软件工程技术中心
www.uml.org.cn
扩展关系-示例
<<extend>>
武松
回家 <<include>> <<include>> 过景阳岗
打虎
当差的
办事
要回家 经过景阳岗 扩展点 事件:遇到老虎 继续 回到家里
<<extend>>
老虎要吃武松 武松打老虎 梢棒 折断 赤手空拳打虎 打死老虎
北京火龙果软件工程技术中心
www.uml.org.cn
用例的核心理念
案例思维 讲故事方式 关注客户体验
北京火龙果软件工程技术中心
www.uml.org.cn
用例的地位和作用
功能需求的主要表达方式 和用户的交流边界 细节分析设计的具体素材 测试的依据
客户
请求
需求分析员
利益 分析 设计
设计员
实现
用例
没有到达 包含点
北京火龙果软件工程技术中心
www.uml.org.cn 当差的-办事 找清河县令 来到三碗不过冈 叫酒 喝两口 过岗
包含关系-示例
武松-回家
打虎 三碗不过冈 <<include>> 来到三碗不过冈 叫酒 喝两口
要回家 来到三碗不过冈 叫酒 喝两口 打虎 过岗 回家
到县府 ……
<<include>> 来到三碗不过冈 叫酒 喝两口 过岗