UML-CHP02_用例圖_第1頁(yè)
UML-CHP02_用例圖_第2頁(yè)
UML-CHP02_用例圖_第3頁(yè)
UML-CHP02_用例圖_第4頁(yè)
UML-CHP02_用例圖_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、東北石油大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院計(jì)算機(jī)科學(xué)系高俊濤高俊濤軟件工程提綱2.12.1軟件需求的概念軟件需求的概念什么是軟件需求什么是軟件需求需求分析的困難需求分析的困難2.22.2用例建模用例建模基本元素及關(guān)系基本元素及關(guān)系場(chǎng)景場(chǎng)景反模式反模式2.3 2.3 本章小結(jié)本章小結(jié)軟件工程軟件需求定義軟件需求定義(1)用戶解決問(wèn)題或達(dá)到目標(biāo)所需的條件或能力。 (2)系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其它正式規(guī)定文檔所需具有的條件或能力。(3)一種反映上面(1)或(2)所描述的條件或能力的文檔說(shuō)明。軟件需求的基本任務(wù)是準(zhǔn)確回答“系統(tǒng)必須做什么”這個(gè)問(wèn)題。 2.1 軟件需求的概念軟件工程軟軟件需求分析的

2、困件需求分析的困難難(1)(1)客戶說(shuō)不清楚需求客戶說(shuō)不清楚需求有些客戶對(duì)需求只有朦朧的感覺(jué),當(dāng)然說(shuō)不清楚具體的需求。農(nóng)夫和耕牛的故事有些客戶心里非常清楚想要什么,但卻說(shuō)不明白。我的鞋是什么樣的?“不懂裝懂”或者“半懂充內(nèi)行”的客戶令人恐懼2.1 軟件需求的概念軟件工程軟軟件需求的件需求的復(fù)雜復(fù)雜性性(2)(2)需求自身經(jīng)常變動(dòng)需求自身經(jīng)常變動(dòng)2.1 軟件需求的概念需求變更原因需求變更原因-客戶方:客戶方:對(duì)信息系統(tǒng)的了解不夠?qū)I(yè)務(wù)需求表達(dá)不清對(duì)自身業(yè)務(wù)抽象程度不夠?qū)π枨笾匾暢潭炔粔蚺c開發(fā)人員配合不夠業(yè)務(wù)范圍不斷拓展業(yè)務(wù)流程不斷變更管理模式不斷創(chuàng)新客戶的能力不足,可以進(jìn)行適當(dāng)?shù)呐嘤?xùn),可改善一點(diǎn)

3、。屬于態(tài)度問(wèn)題,需要高層領(lǐng)導(dǎo)協(xié)調(diào)。不可避免。只能通過(guò)合同約束或有限度接受,或通過(guò)技術(shù)提高軟件適應(yīng)能力。 軟件工程軟軟件需求的件需求的復(fù)雜復(fù)雜性性(2)(2)需求自身經(jīng)常變動(dòng)需求自身經(jīng)常變動(dòng)2.1 軟件需求的概念需求變更原因需求變更原因軟件人員:軟件人員:溝通技巧不高需求工程技術(shù)不精需求人員知識(shí)儲(chǔ)備不夠不了解客戶方的業(yè)務(wù)流程調(diào)研范圍不確定需求不夠細(xì)致、明確項(xiàng)目管理不規(guī)范需求描述存在歧義合同對(duì)客戶方約束不夠 個(gè)人能力或經(jīng)驗(yàn)不足。軟件組織的能力不足軟件工程用例圖(UseCase Diagram)用例是從系統(tǒng)的外部對(duì)系統(tǒng)進(jìn)行黑盒視圖描述的一種組織方法。用例是抽象使用系統(tǒng)的一種方式,用戶通過(guò)用例與系統(tǒng)交

