第五章 介紹用例_第1頁
第五章 介紹用例_第2頁
第五章 介紹用例_第3頁
第五章 介紹用例_第4頁
第五章 介紹用例_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第五章介紹用例第1頁,課件共23頁,創(chuàng)作于2023年2月前面所介紹的圖主要涉及的是系統(tǒng)中類的靜態(tài)視圖。我們最終要建立的是能夠展示系統(tǒng)和系統(tǒng)中的類如何隨時間變化的動態(tài)視圖。靜態(tài)視圖有助于分析員和客戶交流。動態(tài)視圖,你以后將會看到,它有助于系統(tǒng)分析員與開發(fā)小組交流,并且能幫助開發(fā)組編制程序。客戶和開發(fā)組是系統(tǒng)風(fēng)險承擔(dān)入的重要組成部分。然而不應(yīng)該遺漏另一個同樣重要的組成部分——用戶。不論是靜態(tài)視圖還是動態(tài)視圖都不能從用戶的觀點說明系統(tǒng)所具有的行為。理解用戶的觀點對建立有用的第2頁,課件共23頁,創(chuàng)作于2023年2月并且易用的系統(tǒng)是十分關(guān)鍵的——也就是說,這樣的系統(tǒng)能夠滿足用戶需求并且容易使用。從用戶的觀點出發(fā)對系統(tǒng)建立模型是用例要完成的任務(wù)。在這一章中,你將學(xué)習(xí)到什么是用例以及用例能做些什么。下一章將學(xué)習(xí)如何使用UML用例圖來可視化表示用例。第3頁,課件共23頁,創(chuàng)作于2023年2月5.1什么是用例假想你要買一臺傳真機(jī),當(dāng)你在辦公用品商店選購傳真機(jī)時,面臨著很多選擇。如何選購才能使自己最有利呢?你必須不斷反問你自己一些問題。究竟我買傳真機(jī)是要干什么用?我需要傳真機(jī)具有哪些特征?這臺傳真機(jī)必須具有哪些功能?是不是需要它具有復(fù)印功能?是否連接到我的計算機(jī)?用傳真機(jī)是否像用掃描儀一樣?我是不是要盡量快地發(fā)傳真而需要快速撥號功能?它需不需要具有區(qū)分外來傳真信號和外來電話信號的功能?第4頁,課件共23頁,創(chuàng)作于2023年2月當(dāng)我們慎重的購物時,我們都有過這樣的經(jīng)歷。這種經(jīng)歷就是某種形式的用例分析(usecaseanalysis):我們反問自己究竟將如何使用產(chǎn)品或系統(tǒng)。了解這些需求是非常重要的。這個過程在系統(tǒng)開發(fā)的分析階段尤為重要。用戶對系統(tǒng)的使用方式?jīng)Q定了系統(tǒng)如何設(shè)計和構(gòu)造。用例是能夠幫助分析員和用戶確定系統(tǒng)使用情況的UML組件。一組用例就是從用戶的角度出發(fā)對如何使用系統(tǒng)的描述。第5頁,課件共23頁,創(chuàng)作于2023年2月可以認(rèn)為用例是系統(tǒng)的一組使用場景。每個場景描述了一個事件的序列。每個序列是由一個人、另一個系統(tǒng)、一個硬件設(shè)備或者某段時間的流逝所發(fā)起。這些發(fā)起事件序列的實體叫做參與者(actor)。事件序列的結(jié)果是由發(fā)起這個序列的參與者或者另一個參與者對系統(tǒng)某種形式的使用所引起的。5.2用例的重要性正如類圖可以以一種好的促進(jìn)客戶以他的觀點考察系統(tǒng)的方法一樣,用例是一個能促進(jìn)系統(tǒng)可能的用戶以他們自己的觀點看待系統(tǒng)的優(yōu)秀工具。用戶并不第6頁,課件共23頁,創(chuàng)作于2023年2月總是容易清晰的闡明到底他要怎樣使用系統(tǒng)。因為傳統(tǒng)的系統(tǒng)開發(fā)常常是一種缺少前端分析的開發(fā)過程,因此當(dāng)問及用戶如何執(zhí)行系統(tǒng)輸入時,他往往不能理解。避免這種情況的基本思路是讓用戶參與前期的系統(tǒng)分析與設(shè)計。這樣做可以使最終的系統(tǒng)盡可能地為用戶可用——而不僅僅是表現(xiàn)出了設(shè)計者的聰明才智而讓用戶無法理解和使用的一堆計算概念和業(yè)務(wù)模型。第7頁,課件共23頁,創(chuàng)作于2023年2月5.3舉例:飲料自動銷售機(jī)

