軟件工程ch33需求獲取_第1頁(yè)
軟件工程ch33需求獲取_第2頁(yè)
軟件工程ch33需求獲取_第3頁(yè)
軟件工程ch33需求獲取_第4頁(yè)
軟件工程ch33需求獲取_第5頁(yè)
已閱讀5頁(yè),還剩98頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、需求獲取的過(guò)程模型§ 需求獲取易變性§ 需求獲取過(guò)程模型3石頭的需求捕獲我需要一個(gè)大的石頭我需要一個(gè)漂亮的石頭我需要一個(gè)能放東西的石頭需求捕獲易變這個(gè)太大了,還是小點(diǎn)好了黑色不好看,還是褐色好了這個(gè)太平整了,沒(méi)有特色4需求如此脆弱驗(yàn)收分析和設(shè)計(jì)編碼和測(cè)試補(bǔ)文檔5軟件設(shè)計(jì)沒(méi)價(jià)值的軟件需求軟件客戶(hù)/用戶(hù)的要求/想法/期望需求需要開(kāi)發(fā)開(kāi)發(fā)驗(yàn)收編碼和測(cè)試分析和設(shè)計(jì)6軟件設(shè)計(jì)有價(jià)值的軟件需求軟件客戶(hù)/用戶(hù)的要求/想法/期望需求獲取的過(guò)程模型理解定義業(yè)務(wù)背景業(yè)務(wù)術(shù)語(yǔ)領(lǐng)域概念業(yè)務(wù)流程業(yè)務(wù)范圍業(yè)務(wù)價(jià)值業(yè)務(wù)目標(biāo)7評(píng)審 用例模型需求工程師應(yīng)該努力成為:業(yè)務(wù)和信息化方面的復(fù)合型精化用例創(chuàng)建

2、框架用例定義 軟件問(wèn)題需求獲取的過(guò)程模型n 借助UML用例獲取軟件需求;n 先關(guān)注整體和全局;n 再逐步添加細(xì)節(jié);n 避免過(guò)早陷入細(xì)節(jié)8評(píng)審 用例模型n 填充細(xì)節(jié)n 構(gòu)建完整用例n 優(yōu)化調(diào)整用例精化用例創(chuàng)建 框架用例n 創(chuàng)建框架用例n 覆蓋需求面定義 軟件問(wèn)題需求獲取的過(guò)程模型n 正確性n 完全性n 可行性n 用例是否有助于實(shí)現(xiàn)軟件系統(tǒng)的目標(biāo)?n 是否存在可由系統(tǒng)完成卻保留手工操作的現(xiàn)象?n 是否存在軟件系統(tǒng)越俎代庖的現(xiàn)象?n 交互信息的描述是否精確、完整;n 不同用例之間是否存在邏輯?9n 評(píng)審 用例模型質(zhì)保工程師精化用例軟件經(jīng)理需求工程師創(chuàng)建框架用例評(píng)審需求模型軟件系統(tǒng)輪廓領(lǐng)域概念模型業(yè)務(wù)

3、規(guī)則非功能需求用例模型領(lǐng)域定義軟件問(wèn)題利益相關(guān)方需求獲取的過(guò)程10第三講-3 需求獲取需求獲取的過(guò)程模型 定義軟件問(wèn)題創(chuàng)建框架用例精化用例11二、定義軟件問(wèn)題§ 標(biāo)識(shí)客戶(hù)和用戶(hù)§ 理解業(yè)務(wù)背景§ 策劃實(shí)施§ 定義系統(tǒng)輪廓12標(biāo)識(shí)客戶(hù)與用戶(hù)客戶(hù)與用戶(hù)是需求的主要來(lái)源定制軟件的用戶(hù)或人 業(yè)務(wù)操作員 系統(tǒng)配置和技術(shù)維護(hù)非定制軟件的用戶(hù) 投資方中項(xiàng)目 投資方中策劃構(gòu)思 投資方中市場(chǎng) 若最終用戶(hù)是,考慮邀請(qǐng)有代表性的用戶(hù)13理解業(yè)務(wù)背景目標(biāo): 獲得與用戶(hù)的業(yè)務(wù)知識(shí),理解相關(guān)業(yè)務(wù)術(shù)語(yǔ) 獲取與目標(biāo)軟件相關(guān)的事實(shí)和假設(shè)。方法: 獲取有價(jià)值的業(yè)務(wù)文檔 觀察用戶(hù)目前的人工操

4、作 關(guān)注業(yè)務(wù)領(lǐng)域中相關(guān)或相似的現(xiàn)有軟件 用UML類(lèi)圖表示業(yè)務(wù)術(shù)語(yǔ)UML活動(dòng)圖表示業(yè)務(wù)處理流程領(lǐng)域概念模型,用 關(guān)注并文檔化那些對(duì)目標(biāo)軟件的和外部影響。14早期需求獲取的目標(biāo)及關(guān)注的問(wèn)題需求關(guān)注的問(wèn)題因需求的目標(biāo)及所處的階段而異。業(yè)務(wù)目標(biāo)業(yè)務(wù)范圍業(yè)務(wù)價(jià)值15n 引入軟件系統(tǒng)解決上述問(wèn)題后,可望帶來(lái)哪些業(yè)務(wù)方面的創(chuàng)新?n 這些創(chuàng)新會(huì)帶來(lái)哪些好處?n 能夠?yàn)橛脩?hù)創(chuàng)造何種價(jià)值?n 如何度量或客觀地評(píng)估這種價(jià)值?n 澄清疑難問(wèn)題n 確認(rèn)問(wèn)題理解n 確定系統(tǒng)定義n 與上述問(wèn)題相關(guān)的業(yè)務(wù)是如何的?n 引入軟件系統(tǒng)后,業(yè)務(wù)應(yīng)有何改進(jìn)?n 軟件系統(tǒng)應(yīng)解決何種業(yè)務(wù)問(wèn)題?n 哪些改進(jìn)能提高效益或創(chuàng)造價(jià)值?n 軟件系

5、統(tǒng)能夠?yàn)檫@些改進(jìn)做出何種貢獻(xiàn)?需求的基本方法需求獲取的關(guān)鍵在于通過(guò)與用戶(hù)的流,收集和理解用戶(hù)的各項(xiàng)要求。和交需求的技術(shù) 訪(fǎng)談項(xiàng)目干系人 用戶(hù)訪(fǎng)談 需求專(zhuān)題討論會(huì) 問(wèn)卷 現(xiàn)場(chǎng) 業(yè)務(wù)文檔分析16確定項(xiàng)目干系人業(yè)主提供項(xiàng)目干系人的初始。然而,隨著你第一輪訪(fǎng)談的開(kāi)始,這個(gè)應(yīng)該包括:可能得到擴(kuò)展,項(xiàng)目干系人系統(tǒng)的主要用戶(hù)系統(tǒng)的操作者,系統(tǒng)管理員和網(wǎng)絡(luò)管理員主要管理業(yè)務(wù)領(lǐng)域經(jīng)理和操作用戶(hù)17項(xiàng)目干系人每一種參與都要有一個(gè)項(xiàng)目干系人列表:18工作主要的項(xiàng)目干系人次要的項(xiàng)目干系人所屬者M(jìn)ary Jane ParkerMary Jane Parker Peter Parker經(jīng)理Frodric BagendSa