4、互。用例圖主要的作用有三個(gè):獲取需求在其它環(huán)節(jié)中起指導(dǎo)作用指導(dǎo)測(cè)試參與者(參與者(ActorActor) 用例(用例(Use CaseUse Case) 指系統(tǒng)以外的,在使用系統(tǒng)或與系統(tǒng)交互中所扮演的角色 用例是參與者與系統(tǒng)的一次交互。 2.3 需求分析技術(shù):功能分析軟件工程用例圖用戶發(fā)短信打電話查找電話2.3 需求分析技術(shù):功能分析軟件工程如何識(shí)別參與者?在系統(tǒng)之外,透過(guò)系統(tǒng)邊界與系統(tǒng)進(jìn)行有意義交互的任何事物都是參與者對(duì)于一般規(guī)模的軟件系統(tǒng),參與者不會(huì)太多,一般有這樣幾種類型的參與者:與系統(tǒng)交互的用戶與系統(tǒng)交互的外部系統(tǒng)與系統(tǒng)交互的外部硬件特別注意:有時(shí)候時(shí)間觸發(fā)器也可以看成是參與者軟件工程

5、如何識(shí)別用例?(Jacobson):用例實(shí)例是在系統(tǒng)中執(zhí)行的一系列動(dòng)作,這些動(dòng)作將生成特定參與者可見的價(jià)值結(jié)果。一個(gè)用例定義一組用例實(shí)例。 通俗地,用例是參與者利用系統(tǒng)所要達(dá)到的目標(biāo)用戶打電話軟件工程用例的要點(diǎn)價(jià)值結(jié)果用例的結(jié)果形成有意義的目標(biāo)執(zhí)行者可見采用業(yè)務(wù)語(yǔ)言,從用戶觀點(diǎn)描述一組用例實(shí)例用例的實(shí)例也稱為場(chǎng)景:是執(zhí)行者使用系統(tǒng)的一個(gè)特定情節(jié)或用例的一條執(zhí)行路徑。例如:通過(guò)輸入電話號(hào)碼撥打電話的場(chǎng)景通過(guò)查打電話號(hào)碼簿撥打電話的場(chǎng)景通過(guò)查打電話號(hào)碼簿撥打電話,電話打到一半電話欠費(fèi)的場(chǎng)景 軟件工程建立用例模型的參考原則用例是短文用例可以是一個(gè)場(chǎng)景,包括動(dòng)作和交互用例可以是一組場(chǎng)景,描述不同場(chǎng)景下

6、的行為。這種書寫格式可以在任何時(shí)候描述有變化的行為,例如黑盒需求,業(yè)務(wù)流程,系統(tǒng)設(shè)計(jì)說(shuō)明。用例里不要有系統(tǒng)設(shè)計(jì)用例里不要有界面設(shè)計(jì)用例里不要有測(cè)試用例應(yīng)該描述行為需求用例的主場(chǎng)景最好不要超過(guò)9步用例的最大價(jià)值不在于主場(chǎng)景,而在于備選行為。軟件工程用例建模的步驟確定系統(tǒng)的范圍和邊界確定執(zhí)行者確定用例對(duì)用例進(jìn)行描述定義用例之間的關(guān)系審核用例模型 用例是文檔,而非制圖!用例是文檔,而非制圖!軟件工程用例的文字描述應(yīng)包括以下內(nèi)容用例的目的(功能);該用例在什么情況下被哪個(gè)參與者啟動(dòng)執(zhí)行;用例與參與者之間交互哪些消息來(lái)通知對(duì)方作出決定;交互的主消息流及因此被使用或修改的實(shí)體;用例中可供選擇的異常事件流;

7、用例的結(jié)束標(biāo)志:給參與者返回一個(gè)可識(shí)別的值舉例:用例名稱:學(xué)生選課執(zhí)行者:學(xué)生目的:完成一次學(xué)生選課的完整過(guò)程類型:主要的,基本的級(jí)別:一級(jí)軟件工程過(guò)程描述:學(xué)生輸入學(xué)號(hào)/密碼,系統(tǒng)識(shí)別賬戶的有效性;對(duì)學(xué)生進(jìn)行注冊(cè)識(shí)別;瀏覽本學(xué)期預(yù)開課程;選擇學(xué)生自己要上的課程并確認(rèn);退出系統(tǒng),系統(tǒng)給出所選課程列表及相應(yīng)學(xué)分合計(jì)異常事件流:賬戶有效性檢查失敗,允許學(xué)生重新輸入(最多次機(jī)會(huì))注冊(cè)識(shí)別失敗,沒(méi)有注冊(cè)(未交學(xué)費(fèi))的學(xué)生不能選課1. 選擇課程確認(rèn)失敗,所選幾門課程在時(shí)間上發(fā)生沖突,系統(tǒng)提示重選軟件工程用例圖用戶發(fā)短信輸入電話號(hào)碼打電話查找電話包含關(guān)系包含關(guān)系:用例A的行為包含了用例B的行為。用例B描述

8、在多個(gè)用例中都有的公共行為。 擴(kuò)展關(guān)系擴(kuò)展關(guān)系:擴(kuò)展關(guān)系是從擴(kuò)展用例到基本用例的關(guān)系,它說(shuō)明為擴(kuò)展用例定義的行為如何插入到為基本用例定義的行為中。在以下幾種情況下,可使用擴(kuò)展用例:a.表明用例的某一部分是可選的系統(tǒng)行為;b.表明只在特定條件(如例外條件)下才執(zhí)行的分支流。泛化關(guān)系:泛化關(guān)系:A指向B,表示B是A的一種。發(fā)彩信2.3 需求分析技術(shù):功能分析查看通話時(shí)間軟件工程用例間關(guān)系-include包含用例的行為插入到基本用例中的一個(gè)位置。當(dāng)遵循基本用例說(shuō)明的用例實(shí)例到達(dá)基本用例中定義了包含關(guān)系的位置,它就將改而遵循包含用例的說(shuō)明。一旦執(zhí)一旦執(zhí)行完包含用例,用例實(shí)行完包含用例,用例實(shí)例就將在基

9、本用例中它例就將在基本用例中它先前停止的地方重新開先前停止的地方重新開始。始。軟件工程教師維護(hù)學(xué)生成績(jī)錄入成績(jī)修改成績(jī)刪除成績(jī)軟件工程用例的包含關(guān)系的要點(diǎn)1.包含用例本身是不完整的,它必須擁有基本用例以保證完整性。2.包含用例本身并不知道自己何時(shí)或是否被包含。因此,它不能依賴任何包含它的用例。3.被包含的用例一定可以被另外的用例包含(即共用性和獨(dú)立性)4.從工程角度上,包含關(guān)系用于系統(tǒng)分析時(shí)共性功能的合并、抽取。5.包含關(guān)系通常在用例建模后期而不是前期被發(fā)現(xiàn)。軟件工程描述包含關(guān)系應(yīng)在基本用例的行為序列中定義要插入包含用例的位置。要定義該位置,可以引用基本用例事件流中的特定步驟或分支流。軟件工程

10、用例擴(kuò)展關(guān)系的概念一個(gè)用例的實(shí)例可能增加了一些附加的行為,這些附加的行為在另一個(gè)用例中定義,擴(kuò)展定義了這兩個(gè)用例之間的關(guān)系。基本用例基本用例可以單獨(dú)存在,但是在一定的條件下,它的行為可以被另一個(gè)用例的行為擴(kuò)展。當(dāng)一個(gè)用例有多個(gè)當(dāng)一個(gè)用例有多個(gè)可選系統(tǒng)行為時(shí),時(shí),可以用擴(kuò)展關(guān)系對(duì)其進(jìn)行擴(kuò)展,使得基本用例的不同子流程能在不同的情形下以擴(kuò)展用例的形式被激活。通過(guò)這種方式,可以把可選行為從必須行為中分離出來(lái)。軟件工程用例擴(kuò)展關(guān)系的概念用例擴(kuò)展關(guān)系的概念基本用例基本用例 擴(kuò)展點(diǎn)擴(kuò)展點(diǎn)具有條件具有條件擴(kuò)展用例擴(kuò)展用例執(zhí)行執(zhí)行返回返回軟件工程用例間關(guān)系-extends擴(kuò)展用例可以有基本事件流和備選事件流。用

11、例實(shí)例通過(guò)擴(kuò)展到底會(huì)采取哪條路徑,這不僅取決于在執(zhí)行之執(zhí)行擴(kuò)展前發(fā)生的事件,而且還取決于執(zhí)行擴(kuò)展時(shí)在與主角的交互中發(fā)生的事件執(zhí)行擴(kuò)展 。用例執(zhí)行擴(kuò)展實(shí)例一旦執(zhí)行了擴(kuò)展,它就會(huì)在基本用例的中斷點(diǎn)處繼續(xù)執(zhí)行基本用例。軟件工程執(zhí)行擴(kuò)展一個(gè)擴(kuò)展用例可以有多個(gè)插入段,每個(gè)插入段都與自己在基本用例中的擴(kuò)展點(diǎn)相關(guān)。用例實(shí)例將繼續(xù)執(zhí)行基本用例,并持續(xù)到擴(kuò)展關(guān)系中指定的下一個(gè)擴(kuò)展點(diǎn)為止。在此點(diǎn)上,它將執(zhí)行擴(kuò)展用例的下一個(gè)插入段。這會(huì)重復(fù)進(jìn)行,直到執(zhí)行完最后一個(gè)插入段為止。軟件工程教師查詢學(xué)生成績(jī)導(dǎo)出查詢結(jié)果打印查詢結(jié)果軟件工程包含關(guān)系與擴(kuò)展關(guān)系的區(qū)別包含關(guān)系包含關(guān)系1. 當(dāng)在兩個(gè)或多個(gè)獨(dú)立用例重復(fù)自已并希望避免

12、重復(fù)時(shí)2. 在基本用例上插入附加行為并具有明確的描述3. 包含用例作為基本用例自身行為的一部分4. 包含關(guān)系是無(wú)條件的 擴(kuò)展關(guān)系擴(kuò)展關(guān)系1. 當(dāng)表述關(guān)于正常行為的一個(gè)變化情況時(shí)2. 在基本用例上插入基本用例不能說(shuō)明的擴(kuò)展部分3. 擴(kuò)展用例作為基本用例的增量擴(kuò)展4. 擴(kuò)展用例是按條件要求執(zhí)行的軟件工程包含關(guān)系與擴(kuò)展關(guān)系的區(qū)別包含關(guān)系包含關(guān)系1. 包含用例是共用的用例2. 一個(gè)基本用例可以有多個(gè)包含用例。3. 一個(gè)包含用例可以包含在若干基本用例中。4.很難在包含關(guān)系上對(duì)系統(tǒng)進(jìn)行維護(hù)修改。擴(kuò)展關(guān)系擴(kuò)展關(guān)系1. 擴(kuò)展用例不是共用的用例2. 把可選行為從必須行為中分離出來(lái)3. 有條件地?cái)U(kuò)展已有用例的行為

13、。4. 基本用例可以獨(dú)立于擴(kuò)展用例單獨(dú)存在。5. 適合于功能需求的增加(基本用例的增量擴(kuò)展)軟件工程注意I業(yè)務(wù)語(yǔ)言而非技術(shù)語(yǔ)言發(fā)票,洗衣機(jī),發(fā)票,洗衣機(jī),工作業(yè)績(jī)工作業(yè)績(jī)C+C+,字,字段,段,.net,AJAX.net,AJAX軟件工程注意用戶觀點(diǎn)而非系統(tǒng)觀點(diǎn)旅行者訂票查看今日航班旅行者處理訂票顯示今日航班軟件工程注意-用例命名:動(dòng)詞名詞盡量少用弱動(dòng)詞弱名詞弱動(dòng)詞:進(jìn)行使用復(fù)制加載重復(fù)弱名詞:數(shù)據(jù)報(bào)表表格表單系統(tǒng)會(huì)掩蓋真正的業(yè)務(wù)!軟件工程注意-把步驟當(dāng)用例用戶輸入用戶名用戶登陸驗(yàn)證用戶名和密碼軟件工程注意-避免使用CRUD管理員刪除用戶修改用戶查看用戶增加用戶軟件工程注意-用例背后可能隱藏很多數(shù)據(jù)操作減少庫(kù)存量減少賬戶金額創(chuàng)建發(fā)貨信息結(jié)賬軟件工程注意VII-目標(biāo)系統(tǒng)本身不能作為一個(gè)角色!對(duì)于一個(gè)圖書檢索系統(tǒng)來(lái)說(shuō):檢索圖書用戶圖書管理系統(tǒng)軟件工程實(shí)驗(yàn)實(shí)驗(yàn)實(shí)驗(yàn)內(nèi)容:實(shí)驗(yàn)內(nèi)容:用狀態(tài)圖描述手機(jī)操作過(guò)程。(即

溫馨提示

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

評(píng)論

0/150

提交評(píng)論