編寫有效用例

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

前言

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

內(nèi)容概要

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

作者簡介

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

書籍目錄

第1章 引言1
1.1 用例是什么(梗概)1
用例1 通過網(wǎng)絡(luò)購買股票 3
用例2 汽車交通事故索賠 5
用例3 對運到的包裝箱進行登記 6
1.2 你的用例不能作為我的用例7
用例4 買東西(非正式版本) 10
用例5 買東西(完整正式版本) 10
◆ Steve Adolph:在新領(lǐng)域中“發(fā)掘”需求14
1.3 需求和用例15
圖1-1 “輪軸和輪輻”需求模型17
用例作為項目連接結(jié)構(gòu)18
1.4 用例的增值點18
1.5 合理安排你的精力19
1.6 先用使用敘述做熱身21
1.7 練習(xí)22
第1部分 用例體部分
第2章 用例是規(guī)范行為的契約27
2.1 具有目標的執(zhí)行者之間的交互27
執(zhí)行者具有目標27
圖2-1 一個具有目標的執(zhí)行者請求另一個執(zhí)行者履行職責(zé)28
目標可能失敗29
交互是復(fù)雜的30
用例聚集場景33
圖2-2 條形褲:成功和失敗場景33
圖2-3 在條形褲中展示子目標的小條形褲34
2.2 涉及利益的項目相關(guān)人員之間的契約35
圖2-4 SuD為主執(zhí)行者提供服務(wù),同時維護幕后項目
相關(guān)人員的利益36
2.3 圖形模型37
圖2-5 執(zhí)行者和項目相關(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í)行者?目標”列表42
表3-2 “執(zhí)行者?目標”列表43
用例簡述43
表3-3 用例簡述44
3.2 設(shè)計范圍44
◆ 一個簡短而真實的故事45
圖3-1 設(shè)計范圍的大小是任意的46
用圖標來突出設(shè)計范圍46
設(shè)計范圍示例47
(1)企業(yè)系統(tǒng)范圍47
用例6 增加新服務(wù)(企業(yè)) 48
用例7 增加新服務(wù)(Acura) 49
(2)一個應(yīng)用程序?qū)?yīng)多臺計算機49
用例8 輸入和修改請求(聯(lián)合系統(tǒng)) 50
用例9 添加新服務(wù)(給Acura添加) 50
用例10 通知新服務(wù)請求(BSSO中) 51
用例11 更新服務(wù)請求(BSSO中) 51
用例12 通知更新后的服務(wù)請求(Acura中) 51
(3)基本用例51
圖3-2 Acura-BSSO的用例圖52
圖3-3 Acura-BSSO的一組用例圖52
用例13 資源的串行存取 53
用例14 實施資源鎖轉(zhuǎn)換政策 54
用例15 實施存取兼容性政策 55
用例16 實施存取選擇政策 56
用例17 令服務(wù)客戶等待獲得資源存取權(quán)限 56
3.3 最外層用例57
3.4 使用范圍確定的工作產(chǎn)品59
3.5 練習(xí)60
第4章 項目相關(guān)人員和執(zhí)行者61
4.1 項目相關(guān)人員61
◆ 一個簡短而真實的故事62
4.2 主執(zhí)行者62
主執(zhí)行者為什么有時是不重要的(而有時又是重要的)63
在開始用例編寫時64
在用例編寫和設(shè)計過程中64
設(shè)計之后,準備配置系統(tǒng)時66
執(zhí)行者與角色66
統(tǒng)一建模語言(UML)圖和執(zhí)行者/角色規(guī)格說明67
刻畫主執(zhí)行者的特點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章 三個命名的目標層次71
圖5-1 用例層次72
5.1 用戶目標(藍色,海平面 )72
◆ 一個簡短而真實的故事74
藍色的兩個層次74
5.2 概要層次(白色,云朵 /風(fēng)箏 )75
用例18 操作保險單+ 75
重溫最外層用例的內(nèi)容76
5.3 子功能(靛青色/黑色,海平面以下 蛤 )77
目標層次總結(jié)78
5.4 利用圖標來突出目標層次78
5.5 找出正確的目標層次79
找出用戶目標80
提升和降低目標層次80
圖5-2 通過問“為什么”的問題來轉(zhuǎn)換層次81
5.6 一個較長的編寫實例:“處理索賠”的多層次示范81
用例19 處理索賠(業(yè)務(wù)) 82
用例20 評估工作補償索賠 84
用例21 處理索賠(系統(tǒng))+ 86
用例22 損失注冊 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章 場景和步驟101
7.1 主成功場景101
常見的環(huán)境結(jié)構(gòu)101
場景主體103
7.2 執(zhí)行步驟104
準則104
準則1:使用簡單的語法104
準則2:明確地寫出“誰控制球”105
準則3:從系統(tǒng)外部的角度來編寫用例105
準則4:顯示過程向前推移106
準則5:顯示執(zhí)行者的意圖,而不是動作107
準則6:包含“合理”的活動集108
圖7-1 一個事務(wù)由4個部分組成109
準則7:“確認”而不是“檢查是否”110
準則8:可選擇地提及時間限制111
準則9:習(xí)慣用語:“用戶讓系統(tǒng)A與系統(tǒng)B交互”111
準則10:習(xí)慣用語:“循環(huán)執(zhí)行步驟x到y(tǒng),直到條件滿足”112
編號或不編號113
7.3 練習(xí)114
第8章 擴展117
8.1 擴展的基礎(chǔ)117
8.2 擴展條件118
集中討論所有可能的失敗和可選擇的過程120
準則11:用“檢測到什么”的方式來編寫條件121
◆ 一個真實的、令人不快的小故事122
關(guān)于集中討論列表123
擴展列表的合理化123
逐層合并失敗124
8.3 擴展處理125
準則12:條件處理的縮排方式127
失敗的嵌套128
從擴展中創(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 擴展用例133
圖10-1 擴展用例的UML圖135
什么時候使用擴展用例136
10.3 練習(xí)137
擴展用例137
第11章 用例格式139
11.1 供選擇的格式139
完整正式的用例格式139
用例24 完整正式的用例模板<名字>139
非正式用例格式140
用例25 實際登錄(非正式版本) 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)境、社會作用、不同文化150
理解層次150
項目相關(guān)人員的要求150
經(jīng)驗與格式151
覆蓋面151
一致性151
復(fù)雜度152
沖突152
完整性152
目標與任務(wù)——完成什么與怎樣完成153
資源153
其他因素153
11.3 5種項目類型的標準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
短期、高強度的項目用例157
用例30 高強度項目用例模板——Kree a Ranfath 157
詳細功能需求用例158
用例31 用例名字——Nathorize a Permion 158
11.4 總結(jié)159
11.5 練習(xí)159
第2部分 經(jīng)常討論的主題
第12章 什么時候才算完成163
關(guān)于“正在完成”164
第13章 擴展到多個用例165
簡單描述每個用例(低精度表示)165
創(chuàng)建用例簇165
第14章 CRUD和參數(shù)化用例167
14.1 CRUD用例167
用例32 管理報表用例 168
用例33 存儲報表用例 170
14.2 參數(shù)化用例173
第15章 業(yè)務(wù)過程建模177
15.1 建模與設(shè)計177
從核心業(yè)務(wù)178
圖15-1 核心業(yè)務(wù)黑盒179
圖15-2 白盒用例中的新業(yè)務(wù)設(shè)計179
從業(yè)務(wù)過程到技術(shù)179
圖15-3 白盒用例中的新業(yè)務(wù)設(shè)計(又一次)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章 用例在整個過程中的作用191
17.1 用例在項目組織中的作用191
通過用例標題進行組織191
表17-1 規(guī)劃表示例192
◆ 一個真實的小故事192
跨版本處理用例193
交付完整場景194
◆ 一個短而真實的集成實例194
17.2 從用例到任務(wù)或特征列表194
用例34: 獲得折扣 196
表17-2 “獲得折扣”任務(wù)列表197
17.3 從用例到設(shè)計197
◆ 一個真實的小故事199
面向?qū)ο螅∣O)設(shè)計者特別注意199
17.4 用例到用戶界面(UI)設(shè)計201
17.5 用例到測試用例202
用例35: 訂購商品,產(chǎn)生發(fā)貨單(測試例子) 202
表17-3 主要成功場景測試(好信用)203
表17-4 主要成功場景測試(壞信用)203
17.6 實際用例編寫203
分工合作過程204
第1階段:制定粗略的系統(tǒng)功能圖204
第2階段:制定詳細用例視圖206
用例需要的平均時間208
從大型團隊中收集用例208
◆ Andy Kraus:從龐大、不同層次的團隊收集用例209
第18章 用例概述和極端編程213
第19章 錯誤改正215
19.1 沒有系統(tǒng)215
19.2 沒有主執(zhí)行者216
19.3 過多的用戶接口細節(jié)217
19.4 過低的目標層次218
19.5 目標和內(nèi)容不符220
19.6 用戶接口描述過多的改進實例221
用例36: 尋找一種解決方案——修改前 221
用例37: 尋找可能的解決方案——修改后 226
第3部分 對忙于編寫用例的人的提示
第20章 對每個用例的提示233
提示1:每個用例都是一篇散文233
提示2:使用例易于閱讀233
提示3:僅用一種句型234
提示4:“包含”子用例235
提示5:誰控制著球235
提示6:正確地得到目標層236
圖20-1 問“為什么”以提高層次237
提示7:不考慮GUI237
提示8:兩個結(jié)局238
提示9:項目相關(guān)人員需要的保證238
提示10:前置條件240
提示11:對用例進行通過/失敗測試240
表20-1 對用例進行通過/失敗測試241
第21章 對用例集的提示243
提示12:一個不斷展開的故事243
提示13:業(yè)務(wù)范圍和系統(tǒng)范圍244
提示14:核心價值和變化244
核心價值245
適當(dāng)?shù)母淖?46
不合適的改變247
提示15:用例集中的質(zhì)量問題248
第22章 處理用例的提示249
提示16:僅僅有3章(第4章在哪兒呢?)249
提示17:首先向廣度上努力249
圖22-1 工作隨著細化而增加250
提示18:12步秘訣251
提示19:認識到錯誤的開銷252
提示20:喜歡藍色牛仔褲252
提示21:處理失敗情況253
提示22:前期和后期的工作標題254
提示23:執(zhí)行者扮演角色255
提示24:大的圖畫惡作劇255
圖22-2 “媽媽,我想回家。”256
圖22-3 橢圓圖形式的語境圖257
表22-1 語境圖的執(zhí)行者?目標列表257
提示25:大型工具的爭論257
提示26:使用標題和簡介的項目計劃259
附錄A UML中的用例261
A.1 橢圓和“小人”圖符261
A.2 UML中的包含關(guān)系262
圖A-1 包含關(guān)系的畫法262
準則13:將高層目標畫得高一點263
A.3 UML的擴展關(guān)系263
圖A-2 擴展關(guān)系的畫法264
準則14:將擴展用例畫得低一些264
準則15:用不同的箭頭形狀264
正確地使用擴展265
圖A-3 擴展一個基用例的三個中斷用例265
擴展點266
A.4 UML的泛化關(guān)系267
正確地使用泛化關(guān)系267
圖A-4 泛化關(guān)系的畫法。268
準則16:將泛化目標畫得高一點268
泛化的危害269
圖A-5 泛化的危害——終止大交易269
圖A-6 改正后的終止大交易270
A.5 從屬用例與子用例270
A.6 用例圖的畫法271
準則17:語境圖中的用戶目標271
準則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)頁:   插圖:   可以采用多種方法來處理這個角色片段,每種方法都各有優(yōu)缺點。哪種方法都沒有明顯的優(yōu)勢,你從中選擇其一就可以了。 可選策略1。根據(jù)主執(zhí)行者擔(dān)當(dāng)?shù)慕巧珌韺λ鼈冞M行分解。創(chuàng)建一個“執(zhí)行者—角色”表,在表中列舉出在任一用例中充當(dāng)主執(zhí)行者的所有不同的人和系統(tǒng),以及他們擔(dān)當(dāng)?shù)乃薪巧?。在主?zhí)行者域使用角色名稱。使用“執(zhí)行者—角色”表將用例與現(xiàn)實世界中的人和系統(tǒng)對應(yīng)起來。 這種策略能使編寫者不必顧及錯綜復(fù)雜的工作頭銜,而只專注于繼續(xù)用例的編寫工作。有些人,或許是用戶界面設(shè)計者或軟件打包人員,會利用“執(zhí)行者—角色”表來將用例同其最終用戶對應(yīng)起來。可選策略1帶來的一個不便之處是需要單獨維護和閱讀一個列表。 可選策略2。在用例部分前的某個地方,書寫:“經(jīng)理可以執(zhí)行職員可以執(zhí)行的任何用例,并且經(jīng)理還可以執(zhí)行其他更多的用例。區(qū)域經(jīng)理可以執(zhí)行經(jīng)理可以執(zhí)行的任何用例,并且區(qū)域經(jīng)理還可以執(zhí)行其他更多的用例。因此,每當(dāng)我們寫主執(zhí)行者是(例如)職員時,應(yīng)該理解為任何職位比職員高的人——本例中,經(jīng)理和區(qū)域經(jīng)理都可以執(zhí)行該用例?!?這種做法比“執(zhí)行者—角色”表容易維護,因為它變化的可能性不大。這種方法的缺點是,人們需要花更多的時間來互相提醒當(dāng)職員作為主執(zhí)行者時,經(jīng)理也可以運行該用例。 利用這兩種策略,人們都可以獲得足夠好的結(jié)果。但要說到值不值的問題,我們會采用第2種策略,因為這樣可以少去編寫、審查和維護一項工作產(chǎn)品。

編輯推薦

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

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    編寫有效用例 PDF格式下載


用戶評論 (總計28條)

 
 

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

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7