版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、用例圖用例圖Use Case DiagramUse Case DiagramUMLUML及建模工具及建模工具用例圖用例圖v1 1 基于用例的系統(tǒng)行為建?;谟美南到y(tǒng)行為建模v2 2 用例圖用例圖v3 3 用例圖的表示方法用例圖的表示方法v4 4 總結(jié)總結(jié)1 1 基于用例的系統(tǒng)行為建模基于用例的系統(tǒng)行為建模v系統(tǒng)的行為系統(tǒng)的行為( (即功能即功能) )是由用戶提出的需求所決定的是由用戶提出的需求所決定的v現(xiàn)在,我們開始面對客戶傾聽他們講述關(guān)于所要開現(xiàn)在,我們開始面對客戶傾聽他們講述關(guān)于所要開發(fā)項(xiàng)目的需求:發(fā)項(xiàng)目的需求: 這是一個生產(chǎn)計(jì)劃系統(tǒng)這是一個生產(chǎn)計(jì)劃系統(tǒng) (Produce Plan Sy
2、stem) (Produce Plan System) 項(xiàng)目,我們簡稱它為項(xiàng)目,我們簡稱它為PPSPPS項(xiàng)目項(xiàng)目 PPSPPS項(xiàng)目要解決的首要問題是如何根據(jù)訂單量來保項(xiàng)目要解決的首要問題是如何根據(jù)訂單量來保證原材料的最低庫存量證原材料的最低庫存量 根據(jù)用戶的描述,我們可以初步確定根據(jù)用戶的描述,我們可以初步確定PPSPPS系統(tǒng)具有系統(tǒng)具有以下行為特征:創(chuàng)建銷售訂單、取消訂單、創(chuàng)建以下行為特征:創(chuàng)建銷售訂單、取消訂單、創(chuàng)建生產(chǎn)計(jì)劃單、創(chuàng)建采購合同、取消采購合同、零生產(chǎn)計(jì)劃單、創(chuàng)建采購合同、取消采購合同、零配件出庫、零配件入庫、計(jì)算預(yù)計(jì)可用庫存量等配件出庫、零配件入庫、計(jì)算預(yù)計(jì)可用庫存量等 1 1
3、 基于用例的系統(tǒng)行為建?;谟美南到y(tǒng)行為建模v我們需要對我們需要對PPSPPS的需求進(jìn)行細(xì)化,即把一個大的需求進(jìn)行細(xì)化,即把一個大問題分解和抽象為若干個子問題問題分解和抽象為若干個子問題v這些子問題就是我們的用例這些子問題就是我們的用例(Use Case)(Use Case),用,用例描述的是系統(tǒng)行為,例描述的是系統(tǒng)行為,UMLUML用用例圖來為系用用例圖來為系統(tǒng)行為建模統(tǒng)行為建模2 2 用例圖用例圖v用例圖用例圖 (Use Case Diagram) (Use Case Diagram) 主要用于描述主要用于描述系統(tǒng)的行為及各種功能之間的關(guān)系,是描述系統(tǒng)的行為及各種功能之間的關(guān)系,是描述參
4、與者參與者(Actors)(Actors)與用例以及用例與用例之間關(guān)與用例以及用例與用例之間關(guān)系的圖系的圖v用例圖從用戶和外部系統(tǒng)的角度,分析和考用例圖從用戶和外部系統(tǒng)的角度,分析和考察系統(tǒng)的行為,并通過參與者與系統(tǒng)之間的察系統(tǒng)的行為,并通過參與者與系統(tǒng)之間的交互關(guān)系描述系統(tǒng)對外提供的功能特性交互關(guān)系描述系統(tǒng)對外提供的功能特性 Use Case Diagram = Actors + Use Cases + Relationships2 2 用例圖用例圖vUMLUML的用例圖由參與者、用例及它們之間的的用例圖由參與者、用例及它們之間的關(guān)系組成關(guān)系組成v它的表達(dá)方式為:它的表達(dá)方式為: 用例圖用例
5、圖 = = 參與者參與者 + + 用例用例 + + 關(guān)系關(guān)系3 3 用例圖的表示方法用例圖的表示方法v3.1 3.1 參與者參與者v3.2 3.2 用例用例v3.3 3.3 用例之間的關(guān)系用例之間的關(guān)系3.1 3.1 參與者參與者vUMLUML官方文檔對參與者的定義是:官方文檔對參與者的定義是:actoractor是在是在系統(tǒng)之外系統(tǒng)之外與系統(tǒng)交互的某人或某事物。與系統(tǒng)交互的某人或某事物。v參與者是用例的啟動者參與者是用例的啟動者v參與者處于用例的外部并且能夠初始化一個參與者處于用例的外部并且能夠初始化一個用例,但它并不是所描述系統(tǒng)的一部分,它用例,但它并不是所描述系統(tǒng)的一部分,它可能是人或其
6、他外界系統(tǒng)可能是人或其他外界系統(tǒng)3.1 3.1 參與者參與者planner圖2-1 參與者的符號 3.1 3.1 參與者參與者v在在UML2.0UML2.0中,參與者的符號被表示為圖中,參與者的符號被表示為圖2-22-2的形式:的形式:Actorplanner圖2-2 UML2.0表示參與者的方法 3.1 3.1 參與者參與者v圖圖2-22-2中的中的是一個構(gòu)造型是一個構(gòu)造型 (Stereotype)(Stereotype),表示當(dāng)前的,表示當(dāng)前的UMLUML元素表達(dá)的元素表達(dá)的是參與者的概念是參與者的概念一個問題一個問題v小王到銀行去開戶,向大廳經(jīng)理詢問了辦理小王到銀行去開戶,向大廳經(jīng)理詢問
7、了辦理手續(xù),填寫了表單,交給柜臺職員,拿到了手續(xù),填寫了表單,交給柜臺職員,拿到了銀行存折。在這個場景中,誰是參與者?銀行存折。在這個場景中,誰是參與者?系統(tǒng)邊界是系統(tǒng)邊界是什么?什么?1,誰對系統(tǒng)有著明確的目標(biāo)和要求并且主動發(fā)出動作?2,系統(tǒng)為誰服務(wù)?參與者可以非人參與者可以非人v每天自動統(tǒng)計(jì)網(wǎng)頁訪問量,生成統(tǒng)計(jì)報表,每天自動統(tǒng)計(jì)網(wǎng)頁訪問量,生成統(tǒng)計(jì)報表,并發(fā)送至管理員信箱。這個需求的參與者是并發(fā)送至管理員信箱。這個需求的參與者是誰?誰?計(jì)算機(jī)系統(tǒng)、計(jì)時器、傳感器、JMS消息任何需求都有一個啟動者任何需求都有一個啟動者v任何功能性需求都有一個啟動者,如果找不任何功能性需求都有一個啟動者,如果
8、找不到啟動者,那可以肯定的說,這不是一個功到啟動者,那可以肯定的說,這不是一個功能性需求。能性需求。v例如:客戶提出要建立的系統(tǒng)界面要很友好,例如:客戶提出要建立的系統(tǒng)界面要很友好,每個頁面上都有操作提示。每個頁面上都有操作提示。非功能需求發(fā)現(xiàn)參與者發(fā)現(xiàn)參與者v參與者來源:涉眾分析、客戶的崗位設(shè)置、參與者來源:涉眾分析、客戶的崗位設(shè)置、客戶代表訪談??蛻舸碓L談。v以下問題可以幫助確定參與者:以下問題可以幫助確定參與者:n 誰負(fù)責(zé)提供、使用和刪除信息?誰負(fù)責(zé)提供、使用和刪除信息?n 誰將使用此功能誰將使用此功能?n 誰對某個特定的功能感興趣?誰對某個特定的功能感興趣?n 在組織中的什么地方使用
9、系統(tǒng)?在組織中的什么地方使用系統(tǒng)?n 誰負(fù)責(zé)支持和維護(hù)系統(tǒng)?誰負(fù)責(zé)支持和維護(hù)系統(tǒng)?n 系統(tǒng)有哪些外部資源?系統(tǒng)有哪些外部資源?n 其它還有哪些系統(tǒng)與該系統(tǒng)進(jìn)行交互?其它還有哪些系統(tǒng)與該系統(tǒng)進(jìn)行交互?參與者情況分析參與者情況分析參與者情況分析參與者情況分析參與者情況分析參與者情況分析參與者情況分析參與者情況分析3.2 3.2 用例用例vBoochBooch等人在等人在19991999年出版的年出版的Unified Unified Modeling Language User GuideModeling Language User Guide中將用例中將用例定義為:定義為: “若干動作序列集合的描
10、述,包括由系統(tǒng)若干動作序列集合的描述,包括由系統(tǒng)執(zhí)行并產(chǎn)生可觀察的、對某參與者有價值執(zhí)行并產(chǎn)生可觀察的、對某參與者有價值的結(jié)果的變體的結(jié)果的變體”vRationalRational統(tǒng)一過程統(tǒng)一過程(Rational Unified (Rational Unified ProcessProcess,RUP)RUP)將用例定義為:將用例定義為: “一系列包含變量的動作描述,系統(tǒng)由此一系列包含變量的動作描述,系統(tǒng)由此對特定用戶產(chǎn)生有價值的可見結(jié)果對特定用戶產(chǎn)生有價值的可見結(jié)果” 3.2 3.2 用例用例v簡單的說,用例就是對一組動作序列的描述,簡單的說,用例就是對一組動作序列的描述,系統(tǒng)執(zhí)行該動作序
11、列來為系統(tǒng)的參與者產(chǎn)生系統(tǒng)執(zhí)行該動作序列來為系統(tǒng)的參與者產(chǎn)生一個可觀察的結(jié)果。一個可觀察的結(jié)果。v這個動作序列就是業(yè)務(wù)工作步驟,是用戶和這個動作序列就是業(yè)務(wù)工作步驟,是用戶和系統(tǒng)之間的交互過程。系統(tǒng)之間的交互過程。v用例反映用戶的需求,而不是反映開發(fā)人員用例反映用戶的需求,而不是反映開發(fā)人員的愿望。的愿望。用例與面向?qū)ο蟮年P(guān)系用例與面向?qū)ο蟮年P(guān)系v用例是用例是UMLUML建模中最最重要的一個元素。之建模中最最重要的一個元素。之所以說它重要,是因?yàn)樗哉f它重要,是因?yàn)閁MLUML是面向?qū)ο蟮?,是面向?qū)ο蟮?,除了用例之外,其它元素都是除了用例之外,其它元素都是“封裝封裝”的,的,“獨(dú)立獨(dú)立”的。的
12、。v正是用例將這些獨(dú)立的封裝的對象驅(qū)動起來,正是用例將這些獨(dú)立的封裝的對象驅(qū)動起來,引發(fā)他們之間的聯(lián)系。引發(fā)他們之間的聯(lián)系。用例的構(gòu)成用例的構(gòu)成用例的構(gòu)成用例的構(gòu)成v一個完整的用例定義是由參與者、前置條件、一個完整的用例定義是由參與者、前置條件、場景、后置條件構(gòu)成的。場景、后置條件構(gòu)成的。v一個系統(tǒng)的功能性是由一些對系統(tǒng)有愿望的一個系統(tǒng)的功能性是由一些對系統(tǒng)有愿望的參與者要做的一些事情構(gòu)成的,這些事情完參與者要做的一些事情構(gòu)成的,這些事情完成后就達(dá)成了參與者的一個愿望,當(dāng)全部參成后就達(dá)成了參與者的一個愿望,當(dāng)全部參與者的愿望都通過用例來達(dá)到了,那么這個與者的愿望都通過用例來達(dá)到了,那么這個系統(tǒng)
13、就被確定下來了。捕捉功能性需求,這系統(tǒng)就被確定下來了。捕捉功能性需求,這就是用例的作用。就是用例的作用。用例的特征用例的特征v用例是相對獨(dú)立的用例是相對獨(dú)立的,它不需要與其它用例交它不需要與其它用例交互而互而獨(dú)自獨(dú)自完成參與者的完成參與者的目的目的。v例如取錢是一個有效的用例,而填寫取款單例如取錢是一個有效的用例,而填寫取款單不是。用例本質(zhì)體現(xiàn)了系統(tǒng)參與者的愿望,不是。用例本質(zhì)體現(xiàn)了系統(tǒng)參與者的愿望,不能完整達(dá)到參與者愿望的不是用例。不能完整達(dá)到參與者愿望的不是用例。用例的特征用例的特征v用例的執(zhí)行結(jié)果對參與者來說是可觀測和有用例的執(zhí)行結(jié)果對參與者來說是可觀測和有意義的。意義的。v例如有一個后
14、臺進(jìn)程監(jiān)控參與者在系統(tǒng)里的例如有一個后臺進(jìn)程監(jiān)控參與者在系統(tǒng)里的操作,并在參與者刪除數(shù)據(jù)之前執(zhí)行備份操操作,并在參與者刪除數(shù)據(jù)之前執(zhí)行備份操作。雖然是系統(tǒng)功能必須的一個部分,但是作。雖然是系統(tǒng)功能必須的一個部分,但是在需求階段不應(yīng)該作為用例出現(xiàn),因?yàn)閷⒃谛枨箅A段不應(yīng)該作為用例出現(xiàn),因?yàn)閷⑴c者是不可觀察的。與者是不可觀察的。用例的特征用例的特征v這件事必須由一個參與者發(fā)起,不存在沒有這件事必須由一個參與者發(fā)起,不存在沒有參與者的用例。參與者的愿望是這個用例出參與者的用例。參與者的愿望是這個用例出現(xiàn)的原因現(xiàn)的原因用例的特征用例的特征v用例必然是以用例必然是以動賓短語動賓短語形式出現(xiàn)的。很多不形
15、式出現(xiàn)的。很多不對的描述形式比如:對的描述形式比如:“計(jì)算計(jì)算”、“統(tǒng)計(jì)統(tǒng)計(jì)”、“報表報表”、“輸出輸出”、“錄入錄入”用例的特征用例的特征v一個用例就是一個需求單元、分析單元、設(shè)一個用例就是一個需求單元、分析單元、設(shè)計(jì)單元、開發(fā)單元、測試單元甚至部署單元。計(jì)單元、開發(fā)單元、測試單元甚至部署單元。用例的粒度用例的粒度v粒度是很令人困惑的問題。比如:粒度是很令人困惑的問題。比如:ATMATM取錢取錢的場景中,取錢、讀卡、驗(yàn)證賬號、打印回的場景中,取錢、讀卡、驗(yàn)證賬號、打印回執(zhí)單等都是可能的用例。到底該使用什么粒執(zhí)單等都是可能的用例。到底該使用什么粒度去劃分合適?度去劃分合適?v項(xiàng)目過程中不同的階
16、段使用不同的用例粒度。項(xiàng)目過程中不同的階段使用不同的用例粒度。3.2 3.2 用例用例vUMLUML有兩種表達(dá)用例的方式:一種是用一個有兩種表達(dá)用例的方式:一種是用一個橢圓加上一個放置在橢圓中心的用例名稱來橢圓加上一個放置在橢圓中心的用例名稱來表達(dá)用例:表達(dá)用例:Create Order圖2-3 UML用橢圓形表示用例 3.2 3.2 用例用例v另一種方式是用分欄的矩形框來表達(dá)用例,另一種方式是用分欄的矩形框來表達(dá)用例,第一欄標(biāo)明用例的名稱,并且在右上角畫一第一欄標(biāo)明用例的名稱,并且在右上角畫一個小橢圓表示當(dāng)前的個小橢圓表示當(dāng)前的UMLUML元素表示的是用例,元素表示的是用例,矩形框的第二欄放
17、置其他與這個用例有關(guān)的矩形框的第二欄放置其他與這個用例有關(guān)的細(xì)節(jié),比如擴(kuò)展點(diǎn)、被包含用例等細(xì)節(jié),比如擴(kuò)展點(diǎn)、被包含用例等Create OrderExtension Pointsale styles圖2-4 UML用矩形表示用例 3.2 3.2 用例用例v所有用例都應(yīng)該有名稱,建議使用動名詞為用例命所有用例都應(yīng)該有名稱,建議使用動名詞為用例命名名 例如用例例如用例“Create OrderCreate Order”或或“Estimate Estimate Available InventoryAvailable Inventory”。這反映出用例應(yīng)始終以。這反映出用例應(yīng)始終以用戶的角度來定義,而
18、不是以系統(tǒng)功能的角度定用戶的角度來定義,而不是以系統(tǒng)功能的角度定義義v可以將一個參與者與一個或多個用例關(guān)聯(lián)可以將一個參與者與一個或多個用例關(guān)聯(lián)(Association)(Association),這種關(guān)聯(lián)關(guān)系揭示了參與者初始化,這種關(guān)聯(lián)關(guān)系揭示了參與者初始化一個用例,而用例向參與者提供有價值的可見結(jié)果一個用例,而用例向參與者提供有價值的可見結(jié)果v關(guān)聯(lián)關(guān)系用實(shí)線來表示關(guān)聯(lián)關(guān)系用實(shí)線來表示Create OrderCancel Ordersalesman圖2-5 參與者與用例之間的關(guān)聯(lián) 3.2 3.2 用例用例3.2 3.2 用例用例v一個系統(tǒng)中的每個功能都有它的所屬范圍,所以用一個系統(tǒng)中的每個功能
19、都有它的所屬范圍,所以用例用系統(tǒng)邊界例用系統(tǒng)邊界(System Boundaries)(System Boundaries)來定義這種范來定義這種范圍圍v在決定參與者、設(shè)計(jì)一個系統(tǒng)、子系統(tǒng)或某個部件在決定參與者、設(shè)計(jì)一個系統(tǒng)、子系統(tǒng)或某個部件的時候,這種劃分系統(tǒng)邊界的技術(shù)對于決定系統(tǒng)的的時候,這種劃分系統(tǒng)邊界的技術(shù)對于決定系統(tǒng)的規(guī)模和分配責(zé)任是十分有用的規(guī)模和分配責(zé)任是十分有用的v系統(tǒng)邊界是用來表示正在建模系統(tǒng)的邊界,邊界內(nèi)系統(tǒng)邊界是用來表示正在建模系統(tǒng)的邊界,邊界內(nèi)表示系統(tǒng)的組成部分,邊界外表示系統(tǒng)外部表示系統(tǒng)的組成部分,邊界外表示系統(tǒng)外部vUMLUML使用矩形框來表達(dá)系統(tǒng)的邊界,在矩形框的
20、左使用矩形框來表達(dá)系統(tǒng)的邊界,在矩形框的左上方放置系統(tǒng)的名字上方放置系統(tǒng)的名字 v銷售子系統(tǒng):銷售子系統(tǒng):Create OrderCancel OrderSale System salesman圖2-6 業(yè)務(wù)員處于系統(tǒng)邊界之外 3.2 3.2 用例用例v庫存子系統(tǒng):庫存子系統(tǒng):Stock OutStorage System Stock InEstimate Available Inventorystoreman圖2-7 庫管員的系統(tǒng)邊界 3.2 3.2 用例用例v采購子系統(tǒng):采購子系統(tǒng):Create Purchase ContractCancel Purchase ContractPurcha
21、se System purchaser圖2-8 采購員的系統(tǒng)邊界 3.2 3.2 用例用例3.3 3.3 用例之間的關(guān)系用例之間的關(guān)系v在簡單的用例圖中,只表述參與者和用例之在簡單的用例圖中,只表述參與者和用例之間的關(guān)系,但有時需要表達(dá)參與者之間以及間的關(guān)系,但有時需要表達(dá)參與者之間以及用例之間的關(guān)系用例之間的關(guān)系v用例建模間的關(guān)系包括:用例建模間的關(guān)系包括: 擴(kuò)展擴(kuò)展(Extend)(Extend) 包含包含(Include)(Include) 泛化泛化(Generalization)(Generalization)(1) 泛化關(guān)系v泛化關(guān)系是兩個用例或兩個參與者之間的關(guān)系泛化關(guān)系是兩個用例
22、或兩個參與者之間的關(guān)系 v當(dāng)多個用例共同擁有一種類似的結(jié)構(gòu)和行為的時候,當(dāng)多個用例共同擁有一種類似的結(jié)構(gòu)和行為的時候,可以將它們的共性抽象為父用例,其他的用例作為可以將它們的共性抽象為父用例,其他的用例作為子用例,用例間的這種關(guān)系被稱為用例的泛化關(guān)系子用例,用例間的這種關(guān)系被稱為用例的泛化關(guān)系 A A 是是B B的泛化,意味著的泛化,意味著A A描述的是一般的行為,而描述的是一般的行為,而B B是這些行為的詳細(xì)是這些行為的詳細(xì)(Specific)(Specific)版本版本 A A被稱為父用例被稱為父用例(Parent Use Case)(Parent Use Case)或基用例或基用例(Ba
23、se (Base Use Case)Use Case),B B被稱為子用例被稱為子用例(Child Use Case)(Child Use Case)v在用例的泛化關(guān)系中,子用例是父用例的一種特殊在用例的泛化關(guān)系中,子用例是父用例的一種特殊形式,子用例繼承形式,子用例繼承(Inherit)(Inherit)了父用例所有的結(jié)構(gòu)、了父用例所有的結(jié)構(gòu)、行為和關(guān)系行為和關(guān)系salesmanCreate OrderCreate Retail OrderCreate Wholesale Order圖2-10 Create Order是對Create Wholesale Order和Create Retai
24、l Order的泛化 (1) (1) 泛化關(guān)系泛化關(guān)系(1) 泛化關(guān)系v參與者之間也存在著這種泛化關(guān)系參與者之間也存在著這種泛化關(guān)系v比如,你建模了一個數(shù)據(jù)庫管理員和一個備比如,你建模了一個數(shù)據(jù)庫管理員和一個備份管理員,然后你發(fā)現(xiàn)他們的工作中有一部份管理員,然后你發(fā)現(xiàn)他們的工作中有一部分是重疊的,那么,你就可以創(chuàng)建一個稱為分是重疊的,那么,你就可以創(chuàng)建一個稱為系統(tǒng)管理員的參與者作為數(shù)據(jù)庫管理員和備系統(tǒng)管理員的參與者作為數(shù)據(jù)庫管理員和備份管理員的泛化份管理員的泛化 (2) 擴(kuò)展關(guān)系v擴(kuò)展是兩個用例之間的關(guān)系,它使得每個用例可以擴(kuò)展是兩個用例之間的關(guān)系,它使得每個用例可以通過擴(kuò)展用例向基用例中添加
25、額外的行為來擴(kuò)展基通過擴(kuò)展用例向基用例中添加額外的行為來擴(kuò)展基用例的功能用例的功能v用例的擴(kuò)展機(jī)制允許從一個基用例開始開發(fā)一個復(fù)用例的擴(kuò)展機(jī)制允許從一個基用例開始開發(fā)一個復(fù)雜的系統(tǒng),并且能夠在不改變基用例的前提下向基雜的系統(tǒng),并且能夠在不改變基用例的前提下向基用例中擴(kuò)展更多的行為用例中擴(kuò)展更多的行為 用例用例A A擴(kuò)展了用例擴(kuò)展了用例B B,則,則A A稱為擴(kuò)展用例稱為擴(kuò)展用例(Extend (Extend Use Case)Use Case)或子用例,或子用例,B B稱為基用例稱為基用例 它表示擴(kuò)展用例它表示擴(kuò)展用例A A的事件流在一定的條件下按照相的事件流在一定的條件下按照相應(yīng)的擴(kuò)展點(diǎn)可插
26、入到基用例應(yīng)的擴(kuò)展點(diǎn)可插入到基用例B B中,這就需要在基用中,這就需要在基用例中定義一至多個已命名的擴(kuò)展點(diǎn)例中定義一至多個已命名的擴(kuò)展點(diǎn)v選用擴(kuò)展關(guān)系可以把一些可選的操作獨(dú)立封裝在另選用擴(kuò)展關(guān)系可以把一些可選的操作獨(dú)立封裝在另外的用例中,避免基用例過于復(fù)雜外的用例中,避免基用例過于復(fù)雜圖2-11 用例的擴(kuò)展關(guān)系 (2) (2) 擴(kuò)展關(guān)系擴(kuò)展關(guān)系使用擴(kuò)展關(guān)系的理由使用擴(kuò)展關(guān)系的理由v表明用例的某部分是可選的(或可能可選)的系統(tǒng)表明用例的某部分是可選的(或可能可選)的系統(tǒng)行為。這樣就可以將模型中的可選行為和必選行為行為。這樣就可以將模型中的可選行為和必選行為分開。分開。v表明只在特定條件(有時是例
27、外條件)下才執(zhí)行分表明只在特定條件(有時是例外條件)下才執(zhí)行分支流,如觸發(fā)警報支流,如觸發(fā)警報v表明可能有一組行為段,其中的一個或多個段可以表明可能有一組行為段,其中的一個或多個段可以在基本用例的擴(kuò)展點(diǎn)插入,所插入的行為段將取決在基本用例的擴(kuò)展點(diǎn)插入,所插入的行為段將取決于在執(zhí)行基本用例時與主角的交互。于在執(zhí)行基本用例時與主角的交互。v表明多個基本用例中都有可能觸發(fā)一個可選的分支表明多個基本用例中都有可能觸發(fā)一個可選的分支流。從這個意義上說,擴(kuò)展用例也代表了多個用例流。從這個意義上說,擴(kuò)展用例也代表了多個用例的可復(fù)用部分。的可復(fù)用部分。例子例子v打電話時,如果在通話過程中收到另一個呼打電話時,
28、如果在通話過程中收到另一個呼叫,我們可以將當(dāng)前通話保留而接聽另一個叫,我們可以將當(dāng)前通話保留而接聽另一個通話。在這個場景中,保留通話用例就是打通話。在這個場景中,保留通話用例就是打電話用例的一個擴(kuò)展用例。電話用例的一個擴(kuò)展用例。v是否保留通話取決于打電話人的決定,而不是否保留通話取決于打電話人的決定,而不是必須,即使我們沒有保留通話功能,也不是必須,即使我們沒有保留通話功能,也不影響打電話的完整性。但是如果沒有之前的影響打電話的完整性。但是如果沒有之前的打電話用例,也就不可能單獨(dú)啟動所謂的保打電話用例,也就不可能單獨(dú)啟動所謂的保留通話用例了。留通話用例了。(3) 包含關(guān)系v包含是兩個用例之間的
29、關(guān)系包含是兩個用例之間的關(guān)系v當(dāng)多個用例需要用到同一段行為時,可以把這段共當(dāng)多個用例需要用到同一段行為時,可以把這段共同的行為單獨(dú)抽象成為一個用例,然后讓其他的用同的行為單獨(dú)抽象成為一個用例,然后讓其他的用例來包含這一用例,從而避免在多個用例中重復(fù)性例來包含這一用例,從而避免在多個用例中重復(fù)性的描述同一段行為,也可以防止該段行為在多個用的描述同一段行為,也可以防止該段行為在多個用例中的描述出現(xiàn)不一致性例中的描述出現(xiàn)不一致性v當(dāng)需要修改這段公共的需求時,也只需要修改一個當(dāng)需要修改這段公共的需求時,也只需要修改一個用例,避免同時修改多個用例而產(chǎn)生的不一致性和用例,避免同時修改多個用例而產(chǎn)生的不一致
30、性和重復(fù)性工作重復(fù)性工作 用例用例A A包含包含B B,將,將A A稱為基用例,稱為基用例,B B稱為被包含用例稱為被包含用例(Inclusion Use Case)(Inclusion Use Case)v包含關(guān)系表示基用例會用到被包含用例,被包含用包含關(guān)系表示基用例會用到被包含用例,被包含用例的事件流在基用例的某個點(diǎn)處插入到基用例的事例的事件流在基用例的某個點(diǎn)處插入到基用例的事件流中件流中使用包含關(guān)系的理由使用包含關(guān)系的理由v從基本用例中分解出這樣的行為:它對于基本用例從基本用例中分解出這樣的行為:它對于基本用例的主要目的并不是必須的,只有它的結(jié)果才比較重的主要目的并不是必須的,只有它的結(jié)果才比較重要要v分解出兩個或者多個用例共有的行為分解出兩個或者多個用例共有的行為v例子:去銀行辦理業(yè)務(wù),不論是取錢、轉(zhuǎn)賬還是修例子:去銀行辦理業(yè)務(wù),不論是取錢、轉(zhuǎn)賬還是修改密碼,我們都首選要核對賬號和密碼,因此可以改密碼,我們都首選要核對賬號和密碼,因此可以將核對賬號作為上述業(yè)務(wù)用例的共有行為提取出來,將核對賬號作為上述業(yè)務(wù)用例的共有行為提取出來,形成一個包含用例。我們可以看到這個包含用例就形成一個包含用例。我們可以看到這個包含用例就有了可復(fù)用的意義,如果缺少了包含用例,取錢轉(zhuǎn)有了可復(fù)用的意義,如果缺少了
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025附件委托貸款借款合同
- 課題申報書:高載能企業(yè)向綠電資源富集區(qū)遷移的行為機(jī)理與政策優(yōu)化-以碳配額為視角
- 課題申報書:高等教育促進(jìn)產(chǎn)教融合型城市建設(shè)的機(jī)制創(chuàng)新研究
- 上海杉達(dá)學(xué)院《數(shù)字產(chǎn)品研發(fā)與設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海農(nóng)林職業(yè)技術(shù)學(xué)院《經(jīng)濟(jì)效益審計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海農(nóng)林職業(yè)技術(shù)學(xué)院《電化學(xué)原理及應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海旅游高等??茖W(xué)?!夺t(yī)學(xué)史》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海立信會計(jì)金融學(xué)院《康養(yǎng)建筑設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海理工大學(xué)《商務(wù)法律基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上??萍即髮W(xué)《電化學(xué)及應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 電動自行車火災(zāi)事故教訓(xùn)警示課件
- 江蘇小高考計(jì)算機(jī)考試題目及答案
- 上海市徐匯區(qū)2023-2024學(xué)年九年級上學(xué)期一?;瘜W(xué)試題
- 2024年度初級會計(jì)《初級會計(jì)實(shí)務(wù)》模擬試題及答案
- 美容護(hù)膚招商方案
- 新概念英語課件NCE1-lesson57-58(共21張)
- 國開2023秋《人文英語3》第5-8單元作文練習(xí)參考答案
- 水平四《排球正面雙手傳球》教學(xué)設(shè)計(jì)
- 黑龍江省黑河北安市2024屆中考二模數(shù)學(xué)試題含解析
- 計(jì)算機(jī)系統(tǒng)權(quán)限修改審批表
- 建標(biāo) 189-2017 婦幼健康服務(wù)機(jī)構(gòu)建設(shè)標(biāo)準(zhǔn)
評論
0/150
提交評論