安全關鍵軟體開發與審定——DO-178C標準實踐指南(電子工業出版社出版的書籍)

安全關鍵軟體開發與審定——DO-178C標準實踐指南(電子工業出版社出版的書籍)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《安全關鍵軟體開發與審定——DO-178C標準實踐指南》是2015年6月電子工業出版社出版的圖書,作者是崔曉峰。

基本介紹

  • 中文名:安全關鍵軟體開發與審定——DO-178C標準實踐指南
  • 作者:崔曉峰
  • ISBN:9787121259920
  • 頁數:364頁
  • 定價:89元
  • 出版社:電子工業出版社
  • 出版時間:2015年6月
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書作者是DO-178系列標準的直接制定者之一。書中詳細介紹了如何基於最新版本的DO-178C標準進行高安全軟體開發,既包括對標準的全面介紹,又包括依據該標準進行開發和審定的實用指南;既包含多年從事高安全軟體研製、管理、審定工作的經驗,又包含相關最新軟體技術的深入講解。主要內容有:在系統與安全性大視野中的軟體;DO-178C標準的具體解釋及如何有效使用;DO-178C相關的工具鑑定、基於模型的開發、面向對象技術、形式化方法;成功開發高安全軟體及審定的實用建議;以及與高安全軟體開發和驗證相關的深入專題。

圖書目錄

