【软考路上】——用例图之include和extend

         

       记得去年刚学UML的时候,写了一篇用例图的博客——《UML图—用例图》

       2011年5月的软考下午题,考到了用例图,突然感觉对用例图中的include和extend概念有些模糊,因此搬出来,与大家共同学习。

       其实仔细思考后,这两者的概念还是很好理解的,顾名思义,include就是“包含”的意思,extend就是“扩展”的意思。

        

        include

       虽然include是包含的意思,但笔者认为,include在用例图中,主要体现的是“抽象”的思想。即当两个或多个用例存在相同的部分时,可以将这组动作抽出来作为一个独立的子用例,中的共同部分抽象出来。

       因为子用例被抽象出来了,因此它与基用例都不是一个完整的用例,只有他们结合起来时才是一个完整的用例。

       我们在做系统时经常会这样设计一个查询界面:

              

       这个查询界面和删除、修改就是一个典型的extend(扩展)关系用例的例子,如果要执行修改、删除操作时,都必须先进行查询操作,因此可以把查询功能抽出来。它的用例可表示为:

           (include使用带虚线头的箭头表示,箭头方向指向子用例)

         

        extend

        extend关系是对一个基用例的扩展,与include的区别就是, 具有extend关系的基用例是一个完整的用例,由它extend(扩展)而来的用例是在它基础之上的另一个功能(用例)。

        extend关系中,基用例

        同样也是上面这个查询界面:

                

         这个查询和导入到Excel就是一个extend的关系,导出到Excel是在查询的基础上进行的,是查询的扩展。

                  include使用带虚线头的箭头表示,箭头方向指向基用例。

        总结:

        include关系中主要体现的是“抽象”的思想,基用例与子用例是不可分割的一个整体,必须同时执行。

        extend关系主要指由一个用例可以扩展出另一个用例,即使没有子用例的参与,也可以完成一个完整的功能。

        

评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值