假設(shè)你現(xiàn)在正著手設(shè)計一臺飲料自動銷售機(jī)。為了獲得用戶的使用觀點,你會見了許多可能的用戶以了解這些用戶將如何與這臺機(jī)器交互。飲料自動銷售機(jī)的主要功能是允許—個顧客能夠購買—罐飲料,很可能用戶立刻就能告訴你一些有關(guān)的場景(換句話說就是用例)。你可以給這組場景加上一個標(biāo)簽“買飲料”。下面讓我們來考察這個用例中每一種可能的場景。記住,在正常的系統(tǒng)開發(fā)中,在與用戶交談的過程中就能發(fā)現(xiàn)這些場景。第8頁,課件共23頁,創(chuàng)作于2023年2月5.3.1用例“買飲料”這個用例的參與者是買飲料的顧客。顧客將錢插入銷售機(jī)觸發(fā)了這個用例的場景被執(zhí)行。然后他進(jìn)行選擇。如果一切順利,銷售機(jī)內(nèi)還儲存有至少一罐被選擇的飲料,則銷售機(jī)會自動彈出一罐這種飲料給顧客。除了上面的步驟序列,該場景的其他方面也值得考慮。顧客發(fā)起“買飲料”這個用例的執(zhí)行場景需要什么前置條件?最直觀的前置條件之一是顧客感到口渴。場景的執(zhí)行步驟完成后需要什么后置條件?顯然最直觀的后置條件是顧客有了一罐飲料。