6、muel Gamgee (Santa Cruz) Luz Hammarstrom (Sonoma) Frodric Bagend (Sierra Madre)接待員(包括預(yù)約)Medoca SansumiMedoca Sansumi (Santa Cruz) David Hammarstrom (Sonoma) Judith Brown (Sierra Madre)協(xié)調(diào)人Harold HarkeningHarold HarkeningB&B客戶(hù)Peter Parker(作為客戶(hù)代表)Mary Jane Parker用戶(hù)訪(fǎng)談(最基本最常見(jiàn)的技術(shù))利:直接有效、形式靈活、交流深入,應(yīng)該做為

7、主要的用戶(hù)需求捕獲技術(shù)(寬帶通信、固有靈活性、各類(lèi)信息)弊:占用時(shí)間長(zhǎng)(特別當(dāng)客戶(hù)忙時(shí)更顯示出其不足)、面窄而容易造成信息的片面性。19 一般建議不超過(guò)1小時(shí),否則應(yīng)安排下一次面談 時(shí)間安排:> 開(kāi)場(chǎng)白:陳述理解515 Min> 預(yù)先計(jì)劃問(wèn)題:主體工作2530 Min> 即興問(wèn)題:展開(kāi)性2030 Min> 總結(jié):陳述理解510 Min 地點(diǎn)選擇:適當(dāng)?shù)牟皇芨蓴_和避免打擾 :做筆記(分神)、專(zhuān)門(mén)一同事做筆記(成本高)、(失去身體語(yǔ)言)/(難操作)à做筆音用戶(hù)訪(fǎng)談(最基本最常見(jiàn)的技術(shù))用戶(hù)訪(fǎng)談 一種理解商業(yè)功能和商業(yè)規(guī)則的最有效方法訪(fǎng)談過(guò)程需要認(rèn)真的計(jì)劃和準(zhǔn)備 訪(fǎng)

8、談之前確立面談目的確定要包括的相關(guān)用戶(hù)確定參加會(huì)議的項(xiàng)目小組成員建立要討論的問(wèn)題和要點(diǎn)列表復(fù)查有關(guān)文檔和資料確立時(shí)間和地點(diǎn)通知所有參加者有關(guān)會(huì)議的目的、時(shí)間和地點(diǎn)20用戶(hù)訪(fǎng)談(最基本最常見(jiàn)的技術(shù))訪(fǎng)談過(guò)程需要認(rèn)真的計(jì)劃和準(zhǔn)備(續(xù))進(jìn)行訪(fǎng)談衣著得體,準(zhǔn)時(shí)到達(dá)簡(jiǎn)單的語(yǔ)言清楚地表達(dá)問(wèn)題問(wèn)問(wèn)題à聽(tīng)取回答à 然后反饋理解尋找異常和錯(cuò)誤情況深入指出和細(xì)節(jié),詳細(xì)下未回答條目和未解決問(wèn)題訪(fǎng)談之后復(fù)查筆記的準(zhǔn)確性、完整性和可理解性把所收集的信息轉(zhuǎn)化為適當(dāng)?shù)哪P秃臀臋n確定需要進(jìn)一步澄清的問(wèn)題域適當(dāng)?shù)臅r(shí)候向參加會(huì)議的每一個(gè)人發(fā)一封感謝信21用戶(hù)訪(fǎng)談內(nèi)容示例組織層面企業(yè)戰(zhàn)略、機(jī)構(gòu)設(shè)置、職能劃分、崗

9、位責(zé)任、匯報(bào)關(guān)系業(yè)務(wù)調(diào)研業(yè)務(wù)范圍、業(yè)務(wù)往來(lái)、管理模式、業(yè)務(wù)流程、作業(yè)標(biāo)準(zhǔn)、求、表卡單據(jù)要求、管理要原系統(tǒng)調(diào)研建設(shè)情況、系統(tǒng)結(jié)構(gòu)、業(yè)務(wù)覆蓋、主要功能、運(yùn)行狀況、存在問(wèn)題新系統(tǒng)要求建設(shè)目標(biāo)、建設(shè)模式、業(yè)務(wù)覆蓋、功能要求、非功能要求、約束條件關(guān)于細(xì)節(jié)性的提問(wèn)誰(shuí)是能回答這些問(wèn)題的人?誰(shuí)能解決這些問(wèn)題?問(wèn)題是否提得太多?這里還有其他人可以提供其他方面的信息嗎?還有什么事情是我應(yīng)該問(wèn)的?22用戶(hù)訪(fǎng)談實(shí)例建立平等的平臺(tái):業(yè)務(wù)角度,客戶(hù)是;處長(zhǎng)訪(fǎng)談提綱技術(shù)角度,分析員是。訪(fǎng)談提綱做足準(zhǔn)備工作:不是去學(xué)習(xí),而是就業(yè)務(wù)問(wèn)題交換意見(jiàn),進(jìn)而建議引導(dǎo)客戶(hù)。以我為主:分析員必須把握需求調(diào)研的進(jìn)程。大訪(fǎng)談紀(jì)要副訪(fǎng)談紀(jì)要改變

10、策略:型者,要注意引導(dǎo);者,要防止被牽著鼻子走; 主動(dòng)型 發(fā)散性思維,盡量準(zhǔn)備性很強(qiáng)的問(wèn)題;副訪(fǎng)談紀(jì)要處室 邏輯性思維,可以詢(xún)問(wèn)開(kāi)放式的問(wèn)題。把握需求節(jié)奏:先宏觀后微觀,先框架后細(xì)節(jié)。與反饋:適時(shí)對(duì)客戶(hù)的觀點(diǎn)進(jìn)行總結(jié)確認(rèn),訪(fǎng)談紀(jì)要一般情況下不要。23用戶(hù)訪(fǎng)談內(nèi)容示例您的日常工作職責(zé)是什么?誰(shuí)向您匯報(bào)工作,您又向誰(shuí)匯報(bào)工作? 有哪些主要的業(yè)務(wù)流程?您都處理那些文件、數(shù)據(jù)、報(bào)表?工作中手工處理特別麻煩的事情是什么?工作中手工處理什么問(wèn)題解決不了?影響效率的問(wèn)題有哪些?您認(rèn)為提高工作效率,節(jié)省工作時(shí)間,減輕工作強(qiáng)度可采取哪些辦法?您的部門(mén)需要成本核算和統(tǒng)計(jì)的內(nèi)容有哪些? 您的部門(mén)采用計(jì)算機(jī)管理工作情

11、況如何?如何改進(jìn)業(yè)務(wù)流程使之更合理?哪些問(wèn)題是目前傳統(tǒng)手工方法根本無(wú)法解決的?希望信息系統(tǒng)能解決什么問(wèn)題?24需求專(zhuān)題討論會(huì)(雙方有盲點(diǎn))專(zhuān)題討論會(huì)準(zhǔn)備 參加會(huì)議:、用戶(hù)、技術(shù)、項(xiàng)目組房間進(jìn)行 安排日程:通常在具有相應(yīng)支持設(shè)備的舉行會(huì)議可能出現(xiàn)責(zé)備或,應(yīng)掌握討論氣氛并會(huì)場(chǎng)。會(huì)議最重要的部分是自由討論階段,這種技術(shù)非常符合專(zhuān)題討論會(huì)的氣氛,并且營(yíng)造一種創(chuàng)造性的和積極的氛圍,同時(shí)可以獲得所有相關(guān)者的意見(jiàn)。注意分配會(huì)議時(shí)間,所有。25會(huì)中有1次自由廉價(jià)中間休息規(guī)則:每人先發(fā)一張,自由規(guī)則:每人先發(fā)一張,而后向罰款箱投入xx元目的:保持會(huì)議的一次或批評(píng)任何個(gè)人或部門(mén),而后再出現(xiàn)就向罰款箱投入xx元目的

