基于用例的需求分析方法_第1頁
基于用例的需求分析方法_第2頁
基于用例的需求分析方法_第3頁
基于用例的需求分析方法_第4頁
基于用例的需求分析方法_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件學(xué)院軟件學(xué)院代飛代飛2013.2013.春春1992年由Jacobson提出了Use case的概念及可視化的表示方法-Use case圖,并加入由他提出的面向?qū)ο蟮能浖こ蹋∣OSE)。Use case的概念收到了IT界的歡迎,被廣泛應(yīng)用到了面向?qū)ο蟮南到y(tǒng)分析中?;谟美男枨蠓椒?,已成為面向?qū)ο蠓治龇椒ǖ闹髁?。從從用戶的角度用戶的角度來看,他們并不想了解來看,他們并不想了?系統(tǒng)的內(nèi)部結(jié)構(gòu)和設(shè)計,他們所關(guān)心的是系統(tǒng)的內(nèi)部結(jié)構(gòu)和設(shè)計,他們所關(guān)心的是 系統(tǒng)所能提供的服務(wù)系統(tǒng)所能提供的服務(wù),也就是被開發(fā)出來,也就是被開發(fā)出來 的系統(tǒng)將是如何的系統(tǒng)將是如何被使用被使用的。的。 通訊關(guān)聯(lián)通訊關(guān)聯(lián)

2、參與者參與者系統(tǒng)外部系統(tǒng)外部并與該系并與該系統(tǒng)發(fā)生交統(tǒng)發(fā)生交互的人或互的人或其他系統(tǒng)其他系統(tǒng)系統(tǒng)基本事件流,系統(tǒng)基本事件流,代表用戶期望系統(tǒng)代表用戶期望系統(tǒng)提供的基本功能提供的基本功能用例用例4 問問: :一個自動飲料售貨機的功能是什么一個自動飲料售貨機的功能是什么? ? 答答: :通過自動飲料售貨機購買一聽飲料通過自動飲料售貨機購買一聽飲料( (買飲料買飲料) )參參與與者者用用例例顧客顧客買飲料買飲料 收款員收款員收款收款供應(yīng)商供應(yīng)商提供飲料提供飲料通信通信用例:站在用戶角度定義軟件系統(tǒng)的外部特征用例:站在用戶角度定義軟件系統(tǒng)的外部特征(1)四個特征:四個特征:行為序列行為序列(seque

3、nces of actions)(sequences of actions):一個用例由一:一個用例由一 組可產(chǎn)生某些特定結(jié)果的行為構(gòu)成,這些行為是不組可產(chǎn)生某些特定結(jié)果的行為構(gòu)成,這些行為是不 可再分解的可再分解的( (接收用戶輸入、執(zhí)行、產(chǎn)生結(jié)果接收用戶輸入、執(zhí)行、產(chǎn)生結(jié)果) )。用例:是系統(tǒng)執(zhí)行的動作集合規(guī)格說明用例:是系統(tǒng)執(zhí)行的動作集合規(guī)格說明n系統(tǒng)執(zhí)行系統(tǒng)執(zhí)行(system performs)(system performs):系統(tǒng)為外部角色提:系統(tǒng)為外部角色提 供服務(wù)。供服務(wù)。n可觀測到的、有價值的結(jié)果可觀測到的、有價值的結(jié)果(observable result (observab

4、le result of value) of value):用例必須對用戶產(chǎn)生價值。:用例必須對用戶產(chǎn)生價值。n特定的角色特定的角色(particular actor)(particular actor):某人、某臺設(shè):某人、某臺設(shè) 備、某外部系統(tǒng)、等等,能夠觸發(fā)某些行為。備、某外部系統(tǒng)、等等,能夠觸發(fā)某些行為。采用“基于用例的方法”來識別和獲取需求,是從外部的角度來看系統(tǒng)功能,建立系統(tǒng)的Use case模型。Use case模型由若干Use case圖組成,描述外部執(zhí)行者(Actor)所理解的系統(tǒng)功能,即待開發(fā)系統(tǒng)的功能需求。在Use case圖中,Use case(用例)表示一個子系統(tǒng),或

