前言:
在做UML相关题的时候,发现总是分不清Include和Extend之间的区别,特此发布一篇博客,来总结一下这两个关系的不同,同时也分享给大家,让了此篇博客的同学们都不会再迷糊
Include:
Include是指“包含的关系”,指多个用例中都包含一个共有的相同的过程,这时为了将用例图画的更为清晰,所以我们需要将用例更加细分出来,这时候就用到了Include,比如下图1-1中,两个用例中都包含了C这个过程,这个时候,我们就需要将C提出来,形成图1-2
图1-2的意思是A,B用例在执行的时候,都会使用C用例,那么我就将C用例单独拿出来,形成一个用例,特点是C用例不知道A,B用例的存在,而A,B用例知道C用例的存在。
Extend:
Extend表示“扩展”,指的就是,在执行某一个用例的时候,可能会有所选择的再去执行其他用例,比如图2-1,在这个图中,参与者当执行“发送消息”这个用例的时候,可能会选择是通过发送“短息”,还是发送“E-mail”这两种方式,而这两种方式是“发送消息”这个用例的具体过程,同时“短信”用例和“E-mail”用例是知道“发送消息”这个用例的存在的,
图:2-1
总结:
在我们去分析用例的时候, 如果我们如果发现多个用例包含某一个相同的过程,则我们会将用例分解,然后画出Include的关系,如果我们在分析用例的时候发现基础用例可能会使用多个表示方法, 那么这个时候,我们应该使用Extend这个关系来画出用例!
转载于王靖凡--Sam