建模UML用例圖使用原理總結(jié)分析
用例圖主要用來(lái)描述“用戶、需求、系統(tǒng)功能單元”之間的關(guān)系。它展示了一個(gè)外部用戶能夠觀察到的系統(tǒng)功能模型圖。
【用途】:幫助開(kāi)發(fā)團(tuán)隊(duì)以一種可視化的方式理解系統(tǒng)的功能需求。
用例圖所包含的元素如下
1.參與者(Actor)
表示與您的應(yīng)用程序或系統(tǒng)進(jìn)行交互的用戶、組織或外部系統(tǒng)。用一個(gè)小人表示。

2.用例(Use Case)
用例就是外部可見(jiàn)的系統(tǒng)功能,對(duì)系統(tǒng)提供的服務(wù)進(jìn)行描述。用橢圓表示。

3. 子系統(tǒng)(Subsystem)
用來(lái)展示系統(tǒng)的一部分功能,這部分功能聯(lián)系緊密。

4.關(guān)系
用例圖中涉及的關(guān)系有:關(guān)聯(lián)、泛化、包含、擴(kuò)展。
如下表所示:

a. 關(guān)聯(lián)(Association)
表示參與者與用例之間的通信,任何一方都可發(fā)送或接受消息。
【箭頭指向】:指向消息接收方

b. 泛化(Inheritance)
就是通常理解的繼承關(guān)系,子用例和父用例相似,但表現(xiàn)出更特別的行為;子用例將繼承父用例的所有結(jié)構(gòu)、行為和關(guān)系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。
【箭頭指向】:指向父用例

c. 包含(Include)
包含關(guān)系用來(lái)把一個(gè)較復(fù)雜用例所表示的功能分解成較小的步驟。
【箭頭指向】:指向分解出來(lái)的功能用例

d. 擴(kuò)展(Extend)
擴(kuò)展關(guān)系是指用例功能的延伸,相當(dāng)于為基礎(chǔ)用例提供一個(gè)附加功能。
【箭頭指向】:指向基礎(chǔ)用例

e. 依賴(lài)(Dependency)
以上4種關(guān)系,是UML定義的標(biāo)準(zhǔn)關(guān)系。但VS2010的用例模型圖中,添加了依賴(lài)關(guān)系,用帶箭頭的虛線表示,表示源用例依賴(lài)于目標(biāo)用例。
【箭頭指向】:指向被依賴(lài)項(xiàng)

5. 項(xiàng)目(Artifact)
用例圖雖然是用來(lái)幫助人們形象地理解功能需求,但卻沒(méi)多少人能夠通看懂它。很多時(shí)候跟用戶交流甚至用Excel都比用例圖強(qiáng),VS2010中引入了“項(xiàng)目”這樣一個(gè)元素,以便讓開(kāi)發(fā)人員能夠在用例圖中鏈接一個(gè)普通文檔。
用依賴(lài)關(guān)系把某個(gè)用例依賴(lài)到項(xiàng)目上:

然后把項(xiàng)目-》屬性的Hyperlink設(shè)置到你的文檔上;
這樣當(dāng)你在用例圖上雙擊項(xiàng)目時(shí),就會(huì)打開(kāi)相關(guān)聯(lián)的文檔。
6. 注釋(Comment)

包含(include)、擴(kuò)展(extend)、泛化(Inheritance)的區(qū)別:
條件性:泛化中的子用例和include中的被包含的用例會(huì)無(wú)條件發(fā)生,而extend中的延伸用例的發(fā)生是有條件的;
直接性:泛化中的子用例和extend中的延伸用例為參與者提供直接服務(wù),而include中被包含的用例為參與者提供間接服務(wù)。
對(duì)extend而言,延伸用例并不包含基礎(chǔ)用例的內(nèi)容,基礎(chǔ)用例也不包含延伸用例的內(nèi)容。
對(duì)Inheritance而言,子用例包含基礎(chǔ)用例的所有內(nèi)容及其和其他用例或參與者之間的關(guān)系;
一個(gè)用例圖示例:

牢騷:
感覺(jué)用例圖還不成熟,并不能很好地表達(dá)系統(tǒng)的需求,沒(méi)有UML背景的用戶幾乎不知道畫(huà)的是些什么。
其次,包含關(guān)系、擴(kuò)展關(guān)系的箭頭符號(hào)竟然是同樣的箭頭,僅靠上方寫(xiě)個(gè)文字來(lái)加以區(qū)別,翻譯成其他語(yǔ)言的話,幾乎就不知道代表什么意思。擴(kuò)展關(guān)系的箭頭朝向也很難理解,為何要指向基用例,而不指向擴(kuò)展用例。
VS2010添加的“項(xiàng)目”元素,是個(gè)很好的創(chuàng)新,能夠在用例圖中關(guān)聯(lián)word, excel這些文檔。但為什么不把這些功能直接集成到用例里面,雙擊用例就彈出一份文檔豈不更容易理解,非要畫(huà)蛇添足地加一個(gè)元件,僅僅為了提供個(gè)鏈接功能。
用例描述表:
鑒于用列圖并不能清楚地表達(dá)功能需求,開(kāi)發(fā)中大家通常用描述表來(lái)補(bǔ)充某些不易表達(dá)的用例,下圖的表給大家提供一個(gè)參考:

以上就是建模UML用例圖使用原理總結(jié)分析的詳細(xì)內(nèi)容,更多關(guān)于UML用例圖原理總結(jié)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Hbuilder連遠(yuǎn)程接服務(wù)器上傳代碼的圖文教程
下面小編就為大家分享一篇Hbuilder連遠(yuǎn)程接服務(wù)器上傳代碼的圖文教程,具有很好的參考價(jià)值,一起跟隨小編過(guò)來(lái)看看吧,希望對(duì)大家有所幫助2017-11-11
淺談服務(wù)發(fā)現(xiàn)和負(fù)載均衡的來(lái)龍去脈
單機(jī)時(shí)代,傳統(tǒng)軟件大多是單體/巨石架構(gòu)(Monolithic)。大家往一個(gè)代碼倉(cāng)庫(kù)提交CODE,這會(huì)導(dǎo)致應(yīng)用膨脹,以及擴(kuò)展受限,無(wú)法按需伸縮等諸多問(wèn)題。單體架構(gòu)怎么解決多人合作的問(wèn)題?模塊化,按功能拆分,模塊之間定義編程接口(API)。本篇文章帶你詳細(xì)了解。2021-05-05
uniApp微信小程序使用騰訊地圖定位功能及getLocation需要在app.json中聲明permission字段問(wèn)
這篇文章主要介紹了uniApp微信小程序使用騰訊地圖定位功能及getLocation需要在app.json中聲明permission字段問(wèn)題解決,需要的朋友可以參考下2022-12-12
一個(gè)能生成精美代碼圖片的工具Carbon!讓看代碼成為一種享受
當(dāng)我們想展示自己寫(xiě)的代碼給別人看的時(shí)候,希望讓代碼保持原有的格式,并且要美觀一點(diǎn),有一個(gè)強(qiáng)大的在線工具可以幫助我們實(shí)現(xiàn),而且支持多種主題,他就是Carbon,需要的朋友可以參考下2021-05-05
K8S二進(jìn)制部署的K8S(1.15)部署hpa功能
這篇文章主要介紹了K8S二進(jìn)制部署的K8S(1.15)部署hpa功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04