5、者一個對立的功能。執(zhí)行者(角色):是系統(tǒng)外部的一個人或物,它以某種方式參與了系統(tǒng)的執(zhí)行過程。 用例:待開發(fā)系統(tǒng)的一個獨立功能,由一系列動作組成。用例間的關(guān)系:泛化、包含和擴展關(guān)系參與者8學(xué)生學(xué)生成績管理員成績管理員注冊員注冊員輸入分數(shù)輸入分數(shù)注冊討論班注冊討論班分發(fā)成績單分發(fā)成績單 用例圖的組成用例圖的組成n參與者參與者(actor)(actor);n用例;用例;n系統(tǒng)邊界;系統(tǒng)邊界;n參與者與用例的參與者與用例的 通信關(guān)聯(lián)通信關(guān)聯(lián) (communication association);1、確定執(zhí)行者(參與者)2、確定用例(包括描述用例)3、定義系統(tǒng)的邊界4、 確定用例間的關(guān)系5、確認用例模

6、型參與者的種類參與者的種類: : 人擔(dān)當?shù)慕巧藫?dān)當?shù)慕巧?計算機系統(tǒng)計算機系統(tǒng) 機械或電子設(shè)備機械或電子設(shè)備11n 發(fā)起參與者發(fā)起參與者(initiator actor)(initiator actor)n 參加參與者參加參與者(participating actor)(participating actor)12你系統(tǒng)的主要客戶是誰你系統(tǒng)的主要客戶是誰? ?n系統(tǒng)從什么地方得到信息系統(tǒng)從什么地方得到信息? ?n誰從你的系統(tǒng)取得的信息誰從你的系統(tǒng)取得的信息? ?使用信息使用信息? ?n誰為你的系統(tǒng)提供信息?刪除信息?誰為你的系統(tǒng)提供信息?刪除信息?n誰安裝、操作、關(guān)閉系統(tǒng)誰安裝、操作、關(guān)閉系

7、統(tǒng)( (次要角色次要角色)?)?n在某一個預(yù)定時間,是否有什么事情在某一個預(yù)定時間,是否有什么事情 自動發(fā)生自動發(fā)生? ?n其他系統(tǒng)與該系統(tǒng)交互信息是什么其他系統(tǒng)與該系統(tǒng)交互信息是什么? ?n有時需要在有時需要在系統(tǒng)內(nèi)部定時的執(zhí)行一些操作系統(tǒng)內(nèi)部定時的執(zhí)行一些操作,如檢測系統(tǒng),如檢測系統(tǒng) 資源使用情況、定期生成統(tǒng)計報表等,但這些操作并不資源使用情況、定期生成統(tǒng)計報表等,但這些操作并不 是由外部的人或系統(tǒng)觸發(fā)的,這樣可以抽象出一個系統(tǒng)是由外部的人或系統(tǒng)觸發(fā)的,這樣可以抽象出一個系統(tǒng) 時鐘或定時器參與者,利用該參與者來時鐘或定時器參與者,利用該參與者來觸發(fā)這一類定時觸發(fā)這一類定時 操作。操作。n從

8、邏輯上,這一參與者應(yīng)該被理解成是系統(tǒng)外部的,從邏輯上,這一參與者應(yīng)該被理解成是系統(tǒng)外部的, 由它來觸發(fā)系統(tǒng)所提供的用例對話。由它來觸發(fā)系統(tǒng)所提供的用例對話。系統(tǒng)時鐘系統(tǒng)時鐘周期性任務(wù)周期性任務(wù) 觸發(fā)觸發(fā) 14 在使用參與者為角色建模中是一種抽象,不為在使用參與者為角色建模中是一種抽象,不為 具體的人、機構(gòu)、系統(tǒng)建模。具體的人、機構(gòu)、系統(tǒng)建模。輸入分數(shù)輸入分數(shù)分發(fā)成績單分發(fā)成績單劉老師劉老師注意注意張助教張助教 任職教授任職教授 李主任李主任 用例描述一個事件發(fā)生用例描述一個事件發(fā)生, ,產(chǎn)生動作步驟的集合。產(chǎn)生動作步驟的集合。15(2) (2) 基于參與者的方法基于參與者的方法 # # 識別出

