可信軟體設計

可信軟體設計

《可信軟體設計》是2013年機械工業出版社出版的圖書,作者是賈亞斯瓦。本書詳細介紹了更節省成本、更快交付、更好用的綜合軟體開發技術可信軟體設計。

內容簡介

本書詳細介紹了更節省成本、更快交付、更好用的綜合軟體開發技術——可信軟體設計(DFTS),該技術可在早期解決軟體質量問題,使軟體質量管理目標變成預防在實施階段產生bug,而不是在中後期發現和修復bug。這種技術的可信之處在於在未編寫代碼的情況下就能實施軟體質量管理。

這種面向客戶的綜合技術在成本、質量和交付進度等方面提供突破性成果,可以滿足甚至超越客戶期望。作者不僅描述可信軟體設計所包含的原理,而且闡釋在面對實際軟體設計問題時,如何套用它來解決問題,同時綜合介紹了6個使用軟體質量管理技巧的研究案例,覆蓋DFTS技術的方方面面,包括CoSQ、AHP、TRIZ、FMEA、QFD和田口法。除此之外,還為讀者提供了大量的習題和練習,以幫助讀者真正理解這些知識。

本書可作為企業組織範圍內的學習教材,也可作為DFTS黑帶、大師級黑帶認證課程的培訓教材。它能使你快速掌握DFTS技術,從而快速和成功地實施DFTS。

本書主要內容:

•計畫、構建、維護和改進可信軟體開發系統。

•在獨一無二的軟體開發環境中,運用質量、領導力、學習和管理的最佳實踐。

•傾聽客戶心聲,引導用戶期望,開發出易用和可靠的軟體產品。

•重點關注可靠性、可信任性、可用性和可升級性等以客戶為中心的問題。

•激勵員工擁有強大的設計創意和創新力。

•確認、驗證、評估、集成和維護可信軟體。

•分析軟體質量的經濟成本影響。

•為實施DFTS培養你的領導力和企業內部結構管理能力。

無論你從事的是企業自主軟體開發、外包、諮詢還是提供技術支持的工作,可信軟體設計都會幫助你改進軟體質量。從開發人員到項目領導者,從軟體總架構師到客戶,可信軟體設計都能為整個軟體行業從業人員和質量管理人員提供有突破性進展的軟體解決方案。

作者簡介

Bijay K. Jayaswal

資深軟體開發專家和軟體質量管理專家,Agilenty ConsultingGroup公司CEO,擔任高級管理崗位工作並提供企業質量管理、市場戰略制定方面的諮詢業務超過25年。專注於價值工程、過程改進以及產品研發等領域,他教授過MBA和高級管理課程,以及幫助過很多企業引入企業級的再造工程和6 Sigma計畫。

Peter C. Patton

資深軟體開發專家和軟體質量管理專家,Agilenty ConsultingGroup公司董事長,聖托馬斯大學量化分析和計算機科學系教授,擁有30多年的質量管理經驗和50多年的軟體開發經驗。曾擔任過賓夕法尼亞大學CIO和Lawson軟體公司CTO。

譯者簡介

吳峻申

資深IT技術實踐者和研究者,近十餘年來一直參與IT項目開發,擁有豐富經驗。2001年畢業於上海大學計算機工程系(現計算機科學與技術專業)。業餘時間潛心於技術的鑽研,熱衷於分享IT技術。曾與人合著《Java Web整合開發實例精通》,翻譯出版《解析與實踐》。主要關注Java、PMP、Linux、Ubuntu、精益與敏捷、大數據、雲計算等領域。目前正在翻譯一本有關大數據的書籍。

目錄

譯者序

前言

第一部分 當今軟體開發過程與不足之處,以及可信軟體的挑戰

第1章 當今軟體開發方法論 1

1.1 軟體開發:需要一種新模式 2

1.2 軟體開發策略和生命周期模型 5

1.2.1 構建–修復模型 6

1.2.2 瀑布模型 7

1.2.3 快速原型模型7

1.2.4 增量模型 8

1.2.5 極限編程 10

