您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 
 订阅
Use Case 中 include 与 extend 的区别
 
 
 
 
   次浏览      
2010-07-08
 
编辑推荐:
本文主要介绍Use Case 中 include 与 extend 的区别,希望对您的学习有所帮助。
本文来自于网络,火龙果软件Alice编辑,推荐。

最近上论坛,看到在争论 Use Case 中 include 与 extend 的区别。其实这两者是很容易区分的。

include 是指用例中的包含关系,通常发生在多个用例中,有可以提取出来的公共部分(就象提取公因式一样),例如 UseCaseA 中包括了 a 和 b 两个流程,而 UseCaseC 中包含了 c 和 b 两个流程。为了提高复用性,可以把 b 提取出来,形成另一个用例 UseCaseB,此时,UseCaseA include UseCaseB(表现为一条指向 UseCaseB 的虚线,箭头在 UseCaseB 侧),UseCaseC 也 include UseCaseB。因而,当有 include 关系时,被 include 的用例通常会被两个以上的其他用例 include(否则就不需要重用,也就不需要提取出来了),用例图如下:

在 include 关系中,“UseCaseA 和 UseCaseC 知道 UseCaseB 的存在,而 UseCaseB 根本不知道有 UseCaseA 和 UseCaseC);

extend 则恰好相反。假设 UseCaseA 的功能描述为“发送一条通知”,可是,发送通知的方式可能有许多种,例如通过邮件发送、通过短信发送等。在需求分析阶段,可能无法明确到底有多少种方式,在用例分析阶段,UseCaseA 需要留出扩展接口,然后把已知的发送方式作为扩展用例给出,例如 UseCaseB 是“通过短信发送”,而 UseCaseC 是“通过邮件发送”,此时,UseCaseB 和 UseCaseC extend 了 UseCaseA,表现为两根虚线,箭头指向 UseCaseA,用例图如下:

在 extend 关系中,UseCaseA 不知道 UseCaseB 和 UseCaseC 的存在,但 UseCaseB 和 UseCaseC 却是知道 UseCaseA 并且知道如何在 UseCaseA 中作扩展的。

另:在用例图中,有时会看到两个用例之间有依赖关系(表现为一条单向或双向的实线),这是错误的,说明用例没有提纯。

也许有人会问“如果两个用例之间,一个要调用另一个时,怎么办?”(有可能是混淆了用例和模块的关系),那么,首先要区分概念,用例就是用例,用例不是模块,也不是组件(虽然一个用例能发展成为“一个或多个”模块或组件);其次,从用例分析的角度来看,如果用例 A 确实要调用到用例 B,那么,可以进一步分析:A 是调用了 B 的所有流程呢,还是其中一部分流程?

(1)如果是调用了一部分,此时可以把 B 中的那部分流程提取出来,形成用例 C,然后 A 和 B 都 include C;

(2)如果是调用了所有流程,那么,A 直接 include B 即可;

(3)如果 A 没有调用 B 中的任何流程……faint,那还画那条代表依赖的实线干嘛?

   
次浏览       
 
相关文章

用户手册:EA Helper
自然语言自动化生成图
使用iSpace进行多人协作建模
基于模型的软件复用(MBSR)
 
相关文档

AUTOSAR_TR_BSW UML模型建模指南
UML时间图建模(基于EA)
UML 模型框架(基于EA)
UML序列图编写规范
 
相关课程

UML+EA+面向对象分析设计
UML + 嵌入式系统分析设计
业务建模与业务分析
基于UML和EA进行系统分析设计

最新活动计划
DeepSeek大模型应用开发实践 3-15[在线]
基于 UML 和EA进行分析设计 2-24[上海]
SysML和EA系统设计与建模 3-27[北京]
MBSE(基于模型的系统工程)2-27[北京]
OpenGauss数据库调优实践 3-11[北京]
UAF架构体系与实践 3-25[北京]
 
 
最新文章
在EA中内嵌文档- Artifact
EA中模型视图
EA中的实体关系图
使用EA进行风险建模
EA中的项目词汇表
EA的模型导出或导入csv文件
自定义表格(Custom Table)在EA中的使用
Gap Analysis Matrix(差距分析矩阵)
更多...   
MBSE工具
MBSE平台
建模工具 EA
模型库-Model Center
需求管理-ReqManager
自动建模-Modeler
多级仿真-Sys Simulator
代码工程-Code Engineer
文档生成器-DocGenerator
更多...   
成功案例
广汽研究院 SysML+EA+软件分析设计
高合汽车研发部门 建模工具EA、WebEA、学习视频
国汽智联 建模工具EA、模型库、WebEA和iSpace
亿咖通 MBSE工程体系与工具链咨询
中航无人机 MBSE工具链
吉利汽车 购买EA工具
华科汽车零部件 购买EA工具
东风岚图汽车 购买EA工具 以及EA定制开发
更多...