12、:逗趣并提醒人們注意發(fā)言5分鐘發(fā)言好主意!規(guī)則:每人可以在任何時(shí)候使用,讓出講臺(tái)給他并計(jì)時(shí),不得打斷規(guī)則:每人先發(fā)兩張,送給提出好建議的人,要盡快給出目的:結(jié)構(gòu)化的即席發(fā)言目的:刺激與會(huì)者并提出創(chuàng)新者26會(huì)后有總結(jié)每人發(fā)25張索引卡片,按以下規(guī)則進(jìn)行自由討論不批評(píng)或爭(zhēng)吵發(fā)揮你的想像力產(chǎn)生盡可能多的意見(jiàn)轉(zhuǎn)換和組合想法意見(jiàn)精簡(jiǎn)修剪:去掉不值得進(jìn)一步集體討論的意見(jiàn);歸類(lèi):把意見(jiàn)歸類(lèi);特征定義:用一句話(huà)描述未被刪除的意見(jiàn);確定優(yōu)先級(jí):累積投票(百元測(cè)試)、關(guān)鍵/重要/有用27需求專(zhuān)題討論會(huì)(雙方有盲點(diǎn))利:協(xié)助建立一支高效的團(tuán)隊(duì),項(xiàng)目的目標(biāo);所有的風(fēng)險(xiǎn)承擔(dān)人都暢所欲言;促進(jìn)風(fēng)險(xiǎn)承擔(dān)人和開(kāi)發(fā)團(tuán)隊(duì)之間達(dá)成

13、共識(shí);和解決那些妨礙項(xiàng)目的行政問(wèn)題;能夠很快地產(chǎn)生初步的系統(tǒng)定義。弊:成本高,如果缺乏會(huì)變成一次閑扯大會(huì)。要點(diǎn):需要有一個(gè)經(jīng)驗(yàn)豐富、能夠把控大局的。28問(wèn)卷(面最廣的技術(shù))問(wèn)卷可用于確認(rèn)假設(shè)和收集統(tǒng)計(jì)傾向數(shù)據(jù);問(wèn)卷需要快速回答, 問(wèn)題次序由易到難;方式;問(wèn)題組織、排序體現(xiàn)邏輯相關(guān)性。利:面廣,能夠獲得最好補(bǔ)充。人的反饋。是對(duì)用戶(hù)訪(fǎng)談不足之處弊:不夠深入,容易形而上學(xué)。這點(diǎn)是用戶(hù)訪(fǎng)談技術(shù)所能夠解決的。要點(diǎn):結(jié)合用戶(hù)訪(fǎng)談技術(shù)使用。 先訪(fǎng)談,后用用驗(yàn)證訪(fǎng)談結(jié)果理清方向 先,后訪(fǎng)談時(shí)機(jī):跨地域用戶(hù)、大樣本用戶(hù)29問(wèn)卷(面最廣的技術(shù))搜索某項(xiàng)假設(shè)的統(tǒng)計(jì)依據(jù):設(shè)計(jì)一些封閉的問(wèn)題 從現(xiàn)有系統(tǒng)中取得客戶(hù)統(tǒng)計(jì)資

14、料的難易程度:A非常、B相當(dāng)、C容易、D非常容易。搜索意見(jiàn)、建議:詢(xún)問(wèn)與用戶(hù)訪(fǎng)談?lì)愃频拈_(kāi)放性問(wèn)題 日常工作中的三個(gè)最大問(wèn)題是什么?, 你對(duì)能夠更好地支持日常工作的IT系統(tǒng)有什么建議?存在問(wèn)題問(wèn)題背后的假設(shè)對(duì)造成偏頗,如這符合你的期望嗎?難以探索一些新領(lǐng)域;他誤解你的問(wèn)題,你誤解他的回答;難以繼續(xù)用戶(hù)的模糊響應(yīng)(問(wèn)題難以在沒(méi)有用戶(hù)的反應(yīng)情況下進(jìn)行)30現(xiàn)場(chǎng)(開(kāi)發(fā)盲區(qū))最生動(dòng)的技術(shù),開(kāi)發(fā)盲區(qū)利:百聞不如一見(jiàn),對(duì)需求與業(yè)務(wù)流程建立直觀的認(rèn)識(shí)。弊:耗時(shí)長(zhǎng),“被觀摩”的微妙心理變化,會(huì)使“觀摩”失真。 適用性:對(duì)復(fù)雜流程進(jìn)行更加深入的理解時(shí)。要點(diǎn):悄悄地進(jìn)行,明確要強(qiáng)化理解的具體流程環(huán)節(jié)。一般方法 對(duì)辦

15、公室進(jìn)行快速瀏覽,了解布局、設(shè)備要求和使用、工作流總 體情況。 安排幾個(gè)小時(shí)觀察用戶(hù)是如何實(shí)際完成他們的工作,理解用戶(hù)實(shí) 際使用計(jì)算機(jī)系統(tǒng)和處理事務(wù)的細(xì)節(jié)。31變體現(xiàn)場(chǎng)任務(wù)示范:要求用戶(hù)示范如何執(zhí)行特定的任務(wù)利:可用于發(fā)現(xiàn)異常的、關(guān)鍵性的任務(wù)弊: “示范”失真、耗時(shí)做學(xué)徒:和用戶(hù)坐在一起,象用戶(hù)一樣接受訓(xùn)練,通過(guò)觀察、問(wèn)問(wèn)題、并在用戶(hù)指導(dǎo)下完成一些實(shí)際工作來(lái)學(xué)習(xí);適用性:用戶(hù)無(wú)法詳細(xì)解釋清楚他們?cè)谧鍪裁磿r(shí);人們正做一件事時(shí),最能說(shuō)清他們?cè)谧鍪裁?,為什么這樣做; 需求分析員可以通過(guò)學(xué)徒關(guān)系試驗(yàn)他的需求和設(shè)計(jì)思想。32定義系統(tǒng)輪廓-確定業(yè)務(wù)目標(biāo)和價(jià)值對(duì)軟件系統(tǒng)的業(yè)務(wù)目標(biāo)的描述必須遵循以下原則: 具

16、體而不抽象,實(shí)在而不空洞。 具有評(píng)判目標(biāo)是否達(dá)成的客觀標(biāo)準(zhǔn)。 具有可行性。 具有明確的業(yè)務(wù)價(jià)值。業(yè)務(wù)價(jià)值的描述 可項(xiàng)目目標(biāo)逐項(xiàng)進(jìn)行,有利于清晰地表述每項(xiàng)目標(biāo)的緣由; 也可匯總描述整個(gè)軟件系統(tǒng)的業(yè)務(wù)價(jià)值,有利于需求文檔的讀者從總體上把握軟件的業(yè)務(wù)價(jià)值。33家庭保安系統(tǒng)的業(yè)務(wù)目標(biāo)和價(jià)值業(yè)務(wù)目標(biāo): 發(fā)生進(jìn)入或者火災(zāi)時(shí)通過(guò)警報(bào)器和,誤報(bào)率小于2%,漏報(bào)率小于1%。 支持靈活的用戶(hù)定制。可配置的參數(shù)包括門(mén)窗傳感器的靈敏度及煙霧濃度閾值。業(yè)務(wù)價(jià)值:保護(hù)居家安全。誤報(bào)率、漏報(bào)率和成本均低于市面已有同類(lèi)。通過(guò)靈活定制可適應(yīng)不同的運(yùn)行環(huán)境,潛在用戶(hù)面比現(xiàn)有同類(lèi)更廣泛。34定義系統(tǒng)輪廓-確定范圍和邊界范圍:軟件需

