軟體工程入門經典

軟體工程入門經典

《軟體工程入門經典》揭秘專業開發人員為設計和構建穩定、可靠、高效軟體所運用的軟體工程技術和方法。本書通俗易懂,在大量案例的引導下,演示適用於任何程式語言的重要概念和技術;即使你目前不具有編程、開發和管理經驗,同樣可以閱讀和學習本書。每章末尾附有精選習題,以測試你對知識的理解程度,引導你悟透主要概念。本書全面介紹了瀑布、生魚片、敏捷、RAD、Scrum、看板和極限編程等各種開發方法所涉及的基本任務。

基本介紹

  • 書名:軟體工程入門經典 
  • 作者:羅德·史蒂芬森 
  • 原版名稱:Beginning Software Engineering
  • 譯者:明道洋 / 曾慶紅 
  • ISBN: 9787302439264
  • 頁數:351
  • 定價: 48.00元
  • 出版社清華大學出版社
  • 出版時間:2016-7-1
  • 裝幀:平裝
圖書簡介,主要內容,圖書目錄,

圖書簡介

《軟體工程入門經典》揭秘專業開發人員為設計和構建穩定、可靠、高效軟體所運用的軟體工程技術和方法。本書通俗易懂,在大量案例的引導下,演示適用於任何程式語言的重要概念和技術;即使你目前不具有編程、開發和管理經驗,同樣可以閱讀和學習本書。每章末尾附有精選習題,以測試你對知識的理解程度,引導你悟透主要概念。本書全面介紹了瀑布、生魚片、敏捷、RAD、Scrum、看板和極限編程等各種開發方法所涉及的基本任務。

主要內容

◆詳述軟體工程概念
◆闡釋參與軟體工程項目的團隊成員的角色和職責
◆指出軟體工程項目都必須經歷哪些重要階段才能開發出功能卓越的可靠應用程式
◆詳述主流軟體開發方法及其處理重要開發任務的不同方式
◆提供從每章主要知識點引申的習題
◆附有詳明的軟體工程術語表

圖書目錄

