編寫有效用例

出版時(shí)間:2012-5  出版社:電子工業(yè)出版社  作者:科伯恩  頁數(shù):340  
Tag標(biāo)簽:無  

前言

  前  言  為了描述行為需求、軟件系統(tǒng)或業(yè)務(wù)流程,用例正在被越來越多的人所使用。初聽起來,編寫用例似乎是件很容易的事--只需要寫清楚如何使用系統(tǒng)就可以了。但是,當(dāng)提筆編寫時(shí),首先碰到的問題就是:“到底應(yīng)該寫些什么?多寫一些,還是少寫一些,詳細(xì)程度如何?”這些問題確實(shí)很難回答。編寫用例就像寫散文一樣,全部困難在于既要采用一般的寫作方式,又要具有完美的表達(dá)能力。很難說什么樣的用例是好用例,但是我們卻可以去考慮:如何去寫,才能寫出好用例?! ”緯o出了我在用例編寫和培訓(xùn)中總結(jié)出的一些指導(dǎo)性原則:應(yīng)該如何思考、觀察需要的內(nèi)容,最終寫出更好的用例和用例集。  本書還給出了大量的例子,既有好的用例,也有不好的用例,以及在不同情況下的編寫方式。最重要的是要記住,我們需要的是有用的用例,而不必是一個(gè)最好的用例。有時(shí)即使是很平常的用例也很有用,甚至遠(yuǎn)勝于編寫許多需求文檔。所以無須太緊張,只要寫出的東西可讀,就說明你已經(jīng)做出了貢獻(xiàn)?! ”緯淖x者  本書主要是針對(duì)工業(yè)界專業(yè)人員自學(xué)而編寫的,因此在組織方式上也有所側(cè)重,就像一本自學(xué)指南。本書由淺入深,每一部分都包括概念、示例、提示和練習(xí)(部分答案)。  編寫用例的培訓(xùn)教師應(yīng)給出適當(dāng)?shù)慕忉尯褪纠?,課程設(shè)計(jì)人員可以圍繞本書設(shè)計(jì)課程資料,在必要時(shí)作為指定讀物發(fā)布(由于我對(duì)許多練習(xí)都給出了答案,因此他們必須編寫屬于自己的考試材料)。  本書的組織  本書首先概要地介紹了用例的概念,之后對(duì)用例體部分進(jìn)行了詳細(xì)闡述,然后是常見的問題,對(duì)忙于編寫用例的人的提示,以及最后的注意事項(xiàng)。  “引言”部分對(duì)重要的概念進(jìn)行了介紹,依次討論了以下問題:“用例是什么樣的?”、“何時(shí)編寫用例?”和“什么樣的用例是合法的?”。所有問題的答案都是根據(jù)具體情況(如時(shí)間、地點(diǎn)、人員及編寫的理由等)來確定的。關(guān)于這幾個(gè)問題的討論雖從本部分開始,但實(shí)際上貫穿本書。  “第一部分,用例體部分”,由多個(gè)章節(jié)組成,分別闡述了需要掌握的重要概念,以及應(yīng)編寫的模板。具體章節(jié)為“用例是規(guī)范行為的契約”、“范圍”、“項(xiàng)目相關(guān)人員和執(zhí)行者”、“三個(gè)命名的目標(biāo)層次”、“前置條件、觸發(fā)事件和保證”、“場(chǎng)景和步驟”、“擴(kuò)展”、“技術(shù)和數(shù)據(jù)的變化”、“連接用例”和“用例格式”。  “第二部分,經(jīng)常討論的主題”,列舉了反復(fù)出現(xiàn)的特殊問題:“什么時(shí)候才算完成”、“擴(kuò)展到多個(gè)用例”、“CRUD和參數(shù)化用例”、“業(yè)務(wù)過程建模”、“遺漏的需求”、“用例在整個(gè)過程中的作用”、“用例概述和極端編程”和“錯(cuò)誤改正”?! ?ldquo;第三部分,對(duì)忙于編寫用例的人的提示”,包含了一組提示,針對(duì)那些已經(jīng)閱讀完本書,或者已經(jīng)了解這些資料,想要回顧一下關(guān)鍵概念的人們。這部分結(jié)構(gòu)如下:“對(duì)每個(gè)用例的提示”、“對(duì)用例集的提示”和“處理用例的提示”?! ”緯?個(gè)附錄:附錄A討論了“UML中的用例”,附錄B包括“部分習(xí)題的答案”。最后是附錄C(術(shù)語表)和附錄D(參考文獻(xiàn)),即撰寫本書時(shí)使用的資料列表?! ≈形陌鏁杏喛谔幍?ldquo; “表示英文版原書頁碼,便于讀者與原書對(duì)照閱讀,本書的索引所列頁碼為原英文版頁碼。  本書概念的來源  在20世紀(jì)60年代后期,Ivar Jacobson在愛立信公司電話系統(tǒng)工作時(shí)提出了后來成為眾所周知的”用例“。在20世紀(jì)80年代后期,他將用例引入了面向?qū)ο缶幊填I(lǐng)域,在這里人們認(rèn)識(shí)到用例可以填補(bǔ)需求分析過程中一個(gè)明顯的空白。我在20世紀(jì)90年代初參加了Jacobson的課程,他和他的小組沒用我所使用的目標(biāo)(goal)和目標(biāo)失敗(goal failure)這兩個(gè)詞,但最后我終于知道他們?cè)?jīng)使用過類似的概念。經(jīng)過幾次比較,他和我都發(fā)現(xiàn)我們兩個(gè)模型之間沒有顯著的區(qū)別。我慢慢地根據(jù)最近的想法擴(kuò)展了他的模型?! ≡?994年我為IBM顧問組編寫用例指南時(shí),建立了執(zhí)行者(actor)和目標(biāo)(goal)概念模型。從而把用例中一些難以理解的事情解釋清楚了,并且為如何構(gòu)造和編寫用例提供了指導(dǎo)。從1995年開始,執(zhí)行者和目標(biāo)模型就在http://members.aol.com/acockburn及后來的www.usecases.org中正式使用,最后出現(xiàn)在1997年Journal of Object Oriented Programming上我寫的一篇文章中,題為”構(gòu)造帶目標(biāo)的用例“?! ?994到1999年,盡管在理論上還有幾個(gè)松散的分支,但用例模型的概念基本保持穩(wěn)定。在教授和指導(dǎo)過程中,我終于明白了人們?yōu)槭裁丛诤?jiǎn)單的概念上花費(fèi)了大量時(shí)間(我竟然從來沒想到,我第一次嘗試時(shí)也犯過很多同樣的錯(cuò)誤?。?。這些想法,加上”執(zhí)行者和目標(biāo)“模型中一些不合理之處,產(chǎn)生了本書及項(xiàng)目相關(guān)人員(stakeholder)和利益(interest)模型,該模型是本書提出的一個(gè)新概念?! 〗y(tǒng)一建模語言(UML)對(duì)這些概念沒什么影響,反之亦然。Jacobson以前的一位同事Gunnar Overgaard編寫了大量UML用例的資料,并且保持了Jacobson的風(fēng)格。然而UML標(biāo)準(zhǔn)開發(fā)組受畫圖工具的影響很大,以至于用例的文本特征在標(biāo)準(zhǔn)中消失了。Gunnar Overgaard 和Ivar Jacobson討論了我提出的概念,并向我保證這些關(guān)于用例的大部分概念都適合放在UML的一個(gè)橢圓圖中,因此既不會(huì)影響UML,也不會(huì)被UML標(biāo)準(zhǔn)所提出的概念影響。這意味著你可以使用本書的概念,并與UML1.3用例標(biāo)準(zhǔn)兼容。另一方面,如果你只讀了UML標(biāo)準(zhǔn),由于它根本沒有討論用例的內(nèi)容及如何去編寫,那么你也不知道用例到底是什么、如何使用,并且還可能產(chǎn)生一個(gè)危險(xiǎn)的想法,即用例由圖形而不是文本構(gòu)成的。本書的目的是告訴你如何編寫有效的用例,而標(biāo)準(zhǔn)很少談及這些,因此我把對(duì)UML的評(píng)述單獨(dú)放在附錄A中?! ”緯玫膶?shí)例  本書編寫的實(shí)例盡可能取自實(shí)際項(xiàng)目,并且有些實(shí)例看起來可能不太完美。我所要說明的是,這些實(shí)例對(duì)項(xiàng)目組的需求來說已經(jīng)足夠了,并且用例編寫過程中的那些不完美之處是在誤差和經(jīng)濟(jì)允許的范圍內(nèi)?! ddison-Wesley的編輯們說服我把這些實(shí)例從原有形式中整理出來,以強(qiáng)調(diào)它們正確的形式,而不是它們實(shí)際的和可用的形式。希望你通過閱讀這些實(shí)例發(fā)現(xiàn)一些有用之處,并了解項(xiàng)目中的實(shí)際編寫過程。你可以應(yīng)用我在這些實(shí)例中采用的一些原則,并找到改進(jìn)它們的方法。這種事情經(jīng)常發(fā)生,因?yàn)楦倪M(jìn)一個(gè)人編寫的實(shí)例是一件永無止境的事情,所以我接受這個(gè)挑戰(zhàn)和任何批評(píng)意見。  《軟件專業(yè)人員集錦》中的用例  《軟件專業(yè)人員集錦》(The Crystal Collection for Software Professionals)只是圖書選集之一,強(qiáng)調(diào)了一直被忽略的、發(fā)揮人能動(dòng)性的軟件開發(fā)技術(shù)。其中一些書討論了某種技術(shù),一些書討論了項(xiàng)目中的角色,一些書討論了開發(fā)組協(xié)作的觀點(diǎn)?! ?ldquo;集錦”遵循下面兩個(gè)原則。  軟件開發(fā)是創(chuàng)造和交流相互作用的游戲。當(dāng)我們提高開發(fā)人員的個(gè)人技術(shù)和開發(fā)組協(xié)作效率時(shí),它得到了改進(jìn)。  不同的項(xiàng)目有不同的需求。系統(tǒng)有不同的特征,由大小不同的開發(fā)組研制,并且開發(fā)組成員有著不同的價(jià)值觀,優(yōu)先考慮的事情也不同。因此不可能定義一個(gè)最好的軟件開發(fā)方法?! ?ldquo;集錦”中的基礎(chǔ)讀物--Software Development as a Cooperative Game,詳細(xì)描述了這樣一些觀點(diǎn):軟件開發(fā)是一種合作游戲,方法學(xué)是一種合作文化,以及方法學(xué)系列化。該書分別對(duì)方法學(xué)的不同側(cè)面、技術(shù)與活動(dòng)、工作產(chǎn)品和標(biāo)準(zhǔn)進(jìn)行了討論。用例所需要討論的精髓出現(xiàn)在本書的1.2節(jié)“你的用例不能作為我的用例”。  本書是一本技術(shù)指南,描述了用例編寫過程。盡管你可以在幾乎所有項(xiàng)目中使用這些技術(shù),但是必須根據(jù)每個(gè)項(xiàng)目的實(shí)際需要選擇模板和編寫標(biāo)準(zhǔn)。

