航天型號軟件工程方法與技術
《航天型號軟件工程方法與技術》,作者:王忠貴,劉姝,出版社: 中國宇航出版社。
書籍是用文字、圖畫和其他符號,在一定材料上記錄各種知識,清楚地表達思想[1],並且制裝成卷冊的著作物,為傳播各種知識和思想,積累人類文化[2]的重要工具。
目錄
內容簡介
《□□型號軟件工程方法與技術》在分析國內外□□軟件工程實施情況的基礎上,全面介紹了□□型號軟件研製過程和管理內容,並深入闡述了軟件研製各階段、軟件項目管理與計劃、軟件配置管理和軟件質量保證等涉及的理論、方法和相關技術,詳細分析了模型驅動軟件開發方法和形式化開發方法在我國□□軟件工程中的應用前景,不僅能夠系統、全面地指導□□型號軟件工程的實施,還對□□型號軟件工程的發展進行了探討。 □□型號軟件研製引入軟件工程思想是任務順利實施的重要保障。□□軟件工程標準體系建設、技術和方法研究、軟件研製和管理隊伍培養等方面取得了顯著成果。但是,軟件工程化標準實施過程缺乏系統化的指南。本書結合作者多年從事載人□□工程軟件工程工作的實踐,在分析國內外□□軟件工程實施情況的基礎上,系統地總結和介紹了□□型號軟件工程研製的過程、技術與管理方法;具有較高的學術水平與實踐指導意義。
目錄
第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.1ISO900035
3.1.2CMM和CMMI35
3.2NASA軟件工程化實踐39
3.2.1NASA軟件研製的管理體系40
3.2.2NASA標準規範與流程40
3.3ESA軟件工程化實踐48
3.3.1ESA軟件研製的管理體系49
3.3.2ESA標準規範與流程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.2C語言編碼規範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.1UML318
16.3.2SysML319
16.3.3AADL320
16.3.4MARTE323
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
參考文獻
參考文獻
- ↑ 人類的思想家有哪些——世界十大思想家排名,傳統文化雜談,2019-11-15
- ↑ 人類文化的三種範疇,道客巴巴,2014-02-14