17、要在哪些業(yè)務(wù)領(lǐng)域完成哪些功能邊界:在軟件與用戶(hù)及外部系統(tǒng)協(xié)作的過(guò)程中,哪些動(dòng)作或功能不屬于軟件負(fù)責(zé)的范圍, 而由用戶(hù)或外部系統(tǒng)負(fù)責(zé)。范圍取決于業(yè)務(wù)目標(biāo)和業(yè)務(wù)價(jià)值,軟件必須提供足以實(shí)現(xiàn)其目標(biāo)和業(yè)務(wù)價(jià)值的功能。范圍與邊界的劃定是相關(guān)的。 任何一項(xiàng)業(yè)務(wù)要求的動(dòng)作或功能是相對(duì)固定的; 它們要么由軟件自動(dòng)完成; 要么由用戶(hù)或外部系統(tǒng)完成; 范圍和邊界的設(shè)定是相輔相成的。35家庭保安系統(tǒng)的范圍和邊界本軟件系統(tǒng)必須提供以下功能: 監(jiān)測(cè)來(lái)自傳感器的輸入數(shù)據(jù),判別是否發(fā)生進(jìn)入或煙霧異常。 在探測(cè)到異常情形時(shí)自動(dòng),包括鳴響警報(bào)器接通后報(bào)告異常并撥的內(nèi)容。,在 響應(yīng)用戶(hù)命令,包括開(kāi)關(guān)機(jī)命令、系統(tǒng)復(fù)位命令、配置命令及

18、系統(tǒng)運(yùn)行日志命令。傳感數(shù)據(jù)的生之內(nèi)。能不在本軟件系統(tǒng)的范圍36第三講-3 需求獲取需求獲取的過(guò)程模型定義軟件問(wèn)題 創(chuàng)建框架用例精化用例37三、創(chuàng)建框架用例§ 策劃實(shí)施用例用例結(jié)果§§ 創(chuàng)建用例圖38的目標(biāo)理清問(wèn)題、澄明思路用例為實(shí)現(xiàn)業(yè)務(wù)目標(biāo)和價(jià)值39每項(xiàng)功能或其外部行為,要滿(mǎn)足哪些質(zhì)量需求或約束?軟件系統(tǒng)在業(yè)務(wù)處理過(guò)程中必須遵守哪些業(yè)務(wù)規(guī)則?在這些時(shí)間點(diǎn),用戶(hù)與軟件系統(tǒng)間需要進(jìn)行何種交互?希望軟件系統(tǒng)在哪些時(shí)間點(diǎn)、提供哪些支持功能?用例的要點(diǎn)工作內(nèi)容和方法p 同軟件問(wèn)題定義p 可以合并的處理決定腦袋,立場(chǎng)不同、視角不同; 權(quán)威用戶(hù)回答職責(zé)范圍內(nèi)的問(wèn)題,避免越俎代庖

19、;出現(xiàn)疑義訪(fǎng)談其他用戶(hù)以旁證或糾偏。pp業(yè)務(wù)規(guī)則&非功能需求相關(guān)方職責(zé)p 與業(yè)務(wù)流程同步;pp 與用戶(hù)深入探討,了解各種可能的規(guī)則變更;p 非功能需求具有普適性p 對(duì)照搜集非功能性需求,并不斷完善。進(jìn)程&問(wèn)題的組織p 基于完整的業(yè)務(wù)流程p 基于業(yè)務(wù)自身邏輯線(xiàn)索404312相關(guān)知識(shí)點(diǎn)-參與者(Actor)參與者是外部實(shí)體與系統(tǒng)交互過(guò)程中所扮演的參與者與軟件系統(tǒng)交換信息并使用軟件系統(tǒng)的功能參與者既可以是使用該系統(tǒng)的用戶(hù),也可以是與系 統(tǒng)交互的其他外部系統(tǒng)、硬件設(shè)備或組織機(jī)構(gòu)。一個(gè)用戶(hù)扮演多種同一用戶(hù)。,需要用多個(gè)參與者來(lái)表示多個(gè)用戶(hù)使用目標(biāo)系統(tǒng)時(shí)扮演同一與者表示。,用單一參41參與

20、者(Actor)參與者的泛化關(guān)系參與者之間可以存在泛化的關(guān)系,類(lèi)似的參與者可以利用泛化關(guān)系組成一般與特殊的層次結(jié)構(gòu)。42用例(Use Case)從用戶(hù)角度描述系統(tǒng)外部可見(jiàn)的功能和行為,是參與者與目標(biāo)系統(tǒng)之間一次典型的交互作用,不反映功能的實(shí)現(xiàn)方式;參與者在系統(tǒng)幫助下完成某項(xiàng)業(yè)務(wù)功能,或達(dá)成某 項(xiàng)業(yè)務(wù)目標(biāo);將系統(tǒng)功能描述成一系列的交互動(dòng)作序列,這些值的可觀測(cè)結(jié)果;,是參與者與系統(tǒng)間最終對(duì)參與者產(chǎn)生有價(jià)可以促進(jìn)與用戶(hù),理解正確的需求,同時(shí)也可以用來(lái)劃分系統(tǒng)與外部實(shí)體的界限。43參與者用例之間的關(guān)系參與者觸發(fā)用例的執(zhí)行,向用例提供信息或者從用例獲取信息。一個(gè)參與者多個(gè)參與者 觸發(fā)用例執(zhí)行的執(zhí)行者稱(chēng)為

21、主動(dòng)參與者; 僅從用例獲取信息的執(zhí)行者稱(chēng)為有向邊還是無(wú)向邊?參與者。有向邊上得信息傳遞也可能是雙向的;參與者僅從用例獲取信息強(qiáng)調(diào)某個(gè)參與者是該用例的主要參與者44用例的兩個(gè)用例想做一頓飯吃需要完成煮飯和炒菜兩件事。兩種不同場(chǎng)景一個(gè)實(shí)例煮飯有不同做法可以用電飯煲做,也可以用蒸籠做。不一樣的米,不一樣的步驟不同條件下的不同處理場(chǎng)景如果是糙米,先淘米再下鍋如果是精米,省掉淘米步驟直接下鍋用例啟動(dòng)的時(shí)機(jī):觸發(fā)條件到做飯時(shí)間前置條件啟動(dòng)用例有條件要做飯,首先得要有米用例執(zhí)行完,會(huì)有一個(gè)結(jié)果飯做完,米變成飯。后置條件45用例的用例就是一件事情,要完成事情,需要做一系列 的活動(dòng);做一件事情可以由很多不同的方

22、法步驟,可能會(huì) 遇到各種意外情況;一件事情是由很多不同情況的集合例場(chǎng)景;一個(gè)場(chǎng)景就是一個(gè)用例的實(shí)例。,稱(chēng)為用46特殊的參與者在實(shí)際應(yīng)用中,有些用例不由任何物理實(shí)體觸發(fā),而是由時(shí)間或外部尋呼臺(tái)系統(tǒng):來(lái)觸發(fā)。 用戶(hù)如果預(yù)定了天氣預(yù)報(bào),系統(tǒng)每天定時(shí)給他發(fā)天氣消息;如果當(dāng)天氣溫高于35度,還要提醒用戶(hù)注意防暑;選課系統(tǒng): 每學(xué)期第一周的例日自動(dòng)觸發(fā)“匯總選課計(jì)劃”用47用例驅(qū)動(dòng)的軟件開(kāi)發(fā)活動(dòng)一個(gè)用例就是一個(gè)需求單元、分析單元、設(shè)計(jì)單元、開(kāi)發(fā)單元、測(cè)試單元,甚至部署單元。一旦決定了用例,軟件開(kāi)發(fā)工作的其他活動(dòng)都以這個(gè)用例為基礎(chǔ),。著它進(jìn)行48用例驅(qū)動(dòng) 軟件開(kāi)發(fā)活動(dòng)用例與軟件需求的關(guān)系可以描述全局性業(yè)務(wù)規(guī)

