PSP: A Self-Improvement Process for Software Engineers (Hardcover)
暫譯: PSP:軟體工程師自我提升過程(精裝版)

Watts S. Humphrey

  • 出版商: Addison Wesley
  • 出版日期: 2005-03-13
  • 售價: $836
  • 語言: 英文
  • 頁數: 368
  • 裝訂: Hardcover
  • ISBN: 0321305493
  • ISBN-13: 9780321305497
  • 已絕版

買這商品的人也買了...

商品描述

Table of Contents:

Preface xiii

Chapter 1: The Personal Process Strategy 1

1.1. The PSP’s Purpose 3

1.2. The Logic for a Software Engineering Discipline 4

1.3. Using Disciplined Development Practices 6

1.4. Operational Processes 6

1.5. Defining and Using a Personal Process 7

1.6. Learning to Use a Personal Process 8

1.7. Preparing for the Team Software Process 9

1.8. Summary 9

Reference 10

Chapter 2: The Baseline Personal Process 11

2.1. What Is a Process? 12

2.2. Defining Your Own Process 13

2.3. Baseline Process Contents 14

2.4. Why Forms Are Helpful 16

2.5. The PSP Process Elements 17

2.6. The PSP0 Process 18

2.7. PSP0 Measures 20

2.8. Time Recording 21

2.9. Defect Recording 24

2.10. The PSP0 Project Plan Summary 30

2.11. The Compile Phase 31

2.12. Incremental Development 32

2.13. PSP Tool Support 34

2.14. Summary 34

2.15. Exercises 34

Chapter 3: Measuring Software Size 35

3.1. Size Measures 35

3.2. Establishing a Database Counting Standard 40

3.3. Establishing a Line-of-Code Counting Standard 40

3.4. Size Accounting 42

3.5. Using Size Data 45

3.6. Calculating Productivity 47

3.7. Size Counters 48

3.8. Other Size Measures 53

3.9. Summary 54

3.10. Exercises 54

References 55

Chapter 4: Planning 57

4.1. The Planning Process 58

4.2. Why Make Plans? 59

4.3. What Is a Plan? 60

4.4. The Contents of a Software Plan 60

4.5. Planning a Software Project 62

4.6. The Conceptual Design 63

4.7. Plan Quality 65

4.8. Planning Issues 65

4.9. Summary 66

Reference 67

Chapter 5: Software Estimating 69

5.1. Size Estimating Principles 69

5.2. The Conceptual Design 70

5.3. Proxy-Based Estimating 71

5.4. Using Proxies in Estimating 75

5.5. Producing the Relative-Size Table 78

5.6. Estimating Considerations 80

5.7. Summary 84

Chapter 6: The PROBE Estimating Method 85

6.1. Estimating from Data 85

6.2. Proxy-Based Estimating 87

6.3. Estimating with Limited Data 95

6.4. An Estimating Example 100

6.5. Estimating Nonprogramming Tasks 102

6.6. Considerations in Using PROBE 105

6.7. Summary 108

6.8. Exercises 108

Chapter 7: Software Planning 109

7.1. Plan Requirements 109

7.2. Project and Period Plans 111

7.3. Producing the Schedule 113

7.4. Making the Schedule 115

7.5. Earned Value 119

7.6. An Earned Value Example 120

7.7. Comments on the EV Example 123

7.8. Estimating Accuracy 125

7.9. The Prediction Interval 126

7.10. Alerting Management to Changes 128

7.11. Planning Considerations 129

7.12. Summary 131

7.13. Exercises 132

References 132

Chapter 8: Software Quality 133

8.1. The PSP Quality Strategy 135

8.2. What Is Software Quality? 135

8.3. The Economics of Software Quality 136

8.4. Defect Types 141

8.5. Personal Quality Practices 142

8.6. Quality Measures 143

8.7. Quality Management 153

8.8. Personal Quality Management 154

8.9. Managing Product Quality 156

8.10. PSP Improvement Practices 157

8.11. Defect Prevention 158

8.12. Summary 160

References 161