第9頁,課件共23頁,創(chuàng)作于2023年2月上面的“買飲料”場景是唯一可描述的場景嗎?顯然我們立即會想到還有其他的場景。顧客所要購買的飲料銷售機(jī)中可能沒有;顧客投入的錢數(shù)不剛好等于購買飲料所需要的錢。應(yīng)該如何設(shè)計飲料銷售機(jī)來處理這些場景呢?先看看沒有所需的飲料這個場景,它是用例“買飲料”的另一個場景??梢园堰@個場景看成是用例執(zhí)行時的一條可選路徑。用例是由顧客在銷售機(jī)中插入錢幣所發(fā)起的。然后他進(jìn)行一個選擇,銷售機(jī)中至少要有一罐選擇的飲料,如果沒有,銷售機(jī)就給顧客提示一個信息,告訴顧客沒有這種品牌的飲料。理想第10頁,課件共23頁,創(chuàng)作于2023年2月情況下,顧客看到這條消息后臺立即選擇其他品牌的飲料。銷售機(jī)必須提供給顧客取回原來的錢的選項。這表示,銷售機(jī)應(yīng)給顧客兩種選擇:讓顧客選擇另一種飲料并且給顧客提供這種飲料(如果這種飲料還有存貨的話)或者讓顧客選擇退錢。該場景的前置條件是顧客感到口渴,后置條件是顧客得到一罐飲料或者顧客投入的錢被退回。接著來看看“付款數(shù)不正確”這個場景。顧客按照通常的方式發(fā)起了這個用例,并進(jìn)行一個選擇。假設(shè)這時機(jī)器中備有選擇的飲料。如果機(jī)器中剛好存有適合的零錢,那么機(jī)器就會退還零錢井交付飲料。如果第11頁,課件共23頁,創(chuàng)作于2023年2月機(jī)器中沒有保存零錢,它將退還錢,并顯示一條消息提示用戶投入適當(dāng)?shù)牧沐X。前置條件和典型場景一樣。后置條件是顧客得到一罐飲料和找回零錢或者按原款歸還錢。5.3.2其它用例我們已經(jīng)從用戶(即顧客)的觀點考察了飲料自動銷售機(jī)。除了這些用戶外當(dāng)然還有其他人加入。供貨人負(fù)責(zé)為自動銷售機(jī)提供飲料,收款人負(fù)責(zé)定期收集銷售機(jī)中的錢。這說明至少還需要建立兩個用例:“供貨”和“取錢”,這些用例的細(xì)節(jié)可以通過與供貨人和收款人交談來獲得。第12頁,課件共23頁,創(chuàng)作于2023年2月考慮“供貨”用例。供貨者發(fā)起這個用例是由于某個時間間隔到期所引起的。供貨代表打開銷售機(jī)(很可能是要打開銷售機(jī)的鎖,但該問題涉及到了具體的系統(tǒng)實現(xiàn)),拉出銷售機(jī)前面的架子,在架子上補(bǔ)滿各種品牌的飲料。銷售代表還要在機(jī)器中加零錢,然后他放好銷售機(jī)的前端架子,并鎖好機(jī)器。這個用例的前置條件是一個時間間隔的流逝,后置條件是供貨者在機(jī)器中放置了新的待售飲料。還有一個“取錢”用例,同樣也是因為一段時間間隔的流逝,收款人發(fā)起了這個用例。他的前期工作步驟與“供貨”一樣,也是打開銷售機(jī)取出銷售機(jī)前端第13頁,課件共23頁,創(chuàng)作于2023年2月架子。收款人從機(jī)器中取出錢,然后按照“供貨”步驟,放回架子鎖好機(jī)器。這個用例的前置條件也是時間間隔的流通,后置條件是收款人收到了錢。注意,當(dāng)導(dǎo)出一個用例時,不必關(guān)心怎么實現(xiàn)它。在這個例子里,我們并沒有關(guān)心飲料銷售機(jī)的內(nèi)部細(xì)節(jié)。我們也不關(guān)心機(jī)器內(nèi)的制冷機(jī)制是如何工作的,或者錢在機(jī)器中是怎么被保存的。我們只是試圖查明飲料銷售機(jī)對使用它的用戶來說是什么樣子。最終的目標(biāo)是要導(dǎo)出一組用例供飲料銷售機(jī)的設(shè)計者和制造者查看。第14頁,課件共23頁,創(chuàng)作于2023年2月5.4包含用例在“供貨”和“收款”用例中,也許你會注意一些相同的步驟。兩個用例都以打開機(jī)器為起始點,以關(guān)閉和鎖好機(jī)器為終止點。能不能消除用例中的重復(fù)步驟呢?可以。方法是從各個步驟序列中抽取出公共步驟形成一個每個用例都要使用的附加用例??梢詫ⅰ伴_機(jī)”和“拉出飲料架”這兩個步驟合并為一個叫做“打開銷售機(jī)”的用例,將“放回架子”和“鎖機(jī)器”合并為一個叫做“關(guān)閉銷售機(jī)”的用例。第15頁,課件共23頁,創(chuàng)作于2023年2月如上所述,“供貨”和“收款”這兩個用例都包含了新的用例。這種用例的重用技術(shù)被稱作包含用例(includeausecase)。5.5擴(kuò)展用例除了包含用例這種方式外還有另一種重用用例的方式。有時我們可以通過對已有用例增加一些額外的步驟來建立新的用例。以“供貨”這個用例來說明。在給機(jī)器補(bǔ)充新飲料時,供貨代表注意到有些品牌的飲料銷售的好,有些品牌的飲料銷售的不好。在這種情況下,他第16頁,課件共23頁,創(chuàng)作于2023年2月不是簡單的把所有品牌的飲料補(bǔ)充給機(jī)器,而是把一些銷售情況不太好的飲料取出來,用銷售情況好的飲料來代替它們。同時供貨代表還要在機(jī)器前修改飲料品種的指示牌。如果我們把上述步驟加入“供貨”用例,我們將得到一個新的用例.不妨稱它為“根據(jù)銷售情況供貨”。這個新用例是對原用例的擴(kuò)展,這種技術(shù)叫做擴(kuò)展用例(extendausecase)。第17頁,課件共23頁,創(chuàng)作于2023年2月5.6開始用例分析在我們所舉的例子中,我們直接跳到用例并集中討論了幾個用例。實際情況并非如此,在進(jìn)行用例分析之前必須遵循一套規(guī)程。首先從與客戶交談(還要和專家交談)開始,這樣可以分析得出系統(tǒng)的初步類圖,這在前面已經(jīng)有所介紹。這個過程可以讓你對系統(tǒng)有個概念性認(rèn)識并逐步效悉將要使用的術(shù)該,可以為你與用戶進(jìn)一步交流打下基礎(chǔ)。

