3.4 用例之间的关系1、泛化关系 Generalization 代表一般与特殊的关系。 (类似于继承)在用例泛化中,子用例表示父用例的特殊形式,子用例继承了父用例的行为和属性,也可以增加新的行为和属性或覆盖父用例中的行为。例子:一个租赁或销售系统用例的部分内容,在此,父用例是“预定”,其两个子用例分别是“网上预定”和“电话预定” ,这两个用例都继承了父用例的行为,并可以添加自己的行为。2、包含关系 Include 一个用例(基用例,基本用例)可以包含其他用例(包含用例)具有的行为,并把它所包含的用例行为作为自身用例的一部分,这被称为包含关系。在 UML 中,包含关系表示为虚线箭头加版型《include》,箭头从基本用例指向包含用例。例子:一个租赁或销售系统中, “填写电子表格”的功能在“网上预定”的过程中使用,不管如何处理“网上预定”用例,总是要运行“填写电子表格”用例,因此具有包含关系。3、扩展关系 Extend 一个用例也可以定义为基本用例的增量扩展,这称作扩展关系,即扩展关系是把新的行为插入到已有的用例中的方法。在UML 中,包含关系表示为虚线箭头加版型《extend》,箭头从扩展用例指向基本用例。基本用例提供了一组扩展点,在这些新的扩展点中可以添加新的行为,而扩展用例提供了一组插入片段,这些片段能够被插入到基本用例的扩展点上。扩展关系可以有控制条件,当用例实例执行到达一个扩展点时,控制条件决定是否执行扩展。一般情况下,基本用例的执行不会涉及到扩展用例,只有满足用例的控制条件时,扩展用例才被执行,因此扩展关系处理事件流的异常或者可选事件。同一个基本用例的几个扩展可以在一起使用。基本用例不知道扩展的任何细节.没有扩展用例 ,基本用例是完整的。例子:一个汽车租赁系统用例图的部分内容。在此,基本用例是“还车”,扩展用例是 “交纳罚金”。如果一切顺利汽车可以被归还,那么执行“还车”用例即可。但是如果超过了还车的时间或汽车受损,按照规定客户要交纳一定的罚金,这时就不能执行提供的常规动作。若研讨修改用例“还车” ,势必会增加系统的复杂性,因此可以在用例“还车”中增加扩展点,即特定条件为超时或损坏,如果满足条件,将执行扩展用例“交纳罚金”,这样显然可以使系统更容易被理解。4、参与者与用例之间的关系:关联关系Association 关联关系描述参与者与用例之间的关系,在 UML 中它是两个或多个类元之间的关系,它描述了类元的实例间的联系。...