一般只有use case之间有扩展关联和包含关联关系。 如果use case A和use case B有扩展关联关系,说明B的动作序列是A动作序列的一个分支,这个分支只有在某种条件下执行,B的动作序列插入A中的位置,称为“扩展点”。 比如A是一个从ATM取款的use case,动作包括:插入卡、输入密码、选择取款服务、输入金额、吐钱、取回卡。 B表示密码错误的处理方法,B是A的扩展用例,在输入密码错误下执行:选择重新输入密码、系统提示错误、选择取回卡。这样B的动作只在A的第二个动作输入错误密码的情况下执行。扩展点就是输入错误密码。 如果use case A和use case B有包含关联关系,说明A的动作序列总是包含B的动作序列,不论在什么情况下。比如如果use case C表示验证用户,动作序列是插入卡、输入密码。A include C,不论什么情况下,A的动作序列都包含C。 注1: extend和include的区别是,extend是可选的,只在某种情况下执行另一个use case,通常是异常条件下,而include是一定会执行的。因为它已经包含在其中了。