內(nèi)容概要

Jolt大獎(jiǎng)素有“軟件業(yè)之奧斯卡”的美稱,本叢書精選自Jolt歷屆獲獎(jiǎng)圖書,以植根于開發(fā)實(shí)踐中的獨(dú)到工程思想與杰出方法論為主要甄選方向。本書作者Alistair
Cockburn,憑借自己在面向?qū)ο箢I(lǐng)域的豐富經(jīng)驗(yàn),并參考其他專家的建議,擴(kuò)展了典型的用例處理方法,為軟件開發(fā)人員編寫用例提供了一種“基本、具體和實(shí)用的”指南。本書完整地?cái)⑹隽擞嘘P(guān)用例的初、中、高級(jí)概念,并提供了大量的、正反兩方面的用例編寫實(shí)例,是一本概念清晰、結(jié)構(gòu)完整、內(nèi)容豐富的專業(yè)圖書。
本書榮獲2001年Jolt世界圖書大獎(jiǎng),適用于不同知識(shí)層次的軟件工作、研究人員和用例編寫人員。

作者簡(jiǎn)介

作者:(美國(guó))科伯恩(Alistair Cockburn) 譯者:王雷 張莉  科伯恩(Alistair Cockburn)是用例方面的一位著名專家。他是Humans and Technology的資深顧問,在那里他負(fù)責(zé)幫助雇員在面向?qū)ο箜?xiàng)目上獲得成功。在保險(xiǎn)、零售和電子商務(wù)公司,以及在大公司,例如挪威中央銀行和IBM,他有二十多年主持硬件和軟件開發(fā)項(xiàng)目的經(jīng)驗(yàn)。他也是Surviving Object—Oriented Projects(Addison—Wesley,1998)一書的作者。 王雷,北京航空航天大學(xué)計(jì)算機(jī)學(xué)院副教授,從事操作系統(tǒng)、軟件工程和過程工程等方面的研究工作。曾獲部級(jí)科技進(jìn)步二等獎(jiǎng)、三等獎(jiǎng)各一項(xiàng)。 張莉,北京航空航天大學(xué)計(jì)算機(jī)學(xué)院教授,軟件工程研究所副所長(zhǎng)。計(jì)算機(jī)學(xué)會(huì)軟件工程專家委員會(huì)委員、教育專家委員會(huì)副主任、中國(guó)電子學(xué)會(huì)云計(jì)算專家委員會(huì)委員、國(guó)際信息處理聯(lián)盟(IFIP)成員、歐洲國(guó)際企業(yè)互操作虛擬實(shí)驗(yàn)室(V—Lab)成員。

