关于include与extend的区别,在之前画UML图的时候并没有注意到,还是在画第二遍机房收费系统图验收的时候师傅提出来的,于是查了一些资料,我在机房收费系统中是这样用到include的:
我在一开始看过其他资料的时候大家都是这么用的,我也就想都没想惯性的用了include,但是也不知道原因,就自以为这两个用例都要用这个exportExcel,就是都包括,可是为什么不能用extend呢?下面看看他们的区别:
include是指用例中的包含关系,通常发生在多个用例中,有可以提取出来的公共部分,如上图中,QueryOnline和QueryRecharge知道ExportExcel这个用例,但是ExportExcel并不知道QueryOnline和QueryRecharge这两个用例
而Extend与include恰恰相反,先举个例子:
在这个例子中,用户只知道自己有发送消息的功能,但至于通过哪条途径,用户并不知道,但“通过短信”和“通过邮件”这两个途径知道如何扩展“发送一条消息”这条途径。
在需求分析阶段,可能无法明确到底有多少中方式,在用例分析阶段,发送一条消息用例需要留出扩展接口,然后把已知的发送方式作为扩展用例给出,即如上图所示。
实践出真知,希望和大家交流!
解析UML用例图之include与extend
时间: 2024-10-25 20:38:56