23、則用例是大部分非功能需求僅用作單個(gè)用例的業(yè)務(wù)規(guī)則僅約束單個(gè)用例的非功能需求49軟件功能性需求的全部××軟件需求的全部功能性軟件需求的主體部分為什么要引入框架用例框架用例是指宏觀功能已基本明確但內(nèi)容尚整的用例。引入框架用例的概念是為了滿(mǎn)足需求獲取過(guò)程中、表示細(xì)節(jié)尚未完全確定的用例的需要。先創(chuàng)建框架用例,通過(guò)若干框架性用例盡可能完整地覆蓋軟件需求面,待時(shí)機(jī)成熟后再填充其細(xì)節(jié),而非完成用例的所有細(xì)節(jié),是為了避免需求工程師過(guò)早地陷入細(xì)節(jié)而忽視全局。在完成部分關(guān)鍵用例的所有細(xì)節(jié)后再提取其他不太重要的框架用例也是的。50創(chuàng)建框架用例用例以任務(wù)和用戶(hù)為中心,開(kāi)發(fā)和描述用戶(hù)需要系統(tǒng)做什么。

24、創(chuàng)建框架用例盡可能覆蓋需求面。創(chuàng)建框架用例的步驟確定系統(tǒng)的參與者確定業(yè)務(wù)場(chǎng)景確定系統(tǒng)用例,明確用例目標(biāo)編寫(xiě)用例描述整理非功能需求整理業(yè)務(wù)規(guī)則51家庭保安系統(tǒng)框架用例52用例名 命令響應(yīng)業(yè)務(wù)目標(biāo) 響應(yīng)用戶(hù)的開(kāi)關(guān)機(jī)、復(fù)位命令、配置命令及系統(tǒng)運(yùn)行日志命令執(zhí)行者 用戶(hù)業(yè)務(wù)規(guī)則 規(guī)則1:在關(guān)機(jī)、復(fù)位及更改配置數(shù)據(jù)前必須輸入正確的用戶(hù)。 規(guī)則2:處于狀態(tài)時(shí),系統(tǒng)不響應(yīng)配置命令。性能需求 用戶(hù)命令的響應(yīng)時(shí)間小于1.5秒。家庭保安系統(tǒng)框架用例53用例名 傳感器監(jiān)測(cè)業(yè)務(wù)目標(biāo) 接收并判別來(lái)自傳感器的數(shù)據(jù)是否正常,一旦發(fā)現(xiàn)異常即。執(zhí)行者 各類(lèi)傳感器,警報(bào)器,顯示器。基本 交互動(dòng)作可靠性需求 誤報(bào)率小于2%,漏報(bào)率小

25、于1%。 用例的交互動(dòng)作序列的描述不必細(xì)化 甚至可以暫時(shí)忽略其交互動(dòng)作序列 勿需考慮型應(yīng)用場(chǎng)景或異常處理。質(zhì)量需求及結(jié)果示例類(lèi)別質(zhì)量需求項(xiàng)名稱(chēng)需求描述說(shuō)明性能Req-Performance-001用戶(hù)命令的響應(yīng)時(shí)間小于1.5秒。Req-Performance-002異常發(fā)生與之間的時(shí)間差不超過(guò)3秒。可靠性Req-Reliability-001每周7天、每天24小時(shí)可用;在硬件無(wú)故障的前提下軟件正常運(yùn)行時(shí)間比在99.9%以上。Req-Reliability-002異常誤報(bào)率小于2% , 漏報(bào)率小于1%。Req-Reliability-003本軟件的任何故障不可導(dǎo)致配置信息和日志數(shù)據(jù)的丟失。故障后

26、系統(tǒng)在60秒內(nèi)恢復(fù)正常。易用性Req-EasyUse-001用戶(hù)可自行理解用戶(hù)手冊(cè);通讀用戶(hù)手冊(cè)后,勿需培訓(xùn),即可使用本軟件。Req-EasyUse-002用戶(hù)在通讀安裝手冊(cè)后,勿需培訓(xùn),通過(guò)安裝向?qū)Ъ纯砂惭b本軟件。質(zhì)量需求及結(jié)果示例55類(lèi)別質(zhì)量需求項(xiàng)名稱(chēng)需求描述說(shuō)明安全性認(rèn)證需求Req-Authentication-001在通過(guò)驗(yàn)證后方可使用本軟件。權(quán)限需求Req-Authorization-001在關(guān)機(jī)、復(fù)位、更改配置數(shù)據(jù)及查看系統(tǒng)運(yùn)行日志前必須輸入正確的用戶(hù) 。審計(jì)性需求Req-Audit-001本軟件需 系統(tǒng)運(yùn)行日志, 日志信息包括開(kāi)、關(guān)機(jī)、復(fù)位時(shí)間,配置命令執(zhí)行情況,發(fā)生的異常 ,以

27、供審計(jì)。兼容性與相關(guān)標(biāo)準(zhǔn)的兼容性Req-Compatibility-001遵循數(shù)字家居領(lǐng)域的相關(guān)業(yè)界標(biāo)準(zhǔn),包括版本兼容性Req-Compatibility-002版本升級(jí)時(shí)新版本完全兼容舊版本。質(zhì)量需求及結(jié)果示例類(lèi)別質(zhì)量需求項(xiàng)名稱(chēng)需求描述說(shuō)明可配置性Req-Config-001設(shè)定傳感器的數(shù)量、類(lèi)型、安裝位置, 門(mén)窗傳感器的靈敏度、煙霧濃度閾值以 及 號(hào)碼等配置參數(shù)均可定制; 支持不同品牌門(mén)窗傳感器和煙霧傳感器可擴(kuò)展性Req-Extend-001未來(lái)可能的擴(kuò)展:系統(tǒng)接入Internet,用戶(hù)可命令、查看安全狀態(tài);擴(kuò)展功能??缮炜s性Req-Scalability- 001目前最多支持50個(gè)傳感器

28、;以后增至500個(gè)支持樓宇安全 ,要求軟件系統(tǒng)不需修改即可適應(yīng)傳感器數(shù)量的增大?;ゲ僮餍詴簾o(wú)要求。本地化與Req-Intl-001支持中文和英文兩種界面,用戶(hù)可在任 一界面進(jìn)行語(yǔ)言切換??梢浦残员拒浖?lái)需移植至環(huán)境運(yùn)行。MiniLibrary的問(wèn)題描述一個(gè)小型資料管理系統(tǒng)需要實(shí)現(xiàn)對(duì)資料的借出、歸還、和管理。該系統(tǒng)有管理員和普通讀者才可以使用該系兩種用戶(hù),普通用戶(hù)必須先進(jìn)行統(tǒng)。管理員負(fù)責(zé)添加、更新和刪除系統(tǒng)中的資料信息,登記和資料的借出或歸還情況。普通讀者可以按照作者或者主題檢索資料信息,并且可以預(yù)定目前借不到的資料。一旦預(yù)定的資料被歸還或已,系統(tǒng)將立即通知預(yù)訂者。該系統(tǒng)應(yīng)該在Web環(huán)境下運(yùn)行