Chapter 9: Design and Code Reviews 163

9.1. What Are Reviews? 164

9.2. Why Review Programs? 164

9.3. Review Principles 168

9.4. The PSP Code Review Process 173

9.5. The Code Review Checklist 176

9.6. Design Reviews 181

9.7. Design Review Principles 183

9.8. Review Measures 187

9.9. Review Issues 194

9.10. Summary 201

9.11. Exercises 202

References 202

Chapter 10: Software Design 203

10.1. What Is Design? 204

10.2. Why Design? 206

10.3. The Design Process 207

10.4. Design Levels 210

10.5. Design and Development Strategies 216

10.6. Design Quality 220

10.7. Summary 223

References 224

Chapter 11: The PSP Design Templates 225

11.1. Design Representation 226

11.2. The Design Templates 229

11.3. The Operational Specification Template (OST) 230

11.4. The Functional Specification Template (FST) 233

11.5. The State Specification Template (SST) 236

11.6. The Logic Specification Template (LST) 240

11.7. A State-Machine Design Example 241

11.8. Using the PSP Design Templates 246

11.9. Using the Design Templates in Large-Scale Design 248

11.10. Summary 250

11.11. Exercises 250

References 250

Chapter 12: Design Verification 253

12.1. Why Verify Programs? 254

12.2. Design Standards 257

12.3. Execution-Table Verification 258

12.4. Trace-Table Verification 262

12.5. Verifying State Machines 265

12.6. Loop Verification 271

12.7. Other Analytical Verification Methods 277

12.8. Verification Considerations 280

12.9. Summary 284

12.10. Exercises 284

References 285

Chapter 13: Process Extensions 287

13.1. Customizing the Development Process 289

13.2. Why Define a Process? 290

13.3. The PSP Process Strategy 291

13.4. Defining a Process 291

13.5. Process Evolution 294

13.6. Example Processes 298

13.7. Process Development Considerations 306

13.8. Summary 307

13.9. Exercises 308

References 308

Chapter 14: Using the Personal Software Process 309

14.1. Development Challenges 309

14.2. The Team Software Process (TSP) 313

14.3. The Logic of the TSP 314

14.4. Teambuilding 314

14.5. The TSP Launch Process 316

14.6. The TSP Coach 317

14.7. Managing Your Own Project 318

14.8. TSP Results 322

14.9. The Rewards of Teamwork 322

14.10. The TSP Team of One 323

14.11. Your Future in Software Engineering 326

References 327

Index 329

商品描述(中文翻譯)

目錄:

前言 xiii
第一章:個人流程策略 1
1.1. PSP 的目的 3
1.2. 軟體工程學科的邏輯 4
1.3. 使用有紀律的開發實踐 6
1.4. 操作流程 6
1.5. 定義和使用個人流程 7
1.6. 學習使用個人流程 8
1.7. 為團隊軟體流程做準備 9
1.8. 總結 9
參考文獻 10

第二章:基準個人流程 11
2.1. 什麼是流程? 12
2.2. 定義自己的流程 13
2.3. 基準流程內容 14
2.4. 為什麼表單有幫助 16
2.5. PSP 流程元素 17
2.6. PSP0 流程 18
2.7. PSP0 測量 20
2.8. 時間記錄 21
2.9. 缺陷記錄 24
2.10. PSP0 專案計畫摘要 30
2.11. 編譯階段 31
2.12. 增量開發 32
2.13. PSP 工具支援 34
2.14. 總結 34
2.15. 練習 34

第三章:測量軟體大小 35
3.1. 大小測量 35
3.2. 建立資料庫計數標準 40
3.3. 建立程式碼行計數標準 40
3.4. 大小會計 42
3.5. 使用大小數據 45
3.6. 計算生產力 47
3.7. 大小計數器 48
3.8. 其他大小測量 53
3.9. 總結 54
3.10. 練習 54
參考文獻 55