1.2.6 螺旋模型 10

1.2.7 面向對象編程11

1.2.8 疊代開發或漸進模型 13

1.2.9 不同軟體生命周期模型比較 13

1.3 軟體過程改進 13

1.3.1Rational統一過程 14

1.3.2 能力成熟度模型 14

1.3.3ISO 9000-3軟體開發指導準則 15

1.3.4 比較RUP、CMM和ISO 9000 17

1.4ADR法 18

1.5 健壯性軟體開發過程的七要素 18

1.6 健壯性軟體開發模型 19

1.7 關鍵點 20

1.8 補充資料 21

1.9Internet練習 21

1.10 問題回顧21

1.11 問題和項目討論 22

1.12 參考文獻22

第2章 開發可信軟體的挑戰:軟體開發環境下的健壯性設計 23

2.1 軟體可靠性:神話與現實 23

2.1.1 軟體開發和產品製造之間的相似和不同之處 24

2.1.2 軟體和硬體可靠性比較 25

2.1.3 引發軟體不可靠性的原因 26

2.2 傳統質量控制體系的局限性 27

2.3 日本質量管理體系和田口法 28

2.4 健壯性設計中田口法的本質 33

2.4.1 信噪比概念 34

2.4.2 質量損耗函式概念 35

2.4.3 健壯性設計概念 36

2.5 軟體可靠性挑戰:可信軟體設計 37

2.6 健壯性軟體開發模型:實踐中的DFTS過程39

2.7 關鍵點 41

2.8 補充資料 42

2.9Internet練習 42

2.10 問題回顧43

2.11 問題和項目討論 43

2.12 參考文獻44

第3章 軟體質量度量標準 45

3.1 軟體質量度量方式 45

3.2 經典軟體質量度量標準 46

3.3 全面質量管理 47

3.4 通用軟體質量度量 48

3.4.1 度量標準方法48

3.4.2 軟體測試過程中的質量度量標準 49

3.4.3 軟體複雜度度量標準 50

3.4.4 軟體科學 51

3.4.5 圈複雜度 52

3.4.6 功能點度量標準 53

3.4.7 可用性和客戶滿意度度量標準54

3.5 目前的度量標準和技術模型 55

3.6 架構設計和評估中的新度量標準 57

3.7 架構設計中普遍存在的問題 58

3.8OOAD中的度量標準模式 59

3.9 關鍵點 60

3.10 補充資料60

3.11Internet練習 61

3.12 問題回顧61

3.13 問題和項目討論 61

3.14 參考文獻61

第4章 可信軟體經濟觀點 63

4.1 為什麼DFTS需要不同的經濟分析方法 63

4.2 成本和質量:過去和現在 64

4.3 軟體質量成本 66

4.3.1 質量成本分析優點 67

4.3.2 質量任務成本67

4.3.3 軟體質量成本的分類 69

4.3.4 建立CoSQ匯報系統 73

4.3.5 質量投資回報效益 74

4.3.6 貼現現金流法75

4.3.7CoSQ分析價值 75

4.3.8CoSQ計畫中的誤區75

4.4 軟體生命周期中的軟體質量成本 76

4.5CoSQ和作業基準成本法 80

4.5.1 軟體企業組織中的ABC 80

4.5.2 啟動軟體企業組織中的ABC 81

4.5.3ABC優點 81

4.6 軟體質量損耗函式 82

4.7DFTS投資的經濟評估 82

4.7.1DFTS評估度量標準83

4.7.2 為DFTS計畫建立經濟評估框架 83

4.8 關鍵點 85

4.9 補充資料 85

4.10Internet練習 85

4.11 問題回顧86

4.12 問題討論86

4.13 問題 87

4.14 參考文獻88

第5章 DFTS企業組織化結構和領導力管理 89

5.1 部署DFTS的企業組織面臨的挑戰 89

5.2DFTS執行框架 90

5.2.1 第1步:樹立管理意識並引入DFTS92

5.2.2 第2步:與高級管理層溝通達成共識並獲取他們的承諾 94

5.2.3 第3步:識別DFTS計畫的潛在誤區 94