第一部分 引言
第1章 引言和概覽 2
1.1 安全關鍵軟體的定義 2
1.2 安全性問題的重要性 2
1.3 本書目的和重要提示 4
1.4 本書概覽 5
第二部分 安全關鍵軟體開發的語境
第2章 系統語境中的軟體 8
2.1 系統開發概覽 8
2.2 系統需求 10
2.2.1 系統需求的重要性 10
2.2.2 系統需求的類型 10
2.2.3 良好需求的特性 10
2.2.4 系統需求考慮 11
2.2.5 需求假設 14
2.2.6 分配到軟硬體項 14
2.3 系統需求確認與驗證 14
2.3.1 需求確認 14
2.3.2 實現驗證 15
2.3.3 確認與驗證建議 15
2.4 系統工程師最佳實踐 16
2.5 軟體與系統的關係 18
第3章 系統安全性評估語境中的軟體 20
3.1 航空器與系統安全性評估過程概覽 20
3.1.1 安全性工作計畫 20
3.1.2 功能危險評估 21
3.1.3 系統功能危險評估 22
3.1.4 初步航空器安全性評估 22
3.1.5 初步系統安全性評估 22
3.1.6 共同原因分析 23
3.1.7 航空器安全性評估和系統安全性評估 23
3.2 開發保證 24
3.2.1 開發保證級別 25
3.3 軟體如何置入安全性過程 25
3.3.1 軟體的獨特性 25
3.3.2 軟體開發保證 26
3.3.3 其他視點 27
3.3.4 在系統安全性過程關注軟體的建議 28
第三部分 使用DO-178C開發安全關鍵軟體
第4章 DO-178C及支持檔案概覽 31
4.1 DO-178歷史 31
4.2 DO-178C和DO-278A核心檔案 33
4.2.1 DO-278A與DO-178C的不同 37
4.2.2 DO-178C附屬檔案A目標表概覽 38
4.3 DO-330:軟體工具鑑定考慮 41
4.4 DO-178C技術補充 41
4.4.1 DO-331:基於模型的開發補充 42
4.4.2 DO-332:面向對象技術補充 42
4.4.3 DO-333:形式化方法補充 42
4.5 DO-248C:支持材料 43
第5章 軟體策劃 44
5.1 引言 44
5.2 一般策劃建議 44
5.3 5個軟體計畫 46
5.3.1 軟體合格審定計畫 46
5.3.2 軟體開發計畫 48
5.3.3 軟體驗證計畫 49
5.3.4 軟體配置管理計畫 51
5.3.5 軟體質量保證計畫 53
5.4 3個開發標準 54
5.4.1 軟體需求標準 55
5.4.2 軟體設計標準 55
5.4.3 軟體編碼標準 56
5.5 工具鑑定計畫 57
5.6 其他計畫 57
5.6.2 需求管理計畫 57
5.6.3 測試計畫 57
第6章 軟體需求 58
6.1 引言 58
6.2 定義需求 58
6.3 良好軟體需求的重要性 59
6.3.1 原因1:需求是軟體開發的基礎 59
6.3.2 原因2:好的需求節省時間和金錢 60
6.3.3 原因3:好的需求對安全性至關重要 60
6.3.4 原因4:好的需求對滿足客戶需要是必需的 61
6.3.5 原因5:好的需求對測試很重要 61
6.4 軟體需求工程師 61
6.5 軟體需求開發概覽 62
6.6 收集和分析軟體需求的輸入 63
6.6.1 需求收集活動 64
6.6.2 需求分析活動 64
6.7 編寫軟體需求 65
6.7.1 任務1:確定方法 65
6.7.2 任務2:確定軟體需求文檔版式 66
6.7.3 任務3:將軟體需求劃分為子系統和/或特徵 66
6.7.4 任務4:確定需求優先權 67
6.7.5 一個簡單迂迴(不是一個任務):要避免的斜坡 67
6.7.6 任務5:編檔需求 68
6.7.7 任務6:提供系統需求的反饋 72
6.8 驗證(評審)需求 73
6.8.1 同行評審推薦實踐 74
6.9 管理需求 76
6.9.1 需求管理基礎 76
6.9.2 需求管理工具 77
6.10 需求原型 78
6.11 可追蹤性 79
6.11.1 可追蹤性的重要性和好處 79
6.11.2 雙向可追蹤性 79
6.11.3 DO-178C和可追蹤性 80
6.11.4 可追蹤性挑戰 81
第7章 軟體設計 83
7.1 軟體設計概覽 83
7.1.1 軟體體系結構 83
7.1.2 軟體低層需求 83
7.1.3 設計打包 85
7.2 設計方法 85
7.2.1 基於結構的設計(傳統) 85
7.2.2 面向對象的設計 86
7.3 良好設計的特性 86
7.4 設計驗證 89
第8章 軟體實現:編碼與集成 91
8.1 引言 91
8.2 編碼 91
8.2.1 DO-178C編碼指南概覽 91
8.2.2 安全關鍵軟體中使用的語言 92
8.2.3 選擇一種語言和編譯器 94
8.2.4 編程的一般建議 95
8.2.5 代碼相關的特別話題 102
8.3 驗證原始碼 103
8.4 開發集成 104
8.4.1 構建過程 104
8.4.2 載入過程 105
8.5 驗證開發集成 105
第9章 軟體驗證 106
9.1 引言 106
9.2 驗證的重要性 106
9.3 獨立性與驗證 107
9.4 評審 108
9.4.1 軟體計畫評審 108
9.4.2 軟體需求、設計和代碼評審 108
9.4.3 測試資料評審 108
9.4.4 其他資料項評審 108
9.5 分析 109
9.5.1 最壞情況執行時間分析 109
9.5.2 記憶體餘量分析 110
9.5.3 連結和記憶體映像分析 110
9.5.4 載入分析 111
9.5.5 中斷分析 111
9.5.6 數學分析 111
9.5.7 錯誤和警告分析 112
9.5.8 分區分析 112
9.6 軟體測試 112
9.6.1 軟體測試的目的 112
9.6.2 DO-178C軟體測試指南概覽 114
9.6.3 測試策略綜述 115
9.6.4 測試策劃 119
9.6.5 測試開發 120
9.6.6 測試執行 122
9.6.7 測試報告 124
9.6.8 測試可追蹤性 124
9.6.9 回歸測試 124
9.6.10易測試性 125
9.6.11驗證過程中的自動化 125
9.7 驗證的驗證 126
9.7.1 測試規程評審 127
9.7.2 測試結果的評審 127
9.7.3 需求覆蓋分析 127
9.7.4 結構覆蓋分析 128
9.8 問題報告 134
9.9 驗證過程建議 136
第10章 軟體配置管理 140
10.1 引言 140
10.1.1 什麼是軟體配置管理 140
10.1.2 為何需要軟體配置管理 140
10.1.3 誰負責實現軟體配置管理 141
10.1.4 軟體配置管理涉及什麼 142
10.2 SCM活動 142
10.2.1 配置標識 142
10.2.2 基線 143
10.2.3 可追蹤性 143
10.2.4 問題報告 143
10.2.5 變更控制和評審 146
10.2.6 配置狀態記錄 147
10.2.7 發布 147
10.2.8 歸檔和提取 148
10.2.9 資料控制類 148
10.2.10載入控制 149
10.2.11軟體生命周期環境控制 150
10.3 特別SCM技能 150
10.4 SCM資料 151
10.4.1 SCM計畫 151
10.4.2 問題報告 151
10.4.3 軟體生命周期環境配置索引 151
10.4.4 軟體配置索引 151
10.4.5 SCM記錄 152
10.5 SCM陷阱 152
10.6 變更影響分析 154
第11章 軟體質量保證 157
11.1 引言:軟體質量和軟體質量保證 157
11.1.1 定義軟體質量 157
11.1.2 高質量軟體的特性 157
11.1.3 軟體質量保證 158
11.1.4 常見質量過程和產品問題的例子 159
11.2 有效和無效SQA的特徵 159
11.2.1 有效的SQA 159
11.2.2 無效的SQA 160
11.3 SQA活動 161
第12章 合格審定聯絡 164
12.1 什麼是合格審定聯絡 164
12.2 與合格審定機構的溝通 164
12.2.1 與合格審定機構協調的最佳實踐 165
12.3 軟體完成總結 167
12.4 介入階段審核 168
12.4.1 SOI審核概覽 168
12.4.2 軟體作業輔助概覽 169
12.4.3 使用軟體作業輔助 171
12.4.4 對審核者的一般建議 171
12.4.5 對被審核者的一般建議 176
12.4.6 SOI評審細節 177
12.5 合格審定飛行測試之前的軟體成熟度 184
第四部分 工具鑑定和DO-178C補充
第13章 DO-330和軟體工具鑑定 186
13.1 引言 186
13.2 確定工具鑑定需要和級別(DO-178C的12.2節) 187
13.3 鑑定一個工具(DO-330概覽) 190
13.3.1 DO-330的需要 190
13.3.2 DO-330工具鑑定過程 190
13.4 工具鑑定特別話題 197
13.4.1 FAA規定8110.49 197
13.4.2 工具確定性 197
13.4.3 額外的工具鑑定考慮 198
13.4.4 工具鑑定陷阱 199
13.4.5 DO-330和DO-178C補充 200
13.4.6 DO-330用於其他領域 200
第14章 DO-331和基於模型的開發與驗證 201
14.1 引言 201
14.2 基於模型開發的潛在好處 202
14.3 基於模型開發的潛在風險 204
14.4 DO-331概覽 206
14.5 合格審定機構對DO-331的認識 210
第15章 DO-332和面向對象技術及相關技術 211
15.1 面向對象技術介紹 211
15.2 OOT在航空中的使用 211
15.3 航空手冊中的OOT 212
15.4 FAA資助的OOT和結構覆蓋研究 212
15.5 DO-332概覽 213
15.5.1 策劃 213
15.5.2 開發 213
15.5.3 驗證 213
15.5.4 脆弱性 214
15.5.5 類型安全 214
15.5.6 相關技術 214
15.5.7 常見問題 214
15.6 OOT建議 215
15.7 結論 215
第16章 DO-333和形式化方法 216
16.1 形式化方法介紹 216
16.2 什麼是形式化方法 217
16.3 形式化方法的潛在好處 218
16.4 形式化方法的挑戰 219
16.5 DO-333概覽 220
16.5.1 DO-333的目的 220
16.5.2 DO-333與DO-178C的比較 220
16.6 其他資源 222
第五部分 特別專題
第17章 未覆蓋代碼(無關、無效和非激活代碼) 224
17.1 引言 224
17.2 無關和無效代碼 224
17.2.1 避免無關和無效代碼的晚發現 225
17.2.2 評價無關或無效代碼 225
17.3 非激活代碼 227
17.3.1 策劃 229
17.3.2 開發 229
17.3.3 驗證 230
第18章 現場可載入軟體 231
18.1 引言 231
18.2 什麼是現場可載入軟體 231
18.3 現場可載入軟體的好處 231
18.4 現場可載入軟體的挑戰 232
18.5 開發和載入現場可載入軟體 232
18.5.1 開發系統成為現場可載入的 232
18.5.2 開發現場可載入軟體 233
18.5.3 載入現場可載入軟體 233
18.5.4 修改現場可載入軟體 234
18.6 總結 234
第19章 用戶可修改軟體 235
19.1 引言 235
19.2 什麼是用戶可修改軟體 235
19.3 UMS例子 236
19.4 為UMS設計系統 236
19.5 修改和維護UMS 238
第20章 實時作業系統 240
20.1 引言 240
20.2 什麼是RTOS 240
20.3 為什麼使用RTOS 241
20.4 RTOS核心及其支持軟體 241
20.4.1 RTOS核心 242
20.4.2 套用編程接口 242
20.4.3 主機板支持包 243
20.4.4 設備驅動 243
20.4.5 支持庫 244
20.5 安全關鍵系統中使用的RTOS的特性 244
20.5.1 確定性 244
20.5.2 可靠的性能 244
20.5.3 硬體兼容 244
20.5.4 環境兼容 244
20.5.5 容錯 244
20.5.6 健康監控 245
20.5.7 可審定 245
20.5.8 可維護 245
20.5.9 可復用 246
20.6 安全關鍵系統中使用的RTOS的特徵 246
20.6.1 多任務 246
20.6.2 有保證和確定性的可調度性 246
20.6.3 確定性的任務間通信 248
20.6.4 可靠的記憶體管理 248
20.6.5 中斷處理 248
20.6.6 鉤子函式 249
20.6.7 健壯性檢查 249
20.6.8 檔案系統 249
20.6.9 健壯分區 249
20.7 需考慮的RTOS問題 250
20.7.1 要考慮的技術問題 250
20.7.2 要考慮的合格審定問題 252
20.8 其他的RTOS相關話題 254
20.8.1 ARINC 653概覽 254
20.8.2 工具支持 256
20.8.3 開源RTOS 256
20.8.4 多核處理器、虛擬化和虛擬機管理器 257
20.8.5 保密性 257
20.8.6 RTOS選擇問題 257
第21章 軟體分區 258
21.1 引言 258
21.1.1 分區:保護的一個子集 258
21.1.2 DO-178C和分區 258
21.1.3 健壯分區 259
21.2 共享記憶體(空間分區) 260
21.3 共享中央處理器(時間分區) 261
21.4 共享輸入/輸出 262
21.5 一些與分區相關的挑戰 262
21.5.1 直接記憶體訪問 262
21.5.2 高速快取 263
21.5.3 中斷 263
21.5.4 分區之間通信 263
21.6 分區的建議 264
第22章 配置數據 268
22.1 引言 268
22.2 術語和例子 268
22.3 DO-178C關於參數數據的指南總結 269
22.4 建議 270
第23章 航空數據 274
23.1 引言 274
23.2 DO-200A:航空數據處理標準 274
23.3 FAA諮詢通告AC 20-153A 277
23.4 用於處理航空數據的工具 278
23.5 與航空數據相關的其他工業檔案 278
23.5.1 DO-201A:航空信息標準 279
23.5.2 DO-236B:航空系統性能最低標準:區域導航要求的導航性能 279
23.5.3 DO-272C:機場地圖信息的用戶需求 279
23.5.4 DO-276A:地形和障礙數據的用戶需求 279
23.5.5 DO-291B:地形、障礙和機場地圖數據互換標準 279
23.5.6 ARINC 424:導航系統資料庫標準 279
23.5.7 ARINC 816-1:機場地圖資料庫的嵌入式互換格式 280
第24章 軟體復用 281
24.1 引言 281
24.2 設計可復用構件 282
24.3 復用先前開發的軟體 285
24.3.1 為在民用航空產品中使用而評價PDS 285
24.3.2 復用未使用DO-178[ ]開發的PDS 289
24.3.3 COTS軟體的額外考慮 290
24.4 產品服役歷史 292
24.4.1 產品服役歷史的定義 292
24.4.2 使用產品服役歷史尋求置信度的困難 292
24.4.3 使用產品服役歷史聲明置信度時考慮的因素 292
第25章 逆向工程 294
25.1 引言 294
25.2 什麼是逆向工程 294
25.3 逆向工程的例子 295
25.4 逆向工程時要考慮的問題 295
25.5 逆向工程的建議 296
第26章 外包和離岸外包軟體生命周期活動 301
26.1 引言 301
26.2 外包的原因 302
26.3 外包的挑戰和風險 302
26.4 克服挑戰和風險的建議 305
26.5 總結 311
附錄A 轉換準則舉例 312
附錄B 實時作業系統關注點 318
附錄C 為安全關鍵系統選擇實時作業系統時考慮的問題 321
附錄D 軟體服役歷史問題 324
縮略語 327
參考文獻 332

熱門詞條

聯絡我們