需求之系統(tǒng)用例圖_第1頁(yè)
需求之系統(tǒng)用例圖_第2頁(yè)
需求之系統(tǒng)用例圖_第3頁(yè)
需求之系統(tǒng)用例圖_第4頁(yè)
需求之系統(tǒng)用例圖_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

需求之系統(tǒng)用例圖(Systemusecase)九月22計(jì)科系段恩澤email:1系統(tǒng)執(zhí)行者要點(diǎn)系統(tǒng)執(zhí)行者的定義:在所研究系統(tǒng)外,與該系統(tǒng)發(fā)生功能性交互的其他系統(tǒng)。系統(tǒng)外。系統(tǒng)執(zhí)行者不是所研究系統(tǒng)的一部分,是該系統(tǒng)邊界外的一個(gè)系統(tǒng)。要正確理解這里的系統(tǒng)邊界:不是物理的邊界,而是責(zé)任的邊界。不能說運(yùn)行在同一臺(tái)電腦中,共享內(nèi)存和硬盤,就是同一個(gè)系統(tǒng)。交互。系統(tǒng)執(zhí)行者必須和系統(tǒng)有交互,不和系統(tǒng)交互的不算是系統(tǒng)的執(zhí)行者。一名旅客來到火車票售票點(diǎn),告訴售票員目的地和車次,售票員使用售票系統(tǒng)打出火車票。這個(gè)場(chǎng)景中,和火車票售票系統(tǒng)交互的是售票員,他/她是售票系統(tǒng)的執(zhí)行者,旅客不是。2系統(tǒng)執(zhí)行者要點(diǎn)系統(tǒng)執(zhí)行者和重要無關(guān)。系統(tǒng)執(zhí)行者只關(guān)注誰(shuí)和這個(gè)系統(tǒng)接口,不關(guān)心這個(gè)誰(shuí)是重要人物,還是非重要人物,甚至有的執(zhí)行者不是人,是另一個(gè)電腦系統(tǒng),更談不上重不重要了。從平時(shí)的工作和生活經(jīng)驗(yàn)我們也可以知道,當(dāng)系統(tǒng)執(zhí)行者當(dāng)?shù)米顨g,整天和電腦打交道的人,往往是一線的打工仔(營(yíng)業(yè)員、辦事員、客服...),真正重要的人物會(huì)整天坐在電腦前面摸鍵盤弄鼠標(biāo)嗎?雖然偶爾也會(huì)用系統(tǒng)看看報(bào)表,但更多時(shí)間是摸高爾夫球桿吧?3涉眾的利益旅客――擔(dān)心出錯(cuò)票,更擔(dān)心拿到了錯(cuò)票自己還不察覺;擔(dān)心票是打出來了,信息卻沒有傳到后頭;擔(dān)心指定日期沒那個(gè)車次的票…售票點(diǎn)老板――擔(dān)心售票員玩忽職守,出錯(cuò)影響聲譽(yù);擔(dān)心售票員匿旅客的錢,出假票,然后拿錢開溜…售票員――擔(dān)心操作太復(fù)雜,一天下來手指麻木;擔(dān)心不好用,出錯(cuò)票被老板扣錢…火車站――擔(dān)心重復(fù)出票造成糾紛…4旅客成為系統(tǒng)執(zhí)行者如果火車票售票系統(tǒng)提供旅客購(gòu)票的接口,例如互聯(lián)網(wǎng)購(gòu)票、售票機(jī)等,旅客可以自行和這些系統(tǒng)交互來達(dá)到購(gòu)票的目的,這個(gè)時(shí)候旅客就成了系統(tǒng)執(zhí)行者?!笆燮眴T->售票”和“旅客->購(gòu)票”是兩個(gè)不同的用例,重點(diǎn)關(guān)注的涉眾利益不同,相應(yīng)的需求自然也不同。和旅客打交道的用例,交互可以生動(dòng)一點(diǎn),節(jié)奏可以慢一點(diǎn),甚至可以賣賣廣告,還要特別注意容量、安全等問題;和售票員打交道的用例,交互應(yīng)該直截了當(dāng),甚至連鼠標(biāo)都不要用。5功能性交互售票員是使用鍵盤鼠標(biāo)和售票系統(tǒng)交互的,按道理,比起售票員來,鼠標(biāo)離售票系統(tǒng)更近,為什么不把鼠標(biāo)作為售票系統(tǒng)的執(zhí)行者呢?還有,假設(shè)售票系統(tǒng)運(yùn)行在Windows操作系統(tǒng)之上,那么Windows是不是售票系統(tǒng)的執(zhí)行者?6功能性交互執(zhí)行者和系統(tǒng)發(fā)生的交互是系統(tǒng)的功能需求。一個(gè)人能自如地控制鼠標(biāo),猴子則做不到,是因?yàn)槿四X里安裝了如何使用鼠標(biāo)的專家系統(tǒng),可能是他父母安裝的,也可能是他老師安裝的。鼠標(biāo)的移動(dòng)如何變成屏幕上的信號(hào),是由鼠標(biāo)驅(qū)動(dòng)程序負(fù)責(zé)的,這些都不是售票系統(tǒng)關(guān)注的核心領(lǐng)域,售票系統(tǒng)關(guān)注的是售票員和售票系統(tǒng)之間的交互,所以售票員才是售票系統(tǒng)的執(zhí)行者。7系統(tǒng)系統(tǒng)可以是一個(gè)人肉系統(tǒng),也可以是一個(gè)智能系統(tǒng),甚至是一個(gè)特別的外系統(tǒng)――時(shí)間。在軟件業(yè)的早期,一個(gè)系統(tǒng)的執(zhí)行者往往全部都是人。隨著時(shí)間的推移,系統(tǒng)的執(zhí)行者中非人執(zhí)行者越來越多。8【需求步驟2-1】識(shí)別系統(tǒng)執(zhí)行者9【需求步驟2-1】識(shí)別系統(tǒng)執(zhí)行者10不要把執(zhí)行者和權(quán)限管理混淆用例的主執(zhí)行者只是表明這個(gè)用例是為這一類執(zhí)行者而做,但不代表系統(tǒng)一定要有權(quán)限控制以防止其他的人或電腦系統(tǒng)使用該用例。微信的“搖一搖”,是為年輕人提供的,但沒有權(quán)限控制要先“登錄并獲得年輕人權(quán)限”才能使用,只是在考慮這個(gè)用例包含的各種需求時(shí),要多考慮年輕人的利益。11不要把執(zhí)行者和權(quán)限管理混淆“用戶”這個(gè)詞還是懶惰的表現(xiàn),這個(gè)功能給誰(shuí)用?給用戶用。這樣的回答,和“東西賣給消費(fèi)者”一樣,是正確而無用的廢話。所以在給執(zhí)行者命名時(shí),盡量不要使用“用戶”這個(gè)詞,而是使用具體的執(zhí)行者名稱:儲(chǔ)戶、顧客、科長(zhǎng)、驗(yàn)質(zhì)員、檢斤員…。當(dāng)然,設(shè)計(jì)時(shí)盡可以抽象出“用戶”這樣的超類,這樣許多特征都可以復(fù)用,但做需求時(shí)是不考慮復(fù)用的。12不要把執(zhí)行者和權(quán)限管理混淆13練習(xí)(exercises)1.以類似_______這樣的系統(tǒng)為研究對(duì)象時(shí),“打印機(jī)”作為執(zhí)行者是合適的。A)WordB)財(cái)務(wù)報(bào)表系統(tǒng)C)PhotoshopD)打印管理器E)OA系統(tǒng)F)PowerPoint14練習(xí)(exercises)2.市民想給交通卡充值,來到營(yíng)業(yè)點(diǎn)把錢和卡一起遞給營(yíng)業(yè)員,營(yíng)業(yè)員操作“充值系統(tǒng)”充值。針對(duì)“充值系統(tǒng)”的執(zhí)行者,以下看法正確的是A)執(zhí)行者應(yīng)是市民,因?yàn)槭忻癖葼I(yíng)業(yè)員重要。B)執(zhí)行者應(yīng)是營(yíng)業(yè)員,因?yàn)闋I(yíng)業(yè)員比市民重要C)執(zhí)行者應(yīng)是市民,畢竟?fàn)I業(yè)員最終執(zhí)行的是市民的指令D)執(zhí)行者應(yīng)該是充值系統(tǒng),因?yàn)槌渲涤沙渲迪到y(tǒng)完成E)執(zhí)行者應(yīng)該是營(yíng)業(yè)員,系統(tǒng)執(zhí)行者與重要無關(guān)F)市民和營(yíng)業(yè)員一起作為執(zhí)行者15練習(xí)(exercises)3.以下說法不正確的是(多選):A)業(yè)務(wù)執(zhí)行者一定是系統(tǒng)執(zhí)行者B)系統(tǒng)執(zhí)行者一定是業(yè)務(wù)執(zhí)行者C)系統(tǒng)執(zhí)行者一定是業(yè)務(wù)工人D)系統(tǒng)執(zhí)行者一定要和系統(tǒng)交互E)系統(tǒng)執(zhí)行者一定是系統(tǒng)的涉眾F)系統(tǒng)的涉眾一定是系統(tǒng)執(zhí)行者16系統(tǒng)用例要點(diǎn)系統(tǒng)用例的定義:系統(tǒng)能夠?yàn)閳?zhí)行者提供的,涉眾可以接受的價(jià)值。用例可以看作執(zhí)行者和系統(tǒng)之間買賣的平衡點(diǎn),期望和承諾的平衡點(diǎn)。還是以被說濫了的取款機(jī)為例。儲(chǔ)戶來到取款機(jī)面前,插卡輸密碼,拿到兩百元后,到隔壁投注站買了10張福彩刮刮樂即開彩票,哇噻,中獎(jiǎng)五萬元。那么,取款機(jī)的用例到底是什么,“登錄”、“取款”還是“中獎(jiǎng)”?或者說“都對(duì),從辯證的角度看嘛”?17系統(tǒng)用例要點(diǎn)“登錄”不是取款機(jī)的用例,因?yàn)槿】顧C(jī)不能這么叫賣自己:“來啊來??!我這里能登錄啊”,然后儲(chǔ)戶就說,“哇,真棒,這正是我想要取款機(jī)提供的服務(wù),好,我去用一用”。儲(chǔ)戶對(duì)取款機(jī)的期望可不止這么多。“中獎(jiǎng)”也不是取款機(jī)的用例,儲(chǔ)戶倒是很想從取款機(jī)那里得到這個(gè)服務(wù),可惜,取款機(jī)沒法承諾?!叭】睢辈攀侨】顧C(jī)能承諾,而且儲(chǔ)戶樂意因此而使用取款機(jī)的服務(wù)。18系統(tǒng)用例要點(diǎn)用例之前的許多需求方法學(xué),把需求定義為思考系統(tǒng)“做”什么,用例把需求提升到思考系統(tǒng)“賣什么”的高度。這種思考是非常艱難的,因?yàn)樗鼪]有標(biāo)準(zhǔn)答案,只有最佳答案。對(duì)于仍然習(xí)慣用學(xué)生思維思考、喜歡背標(biāo)準(zhǔn)答案的開發(fā)人員,思考“什么是系統(tǒng)的價(jià)值”有時(shí)甚至?xí)屗纯嗟较胍颖?,或者干脆用模糊不清的功能、特性等詞語(yǔ)代替。19系統(tǒng)用例要點(diǎn)人們求職、求偶、求**...不就是要搞清楚“我”這個(gè)人肉系統(tǒng)到底應(yīng)該賣給誰(shuí),賣什么服務(wù)的最佳答案嗎?我想賣給你的你不要,你想買的我又沒有,就是人生的痛苦所在。許多時(shí)候,我們象沒頭蒼蠅一樣投簡(jiǎn)歷、相親,卻不舍得抽出時(shí)間靜下來思考“價(jià)值”的問題。20系統(tǒng)用例要點(diǎn)“程序員”這個(gè)人肉系統(tǒng)為老板提供的用例是什么?安裝開發(fā)工具?編碼?為公司賺錢?編碼,這是老板對(duì)程序員的期望以及程序員可以提供的承諾的平衡點(diǎn),或者說,這是程序員能賣,老板愿意買的價(jià)值。程序員不能因?yàn)檠b了個(gè)VisualStudio就理直氣壯向老板要報(bào)酬,老板不給就生氣;程序員按要求編出了代碼,老板就不能因?yàn)殇N售部門不給力導(dǎo)致軟件賣不出去賺不到錢而責(zé)怪程序員。21系統(tǒng)用例要點(diǎn)程序員如果擺錯(cuò)了自己的位置,沒有好好完成本職工作,反倒是向老板上“萬言書”,對(duì)公司的發(fā)展方向大放厥詞,指手畫腳,老板是不會(huì)喜歡的,因?yàn)樗黄谕麖某绦騿T身上“購(gòu)買”這個(gè)服務(wù)(用某知名企業(yè)領(lǐng)導(dǎo)人的話說就是:有精神病就送醫(yī)院,沒精神病就辭退)??梢?,搞清楚自己的“用例”,認(rèn)清自己的定位,對(duì)人生多么重要。當(dāng)然,隨著時(shí)間的發(fā)展,人肉系統(tǒng)可以不斷升級(jí),淘汰舊的用例,開發(fā)新的用例。22系統(tǒng)用例要點(diǎn)思考用例的過程就是發(fā)現(xiàn)價(jià)值的過程。如果您不斷通過用例思維來思考系統(tǒng)的需求,就能訓(xùn)練出越來越強(qiáng)大的發(fā)現(xiàn)價(jià)值的能力。無論打工還是創(chuàng)業(yè),這種發(fā)現(xiàn)價(jià)值的能力是非常有幫助的。用例思維可以讓您終身受益。23練習(xí)(exercises)1.以_____這樣的系統(tǒng)為研究對(duì)象時(shí),“登錄”作為用例是合適的A)ERPB)電子商務(wù)網(wǎng)站如淘寶C)取款機(jī)D)門禁E)OA系統(tǒng)F)指紋掃描儀24練習(xí)(exercises)2.以_____這樣的系統(tǒng)為研究對(duì)象時(shí),“輸入密碼”作為用例是合適的A)密碼保險(xiǎn)箱B)電子商務(wù)網(wǎng)站如淘寶C)取款機(jī)D)門禁E)OA系統(tǒng)F)指紋掃描儀25最常犯的錯(cuò)誤是:把步驟當(dāng)作用例。26CRUD問題27CRUD問題乍一看好像也可以理解。不管前面的業(yè)務(wù)多復(fù)雜,到數(shù)據(jù)庫(kù)這一層,不都是新增修改刪除查詢嗎?有位開發(fā)人員和我說過,“潘老師,我找到了抑制需求變更的好方法,把數(shù)據(jù)庫(kù)的表當(dāng)成需求不就行了嗎?業(yè)務(wù)變來變?nèi)?,?shù)據(jù)庫(kù)的表是相對(duì)穩(wěn)定的?!?我還見到過這樣的信息系統(tǒng):在界面上把所有的“新增”功能都放在一起,根本不管這些功能是給不同的人在不同時(shí)間和不同業(yè)務(wù)流程中使用的。開發(fā)人員肯定想“反正都是數(shù)據(jù)庫(kù)里新增一條記錄嘛”。28CRUD問題問題在于:做需求的目的不是為了安慰自己或走過場(chǎng),而是讓產(chǎn)品更加好賣。不以這個(gè)為出發(fā)點(diǎn)的需求工作是沒有意義的。即使再難,也只能從涉眾的視角來定義需求,不能貪圖方便選擇一個(gè)自己熟悉的視角應(yīng)付了事。如果允許應(yīng)付了事,我還有更好的絕招:我就是程序,程序就是我。你問我,某某系統(tǒng)的需求是什么?我回答:就是0和1的組合。對(duì)嗎?對(duì)得不得了。可惜,這種正確而無用的廢話,對(duì)做出好賣的系統(tǒng)沒有幫助。29CRUD問題如何避免這樣的錯(cuò)誤,慢慢學(xué)會(huì)“說人話”呢?老老實(shí)實(shí)去研究業(yè)務(wù)流程,做好業(yè)務(wù)建模,盡量從業(yè)務(wù)序列圖中映射出系統(tǒng)用例,這樣得到的系統(tǒng)用例是不會(huì)騙人的。新增、修改、刪除、查詢、管理、改變狀態(tài)...這些詞是數(shù)據(jù)庫(kù)(或面向?qū)ο螅├锏摹傍B語(yǔ)”,不是領(lǐng)域里的“人話”。業(yè)務(wù)流程中不會(huì)有人說,小張等一下,我到系統(tǒng)哪里去做一下發(fā)票管理,只會(huì)說,我去開一張發(fā)票,我去作廢一張發(fā)票,我去開一張紅字發(fā)票...而且,這些事情以不同的頻率發(fā)生在不同的業(yè)務(wù)流程中。30CRUD問題31【需求步驟2-2】識(shí)別系統(tǒng)用例業(yè)務(wù)序列圖中,從外部指向所研究系統(tǒng)的消息,可以映射為該系統(tǒng)的用例。32【需求步驟2-2】識(shí)別系統(tǒng)用例33主執(zhí)行者和輔執(zhí)行者上圖中有的箭頭是從執(zhí)行者指向用例,這樣的執(zhí)行者稱為用例的主執(zhí)行者,有的箭頭是從用例指向執(zhí)行者,這樣的執(zhí)行者稱為用例的輔執(zhí)行者。主執(zhí)行者主動(dòng)發(fā)起用例的交互,輔執(zhí)行者在交互的過程中被動(dòng)參與進(jìn)來,但是,這兩者都是達(dá)到用例的目標(biāo)所需要的。上圖中,如果指紋采集儀壞掉了,采集犯人指紋的用例就不能成功,只不過這個(gè)用例不是指紋采集儀首先發(fā)起而已。UML標(biāo)準(zhǔn)中,執(zhí)行者和用例之間沒有要求使用箭頭,但我認(rèn)為加上箭頭表示主輔執(zhí)行者是有意義的。34主執(zhí)行者和輔執(zhí)行者關(guān)于輔執(zhí)行者,最常見的誤用是把箭頭誤解成數(shù)據(jù)傳送的方向,例如,在一個(gè)電網(wǎng)調(diào)度系統(tǒng)有這么一個(gè)用例,每隔一個(gè)時(shí)間周期,系統(tǒng)會(huì)顯示實(shí)時(shí)拓?fù)鋱D給調(diào)度人員看。建模人員就認(rèn)為既然“系統(tǒng)顯示給調(diào)度人員看”,應(yīng)該畫一個(gè)箭頭指向調(diào)度人員,就像有一道光線從電腦屏幕射向調(diào)度人員的眼睛。35主執(zhí)行者和輔執(zhí)行者36主執(zhí)行者和輔執(zhí)行者如果時(shí)間要引發(fā)系統(tǒng)顯示拓?fù)鋱D,需要調(diào)度人員幫忙,實(shí)際并非如此,調(diào)度人員睡著了或者因突發(fā)心臟病倒下,不影響系統(tǒng)按照時(shí)間周期不斷顯示拓?fù)鋱D。37主執(zhí)行者和輔執(zhí)行者38主執(zhí)行者和輔執(zhí)行者營(yíng)業(yè)員使用營(yíng)業(yè)受理系統(tǒng)為儲(chǔ)戶轉(zhuǎn)賬,在用例交互過程中,需要儲(chǔ)戶配合輸入賬戶密碼,否則轉(zhuǎn)賬用例不能成功,所以儲(chǔ)戶是合適的輔執(zhí)行者。一般來說,輔執(zhí)行者是人肉系統(tǒng)(例如圖5-6中的儲(chǔ)戶)的情況比較少,更多情況下,輔執(zhí)行者是另一個(gè)非人智能系統(tǒng)。39玩弄復(fù)用40玩弄復(fù)用業(yè)務(wù)序列圖應(yīng)該得到右邊的四個(gè)用例,但有的開發(fā)人員會(huì)動(dòng)起心思:這些實(shí)現(xiàn)起來不都是針對(duì)“缺陷”表來“Select×××from缺陷where×××”嗎,合并成一個(gè)用例“檢索缺陷”多好!于是得到左邊的結(jié)果。實(shí)際上,右邊這四個(gè)用例面對(duì)的執(zhí)行者不同,背后的涉眾利益也有差別。41玩弄復(fù)用用例是涉眾愿意“購(gòu)買”的、對(duì)系統(tǒng)的一種“用法”,只要涉眾愿意“購(gòu)買”,當(dāng)然是越多越好。同樣的制作材料,變出更多可賣的功能,說明你的設(shè)計(jì)能力強(qiáng),制作成本低,何樂而不為?可惜開發(fā)人員經(jīng)常會(huì)犯傻,不自覺地合并用例,相當(dāng)于告訴涉眾說,你真笨,你買我這些功能,其實(shí)我只用了同樣幾個(gè)類靈活組裝出來。干脆,你成本價(jià)把我的零件買走,自己去組裝吧!顧客不樂意買,開發(fā)人員也賺不到錢。42玩弄復(fù)用43玩弄復(fù)用44玩弄復(fù)用45玩弄復(fù)用46玩弄復(fù)用從“賣”的角度來看,這是系統(tǒng)的三種不同用法,背后的涉眾利益也不同??蛻粼诩依锿ㄟ^網(wǎng)絡(luò)投保,操心的是“可別上當(dāng)”;客戶代表錄入自己代理的客戶的保單時(shí),操心的是“傭金要高”;錄單員面對(duì)堆積如山的待錄入保單,操心的是“省力一點(diǎn)”。這些不同,不能用“都是往數(shù)據(jù)庫(kù)的保單表里插入一條記錄啊”這樣的理由合并。47玩弄層次48玩弄層次“高層”實(shí)際上是頭腦里不知不覺偷換了研究對(duì)象,把“醫(yī)院系統(tǒng)”的契約換成了“醫(yī)院”的契約。還有下面這個(gè)49玩弄層次50玩弄“子系統(tǒng)”用例很多時(shí),可以將用例分

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論