uml里的extend和include_用例图中包含(include)扩展(extend)和泛化(generalization)关系详解...
標(biāo)簽:uml
用例圖是解決用戶需求的圖,畫好用例圖一定要理清用例之間的關(guān)系。用例之間有三種關(guān)系:包含(include)擴(kuò)展(extend)和泛化(generalization)。下面介紹三者的相同點(diǎn)和不同點(diǎn)以便區(qū)分:
相同點(diǎn): 三者都是從現(xiàn)有的用例中抽取公共信息的那部分,作為一個(gè)單獨(dú)的用例,然后采用不同的方法來(lái)重用這個(gè)公共的用例。(感覺都是面向?qū)ο罄锏睦^承思想,減少模型維護(hù)的工作量)。
不同點(diǎn):
1.包含(include)
當(dāng)兩個(gè)或多個(gè)用例中公用一組相同的動(dòng)作,這時(shí)可以將這些相同的動(dòng)作抽離出來(lái)作為一個(gè)獨(dú)立的子用例,供多個(gè)基用例所共享。因?yàn)樽佑美潜怀殡x出來(lái)的,所以基用例并非一個(gè)完整的用例。即在包含關(guān)系中基用例要和子用例一起使用才完整。子用例也必然被執(zhí)行。
通俗的說(shuō),就是采用包含關(guān)系的幾個(gè)用例是被拆分的一個(gè)整體,大家相互依靠,缺一不可。
2.擴(kuò)展(extend)
擴(kuò)展關(guān)系是對(duì)基用例的擴(kuò)展,基用例是一個(gè)完整的用例,即沒有子用例的參與也可以完成一個(gè)完整的功能。擴(kuò)展用例為基用例添加新的行為。擴(kuò)展用例可以訪問基用例的屬性,因此可以根據(jù)基用例中的擴(kuò)展點(diǎn)的當(dāng)前狀態(tài)來(lái)判斷是否執(zhí)行自己。
通俗的說(shuō),就是基用例沒有擴(kuò)展用例也能存活,但是有了擴(kuò)展用例可以活的更精彩。
------------包含和擴(kuò)展的關(guān)系類似于聚合和組合的關(guān)系。包含和組合一樣,大家都是有機(jī)的整體,缺了誰(shuí)也不行。而擴(kuò)展和聚合一樣,大家相互獨(dú)立,有了彼此可以讓生活更精彩,沒有也可以照自己的方式活著。。
3.泛化(generalization)
泛化關(guān)系,即我們常說(shuō)的繼承關(guān)系。子用例和父用例相似,但表現(xiàn)出更特別的行為;子用例將繼承父用例的所有結(jié)構(gòu),行為和關(guān)系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。
畫第一遍用例圖的時(shí)候根本沒考慮什么包含擴(kuò)展,關(guān)系都是隨便的連線,第二遍才認(rèn)識(shí)到了上文中的關(guān)系。重復(fù)的學(xué)習(xí),不斷的思考才能深刻的理解知識(shí),才能把存儲(chǔ)介質(zhì)上的知識(shí)轉(zhuǎn)化成我們自己的知識(shí),我們的力量。
標(biāo)簽:uml
原文:http://blog.csdn.net/linxi1209163com/article/details/21369505
總結(jié)
以上是生活随笔為你收集整理的uml里的extend和include_用例图中包含(include)扩展(extend)和泛化(generalization)关系详解...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平面2R机器人(二连杆)运动学与动力学建
- 下一篇: 合理支配“财富”:经理人运用时间的12种