測試系統(tǒng)構(gòu)建技術(shù) ——基于C++和Qt的框架軟件
定 價(jià):78 元
- 作者:趙文波
- 出版時(shí)間:2023/7/1
- ISBN:9787121458255
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP206
- 頁碼:292
- 紙張:
- 版次:01
- 開本:16開
本書介紹測試系統(tǒng)構(gòu)建領(lǐng)域通用測試系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn),并使用C++和Qt技術(shù)實(shí)現(xiàn)通用化的測試系統(tǒng)框架,內(nèi)容包括測試系統(tǒng)行業(yè)背景、具體技術(shù)、具體的設(shè)計(jì)實(shí)現(xiàn)等。全書共4個(gè)部分。第1部分為測試系統(tǒng)框架,介紹行業(yè)背景、通用測試系統(tǒng)、C++和Qt技術(shù)。第2部分為關(guān)鍵技術(shù),介紹實(shí)現(xiàn)通用測試系統(tǒng)的幾個(gè)核心技術(shù)。第3部分為工程實(shí)踐,介紹一套通用測試系統(tǒng)的具體設(shè)計(jì)與實(shí)現(xiàn)。第4部分為測試信息化,介紹測試系統(tǒng)領(lǐng)域的測試信息化建設(shè)。本書既可作為研制測試系統(tǒng)的參考書,也可作為學(xué)習(xí)Qt及框架軟件設(shè)計(jì)的參考書。
趙文波,北京海為科技有限公司工程師,多年深耕計(jì)算機(jī)工程一線,曾作為中科院下屬企業(yè)核心技術(shù)人員,參與多個(gè)重大航天工程,參與地面測試系統(tǒng)研制,歷任工程師、架構(gòu)師、項(xiàng)目經(jīng)理,F(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)用價(jià)值 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 自動(dòng)化測試 8
1.3.4 一個(gè)誤區(qū) 8
1.4 涉及的技術(shù) 9
1.4.1 總線通信技術(shù) 9
1.4.2 計(jì)算機(jī)軟件技術(shù) 11
1.4.3 程控儀器儀表 12
1.4.4 硬件模塊—數(shù)據(jù)采集、輸出 14
1.5 實(shí)現(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 實(shí)現(xiàn)通用化的方法 18
2.2 設(shè)計(jì)實(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 測試階段—測試驗(yàn)證 26
2.3.3 生產(chǎn)階段—自動(dòng)化測試 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對(duì)比 34
3.1.4 C++的缺陷 35
3.2 Qt 36
3.2.1 Qt的基本特點(diǎn) 36
3.2.2 Qt的兩條技術(shù)線 38
3.2.3 Qt與MFC對(duì)比 40
3.2.4 Qt與其他界面庫對(duì)比 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è)計(jì) 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 幾個(gè)設(shè)計(jì)模式 61
4.4.1 工廠模式 62
4.4.2 觀察者模式 64
4.4.3 總結(jié) 66
第5章 動(dòng)態(tài)創(chuàng)建技術(shù) 68
5.1 動(dòng)態(tài)創(chuàng)建 68
5.1.1 動(dòng)態(tài)庫 68
5.1.2 運(yùn)行時(shí)加載動(dòng)態(tài)庫 69
5.1.3 創(chuàng)建對(duì)象的方法 69
5.2 C++動(dòng)態(tài)創(chuàng)建 71
5.2.1 原理 71
5.2.2 舉例 72
5.3 Qt動(dòng)態(tài)創(chuàng)建 77
5.3.1 Qt自定義控件接口 78
5.3.2 實(shí)現(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元對(duì)象系統(tǒng) 88
6.2.2 Qt屬性系統(tǒng) 89
6.3 Qt自定義控件 93
6.3.1 Qt設(shè)計(jì)師 93
6.3.2 自定義控件工程 94
6.3.3 Qt設(shè)計(jì)師控件集合類 97
6.3.4 控件抽象接口類 98
6.3.5 自定義控件—排序列表 99
6.4 Qt動(dòng)態(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 重點(diǎn)是什么 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 性能對(duì)比 131
7.5.1 Google V8性能測試 131
7.5.2 QtScript性能測試 132
7.5.3 Python性能測試 133
7.5.4 結(jié)論 134
第3部分 工 程 實(shí) 踐
第8章 總線仿真測試平臺(tái) 135
8.1 面向的領(lǐng)域 136
8.1.1 總線接口測試 136
8.1.2 仿真測試 136
8.1.3 硬件運(yùn)行環(huán)境 138
8.2 軟件構(gòu)成 139
8.3 功能組成 141
8.4 特點(diǎn) 142
8.4.1 測試建!油ㄓ 142
8.4.2 測試腳本—自動(dòng)化測試 143
8.4.3 更加好用 145
8.5 優(yōu)勢(shì) 147
第9章 系統(tǒng)架構(gòu)設(shè)計(jì) 149
9.1 設(shè)計(jì)理念 149
9.1.1 輕量化 149
9.1.2 簡便化 150
9.1.3 自動(dòng)化 150
9.1.4 終極目的—好用 151
9.2 技術(shù)選型 152
9.2.1 硬件平臺(tái) 152
9.2.2 C++和Qt 152
9.2.3 JavaScript 153
9.3 整體架構(gòu) 153
9.3.1 概念設(shè)計(jì) 154
9.3.2 架構(gòu)圖 155
9.3.3 軟件項(xiàng) 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è)計(jì) 174
9.5.1 軟件功能分解 175
9.5.2 插件 177
9.6 數(shù)據(jù)存儲(chǔ)設(shè)計(jì) 179
9.6.1 文件存儲(chǔ) 179
9.6.2 數(shù)據(jù)庫存儲(chǔ) 179
第10章 軟件設(shè)計(jì) 181
10.1 模塊清單 181
10.2 框架接口設(shè)計(jì) 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è)計(jì) 194
10.4.1 外部接口 194
10.4.2 存儲(chǔ)結(jié)構(gòu) 195
10.4.3 時(shí)間同步和心跳包等 197
10.5 公共庫 197
10.5.1 測試模型 197
10.5.2 動(dòng)態(tài)創(chuàng)建模塊 201
10.5.3 文件存儲(chǔ)系統(tǒng) 202
10.5.4 JsV8模塊 203
10.5.5 ATML模塊 204
10.5.6 公共界面 205
10.5.7 編寫單元測試 207
10.6 Qt項(xiàng)視圖技術(shù)—MVC 207
第11章 測試執(zhí)行框架 211
11.1 類圖及組成 211
11.2 通信服務(wù)模塊 212
11.2.1 類圖 212
11.2.2 實(shí)現(xiàn)框架服務(wù)接口 213
11.2.3 清單 213
11.2.4 接口類 214
11.3 前臺(tái)界面模塊 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è)計(jì) 224
12.1.1 性能設(shè)計(jì) 224
12.1.2 界面設(shè)計(jì) 225
12.1.3 插件機(jī)制 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 對(duì)象管理器 231
12.4.2 主程序 232
第13章 控件系統(tǒng) 234
13.1 設(shè)計(jì)實(shí)現(xiàn) 234
13.1.1 注冊(cè)機(jī)制 235
13.1.2 獲取實(shí)時(shí)數(shù)據(jù) 236
13.2 控件接口 236
13.2.1 默認(rèn)實(shí)現(xiàn) 236
13.2.2 泛型模板類 237
13.3 序列圖 237
13.4 控件舉例 238
13.4.1 數(shù)值顯示框控件 239
13.4.2 實(shí)時(shí)數(shù)據(jù)表格 241
13.4.3 實(shí)時(shí)曲線圖 243
13.4.4 命令按鈕控件 244
13.5 屬性窗口插件 248
13.5.1 接口類 249
13.5.2 通用的SCPI模塊 250
第14章 通信模塊 252
14.1 實(shí)現(xiàn)原理 252
14.1.1 模塊標(biāo)識(shí)符sId 253
14.1.2 注冊(cè)機(jī)制 254
14.2 接口類 254
14.2.1 屬性配置接口IConfig 255
14.2.2 總線讀寫接口IIO 256
14.2.3 IDrive的默認(rèn)實(shí)現(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 工程實(shí)踐 272
16.2 軟件研發(fā)知識(shí)圖譜 273
16.3 軟件工程 275
16.4 待改進(jìn)項(xiàng) 275
附錄A 應(yīng)用案例 277
參考文獻(xiàn) 278