extend则恰好相反。假设 UseCaseA 的功能描述为“发送一条通知”,可是,发送通知的方式可能有许多种,例如通过邮件发送、通过短信发送等。在需求分析阶段,可能无法明确到底有多少种方式, 在用例分析阶段,UseCaseA 需要留出扩展接口,然后把已知的发送方式作为扩展用例给出,例如 UseCaseB 是“通过短信发送”,而 UseCaseC...
Use Case中的include, extend和generalization 画用例图时用例之间的关系应该是一个比较难理解的概念,用例之间的关系分为include, extend和generalization三种。 先介绍一下比较容易理解的generalization,generalization关系是一种继承关系,子用例将继承基用例的所有行为,关系和通信关系,也就是说在任何使用基用例的地方都可以...
extend则恰好相反。假设UseCaseA的功能描述为“发送一条通知”,可是,发送通知的方式可能有许多种,例如通过邮件发送、通过短信发送等。在需求分析阶段,可能无法明确到底有多少种方式,在用例分析阶段,UseCaseA需要留出扩展接口,然后把已知的发送方式作为扩展用例给出,例如UseCaseB是“通过短信发送”,而UseCaseC是“通过邮...
extend则恰好相反。假设UseCaseA的功能描述为“发送一条通知”,可是,发送通知的方式可能有许多种,例如通过邮件发送、通过短信发送等。在需求分析阶段,可能无法明确到底有多少种方式,在用例分析阶段,UseCaseA需要留出扩展接口,然后把已知的发送方式作为扩展用例给出,例如UseCaseB是“通过短信发送”,而UseCaseC是“通过邮...
最近上论坛,看到在争论UseCase中include与extend的区别。其实这两者是很容易区分的。 include是指用例中的包含关系,通常发生在多个用例中,有可以提取出来的公共部分(就象提取公因式一样),例如UseCaseA中包括了a和b两个流程,而UseCaseC中包含了c和b两个流程。为了提高复用性,可以把b提取出来,形成另一个用例UseCase...
泛化表示类似于OO术语“继承”或“多态”。UML中的Use Case泛化过程是将不同Use Case之间的可合并部分抽象成独立的父Use Case,并将不可合并部分单独成各自的子Use Case;包含以及扩展过程与泛化过程类似,但三者对用例关系的优化侧重点是不同的。如下: ●泛化侧重表示子用例间的互斥性; ...
2、扩展(extend) 扩展关系:将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(ExtensionPoint)上进行扩展,从而使基用例行为更简练和目标更集中。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此它能根据基用例中扩展点的当前状态来判断是否执行自己...
1)Extend: 从Use Case A 到Use Case B的一个Extend关系表明B的一个实例是从A所定义的行为中(偶然地或可选地)扩展增加出来的。虚线+箭头+stereotype符号 2)Generalization:从UC C到UC D的一个generalization关系表示C是D的一个特例(specialization)。实线+空心箭头符号。
在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化 (generalization)、扩展(extend)和包含(include)。其中include和extend最 易混淆。下面我们结合实例彻底理清三者的关系。 基本概念 用例图(Use Case Diagram):用例图显示谁是相关的用户,用户希望系统提供 ...
最近搞一个项目需要从需求分析建模开始,之前也学过一点UML的基础知识,但是对UC图的画法还停留在比较简单的阶段。现在要画得复杂了就有点不知所措了。主要是Usecase中,对用例之间的关系搞不太清楚。标题也说得比较清楚了,用例之间“Include”和“Extend”的区别是什么? 望高手解答,谢谢!