1. 一個用例可以有多個參與者,并且可以同時有多個參與者。
用例和參與者的關(guān)聯(lián)可以是雙向的,參與者和用例都可以發(fā)起通信。
2. 用例之間的基本關(guān)系有:泛化,包含和擴(kuò)展。
用例A到B的泛化關(guān)系表示A和B是具體與抽象的關(guān)系。
用例A到B的包含關(guān)系表示A使用了B提供的功能。
用例A到B的擴(kuò)展關(guān)系表示A向B提供的可用的功能。
但從A到B的包含關(guān)系和從B到A的擴(kuò)展關(guān)系是不同的:
A包含B說明B是從A中分解出來的公共行為;B自身是獨立的,但對于A來說是不可缺少的一部分。
B擴(kuò)展A說明B是從A中分解出來的變體行為,必須指定擴(kuò)展點,也就是在基本用例中執(zhí)行變體行為的具體條件。B僅僅是A的補(bǔ)充,而不是不可缺少的部分,B自身也不是獨立的。A可以單獨執(zhí)行,表示通常的情況,在特定的情況下,用B來補(bǔ)充它。
抽象用例不能被實例化,不能被實際執(zhí)行,它的作用在于更好地組織用例關(guān)系。
參考書:
《UML用戶指南》/Grady Booch,James Rumbaugh,Ivar Jacobson著 邵維忠等譯 機(jī)械工業(yè)出版社
《統(tǒng)一軟件開發(fā)過程》/Ivar Jacobson,Grady Booch,James Rumbaugh著 周伯生等譯 機(jī)械工業(yè)出版社