用例和用例圖_第1頁
用例和用例圖_第2頁
用例和用例圖_第3頁
用例和用例圖_第4頁
用例和用例圖_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

用例和用例圖教學(xué)目的熟悉用例的概念,掌握用例圖的作用;掌握用例之間的關(guān)系;學(xué)會使用用例對軟件系統(tǒng)需求建模;掌握用例描述;掌握Rose下用例建模。用例建模概述

用例圖從用戶的角度來描述系統(tǒng)功能,并指出各功能的操作者,其基本組成成份是系統(tǒng)、參與者和用例。用例從外部用戶的角度來描述系統(tǒng)應(yīng)該實現(xiàn)什么樣的功能。參與者是與系統(tǒng)進行交互的外部實體,系統(tǒng)是實現(xiàn)各種用例的“黑盒”。用例進行需求分析的特點用例從使用系統(tǒng)的角度描述系統(tǒng)中的信息,即站在系統(tǒng)外部察看系統(tǒng)的功能,而不考慮系統(tǒng)內(nèi)對該功能的具體實現(xiàn)方式。用例描述了用戶提出的一些可見需求,對應(yīng)一個具體的用戶目標(biāo)。是用來劃分系統(tǒng)與外部實體的界限,是OO系統(tǒng)設(shè)計的起點,是類、對象、操作的來源。用例是對系統(tǒng)行為的動態(tài)描述,屬于UML動態(tài)建模部分。用例圖用例圖用來定義系統(tǒng)的功能需求,描述若干參與者與系統(tǒng)提供的用例之間的連接關(guān)系。用例圖的作用主要有三個:獲取需求;指導(dǎo)測試;對整個過程中的其他工作流起指導(dǎo)作用。用例圖示例用例圖用例圖包含三個元素,它們是:參與者、用例、關(guān)系。參與者:參與系統(tǒng)成功操作的某些人、系統(tǒng)、設(shè)備甚是是企業(yè)所扮演的角色。用例:標(biāo)志系統(tǒng)的某個關(guān)鍵行為。每個用例都表達了系統(tǒng)必須達到的目標(biāo)或必須產(chǎn)生的結(jié)果。關(guān)系:標(biāo)志參與者和用例之間的交互稱為關(guān)聯(lián)。每個關(guān)聯(lián)成為在用例描述中加以解釋的對話,而每個用例描述又提供了一組腳本,它們有助于開發(fā)測試用例。用例之間有包含、擴展和泛化關(guān)系。用例圖要素系統(tǒng):表示一臺機器或一次商務(wù)活動等。系統(tǒng)的邊界說明用例圖的應(yīng)用范圍。參與者:是為了完成一個事件而與系統(tǒng)進行交互的實體,是與系統(tǒng)交互的外部用戶、或其他系統(tǒng)的概念。用例:用例是外部可見的一種系統(tǒng)功能,其作用是在不揭示系統(tǒng)內(nèi)部構(gòu)造的情況下定義系統(tǒng)中連貫的行為,在系統(tǒng)層,表示整個系統(tǒng)對外部用戶可見的行為。用例圖用例圖是基于用例的方法的一部分,基于用例的方法還包括對用例的文本描述和用例腳本。文本描述用來強調(diào)用例的需求細(xì)節(jié),腳本則用來說明用例執(zhí)行中的選項、測試需求以及為后續(xù)的開發(fā)提供較高層次的測試計劃。參與者(1)參與者是某種類型的用戶,用戶指使用系統(tǒng)的人,或者是其他的的系統(tǒng)、設(shè)備。參與者的圖形表示見教材P24頁圖3.4所示。參與者(2)建模人員可以這樣看待參與者:是一個外部實體;和系統(tǒng)之間存在交互;充當(dāng)某個特定的角色;如何識別參與者系統(tǒng)的主要客戶是誰?誰從該系統(tǒng)獲得信息?誰向系統(tǒng)提供信息?誰來安裝該系統(tǒng)?誰來操作該系統(tǒng)?誰來關(guān)閉該系統(tǒng)?在預(yù)定的時刻是否有事件自動發(fā)生?誰使用或刪除系統(tǒng)中的信息?系統(tǒng)從何處獲得信息?參與者的泛化關(guān)系參與者之間的泛化關(guān)系表示一個一般性的參與者(稱作父參與者)與另一個更為特殊的參與者(稱作子參與者)之間的聯(lián)系。子參與者繼承了父參與者的行為和含義,還可以增加自己的行為和含義,子參與者可以出現(xiàn)在父參與者能出現(xiàn)的任何位置上。泛化關(guān)系用帶三角形箭頭的實線表示。見教材P24圖3.5。關(guān)聯(lián)