5.2.4 第4步:為建立關注質量的企業奠定哲學基礎101

5.2.5 第5步:構建企業組織化基礎設施 103

5.2.6 第6步:理解關鍵人員角色 103

5.2.7 第7步:設計支持性的企業組織結構 111

5.2.8 第8步:建立有效溝通的機制111

5.2.9 第9步:建立合理的獎勵機制112

5.2.10 第10步:確定軟體質量成本113

5.2.11 第11步:規劃並啟動整個企業組織範圍內的學習過程 114

5.2.12 第12步:執行DFTS模型 114

5.2.13 第13步:監控學習和改進過程並獲取反饋 115

5.2.14 第14步:鞏固改進過程和所積累的經驗 117

5.2.15 第15步:整合併推廣計畫 117

5.3 匯總 118

5.4 關鍵點 118

5.5 補充資料 121

5.6Internet練習 121

5.7 問題回顧 121

5.8 問題和項目討論 122

5.9 參考文獻 123

第二部分 可信軟體設計的工具和技術

第6章 質量管理的七大基本(B7)工具 125

6.1B7工具 126

6.2DFTS背景下的B7 129

6.3 其他DFTS工具、技巧和方法論 130

6.4 流程圖 131

6.4.1 高級流程圖 132

6.4.2 詳細流程圖 132

6.4.3 泳道流程圖 133

6.5 帕累托圖 133

6.6 因果圖 133

6.6.1 繪製確定原因的因果圖 135

6.6.2 過程分類因果圖 136

6.7 散點圖 137

6.8 檢查表 140

6.9 直方圖 140

6.9.1 確定分布規律141

6.9.2 確定是否滿足規約 142

6.9.3 通過分層法來比較數據 142

6.10 圖表 142

6.11 控制圖 143

6.12 關鍵點 144

6.13 補充資料146

6.14 問題回顧146

6.15 問題討論146

6.16 參考文獻146

第7章 七大MP工具:分析和解釋定性及可表達化數據 148

7.1N7和七大MP工具 149

7.2 七大MP工具的典型套用 150

7.3 親和圖 152

7.4 相互關係圖(I.D.) 155

7.5 樹形圖 156

7.6 優先權矩陣 159

7.7 矩陣圖 159

7.8 過程決策程式圖 159

7.9 活動網路圖 161

7.10 七大MP工具行為技巧 161

7.11 關鍵點 162

7.12 補充資料162

7.13 問題回顧162

7.14 問題和項目討論 163

7.15 參考文獻163

第8章 層次分析法165

8.1 優先權、複雜性和層次分析法 165

8.2 多目標決策制定和AHP 166

8.2.1 術語 168

8.2.2 結構化目標層次 168

8.2.3 決策層次 170

8.3 使用專家選擇的解決方案 171

8.3.1 第1步:頭腦風暴和構建問題的層次模型 171

8.3.2 第2步:為目標推導出比例大小的優先次序 172

8.3.3 第3步:推導出與各目標相關的可選方案的優先次序 174

8.3.4 第4步:綜合177

8.4 使用手工粗略計算AHP的解決方案 180

8.4.1 粗略計算解決方法1 180

8.4.2 粗略計算解決方法2:Brassard優先次序全面分析標準法 185

8.5 結論 187

8.6 關鍵點 188

8.7 補充資料 188

8.8Internet練習 188

8.9 問題回顧 189

8.10 問題和項目討論 189

8.11 問題 190

8.11.1 問題1:系統轉化過程中的複雜度管理 190

8.11.2 問題2:在一高科技創業型公司中管理軟體複雜度 191

8.11.3 問題3:病歷系統中的複雜度 192

8.11.4 問題4:石油鑽探決策系統 193

8.11.5 問題5:ROI問題 194

8.11.6 問題6:抽象的複雜度分析 194

8.11.7 問題7:複雜度的影響 195

8.12 參考文獻195

第9章 軟體開發過程中的複雜度、錯誤和Poka Yoke 197

9.1 作為質量控制系統的Poka Yoke 198