第四章:規劃 57
4.1. 規劃流程 58
4.2. 為什麼要制定計畫? 59
4.3. 什麼是計畫? 60
4.4. 軟體計畫的內容 60
4.5. 規劃軟體專案 62
4.6. 概念設計 63
4.7. 計畫品質 65
4.8. 規劃問題 65
4.9. 總結 66
參考文獻 67

第五章:軟體估算 69
5.1. 大小估算原則 69
5.2. 概念設計 70
5.3. 基於代理的估算 71
5.4. 在估算中使用代理 75
5.5. 產生相對大小表 78
5.6. 估算考量 80
5.7. 總結 84

第六章:PROBE 估算方法 85
6.1. 從數據中估算 85
6.2. 基於代理的估算 87
6.3. 使用有限數據進行估算 95
6.4. 估算範例 100
6.5. 估算非程式設計任務 102
6.6. 使用 PROBE 的考量 105
6.7. 總結 108
6.8. 練習 108

第七章:軟體規劃 109
7.1. 計畫要求 109
7.2. 專案和期間計畫 111
7.3. 產生時間表 113
7.4. 制定時間表 115
7.5. 賺取價值 119
7.6. 賺取價值範例 120
7.7. 對 EV 範例的評論 123
7.8. 估算準確性 125
7.9. 預測區間 126
7.10. 提醒管理層變更 128
7.11. 規劃考量 129
7.12. 總結 131
7.13. 練習 132
參考文獻 132

第八章:軟體品質 133
8.1. PSP 品質策略 135
8.2. 什麼是軟體品質? 135
8.3. 軟體品質的經濟學 136
8.4. 缺陷類型 141
8.5. 個人品質實踐 142
8.6. 品質測量 143
8.7. 品質管理 153
8.8. 個人品質管理 154
8.9. 管理產品品質 156
8.10. PSP 改進實踐 157
8.11. 缺陷預防 158
8.12. 總結 160
參考文獻 161

第九章:設計和程式碼審查 163
9.1. 什麼是審查? 164
9.2. 為什麼要審查程式? 164
9.3. 審查原則 168
9.4. PSP 程式碼審查流程 173
9.5. 程式碼審查清單 176
9.6. 設計審查 181
9.7. 設計審查原則 183
9.8. 審查測量 187
9.9. 審查問題 194
9.10. 總結 201
9.11. 練習 202
參考文獻 202

第十章:軟體設計 203
10.1. 什麼是設計? 204
10.2. 為什麼要設計? 206
10.3. 設計流程 207
10.4. 設計層級 210
10.5. 設計和開發策略 216
10.6. 設計品質 220
10.7. 總結 223
參考文獻 224

第十一章:PSP 設計範本 225
11.1. 設計表示 226
11.2. 設計範本 229
11.3. 操作規範範本 (OST) 230
11.4. 功能規範範本 (FST) 233
11.5. 狀態規範範本 (SST) 236
11.6. 邏輯規範範本 (LST) 240
11.7. 狀態機設計範例 241
11.8. 使用 PSP 設計範本 246
11.9. 在大型設計中使用設計範本 248
11.10. 總結 250
11.11. 練習 250
參考文獻 250

第十二章:設計驗證 253
12.1. 為什麼要驗證程式? 254
12.2. 設計標準 257
12.3. 執行表驗證 258
12.4. 追蹤表驗證 262
12.5. 驗證狀態機 265
12.6. 迴圈驗證 271
12.7. 其他分析驗證方法 277
12.8. 驗證考量 280
12.9. 總結 284
12.10. 練習 284
參考文獻 285

第十三章:流程擴展 287
13.1. 自訂開發流程 289
13.2. 為什麼要定義流程? 290
13.3. PSP 流程策略 291
13.4. 定義流程 291
13.5. 流程演變 294
13.6. 範例流程 298
13.7. 流程開發考量 306
13.8. 總結 307
13.9. 練習 308
參考文獻 308

第十四章:使用個人軟體流程 309
14.1. 開發挑戰 309
14.2. 團隊軟體流程 (TSP) 313
14.3. TSP 的邏輯 314
14.4. 團隊建設 314

最後瀏覽商品 (20)