欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

UML幾種常見用例詳解

系統(tǒng) 1635 0

說先說明下:? 都是從現(xiàn)有的用例中抽取出公共的那部分信息,作為一個單獨的用例,然后通后過不同的方法來重用這個公共的用例,以減少模型維護的工作量。

?

??1? 、包含 ( include )

?? ?

?? ???? 包含關(guān)系:使用包含( Inclusion ?)用例來封裝一組跨越多個用例的相似動作(行為片斷),以便多個基( Base ?)用例復(fù)用?;美刂婆c包含用例的 關(guān)系,以及被包含用例的事件流是否會插入到基用例的事件流中?;美梢砸蕾嚢美龍?zhí)行的結(jié)果,但是雙方都不能訪問對方的屬性。
??
?????
包含關(guān)系對典型的應(yīng)用就是復(fù)用,也就是定義中說的情景。但是有時當某用例的事件流過于復(fù)雜時,為了簡化用例的描述,我們也可以把某一段事件流抽象成為一個被包含的用例;相反,用例劃分太細時,也可以抽象出一個基用例,來包含這些細顆粒的用例。 這種情況類似于在過程設(shè)計語言中,將程序的某一段算法封裝成一個子過程,然后再從主程序中調(diào)用這一子過程。 ? 

?? ??? 例如:業(yè)務(wù)中,總是存在著維護某某信息的功能,如果將它作為一個用例,那新建、編輯以及修改都要在用例詳述中描述,過于復(fù)雜;如果分成新建用例、編輯用例和刪除用例,則劃分太細。這時包含關(guān)系可以用來理清關(guān)系。

?? UML幾種常見用例詳解

?

?? 2 ? 、擴展 ( extend )

?? 擴展關(guān)系:將基用例中一段相對獨立并且可選的動作,用擴展( Extension ?)用例加以封裝,再讓它從基用例中聲明的擴展點( Extension Point ?)上進行擴展,從而使基用例行為更簡練和目標更集中。擴展用例為基用例添加新的行為。擴展用例可以訪問基用例的屬性,因此它能根據(jù)基用例中擴展點的當前狀態(tài)來判斷是否執(zhí)行自己。 但是擴展用例對基用例不可見。

?

?? 對于一個擴展用例,可以在基用例上有幾個擴展點。 ???
??
??
例如,系統(tǒng)中允許用戶對查詢的結(jié)果進行導(dǎo)出、打印。對于查詢而言,能不能導(dǎo)出、打印查詢都是一樣的,導(dǎo)出、打印是不可見的。導(dǎo)入、打印和查詢相對獨立,而且為查詢添加了新行為。因此可以采用擴展關(guān)系來描述:
??
??
UML幾種常見用例詳解

?? 4 ? 、泛化 (generalization)

?? ?

?? 泛化關(guān)系:子用例和父用例相似,但表現(xiàn)出更特別的行為; 子用例將繼承父用例的所有結(jié)構(gòu)、行為和關(guān)系。 ?子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。在實際應(yīng)用中很少使用泛化關(guān)系,子用例中的特殊行為都可以作為父用例中的備選流存在。

?? 例如,業(yè)務(wù)中可能存在許多需要部門領(lǐng)導(dǎo)審批的事情,但是領(lǐng)導(dǎo)審批的流程是很相似的,這時可以做成泛化關(guān)系表示:
??
??

?

?? UML幾種常見用例詳解

?? 上面是我參考的一篇文章,覺得將三種關(guān)系的區(qū)別講得很清晰,在此基礎(chǔ)上結(jié)合自己的系統(tǒng),對項目 ( ?在線購物系統(tǒng) ) ?的用例做了整體的描繪。
??
????? *****************************************************************
??
????? (1)
?系統(tǒng)整體用例圖
??
?? UML幾種常見用例詳解

?? UML幾種常見用例詳解

?? UML幾種常見用例詳解

?? UML幾種常見用例詳解

?

?? 按照先整體用例,后子系統(tǒng)用例來進行描繪的,歡迎大家提出好的建議 !

??
??
轉(zhuǎn): UML ?中擴展和泛化的區(qū)別 ?
??
???????????
泛化表示類似于 OO ?術(shù)語 ?繼承 ?或 ?多態(tài) ?。 UML ?中的 Use Case ?泛化過程是將不同 Use Case ?之間的可合并部分抽象成獨立的父 Use Case ?,并將不可合并部分單獨成各自的子 Use Case ?;包含以及擴展過程與泛化過程類似,但三者對用例關(guān)系的優(yōu)化側(cè)重點是不同的。如下:
??????????? ●
?泛化側(cè)重表示子用例間的互斥性;
??????????? ●
?包含側(cè)重表示被包含用例對 Actor ?提供服務(wù)的間接性;
??????????? ●
?擴展側(cè)重表示擴展用例的觸發(fā)不定性;詳述如下:

??
??????????
既然用例是系統(tǒng)提供服務(wù)的 UML ?表述,那么服務(wù)這個過程在所有用例場景中是必然發(fā)生的,但發(fā)生按照發(fā)生條件可分為如下兩種情況:
?????????? ⒈
?無條件發(fā)生:肯定發(fā)生的;
?????????? ⒉
?有條件發(fā)生:未必發(fā)生,發(fā)生與否取決于系統(tǒng)狀態(tài);

?? ????????? 因此,針對用例的三種關(guān)系結(jié)合系統(tǒng)狀態(tài)考慮,泛化與包含用例屬于無條件發(fā)生的用例,而擴展屬于有條件發(fā)生的用例。進一步,用例的存在是為 Actor ?提供服 務(wù),但用例提供服務(wù)的方式可分為間接和直接兩種,依據(jù)于此,泛化中的子用例提供的是直接服務(wù),而包含中的被包含用例提供的是間接服務(wù)。同樣,擴展用例提供的也是直接服務(wù),但擴展用例的發(fā)生是有條件的。

UML幾種常見用例詳解


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲狠狠婷婷综合久久久久图片 | 欧美综合一区二区 | 国色天香综合网 | 毛片看看 | 97超碰免费 | 欧美激情综合色综合啪啪五月 | 鲁一鲁综合 | 激情综合视频 | 色花堂国产精品第一页 | 欧美一区二区三 | 欧美日韩中文在线 | 国产毛片视频 | 天天色综合3| 奇米影视888狠狠狠777九色 | 国产激情偷乱视频一区二区三区 | 亚洲影视在线 | 亚洲天堂免费看 | 国产 AV 仑乱内谢 | 亚洲国产精品热久久2022 | 欧美黑人疯狂性受xxxxx喷水 | 中国精品久久 | 欧美人两个人激情的免费视频 | 亚洲浮力影院 | 日韩有码在线播放 | 在线视频 中文字幕 | 久草在线免费福利视频 | 日韩电影一区 | 欧美视频在线播放 | 人人九九精| 国产一级特黄毛片在线毛片 | 欧美精品人爱a欧美精品 | 欧美福利| 夜夜夜夜爽 | 久久久久国产视频 | 久久97精品久久久久久久看片 | 精品久久久久久久久久 | 婷婷国产成人久久精品激情 | 男女视频在线观看免费 | 夜夜夜夜猛噜噜噜噜噜 | 夜色视频网 | 成人免费毛片高清视频 |