9.2Poka Yoke原則 198

9.3 導致缺陷產生的原因:差異、錯誤和複雜度 199

9.4 成功部署Poka Yoke的幾種情況 201

9.5 作為缺陷原因的錯誤 201

9.6 控制軟體開發中的複雜度 203

9.7 錯誤、檢測方法和Poka Yoke 205

9.8 實施Poka Yoke體系 206

9.9 確認Poka Yoke體系 208

9.10 關鍵點 209

9.11 補充資料210

9.12Internet練習 211

9.13 問題回顧211

9.14 問題和項目討論 211

9.15 參考文獻211

第10章 軟體開發智慧型管理的5S法213

10.15S:邁向多產的工作環境的巨大一步 214

10.25S系統各執行階段 215

10.2.1 第1階段:篩選/清理 215

10.2.2 第2階段:整頓/井井有條 215

10.2.3 第3階段:清潔/清掃 215

10.2.4 第4階段:標準化215

10.2.5 第5階段:維持清潔/規範 216

10.35S系統和DFTS過程 216

10.4 克服阻力219

10.5 執行5S 220

10.5.1 第1步:管理層的介入 220

10.5.2 第2步:培訓和執行 220

10.5.3 第3步:與獎勵系統相關聯 220

10.5.4 第4步:進行後續和持續的改進 221

10.6 關鍵點 221

10.7 補充資料222

10.8Internet練習 222

10.9 問題回顧222

10.10 問題和項目討論 222

10.11 參考文獻 223

第11章 理解客戶需求:軟體QFD和客戶心聲224

11.1QFD:起源和介紹 224

11.1.1QFD作為質量體系會有什麼不同 225

11.1.2QFD歷史 227

11.1.3 軟體QFD歷史 227

11.1.4 什麼是QFD,我們為什麼需要它 228

11.1.5 關注優先權次序 230

11.1.6QFD定義 231

11.1.7QFD實施 231

11.1.8QFD四階段模型 231

11.1.9 “質量屋”矩陣 233

11.2 套用於軟體的傳統QFD問題 236

11.2.1 傳統QFD失敗之處 236

11.2.2 “矩陣太大了” 237

11.2.3 “花的時間太長”237

11.2.4 “我們早就知道了” 238

11.3 軟體的現代化QFD 239

11.3.1Blitz QFD 240

11.3.2 七大管理和規劃工具 240

11.3.3 客戶滿意度和價值240

11.4Blitz QFD過程 241

11.4.1 第1步:關鍵的項目目標 243

11.4.2 第2步:關鍵客戶群 243

11.4.3 第3步:關鍵過程步驟 244

11.4.4 第4步:去現場 244

11.4.5 第5步:客戶需求是什麼 245

11.4.6 第6步:對客戶需求進行結構化 248

11.4.7 第7步:客戶需求結構分析 248

11.4.8 第8步:對客戶需求進行優先權排序 249

11.4.9 第9步:實現經過優先次序排序的客戶需求 250

11.4.10 後期部署:(只)對重要關係進行詳細分析 251

11.4.11 “質量屋”及其擴展 252

11.4.126 Sigma項目 253

11.4.13 後續工作:套用、發展和改進過程 253

11.4.14 快速開發 253

11.4.15 關鍵鏈項目管理的進度部署254

11.5 實現軟體QFD 254

11.5.1QFD中的人員因素254

11.5.2QFD所面臨的挑戰與陷阱 255

11.5.3 如何實現軟體QFD257

11.6 結論 257

11.7 關鍵點 259

11.8 補充資料260

11.9Internet練習 260

11.10 問題回顧 261

11.11 問題和項目討論 262

11.12 參考文獻 263

11.13 關於作者 267

第12章 軟體設計過程中的創新:TRIZ和普氏概念選擇法 268

12.1DFTS創新需求268

12.2 創造力和TRIZ 269

12.3 軟體開發中的TRIZ 275

12.4TRIZ、QFD和田口法 277

12.5 頭腦風暴278

12.6 普氏概念選擇法 279

12.7 作為智慧財產權成果的軟體281

