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