第Ⅰ部分 進階
第1章 軟體工程概覽 3
1.1 需求收集 3
1.2 概要設計 4
1.3 詳細設計 5
1.4 開發 5
1.5 測試 6
1.6 部署 7
1.7 維護 8
1.8 總結和反思 8
1.9 一次性處理所有事項 8
1.10 本章小結 9
第2章 入手之前 13
2.1 文檔管理 13
2.2 歷史文檔 15
2.3 電子郵件 16
2.4 代碼 18
2.5 代碼文檔 18
2.6 應用程式文檔 21
2.7 本章小結 21
第3章 項目管理 25
3.1 管理支持 26
3.2 項目管理 27
3.2.1 PERT圖 28
3.2.2 關鍵路徑方法 33
3.2.3 甘特圖 35
3.2.4 軟體日程安排 36
3.2.5 估算時間 36
3.3 風險管理 41
3.4 本章小結 42
第4章 需求收集 45
4.1 需求定義 46
4.1.1 清晰 46
4.1.2 沒有歧義 46
4.1.3 一致 47
4.1.4 優先權排序 47
4.1.5 可驗證 50
4.1.6 應避免使用的詞 51
4.2 需求分類 51
4.2.1 客群導向的需求 51
4.2.2 FURPS 54
4.2.3 FURPS+ 54
4.2.4 通用需求 56
4.3 收集需求 57
4.3.1 傾聽客戶(和用戶)的需要 57
4.3.2 使用5W(和一個H) 57
4.3....
4.3.3研究用戶 59
4.4細化需求 60
4.4.1複製現有系統 60
4.4.2未卜先知 61
4.4.3頭腦風暴 62
4.5記錄需求 64
4.5.1UML 64
4.5.2用戶故事 65
4.5.3用例 65
4.5.4原型 66
4.5.5需求說明 67
4.6確認和驗證 67
4.7更改需求 67
4.8本章小結 68
第5章概要設計 71
5.1縱覽全局 72
5.2指定的事項 73
5.2.1安全性 73
5.2.2硬體 74
5.2.3用戶接口 75
5.2.4內部接口 76
5.2.5外部接口 76
5.2.6架構 77
5.2.7報表 83
5.2.8其他輸出 83
5.2.9資料庫 84
5.2.10配置數據 86
5.2.11數據流及狀態 86
5.2.12培訓 87
5.3UML 87
5.3.1結構圖 88
5.3.2行為圖 90
5.3.3互動圖 93
5.4本章小結 95
第6章詳細設計 97
6.1面向對象設計 98
6.1.1識別類 99
6.1.2創建繼承體系 99
6.1.3對象組合 103
6.2資料庫設計 104
6.2.1關係資料庫 104
6.2.2第一範式 106
6.2.3第二範式 109
6.2.4第三範式 111
6.2.5更高級的規範化 112
6.3本章小結 113
第7章開發 117
7.1使用正確的工具 118
7.1.1硬體 118
7.1.2網路 119
7.1.3開發環境 119
7.1.4原始碼控制 120
7.1.5分析器 120
7.1.6靜態分析工具 120
7.1.7測試工具 121
7.1.8原始碼格式器 121
7.1.9重構工具 121
7.1.10培訓 121
7.2選擇算法 121
7.2.1有效果 122
7.2.2有效率 122
7.2.3可預測 124
7.2.4簡潔 124
7.2.5預包裝 125
7.3自上而下的設計 125
7.4編程提示和技巧 127
7.4.1保持清醒 127
7.4.2為人編寫代碼,並非計算機 127
7.4.3注釋優先 128
7.4.4編寫自文檔化的代碼 130
7.4.5保持小巧 131
7.4.6保持專注 132
7.4.7避免副作用 132
7.4.8驗證結果 133
7.4.9實踐“進攻式”編程 135
7.4.10使用異常 136
7.4.11首先編寫異常處理程式 136
7.4.12切勿重複代碼 137
7.4.13推遲最佳化 137
7.5本章小結 138
第8章測試 141
8.1測試的目的 142
8.2永不消亡的bug 143
8.2.1收益遞減 143
8.2.2最後期限 143
8.2.3影響 143
8.2.4為時尚早 143
8.2.5有用性 144
8.2.6過時 144
8.2.7這並非一個bug 144
8.2.8沒有盡頭 145
8.2.9有總比沒有好 145
8.2.10修復bug很危險 145
8.2.11修復哪些bug 146
8.3測試級別 146
8.3.1單元測試 146
8.3.2集成測試 148
8.3.3自動化測試 148
8.3.4組件接口測試 149
8.3.5系統測試 150
8.3.6驗收性測試 150
8.3.7其他測試類型 151
8.4測試技術 152
8.4.1窮舉測試 152
8.4.2黑盒測試 153
8.4.3白盒測試 153
8.4.4灰盒測試 153
8.5測試習慣 154
8.5.1清醒時再進行測試和調試 154
8.5.2測試自己的代碼 154
8.5.3讓其他人測試你的代碼 155
8.5.4修復自己的bug 156
8.5.5修改前請“三思” 157
8.5.6不要相信魔法 157
8.5.7查看改變之處 157
8.5.8修復bug,並非症狀 158
8.5.9對測試用例進行測試 158
8.6如何修復bug 158
8.7估算bug的數量 159
8.7.1跟蹤發現的bug 159
8.7.2播種 160
8.7.3林肯指數 161
8.8本章小結 162
第9章部署 165
9.1範圍 166
9.2計畫 166
9.3切換 167
9.3.1階段性部署 167
9.3.2逐步切換 168
9.3.3增量部署 169
9.3.4並行測試 170
9.4部署任務 170
9.5部署錯誤 171
9.6本章小結 172
第10章度量 175
10.1慶祝會 176
10.2缺陷分析 176
10.2.1bug的種類 176
10.2.2石川圖 178
10.3軟體度量 181
10.3.1好的屬性和度量指標的一些特徵 182
10.3.2度量的用途 182
10.3.3需要度量的對象 184
10.3.4規模標準化 186
10.3.5功能點標準化 188
10.4本章小結 192
第11章維護 195
11.1維護成本 196
11.2任務分類 197
11.2.1完成性任務 197
11.2.2適應性任務 200
11.2.3糾正性任務 201
11.2.4預防性任務 203
11.2.5個別bug 207
11.2.6“非我發明” 207
11.3任務執行 208
11.4本章小結 208
第Ⅱ部分模型
第12章預測模型 215
12.1模型 215
12.2預備知識 216
12.3預測和自適應 216
12.3.1成功和失敗的標誌 217
12.3.2利與弊 218
12.4瀑布 219
12.5帶有反饋的瀑布 220
12.6生魚片 221
12.7增量瀑布 222
12.8V模型 224
12.9系統開發生命周期 224
12.10本章小結 227
第13章疊代模型 229
13.1疊代與預測 230
13.2疊代與增量 231
13.3原型 232
13.3.1原型的類型 233
13.3.2優缺點 234
13.4螺旋模型 235
13.4.1澄清 237
13.4.2優勢和不足 238
13.5統一過程 239
13.5.1優勢和不足 240
13.5.2RUP 241
13.6潔淨室模型 241
13.7本章小結 242
第14章RAD 245
14.1RAD的主要原則 246
14.2JamesMartinRAD 249
14.3敏捷開發 249
14.3.1自組織團隊 252
14.3.2敏捷方法 253
14.4XP 256
14.4.1XP的角色 257
14.4.2XP的價值觀 257
14.4.3XP實踐 258
14.5Scrum 264
14.5.1Scrum角色 264
14.5.2Scrum衝刺 265
14.5.3計畫撲克 266
14.5.4燃盡圖 267
14.5.5速率 268
14.6精益軟體開發 268
14.7水晶方法 269
14.7.1透明水晶 271
14.7.2黃色水晶 272
14.7.3橙色水晶 272
14.8功能驅動開發 274
14.8.1FDD角色 274
14.8.2FDD階段 275
14.8.3FDD疊代里程碑 277
14.9敏捷統一過程 278
14.10規範敏捷交付 280
14.10.1DAD原則 280
14.10.2DAD角色 280
14.10.3DAD階段 281
14.11動態系統開發方法 282
14.11.1DSDM階段 282
14.11.2DSDM原則 283
14.11.3DSDM角色 284
14.12看板軟體開發方法 285
14.12.1看板的一些原則 285
14.12.2和看板有關的一些實踐 286
14.12.3看板圖 286
14.13本章小結 287
附錄A習題答案 293
術語表 337

相關詞條

熱門詞條

聯絡我們