第18頁,課件共23頁,創(chuàng)作于2023年2月與用戶(最好是一組用戶)交談時,你要向他們詢問他們淮備如何使用系統(tǒng)的所有事情,為你的設(shè)計做淮備。根據(jù)他們的回答就能得到一組候選用例。下一步,也是很重要的一步,是要簡潔準(zhǔn)確的描述出這些用例。你還要導(dǎo)出一個參與者列表,這些參與者或者發(fā)起了候選用例或者從候選用例中獲益。隨著這個過程的深入,你會逐漸增強(qiáng)與用戶用他們的語言交流的能力。在開發(fā)過程中會不斷發(fā)現(xiàn)新的用例。它們有助于設(shè)計系統(tǒng)的用戶界面,還能幫助開發(fā)者做出編程中的決策,并且用例也是對新構(gòu)造出的系統(tǒng)進(jìn)行測試的基礎(chǔ)。第19頁,課件共23頁,創(chuàng)作于2023年2月5.7小結(jié)用例是用來描述潛在的用戶所看到的系統(tǒng)的UML組件。它是一個被稱作參與者(可以是—個人、—個硬件設(shè)備、一段時間的流逝或者另一個系統(tǒng))的實體所發(fā)起的場景的集合,用例的執(zhí)行必須對發(fā)起該用例的參與者或者其他參與者產(chǎn)生影響。用例可以被重用。一種方式(“包含”)是將一個用例中的步驟作為另一個用例的步驟序列的一部分。另一種方式(“擴(kuò)展”)是通過對現(xiàn)有的用例增加新的步驟來創(chuàng)建新的用例。

第20頁,課件共23頁,創(chuàng)作于2023年2月與用戶會談是導(dǎo)出用例的最好技術(shù)。當(dāng)導(dǎo)出一個用例時,要注意到發(fā)起用例的前置條件和產(chǎn)生影響的后置條件是很重要的。在和用戶會談之前要先與客戶會談,產(chǎn)生一個候選類的列表。候選類中的基本術(shù)語是與用戶進(jìn)行交流的基礎(chǔ)。和一組用戶會談是一個好的做法。這種會談的目標(biāo)是導(dǎo)出候選用例和可能的參與者列表。為什么一定要使用用例這個概念呢?詢問用戶究竟他們想看到一個什么樣的系統(tǒng),然后把他們的描述記錄下來,這樣做難道不可以嗎?

第21頁,課件共23頁,創(chuàng)作于2023年2月這樣做在實際中往往行不通。對于用戶的描述,我們必須把這些描述用一種結(jié)構(gòu)組織起來,用例就提供這種組織結(jié)構(gòu)。在記錄與用戶交談的結(jié)果以及

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論