UML用例圖
用例圖主要用來描述“用戶邢隧、需求媒吗、系統(tǒng)功能單元”之間的關系往堡。它展示一個外部用戶能夠觀察到的系統(tǒng)功能模型圖陨舱。用例圖多用于靜態(tài)建模階段(主要是業(yè)務建模和需求建模)翠拣,幫助開發(fā)團隊以一種可視化的方式理解系統(tǒng)的功能需求。
參與者(Actor)
在系統(tǒng)外部與系統(tǒng)直接交互的人或事物隅忿;需要注意以下兩點:
1)參與者是角色而不是具體的人心剥,它代表了參與者在與系統(tǒng)打交道的過程中所扮演的角色邦尊。所以在系統(tǒng)的實際運作中背桐,一個實際用戶可能對應系統(tǒng)的多個參與者。不同的用戶也可以只對應于一個參與者蝉揍,從而代表同一參與者的不同實例链峭。
2)參與者作為外部用戶(而不是內(nèi)部)與系統(tǒng)發(fā)生交互作用,是它的主要特征又沾。
在UML中弊仪,參與者使用如圖所示的一個小人表示:
用例(Use Case)
系統(tǒng)外部可見的一個系統(tǒng)功能單元。系統(tǒng)的功能由系統(tǒng)單元所提供杖刷,并通過一系列系統(tǒng)單元與一個或多個參與者之間交換的消息所表達励饵。用橢圓表示,橢圓中的文字簡述系統(tǒng)的功能:
關系(Relationship)
關聯(lián)
泛化
包含
擴展
關聯(lián)(Association)
表示參與者與用例之間的交互滑燃,通信途徑役听,任何一方都可發(fā)送或接受消息。
箭頭指向:指向消息接收方。
泛化(Inheritance)
在編程中典予,泛化關系是一種很重要的關系甜滨,我們隨處可見。
泛化關系是一般和特殊關系瘤袖,就是通常理解的繼承關系衣摩,子用例和父用例相似,但表現(xiàn)出更特別的行為捂敌;子用例將繼承父用例的所有結(jié)構艾扮、行為和關系。子用例可以使用父用例的一段行為黍匾,也可以重載它栏渺。父用例通常是抽象的。
箭頭指向(需要特別注意):指向父用例锐涯。
包含(Include)
包含關系用來把一個較復雜用例所表示功能分解成較小的步驟磕诊。包含用例是必須的,如果缺少包含用例纹腌,基用例就不完整霎终;包含用例必須被執(zhí)行。
箭頭指向:指向分解出來的功能用例升薯。
擴展(Extend)
擴展關系是指用例功能的延伸莱褒,相當于為基礎用例提供一個附加功能。擴展用例是可選的涎劈,如果缺少擴展用例广凸,不會影響到基用例的完整性。
箭頭指向(需要特別注意):指向基用例
供一個完整的系統(tǒng)的用例圖