文档介绍::用例泛化关系用例泛化关系用例泛化关系是指一种从子用例到父用例的关系,它指定了子用例如何特化父用例的所有行为和特征。  ,这些子用例代表了父用例比较特殊的形式。尽管在大多数情况下父用例是抽象的,但无论是父用例还是子用例这两者都不要求一定是抽象的。子用例继承父用例的所有结构、行为和关系。同一父用例的子用例都是该父用例的特例。这就是可适用于用例的泛化关系(另请参阅指南:泛化关系)。当您发现两个或更多用例在行为、结构和目的方面存在共性时,就可以使用泛化关系。这种情况发生时,您可以用一个新的、通常也是抽象的用例来描述这些共有部分,该用例随后被子用例特化。示例:“电话订购”和“订购”用例都是抽象用例“订购”的特例。在订单管理系统中,“电话订购”和“订购”两个用例在结构和行为上存在很多的共同点。而一般用例“订购”是根据结构和公有行为的定义来定义的。虽然抽象用例“订购”本身无须完整,但是它提供了一个大体的、通过子用例进行完善的行为框架。父用例并不总是抽象的。示例:考虑在上一示例中的订单管理系统。假设要增加一个订单登记员主角,该订单登记员可以代表客户将订单输入到系统内。此主角将启动一般的“订购”用例,此时必须要有一个完整的事件流来说明该用例。子用例可以在父用例提供的结构上添加行为,也可以修改父用例中的行为。订单登记员主角可以将该一般的“订购”用例实例化。“订购”用例还可以被“电话订购”或“订购”用例所特化。子用例依赖于父用例的结构(请参阅指南:用例,关于事件流结构的讨论)。子用例可以将附加行为添加到父用例中,方法是将行为段插入到被继承行为中或者声明对子用例的包含关系和扩展关系。虽然子用例可以从父用例继承行为段,但是必须慎重修改,以便保持父用例的使用目的。父用例的结构由子用例保持。这意味着尽管所有行为段(即父用例事件流的步骤或分支流)仍然必须存在,但是这些行为段的内容可以被子用例修改。如果父用例为抽象用例,则它可以具有不完整的行为段。但是,子用例必须补充完善这些行为段,并使得它们对于主角而言是有意义的。如果父用例是一个抽象用例,则它无需与主角发生关系。如果两个子用例都对同一父用例(或基本用例)进行特化,则二者之间的特化是相互独立的,这意味着它们可以在各自独立的用例实例中执行。这与包含关系和扩展关系不同。在包含和扩展关系中,一些附加用例隐式或显式地修改了执行相同基本用例的一个用例实例。用例泛化关系和包含关系都可以用来复用该模型用例间的行为。二者的区别是,在用例泛化关系中,执行子用例不受父用例的结构和行为(复用部分)的影响;而在包含关系内,执行基本用例只依赖包含用例(复用部分)执行有关功能的结果。另一个区别是,在泛化关系中,子用例有相似的目的和结构;而在包含关系中,复用相同包含用例的基本用例在目的上可以完全不同,但是它们需要执行相同的功能。,同时插入附加行为或修改在子用例事件流中定义的行为。用例实例遵循父用例,而行为按子用例中的说明插入或进行修改。,您可以不用描述泛化关系本身。相反,在子用例