标签:
杂谈 |
分类: MSN搬家 |
Use Case之间存在三种相互关系:
1、泛化(Generalize) / 特殊化(Specialize)
:其含义是从用例继承了主用例已定义的步骤,并对其中部分步骤进行特殊化。通常主用例为抽象用例,其唯一的目的是组合其他用例,本身是不会被实例化的。关系的方向为从从用例到主用例,表示主用例为从用例的泛化,或从用例为主用例的特殊化。
2、包含(Include) :
其含义是主用例完全包含从用例已定义的所有步骤,为了不进行重复的定义,直接将其包含进来。通常多个用例都包含相同的步骤片断时,才需要将重复的步骤提取出来作为一个新的从用例,并包含之。关系的方向为从主用例到从用例,表示主用例包含从用例。
3、扩展(Extend)
:其含义是主用例中有条件地包含从用例中的步骤。通常从用例描述的是另一种业务需求,主用例在某些条件下会执行从用例的步骤,某些情况下不会执行。关系的方向为从从用例到驻用例,表示主用例可选地包含从用例。
例如下列的Use Case Diagram,其中:
·上楼上一个总的概念,可以走楼梯上楼,也可以坐电梯上楼。因此,“上楼”是“坐电梯”和“走楼梯”的泛化,“坐电梯”和“走楼梯”是“上楼”的特殊化;
·
无论是坐电梯或是走楼梯,都必须先进入大楼一楼的大厅,这是必须的也是公有的步骤。因此,“坐电梯”和“走楼梯”都包含了“进入大厅”;
·
楼梯拐角都有厕所,那么走楼梯上楼的途中,兴之所至顺便去上个厕所是可以的,而不想上厕所直接上楼也没问题。因此“上厕所”扩展了“走楼梯”。
另外,在定义一个完整的用例时,还应该详细定义出以下要素:
1、用例的标题
2、用例的标示号,用于用例的追溯;
3、用例是否为抽象用例,描述用例是否能够实例化(被参与者直接调用);
4、用例之间的关系;
5、用例的前提条件,描述执行用例前必先满足的条件;
6、用例的步骤,描述用例的详细内容;
7、用例的后置条件,描述执行用例后必会满足的条件;
8、用例的置换路径,描述特殊情况下,可替换的执行步骤;
9、用例的非功能需求。