書籍目錄

第1章 引言1
1.1 用例是什么(梗概)1
用例1 通過網(wǎng)絡(luò)購買股票 3
用例2 汽車交通事故索賠 5
用例3 對(duì)運(yùn)到的包裝箱進(jìn)行登記 6
1.2 你的用例不能作為我的用例7
用例4 買東西(非正式版本) 10
用例5 買東西(完整正式版本) 10
◆ Steve Adolph:在新領(lǐng)域中“發(fā)掘”需求14
1.3 需求和用例15
圖1-1 “輪軸和輪輻”需求模型17
用例作為項(xiàng)目連接結(jié)構(gòu)18
1.4 用例的增值點(diǎn)18
1.5 合理安排你的精力19
1.6 先用使用敘述做熱身21
1.7 練習(xí)22
第1部分 用例體部分
第2章 用例是規(guī)范行為的契約27
2.1 具有目標(biāo)的執(zhí)行者之間的交互27
執(zhí)行者具有目標(biāo)27
圖2-1 一個(gè)具有目標(biāo)的執(zhí)行者請(qǐng)求另一個(gè)執(zhí)行者履行職責(zé)28
目標(biāo)可能失敗29
交互是復(fù)雜的30
用例聚集場(chǎng)景33
圖2-2 條形褲:成功和失敗場(chǎng)景33
圖2-3 在條形褲中展示子目標(biāo)的小條形褲34
2.2 涉及利益的項(xiàng)目相關(guān)人員之間的契約35
圖2-4 SuD為主執(zhí)行者提供服務(wù),同時(shí)維護(hù)幕后項(xiàng)目
相關(guān)人員的利益36
2.3 圖形模型37
圖2-5 執(zhí)行者和項(xiàng)目相關(guān)人員38
圖2-6 行為38
圖2-7 用例是職責(zé)的激發(fā)者39
圖2-8 作為組合的交互39
第3章 范圍41
表3-1 “內(nèi)/外”列表41
3.1 功能范圍42
“執(zhí)行者?目標(biāo)”列表42
表3-2 “執(zhí)行者?目標(biāo)”列表43
用例簡(jiǎn)述43
表3-3 用例簡(jiǎn)述44
3.2 設(shè)計(jì)范圍44
◆ 一個(gè)簡(jiǎn)短而真實(shí)的故事45
圖3-1 設(shè)計(jì)范圍的大小是任意的46
用圖標(biāo)來突出設(shè)計(jì)范圍46
設(shè)計(jì)范圍示例47
(1)企業(yè)系統(tǒng)范圍47
用例6 增加新服務(wù)(企業(yè)) 48
用例7 增加新服務(wù)(Acura) 49
(2)一個(gè)應(yīng)用程序?qū)?yīng)多臺(tái)計(jì)算機(jī)49
用例8 輸入和修改請(qǐng)求(聯(lián)合系統(tǒng)) 50
用例9 添加新服務(wù)(給Acura添加) 50
用例10 通知新服務(wù)請(qǐng)求(BSSO中) 51
用例11 更新服務(wù)請(qǐng)求(BSSO中) 51
用例12 通知更新后的服務(wù)請(qǐng)求(Acura中) 51
(3)基本用例51
圖3-2 Acura-BSSO的用例圖52
圖3-3 Acura-BSSO的一組用例圖52
用例13 資源的串行存取 53
用例14 實(shí)施資源鎖轉(zhuǎn)換政策 54
用例15 實(shí)施存取兼容性政策 55
用例16 實(shí)施存取選擇政策 56
用例17 令服務(wù)客戶等待獲得資源存取權(quán)限 56
3.3 最外層用例57
3.4 使用范圍確定的工作產(chǎn)品59
3.5 練習(xí)60
第4章 項(xiàng)目相關(guān)人員和執(zhí)行者61
4.1 項(xiàng)目相關(guān)人員61
◆ 一個(gè)簡(jiǎn)短而真實(shí)的故事62
4.2 主執(zhí)行者62
主執(zhí)行者為什么有時(shí)是不重要的(而有時(shí)又是重要的)63
在開始用例編寫時(shí)64
在用例編寫和設(shè)計(jì)過程中64
設(shè)計(jì)之后,準(zhǔn)備配置系統(tǒng)時(shí)66
執(zhí)行者與角色66
統(tǒng)一建模語言(UML)圖和執(zhí)行者/角色規(guī)格說明67
刻畫主執(zhí)行者的特點(diǎn)67
表4-1 “執(zhí)行者概況”表示例68
4.3 輔助執(zhí)行者68
4.4 被討論系統(tǒng)68
4.5 內(nèi)部執(zhí)行者和白盒用例69
4.6 練習(xí)69
第5章 三個(gè)命名的目標(biāo)層次71
圖5-1 用例層次72
5.1 用戶目標(biāo)(藍(lán)色,海平面 )72
◆ 一個(gè)簡(jiǎn)短而真實(shí)的故事74
藍(lán)色的兩個(gè)層次74
5.2 概要層次(白色,云朵 /風(fēng)箏 )75
用例18 操作保險(xiǎn)單+ 75
重溫最外層用例的內(nèi)容76
5.3 子功能(靛青色/黑色,海平面以下 蛤 )77
目標(biāo)層次總結(jié)78
5.4 利用圖標(biāo)來突出目標(biāo)層次78
5.5 找出正確的目標(biāo)層次79
找出用戶目標(biāo)80
提升和降低目標(biāo)層次80
圖5-2 通過問“為什么”的問題來轉(zhuǎn)換層次81
5.6 一個(gè)較長(zhǎng)的編寫實(shí)例:“處理索賠”的多層次示范81
用例19 處理索賠(業(yè)務(wù)) 82
用例20 評(píng)估工作補(bǔ)償索賠 84
用例21 處理索賠(系統(tǒng))+ 86
用例22 損失注冊(cè) 88
用例23 查找……(問題陳述) 92
5.7 練習(xí)93
第6章 前置條件、觸發(fā)事件和保證95
6.1 前置條件95
6.2 最小保證97
6.3 成功保證98
6.4 觸發(fā)事件99
6.5 練習(xí)100
第7章 場(chǎng)景和步驟101
7.1 主成功場(chǎng)景101
常見的環(huán)境結(jié)構(gòu)101
場(chǎng)景主體103
7.2 執(zhí)行步驟104
準(zhǔn)則104
準(zhǔn)則1:使用簡(jiǎn)單的語法104
準(zhǔn)則2:明確地寫出“誰控制球”105
準(zhǔn)則3:從系統(tǒng)外部的角度來編寫用例105
準(zhǔn)則4:顯示過程向前推移106
準(zhǔn)則5:顯示執(zhí)行者的意圖,而不是動(dòng)作107
準(zhǔn)則6:包含“合理”的活動(dòng)集108
圖7-1 一個(gè)事務(wù)由4個(gè)部分組成109
準(zhǔn)則7:“確認(rèn)”而不是“檢查是否”110
準(zhǔn)則8:可選擇地提及時(shí)間限制111
準(zhǔn)則9:習(xí)慣用語:“用戶讓系統(tǒng)A與系統(tǒng)B交互”111
準(zhǔn)則10:習(xí)慣用語:“循環(huán)執(zhí)行步驟x到y(tǒng),直到條件滿足”112
編號(hào)或不編號(hào)113
7.3 練習(xí)114
第8章 擴(kuò)展117
8.1 擴(kuò)展的基礎(chǔ)117
8.2 擴(kuò)展條件118
集中討論所有可能的失敗和可選擇的過程120
準(zhǔn)則11:用“檢測(cè)到什么”的方式來編寫條件121
◆ 一個(gè)真實(shí)的、令人不快的小故事122
關(guān)于集中討論列表123
擴(kuò)展列表的合理化123
逐層合并失敗124
8.3 擴(kuò)展處理125
準(zhǔn)則12:條件處理的縮排方式127
失敗的嵌套128
從擴(kuò)展中創(chuàng)建新用例129
8.4 練習(xí)130
第9章 技術(shù)和數(shù)據(jù)的變化131
圖9-1 在UML中使用具體化方式表現(xiàn)技術(shù)變化132
第10章 連接用例133
10.1 子用例133
10.2 擴(kuò)展用例133
圖10-1 擴(kuò)展用例的UML圖135
什么時(shí)候使用擴(kuò)展用例136
10.3 練習(xí)137
擴(kuò)展用例137
第11章 用例格式139
11.1 供選擇的格式139
完整正式的用例格式139
用例24 完整正式的用例模板<名字>139
非正式用例格式140
用例25 實(shí)際登錄(非正式版本) 140
單列表格格式141
表11-1 用例的單列表格格式141
雙列表格格式142
表11-2 雙列表格142
RUP格式143
用例26 登記課程 144
條件語句格式147
Occam格式147
圖形方式148
UML用例圖149
11.2 影響用例書寫格式的因素149
矛盾的因素:業(yè)務(wù)環(huán)境、社會(huì)作用、不同文化150
理解層次150
項(xiàng)目相關(guān)人員的要求150
經(jīng)驗(yàn)與格式151
覆蓋面151
一致性151
復(fù)雜度152
沖突152
完整性152
目標(biāo)與任務(wù)——完成什么與怎樣完成153
資源153
其他因素153
11.3 5種項(xiàng)目類型的標(biāo)準(zhǔn)153
需求了解階段用例154
用例27 需求了解用例模板——Oble a New Biscum 154
業(yè)務(wù)過程建模用例155
用例28 業(yè)務(wù)過程用例模板——Symp a Carstromming 155
確定系統(tǒng)需求用例規(guī)模156
用例29 確定系統(tǒng)需求用例規(guī)模模板——
Burble the Tramling 156
短期、高強(qiáng)度的項(xiàng)目用例157
用例30 高強(qiáng)度項(xiàng)目用例模板——Kree a Ranfath 157
詳細(xì)功能需求用例158
用例31 用例名字——Nathorize a Permion 158
11.4 總結(jié)159
11.5 練習(xí)159
第2部分 經(jīng)常討論的主題
第12章 什么時(shí)候才算完成163
關(guān)于“正在完成”164
第13章 擴(kuò)展到多個(gè)用例165
簡(jiǎn)單描述每個(gè)用例(低精度表示)165
創(chuàng)建用例簇165
第14章 CRUD和參數(shù)化用例167
14.1 CRUD用例167
用例32 管理報(bào)表用例 168
用例33 存儲(chǔ)報(bào)表用例 170
14.2 參數(shù)化用例173
第15章 業(yè)務(wù)過程建模177
15.1 建模與設(shè)計(jì)177
從核心業(yè)務(wù)178
圖15-1 核心業(yè)務(wù)黑盒179
圖15-2 白盒用例中的新業(yè)務(wù)設(shè)計(jì)179
從業(yè)務(wù)過程到技術(shù)179
圖15-3 白盒用例中的新業(yè)務(wù)設(shè)計(jì)(又一次)180
圖15-4 帶黑盒系統(tǒng)用例的新業(yè)務(wù)過程180
從技術(shù)到業(yè)務(wù)過程181
15.2 業(yè)務(wù)用例和系統(tǒng)用例181
◆ Rusty Walters:業(yè)務(wù)建模和系統(tǒng)需求183
第16章 遺漏的需求185
16.1 數(shù)據(jù)需求的精度186
16.2 從用例到其他需求的交叉鏈接188
圖16.1 翻新圖1.1,“輪軸和輪輻”需求模型188
第17章 用例在整個(gè)過程中的作用191
17.1 用例在項(xiàng)目組織中的作用191
通過用例標(biāo)題進(jìn)行組織191
表17-1 規(guī)劃表示例192
◆ 一個(gè)真實(shí)的小故事192
跨版本處理用例193
交付完整場(chǎng)景194
◆ 一個(gè)短而真實(shí)的集成實(shí)例194
17.2 從用例到任務(wù)或特征列表194
用例34: 獲得折扣 196
表17-2 “獲得折扣”任務(wù)列表197
17.3 從用例到設(shè)計(jì)197
◆ 一個(gè)真實(shí)的小故事199
面向?qū)ο螅∣O)設(shè)計(jì)者特別注意199
17.4 用例到用戶界面(UI)設(shè)計(jì)201
17.5 用例到測(cè)試用例202
用例35: 訂購商品,產(chǎn)生發(fā)貨單(測(cè)試?yán)樱?202
表17-3 主要成功場(chǎng)景測(cè)試(好信用)203
表17-4 主要成功場(chǎng)景測(cè)試(壞信用)203
17.6 實(shí)際用例編寫203
分工合作過程204
第1階段:制定粗略的系統(tǒng)功能圖204
第2階段:制定詳細(xì)用例視圖206
用例需要的平均時(shí)間208
從大型團(tuán)隊(duì)中收集用例208
◆ Andy Kraus:從龐大、不同層次的團(tuán)隊(duì)收集用例209
第18章 用例概述和極端編程213
第19章 錯(cuò)誤改正215
19.1 沒有系統(tǒng)215
19.2 沒有主執(zhí)行者216
19.3 過多的用戶接口細(xì)節(jié)217
19.4 過低的目標(biāo)層次218
19.5 目標(biāo)和內(nèi)容不符220
19.6 用戶接口描述過多的改進(jìn)實(shí)例221
用例36: 尋找一種解決方案——修改前 221
用例37: 尋找可能的解決方案——修改后 226
第3部分 對(duì)忙于編寫用例的人的提示
第20章 對(duì)每個(gè)用例的提示233
提示1:每個(gè)用例都是一篇散文233
提示2:使用例易于閱讀233
提示3:僅用一種句型234
提示4:“包含”子用例235
提示5:誰控制著球235
提示6:正確地得到目標(biāo)層236
圖20-1 問“為什么”以提高層次237
提示7:不考慮GUI237
提示8:兩個(gè)結(jié)局238
提示9:項(xiàng)目相關(guān)人員需要的保證238
提示10:前置條件240
提示11:對(duì)用例進(jìn)行通過/失敗測(cè)試240
表20-1 對(duì)用例進(jìn)行通過/失敗測(cè)試241
第21章 對(duì)用例集的提示243
提示12:一個(gè)不斷展開的故事243
提示13:業(yè)務(wù)范圍和系統(tǒng)范圍244
提示14:核心價(jià)值和變化244
核心價(jià)值245
適當(dāng)?shù)母淖?46
不合適的改變247
提示15:用例集中的質(zhì)量問題248
第22章 處理用例的提示249
提示16:僅僅有3章(第4章在哪兒呢?)249
提示17:首先向廣度上努力249
圖22-1 工作隨著細(xì)化而增加250
提示18:12步秘訣251
提示19:認(rèn)識(shí)到錯(cuò)誤的開銷252
提示20:喜歡藍(lán)色牛仔褲252
提示21:處理失敗情況253
提示22:前期和后期的工作標(biāo)題254
提示23:執(zhí)行者扮演角色255
提示24:大的圖畫惡作劇255
圖22-2 “媽媽,我想回家?!?56
圖22-3 橢圓圖形式的語境圖257
表22-1 語境圖的執(zhí)行者?目標(biāo)列表257
提示25:大型工具的爭(zhēng)論257
提示26:使用標(biāo)題和簡(jiǎn)介的項(xiàng)目計(jì)劃259
附錄A UML中的用例261
A.1 橢圓和“小人”圖符261
A.2 UML中的包含關(guān)系262
圖A-1 包含關(guān)系的畫法262
準(zhǔn)則13:將高層目標(biāo)畫得高一點(diǎn)263
A.3 UML的擴(kuò)展關(guān)系263
圖A-2 擴(kuò)展關(guān)系的畫法264
準(zhǔn)則14:將擴(kuò)展用例畫得低一些264
準(zhǔn)則15:用不同的箭頭形狀264
正確地使用擴(kuò)展265
圖A-3 擴(kuò)展一個(gè)基用例的三個(gè)中斷用例265
擴(kuò)展點(diǎn)266
A.4 UML的泛化關(guān)系267
正確地使用泛化關(guān)系267
圖A-4 泛化關(guān)系的畫法。268
準(zhǔn)則16:將泛化目標(biāo)畫得高一點(diǎn)268
泛化的危害269
圖A-5 泛化的危害——終止大交易269
圖A-6 改正后的終止大交易270
A.5 從屬用例與子用例270
A.6 用例圖的畫法271
準(zhǔn)則17:語境圖中的用戶目標(biāo)271
準(zhǔn)則18:將支持執(zhí)行者放在右邊271
A.7 代之以編寫基于文本的用例272
附錄 B 部分習(xí)題的答案273
第3章273
練習(xí)3.1273
練習(xí)3.2273
第4章274
練習(xí)4.2274
練習(xí)4.3275
第5章275
練習(xí)5.1275
練習(xí)5.2276
第6章276
練習(xí)6.1276
練習(xí)6.4277
第7章277
練習(xí)7.1277
練習(xí)7.2278
練習(xí)7.4278
用例38 使用訂單處理系統(tǒng) 279
第8章279
練習(xí)8.1279
練習(xí)8.5280
用例39 在網(wǎng)上買股票 280
第11章281
練習(xí)11.1281
用例40 執(zhí)行清潔火花塞服務(wù) 281
附錄 C 術(shù)語表283
主要術(shù)語283
用例類型(Use Case Type)285
圖形286
附錄D 參考讀物289
本書參考了以下書籍289
本書參考了以下文章289
有用的在線資源290
索引291

