1. 一個(gè)用例可以有多個(gè)參與者,并且可以同時(shí)有多個(gè)參與者。
用例和參與者的關(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說(shuō)明B是從A中分解出來(lái)的公共行為;B自身是獨(dú)立的,但對(duì)于A來(lái)說(shuō)是不可缺少的一部分。
B擴(kuò)展A說(shuō)明B是從A中分解出來(lái)的變體行為,必須指定擴(kuò)展點(diǎn),也就是在基本用例中執(zhí)行變體行為的具體條件。B僅僅是A的補(bǔ)充,而不是不可缺少的部分,B自身也不是獨(dú)立的。A可以單獨(dú)執(zhí)行,表示通常的情況,在特定的情況下,用B來(lái)補(bǔ)充它。
抽象用例不能被實(shí)例化,不能被實(shí)際執(zhí)行,它的作用在于更好地組織用例關(guān)系。
參考書(shū):
《UML用戶指南》/Grady Booch,James Rumbaugh,Ivar Jacobson著 邵維忠等譯 機(jī)械工業(yè)出版社
《統(tǒng)一軟件開(kāi)發(fā)過(guò)程》/Ivar Jacobson,Grady Booch,James Rumbaugh著 周伯生等譯 機(jī)械工業(yè)出版社