9、與系統(tǒng)或組織有關(guān)的參與者識別出與系統(tǒng)或組織有關(guān)的參與者 # # 對每個參與者對每個參與者, ,識別出他們發(fā)起或參加的識別出他們發(fā)起或參加的 執(zhí)行過程執(zhí)行過程 (1) (1) 基于事件的方法基于事件的方法 # # 識別出系統(tǒng)必須響應(yīng)的外部事件識別出系統(tǒng)必須響應(yīng)的外部事件 # # 把事件與參與者和用例聯(lián)系起來把事件與參與者和用例聯(lián)系起來以編制好的需求規(guī)格說明文檔為基礎(chǔ)以編制好的需求規(guī)格說明文檔為基礎(chǔ)1. 1. 目標:目標: 本用例允許圖書管理員登記普通讀者的借書記錄本用例允許圖書管理員登記普通讀者的借書記錄2 2 事件流:事件流: 2.1 2.1 常規(guī)流程常規(guī)流程 當讀者希望借書、圖書管理員準備登

10、記有關(guān)的當讀者希望借書、圖書管理員準備登記有關(guān)的 借書記錄時,本借書記錄時,本用例開始用例開始執(zhí)行。執(zhí)行。 (1) (1) 系統(tǒng)要求管理員輸入讀者的注冊號和所借圖書號。系統(tǒng)要求管理員輸入讀者的注冊號和所借圖書號。 (2) (2) 圖書管理員輸入信息后,系統(tǒng)產(chǎn)生一個唯一的借圖書管理員輸入信息后,系統(tǒng)產(chǎn)生一個唯一的借 書記錄號。書記錄號。 (3) (3) 系統(tǒng)顯示新生成的借書記錄。系統(tǒng)顯示新生成的借書記錄。 (4) (4) 圖書管理員確認后,系統(tǒng)增加一個新的借書記錄。圖書管理員確認后,系統(tǒng)增加一個新的借書記錄。 2.2 2.2 備選流程備選流程 (1) (1) 讀者沒有注冊讀者沒有注冊 在主流程中

11、,如果系統(tǒng)沒有讀者的注冊信息,在主流程中,如果系統(tǒng)沒有讀者的注冊信息, 系統(tǒng)將顯示錯誤信息,用例結(jié)束。系統(tǒng)將顯示錯誤信息,用例結(jié)束。 (2) (2) 所借圖書不存在所借圖書不存在 在主流程中,如果所借圖書已被借出或者系在主流程中,如果所借圖書已被借出或者系 統(tǒng)中無該圖書,系統(tǒng)將顯示錯誤信息,用例結(jié)束。統(tǒng)中無該圖書,系統(tǒng)將顯示錯誤信息,用例結(jié)束。3 3 前提條件:前提條件:用例開始前,圖書管理員必須在系統(tǒng)登錄用例開始前,圖書管理員必須在系統(tǒng)登錄 成功。成功。4 4 后置條件:后置條件:如果用例執(zhí)行成功,該讀者的借書記錄被如果用例執(zhí)行成功,該讀者的借書記錄被 更新,否則,系統(tǒng)狀態(tài)不變。更新,否則,

12、系統(tǒng)狀態(tài)不變。18n角色需要系統(tǒng)做什么?從系統(tǒng)獲得那些功能?角色需要系統(tǒng)做什么?從系統(tǒng)獲得那些功能? 確定用例從確定用例從參與者角度參與者角度向系統(tǒng)提問,向系統(tǒng)提問,確定可能的服務(wù)。確定可能的服務(wù)。n角色需要讀取、產(chǎn)生、刪除、修改、存儲系統(tǒng)角色需要讀取、產(chǎn)生、刪除、修改、存儲系統(tǒng)中什么信息?中什么信息? n角色需要知道系統(tǒng)發(fā)生了什么事件?這些事件角色需要知道系統(tǒng)發(fā)生了什么事件?這些事件 做些什么?做些什么? n系統(tǒng)提供給角色的信息是否簡化了?系統(tǒng)提供給角色的信息是否簡化了?n系統(tǒng)需要的系統(tǒng)需要的I/OI/O是什么信息?信息流怎樣流動是什么信息?信息流怎樣流動 ( (也可能與當前角色無關(guān)也可能與

13、當前角色無關(guān)) )? 參與者:銀行客戶參與者:銀行客戶用用 例:銀行客戶使用自動提款機來進行銀行例:銀行客戶使用自動提款機來進行銀行 帳戶的查詢、提款和轉(zhuǎn)帳交易帳戶的查詢、提款和轉(zhuǎn)帳交易銀行客戶銀行客戶查詢查詢?nèi)】钊】钷D(zhuǎn)帳轉(zhuǎn)帳存款存款銀行客戶銀行客戶維護人員維護人員后臺服務(wù)器后臺服務(wù)器例:例:ATM系統(tǒng),有哪些參與者和用例?系統(tǒng),有哪些參與者和用例?銀行客戶銀行客戶查詢查詢存款、取款存款、取款轉(zhuǎn)賬轉(zhuǎn)賬用例用例 nATMATM維護人員維護人員n維護系統(tǒng)維護系統(tǒng)n后臺服務(wù)器后臺服務(wù)器n周期性操作周期性操作查詢查詢存、取款存、取款轉(zhuǎn)帳轉(zhuǎn)帳周期性任務(wù)周期性任務(wù)操作員操作員維護系統(tǒng)維護系統(tǒng)參與者確定用例

