買這商品的人也買了...
-
$480$470 -
$420$332 -
$650$514 -
$403TensorFlow技術解析與實戰
-
$403Keras 快速上手:基於 Python 的深度學習實戰
-
$580$568 -
$680$530 -
$499$394 -
$780$616 -
$980$882 -
$352Java 多線程編程實戰指南 (設計模式篇), 2/e
-
$599$569 -
$354$336 -
$980$774 -
$653物聯網 + BIM:構建數字孿生的未來
-
$454實戰供應鏈:業務梳理、系統設計與項目實戰
-
$1,000$850 -
$599$569 -
$7135G 室內覆蓋建設與創新
-
$680$530 -
$3985G新時代與邊緣計算
-
$474$450 -
$1,280$1,011 -
$1,080$853 -
$780$616
相關主題
商品描述
高校本科軟件工程導論教材,適合一學期講授,提供系統的工程方法來講述軟件工程的原籍和方法學。全書內容全面而且具體簡潔。
目錄大綱
前言
第1章 創建一個程序
1.1 一個簡單的問題 1
1.1.1 決策 1
1.1.2 功能需求 1
1.1.3 非功能需求 2
1.1.4 設計約束 3
1.1.5 設計決策 3
1.2 測試 4
1.3 估算工作量 4
1.4 實現 5
1.4.1 關於實現的幾個要點 6
1.4.2 基本設計 6
1.4.3 使用JUnit進行單元測試 7
1.4.4 StringSorter的實現 8
1.4.5 用戶界面 8
1.5 總結 12
1.6 複習題 14
1.7 練習題 14
1.8 參考文獻和建議閱讀15
第2章 構建一個係統16
2.1 構建一個係統的特征16
2.1.1 規模和複雜度16
2.1.2 開發和支持的技術考慮17
2.1.3 開發和支持的非技術考慮19
2.2 係統構建示例20
2.2.1 薪資管理係統需求21
2.2.2 設計薪資管理係統22
2.2.3 薪資管理係統編碼和單元測試23
2.2.4 薪資管理係統的集成和功能測試24
2.2.5 發布薪資管理係統24
2.2.6 支持和維護25
2.3 協調工作25
2.3.1 過程25
2.3.2 產品26
2.3.3 人員26
2.4 總結26
2.5 複習題27
2.6 練習題27
2.7 參考文獻和建議閱讀27
第3章 工程化軟件28
3.1 軟件失敗的示例和特點28
3.1.1 項目失敗28
3.1.2 軟件產品失效29
3.1.3 協調和其他關註點30
3.2 軟件工程30
3.2.1 什麼是軟件工程30
3.2.2 軟件工程的定義31
3.2.3 軟件工程與軟件的相關性31
3.3 軟件工程職業與道德規範32
3.3.1 軟件工程道德準則32
3.3.2 職業行為33
3.4 軟件工程的原則34
3.4.1 早期由Davis提出的軟件工程原則34
3.4.2 更現代的Royce原則35
3.4.3 Wasserman提出的軟件工程基礎概念36
3.5 總結37
3.6 複習題37
3.7 練習題37
3.8 參考文獻和建議閱讀38 第
4章 軟件過程模型39
4.1 軟件過程39
4.1.1 軟件過程模型的目標39
4.1.2 “最簡單”的過程模型40
4.2 傳統過程模型40
4.2.1 瀑布模型40
4.2.2 主程序員製團隊方法41
4.2.3 增量模型41
4.2.4 螺旋模型43
4.3 一個更加現代的過程44
4.3.1 Rational統一過程框架的一般基礎44
4.3.2 RUP的階段44
4.4 進入和退出標準46
4.4.1 進入標準47
4.4.2 退出標準47
4.5 過程評估模型48
4.5.1 SEI的能力成熟度模型48
4.5.2 SEI的能力成熟度集成模型50
4.6 過程定義和通信55
4.7 總結55
4.8 複習題56
4.9 練習題56
4.10 參考文獻和建議閱讀56
第5章 新興過程方法58
5.1 什麼是敏捷過程58
5.2 為什麼使用敏捷過程59
5.3 一些過程方法59
5.3.1 極限編程60
5.3.2 水晶係列方法63
5.3.3 敏捷統一過程65
5.3.4 Scrum66
5.3.5 看板方法:一個新增的敏捷方法67
5.3.6 開源軟件開發68
5.3.7 過程總結69
5.4 過程的選擇70
5.4.1 每一種過程更適用的項目和環境70
5.4.2 敏捷過程的主要風險和缺點71
5.4.3 敏捷過程的主要優點71
5.5 總結71
5.6 複習題71
5.7 練習題72
5.8 參考文獻和建議閱讀72
第6章 需求工程73
6.1 需求處理73
6.1.1 需求處理的準備73
6.1.2 需求工程過程74
6.2 需求獲取與收集75
6.2.1 獲取高層次的需求76
6.2.2 獲取詳細的需求77
6.3 需求分析79
6.3.1 通過業務流進行需求分析和聚類79
6.3.2 通過面向對象用例進行需求分析和聚類80
6.3.3 通過面向視點的需求定義進行需求分析和聚類82
6.3.4 需求分析與排序82
6.3.5 需求可追蹤性84
6.4 需求定義、原型化和審查84
6.5 需求規約與需求協商87
6.6 總結88
6.7 複習題88
6.8 練習題89
6.9 參考文獻和建議閱讀89
第7章 設計:架構與方法論91
7.1 設計簡介91
7.2 架構設計92
7.2.1 什麼是軟件架構92
7.2.2 視圖與視角92
7.2.3 元架構知識:風格、模式、策略和參考架構93
7.2.4 基於網絡的Web參考架構—REST97
7.3 詳細設計98
7.3.1 功能分解98
7.3.2 關係型數據庫設計100
7.3.3 大數據設計103
7.3.4 面向對象設計和UML104
7.3.5 用戶界面設計108
7.3.6 進一步的設計問題112
7.4 HTML-Script-SQL設計示例112
7.5 總結114
7.6 複習題115
7.7 練習題115
7.8 參考文獻和建議閱讀115
第8章 設計的特征與度量117
8.1 設計描述117
8.2 設計屬性的傳統特征117
8.3 “好”的設計屬性120
8.3.1 內聚121 8.3.2 耦合123
8.4 面向對象設計度量125
8.4.1 面向方面的編程127
8.4.2 Demeter法則127
8.5 用戶界面設計127 8.5.1 好的UI的特征127
8.5.2 易用性的評估與測試128
8.6 總結129
8.7 複習題129
8.8 練習題130
8.9 參考文獻和建議閱讀130
第9章 實現133
9.1 實現簡介133
9.2 好的實現的特征133
9.3 實現的實踐137
9.3.1 調試137
9.3.2 斷言和防禦性編程138
9.3.3 性能優化138
9.3.4 重構139
9.3.5 代碼重用140
9.4 雲開發140
9.4.1 基礎設施即服務141
9.4.2 平臺即服務142
9.4.3 雲應用服務142