12.8 關鍵點 283

12.9 補充資料283

12.10Internet練習 284

12.11 問題回顧 284

12.12 問題和項目討論 284

12.13 參考文獻 284

第13章 軟體中的風險評估以及故障模式和影響分析 286

13.1FMEA:故障模式和影響分析 286

13.2 要在早期套用FMEA289

13.3 軟體故障樹分析 292

13.4 軟體故障模式及其原因 294

13.5DFTS各階段風險識別和評估 295

13.6 關鍵點 296

13.7 補充資料297

13.8Internet練習 297

13.9 問題回顧297

13.10 問題和項目討論 297

13.11 參考文獻 297

第14章 對象、組件技術及其他軟體開發工具 299

14.1 企業級業務套用中所面對的幾種主要挑戰299

14.2 面向對象分析、設計和編程 300

14.3 基於組件的軟體開發技術306

14.4 極限編程的生產率 309

14.5N版本編程的可靠性 309

14.5.1NVP的優勢 310

14.5.2NVP的劣勢 311

14.6 現代化編程環境 311

14.7 計算機自動化編程的趨勢314

14.8 關鍵點 316

14.9 補充資料317

14.10Internet練習 317

14.11 問題回顧 317

14.12 問題和項目討論 317

14.13 參考文獻 317

第三部分 可信軟體設計

第15章 可信軟體質量測量和數據統計方法 319

15.1 可信軟體320

15.2 微軟公司的可信計算計畫321

15.3 軟體開發過程中的統計過程控制 322

15.4 軟體架構的統計方法 327

15.5 關鍵點 330

15.6 補充資料330

15.7Internet練習 330

15.8 問題回顧330

15.9 問題和項目討論 331

15.10 問題 331

15.11 參考文獻 331

第16章 健壯性軟體背景介紹 332

16.1 軟體規約過程 332

16.2 何為健壯性軟體 335

16.3 讓軟體健壯的需求 336

16.4 軟體健壯性指標 337

16.5 關鍵點 338

16.6 補充資料339

16.7Internet練習 339

16.8 問題回顧339

16.9 問題和項目討論 339

16.10 問題 339

16.11 參考文獻 340

第17章 用於健壯性軟體的田口法及其最佳化 341

17.1 用於健壯性軟體設計的田口法 341

17.2 工程設計實例 344

17.3 軟體設計與開發實例 346

17.4 用於田口參數設計實驗中的正交矩陣 350

17.5 可信軟體設計套用 352

17.6 關鍵點 352

17.7 補充資料353

17.8Internet練習 353

17.9 問題回顧353

17.10 問題討論 353

17.11 問題 353

17.12 參考文獻 353

第18章 確認、驗證、測試和評估可信度355

18.1 持續的開發生命周期 355

18.2 驗證 357

18.3 確認 360

18.4 測試和評估 363

18.5 關鍵點 366

18.6 補充資料367

18.7Internet練習 367

18.8 問題回顧367

18.9 問題和項目討論 367

18.10 問題 368

18.11 參考文獻 368

第19章 可信度的集成、擴展和維護 369

19.1 完成開發生命周期 369

19.2 集成 370

19.3 擴展 371

19.4 維護 372

19.5 關鍵點 375

19.6 補充資料375

19.7Internet練習 375

19.8 問題回顧375

19.9 問題和項目討論 375

19.10 問題 376

19.11 參考文獻 376

第四部分 綜合運用:DFTS計畫部署

第20章 為DFTS進行的組織準備 377

20.1 反覆思索378

20.2 轉型計畫中的領導力挑戰385

20.3 評估關鍵組織化元素 386

20.3.1 建立領導承諾 386

20.3.2 了解領導角色 387

20.3.3 評估戰略關係 388

20.3.4 確保整個企業組織參與 388

20.3.5 了解客戶關注的需求 388

20.3.6 評估現有質量管理能力 389

20.4 關鍵點 389

20.5 補充資料391

20.6Internet練習 391

20.7 問題回顧391

20.8 問題和項目討論 391

20.9 參考文獻392

