面向?qū)ο蟮谝淮巫鳂I(yè)_第1頁(yè)
面向?qū)ο蟮谝淮巫鳂I(yè)_第2頁(yè)
面向?qū)ο蟮谝淮巫鳂I(yè)_第3頁(yè)
面向?qū)ο蟮谝淮巫鳂I(yè)_第4頁(yè)
面向?qū)ο蟮谝淮巫鳂I(yè)_第5頁(yè)
已閱讀5頁(yè),還剩117頁(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、譚火彬譚火彬Copyright College of Software, BUAA-2-學(xué)習(xí)路線圖學(xué)習(xí)路線圖OOOOUML : : Use Case ModelingCopyright College of Software, BUAA-4-內(nèi)容安排內(nèi)容安排理解需求理解需求需求獲取需求獲取用例建模流程用例建模流程u獲取原始需求獲取原始需求u構(gòu)建初始用例模型構(gòu)建初始用例模型u撰寫用例文檔撰寫用例文檔u重構(gòu)用例模型重構(gòu)用例模型Copyright College of Software, BUAA-5-內(nèi)容安排內(nèi)容安排需求獲取需求獲取用例建模流程用例建模流程u獲取原始需求獲取原始需求u構(gòu)建初始用例模

2、型構(gòu)建初始用例模型u編寫用例文檔編寫用例文檔u重構(gòu)用例模型重構(gòu)用例模型Copyright College of Software, BUAA-6-需求需求建造建造“正確正確”的系統(tǒng)的系統(tǒng)需求:系統(tǒng)必須滿足的條件和具備的需求:系統(tǒng)必須滿足的條件和具備的能力能力RUP中的中的FURPS+軟件質(zhì)量準(zhǔn)則軟件質(zhì)量準(zhǔn)則u功能性(功能性(Functionality)u使用性(使用性(Usability)u可靠性(可靠性(Reliability)u性能(性能(Performance)u可支持性(可支持性(Supportability)u+Copyright College of Software, BUAA需

3、求工程的主要活動(dòng)需求工程的主要活動(dòng)定義需求定義需求u理解用戶的需要,建立用戶可理解的系理解用戶的需要,建立用戶可理解的系統(tǒng)需求模型(第四章)統(tǒng)需求模型(第四章)分析需求分析需求u根據(jù)需求模型,建立開發(fā)者無(wú)二義性解根據(jù)需求模型,建立開發(fā)者無(wú)二義性解釋的分析模型(第五章)釋的分析模型(第五章)需求管理需求管理-7-Copyright College of Software, BUAA-8-需求難在何處:石頭問題需求難在何處:石頭問題我要一塊石頭我要一塊石頭差不多,但我要小一點(diǎn)的差不多,但我要小一點(diǎn)的很好,不過我要藍(lán)色的很好,不過我要藍(lán)色的啊,沒有那么小啊,沒有那么小咳,還是原來(lái)那個(gè)好了咳,還是原來(lái)

4、那個(gè)好了 Copyright College of Software, BUAA-9-需求:也需要開發(fā)需求:也需要開發(fā)客戶客戶/用戶的要用戶的要求求/想法想法/期望期望軟件設(shè)計(jì)軟件設(shè)計(jì)軟件產(chǎn)品軟件產(chǎn)品開發(fā)開發(fā)編碼和測(cè)試編碼和測(cè)試驗(yàn)收驗(yàn)收有價(jià)值的有價(jià)值的軟件需求軟件需求分析和設(shè)計(jì)分析和設(shè)計(jì)Copyright College of Software, BUAA-10-需求問題:對(duì)策需求問題:對(duì)策Copyright College of Software, BUAA-11-以用例為中心組織需求以用例為中心組織需求Copyright College of Software, BUAA-12-用例的昨天

5、用例的昨天Use Cases Yesterday, Today and Tomorrow(Ivar Jacobson, The Rational Edge, 2003.3)u萌芽期(萌芽期(1967-1986)Ivar Jacobson在愛立信,把各種不同類型的電在愛立信,把各種不同類型的電話呼叫情況稱為話呼叫情況稱為traffic case,而完成所有呼叫,而完成所有呼叫則需要交換機(jī)具備相應(yīng)的功能則需要交換機(jī)具備相應(yīng)的功能function或特征或特征feature1986年,提出術(shù)語(yǔ)年,提出術(shù)語(yǔ)use case1987年,年,OOPSLA86采用采用Jacobson論文,用論文,用例誕生例誕

6、生u成熟期(成熟期(1987-1992)Objectory AB公司,以用例內(nèi)容為核心的公司,以用例內(nèi)容為核心的Objectory Process(對(duì)象工廠過程)(對(duì)象工廠過程)u發(fā)展期(發(fā)展期(1992-)用例在面向?qū)ο蠓椒ㄖ械膽?yīng)用,并成為用例在面向?qū)ο蠓椒ㄖ械膽?yīng)用,并成為UML的一的一部分部分Copyright College of Software, BUAA-13-內(nèi)容安排內(nèi)容安排理解需求理解需求用例建模流程用例建模流程u獲取原始需求獲取原始需求u構(gòu)建初始用例模型構(gòu)建初始用例模型u編寫用例文檔編寫用例文檔u重構(gòu)用例模型重構(gòu)用例模型Copyright College of Softwar

7、e, BUAA-14-需求獲取需求獲取有業(yè)務(wù)模型有業(yè)務(wù)模型u從業(yè)務(wù)用例模型中尋找系統(tǒng)改進(jìn)點(diǎn)從業(yè)務(wù)用例模型中尋找系統(tǒng)改進(jìn)點(diǎn)u結(jié)合系統(tǒng)結(jié)合系統(tǒng),獲取系統(tǒng)用例來(lái)表達(dá)需,獲取系統(tǒng)用例來(lái)表達(dá)需求求采用需求啟發(fā)技術(shù),從涉眾獲得采用需求啟發(fā)技術(shù),從涉眾獲得Copyright College of Software, BUAA-15-從業(yè)務(wù)模型獲取需求從業(yè)務(wù)模型獲取需求從業(yè)務(wù)用例模型中獲取系統(tǒng)需求,來(lái)從業(yè)務(wù)用例模型中獲取系統(tǒng)需求,來(lái)構(gòu)建系統(tǒng)用例模型構(gòu)建系統(tǒng)用例模型u1. 尋找業(yè)務(wù)改進(jìn)點(diǎn)尋找業(yè)務(wù)改進(jìn)點(diǎn)u2. 定義項(xiàng)目遠(yuǎn)景定義項(xiàng)目遠(yuǎn)景u3. 導(dǎo)出系統(tǒng)需求導(dǎo)出系統(tǒng)需求Copyright College of Sof

8、tware, BUAA-16-1. 業(yè)務(wù)改進(jìn)點(diǎn)業(yè)務(wù)改進(jìn)點(diǎn)業(yè)務(wù)模型描述業(yè)務(wù)現(xiàn)狀,這些現(xiàn)狀:業(yè)務(wù)模型描述業(yè)務(wù)現(xiàn)狀,這些現(xiàn)狀:u有些可能一直運(yùn)轉(zhuǎn)的很好,不需要改進(jìn),有些可能一直運(yùn)轉(zhuǎn)的很好,不需要改進(jìn),也就沒有必要作為軟件需求來(lái)由系統(tǒng)實(shí)也就沒有必要作為軟件需求來(lái)由系統(tǒng)實(shí)現(xiàn)現(xiàn)u而另外可能更多的業(yè)務(wù)在運(yùn)轉(zhuǎn)過程中存而另外可能更多的業(yè)務(wù)在運(yùn)轉(zhuǎn)過程中存在這樣或那樣的問題,這些問題就成為在這樣或那樣的問題,這些問題就成為業(yè)務(wù)待改進(jìn)的改進(jìn)點(diǎn),也就很可能作為業(yè)務(wù)待改進(jìn)的改進(jìn)點(diǎn),也就很可能作為軟件需求而存在軟件需求而存在Copyright College of Software, BUAA-17-尋找業(yè)務(wù)改進(jìn)點(diǎn)尋找業(yè)務(wù)

9、改進(jìn)點(diǎn)從業(yè)務(wù)流程中獲取改進(jìn)點(diǎn)的思路:從業(yè)務(wù)流程中獲取改進(jìn)點(diǎn)的思路:u信息的自動(dòng)流轉(zhuǎn)信息的自動(dòng)流轉(zhuǎn)u演繹復(fù)雜業(yè)務(wù)邏輯演繹復(fù)雜業(yè)務(wù)邏輯u訪問和操作業(yè)務(wù)對(duì)象訪問和操作業(yè)務(wù)對(duì)象u自動(dòng)工作自動(dòng)工作uCopyright College of Software, BUAA-18-改進(jìn)點(diǎn)改進(jìn)點(diǎn)1:信息自動(dòng)流轉(zhuǎn):信息自動(dòng)流轉(zhuǎn)Copyright College of Software, BUAA-19-改進(jìn)點(diǎn)改進(jìn)點(diǎn)2:演繹復(fù)雜業(yè)務(wù)邏輯:演繹復(fù)雜業(yè)務(wù)邏輯Copyright College of Software, BUAA-20-改進(jìn)點(diǎn)改進(jìn)點(diǎn)3:訪問和操作業(yè)務(wù)對(duì)象:訪問和操作業(yè)務(wù)對(duì)象Copyright Colleg

10、e of Software, BUAA-21-改進(jìn)點(diǎn)改進(jìn)點(diǎn)4:自動(dòng)工作:自動(dòng)工作Copyright College of Software, BUAA-22-2. 遠(yuǎn)景遠(yuǎn)景(Vision)系統(tǒng)改進(jìn)點(diǎn)不等同于軟件需求系統(tǒng)改進(jìn)點(diǎn)不等同于軟件需求u用戶根據(jù)自身的工作特點(diǎn)和支付能力決用戶根據(jù)自身的工作特點(diǎn)和支付能力決定哪些應(yīng)該改進(jìn),哪些不需要改進(jìn)定哪些應(yīng)該改進(jìn),哪些不需要改進(jìn)u這就是用戶的遠(yuǎn)景,它表明用戶改進(jìn)的這就是用戶的遠(yuǎn)景,它表明用戶改進(jìn)的目標(biāo),這也將成為項(xiàng)目的目標(biāo)目標(biāo),這也將成為項(xiàng)目的目標(biāo)業(yè)務(wù)模型描述了業(yè)務(wù)模型描述了“現(xiàn)實(shí)是什么現(xiàn)實(shí)是什么”,遠(yuǎn),遠(yuǎn)景則描述景則描述“希望的改進(jìn)希望的改進(jìn)” u遠(yuǎn)景

11、表達(dá)了遠(yuǎn)景表達(dá)了“為什么要開發(fā)這個(gè)系統(tǒng)為什么要開發(fā)這個(gè)系統(tǒng)”u在業(yè)務(wù)現(xiàn)狀在業(yè)務(wù)現(xiàn)狀(業(yè)務(wù)模型業(yè)務(wù)模型)下,開發(fā)系統(tǒng)是下,開發(fā)系統(tǒng)是為了達(dá)到什么目標(biāo)?為了達(dá)到什么目標(biāo)?Copyright College of Software, BUAA-23-定義項(xiàng)目遠(yuǎn)景定義項(xiàng)目遠(yuǎn)景遠(yuǎn)景包含了對(duì)待開發(fā)系統(tǒng)的目標(biāo)和約束遠(yuǎn)景包含了對(duì)待開發(fā)系統(tǒng)的目標(biāo)和約束u代表了項(xiàng)目涉及的所有人之間達(dá)成的第一個(gè)代表了項(xiàng)目涉及的所有人之間達(dá)成的第一個(gè)共識(shí)共識(shí)u是項(xiàng)目核心需求的概覽是項(xiàng)目核心需求的概覽u為更詳細(xì)的技術(shù)需求提供了契約性的依據(jù)為更詳細(xì)的技術(shù)需求提供了契約性的依據(jù)u指導(dǎo)團(tuán)隊(duì)實(shí)現(xiàn)具體的業(yè)務(wù)目標(biāo)指導(dǎo)團(tuán)隊(duì)實(shí)現(xiàn)具體的業(yè)務(wù)目標(biāo)遠(yuǎn)景的作

12、用遠(yuǎn)景的作用u最初,根據(jù)項(xiàng)目的遠(yuǎn)景目標(biāo)來(lái)決定項(xiàng)目是否最初,根據(jù)項(xiàng)目的遠(yuǎn)景目標(biāo)來(lái)決定項(xiàng)目是否值得繼續(xù)值得繼續(xù)u在項(xiàng)目批準(zhǔn)后,團(tuán)隊(duì)根據(jù)項(xiàng)目遠(yuǎn)景來(lái)指導(dǎo)后在項(xiàng)目批準(zhǔn)后,團(tuán)隊(duì)根據(jù)項(xiàng)目遠(yuǎn)景來(lái)指導(dǎo)后續(xù)的需求和設(shè)計(jì)續(xù)的需求和設(shè)計(jì)Copyright College of Software, BUAA-24-遠(yuǎn)景說(shuō)明遠(yuǎn)景說(shuō)明遠(yuǎn)景可以作為一個(gè)單獨(dú)的文檔存在,而這其中遠(yuǎn)景可以作為一個(gè)單獨(dú)的文檔存在,而這其中最重要的部分就是關(guān)于遠(yuǎn)景目標(biāo)的說(shuō)明,它建最重要的部分就是關(guān)于遠(yuǎn)景目標(biāo)的說(shuō)明,它建立了一個(gè)項(xiàng)目涉及的所有人的共同目標(biāo)立了一個(gè)項(xiàng)目涉及的所有人的共同目標(biāo)遠(yuǎn)景說(shuō)明應(yīng)該是精確、清晰和激勵(lì)性的描述,遠(yuǎn)景說(shuō)明應(yīng)該是精確、清晰和

13、激勵(lì)性的描述,以便激勵(lì)所有的團(tuán)隊(duì)成員為達(dá)成該遠(yuǎn)景而努力。以便激勵(lì)所有的團(tuán)隊(duì)成員為達(dá)成該遠(yuǎn)景而努力。一個(gè)好的遠(yuǎn)景應(yīng)該具有以下五個(gè)特點(diǎn)一個(gè)好的遠(yuǎn)景應(yīng)該具有以下五個(gè)特點(diǎn)(SMART):u具體的(具體的(Specific)u可測(cè)量的(可測(cè)量的(Measurable)u可實(shí)現(xiàn)的(可實(shí)現(xiàn)的(Achievable)u相關(guān)的(相關(guān)的(Relevant)u基于時(shí)間的(基于時(shí)間的(Time-based)Copyright College of Software, BUAA-25-3. 導(dǎo)出系統(tǒng)需求導(dǎo)出系統(tǒng)需求從業(yè)務(wù)改進(jìn)點(diǎn)入手,結(jié)合項(xiàng)目遠(yuǎn)景,從業(yè)務(wù)改進(jìn)點(diǎn)入手,結(jié)合項(xiàng)目遠(yuǎn)景,導(dǎo)出系統(tǒng)需求:導(dǎo)出系統(tǒng)需求:u對(duì)于每一個(gè)業(yè)

14、務(wù)改進(jìn)點(diǎn),明確是否是為對(duì)于每一個(gè)業(yè)務(wù)改進(jìn)點(diǎn),明確是否是為了達(dá)到遠(yuǎn)景目標(biāo)的需要了達(dá)到遠(yuǎn)景目標(biāo)的需要u如果是則作為軟件需求而存在,并把相如果是則作為軟件需求而存在,并把相應(yīng)地模型作為系統(tǒng)模型應(yīng)地模型作為系統(tǒng)模型u如果不是則不作為需求而存在,可能作如果不是則不作為需求而存在,可能作為一項(xiàng)潛在的需求考慮,也可能直接拋為一項(xiàng)潛在的需求考慮,也可能直接拋棄棄 Copyright College of Software, BUAA-26-實(shí)例分析:旅店系統(tǒng)開發(fā)背景實(shí)例分析:旅店系統(tǒng)開發(fā)背景隨著旅店聲譽(yù)日益提高,住宿人員越來(lái)越多,隨著旅店聲譽(yù)日益提高,住宿人員越來(lái)越多,旅客為了能夠獲得好的房間,均提前預(yù)訂房間

15、旅客為了能夠獲得好的房間,均提前預(yù)訂房間然而,隨著預(yù)訂的增多、預(yù)訂周期的拉長(zhǎng),前然而,隨著預(yù)訂的增多、預(yù)訂周期的拉長(zhǎng),前臺(tái)服務(wù)員工作壓力也日益增大,還經(jīng)常出現(xiàn)工臺(tái)服務(wù)員工作壓力也日益增大,還經(jīng)常出現(xiàn)工作的失誤,使得已經(jīng)預(yù)訂好房間的旅客也不能作的失誤,使得已經(jīng)預(yù)訂好房間的旅客也不能按期入住,這給酒店的聲譽(yù)帶來(lái)不好的影響按期入住,這給酒店的聲譽(yù)帶來(lái)不好的影響為此,旅店老板想到了計(jì)算機(jī),希望能夠通過為此,旅店老板想到了計(jì)算機(jī),希望能夠通過計(jì)算機(jī)來(lái)自動(dòng)管理這些預(yù)訂業(yè)務(wù),不過由于目計(jì)算機(jī)來(lái)自動(dòng)管理這些預(yù)訂業(yè)務(wù),不過由于目前資金的問題,目前只開發(fā)一個(gè)單機(jī)版的系統(tǒng),前資金的問題,目前只開發(fā)一個(gè)單機(jī)版的系統(tǒng),

16、不提供網(wǎng)上業(yè)務(wù);并且旅店方面的其它業(yè)務(wù)暫不提供網(wǎng)上業(yè)務(wù);并且旅店方面的其它業(yè)務(wù)暫不考慮信息化問題不考慮信息化問題旅店老板委托某計(jì)算機(jī)公司開發(fā)該系統(tǒng),并承旅店老板委托某計(jì)算機(jī)公司開發(fā)該系統(tǒng),并承諾如果系統(tǒng)運(yùn)轉(zhuǎn)良好的話,將會(huì)考慮進(jìn)一步合諾如果系統(tǒng)運(yùn)轉(zhuǎn)良好的話,將會(huì)考慮進(jìn)一步合作事宜作事宜Copyright College of Software, BUAA-27-遠(yuǎn)景:旅店預(yù)訂系統(tǒng)遠(yuǎn)景:旅店預(yù)訂系統(tǒng)A很榮幸地成為項(xiàng)目經(jīng)理,并被要求在兩個(gè)月之很榮幸地成為項(xiàng)目經(jīng)理,并被要求在兩個(gè)月之內(nèi)發(fā)布該系統(tǒng)的第一個(gè)版本,同時(shí)還被要求要內(nèi)發(fā)布該系統(tǒng)的第一個(gè)版本,同時(shí)還被要求要為后續(xù)的開發(fā)提供必備的接口為后續(xù)的開發(fā)提

17、供必備的接口結(jié)合現(xiàn)狀和老板的要求,考慮到的項(xiàng)目可擴(kuò)展結(jié)合現(xiàn)狀和老板的要求,考慮到的項(xiàng)目可擴(kuò)展的要求,的要求,A首先進(jìn)行了簡(jiǎn)單的業(yè)務(wù)建模首先進(jìn)行了簡(jiǎn)單的業(yè)務(wù)建模之后,之后,A初步定義了項(xiàng)目的遠(yuǎn)景初步定義了項(xiàng)目的遠(yuǎn)景u方便、快捷、準(zhǔn)確地為旅客預(yù)訂房間方便、快捷、準(zhǔn)確地為旅客預(yù)訂房間u旅客可以方便的取消預(yù)訂的房間旅客可以方便的取消預(yù)訂的房間u旅店經(jīng)理能夠定期的獲取預(yù)訂的信息,根據(jù)這些信旅店經(jīng)理能夠定期的獲取預(yù)訂的信息,根據(jù)這些信息可以及時(shí)調(diào)整房間的價(jià)格息可以及時(shí)調(diào)整房間的價(jià)格u及時(shí)、快速地計(jì)算房間費(fèi)用、預(yù)訂費(fèi)用、取消預(yù)訂及時(shí)、快速地計(jì)算房間費(fèi)用、預(yù)訂費(fèi)用、取消預(yù)訂后退款金額等信息后退款金額等信息u?

18、預(yù)留接口:可以為以后的網(wǎng)絡(luò)版,以及其它業(yè)務(wù)系預(yù)留接口:可以為以后的網(wǎng)絡(luò)版,以及其它業(yè)務(wù)系統(tǒng)的開發(fā)提供支持統(tǒng)的開發(fā)提供支持Copyright College of Software, BUAA-28-結(jié)合遠(yuǎn)景,獲取系統(tǒng)需求結(jié)合遠(yuǎn)景,獲取系統(tǒng)需求Copyright College of Software, BUAA-29-業(yè)務(wù)模型映射到系統(tǒng)模型思路業(yè)務(wù)模型映射到系統(tǒng)模型思路從從入手,結(jié)合系統(tǒng)入手,結(jié)合系統(tǒng),可以幫助獲取系統(tǒng)模型可以幫助獲取系統(tǒng)模型可能的對(duì)應(yīng)關(guān)系可能的對(duì)應(yīng)關(guān)系(并非一一對(duì)應(yīng)并非一一對(duì)應(yīng))u業(yè)務(wù)用例業(yè)務(wù)用例 系統(tǒng)系統(tǒng)(子系統(tǒng)子系統(tǒng))u業(yè)務(wù)參與者業(yè)務(wù)參與者 系統(tǒng)參與者系統(tǒng)參與者u業(yè)務(wù)工人

19、業(yè)務(wù)工人 系統(tǒng)參與者系統(tǒng)參與者u業(yè)務(wù)工人的操作業(yè)務(wù)工人的操作(活動(dòng)活動(dòng)) 系統(tǒng)用例系統(tǒng)用例u業(yè)務(wù)實(shí)體業(yè)務(wù)實(shí)體 實(shí)體類實(shí)體類Copyright College of Software, BUAA-30-內(nèi)容安排內(nèi)容安排理解需求理解需求需求獲取需求獲取u獲取原始需求獲取原始需求u構(gòu)建初始用例模型構(gòu)建初始用例模型u撰寫用例文檔撰寫用例文檔u重構(gòu)用例模型重構(gòu)用例模型Copyright College of Software, BUAA-31-用例建模流程用例建模流程1. 獲取原始需求獲取原始需求2. 開發(fā)一個(gè)可以理解的需求開發(fā)一個(gè)可以理解的需求u2.1 識(shí)別參與者識(shí)別參與者u2.2 識(shí)別用例識(shí)別用例u

20、2.3 構(gòu)建用例圖構(gòu)建用例圖3 詳細(xì)、完整地描述需求詳細(xì)、完整地描述需求u撰寫用例文檔撰寫用例文檔4 重構(gòu)用例模型重構(gòu)用例模型u4.1 識(shí)別用例間的關(guān)系識(shí)別用例間的關(guān)系u4.2 對(duì)用例進(jìn)行分級(jí)和分包對(duì)用例進(jìn)行分級(jí)和分包Copyright College of Software, BUAA-32-用例建模流程用例建模流程2. 開發(fā)一個(gè)可以理解的需求開發(fā)一個(gè)可以理解的需求u2.1 識(shí)別參與者識(shí)別參與者u2.2 識(shí)別用例識(shí)別用例u2.3 構(gòu)建用例圖構(gòu)建用例圖3 詳細(xì)、完整地描述需求詳細(xì)、完整地描述需求u撰寫用例文檔撰寫用例文檔4 重構(gòu)用例模型重構(gòu)用例模型u4.1 識(shí)別用例間的關(guān)系識(shí)別用例間的關(guān)系u4

21、.2 對(duì)用例進(jìn)行分級(jí)和分包對(duì)用例進(jìn)行分級(jí)和分包Copyright College of Software, BUAA-33-1.需求從何而來(lái)需求從何而來(lái)需求只能來(lái)自涉眾需求只能來(lái)自涉眾(stakeholders)u最終用戶、客戶最終用戶、客戶u政府、法律、文化政府、法律、文化u開發(fā)人員、管理人員開發(fā)人員、管理人員u競(jìng)爭(zhēng)對(duì)手競(jìng)爭(zhēng)對(duì)手u但并不是直接從涉眾中來(lái)但并不是直接從涉眾中來(lái)u你們的需求是什么?你們的需求是什么?Copyright College of Software, BUAA-34-涉眾無(wú)法直接提供需求涉眾無(wú)法直接提供需求涉眾無(wú)法陳述自己的需要涉眾無(wú)法陳述自己的需要涉眾說(shuō)的是解決方案而不

22、是需求涉眾說(shuō)的是解決方案而不是需求涉眾難以構(gòu)想新的工作方法涉眾難以構(gòu)想新的工作方法涉眾的利益矛盾涉眾的利益矛盾涉眾抵制變更涉眾抵制變更“最好也要有最好也要有”過度的要求過度的要求需求引發(fā)需求需求引發(fā)需求Copyright College of Software, BUAA-35-需求啟發(fā)技術(shù)需求啟發(fā)技術(shù)需求工程師利用需求啟發(fā)技術(shù),從涉眾中需求工程師利用需求啟發(fā)技術(shù),從涉眾中發(fā)掘需求發(fā)掘需求u研究文檔研究文檔u研究競(jìng)爭(zhēng)對(duì)手研究競(jìng)爭(zhēng)對(duì)手u實(shí)地觀察實(shí)地觀察u訪談訪談u開會(huì)開會(huì)u問卷調(diào)查問卷調(diào)查u原型制作原型制作uCopyright College of Software, BUAA-36-用例建模流

23、程用例建模流程1. 獲取原始需求獲取原始需求u2.1 識(shí)別參與者識(shí)別參與者u2.2 識(shí)別用例識(shí)別用例u2.3 構(gòu)建用例圖構(gòu)建用例圖3 詳細(xì)、完整地描述需求詳細(xì)、完整地描述需求u撰寫用例文檔撰寫用例文檔4 重構(gòu)用例模型重構(gòu)用例模型u4.1 識(shí)別用例間的關(guān)系識(shí)別用例間的關(guān)系u4.2 對(duì)用例進(jìn)行分級(jí)和分包對(duì)用例進(jìn)行分級(jí)和分包Copyright College of Software, BUAA-37-2.1 識(shí)別參與者識(shí)別參與者(Actor)識(shí)別參與者識(shí)別參與者u關(guān)鍵詞:關(guān)鍵詞:邊界邊界u參與者:在參與者:在系統(tǒng)之外系統(tǒng)之外,透過,透過系統(tǒng)邊界系統(tǒng)邊界與與系統(tǒng)進(jìn)行系統(tǒng)進(jìn)行有意義交互有意義交互的的任何

24、事物任何事物Copyright College of Software, BUAA-38-參與者要點(diǎn)分析參與者要點(diǎn)分析系統(tǒng)外系統(tǒng)外u參與者不是系統(tǒng)的一部分,處于系統(tǒng)的外部參與者不是系統(tǒng)的一部分,處于系統(tǒng)的外部系統(tǒng)邊界系統(tǒng)邊界u參與者透過系統(tǒng)邊界參與者透過系統(tǒng)邊界直接直接與系統(tǒng)交互,參與與系統(tǒng)交互,參與者的確定代表者的確定代表系統(tǒng)邊界系統(tǒng)邊界的確定的確定系統(tǒng)角色系統(tǒng)角色u參與者與使用系統(tǒng)的物理人和職務(wù)沒有關(guān)系參與者與使用系統(tǒng)的物理人和職務(wù)沒有關(guān)系u需要從參與系統(tǒng)的角色需要從參與系統(tǒng)的角色(作用作用)來(lái)尋找參與者來(lái)尋找參與者與系統(tǒng)進(jìn)行信息交互與系統(tǒng)進(jìn)行信息交互u系統(tǒng)需要關(guān)注其交互過程,即系統(tǒng)職責(zé)系

25、統(tǒng)需要關(guān)注其交互過程,即系統(tǒng)職責(zé)任何事物任何事物u人、外系統(tǒng)、外部因素、時(shí)間人、外系統(tǒng)、外部因素、時(shí)間Copyright College of Software, BUAA-39-要點(diǎn):與系統(tǒng)進(jìn)行信息交互要點(diǎn):與系統(tǒng)進(jìn)行信息交互Copyright College of Software, BUAA-40-要點(diǎn):任何事物要點(diǎn):任何事物Copyright College of Software, BUAA-41-任何事物:小人與圣小豬任何事物:小人與圣小豬-1Copyright College of Software, BUAA-42-小人與圣小豬小人與圣小豬-2眾所周知,用例圖中的參與者用一個(gè)小

26、人表示。眾所周知,用例圖中的參與者用一個(gè)小人表示。但是這個(gè)小人具有一定的誤導(dǎo)性,往往讓初學(xué)但是這個(gè)小人具有一定的誤導(dǎo)性,往往讓初學(xué)者者(包括客戶包括客戶)理解為一個(gè)真實(shí)的人。大多數(shù)理解為一個(gè)真實(shí)的人。大多數(shù)UML 學(xué)習(xí)者都要花好長(zhǎng)一段時(shí)間來(lái)搞明白小人學(xué)習(xí)者都要花好長(zhǎng)一段時(shí)間來(lái)搞明白小人其實(shí)不一定代表的是人,而是很抽象的系統(tǒng)不其實(shí)不一定代表的是人,而是很抽象的系統(tǒng)不可控的外部因素,比如說(shuō)另一個(gè)系統(tǒng)。那么為可控的外部因素,比如說(shuō)另一個(gè)系統(tǒng)。那么為什么不干脆用其它的符號(hào)來(lái)表示參與者呢?什么不干脆用其它的符號(hào)來(lái)表示參與者呢?如果我開發(fā)一個(gè)豬圈自動(dòng)供食供水系統(tǒng),豬的如果我開發(fā)一個(gè)豬圈自動(dòng)供食供水系統(tǒng),豬

27、的前蹄觸發(fā)一個(gè)開關(guān)系統(tǒng)就供食或供水。顯然,前蹄觸發(fā)一個(gè)開關(guān)系統(tǒng)就供食或供水。顯然,這里的參與者這里的參與者 是小豬。那么在用例圖里用小豬是小豬。那么在用例圖里用小豬代替原來(lái)的小人不是更易于交流嗎?代替原來(lái)的小人不是更易于交流嗎?Copyright College of Software, BUAA-43-思考:參與者與系統(tǒng)邊界?思考:參與者與系統(tǒng)邊界?某企業(yè)要求開發(fā)一個(gè)企業(yè)信息管理系某企業(yè)要求開發(fā)一個(gè)企業(yè)信息管理系統(tǒng),并與原來(lái)已有的庫(kù)存系統(tǒng)相連接統(tǒng),并與原來(lái)已有的庫(kù)存系統(tǒng)相連接某企業(yè)要求開發(fā)一個(gè)企業(yè)信息管理系某企業(yè)要求開發(fā)一個(gè)企業(yè)信息管理系統(tǒng),并把原來(lái)已有的庫(kù)存管理系統(tǒng)加統(tǒng),并把原來(lái)已有的庫(kù)存

28、管理系統(tǒng)加以改造,成為企業(yè)信息管理系統(tǒng)的一以改造,成為企業(yè)信息管理系統(tǒng)的一部分部分Copyright College of Software, BUAA-44-識(shí)別參與者的思路識(shí)別參與者的思路可以從以下要點(diǎn)來(lái)識(shí)別參與者可以從以下要點(diǎn)來(lái)識(shí)別參與者u系統(tǒng)在哪些部門使用系統(tǒng)在哪些部門使用u誰(shuí)向系統(tǒng)提供信息、使用和刪除信息。誰(shuí)向系統(tǒng)提供信息、使用和刪除信息。u誰(shuí)與系統(tǒng)的需求有關(guān)聯(lián)誰(shuí)與系統(tǒng)的需求有關(guān)聯(lián)u誰(shuí)使用系統(tǒng)的功能(用例)誰(shuí)使用系統(tǒng)的功能(用例)u誰(shuí)對(duì)系統(tǒng)進(jìn)行維護(hù)誰(shuí)對(duì)系統(tǒng)進(jìn)行維護(hù)u與外部系統(tǒng)是否有關(guān)聯(lián)與外部系統(tǒng)是否有關(guān)聯(lián)u時(shí)間參與者:一種習(xí)慣用法,用于激活時(shí)間參與者:一種習(xí)慣用法,用于激活那些系統(tǒng)定

29、期的、自動(dòng)執(zhí)行的用例那些系統(tǒng)定期的、自動(dòng)執(zhí)行的用例Copyright College of Software, BUAA-45-參與者的命名參與者的命名對(duì)參與者賦予能更好地表達(dá)其角色對(duì)參與者賦予能更好地表達(dá)其角色(作用作用)的名稱的名稱u不好的參與者命名的例子:用職務(wù)名稱和個(gè)不好的參與者命名的例子:用職務(wù)名稱和個(gè)人姓名來(lái)命名人姓名來(lái)命名例如,張三、老李、校長(zhǎng)、科長(zhǎng)例如,張三、老李、校長(zhǎng)、科長(zhǎng)若使用系統(tǒng)的人(職務(wù)名稱)變化的話,就不是若使用系統(tǒng)的人(職務(wù)名稱)變化的話,就不是參與者了參與者了u好的參與者命名的例子:用能知道其角色的好的參與者命名的例子:用能知道其角色的名稱來(lái)命名名稱來(lái)命名例如,學(xué)

30、生、訂單管理員、維護(hù)部門例如,學(xué)生、訂單管理員、維護(hù)部門即使使用系統(tǒng)的人改變,從系統(tǒng)來(lái)看,使用者的即使使用系統(tǒng)的人改變,從系統(tǒng)來(lái)看,使用者的角色(作用)是相同的。角色(作用)是相同的。Copyright College of Software, BUAA-46-參與者之間的關(guān)系:泛化參與者之間的關(guān)系:泛化參與者可以通過參與者可以通過來(lái)定義,在這種來(lái)定義,在這種泛化關(guān)系中,一個(gè)參泛化關(guān)系中,一個(gè)參與者的抽象描述可以與者的抽象描述可以被一個(gè)或多個(gè)具體的被一個(gè)或多個(gè)具體的參與者所共享參與者所共享u如系統(tǒng)中經(jīng)理可以參如系統(tǒng)中經(jīng)理可以參加雇員的所有用例加雇員的所有用例用例A雇員用例B經(jīng)理用例CCopyr

31、ight College of Software, BUAA-47-參與者地位參與者地位識(shí)別用例之前識(shí)別用例之前重要重要u有助于識(shí)別用例,寧多勿少有助于識(shí)別用例,寧多勿少開始書寫用例文檔以后開始書寫用例文檔以后不重要不重要u涉及的參與者太多涉及的參與者太多測(cè)試和部署階段測(cè)試和部署階段重要重要u需要從參與者的角度考慮需要從參與者的角度考慮Copyright College of Software, BUAA-48-思考:識(shí)別參與者?思考:識(shí)別參與者?某短信系統(tǒng):用戶如果預(yù)定了天氣預(yù)某短信系統(tǒng):用戶如果預(yù)定了天氣預(yù)報(bào)短信,系統(tǒng)每天定時(shí)給他發(fā)天氣短報(bào)短信,系統(tǒng)每天定時(shí)給他發(fā)天氣短信;如果當(dāng)天氣溫低于

32、信;如果當(dāng)天氣溫低于0度,還要提度,還要提醒用戶注意防寒;醒用戶注意防寒;Copyright College of Software, BUAA-49-2.2 識(shí)別用例識(shí)別用例關(guān)鍵詞:價(jià)值關(guān)鍵詞:價(jià)值定義定義u用例實(shí)例是用例實(shí)例是系統(tǒng)執(zhí)行系統(tǒng)執(zhí)行的的一系列動(dòng)作一系列動(dòng)作,這些動(dòng),這些動(dòng)作將生成特定作將生成特定參與者可觀測(cè)參與者可觀測(cè)的的結(jié)果值結(jié)果值u一個(gè)用例定義一個(gè)用例定義一組用例實(shí)例(場(chǎng)景)一組用例實(shí)例(場(chǎng)景)簡(jiǎn)潔:參與者簡(jiǎn)潔:參與者使用系統(tǒng)使用系統(tǒng)達(dá)到某個(gè)目標(biāo)達(dá)到某個(gè)目標(biāo)記住了,我是(系統(tǒng))記住了,我是(系統(tǒng))用例用例Copyright College of Software, BUAA-

33、50-用例要點(diǎn)用例要點(diǎn)可觀測(cè)可觀測(cè)用例止于系統(tǒng)邊界用例止于系統(tǒng)邊界結(jié)果值結(jié)果值用例是有意義的目標(biāo)用例是有意義的目標(biāo)系統(tǒng)執(zhí)行系統(tǒng)執(zhí)行結(jié)果值由系統(tǒng)生成結(jié)果值由系統(tǒng)生成由參與者觀測(cè)由參與者觀測(cè)業(yè)務(wù)語(yǔ)言、用戶觀點(diǎn)業(yè)務(wù)語(yǔ)言、用戶觀點(diǎn)一組用例實(shí)例一組用例實(shí)例用例的粒度用例的粒度Copyright College of Software, BUAA-51-要點(diǎn):用例止于系統(tǒng)邊界要點(diǎn):用例止于系統(tǒng)邊界Copyright College of Software, BUAA-52-要點(diǎn):有意義的目標(biāo)要點(diǎn):有意義的目標(biāo)?設(shè)定查詢條件?會(huì)員?選擇零件?會(huì)員?檢索零件Copyright College of Softw

34、are, BUAA-53-要點(diǎn):結(jié)果值由系統(tǒng)生成要點(diǎn):結(jié)果值由系統(tǒng)生成出納員吃飯Copyright College of Software, BUAA-54-要點(diǎn):業(yè)務(wù)語(yǔ)言而非技術(shù)語(yǔ)言要點(diǎn):業(yè)務(wù)語(yǔ)言而非技術(shù)語(yǔ)言用戶詞匯,而不是技術(shù)詞匯用戶詞匯,而不是技術(shù)詞匯u如:發(fā)票,商品,洗衣機(jī)如:發(fā)票,商品,洗衣機(jī)u而不是:記錄,字段,而不是:記錄,字段,COM,C+等等Copyright College of Software, BUAA-55-要點(diǎn):用戶觀點(diǎn)而非系統(tǒng)觀點(diǎn)要點(diǎn):用戶觀點(diǎn)而非系統(tǒng)觀點(diǎn)?訂票?旅客?查看今日航班?處理訂票?旅客?顯示今日航班Copyright College of Softw

35、are, BUAA-56-用例用例 VS. 功能功能呼叫某人呼叫某人接聽電話接聽電話發(fā)送短信發(fā)送短信記住電話號(hào)碼記住電話號(hào)碼傳輸傳輸/接收接收電源電源/基站基站輸入輸出(顯示、鍵盤)輸入輸出(顯示、鍵盤)電話簿管理電話簿管理Copyright College of Software, BUAA-57-用例的命名用例的命名參與者視角:參與者視角:u(狀語(yǔ))動(dòng)詞(狀語(yǔ))動(dòng)詞+(定語(yǔ)(定語(yǔ)+ )賓語(yǔ))賓語(yǔ)顧客購(gòu)買商品信用卡支付Copyright College of Software, BUAA-58-要點(diǎn):用例粒度要點(diǎn):用例粒度-1用例是一組用例實(shí)例的抽象;其內(nèi)部用例是一組用例實(shí)例的抽象;其內(nèi)部要

36、有路徑,路徑要有步驟要有路徑,路徑要有步驟最常犯錯(cuò)誤:粒度過細(xì),陷入功能分最常犯錯(cuò)誤:粒度過細(xì),陷入功能分解解u通過執(zhí)行用例,參與者完成想做的事情通過執(zhí)行用例,參與者完成想做的事情(最終的目的最終的目的),并為參與者產(chǎn)生價(jià)值,并為參與者產(chǎn)生價(jià)值u過細(xì)的粒度,一般都會(huì)導(dǎo)致技術(shù)語(yǔ)言的過細(xì)的粒度,一般都會(huì)導(dǎo)致技術(shù)語(yǔ)言的描述,而不再是業(yè)務(wù)語(yǔ)言描述,而不再是業(yè)務(wù)語(yǔ)言Copyright College of Software, BUAA-59-用例粒度用例粒度-2把步驟當(dāng)用例把步驟當(dāng)用例把系統(tǒng)活動(dòng)當(dāng)用例把系統(tǒng)活動(dòng)當(dāng)用例?會(huì)員?輸入用戶名?驗(yàn)證用戶名和密碼?會(huì)員?登錄 查詢訂單建立數(shù)據(jù)庫(kù)連接執(zhí)行SQL語(yǔ)句C

37、opyright College of Software, BUAA-60-用例粒度用例粒度-3“四輪馬車四輪馬車”uC(Create)R(Read)U(Update)D(Delete)u所有業(yè)務(wù)最終對(duì)會(huì)成為所有業(yè)務(wù)最終對(duì)會(huì)成為CRUD?uCRUD能為能為Actor提供價(jià)值?提供價(jià)值?uCRUD掩蓋業(yè)務(wù),掩蓋業(yè)務(wù),銳變成關(guān)銳變成關(guān)系數(shù)據(jù)庫(kù)的建模:系數(shù)據(jù)庫(kù)的建模:“系統(tǒng)就是數(shù)據(jù)的增刪改查系統(tǒng)就是數(shù)據(jù)的增刪改查”關(guān)心數(shù)據(jù)的存儲(chǔ)和維護(hù),反而關(guān)心數(shù)據(jù)的存儲(chǔ)和維護(hù),反而忽略了用戶的目的忽略了用戶的目的?刪除用戶?修改用戶?增加用戶?管理員?查詢用戶Copyright College of Softwar

38、e, BUAA-61-用例粒度用例粒度-4如果確實(shí)是如果確實(shí)是CRUD?u如果如果CRUD不涉及復(fù)雜的交互,一個(gè)用例不涉及復(fù)雜的交互,一個(gè)用例“管理管理”即可即可u不管是不管是C、R、U、D,都是為了完成,都是為了完成“管理管理”目標(biāo)目標(biāo)u甚至很多種的基本數(shù)據(jù)管理都可以用一個(gè)用例表甚至很多種的基本數(shù)據(jù)管理都可以用一個(gè)用例表示示?管理員?管理用戶Copyright College of Software, BUAA-62-用例粒度用例粒度-5靈活處理靈活處理CRUD?管理員?管理用戶?增加用戶 Copyright College of Software, BUAA-63-找出用例的思路找出用例的

39、思路用例要考慮如下要點(diǎn)來(lái)尋找。用例要考慮如下要點(diǎn)來(lái)尋找。u參與者的工作是什么參與者的工作是什么u參與者的角色參與者的角色(作用作用)是什么是什么u參與者是否生成、參照、刪除系統(tǒng)信息參與者是否生成、參照、刪除系統(tǒng)信息u參與者是否需要把外部變更通知給系統(tǒng)參與者是否需要把外部變更通知給系統(tǒng)u系統(tǒng)是否需要把內(nèi)部事情通知給參與者系統(tǒng)是否需要把內(nèi)部事情通知給參與者u是否存在進(jìn)行系統(tǒng)維護(hù)的用例是否存在進(jìn)行系統(tǒng)維護(hù)的用例用例數(shù)量的參考基準(zhǔn)用例數(shù)量的參考基準(zhǔn)u1個(gè)系統(tǒng)中存在十幾個(gè)用例個(gè)系統(tǒng)中存在十幾個(gè)用例(或更少或更少)u1個(gè)用例中有多個(gè)用例實(shí)例個(gè)用例中有多個(gè)用例實(shí)例(場(chǎng)景場(chǎng)景)Copyright Colleg

40、e of Software, BUAA-64-思考:識(shí)別用例思考:識(shí)別用例-1Email客戶端(如:客戶端(如:outlook),),A在北在北京發(fā)郵件給上海的京發(fā)郵件給上海的B,系統(tǒng)提醒,系統(tǒng)提醒B你有你有“新郵件新郵件”,B收郵件收郵件收件人發(fā)件人發(fā)郵件收郵件郵件系統(tǒng)提醒新郵件Copyright College of Software, BUAA-65-思考:識(shí)別用例思考:識(shí)別用例-2提醒新郵件發(fā)郵件用戶收郵件時(shí)間Copyright College of Software, BUAA-66-2.3 構(gòu)建用例圖構(gòu)建用例圖用例圖:表達(dá)參與者與用例關(guān)系圖形用例圖:表達(dá)參與者與用例關(guān)系圖形主要元素

41、主要元素參與者參與者用例用例系統(tǒng)邊界系統(tǒng)邊界關(guān)聯(lián)關(guān)聯(lián)擴(kuò)展擴(kuò)展包含包含泛化泛化注釋體注釋體注釋連接注釋連接Copyright College of Software, BUAA-67-實(shí)例分析:旅店預(yù)訂系統(tǒng)實(shí)例分析:旅店預(yù)訂系統(tǒng)Copyright College of Software, BUAA-68-實(shí)例分析:旅游業(yè)務(wù)申請(qǐng)系統(tǒng)實(shí)例分析:旅游業(yè)務(wù)申請(qǐng)系統(tǒng)閱讀閱讀“旅游業(yè)務(wù)申請(qǐng)系統(tǒng)旅游業(yè)務(wù)申請(qǐng)系統(tǒng)”問題陳述問題陳述u識(shí)別系統(tǒng)參與者識(shí)別系統(tǒng)參與者u識(shí)別系統(tǒng)用例識(shí)別系統(tǒng)用例u構(gòu)建用例圖構(gòu)建用例圖Copyright College of Software, BUAA獲取系統(tǒng)參與者獲取系統(tǒng)參與者-69-

42、抽取抽取角度角度外部事物種類外部事物種類主要日常工作主要日常工作使用目標(biāo)系統(tǒng)職責(zé)使用目標(biāo)系統(tǒng)職責(zé)參與者參與者典型典型代表代表相關(guān)相關(guān)用戶用戶前臺(tái)招待顧客前臺(tái)招待顧客的員工的員工洽談客戶事宜并為客洽談客戶事宜并為客戶辦理各種申請(qǐng)和取戶辦理各種申請(qǐng)和取消手續(xù)、完成費(fèi)用支消手續(xù)、完成費(fèi)用支付付辦理申請(qǐng)手續(xù)以及辦理申請(qǐng)手續(xù)以及相關(guān)的取消、支付相關(guān)的取消、支付等后續(xù)業(yè)務(wù)等后續(xù)業(yè)務(wù)前臺(tái)服務(wù)員前臺(tái)服務(wù)員具體具體用戶用戶代表代表負(fù)責(zé)催款的員負(fù)責(zé)催款的員工工打印和郵寄旅游確認(rèn)打印和郵寄旅游確認(rèn)書和交款單書和交款單打印旅游確認(rèn)書和打印旅游確認(rèn)書和交款單交款單收款員工收款員工旅行社內(nèi)的會(huì)旅行社內(nèi)的會(huì)計(jì)人員計(jì)人員財(cái)務(wù)

43、記帳財(cái)務(wù)記帳不使用本系統(tǒng),不不使用本系統(tǒng),不是參與者是參與者宣傳和路線管宣傳和路線管理員工理員工制作宣傳資料、定期制作宣傳資料、定期維護(hù)旅游路線和活動(dòng)維護(hù)旅游路線和活動(dòng)維護(hù)旅游路線和旅維護(hù)旅游路線和旅游活動(dòng)游活動(dòng)路線管理員路線管理員其他其他外部外部事物事物財(cái)務(wù)系統(tǒng)財(cái)務(wù)系統(tǒng)記帳等財(cái)務(wù)操作記帳等財(cái)務(wù)操作接收本系統(tǒng)中與現(xiàn)接收本系統(tǒng)中與現(xiàn)金相關(guān)的財(cái)務(wù)信息金相關(guān)的財(cái)務(wù)信息財(cái)務(wù)系統(tǒng)財(cái)務(wù)系統(tǒng).外部激勵(lì)外部激勵(lì)關(guān)注或影響系統(tǒng)的運(yùn)關(guān)注或影響系統(tǒng)的運(yùn)行行定期自動(dòng)導(dǎo)出財(cái)務(wù)定期自動(dòng)導(dǎo)出財(cái)務(wù)信息信息時(shí)間時(shí)間Copyright College of Software, BUAA從參與者的角度獲取用例從參與者的角度獲取用例

44、-70-參與者參與者主要工作主要工作是否使用系統(tǒng)是否使用系統(tǒng)用例用例前臺(tái)前臺(tái)服務(wù)員服務(wù)員向申請(qǐng)人介紹申請(qǐng)情況向申請(qǐng)人介紹申請(qǐng)情況否否為申請(qǐng)人辦理申請(qǐng)手續(xù)為申請(qǐng)人辦理申請(qǐng)手續(xù)是是辦理申請(qǐng)手續(xù)辦理申請(qǐng)手續(xù)對(duì)申請(qǐng)參加人的增、刪、改、查對(duì)申請(qǐng)參加人的增、刪、改、查等日常維護(hù)等日常維護(hù)是是管理參加者管理參加者記錄申請(qǐng)人支付信息記錄申請(qǐng)人支付信息是是完成支付完成支付為申請(qǐng)人取消申請(qǐng)為申請(qǐng)人取消申請(qǐng)是是取消申請(qǐng)取消申請(qǐng)收款收款員工員工打印旅游確認(rèn)書和余額交款單打印旅游確認(rèn)書和余額交款單是是打印旅游確認(rèn)書和余額打印旅游確認(rèn)書和余額交款單交款單郵寄旅游確認(rèn)書和余額交款單郵寄旅游確認(rèn)書和余額交款單否否路線路線管理

45、員管理員制作宣傳資料制作宣傳資料否否設(shè)計(jì)旅游路線設(shè)計(jì)旅游路線是是管理路線管理路線設(shè)計(jì)旅游團(tuán)(活動(dòng))設(shè)計(jì)旅游團(tuán)(活動(dòng))是是管理旅游團(tuán)管理旅游團(tuán)調(diào)整旅游團(tuán)價(jià)格調(diào)整旅游團(tuán)價(jià)格是是設(shè)定價(jià)格設(shè)定價(jià)格財(cái)務(wù)財(cái)務(wù)系統(tǒng)系統(tǒng)記賬等財(cái)務(wù)操作記賬等財(cái)務(wù)操作否否接收與現(xiàn)金相關(guān)的財(cái)務(wù)信息接收與現(xiàn)金相關(guān)的財(cái)務(wù)信息是是導(dǎo)出財(cái)務(wù)信息(被動(dòng))導(dǎo)出財(cái)務(wù)信息(被動(dòng))時(shí)間時(shí)間定期導(dǎo)出財(cái)務(wù)信息定期導(dǎo)出財(cái)務(wù)信息是是導(dǎo)出財(cái)務(wù)信息導(dǎo)出財(cái)務(wù)信息輔助輔助用例用例系統(tǒng)要區(qū)分各種不同的用戶身份,系統(tǒng)要區(qū)分各種不同的用戶身份,并提供不同的功能并提供不同的功能是是登錄登錄Copyright College of Software, BUAA旅游業(yè)務(wù)申請(qǐng)系

46、統(tǒng)參考用例圖旅游業(yè)務(wù)申請(qǐng)系統(tǒng)參考用例圖-71-Copyright College of Software, BUAA-72-用例建模流程用例建模流程1. 獲取原始需求獲取原始需求2. 開發(fā)一個(gè)可以理解的需求開發(fā)一個(gè)可以理解的需求u2.1 識(shí)別參與者識(shí)別參與者u2.2 識(shí)別用例識(shí)別用例u2.3 構(gòu)建用例圖構(gòu)建用例圖u撰寫用例文檔撰寫用例文檔4 重構(gòu)用例模型重構(gòu)用例模型u4.1 識(shí)別用例間的關(guān)系識(shí)別用例間的關(guān)系u4.2 對(duì)用例進(jìn)行分級(jí)和分包對(duì)用例進(jìn)行分級(jí)和分包Copyright College of Software, BUAA-73-撰寫用例文檔撰寫用例文檔用例文檔:更進(jìn)一步的精度用例文檔:更進(jìn)

47、一步的精度u需求規(guī)格說(shuō)明書的核心,而用例圖作為需求規(guī)格說(shuō)明書的核心,而用例圖作為用例文檔的索引圖用例文檔的索引圖u進(jìn)一步的精度:進(jìn)一步的精度:文檔文檔u文檔中每一句話都有其價(jià)值文檔中每一句話都有其價(jià)值Copyright College of Software, BUAA-74-有層次的需求組織形式有層次的需求組織形式用例(取款)用例(取款)u路徑(正常取款)路徑(正常取款)步驟(系統(tǒng)驗(yàn)證取款金額合法)步驟(系統(tǒng)驗(yàn)證取款金額合法)補(bǔ)充約束(取款金額必須為補(bǔ)充約束(取款金額必須為50元的倍數(shù))元的倍數(shù))Copyright College of Software, BUAA-75-誰(shuí)來(lái)寫用例文檔誰(shuí)來(lái)

48、寫用例文檔最完美:業(yè)務(wù)人員接受訓(xùn)練,寫出優(yōu)最完美:業(yè)務(wù)人員接受訓(xùn)練,寫出優(yōu)美的用例文檔美的用例文檔最糟糕:業(yè)務(wù)人員不管,完全由開發(fā)最糟糕:業(yè)務(wù)人員不管,完全由開發(fā)人員杜撰人員杜撰Copyright College of Software, BUAA-76-用例文檔的組成用例文檔的組成用例標(biāo)識(shí)用例標(biāo)識(shí)(UC)、名稱、描述、名稱、描述涉及的參與者、涉及的用例涉及的參與者、涉及的用例涉眾利益涉眾利益前置條件、后置條件前置條件、后置條件事件流事件流u基本路徑基本路徑u備選路徑備選路徑補(bǔ)充約束補(bǔ)充約束u字段列表、業(yè)務(wù)規(guī)則字段列表、業(yè)務(wù)規(guī)則u非功能需求、設(shè)計(jì)約束非功能需求、設(shè)計(jì)約束待解決問題待解決問題相關(guān)

49、圖相關(guān)圖(用例圖、活動(dòng)圖、類圖用例圖、活動(dòng)圖、類圖)Copyright College of Software, BUAA-77-涉眾利益涉眾利益同樣是同樣是“取錢取錢”u為什么家里的抽屜不用密碼,取款機(jī)要用?為什么家里的抽屜不用密碼,取款機(jī)要用?u為什么取了錢以后要為什么取了錢以后要“系統(tǒng)扣除帳戶金額系統(tǒng)扣除帳戶金額”還有一些因素沒有考慮還有一些因素沒有考慮Copyright College of Software, BUAA-78-從涉眾利益角度定義用例從涉眾利益角度定義用例Cockburn:用例是:用例是,以參與者為達(dá)成特定目標(biāo)和系,以參與者為達(dá)成特定目標(biāo)和系統(tǒng)交互的方式演繹統(tǒng)交互的方式

50、演繹Copyright College of Software, BUAA-79-用例平衡涉眾之間的利益用例平衡涉眾之間的利益用例平衡涉眾之間的利益用例平衡涉眾之間的利益涉眾是受系統(tǒng)影響的,有自己主張的涉眾是受系統(tǒng)影響的,有自己主張的人或組織,可能的涉眾有:人或組織,可能的涉眾有:u最終用戶、客戶、政府、法律最終用戶、客戶、政府、法律u開發(fā)人員、管理人員、競(jìng)爭(zhēng)對(duì)手、開發(fā)人員、管理人員、競(jìng)爭(zhēng)對(duì)手、對(duì)于用戶在對(duì)于用戶在ATM取錢的用例取錢的用例u用戶:希望方便用戶:希望方便u銀行:希望安全銀行:希望安全u法律:保護(hù)財(cái)產(chǎn)法律:保護(hù)財(cái)產(chǎn)Copyright College of Software, BU

51、AA-80-涉眾利益的沖突涉眾利益的沖突用例相當(dāng)于參與者在臺(tái)上表演,而最重要的是用例相當(dāng)于參與者在臺(tái)上表演,而最重要的是臺(tái)下的觀眾臺(tái)下的觀眾(涉眾涉眾)的利益的利益編寫用例文檔的過程就是描述如何滿足涉眾之編寫用例文檔的過程就是描述如何滿足涉眾之間的利益,達(dá)到涉眾利益的平衡間的利益,達(dá)到涉眾利益的平衡涉眾有輕重緩急涉眾有輕重緩急Copyright College of Software, BUAA-81-尋找涉眾的思路尋找涉眾的思路區(qū)分涉眾與參與者區(qū)分涉眾與參與者u涉眾是與當(dāng)前用例存在利益關(guān)系的人或涉眾是與當(dāng)前用例存在利益關(guān)系的人或組織組織u參與者是啟動(dòng)或參與用例執(zhí)行過程的人參與者是啟動(dòng)或參與用

52、例執(zhí)行過程的人或外部事物或外部事物可能的涉眾有:可能的涉眾有:u當(dāng)事人當(dāng)事人u上游下游上游下游u操作對(duì)象的主人操作對(duì)象的主人uCopyright College of Software, BUAA-82-前置、后置條件前置、后置條件前置條件約束在用例開前置條件約束在用例開始前系統(tǒng)的狀態(tài)始前系統(tǒng)的狀態(tài)u作為用例的入口限制,它作為用例的入口限制,它阻止參與者觸發(fā)該用例直阻止參與者觸發(fā)該用例直到滿足所有條件到滿足所有條件u說(shuō)明在用例觸發(fā)之前什么說(shuō)明在用例觸發(fā)之前什么必須為真必須為真后置條件約束用例執(zhí)行后置條件約束用例執(zhí)行后系統(tǒng)的狀態(tài)后系統(tǒng)的狀態(tài)u用例執(zhí)行后什么必須為真用例執(zhí)行后什么必須為真u對(duì)于存在

53、各種分支事件流對(duì)于存在各種分支事件流的用例,則可以指定多個(gè)的用例,則可以指定多個(gè)后置條件后置條件Copyright College of Software, BUAA-83-定義前置、后置條件定義前置、后置條件前置、后置條件必須是系統(tǒng)能檢測(cè)到前置、后置條件必須是系統(tǒng)能檢測(cè)到的的前置條件必須是系統(tǒng)在用例開始前就前置條件必須是系統(tǒng)在用例開始前就能檢測(cè)到的能檢測(cè)到的Copyright College of Software, BUAA-84-應(yīng)用前置、后置條件應(yīng)用前置、后置條件某些用例依賴于其他用例某些用例依賴于其他用例u一個(gè)用例在離開系統(tǒng)時(shí),可能是另一個(gè)一個(gè)用例在離開系統(tǒng)時(shí),可能是另一個(gè)用例的前置

54、條件(例如:用例的前置條件(例如:“登錄登錄”和和“管理系統(tǒng)管理系統(tǒng)”)有助于識(shí)別漏掉的用例有助于識(shí)別漏掉的用例u如果一個(gè)用例的前置條件不能有執(zhí)行其如果一個(gè)用例的前置條件不能有執(zhí)行其他用例滿足,可能意味著丟失了用例他用例滿足,可能意味著丟失了用例(例如:(例如:“管理訂單管理訂單”卻沒有卻沒有“登錄登錄”用例)用例)Copyright College of Software, BUAA-85-事件流描述事件流描述-用例交互四部曲用例交互四部曲1. 動(dòng)動(dòng) 作作4. 回回 應(yīng)應(yīng)2.改變改變3.驗(yàn)證驗(yàn)證系系 統(tǒng)統(tǒng)Copyright College of Software, BUAA-86-事件流描述

55、要點(diǎn)事件流描述要點(diǎn)事件流描述要使用戶和開發(fā)人員互相理解事件流描述要使用戶和開發(fā)人員互相理解用例的功能,要注意以下幾點(diǎn):用例的功能,要注意以下幾點(diǎn):u使用自然語(yǔ)言:使用用戶平時(shí)所使用的語(yǔ)言使用自然語(yǔ)言:使用用戶平時(shí)所使用的語(yǔ)言進(jìn)行描述進(jìn)行描述u要明確參與者與系統(tǒng)所交互的信息要明確參與者與系統(tǒng)所交互的信息u不使用不使用例如例如、等等這樣的不清晰的表達(dá)這樣的不清晰的表達(dá)u不要細(xì)化不要細(xì)化GUIu不要描述計(jì)算機(jī)內(nèi)部的處理,要描述從系統(tǒng)不要描述計(jì)算機(jī)內(nèi)部的處理,要描述從系統(tǒng)外部所看到的活動(dòng)外部所看到的活動(dòng)u除了基本流程,還要描述替代流程除了基本流程,還要描述替代流程u要明確描述用例的開始和結(jié)束要明確描述

56、用例的開始和結(jié)束Copyright College of Software, BUAA-87-例例1:使用自然語(yǔ)言:使用自然語(yǔ)言技術(shù)語(yǔ)言:無(wú)法與用戶溝通技術(shù)語(yǔ)言:無(wú)法與用戶溝通u系統(tǒng)通過系統(tǒng)通過ADO建立數(shù)據(jù)庫(kù)連接,傳送建立數(shù)據(jù)庫(kù)連接,傳送SQL查詢語(yǔ)句,從查詢語(yǔ)句,從“商品表商品表”查詢商品查詢商品的詳細(xì)信息的詳細(xì)信息自然語(yǔ)言自然語(yǔ)言(用戶語(yǔ)言用戶語(yǔ)言)u系統(tǒng)按照查詢條件搜索商品的詳細(xì)信息系統(tǒng)按照查詢條件搜索商品的詳細(xì)信息Copyright College of Software, BUAA-88-例例2:描述參與者與系統(tǒng)交互過程:描述參與者與系統(tǒng)交互過程以以參與者參與者或系統(tǒng)作為主語(yǔ)描述或

57、系統(tǒng)作為主語(yǔ)描述u參與者參與者u系統(tǒng)系統(tǒng)示例示例u出納員接收顧客的付款出納員接收顧客的付款顧客的付款數(shù)顧客的付款數(shù)可能高于商品總額可能高于商品總額u出納員錄入顧客所付的現(xiàn)金總額出納員錄入顧客所付的現(xiàn)金總額u系統(tǒng)顯示出應(yīng)找還給顧客的余額,打印系統(tǒng)顯示出應(yīng)找還給顧客的余額,打印付款收據(jù)付款收據(jù)Copyright College of Software, BUAA-89-例例3:不細(xì)化:不細(xì)化GUI過細(xì)的過細(xì)的GUI描述描述u會(huì)員從下拉框中選擇類別會(huì)員從下拉框中選擇類別u會(huì)員在相應(yīng)文本框中輸入查詢條件會(huì)員在相應(yīng)文本框中輸入查詢條件u會(huì)員點(diǎn)擊會(huì)員點(diǎn)擊“確定確定”按鈕按鈕Copyright Colleg

58、e of Software, BUAA-90-例例4:分支和循環(huán)的描述:分支和循環(huán)的描述分支:放到備選路徑中分支:放到備選路徑中u參與者的選擇參與者的選擇u另一條成功線路另一條成功線路u系統(tǒng)進(jìn)行驗(yàn)證系統(tǒng)進(jìn)行驗(yàn)證u循環(huán):直接描述循環(huán):直接描述Copyright College of Software, BUAA-91-用例文檔中的補(bǔ)充約束用例文檔中的補(bǔ)充約束用例重點(diǎn)在于描述功能需求,而其它用例重點(diǎn)在于描述功能需求,而其它方面的補(bǔ)充約束:方面的補(bǔ)充約束:u與特定用例相關(guān)的補(bǔ)充約束,作為該用例文與特定用例相關(guān)的補(bǔ)充約束,作為該用例文檔中一部分來(lái)描述檔中一部分來(lái)描述u一些全局性的補(bǔ)充約束,單獨(dú)形成一份

59、獨(dú)立一些全局性的補(bǔ)充約束,單獨(dú)形成一份獨(dú)立的文檔,如的文檔,如“補(bǔ)充需求規(guī)約補(bǔ)充需求規(guī)約”文檔文檔補(bǔ)充約束補(bǔ)充約束u字段列表字段列表u業(yè)務(wù)規(guī)則業(yè)務(wù)規(guī)則u非功能需求非功能需求u設(shè)計(jì)約束設(shè)計(jì)約束Copyright College of Software, BUAA-92-補(bǔ)充約束:字段列表補(bǔ)充約束:字段列表描述與用例相關(guān)的數(shù)據(jù)需求描述與用例相關(guān)的數(shù)據(jù)需求u不同于數(shù)據(jù)模型不同于數(shù)據(jù)模型只是一部分,但可以用只是一部分,但可以用E/R圖或業(yè)務(wù)對(duì)象圖作為輔助說(shuō)明圖或業(yè)務(wù)對(duì)象圖作為輔助說(shuō)明u不等于數(shù)據(jù)字典不等于數(shù)據(jù)字典容易過早把時(shí)間花在細(xì)節(jié)容易過早把時(shí)間花在細(xì)節(jié)上,早期只關(guān)注數(shù)據(jù)本身,不關(guān)注實(shí)現(xiàn)細(xì)節(jié)上,早期

60、只關(guān)注數(shù)據(jù)本身,不關(guān)注實(shí)現(xiàn)細(xì)節(jié)示例示例(可按數(shù)據(jù)字典語(yǔ)法,也可簡(jiǎn)單描述可按數(shù)據(jù)字典語(yǔ)法,也可簡(jiǎn)單描述)u注冊(cè)信息注冊(cè)信息=用戶名用戶名+密碼密碼+email+電話電話*u房間的狀態(tài)可能有:空閑、已預(yù)訂、占用房間的狀態(tài)可能有:空閑、已預(yù)訂、占用uCopyright College of Software, BUAA-93-補(bǔ)充約束:業(yè)務(wù)規(guī)則補(bǔ)充約束:業(yè)務(wù)規(guī)則描述業(yè)務(wù)邏輯和操作規(guī)則描述業(yè)務(wù)邏輯和操作規(guī)則u事實(shí):設(shè)備是資產(chǎn)的一種事實(shí):設(shè)備是資產(chǎn)的一種u推理:如果過了計(jì)劃中的交互日期,貨物還推理:如果過了計(jì)劃中的交互日期,貨物還沒有送到,即為沒有送到,即為“未按時(shí)送貨未按時(shí)送貨”u約束:合同總金額不能

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論