作者簡介
趙文波,北京海為科技有限公司工程師,多年深耕計算機工程一線,曾作為中科院下屬企業核心技術人員,參與多個重大航天工程,參與地面測試系統研製,歷任工程師、架構師、項目經理。現創業,面向商業航天、民用產品,承接各類測試系統研製、提供測試相關服務。
關聯
在國產化、自主知識產權等背景下,跨平臺的Qt技術很收歡迎,本書描述基於Qt技術的真實應用、具有 大的參考價值。本書介紹流行的Qt技術在具體行業的應用,融合了行業知識、Qt技術、具體的設計,比只描述Qt技術更有實際價值,比只描述行業知識跟貼近實際應用。本書 大特色是將流行的跨平臺Qt技術、測試系統框架相融合,同時描述一套商業應用框架的核心設計,對工程一線技術人員有 大參考價值。
媒體評論
在國產化、自主知識產權等背景下,跨平臺的Qt技術很收歡迎,本書描述基於Qt技術的真實應用、具有 大的參考價值。本書介紹流行的Qt技術在具體行業的應用,融合了行業知識、Qt技術、具體的設計,比只描述Qt技術更有實際價值,比只描述行業知識跟貼近實際應用。本書 大特色是將流行的跨平臺Qt技術、測試系統框架相融合,同時描述一套商業應用框架的核心設計,對工程一線技術人員有 大參考價值。
目錄
1部分 測試系統框架
1章 測試系統 1
1 1 概述 2
1 1 1 測試 2
1 1 2 構建方法、步驟 2
1 1 3 測試的原理 3
1 1 4 應用價值 4
1 2 結構組成 5
1 2 1 硬件部分 5
1 2 2 軟件部分 6
1 2 3 線纜 6
1 3 功能組成 7
1 3 1 基本功能 7
1 3 2 功能齊全的測試系統 7
1 3 3 自動化測試 8
1 3 4 一個誤區 8
1 4 涉及的技術 9
1 4 1 總線通信技術 9
1 4 2 計算機軟件技術 11
1 4 3 程控儀器儀錶 12
1 4 4 硬件模塊—數據采集、輸出 14
1 5 實現 15
1 5 1 虛擬儀錶 15
1 5 2 TestStand 17
1 5 3 C++/Java/C# 17
2章 通用測試系統 18
2 1 通用化 18
2 1 1 面向的組織 18
2 1 2 實現通用化的方法 18
2 2 設計實現 19
2 2 1 功能配置 20
2 2 2 測試系統框架 21
2 3 應用階段 23
2 3 1 研製階段—調試測試 24
2 3 2 測試階段—測試驗證 26
2 3 3 生產階段—自動化測試 27
2 3 4 測試信息化建設 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的兩條技術線 38
3 2 3 Qt與MFC對比 40
3 2 4 Qt與其他界面庫對比 40
3 3 使用Qt 41
3 3 1 開發環境 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 基礎架構 49
3 4 1 B/S和C/S 49
3 4 2 Web應用 49
3 4 3 本地應用程序 51
2部分 關 鍵 技 術
4章 面向接口編程 53
4 1 程序設計 53
4 1 1 面向過程和面向對象 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 幾個設計模式 61
4 4 1 工廠模式 62
4 4 2 觀察者模式 64
4 4 3 總結 66
5章 動態創建技術 68
5 1 動態創建 68
5 1 1 動態庫 68
5 1 2 運行時加載動態庫 69
5 1 3 創建對象的方法 69
5 2 C++動態創建 71
5 2 1 原理 71
5 2 2 舉例 72
5 3 Qt動態創建 77
5 3 1 Qt自定義控件接口 78
5 3 2 實現原理 79
5 3 3 Qt插件 81
5 4 如何應用 83
6章 組態軟件技術 85
6 1 組態軟件 85
6 1 1 測試系統中的組態 85
6 1 2 技術基礎 87
6 2 Qt組態支持 88
6 2 1 Qt元對象系統 88
6 2 2 Qt屬性系統 89
6 3 Qt自定義控件 93
6 3 1 Qt設計師 93
6 3 2 自定義控件工程 94
6 3 3 Qt設計師控件集合類 97
6 3 4 控件抽象接口類 98
6 3 5 自定義控件—排序列表 99
6 4 Qt動態UI 101
6 4 1 簡單的方法 101
6 4 2 QUiLoader 103
6 4 3 QFormBuilder 104
6 5 組態框架軟件 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章 腳本引擎技術 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 腳本調用C++函數 119
7 3 4 封裝Google V8 122
7 4 QtScript腳本引擎 127
7 4 1 執行腳本 128
7 4 2 在腳本中調用C++ 128
7 4 3 C++調用腳本 130
7 5 性能對比 131
7 5 1 Google V8性能測試 131
7 5 2 QtScript性能測試 132
7 5 3 Python性能測試 133
7 5 4 結論 134
3部分 工 程 實 踐
8章 總線仿真測試平臺 135
8 1 面向的領域 136
8 1 1 總線接口測試 136
8 1 2 仿真測試 136
8 1 3 硬件運行環境 138
8 2 軟件構成 139
8 3 功能組成 141
8 4 特點 142
8 4 1 測試建模—更加通用 142
8 4 2 測試腳本—自動化測試 143
8 4 3 更加好用 145
8 5 優勢 147
9章 系統架構設計 149
9 1 設計理念 149
9 1 1 輕量化 149
9 1 2 簡便化 150
9 1 3 自動化 150
9 1 4 目的—好用 151
9 2 技術選型 152
9 2 1 硬件平臺 152
9 2 2 C++和Qt 152
9 2 3 JavaScript 153
9 3 整體架構 153
9 3 1 概念設計 154
9 3 2 架構圖 155
9 3 3 軟件項 157
9 3 4 數據流 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 功能設計 174
9 5 1 軟件功能分解 175
9 5 2 插件 177
9 6 數據存儲設計 179
9 6 1 文件存儲 179
9 6 2 數據庫存儲 179
10章 軟件設計 181
10 1 模塊清單 181
10 2 框架接口設計 183
10 2 1 分析 183
10 2 2 類圖 184
10 2 3 插件接口類 184
10 2 4 測試執行框架的接口 189
10 2 5 測試服務框架的接口 193
10 3 序列圖 194
10 4 其他設計 194
10 4 1 外部接口 194
10 4 2 存儲結構 195
10 4 3 時間同步和心跳包等 197
10 5 公共庫 197
10 5 1 測試模型 197
10 5 2 動態創建模塊 201
10 5 3 文件存儲系統 202
10 5 4 JsV8模塊 203
10 5 5 ATML模塊 204
10 5 6 公共界面 205
10 5 7 編寫單元測試 207
10 6 Qt項視圖技術—MVC 207
11章 測試執行框架 211
11 1 類圖及組成 211
11 2 通信服務模塊 212
11 2 1 類圖 212
11 2 2 實現框架服務接口 213
11 2 3 清單 213
11 2 4 接口類 214
11 3 前臺界面模塊 216
11 3 1 主框架類MainWindow 216
11 3 2 主框架—公共槽函數 217
11 3 3 命令響應類 219
11 3 4 通信調試窗口 219
11 3 5 接口屬性窗口 220
11 4 序列圖 221
11 5 Qt拖曳技術 221
12章 測試服務框架 224
12 1 設計 224
12 1 1 性能設計 224
12 1 2 界面設計 225
12 1 3 插件機制 226
12 1 4 類清單 227
12 1 5 序列圖 227
12 2 內部接口類 228
12 3 框架接口類 229
12 3 1 設備管理接口 229
12 3 2 資源接口 230
12 4 其他類 231
12 4 1 對象管理器 231
12 4 2 主程序 232
13章 控件系統 234
13 1 設計實現 234
13 1 1 註冊機制 235
13 1 2 獲取實時數據 236
13 2 控件接口 236
13 2 1 默認實現 236
13 2 2 泛型模板類 237
13 3 序列圖 237
13 4 控件舉例 238
13 4 1 數值顯示框控件 239
13 4 2 實時數據表格 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 實現原理 252
14 1 1 模塊標識符sId 253
14 1 2 註冊機制 254
14 2 接口類 254
14 2 1 屬性配置接口IConfig 255
14 2 2 總線讀寫接口IIO 256
14 2 3 IDrive的默認實現 257
14 3 序列圖 257
14 4 插件舉例 258
14 4 1 數據生成器插件 258
14 4 2 問答通信模塊 262
4部分 測試信息化
15章 測試信息化建設 265
15 1 Web技術 265
15 1 1 基礎技術 266
15 1 2 庫、框架、概念 266
15 2 信息化 267
15 3 測試信息化 268
15 3 1 整體架構 268
15 3 2 應用層 269
15 3