模型驅動的自動化軟件代碼生成技術--氣動數(shù)據(jù)管理框架
本書通過對模型驅動的自動化軟件代碼生成策略、氣動數(shù)據(jù)管理框架、氣動數(shù)據(jù)處理流程和氣動數(shù)據(jù)庫數(shù)據(jù)結構進行研究,對氣動數(shù)據(jù)管理系統(tǒng)進行共性分析,建立自動化軟件框架的領域模型。第1章緒論分析了代碼生成技術和氣動管理系統(tǒng)框架現(xiàn)狀,第2、3章闡述了現(xiàn)有軟件框架和本書使用的設計模式,第4~7章闡述了基礎框架和工作流引擎的設計過程,第8、9章闡述了氣動數(shù)據(jù)管理系統(tǒng)相關設計內容,第10章闡述了氣動數(shù)據(jù)管理框架支撐架構及自動化代碼生成設計,第11章對本書設計的代碼生成框架進行了示范生成效果展示。本書完整展示了氣動數(shù)據(jù)管理和模型驅動代碼生成技術的結合與設計過程,這預示著一種全新的氣動數(shù)據(jù)管理系統(tǒng)開發(fā)方法已經落地,將為推動我國氣動領域數(shù)據(jù)再利用及數(shù)字化工程加速建設奠定基礎。
更多科學出版社服務,請掃碼獲取。
1國家重點工程項目"國家數(shù)值風洞工程"的子課題"驗證與確認數(shù)據(jù)庫建設"的負責人
2.國家重點工程項目"氣動數(shù)據(jù)再利用工程"的子課題"氣動數(shù)據(jù)庫系統(tǒng)建設"的負責人
目錄
叢書序序前言
第1章 緒論 1
1.1 代碼生成技術 1
1.1.1 引言 1
1.1.2 基于模板的代碼自動生成技術 2
1.1.3 基于模型的代碼自動生成技術 5
1.2 氣動數(shù)據(jù)管理框架 9
1.2.1 氣動數(shù)據(jù)管理框架的必要性 9
1.2.2 數(shù)據(jù)管理框架的國內外現(xiàn)狀 12
1.3 小結 20
第2章 基礎軟件框架概況 23
2.1 國外軟件框架介紹 24
2.1.1 Spring 24
2.1.2 Hibernate 25
2.1.3 Struts 26
2.1.4 Express 26
2.1.5 Koa 27
2.1.6 Hapi 27
2.1.7 Nest 27
2.1.8 Sequelize 28
2.1.9 TypeORM 28
2.1.10 React 28
2.1.11 AngularJS 28
2.2 國內框架概況 29
2.2.1 Dubbo 29
2.2.2 Vue 31
第3章 軟件框架的相關設計模式 33
3.1 工廠模式 34
3.1.1 簡單工廠 34
3.1.2 工廠方法模式 35
3.1.3 抽象工廠 35
3.2 單例模式 36
3.3 代理模式 37
3.4 裝飾器模式 38
3.5 解釋器模式 38
3.6 AOP模式 39
3.7 IoC模式 41
3.8 MVC模式 42
3.9 MVVM模式 44
第4章 Noomi設計 48
4.1 概述 48
4.2 Web服務器設計 49
4.2.1 框架結構設計 49
4.2.2 框架運行流程設計 50
4.3 IoC設計 81
4.3.1 實體類定義 81
4.3.2 實例管理 82
4.3.3 類添加過程 82
4.3.4 實例化流程 83
4.4 AOP設計 84
4.4.1 切面定義 84
4.4.2 切面管理 86
4.4.3 設置代理流程 87
4.4.4 通知方法參數(shù) 87
4.4.5 通知執(zhí)行流程 87
4.5 數(shù)據(jù)庫設計 88
4.5.1 數(shù)據(jù)庫配置定義 89
4.5.2 數(shù)據(jù)庫管理初始化流程 89
4.5.3 數(shù)據(jù)庫管理 90
4.6 事務設計 90
4.6.1 事務管理 91
4.6.2 事務執(zhí)行流程 92
4.7 緩存設計 92
4.7.1 緩存類定義 93
4.7.2 緩存添加過程 94
4.7.3 緩存清理過程 95
4.8 日志設計 96
4.8.1 日志管理 96
4.8.2 日志添加流程 97
4.8.3 日志執(zhí)行過程 97
4.9 LaunchHook設計 98
第5章 Relaen設計 99
5.1 概述 99
5.2 框架結構設計 100
5.3 框架運行流程設計 101
5.4 連接與執(zhí)行設計 101
5.4.1 連接 102
5.4.2 連接配置 102
5.4.3 連接管理 103
5.4.4 執(zhí)行管理 104
5.5 實體設計 105
5.5.1 實體類 106
5.5.2 實體列 106
5.5.3 實體管理 107
5.6 關系設計 111
5.6.1 關系注解 112
5.6.2 關系管理流程 113
5.7 查詢設計 113
5.7.1 Query SQL構造器 114
5.7.2 NativeQuery構造器 115
5.7.3 緩存設計 116
5.8 Translator設計 116
5.8.1 Select語句 117
5.8.2 Delete語句 117
5.8.3 Update語句 119
5.8.4 Insert語句 119
5.9 事務設計 121
5.9.1 事務設計方法 121
5.9.2 事務隔離級 124
5.10 鎖機制 125
5.10.1 悲觀鎖 125
5.10.2 樂觀鎖 125
5.11 日志 126
第6章 Nodom框架 128
6.1 概述 128
6.2 Module模塊設計 129
6.3 Model模塊設計 133
6.4 Compile解析器模塊設計 138
6.5 渲染器模塊設計 142
6.6 比較器模塊設計 146
6.7 存儲器模塊設計 149
6.8 表達式模塊設計 150
6.9 應用初始化配置類型模塊設計 151
6.10 基礎服務庫模塊設計 152
6.11 調度器模塊設計 155
6.12 Virtual Dom模塊設計 155
6.13 Css管理器模塊設計 159
6.14 指令模塊設計 160
6.15 自定義元素模塊設計 165
6.16 對象管理器模塊設計 166
6.17 Error異常處理模塊設計 167
6.18 事件模塊設計 168
6.19 事件管理器模塊設計 172
6.20 路由模塊設計 174
第7章 工作流引擎設計 179
7.1 BPMN簡介 179
7.1.1 概念 179
7.1.2 規(guī)范 180
7.2 流程整體設計 181
7.3 元素層設計 183
7.3.1 輔助設計 183
7.3.2 基礎節(jié)點設計 184
7.3.3 任務 184
7.3.4 事件 186
7.3.5 順序流 186
7.3.6 網關 187
7.3.7 子流程 191
7.4 核心層設計 191
7.5 數(shù)據(jù)結構設計 192
7.5.1 工作流引擎 ER圖 192
7.5.2 數(shù)據(jù)庫表結構 194
第8章 氣動數(shù)據(jù)及存儲 202
8.1 氣動數(shù)據(jù)概念 202
8.2 氣動數(shù)據(jù)的作用 204
8.3 數(shù)據(jù)來源 204
8.3.1 風洞試驗的標準流程 205
8.3.2 數(shù)值計算的標準流程 205
8.4 氣動數(shù)據(jù)的生命周期 206
8.4.1 數(shù)據(jù)采集 207
8.4.2 原始數(shù)據(jù) 207
8.4.3 工程數(shù)據(jù) 208
8.4.4 主題數(shù)據(jù) 209
8.4.5 數(shù)據(jù)挖掘 210
8.5 氣動數(shù)據(jù)存在形式 210
8.6 數(shù)據(jù)種類 211
8.7 需要入庫的數(shù)據(jù) 213
8.8 氣動數(shù)據(jù)庫數(shù)據(jù)結構設計 215
8.8.1 飛行器(VEHICLE) 215
8.8.2 試驗風洞(WINDTUNNEL) 216
8.8.3 計算軟件(SOFTWARE) 216
8.8.4 天平(BALANCE) 217
8.8.5 試驗或計算單位(UNIT) 217
8.8.6 試驗模型(MODEL) 218
8.8.7 機身(BODY) 219
8.8.8 翼(WING) 219
8.8.9 尾翼(TAILWING) 220
8.8.10 舵(RUDDER) 221
8.8.11 試驗任務(TASK) 221
8.8.12 試驗條件(CONDITION) 222
8.8.13 試驗狀態(tài)(STATUS) 222
8.8.14 常規(guī)測力試驗(FORCE) 224
8.8.15 鉸鏈力矩試驗(HINGE) 224
8.8.16 測壓試驗(PRESS) 225
8.8.17 測熱試驗(HEAT) 226
8.9 數(shù)據(jù)字典 227
8.9.1 模型部件(COMPONENT) 227
8.9.2 模型類別(MODE_TYPE) 228
8.9.3 數(shù)據(jù)類型(DATA_TYPE) 228
8.9.4 數(shù)據(jù)來源(DATA_SOURSE) 229
第9章 氣動數(shù)據(jù)庫系統(tǒng)通用功能模塊 230
9.1 數(shù)據(jù)采集 230
9.2 數(shù)據(jù)清洗 230
9.3 數(shù)據(jù)入庫 231
9.4 校對審核 234
9.5 數(shù)據(jù)展示 234
9.6 數(shù)據(jù)查詢 236
9.7 數(shù)據(jù)分析 237
9.8 數(shù)據(jù)報表 238
9.9 資源管理 239
9.10 數(shù)據(jù)統(tǒng)計 240
9.11 文檔管理 241
9.12 管理功能 244
9.13 權限管理 244
9.14 系統(tǒng)維護 245
第10章 氣動數(shù)據(jù)管理框架設計 246
10.1 氣動數(shù)據(jù)管理框架整體解決方案 246
10.1.1 流程描述 246
10.1.2 模型轉換 247
10.2 氣動數(shù)據(jù)管理框架架構 250
10.2.1 核心子框架 251
10.2.2 支撐模塊 252
10.2.3 輔助工具 253
10.3 數(shù)據(jù)庫設計 253
10.3.1 概述 253
10.3.2 應用庫設計準則 253
10.3.3 數(shù)據(jù)包 254
10.3.4 安全包 256
10.3.5 算法包 260
10.3.6 統(tǒng)計包 261
10.3.7 公共包 264
10.4 代碼生成主流程 266
10.5 配置文件 266
10.6 模型設計 267
10.6.1 模型 267
10.6.2 編輯配置項 269
10.6.3 校驗器 269
10.6.4 注解器設計 270
10.7 代碼生成算法 270
10.7.1 氣動模型生成算法 270
10.7.2 元數(shù)據(jù)生成算法 271
10.7.3 grid元數(shù)據(jù)生成算法 273
10.7.4 頁面生成算法 274
10.7.5 grid頁面模塊生成算法 275
10.7.6 服務端代碼生成算法 276
10.7.7 Web路由生成算法 277
10.7.8 業(yè)務層代碼生成算法 277
10.7.9 數(shù)據(jù)類型生成算法 278
10.7.10 查詢頁面生成算法 279
10.7.11 可視化生成算法 280
第11章 示范驗證 281
11.1 生成系統(tǒng)概述 281
11.1.1 ER圖設計 281
11.1.2 生成配置 282
11.2 生成效果 283
11.3 結語 295
參考文獻 296