編輯推薦
《航天型號軟件工程方法與技術》主要麵嚮的讀者是航天型號軟件的設計人員、開發人員、測試人員以及管理人員,也可以作為相關專業人員瞭解和掌握航天型號軟件工程的參考書。
內容簡介
《航天型號軟件工程方法與技術》在分析國內外航天軟件工程實施情況的基礎上,全麵介紹瞭航天型號軟件研製過程和管理內容,並深入闡述瞭軟件研製各階段、軟件項目管理與計劃、軟件配置管理和軟件質量保證等涉及的理論、方法和相關技術,詳細分析瞭模型驅動軟件開發方法和形式化開發方法在我國航天軟件工程中的應用前景,不僅能夠係統、全麵地指導航天型號軟件工程的實施,還對航天型號軟件工程的發展進行瞭探討。
航天型號軟件研製引入軟件工程思想是任務順利實施的重要保障。航天軟件工程標準體係建設、技術和方法研究、軟件研製和管理隊伍培養等方麵取得瞭顯著成果。但是,軟件工程化標準實施過程缺乏係統化的指南。本書結閤作者多年從事載人航天工程軟件工程工作的實踐,在分析國內外航天軟件工程實施情況的基礎上,係統地總結和介紹瞭航天型號軟件工程研製的過程、技術與管理方法;具有較高的學術水平與實踐指導意義。
目錄
第1章 概 述 1
1.1 軟件工程的概念 1
1.1.1 軟件工程定義 1
1.1.2 軟件工程的基本約束 2
1.1.3 軟件工程的研究內容 5
1.2 航天實施軟件工程的必要性 9
1.2.1 軟件質量問題影響型號任務成敗 9
1.2.2 航天型號軟件研製麵臨挑戰 14
第2章 航天型號軟件工程化的要素和方法 16
2.1 航天型號軟件的分類 16
2.2 航天型號軟件工程的核心要素 17
2.2.1 軟件開發過程 18
2.2.2 軟件開發方法 26
2.2.3 軟件工程工具 29
2.3 航天型號軟件工程的管理內容 33
2.3.1 策劃管理 33
2.3.2 需求管理 33
2.3.3 過程追蹤與監控 33
2.3.4 配置管理 33
2.3.5 過程與産品質量保證 33
2.3.6 外協管理 34
2.3.7 評審管理 34
2.3.8 文檔管理 34
2.3.9 開發工具的使用管理 34
第3章 國外航天型號的軟件工程化情況 35
3.1 軟件過程改進標準和方法 35
3.1.1 ISO 9000 35
3.1.2 CMM和CMMI 35
3.2 NASA軟件工程化實踐 39
3.2.1 NASA軟件研製的管理體係 40
3.2.2 NASA標準規範與流程 40
3.3 ESA軟件工程化實踐 48
3.3.1 ESA軟件研製的管理體係 49
3.3.2 ESA標準規範與流程 51
第4章 國內航天型號軟件工程化情況 57
4.1 航天型號軟件工程化概述 57
4.2 載人航天工程軟件工程化發展曆程 58
4.2.1 啓動探索期 58
4.2.2 全麵實施期 59
4.2.3 鞏固發展期 59
4.2.4 軟件工程化成績 60
4.3 載人航天工程軟件工程化標準體係 61
4.3.1 管理規定 62
4.3.2 技術標準 63
第5章 航天型號軟件研製過程 66
5.1 技術流程分類 66
5.1.1 新研軟件技術流程 67
5.1.2 沿用軟件技術流程 67
5.1.3 參數修改軟件技術流程 68
5.1.4 適應性修改軟件技術流程 69
5.2 係統級分析與設計 70
5.2.1 係統分析與設計 71
5.2.2 分係統分析與設計 74
5.3 軟件需求分析 77
5.3.1 輸入與輸齣 77
5.3.2 工作內容 78
5.3.3 齣口準則 79
5.4 軟件設計 80
5.4.1 概要設計 80
5.4.2 詳細設計 82
5.5 軟件實現 84
5.5.1 輸入與輸齣 84
5.5.2 工作內容 85
5.5.3 齣口準則 86
5.6 軟件測試 86
5.6.1 軟件集成測試 86
5.6.2 軟件配置項測試 88
5.7 係統測試 89
5.7.1 軟件係統測試 89
5.7.2 係統試驗驗證 91
5.8 驗收交付 93
5.9 運行維護 93
5.9.1 輸入與輸齣 93
5.9.2 工作內容 93
5.9.3 齣口準則 94
第6章 係統級分析與設計 95
6.1 概述 95
6.2 係統分解方法 96
6.2.1 産品分解結構 96
6.2.2 功能流框圖 97
6.2.3 軟件結構HIPO圖 98
6.3 軟硬件協同設計 99
6.3.1 軟硬件協同設計定義 100
6.3.2 軟硬件協同設計與仿真驗證 101
6.3.3 軟硬件協同設計平颱 102
6.4 軟件復用與外購 104
6.4.1 已有軟件復用過程 104
6.4.2 軟件復用技術 105
第7章 軟件需求分析 110
7.1 概述 110
7.1.1 需求的定義 110
7.1.2 需求的類型 112
7.1.3 需求分析原則 113
7.2 結構化需求分析方法 114
7.2.1 數據流圖 115
7.2.2 數據字典 117
7.2.3 加工規格說明 118
7.2.4 實體-關係圖 118
7.2.5 數據對象描述 119
7.2.6 狀態遷移圖 119
7.3 麵嚮對象的需求分析方法 119
7.3.1 麵嚮對象分析方法概述 120
7.3.2 識彆分析類和對象 122
7.3.3 定義類之間的關係 123
7.3.4 標識類的屬性和服務 124
7.4 軟件需求管理 126
7.4.1 內容與要求 126
7.4.2 需求追蹤方法 127
7.4.3 需求管理工具 128
第8章 軟件設計 131
8.1 概述 131
8.2 軟件設計的原則 132
8.2.1 模塊化 132
8.2.2 抽象 135
8.2.3 逐步求精 135
8.2.4 信息隱藏 135
8.3 結構化軟件設計方法 135
8.3.1 麵嚮數據流的設計方法 135
8.3.2 麵嚮數據結構的設計方法 140
8.3.3 結構化程序設計圖形工具 143
8.4 麵嚮對象軟件設計方法 147
8.4.1 係統設計與對象設計 148
8.4.2 麵嚮對象程序設計 148
8.4.3 麵嚮對象設計工具 150
8.5 數據庫結構設計 151
第9章 軟件實現 153
9.1 概述 153
9.1.1 編程語言分類 153
9.1.2 編程語言的選擇 155
9.2 編程風格與編碼規範 156
9.2.1 程序設計風格 156
9.2.2 C語言編碼規範 161
9.3 高安全可靠的軟件編碼環境 167
9.3.1 編譯器對軟件安全可靠性的影響 167
9.3.2 安全可信編譯器 167
第10章 軟件測試 170
10.1 概述 170
10.1.1 測試策劃 170
10.1.2 測試設計與實現 170
10.1.3 測試執行 171
10.1.4 測試總結 171
10.2 測試方法 172
10.2.1 靜態測試 172
10.2.2 動態測試 172
10.3 軟件單元測試 179
10.3.1 單元測試的內容 180
10.3.2 單元測試的方法 182
10.4 軟件集成測試 187
10.4.1 集成測試的內容 188
10.4.2 集成測試的方法 188
10.5 軟件配置項測試 190
10.5.1 功能測試 190
10.5.2 性能測試 190
10.5.3 接口測試 191
10.5.4 人機交互界麵測試 191
10.5.5 強度測試 191
10.5.6 餘量測試 192
10.5.7 恢復性測試 192
10.5.8 安裝性測試 193
10.5.9 邊界測試 193
10.5.10 安全性測試 193
10.5.11 互操作性測試 194
10.5.12 敏感性測試 194
10.5.13 數據處理測試 194
10.5.14 容量測試 195
10.6 係統測試 195
10.6.1 軟件係統測試 195
10.6.2 係統試驗驗證 195
10.7 迴歸測試 196
10.8 第三方測評 196
10.9 軟件測試工具 197
10.9.1 靜態分析工具 197
10.9.2 單元測試工具 199
10.9.3 嵌入式軟件白盒測試工具 200
10.9.4 測試管理工具 201
第11章 軟件運行維護 202
11.1 概述 202
11.1.1 軟件維護的定義 202
11.1.2 影響維護工作量的因素 203
11.1.3 軟件可維護性 204
11.2 軟件維護的實施 207
11.2.1 維護機構 207
11.2.2 維護的流程 207
11.3 遺留係統的再工程 209
11.3.1 遺留係統的演化 209
11.3.2 軟件再工程和逆嚮工程 210
第12章 軟件安全可靠性 214
12.1 概述 214
12.1.1 安全關鍵軟件定義 215
12.1.2 安全關鍵軟件開發難點和挑戰 216
12.2 安全關鍵軟件開發過程 217
12.2.1 軟件安全計劃 219
12.2.2 係統/分係統設計與分析 220
12.2.3 軟件安全性需求開發 232
12.2.4 軟件安全性設計 246
12.2.5 軟件安全性實現 250
12.2.6 軟件安全性測試 250
12.2.7 軟件運行維護 250
12.2.8 軟件安全性追蹤分析及軟件變更安全性分析 251
12.3 軟件可靠性設計和測試驗證 252
12.3.1 軟件可靠性分配與預計 252
12.3.2 軟件可靠性設計 255
12.3.3 軟件可靠性分析 256
12.3.4 軟件可靠性測試 258
12.3.5 軟件可靠性評估 259
第13章 軟件項目管理與計劃 262
13.1 概述 262
13.2 軟件項目管理過程 262
13.2.1 啓動軟件項目 263
13.2.2 成本估算 263
13.2.3 風險分析 263
13.2.4 進度安排 264
13.2.5 追蹤和控製 264
13.3 軟件開發計劃的實現過程 264
13.3.1 計劃初始階段 264
13.3.2 製訂軟件開發計劃 265
13.3.3 對軟件開發計劃進行審查和批準 265
13.3.4 實施軟件開發計劃 265
13.3.5 軟件開發過程的度量和評價 265
13.3.6 修改軟件開發計劃 265
13.4 軟件開發成本估算 266
13.4.1 基於參數化模型的軟件成本估算 266
13.4.2 非參數化的軟件成本估算 271
(13-6) 272
13.5 進度安排 272
13.5.1 製訂開發進度計劃 273
13.5.2 進度安排的圖形方法 273
13.5.3 追蹤與控製 274
13.6 風險管理 274
13.6.1 風險識彆 274
13.6.2 風險估算 275
13.6.3 風險評價 275
13.6.4 風險監控與應對 275
第14章 配置管理 277
14.1 概述 277
14.1.1 術語和定義 278
14.1.2 配置管理庫 280
14.1.3 配置管理的組織和職責 281
14.2 配置管理流程 282
14.2.1 製訂配置管理計劃 283
14.2.2 建立配置管理係統 286
14.2.3 創建和發布基綫 287
14.2.4 跟蹤與控製變更 288
14.2.5 配置記錄和報告 291
14.2.6 配置審核 292
14.3 技術狀態控製 293
14.3.1 係統級分析與設計 293
14.3.2 軟件需求分析 293
14.3.3 軟件設計 294
14.3.4 軟件實現 294
14.3.5 軟件測試 294
14.3.6 驗收交付 295
14.3.7 運行維護 295
14.4 配置管理工具 296
14.4.1 常用配置管理工具 296
14.4.2 選型與使用注意事項 297
第15章 軟件質量保證 299
15.1 概述 299
15.2 質量保障組織機構 299
15.3 質量保證流程 300
15.3.1 製訂軟件質量保證計劃 302
15.3.2 實施軟件質量保證活動 303
15.3.3 不符閤項處理 306
15.3.4 質量保證維護 307
15.4 軟件評審 307
15.4.1 評審的分類 307
15.4.2 評審原則 309
15.4.3 評審計劃 309
15.4.4 評審流程 309
第16章 模型驅動軟件開發方法 311
16.1 概述 311
16.2 模型驅動架構 315
16.3 體係結構描述語言 318
16.3.1 UML 318
16.3.2 SysML 319
16.3.3 AADL 320
16.3.4 MARTE 323
16.3.5 比較分析 324
16.4 模型驅動開發方法的關鍵技術 325
16.4.1 需求分析 325
16.4.2 麵嚮領域的建模語言語義擴展 326
16.4.3 模型轉換 329
16.4.4 代碼生成 329
16.4.5 基於模型的驗證技術 330
16.4.6 部署與重構 330
16.5 工具支持 331
16.5.1 商業工具 331
16.5.2 開源工具 332
16.5.3 領域模型驅動開發環境研製 336
16.6 小結 337
第17章 形式化軟件開發方法 339
17.1 概述 339
17.2 形式化方法的選用原則 341
17.2.1 形式化程度 341
17.2.2 形式化方法的使用範圍 342
17.2.3 閤理的預期 343
17.3 形式化軟件開發過程 343
17.3.1 軟件係統刻畫階段 343
17.3.2 建模階段 344
17.3.3 規約階段 344
17.3.4 分析階段 345
17.3.5 歸檔階段 345
17.3.6 維護階段 345
17.4 需求描述及形式化 346
17.4.1 需求捕捉的層次 346
17.4.2 需求陳述的明確性 346
17.4.3 需求追蹤性 347
17.4.4 底層原理和直觀描述的可用性 347
17.5 形式化建模 347
17.5.1 數學模型 348
17.5.2 離散和連續域的數學模型 349
17.6 形式化規格說明 353
17.6.1 形式化規範語言 353
17.6.2 形式化規範語言風格 355
17.6.3 形式化規範和生命周期的關係 355
17.6.4 檢測形式化規格說明中的錯誤 356
17.6.5 形式化規格說明的效用 358
17.7 形式化分析 360
17.7.1 自動演繹 360
17.7.2 有限狀態方法 363
17.8 工具支持 364
17.8.1 模型驗證工具 364
17.8.2 定理證明工具 365
17.9 小結 365
17.9.1 應用類型 366
17.9.2 規模和結構 366
17.9.3 類型選擇 366
17.9.4 形式化級彆 366
17.9.5 使用範圍 366
17.9.6 工具支持 366
參考文獻
前言/序言
近年來我國航天事業的偉大成功經驗錶明,在復雜的航天型號係統研製中,全麵推行軟件工程化是保證軟件任務完成的關鍵。本書作者王忠貴作為我國載人航天工程、二期探月工程的參與者和領軍人物,長期從事航天軟件工程的總體設計和軟件工程化工作,在相關理論、技術和標準製訂等方麵積纍瞭豐富的實踐經驗,因此本書具有很好的成書條件和基礎。
本書認真總結瞭作者們多年的工作經驗,詳細分析瞭國內外航天軟件工程的實施情況,全麵介紹瞭航天型號軟件的研製過程和管理內容,深入闡述瞭軟件研製各階段、軟件項目管理與計劃、軟件配置管理和軟件質量保證等涉及的理論、方法和相關技術,並探討瞭模型驅動軟件開發方法和形式化開發方法等軟件工程新技術在我國航天領域可能的應用前景。
我認為,本專著內容豐富全麵,理論易讀好懂,方法安全實用,標準嚴格不二,是一本值得有關專業人員一讀的好書。
我由衷地祝福本書的齣版,期望本書的齣版對航天型號軟件工程化工作起到大的促進作用。
何慶貴2015年2月26日
航天型號軟件工程方法與技術 epub pdf mobi txt 電子書 下載 2024
航天型號軟件工程方法與技術 下載 epub mobi pdf txt 電子書