29、,要求用戶(hù)界面友好、響應(yīng)速度快,具有良好的可擴(kuò)展性。57確定參與者(Actor)參與者系統(tǒng)交互的外部實(shí)體,既可以是參與者和系統(tǒng)之間有明確的邊界;參與者職能位于邊界之外。也可以是外部系統(tǒng)或硬件設(shè)備;確定參與者誰(shuí)使用系統(tǒng)的主要功能(主執(zhí)行者)?誰(shuí)需要系統(tǒng)的支持以完成日常工作任務(wù)? 誰(shuí)改變系統(tǒng)的數(shù)據(jù)誰(shuí)從系統(tǒng)獲取信息?誰(shuí)負(fù)責(zé)維護(hù)和管理系統(tǒng)以保證其正常運(yùn)行(副執(zhí)行者)? 系統(tǒng)需要應(yīng)付(處理)哪些外部硬件設(shè)備?系統(tǒng)需要和哪些外部系統(tǒng)交互?時(shí)間、氣溫等內(nèi)部外部條件58MiniLibrary:參與者59誰(shuí)是參與者(Actor)?參與者一定是直接并且主動(dòng)地向系統(tǒng)發(fā)出動(dòng)作并獲得反饋的。60確定場(chǎng)景確定參與者和場(chǎng)景

30、的關(guān)鍵在于理解業(yè)務(wù)領(lǐng)域,這需要理解用戶(hù)的工作過(guò)程和系統(tǒng)的范圍。確定場(chǎng)景的問(wèn)題參與者希望系統(tǒng)執(zhí)行的任務(wù)是什么?參與者什么信息?誰(shuí)生成數(shù)據(jù)?參與者需要通知系統(tǒng)的哪些外部變化?(時(shí)間和頻率)系統(tǒng)需要通知參與者什么?(時(shí)間)61MiniLibrary:借書(shū)場(chǎng)景名稱(chēng):借書(shū)參與者實(shí)例:Bob, 流程:管理員;John,普通讀者John 向Bob 提供個(gè)人的號(hào)、所借的編號(hào)和書(shū)名等;Bob 在系統(tǒng)中該是否在,并將館;借給John。Bob 登記John 的借書(shū)其他流程:已被借出或者不存在:Bob告訴John無(wú)法借出。 John不是合法用戶(hù): Bob請(qǐng)求John后在借書(shū)。62確定用例,明確業(yè)務(wù)目標(biāo)用例描述了一個(gè)完

31、整的系統(tǒng)流程,其重點(diǎn)在于參與者與系統(tǒng)之間的交互而不是內(nèi)在的系統(tǒng)活動(dòng), 并對(duì)參與者產(chǎn)生有價(jià)值的可觀測(cè)結(jié)果。確定用例參與者需要從系統(tǒng)中獲得什么功能?參與者需要做什么?參與者系統(tǒng)中發(fā)生、產(chǎn)生、刪除、修改或需要通知參與者嗎?系統(tǒng)的某些信息嗎?存在影響系統(tǒng)的外部嗎?外部是由哪個(gè)參與者通知系統(tǒng)的?系統(tǒng)的輸入/輸出信息是什么?這些信息從哪兒來(lái)到哪兒去?采用什么實(shí)現(xiàn)方法滿(mǎn)足某些特殊要求?63MiniLibrary:用例與“管理員”有關(guān)的用例管理讀者:在系統(tǒng)中維護(hù)普通讀者的信息。管理資料:在系統(tǒng)中增加、修改和刪除資料信息。管理書(shū)目:在系統(tǒng)中增加、修改和刪除書(shū)目信息。登記借書(shū):在系統(tǒng)中登記普通讀者的借書(shū)登記還書(shū):

32、在系統(tǒng)中登記普通讀者的還書(shū)。與“普通讀者”有關(guān)的用例 預(yù)訂:在系統(tǒng)中預(yù)訂借書(shū)。 取消預(yù)訂:在系統(tǒng)中取消已有的預(yù)訂。其他 登錄:使用此系統(tǒng)的需要進(jìn)行登錄,以驗(yàn)證其和權(quán)限。 瀏覽:用戶(hù)可以檢索資料、讀者信息和借還書(shū)等。64頭腦風(fēng)暴法列出“主語(yǔ)動(dòng)詞(賓語(yǔ))”主語(yǔ):Actor的候選,例如:乘客,顧客, 店員。動(dòng)詞:表示行為。例如:買(mǎi),改賓語(yǔ):動(dòng)詞所代表行為的目標(biāo),修65確定用例可觀測(cè) 用例止于系統(tǒng)邊界,描述交互而不是內(nèi)在系統(tǒng)活動(dòng)。結(jié)果值 用例是目標(biāo)導(dǎo)向的,參與者有一些需要使用它來(lái)滿(mǎn)足的目標(biāo)。系統(tǒng)執(zhí)行由結(jié)果值由系統(tǒng)生成觀測(cè)業(yè)務(wù)語(yǔ)言(),而非技術(shù)語(yǔ)言(數(shù)據(jù)庫(kù)表)用戶(hù)觀點(diǎn)(預(yù)訂),而非系統(tǒng)觀點(diǎn)(處理預(yù)訂)用

33、例粒度 粒度過(guò)細(xì),陷入功能分解。 過(guò)細(xì)的粒度,一般都會(huì)導(dǎo)致技術(shù)語(yǔ)言的描述,而不再是業(yè)務(wù)語(yǔ)言66用例止于邊界67在系統(tǒng)外部描述與系統(tǒng)功能的交互,而不考慮系統(tǒng)內(nèi)部對(duì)該功能的實(shí)現(xiàn)方式。有意義的目標(biāo)68用戶(hù)觀點(diǎn)?系統(tǒng)觀點(diǎn)?69確定用例的常見(jiàn)問(wèn)題70用例的特征用例是相對(duì)用例。的,不能達(dá)到參與者愿望的不能稱(chēng)為用例總是由參與者發(fā)起,不存在沒(méi)有參與者的用例,用例不應(yīng)該自動(dòng)啟動(dòng),也不應(yīng)該主動(dòng)啟動(dòng)另一個(gè)用例71ATM是沒(méi)有吐鈔的愿望的,因此不能驅(qū)動(dòng)用例填寫(xiě)存款單不是取款人的目的,因此不是用例目標(biāo)與步驟的誤區(qū)一個(gè)用例是參與者對(duì)目標(biāo)系統(tǒng)的一個(gè)愿望,一個(gè)完整。付錢(qián)是寄信人的目標(biāo)嗎?寄信人會(huì)付了錢(qián)就直接回家嗎?錯(cuò)誤使用步

34、驟作為需求用例,你將無(wú)法準(zhǔn)確描繪操作者如何使用系統(tǒng)!以完整目標(biāo)作為用例系統(tǒng)建模時(shí),站在郵局收銀員的角度, “賣(mài)信封”、“賣(mài)郵以步驟作為用例票”,“”,邊界不同參與者不同由此導(dǎo)出的用例不同“收郵件”都成為合理的用例。72用例與功能的誤區(qū)描述事物的三種觀點(diǎn):使用者觀點(diǎn)告訴需求收集人員,他希望這個(gè)系統(tǒng)是什么 樣,它將怎樣使用這個(gè)系統(tǒng), 希望獲得什么結(jié)果。這個(gè)事物是什么?這個(gè)事物能做什么?人們能夠用這個(gè)事物做什么?用例是說(shuō)明使用者將在系統(tǒng)里做什么用例是系統(tǒng)性的先有場(chǎng)景,才分解出功能功能是脫離使用者愿望存在的功能是孤立的,是一個(gè)個(gè)點(diǎn)73用例 VS 功能系統(tǒng)觀點(diǎn)用戶(hù)觀點(diǎn)74用例 呼叫 接聽(tīng) 短消息 記住號(hào)