14、參與者確定用例參與者與用例對應(yīng)參與者與用例對應(yīng)系統(tǒng)時鐘系統(tǒng)時鐘后臺服務(wù)器后臺服務(wù)器銀行客戶銀行客戶22 顧客顧客購買購買商品商品退還退還商品商品 商店商店 顧客顧客購買購買商品商品 登錄登錄退還退還商品商品 POST 出納員出納員3) 3) 關(guān)于邊界的選擇關(guān)于邊界的選擇 定義系統(tǒng)的邊界是為了識別出什么在系統(tǒng)之內(nèi)定義系統(tǒng)的邊界是為了識別出什么在系統(tǒng)之內(nèi), ,什么在系統(tǒng)之外什么在系統(tǒng)之外, ,進而識別出什么是系統(tǒng)的職責(zé)。進而識別出什么是系統(tǒng)的職責(zé)。典型的系統(tǒng)邊界包括典型的系統(tǒng)邊界包括: :硬件設(shè)備或硬件硬件設(shè)備或硬件/ /軟件邊界軟件邊界 一個組織中的部門或整個組織。一個組織中的部門或整個組織。在

15、基本的用例圖中,只需表述參與者和用例之間的在基本的用例圖中,只需表述參與者和用例之間的 通訊關(guān)系。通訊關(guān)系。此外,還可以描述:此外,還可以描述:參與者與參與者之間的參與者與參與者之間的泛化泛化關(guān)系關(guān)系(generalization)(generalization)用例和用例之間的用例和用例之間的包含包含(include)(include)關(guān)系關(guān)系用例和用例之間的用例和用例之間的擴展擴展(extend)(extend)關(guān)系關(guān)系用例和用例之間的用例和用例之間的泛化泛化( (generalization)generalization)關(guān)系關(guān)系 利用這些關(guān)系來調(diào)整已有的用例模型,把一些公共的利用這些關(guān)

16、系來調(diào)整已有的用例模型,把一些公共的 信息抽取出來復(fù)用,使得用例模型更易于維護。信息抽取出來復(fù)用,使得用例模型更易于維護。參與者之間的泛化參與者之間的泛化(Generalization)(Generalization)關(guān)系關(guān)系actor 2actor 1普通用戶普通用戶常規(guī)操作常規(guī)操作管理操作管理操作配置操作配置操作系統(tǒng)維護員系統(tǒng)維護員管理員管理員用戶用戶常規(guī)操作常規(guī)操作管理操作管理操作配置操作配置操作系統(tǒng)維護員系統(tǒng)維護員管理員管理員客戶客戶電話登電話登記客戶記客戶保險登保險登記客戶記客戶當多個用例共同擁有一種類似的結(jié)構(gòu)和行為的時當多個用例共同擁有一種類似的結(jié)構(gòu)和行為的時候,可將它們的共性抽象

17、成為父用例,其他的用候,可將它們的共性抽象成為父用例,其他的用例作為泛化關(guān)系中的子用例。例作為泛化關(guān)系中的子用例。子用例繼承了父用例所有的結(jié)構(gòu)、行為和關(guān)系。子用例繼承了父用例所有的結(jié)構(gòu)、行為和關(guān)系。 用例用例1用例用例2采購員采購員采購物料采購物料采購鋼材采購鋼材采購辦公用品采購辦公用品買票買票個人購買個人購買團體購買團體購買26 身份驗證身份驗證 密碼密碼 驗證驗證 智能卡智能卡 驗證驗證 付費付費 現(xiàn)金現(xiàn)金 支付支付 信用卡信用卡 支付支付例例: 標出下面用例圖上的關(guān)系標出下面用例圖上的關(guān)系? ?包含關(guān)系是通過在關(guān)聯(lián)關(guān)系上加入包含關(guān)系是通過在關(guān)聯(lián)關(guān)系上加入 標記來表示。標記來表示?;居美?/p>

