測試系統(tǒng)構(gòu)建技術(shù) ——基于C++和Qt的框架軟件
定 價:78 元
- 作者:趙文波
- 出版時間:2023/7/1
- ISBN:9787121458255
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP206
- 頁碼:292
- 紙張:
- 版次:01
- 開本:16開
本書介紹測試系統(tǒng)構(gòu)建領(lǐng)域通用測試系統(tǒng)的設(shè)計實現(xiàn),并使用C++和Qt技術(shù)實現(xiàn)通用化的測試系統(tǒng)框架,內(nèi)容包括測試系統(tǒng)行業(yè)背景、具體技術(shù)、具體的設(shè)計實現(xiàn)等。全書共4個部分。第1部分為測試系統(tǒng)框架,介紹行業(yè)背景、通用測試系統(tǒng)、C++和Qt技術(shù)。第2部分為關(guān)鍵技術(shù),介紹實現(xiàn)通用測試系統(tǒng)的幾個核心技術(shù)。第3部分為工程實踐,介紹一套通用測試系統(tǒng)的具體設(shè)計與實現(xiàn)。第4部分為測試信息化,介紹測試系統(tǒng)領(lǐng)域的測試信息化建設(shè)。本書既可作為研制測試系統(tǒng)的參考書,也可作為學(xué)習(xí)Qt及框架軟件設(shè)計的參考書。
趙文波,北京海為科技有限公司工程師,多年深耕計算機工程一線,曾作為中科院下屬企業(yè)核心技術(shù)人員,參與多個重大航天工程,參與地面測試系統(tǒng)研制,歷任工程師、架構(gòu)師、項目經(jīng)理。現(xiàn)創(chuàng)業(yè),面向商業(yè)航天、民用產(chǎn)品,承接各類測試系統(tǒng)研制、提供測試相關(guān)服務(wù)。
第1部分 測試系統(tǒng)框架
第1章 測試系統(tǒng) 1
1.1 概述 2
1.1.1 測試 2
1.1.2 構(gòu)建方法、步驟 2
1.1.3 測試的原理 3
1.1.4 應(yīng)用價值 4
1.2 結(jié)構(gòu)組成 5
1.2.1 硬件部分 5
1.2.2 軟件部分 6
1.2.3 線纜 6
1.3 功能組成 7
1.3.1 基本功能 7
1.3.2 功能齊全的測試系統(tǒng) 7
1.3.3 自動化測試 8
1.3.4 一個誤區(qū) 8
1.4 涉及的技術(shù) 9
1.4.1 總線通信技術(shù) 9
1.4.2 計算機軟件技術(shù) 11
1.4.3 程控儀器儀表 12
1.4.4 硬件模塊—數(shù)據(jù)采集、輸出 14
1.5 實現(xiàn) 15
1.5.1 虛擬儀表 15
1.5.2 TestStand 17
1.5.3 C++/Java/C# 17
第2章 通用測試系統(tǒng) 18
2.1 通用化 18
2.1.1 面向的組織 18
2.1.2 實現(xiàn)通用化的方法 18
2.2 設(shè)計實現(xiàn) 19
2.2.1 功能配置 20
2.2.2 測試系統(tǒng)框架 21
2.3 應(yīng)用階段 23
2.3.1 研制階段—調(diào)試測試 24
2.3.2 測試階段—測試驗證 26
2.3.3 生產(chǎn)階段—自動化測試 27
2.3.4 測試信息化建設(shè) 29
第3章 C++和Qt 31
3.1 C++ 31
3.1.1 C++介紹 31
3.1.2 選擇C++ 33
3.1.3 C++與Java對比 34
3.1.4 C++的缺陷 35
3.2 Qt 36
3.2.1 Qt的基本特點 36
3.2.2 Qt的兩條技術(shù)線 38
3.2.3 Qt與MFC對比 40
3.2.4 Qt與其他界面庫對比 40
3.3 使用Qt 41
3.3.1 開發(fā)環(huán)境 42
3.3.2 工程思路 44
3.3.3 子類化 45
3.3.4 QObject 47
3.3.5 QWidget 47
3.3.6 QtTest 48
3.4 基礎(chǔ)架構(gòu) 49
3.4.1 B/S和C/S 49
3.4.2 Web應(yīng)用 49
3.4.3 本地應(yīng)用程序 51
第2部分 關(guān) 鍵 技 術(shù)
第4章 面向接口編程 53
4.1 程序設(shè)計 53
4.1.1 面向過程和面向?qū)ο?54
4.1.2 面向接口編程 56
4.2 建模工具—UML 59
4.2.1 類圖 59
4.2.2 序列圖 59
4.2.3 繪圖工具 60
4.3 Qt中面向接口編程 60
4.4 幾個設(shè)計模式 61
4.4.1 工廠模式 62
4.4.2 觀察者模式 64
4.4.3 總結(jié) 66
第5章 動態(tài)創(chuàng)建技術(shù) 68
5.1 動態(tài)創(chuàng)建 68
5.1.1 動態(tài)庫 68
5.1.2 運行時加載動態(tài)庫 69
5.1.3 創(chuàng)建對象的方法 69
5.2 C++動態(tài)創(chuàng)建 71
5.2.1 原理 71
5.2.2 舉例 72
5.3 Qt動態(tài)創(chuàng)建 77
5.3.1 Qt自定義控件接口 78
5.3.2 實現(xiàn)原理 79
5.3.3 Qt插件 81
5.4 如何應(yīng)用 83
第6章 組態(tài)軟件技術(shù) 85
6.1 組態(tài)軟件 85
6.1.1 測試系統(tǒng)中的組態(tài) 85
6.1.2 技術(shù)基礎(chǔ) 87
6.2 Qt組態(tài)支持 88
6.2.1 Qt元對象系統(tǒng) 88
6.2.2 Qt屬性系統(tǒng) 89
6.3 Qt自定義控件 93
6.3.1 Qt設(shè)計師 93
6.3.2 自定義控件工程 94
6.3.3 Qt設(shè)計師控件集合類 97
6.3.4 控件抽象接口類 98
6.3.5 自定義控件—排序列表 99
6.4 Qt動態(tài)UI 101
6.4.1 簡單的方法 101
6.4.2 QUiLoader 103
6.4.3 QFormBuilder 104
6.5 組態(tài)框架軟件 104
6.5.1 分析 105
6.5.2 子類化QMdiArea 106
6.5.3 子類化QToolBox 107
6.5.4 子類化QTreeWidget 108
6.5.5 框架軟件 109
6.6 重點是什么 111
第7章 腳本引擎技術(shù) 112
7.1 腳本語言 112
7.2 腳本引擎 114
7.3 Google V8腳本引擎 115
7.3.1 編譯Google V8 116
7.3.2 使用Google V8 116
7.3.3 腳本調(diào)用C++函數(shù) 119
7.3.4 封裝Google V8 122
7.4 QtScript腳本引擎 127
7.4.1 執(zhí)行腳本 128
7.4.2 在腳本中調(diào)用C++ 128
7.4.3 C++調(diào)用腳本 130
7.5 性能對比 131
7.5.1 Google V8性能測試 131
7.5.2 QtScript性能測試 132
7.5.3 Python性能測試 133
7.5.4 結(jié)論 134
第3部分 工 程 實 踐
第8章 總線仿真測試平臺 135
8.1 面向的領(lǐng)域 136
8.1.1 總線接口測試 136
8.1.2 仿真測試 136
8.1.3 硬件運行環(huán)境 138
8.2 軟件構(gòu)成 139
8.3 功能組成 141
8.4 特點 142
8.4.1 測試建!油ㄓ 142
8.4.2 測試腳本—自動化測試 143
8.4.3 更加好用 145
8.5 優(yōu)勢 147
第9章 系統(tǒng)架構(gòu)設(shè)計 149
9.1 設(shè)計理念 149
9.1.1 輕量化 149
9.1.2 簡便化 150
9.1.3 自動化 150
9.1.4 終極目的—好用 151
9.2 技術(shù)選型 152
9.2.1 硬件平臺 152
9.2.2 C++和Qt 152
9.2.3 JavaScript 153
9.3 整體架構(gòu) 153
9.3.1 概念設(shè)計 154
9.3.2 架構(gòu)圖 155
9.3.3 軟件項 157
9.3.4 數(shù)據(jù)流 157
9.4 測試模型 159
9.4.1 問題域 159
9.4.2 解決之道 161
9.4.3 組成 163
9.4.4 “造輪子” 169
9.4.5 電子化 172
9.5 功能設(shè)計 174
9.5.1 軟件功能分解 175
9.5.2 插件 177
9.6 數(shù)據(jù)存儲設(shè)計 179
9.6.1 文件存儲 179
9.6.2 數(shù)據(jù)庫存儲 179
第10章 軟件設(shè)計 181
10.1 模塊清單 181
10.2 框架接口設(shè)計 183
10.2.1 分析 183
10.2.2 類圖 184
10.2.3 插件接口類 184
10.2.4 測試執(zhí)行框架的接口 189
10.2.5 測試服務(wù)框架的接口 193
10.3 序列圖 194
10.4 其他設(shè)計 194
10.4.1 外部接口 194
10.4.2 存儲結(jié)構(gòu) 195
10.4.3 時間同步和心跳包等 197
10.5 公共庫 197
10.5.1 測試模型 197
10.5.2 動態(tài)創(chuàng)建模塊 201
10.5.3 文件存儲系統(tǒng) 202
10.5.4 JsV8模塊 203
10.5.5 ATML模塊 204
10.5.6 公共界面 205
10.5.7 編寫單元測試 207
10.6 Qt項視圖技術(shù)—MVC 207
第11章 測試執(zhí)行框架 211
11.1 類圖及組成 211
11.2 通信服務(wù)模塊 212
11.2.1 類圖 212
11.2.2 實現(xiàn)框架服務(wù)接口 213
11.2.3 清單 213
11.2.4 接口類 214
11.3 前臺界面模塊 216
11.3.1 主框架類MainWindow 216
11.3.2 主框架—公共槽函數(shù) 217
11.3.3 命令響應(yīng)類 219
11.3.4 通信調(diào)試窗口 219
11.3.5 接口屬性窗口 220
11.4 序列圖 221
11.5 Qt拖曳技術(shù) 221
第12章 測試服務(wù)框架 224
12.1 設(shè)計 224
12.1.1 性能設(shè)計 224
12.1.2 界面設(shè)計 225
12.1.3 插件機制 226
12.1.4 類清單 227
12.1.5 序列圖 227
12.2 內(nèi)部接口類 228
12.3 框架接口類 229
12.3.1 設(shè)備管理接口 229
12.3.2 資源接口 230
12.4 其他類 231
12.4.1 對象管理器 231
12.4.2 主程序 232
第13章 控件系統(tǒng) 234
13.1 設(shè)計實現(xiàn) 234
13.1.1 注冊機制 235
13.1.2 獲取實時數(shù)據(jù) 236
13.2 控件接口 236
13.2.1 默認實現(xiàn) 236
13.2.2 泛型模板類 237
13.3 序列圖 237
13.4 控件舉例 238
13.4.1 數(shù)值顯示框控件 239
13.4.2 實時數(shù)據(jù)表格 241
13.4.3 實時曲線圖 243
13.4.4 命令按鈕控件 244
13.5 屬性窗口插件 248
13.5.1 接口類 249
13.5.2 通用的SCPI模塊 250
第14章 通信模塊 252
14.1 實現(xiàn)原理 252
14.1.1 模塊標(biāo)識符sId 253
14.1.2 注冊機制 254
14.2 接口類 254
14.2.1 屬性配置接口IConfig 255
14.2.2 總線讀寫接口IIO 256
14.2.3 IDrive的默認實現(xiàn) 257
14.3 序列圖 257
14.4 插件舉例 258
14.4.1 數(shù)據(jù)生成器插件 258
14.4.2 問答通信模塊 262
第4部分 測試信息化
第15章 測試信息化建設(shè) 265
15.1 Web技術(shù) 265
15.1.1 基礎(chǔ)技術(shù) 266
15.1.2 庫、框架、概念 266
15.2 信息化 267
15.3 測試信息化 268
15.3.1 整體架構(gòu) 268
15.3.2 應(yīng)用層 269
15.3.3 數(shù)據(jù)服務(wù)層 270
15.4 熱門概念 270
第16章 總結(jié) 272
16.1 工程實踐 272
16.2 軟件研發(fā)知識圖譜 273
16.3 軟件工程 275
16.4 待改進項 275
附錄A 應(yīng)用案例 277
參考文獻 278