35、碼.功能傳輸/接收電源/輸入輸出(顯示,鍵盤(pán)) 簿管理.用例的獲取客戶(hù)代表(主角)說(shuō):我希望這臺(tái)ATM能支持跨行業(yè)務(wù);我卡片輸入后,可以讓我選擇是取錢(qián)還是存錢(qián);為了方便,可以設(shè)置一些默認(rèn)的存取金額按鈕;我可以修改,也可以?huà)焓?;還有我希望可以繳納費(fèi)、水費(fèi)、電費(fèi)等;為安全起見(jiàn),ATM上應(yīng)當(dāng)有警示的提示條,還有攝像頭;如果輸入三次錯(cuò)誤,卡片應(yīng)當(dāng)被自動(dòng)吞沒(méi)。問(wèn):假設(shè)我們是該ATM設(shè)備的軟件提供商,我們?cè)撊绾巫R(shí)別客戶(hù)的真實(shí)目標(biāo),得出哪些用例?75哪些是有效用例?支持跨行業(yè)務(wù)?×這是一個(gè)業(yè)務(wù)規(guī)則,限定業(yè)務(wù)的范圍??ㄆ??×這是一個(gè)過(guò)程步驟,不是完整目標(biāo)。輸入?×這是一個(gè)過(guò)程步驟

36、,不是完整目標(biāo)。選擇服務(wù)?××這是一個(gè)過(guò)程步驟,不是完整目標(biāo)。取錢(qián)?這是一個(gè)有效的完整目標(biāo)。掛失卡片?這是一個(gè)有效的完整目標(biāo)。繳納費(fèi)用?這是一個(gè)有效的完整目標(biāo)。已經(jīng)超出邊界范圍。警示?×這是一個(gè)業(yè)務(wù)規(guī)則,限定業(yè)務(wù)的條件。三次錯(cuò)誤吞沒(méi)卡片?76家庭保安系統(tǒng)用例圖77命令響應(yīng)用戶(hù)面板傳感器監(jiān)測(cè)傳感器警報(bào)器MiniLibrary:用例圖78第三講-3 需求獲取需求獲取的過(guò)程模型定義軟件問(wèn)題創(chuàng)建框架用例 精化用例79四、精化用例§ 分解合并用例§ 構(gòu)建完整用例§ 精化用例圖80分解或合并用例的準(zhǔn)則用例必須具有業(yè)務(wù)意義上的相對(duì)性和完整性。多個(gè)用

37、例的公共交互動(dòng)作子序列而設(shè)置的子用例例外。用例的分解應(yīng)遵循業(yè)務(wù)層面上的高內(nèi)聚、松耦合原則 使得更容易理解被分解的用例以及分解后得到的子用例。用例不宜過(guò)多在20以?xún)?nèi),最多不超過(guò)30。一般應(yīng)大型系統(tǒng)先劃度。系統(tǒng),每個(gè)子系統(tǒng)分別考慮用例??山柚鶸ML包圖表示系統(tǒng)的劃分,并將用例指派到包中。用例的粒度應(yīng)確保合理規(guī)模的軟件開(kāi)發(fā)團(tuán)隊(duì)能夠在合理的時(shí)間周期內(nèi)實(shí)現(xiàn)該用例。81分解或合并用例的準(zhǔn)則用例的分解 僅對(duì)粒度過(guò)大的用例才進(jìn)行用例分解。 用例的分解不能破壞現(xiàn)有用例在功能需求方面的覆蓋完全性。用例的合并(用例數(shù)量很多)合并業(yè)務(wù)上關(guān)系比較密切的多個(gè)用例。在同一業(yè)務(wù)范圍內(nèi),合并功能上相似的用例。82家庭保安系統(tǒng)

38、“門(mén)窗監(jiān)測(cè)”和“煙霧監(jiān)測(cè)”兩個(gè)用例基本相似,但略有不同。 可以考慮合并,在交互動(dòng)作序列的表述中體現(xiàn)它們之間的差異。課程管理系統(tǒng) 將“課程”、“撤銷(xiāo)”兩個(gè)用例合并為“制訂選課計(jì)劃”用例。用例的粒度把步驟當(dāng)用例把系統(tǒng)活動(dòng)當(dāng)用例83<<include>>建立數(shù)據(jù)庫(kù)連接<<include>>訂單有問(wèn)題嗎?執(zhí)行SQL語(yǔ)句會(huì)員輸入用戶(hù)名有問(wèn)題嗎?<<include>>會(huì)員登錄驗(yàn)證用戶(hù)名和用例的粒度CRUD掩蓋了真實(shí)業(yè)務(wù),蛻變成關(guān)系數(shù)據(jù)庫(kù)的建模: “系統(tǒng)就是數(shù)據(jù)的增刪改查” 關(guān)心數(shù)據(jù)的和維護(hù),反而忽略了用戶(hù)的目的導(dǎo)致技術(shù)語(yǔ)言的描述,而不

39、再是業(yè)務(wù)語(yǔ)言。業(yè)務(wù)語(yǔ)言:技術(shù)語(yǔ)言:,商品,洗衣機(jī),字段,COM,C+等84增加用戶(hù)修改用戶(hù)管理員用戶(hù)刪除用戶(hù)用例的粒度如果確實(shí)是CRUD?如果CRUD不涉及復(fù)雜的交互,一個(gè)用例“管理××” 即可不管是C、R、U、D,都是為了完成“管理”目標(biāo)甚至很多種的基本數(shù)據(jù)管理都可以用一個(gè)用例表示85管理員管理用戶(hù)編寫(xiě)用例描述用例描述是關(guān)于與系統(tǒng)如何交互的規(guī)格說(shuō)明 要求清晰明確,沒(méi)有二義性; 描述用例時(shí),應(yīng)該只注重外部能力,不涉及內(nèi)部細(xì)節(jié)。用例描述的主要內(nèi)容用例是怎樣啟動(dòng)和結(jié)束的;參與者和用例之間的正常信息處理過(guò)程;用例在不同的條件下可以選擇執(zhí)行的多種方案;用例的例外流程。86構(gòu)建完整用

40、例1、重新研究用例名稱(chēng)、用例目標(biāo)、標(biāo)識(shí)所有執(zhí)行者用例名稱(chēng)應(yīng)該采用業(yè)務(wù)術(shù)語(yǔ);反映執(zhí)行者的主要業(yè)務(wù)目標(biāo)。如果有多個(gè)執(zhí)行者難以在用例名稱(chēng)中涵蓋所有執(zhí)行者的業(yè)務(wù)目標(biāo),則應(yīng)以主要執(zhí)行者的主要業(yè)務(wù)目標(biāo)為準(zhǔn)。87構(gòu)建完整用例2、標(biāo)識(shí)觸發(fā)條件和前置條件在用例中出現(xiàn)必須滿(mǎn)足三個(gè)前提:具有業(yè)務(wù)意義系統(tǒng)可檢測(cè)不是不言自明的;應(yīng)該采用業(yè)務(wù)術(shù)語(yǔ)來(lái)描述。關(guān)聯(lián):當(dāng)觸發(fā)動(dòng)作或發(fā)生,并且前置條件成立時(shí),用例開(kāi)始。差異:觸發(fā)條件是用例啟動(dòng)的推動(dòng)力;前置條件是決定是否阻截此推動(dòng)力的過(guò)濾器。88構(gòu)建完整用例3、描述或精化原有的基本交互動(dòng)作序列觀察現(xiàn)有業(yè)務(wù)處理過(guò)程思考引進(jìn)新的軟件系統(tǒng)后如何優(yōu)化該過(guò)程。深入了解利益相關(guān)方希望軟件系統(tǒng)在幫

