【UML】extend 与include的区别

来源:互联网 发布:python for openwrt 编辑:程序博客网 时间:2024/05/19 10:56

 画收费UML图时,看到下图,忽然就不明白extendinclude的区别了。

然后通过百度,了解了一下其区别。


Extend

中文意思是延伸,扩大。

比如AB,如果说A延伸到了B,说明A自己也可以执行,有了B只是添加了一个新功能。

比如上图中产生的日结账单,其自身也是个完整功能。可如果用户想打印日结账单,那就得扩展一个打印的新功能。

日结账单是基用例,刷新是子用例,子用例“扩展”了基用例,所以虚线从子用例指向基用例

 

Include

中文意思是包含。

还拿AB做例子,如果说A包含B,说明A只有借助B才能实现功能,A不能独立执行。

写到这,发现上图中有了错误。因为图这样画,说明打印是不能单独执行的,可在软件中打印是能单独执行的。所以可以这样修改一下:

打印是基用例,打印预览和打印输出是子用例,打印包含打印预览和输出,所以虚线从基用例指向子用例。

 

【小结】

在查询中发现,似乎还有use实例和其对应,指的是平行用例。

0 0
原创粉丝点击