第21章 DFTS計畫啟動 393

21.1DFTS和PICS框架 394

21.2 規劃 395

21.3 執行 396

21.3.1 第11步:啟動整個企業組織範圍內的學習過程 396

21.3.2 第12步:執行DFTS技術:學習和套用過程 398

21.4 控制 401

21.4.1 第13步:反饋控制體系 404

21.4.2 項目管理 409

21.5 安全保證410

21.5.1 第14步:總結改進過程和所積累的經驗 410

21.5.2 第15步:整合併推廣計畫 410

21.6 在小型軟體公司和“電子山寨”中的使用情況 415

21.7 下一個是什麼 416

21.8 關鍵點 417

21.9 補充資料418

21.10Internet練習 418

21.11 問題回顧 419

21.12 問題討論 419

21.13 參考文獻 420

第五部分 6個研究案例

第22章 雷神電子系統公司(RES)的軟體質量成本(CoSQ)套用 424

22.1 簡介 424

22.2RES及其改進計畫 424

22.3 軟體質量成本 425

22.3.1RES的CoSQ模型 425

22.3.2CoSQ數據收集 426

22.4 經驗教訓426

22.4.1CoSQ模型使用教訓 426

22.4.2 使用CoSQ數據來了解改進的影響 426

22.4.3CoSQ成本和收益 429

22.4.4CoSQ追蹤記錄製度化 429

22.5 研究案例啟迪 429

22.6 參考文獻430

第23章 IT項目群整合 431

23.1 第一部分:挑戰 431

23.1.1 疊代過程的五個階段 432

23.1.2 客觀性、主觀性和質量 434

23.2 第二部分:一個新的合理方法 434

23.2.1 第1步:設計 435

23.2.2 第2步:複雜度結構化—關注目標435

23.2.3 第3步:度量方式435

23.2.4 第4步:綜合 439

23.2.5 第5步:最佳化 440

23.3 風險 442

23.4 擴展 443

23.5 小結 444

23.6 參考文獻445

第24章 為全新產品定義客戶需求:用於創新軟體的QFD446

24.1 簡介 446

24.1.1 價值定義 447

24.1.2 為什麼不問 447

24.1.3 創新產品 448

24.2 全新需求定義 448

24.2.1 客戶需求定義方法448

24.3 工具 453

24.3.1QFD的七大管理和規劃工具 453

24.3.2 思考過程 454

24.4 最後幾步455

24.5 阻力層次456

24.6 結論 458

24.7 致謝 458

24.8  參考文獻 458

24.9 關於作者460

第25章 Jurassic QFD:集成服務和產品質量功能部署 461

25.1MD Robotics公司介紹 461

25.2 為什麼要用QFD 462

25.2.1QFD歷史 462

25.2.2Kano需求 463

25.3 佛羅里達冒險島環球工作室在場景製作中的QFD套用 464

25.3.1QFD模板 465

25.3.2 客戶心聲分析 465

25.3.3 情緒信息實施 468

25.3.4 肢體動作實施 470

25.3.5 工程需求實施 471

25.4 小結 472

25.5 關於作者473

25.6 參考文獻473

第26章 QFD項目:使用Blitz QFD更好地管理軟體開發項目 475

26.1 簡介 475

26.1.1 失敗 476

26.1.2 部分成功 476

26.1.3QFD定義 476

26.1.4 正確啟動 477

26.2 新開發過程中的問題 477

26.2.1 沒有條理的開發是低效的 477

26.2.2 有條理的開發是有效的 478

26.3 關注QFD項目的價值 480

26.4 小結 489

26.5 致謝 490

26.6 參考文獻490

26.7 關於作者492

第27章 QFD2000:集成QFD和其他改進新產品開發過程的質量管理方法493

27.1 新產品需求 493

27.2 質量和新產品的開發 494

27.2.1 現代質量工具 495

27.2.2 新產品開發過程 496

27.3QFD資料和其他質量管理方法 499

27.4 關於作者504

27.5 參考文獻504

術語表 506

相關詞條

熱門詞條

聯絡我們