41、助用戶(hù)完成業(yè)務(wù)目標(biāo)的過(guò)程中發(fā)揮何種作用、完成何種功能。研究軟件系統(tǒng)如何更好地幫助用戶(hù)。研究執(zhí)行者和軟件系統(tǒng)在協(xié)同工作的過(guò)程中各自應(yīng)在何種時(shí)機(jī)、向?qū)Ψ教峁┖畏N交互信息。89構(gòu)建完整用例4、提煉并描述擴(kuò)展的交互動(dòng)作序列提煉擴(kuò)展交互動(dòng)作序列的關(guān)鍵在于標(biāo)識(shí)擴(kuò)展條件。探究用例的擴(kuò)展條件時(shí)最好集中列出所有可能導(dǎo)致分支和異常的條件然后用“系統(tǒng)必須能夠檢測(cè)到該條件”、“系統(tǒng)必須能夠處 理該條件導(dǎo)致的情形”兩條標(biāo)準(zhǔn)來(lái)篩選出真正的擴(kuò)展條件。應(yīng)考慮合并處理動(dòng)作相同或相似的擴(kuò)展條件。擴(kuò)展的動(dòng)作序列是否應(yīng)在另一個(gè)單獨(dú)的用例中出現(xiàn)?取決于需求工程師對(duì)用例粒度的把握和擴(kuò)展的復(fù)雜程度。90構(gòu)建完整用例5、描述用戶(hù)與系統(tǒng)交互過(guò)

42、程中傳遞的信息項(xiàng)不需要對(duì)交互過(guò)程中的所有信息項(xiàng)給出內(nèi)容描述。如果信息項(xiàng)中包含的內(nèi)容比較豐富,并且無(wú)法僅從信息項(xiàng)的名稱(chēng)推導(dǎo)出所有內(nèi)容,則需要顯式說(shuō)明這些內(nèi)容。方式一:在使用信息項(xiàng)的動(dòng)作步驟中說(shuō)明;方式二:對(duì)信息項(xiàng)命名,在交互動(dòng)作描述中此名稱(chēng)。在用例描述中增加與“用例名稱(chēng)”平行的條目“信息項(xiàng)”,在此條目下說(shuō)明各信息項(xiàng)的內(nèi)容。如果信息項(xiàng)在多處使用,必須采用第二種方式。91構(gòu)建完整用例6、標(biāo)識(shí)后置條件表明用例執(zhí)行完成后,目標(biāo)系統(tǒng)應(yīng)處于何種狀態(tài)。在用例中出現(xiàn)必須滿(mǎn)足三個(gè)前提:具有業(yè)務(wù)意義系統(tǒng)可檢測(cè)不是不言自明的; 否則應(yīng)予省略。應(yīng)該采用業(yè)務(wù)術(shù)語(yǔ)來(lái)描述。92用例名傳感器監(jiān)測(cè)業(yè)務(wù)目標(biāo)接收并判別來(lái)自傳感器的數(shù)

43、據(jù)是否正常,一旦發(fā)現(xiàn)異常即。執(zhí)行者各類(lèi)傳感器,警報(bào)器,顯示器。前置條件系統(tǒng)處于“”狀態(tài)1. 傳感器向系統(tǒng)上報(bào)其監(jiān)測(cè)數(shù)據(jù),系統(tǒng)判別監(jiān)測(cè)數(shù)據(jù)是否正常?;窘换?dòng)作 2. 如果不正常,系統(tǒng)啟動(dòng)警報(bào)器,撥號(hào)碼。 3. 接通后,系統(tǒng)語(yǔ)音,報(bào)告異常發(fā)生的時(shí)間、 位置、類(lèi)別和內(nèi)容。4 系統(tǒng)在面板的顯示器上顯示時(shí)間及當(dāng)前狀態(tài)()擴(kuò)展的交互動(dòng)作2a.2a1 系統(tǒng)按重?fù)苎舆t反復(fù)撥號(hào),直至接通,再執(zhí)行動(dòng)作3。2a1a 重?fù)艽螖?shù)達(dá)到系統(tǒng)預(yù)設(shè)的最大次數(shù),2a1a1 系統(tǒng)跳過(guò)動(dòng)作3,執(zhí)行動(dòng)作4。嵌套擴(kuò)展交互動(dòng)作仍無(wú)人接聽(tīng)后置條件如果已發(fā)現(xiàn)異常,系統(tǒng)處于“”狀態(tài)?!睜顟B(tài);否則系統(tǒng)處于正常的“監(jiān)測(cè)誤報(bào)率小于2%,漏報(bào)率小于1

44、%??煽啃孕枨鬅o(wú)人接聽(tīng)用例描述誤區(qū)不涉及界面動(dòng)作從用戶(hù)的視角,不要涉及系統(tǒng)的實(shí)現(xiàn)細(xì)節(jié)以適當(dāng)?shù)牧6让枋雒總€(gè)動(dòng)作動(dòng)作數(shù)量過(guò)多怎么辦?避免嵌套地使用“如果,那么” 動(dòng)作循環(huán)、特殊時(shí)序的描述子用例 OR 多次使用的子動(dòng)作序列避免擴(kuò)展的P108面例子94MiniLibrary:登記借書(shū)用例:登記借書(shū)1.目標(biāo)本用例管理員登記普通讀者的借書(shū)。2.流2.1 基本流程當(dāng)普通讀者希望借書(shū), 開(kāi)始執(zhí)行。管理員準(zhǔn)備登記有關(guān)的借書(shū)時(shí),本用例(1)系統(tǒng)請(qǐng)求管理員輸入讀者的號(hào)和所借的書(shū)目;(2)管理員輸入有關(guān)信息后,系統(tǒng)產(chǎn)生一個(gè)唯一的借書(shū)號(hào);(3)系統(tǒng)顯示新生成的借書(shū);(4)管理員確認(rèn)后,系統(tǒng)增加一個(gè)新的借書(shū)。95MiniLibrary:登記借書(shū)2.2 可選流程1a.讀者沒(méi)有在主流程中,如果系統(tǒng)中沒(méi)有讀者的用例結(jié)束。信息,系統(tǒng)將顯示錯(cuò)誤信息,1b.所借書(shū)目不存在在主流程中,如果所借已被借出或者系統(tǒng)中沒(méi)有該的書(shū)目,系統(tǒng)將顯示錯(cuò)誤信息,用例結(jié)束。3. 特殊需求無(wú)。4. 前提條件用例開(kāi)始之前,5.后置條件如果用例執(zhí)行管理員必須在系統(tǒng)登錄。,該讀者的借書(shū)被更新,否則系統(tǒng)狀態(tài)不變96用例的關(guān)系包含關(guān)系(include)包含關(guān)系是指一個(gè)基本用例的行為包含了另一個(gè)用例的行 為;包含關(guān)系是對(duì)用例之間

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論