18、指向包含用例基本用例指向包含用例。用例用例1用例用例2n語義:用例語義:用例1 1會用到用例會用到用例2 2,用例,用例2 2的事件流將被插入的事件流將被插入 到用例到用例1 1的事件流中。的事件流中。銀行客戶銀行客戶 查詢查詢?nèi)】钊】钷D(zhuǎn)帳轉(zhuǎn)帳卡片驗證卡片驗證基本用例基本用例 包含用例包含用例n基本用例不能獨立存在基本用例不能獨立存在, ,依賴于包含用例。依賴于包含用例。n包含用例一定要執(zhí)行。包含用例一定要執(zhí)行。許多用例的公共部許多用例的公共部分移到一個單獨的分移到一個單獨的被包含用例中。被包含用例中。公共部分需求變化公共部分需求變化時時, ,只改變被包含只改變被包含用例的需求。用例的需求。

19、包含關(guān)系的幾種可能性包含關(guān)系的幾種可能性 1 12 23 34 4擴展關(guān)系是通過在關(guān)聯(lián)關(guān)系上加入擴展關(guān)系是通過在關(guān)聯(lián)關(guān)系上加入標記標記 來表示。來表示。擴展用例指向基本用例擴展用例指向基本用例( (被擴展用例被擴展用例) )。用例用例1 用例用例 2一個用例中有許多選擇時一個用例中有許多選擇時,使用擴展使用擴展關(guān)系。關(guān)系。管理變更。管理變更。呼叫轉(zhuǎn)移呼叫轉(zhuǎn)移銀行客戶銀行客戶打電話打電話呼叫等待呼叫等待n語義語義: :用例用例1 1在某些特定情況下會用到用例在某些特定情況下會用到用例2 2,用例,用例2 2 的事件流將被插入到用例的事件流將被插入到用例1 1的事件流中。的事件流中。 擴展用例擴展

20、用例 ( (可變部分可變部分) ) 基本用例基本用例( (不變部分不變部分) )n基本用例能獨立存在基本用例能獨立存在, ,不依賴于它的擴展用例。不依賴于它的擴展用例。n擴展用例可以不執(zhí)行。擴展用例可以不執(zhí)行。常規(guī)流:常規(guī)流:1 撥號撥號2 建立通話鏈路建立通話鏈路3 通話通話4 掛機掛機常規(guī)流:常規(guī)流:1 如果應(yīng)答方正忙,如果應(yīng)答方正忙, 用鈴聲提示應(yīng)答方用鈴聲提示應(yīng)答方 并保持撥號呼叫并保持撥號呼叫常規(guī)流:常規(guī)流:1 如果應(yīng)答方無如果應(yīng)答方無 應(yīng)答,進行應(yīng)答,進行 呼叫轉(zhuǎn)移呼叫轉(zhuǎn)移打電話打電話呼叫等待呼叫等待呼叫轉(zhuǎn)移呼叫轉(zhuǎn)移實際上相當于第一個用例的實際上相當于第一個用例的“備選流備選流”識

21、別用例行為中的點識別用例行為中的點 ,指明擴展時機的點。,指明擴展時機的點。WithdrawWithdrawPrint ReceiptPrint ReceiptExtension PointExtension PointPrintPrint提款提款(Withdraw)(Withdraw)用用例記載了一個打印例記載了一個打印的擴展點的擴展點, ,打印收據(jù)打印收據(jù)(Print Receipt)(Print Receipt)的的行為會被插入到打行為會被插入到打印擴展點。印擴展點。Extension Point PrintExtension Point PrintWithdraw Use Case:M

22、ain flowWithdraw Use Case:Main flow1.1.顧客插入銀行卡顧客插入銀行卡2.2.輸入密碼輸入密碼3.3.輸入提款金額輸入提款金額4.4.退卡退卡5.5.吐鈔吐鈔6.6.選擇是否打印收據(jù)選擇是否打印收據(jù): :打印打印擴展點擴展點Print Receipt Use CasePrint Receipt Use Case1. 1. 進紙進紙2. 2. 打印打印3. 3. 吐紙吐紙Extending Use Case 擴展關(guān)系的幾種可能性擴展關(guān)系的幾種可能性 1 12 23 34 434 登記登記 借書借書 查詢讀者查詢讀者查詢讀書查詢讀書參加考試參加考試補考補考 創(chuàng)建新賬戶創(chuàng)建新賬戶L

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論