【UML】 用例粒度

前言:

刚刚接触uml的时候,这个粒度搞的我一脸懵逼,但是经过系统的学习,还是将其解决了!这块的知识属于uml用例图中的知识,所以在解释名词的时候都是以uml为根据的!

1、什么是用例

以前在学软件工程的时候有一个名词叫做测试用例,那个用例指的是为了测试系统的正确性提前准备的例子。在uml中的用例主要是对系统的用户需求(主要是功能描述)的描述,用例表达了系统的功能和所提供的服务!

图像上用例用一个椭圆来显示,用例的名字可以写在椭圆你的内部或者下方,如图!

下来举个机房收费系统中的例子,这个例子是登录系统!

三个椭圆均是用例,完成的都是相应的功能,所以在uml中用例代表的就是功能的描述!

2、什么是用例粒度

百科中将粒度翻译为颗粒的大小,所以用例粒度所描述的就是对功能的细化和综合程度,所以用例的细化程度越高,粒度就越小,这个用例所包含的功能就越少,用例的细化程度越低,粒度就越大,这个用例所包含的功能就越多!

3、用例粒度举例

用例粒度通常会让初学者感到迷糊,所以就举一个例子!这个例子是我从一本书中看到的!下来陈述给大家。

在ATM取钱的场景中插卡、登录、取钱以及打印回执单等都是可能的用例,显然取钱包含了其它的用例,这说明取钱的粒度大一些,其他用例的粒度小一些。用户可以根据实际的完成的目标来设定该用例。比如如果用户单单是完成取钱的任务,则可以将登陆,取钱,打印回执单作为用例。但是用户用户要去旅行(旅行是目的),那么此时你就可以将取钱的这个整体当成一个用例~!

由上可知,用例粒度的划分是根据该用例是否完成了参与者的某个完整的目的。

到底是一个大的用例适合还是分解成多个小用例合适呢?

这个没有一个标准的规则,但可以根据以下经验来做,在不同的阶段使用的粒度不同:

在业务建模阶段,用例的粒度以每个用例能够说明一件完整的事情为宜。即一个用例可以描述一项完整的业务流程。这将有助于需求范围。例如取钱、报装电话、借书等表达完整业务的用例,而不要细节到验证密码、填写申请单、查找数目等业务中的一个步骤。

在用例分析阶段,即概念建模阶段,用例的粒度以每个用例能描述一个完整事件流为宜。可以理解为一个用例描述一项完整业务中的一个步骤。需要注意的是,这个阶段需要采用一些面向对象的方法,归纳和抽象出业务用例中的关键概念模型并为之建模。例如,宽带业务需求中有申请报装和申请迁移地址用例,在用例分析时,可归纳和分解为提供申请资料、受理业务、现场安装等多个业务流程中都会使用的概念用例。

在系统建模阶段,用例视角是针对计算机的,因此用例的粒度以一个用例能够描述操作者与计算机的一次完成交互为宜。例如,填写申请单、审核申请单、派发任务单等。可以理解为一个操作界面或一个页面流。

另一个参考的粒度是一个用例的开发工作量在一周左右为宜。

一般一个好的系统,用例在大于10个小于50个之间,否则应该考虑一下粒度的选择是否合适了。不管粒度如何选择,必须把握的原则是在同一个需求阶段,所有用例的粒度应该是同一个量级的。、

如果读现则的粒度感到困惑,或者出现同一个阶段粒度大小不一的情况,你应该首先确认你是否选择了一个正确的边界并时时检查自己是否越过了这个边界。

原文地址 https://blog.csdn.net/jerry11112/article/details/79310332

猜你喜欢

转载自blog.csdn.net/qq_25406563/article/details/85143557