章節(jié)摘錄

版權(quán)頁:   插圖:   可以采用多種方法來處理這個(gè)角色片段,每種方法都各有優(yōu)缺點(diǎn)。哪種方法都沒有明顯的優(yōu)勢(shì),你從中選擇其一就可以了。 可選策略1。根據(jù)主執(zhí)行者擔(dān)當(dāng)?shù)慕巧珌韺?duì)它們進(jìn)行分解。創(chuàng)建一個(gè)“執(zhí)行者—角色”表,在表中列舉出在任一用例中充當(dāng)主執(zhí)行者的所有不同的人和系統(tǒng),以及他們擔(dān)當(dāng)?shù)乃薪巧?。在主?zhí)行者域使用角色名稱。使用“執(zhí)行者—角色”表將用例與現(xiàn)實(shí)世界中的人和系統(tǒng)對(duì)應(yīng)起來。 這種策略能使編寫者不必顧及錯(cuò)綜復(fù)雜的工作頭銜,而只專注于繼續(xù)用例的編寫工作。有些人,或許是用戶界面設(shè)計(jì)者或軟件打包人員,會(huì)利用“執(zhí)行者—角色”表來將用例同其最終用戶對(duì)應(yīng)起來??蛇x策略1帶來的一個(gè)不便之處是需要單獨(dú)維護(hù)和閱讀一個(gè)列表。 可選策略2。在用例部分前的某個(gè)地方,書寫:“經(jīng)理可以執(zhí)行職員可以執(zhí)行的任何用例,并且經(jīng)理還可以執(zhí)行其他更多的用例。區(qū)域經(jīng)理可以執(zhí)行經(jīng)理可以執(zhí)行的任何用例,并且區(qū)域經(jīng)理還可以執(zhí)行其他更多的用例。因此,每當(dāng)我們寫主執(zhí)行者是(例如)職員時(shí),應(yīng)該理解為任何職位比職員高的人——本例中,經(jīng)理和區(qū)域經(jīng)理都可以執(zhí)行該用例?!?這種做法比“執(zhí)行者—角色”表容易維護(hù),因?yàn)樗兓目赡苄圆淮蟆_@種方法的缺點(diǎn)是,人們需要花更多的時(shí)間來互相提醒當(dāng)職員作為主執(zhí)行者時(shí),經(jīng)理也可以運(yùn)行該用例。 利用這兩種策略,人們都可以獲得足夠好的結(jié)果。但要說到值不值的問題,我們會(huì)采用第2種策略,因?yàn)檫@樣可以少去編寫、審查和維護(hù)一項(xiàng)工作產(chǎn)品。

