用例泛化關(guān)系_第1頁
用例泛化關(guān)系_第2頁
用例泛化關(guān)系_第3頁
用例泛化關(guān)系_第4頁
用例泛化關(guān)系_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

5/5指南:用例泛化關(guān)系?用例泛化關(guān)系用例泛化關(guān)系是指一種從子用例到父用例的關(guān)系,它指定了子用例如何特化父用例的所有行為和特征。主題解釋執(zhí)行用例泛化關(guān)系描述用例泛化關(guān)系使用示例解釋父用例可以特化形成一個或多個子用例,這些子用例代表了父用例比較特殊的形式.盡管在大多數(shù)情況下父用例是抽象的,但無論是父用例還是子用例這兩者都不要求一定是抽象的。子用例繼承父用例的所有結(jié)構(gòu)、行為和關(guān)系。同一父用例的子用例都是該父用例的特例。這就是可適用于用例的泛化關(guān)系(另請參閱指南:泛化關(guān)系)。當(dāng)您發(fā)現(xiàn)兩個或更多用例在行為、結(jié)構(gòu)和目的方面存在共性時,就可以使用泛化關(guān)系.這種情況發(fā)生時,您可以用一個新的、通常也是抽象的用例來描述這些共有部分,該用例隨后被子用例特化.示例:“電話訂購”和“Internet訂購”用例都是抽象用例“訂購"的特例.在訂單管理系統(tǒng)中,“電話訂購”和“Internet訂購”兩個用例在結(jié)構(gòu)和行為上存在很多的共同點。而一般用例“訂購"是根據(jù)結(jié)構(gòu)和公有行為的定義來定義的。雖然抽象用例“訂購”本身無須完整,但是它提供了一個大體的、通過子用例進行完善的行為框架.父用例并不總是抽象的.示例:考慮在上一示例中的訂單管理系統(tǒng)。假設(shè)要增加一個訂單登記員主角,該訂單登記員可以代表客戶將訂單輸入到系統(tǒng)內(nèi)。此主角將啟動一般的“訂購"用例,此時必須要有一個完整的事件流來說明該用例.子用例可以在父用例提供的結(jié)構(gòu)上添加行為,也可以修改父用例中的行為.訂單登記員主角可以將該一般的“訂購"用例實例化?!坝嗁彙庇美€可以被“電話訂購”或“Internet訂購”用例所特化。子用例依賴于父用例的結(jié)構(gòu)(請參閱指南:用例,關(guān)于事件流結(jié)構(gòu)的討論).子用例可以將附加行為添加到父用例中,方法是將行為段插入到被繼承行為中或者聲明對子用例的包含關(guān)系和擴展關(guān)系。雖然子用例可以從父用例繼承行為段,但是必須慎重修改,以便保持父用例的使用目的.父用例的結(jié)構(gòu)由子用例保持。這意味著盡管所有行為段(即父用例事件流的步驟或分支流)仍然必須存在,但是這些行為段的內(nèi)容可以被子用例修改。如果父用例為抽象用例,則它可以具有不完整的行為段.但是,子用例必須補充完善這些行為段,并使得它們對于主角而言是有意義的。如果父用例是一個抽象用例,則它無需與主角發(fā)生關(guān)系。如果兩個子用例都對同一父用例(或基本用例)進行特化,則二者之間的特化是相互獨立的,這意味著它們可以在各自獨立的用例實例中執(zhí)行。這與包含關(guān)系和擴展關(guān)系不同。在包含和擴展關(guān)系中,一些附加用例隱式或顯式地修改了執(zhí)行相同基本用例的一個用例實例。用例泛化關(guān)系和包含關(guān)系都可以用來復(fù)用該模型用例間的行為。二者的區(qū)別是,在用例泛化關(guān)系中,執(zhí)行子用例不受父用例的結(jié)構(gòu)和行為(復(fù)用部分)的影響;而在包含關(guān)系內(nèi),執(zhí)行基本用例只依賴包含用例(復(fù)用部分)執(zhí)行有關(guān)功能的結(jié)果。另一個區(qū)別是,在泛化關(guān)系中,子用例有相似的目的和結(jié)構(gòu);而在包含關(guān)系中,復(fù)用相同包含用例的基本用例在目的上可以完全不同,但是它們需要執(zhí)行相同的功能。執(zhí)行用例泛化關(guān)系執(zhí)行子用例的用例實例將遵循父用例的事件流,同時插入附加行為或修改在子用例事件流中定義的行為。用例實例遵循父用例,而行為按子用例中的說明插入或進行修改。描述用例泛化關(guān)系通常,您可以不用描述泛化關(guān)系本身.相反,在子用例事件流中,您必須指定如何將新步驟插入到繼承行為中以及如何修改繼承行為。如果子用例特化不止一個的父用例(多繼承),則必須在子用例的規(guī)約中明確說明父用例的行為序列如何在子用例中交替執(zhí)行。使用示例對于一個簡單電話系統(tǒng)的兩個用例,可考慮以下分步概述:撥打本地電話呼叫方拿起聽筒。系統(tǒng)發(fā)出撥號音。呼叫方撥打一位數(shù)字.系統(tǒng)結(jié)束撥號音。呼叫方輸入電話號碼的其余數(shù)字。系統(tǒng)分析該號碼。系統(tǒng)找到相應(yīng)的當(dāng)事人。系統(tǒng)連接相應(yīng)的當(dāng)事人。當(dāng)事人之間斷開連接。撥打長途電話呼叫方拿起聽筒。系統(tǒng)發(fā)出撥號音。呼叫方撥打一位數(shù)字。系統(tǒng)結(jié)束撥號音。呼叫方輸入電話號碼的其余數(shù)字。系統(tǒng)分析該號碼。系統(tǒng)將號碼發(fā)送到其他系統(tǒng).系統(tǒng)連接該線路.當(dāng)事人之間斷開連接。在這兩個用例中,使用藍色的文本部分是非常相似的.當(dāng)這兩個用例是如此相似時,我們應(yīng)該考慮將它們合二為一.其中,其他分支流顯示了撥打本地電話和撥打長途電話之間的差別。然而,如果它們之間存在某些重大的差別,而且有一個值指明了該用例模型中本地電話和長途電話之間的關(guān)系,那么我們就可以提取它們之間的公有行為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論