關(guān)聯(lián)是參與者和用例之間的關(guān)系,表示方法是在參與者和用例之間連接一條直線,關(guān)聯(lián)描述了這樣一個事實,即參與者和用例之間的通信。用例間的關(guān)系包含關(guān)系:標(biāo)志一個可重用的用例,它可以被無條件地集成到其他的用例中,什么時候或者為什么調(diào)用該用例取決于調(diào)用它的用例。擴展關(guān)系:指的是一個可重用的用例被另外一個用例有條件地打斷,以增加其功能。什么時候使用擴展用例取決于擴展用例。泛化:指的是參與者之間或者用例之間的繼承關(guān)系。用例的擴展關(guān)系使用擴展用例可以使我們不改變基用例的同時,根據(jù)需要自由的往系統(tǒng)中添加行為。擴展關(guān)系中,箭頭的方向是從擴展用例到基本用例,也就是說,擴展用例是依賴于基本用例的。擴展用例決定它什么時候執(zhí)行,基用例對此毫不知情。擴展關(guān)系的要素基用例:需要被擴展用例加強的用例;擴展用例:提供所添加的行為的用例;《extend》關(guān)系:使用虛線箭頭表示,箭頭的尾部在擴展用例上,箭頭指向基用例。擴展點:基用例中的一個或多個位置,該位置會衡量某個條件以決定擴展是否打斷基用例的執(zhí)行。擴展點可以列在用例圖標(biāo)中,也可以在用例描述中說明。擴展關(guān)系擴展點是一個條件,決定擴展是否會被使用,擴展點定義了一個擴展用例一直在監(jiān)視的條件,一旦條件滿足,擴展用例就將自己加入到執(zhí)行用例中。比如基用例向系統(tǒng)報告一個錯誤,該錯誤這是某個擴展用例監(jiān)視的條件,在收到這個條件后,擴展用例就插入執(zhí)行,對錯誤進行處理,執(zhí)行完畢后,基用例被允許從中斷的地方繼續(xù)執(zhí)行。用例的包含關(guān)系包含關(guān)系和對象的調(diào)用關(guān)系比較相象,它描述的是一個用例需要某種類型的行為,而另一個用例定義了該行為,那么在用例執(zhí)行中,就可以調(diào)用已經(jīng)定義好的用例。包含關(guān)系中箭頭的方向是從基本用例到包含用例,箭頭線上包含關(guān)鍵詞《include》,即就是說,基本用例是依賴于包含用例的。為了使用包含關(guān)系,必須遵循以下兩個約束:調(diào)用用例只能依賴被調(diào)用用例的返回結(jié)果,它對被調(diào)用用例的內(nèi)部結(jié)構(gòu)沒有了解;調(diào)用用例總會要求被調(diào)用用例執(zhí)行,對被調(diào)用用例的使用是無條件的。包含關(guān)系的表示包含、擴展關(guān)系比較(1)Include增強基用例的行為;被包含用例總是被用來增強執(zhí)行用例;執(zhí)行用例決定什么時候調(diào)用被執(zhí)行用例,被包含用例對基用例一無所知;關(guān)系箭頭由執(zhí)行用例指向被包含用例,箭頭的尾部表示基用例指導(dǎo)被包含用例的執(zhí)行。包含、擴展關(guān)系比較(2)Extend增強基用例的行為;擴展用例可能被用來增強執(zhí)行用例擴展用例決定什么時候?qū)⒆约杭尤牖美膱?zhí)行中,基用例對擴展用例一無所知關(guān)系箭頭由擴展用例指向執(zhí)行用例,箭頭的尾部表示擴展用例決定是否打斷執(zhí)行用例定義用例方法一個項目最開始的任務(wù)之一就是確定應(yīng)用程序的上下文和范圍,需要回答以下問題:需要包含哪些功能?在整體體系結(jié)構(gòu)中,該系統(tǒng)如何和其他系統(tǒng)關(guān)聯(lián)?誰將使用該系統(tǒng)?系統(tǒng)取決于誰或什么因素?系統(tǒng)提供什么產(chǎn)品或結(jié)果?其他系統(tǒng)或用戶為什么需要本系統(tǒng)提供的特征?用例描述用例圖通常會和用例描述一起使用,用例描述會對用例給出解釋。用例腳本描述的使用例執(zhí)行時選擇的路徑,這是形成測試計劃的基礎(chǔ)。用例圖、用例描述和用例腳本構(gòu)成了基于用例的方法的基礎(chǔ)。用例描述用例的目標(biāo);用例是怎么啟動的;參與者和用例之間的消息是如何傳送的;用例中除了主路徑外,其他路徑是什么;用例結(jié)束后的系統(tǒng)狀態(tài);其他需要描述的內(nèi)容;用例描述模板(1)用例描述格式見教材P30表3.2例子見教材P31表3.3用例描述模板(1)假定:描述的是系統(tǒng)在使用用例之前必須滿足的狀態(tài),這些條件并沒有經(jīng)過用例的檢測,用例只是假設(shè)它們?yōu)檎?。前置條件:前置條件描述了執(zhí)行用例之前系統(tǒng)必須滿足的條件,但是和假定不一樣,前置條件在使用之前,是使用用例測試過的。如果條件得不到滿足的話,用例將不會被執(zhí)行。用例起始/觸發(fā)器:用例必須有一個起始點,用例起始說明了一個用例觸發(fā)的原因。用例描述模板(2)會話:指的是對用戶(參與者或另外的用例)和執(zhí)行用例(實現(xiàn)用例的系統(tǒng))之間的交互所做的一步步的描述,通常使用活動圖或交互綜述圖描述該事件序列。用例終止:盡管只有一個觸發(fā)事件啟動一個用例,但終止一個用例卻經(jīng)常有很多方法,用例可以正常終止,即所有交互都正常進行,最后得到希望的結(jié)果,擔(dān)當(dāng)出錯或取消某個操作時,用例會給出出錯信息然后終止。后置條件:規(guī)定(1)如果前置條件滿足的話,系統(tǒng)必須做什么;(2)在用例結(jié)束時,系統(tǒng)必須處于什么狀態(tài)。用例腳本發(fā)現(xiàn)腳本為了發(fā)現(xiàn)腳本,首先從用例描述開始,一般來說,最好是先決定成功腳本的路徑,跟隨用例中的每一步,在到達決策點時,就需要進行選擇,在所有的選項中選擇可以到達用例成功結(jié)束點的路徑,然后繼續(xù)往下跟蹤,一直到達成功結(jié)束點,這樣就完成了第一個腳本。然后回到第一個分支點,從另一條未被選擇的路徑開始跟蹤第二個腳本,如此重復(fù)直到找完所有腳本。腳本可以在活動圖中表現(xiàn)。尋找用例的方法找出系統(tǒng)外部的參與者和外部系統(tǒng),確定系統(tǒng)的邊界和范圍;確定每一個參與者所期望的系統(tǒng)行為;把這些系統(tǒng)行為命名為用例;使用泛化、包含、擴展等關(guān)系處理系統(tǒng)行為的公共或變更部分;編制每一個用例的腳本;繪制用例圖;區(qū)分主要事件流和異常事件流,如果需要,可以把表示異常情況的事件流作為單獨的用例處理。細(xì)化用例圖,解決用例間的重復(fù)與沖突問題。幫助發(fā)現(xiàn)用例的原則參與者得主要任務(wù)是什么?參與者需要了解系統(tǒng)的什么信息?需要修改系統(tǒng)什么信息?參與者是否需要把系統(tǒng)外部的變化通知系統(tǒng)?參與者是否希望系統(tǒng)把異常情況的變化通知自己?構(gòu)造用例圖的步驟1.定義系統(tǒng)的上下文

1.1確定參與者和它們的責(zé)任;

1.2確定用例,即確定帶有特定目的或產(chǎn)生特定結(jié)構(gòu)的系統(tǒng)行為。2.對參與者和用例進行權(quán)衡,以便精華模型3.衡量用例以找出包含關(guān)系;4.衡量用例以找出擴展關(guān)系;5.對參與者和用例進行研究,查找是否存在泛化關(guān)系。小結(jié)用戶模型視圖從用戶角度描述系統(tǒng)所應(yīng)具有的功能,其基本組成成分是系統(tǒng)、參與者和用例。參與者是為了完成一個事件而與系統(tǒng)進行

溫馨提示

  • 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

提交評論