編輯推薦

《編寫有效用例》完整地?cái)⑹隽擞嘘P(guān)用例的初、中、高級(jí)概念,并提供了大量的、正反兩方面的用例編寫實(shí)例,是一本概念清晰、結(jié)構(gòu)完整、內(nèi)容豐富的專業(yè)圖書。有了這本書作為指南,你將了解編寫用例的要點(diǎn),提高你編寫用例的技巧,并且為你下個(gè)項(xiàng)目提供一個(gè)有效使用用例的方法。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    編寫有效用例 PDF格式下載


用戶評(píng)論 (總計(jì)28條)

 
 

  •   1、例子很詳細(xì),如果是初學(xué)者,需要搭配著測(cè)試方法一并學(xué)習(xí)
    2、相當(dāng)于一本技術(shù)指南,描述了用例編寫過程,更像一本理論指導(dǎo)書
    3、可能因?yàn)槭菄?guó)外書籍翻譯過來,思維邏輯與我們不太相同
  •   正在進(jìn)行軟件測(cè)試教育工作,希望獲得更多的靈感。
  •   對(duì)用例介紹很全面,值得細(xì)細(xì)品味
  •   內(nèi)容詳盡。還在讀~對(duì)測(cè)試人員寫好測(cè)試用例很有幫助
  •   軟件設(shè)計(jì)書籍,提供設(shè)計(jì)方法,在軟件設(shè)計(jì)之初的有效分析。
  •   這本書不錯(cuò),對(duì)系統(tǒng)后期的開發(fā)很有用。
  •   寫得非常好,把一般需求人員易犯的錯(cuò)誤和不太注意到的環(huán)節(jié)都講清楚了。
  •   一個(gè)朋友推薦購買的,確實(shí)很實(shí)用
  •   在圖書館借過這本書,看完后決定買一本作為常備參考書。
  •   不錯(cuò)的書,05年就買過,新的印刷的更方便閱讀。
  •   書不錯(cuò),需要慢慢的讀,博文視點(diǎn)的書還都比較有水平。
  •   老公買的,他買的書都經(jīng)過精挑細(xì)選,應(yīng)該沒錯(cuò)
  •   老外寫的書, 應(yīng)該還不錯(cuò)
  •   老外寫的書比較有趣。
  •   書包裝得不錯(cuò),內(nèi)容準(zhǔn)備看了!
  •   已閱讀了 第一章 很好 !
  •   書是先訂購的,訂了之后當(dāng)當(dāng)又更改了出貨日期,這樣不太好吧~~不過書本身是不錯(cuò)的,希望閱讀之后對(duì)用例編寫能力的提高和對(duì)用例的理解有所提高。
  •   正在閱讀,和工作結(jié)合在一起,整體梳理下,不錯(cuò)的圖書
  •   書還不錯(cuò),就是有點(diǎn)舊了
  •   之前有看過電子版的。。
  •   毫無疑問,好書。Top20里面的
  •   還可以!速度夠快!
  •   總體來說,這本是還是名副其實(shí),在用戶需求這塊中,這本書將用例的使用,場(chǎng)景,實(shí)現(xiàn)等,非常不錯(cuò)。滿分
  •   還沒有看,但是估計(jì)應(yīng)該還不錯(cuò)
  •   看了個(gè)大概,有點(diǎn)失望。
  •   編寫有效用例
  •   事情很簡(jiǎn)單,但是非常重要,值得學(xué)習(xí)
  •   提高編程質(zhì)量的利器
 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7