前言:
刚刚接触uml的时候,这个粒度搞的我一脸懵逼,但是经过系统的学习,还是将其解决了!这块的知识属于uml用例图中的知识,所以在解释名词的时候都是以uml为根据的!
1、什么是用例
以前在学软件工程的时候有一个名词叫做测试用例,那个用例指的是为了测试系统的正确性提前准备的例子。在uml中的用例主要是对系统的用户需求(主要是功能描述)的描述,用例表达了系统的功能和所提供的服务!
图像上用例用一个椭圆来显示,用例的名字可以写在椭圆你的内部或者下方,如图!
下来举个机房收费系统中的例子,这个例子是登录系统!
三个椭圆均是用例,完成的都是相应的功能,所以在uml中用例代表的就是功能的描述!
2、什么是用例粒度
百科中将粒度翻译为颗粒的大小,所以用例粒度所描述的就是对功能的细化和综合程度,所以用例的细化程度越高,粒度就越小,这个用例所包含的功能就越少,用例的细化程度越低,粒度就越大,这个用例所包含的功能就越多!
3、用例粒度举例
用例粒度通常会让初学者感到迷糊,所以就举一个例子!这个例子是我从一本书中看到的!下来陈述给大家。
在ATM取钱的场景中插卡、登录、取钱以及打印回执单等都是可能的用例,显然取钱包含了其它的用例,这说明取钱的粒度大一些,其他用例的粒度小一些。用户可以根据实际的完成的目标来设定该用例。比如如果用户单单是完成取钱的任务,则可以将登陆,取钱,打印回执单作为用例。但是用户用户要去旅行(旅行是目的),那么此时你就可以将取钱的这个整体当成一个用例~!
由上可知,用例粒度的划分是根据该用例是否完成了参与者的某个完整的目的。
一般一个好的系统,用例在大于10个小于50个之间,否则应该考虑一下粒度的选择是否合适了。不管粒度如何选择,必须把握的原则是在同一个需求阶段,所有用例的粒度应该是同一个量级的。、
后记:
此篇文章多属于个人理解,如果有什么不对的地方,或者没有写明白的地方,欢迎指出!