班級規模及環境--熱線:4008699035 手機:15921673576( 微信同號) |
每期人數限3到5人。 |
上課時間和地點 |
上課地點:【上海】:同濟大學(滬西)/新城金郡商務樓(11號線白銀路站) 【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學成教院 【北京分部】:北京中山學院/福鑫大樓 【南京分部】:金港大廈(和燕路) 【武漢分部】:佳源大廈(高新二路) 【成都分部】:領館區1號(中和大道) 【沈陽分部】:沈陽理工大學/六宅臻品 【鄭州分部】:鄭州大學/錦華大廈 【石家莊分部】:河北科技大學/瑞景大廈 【廣州分部】:廣糧大廈 【西安分部】:協同大廈
最近開課時間(周末班/連續班/晚班):2020年3月16日 |
實驗設備 |
☆資深工程師授課
☆注重質量
☆邊講邊練
☆合格學員免費推薦工作
★實驗設備請點擊這兒查看★ |
質量保障 |
1、培訓過程中,如有部分內容理解不透或消化不好,可免費在以后培訓班中重聽;
2、培訓結束后,授課老師留給學員聯系方式,保障培訓效果,免費提供課后技術支持。
3、培訓合格學員可享受免費推薦就業機會。 |
課程大綱 |
1. 立足設計,分析需求——嵌入式軟件需求
2. 嵌入式架構的重中之重——控制結構設計
3. 重用關鍵——模塊劃分
4. 隔離變化——模塊接口設計
5. 自控方案設計——單板軟件架構師的下一步
培訓特色
了解本課結構:5個模塊
1. 立足設計,分析需求——嵌入式軟件需求
2. 嵌入式架構的重中之重——控制結構設計
3. 重用關鍵——模塊劃分
4. 隔離變化——模塊接口設計
5. 自控方案設計——單板軟件架構師的下一步
課程大綱
主題 內容
立足設計,分析需求——嵌入式軟件需求
課前談——路線圖 與 現身說
【一階技能】貫通需求分析?
? 需求 = 功能需求 + 質量需求 + 約束需求
? 功能 = 接口需求 + 系統能力 + 處理流程
? 需求分析前期任務、用例圖、案例
? 需求分析后期任務、用例規約、案例?
【二階技能】精通需求文檔?
? 需求內容、模型總覽?
? 管理軟件《需求書》實例 and 最佳模板?
? 嵌 入 式《需求書》實例 and 最佳模板
? 嵌入式軟件的接口需求、算法需求刻畫
? 接口需求,要充分體現軟件與傳感器、
執行器、其他系統的雙向對接要求
? 處理流程,往往涉及操作、處理、控制
過程的專業算法,也應分析并歸檔
【三階技能】讓《SRS》成為分析和識別需求變更的工具?
? 需求變更分析:How to
? 需求變更分析:示范案例
? 傳統“輸入-處理-輸出”分析方式的改進
在課堂上練會、夯實的技能,將在工作中直接發揮價值
【實戰】分組實戰,
? 任務:電梯控制板需求變更分析、及如何將變更歸檔
? 貫穿案例推進……
嵌入式架構的重中之重——控制結構設計
設計師設計嵌入式軟件時,有三種控制結構可供選擇
1. 死循環
實現代碼分析……
2. 事件驅動多任務(event-driven multitask)
實現代碼分析……
3. 時間片輪詢架構(time-slice polling)
實現偽代碼分析……
設計師設計嵌入式軟件時,可參考的優秀范例二則
1. 著名飛行器開源產品——多任務架構
主要收獲:入口主程序、Task的劃分、Task間的同步
主要收獲:中斷函數在多任務架構下的經典寫法
2. 某硬實時單板控制器——時間片輪詢架構
主要收獲:入口主程序代碼骨架
主要收獲:中斷函數在時間片輪詢架構下的經典寫法
設計師設計嵌入式軟件時,根據性能選擇架構
1. 嵌入式性能:
? 速 度:響應時間長短?
? 效 率:任務切換過頻怎么辦?
? 吞吐量:每秒處理事件數等
2. 三種控制結構的適用場景
? 事件率高低
? 事件率波動規律、峰值
3. 案例故事:某單板程序,高事件率下CPU占用率100%
? 設計一:事件驅動多任務架構(有OS)
? 設計二:時間片輪詢架構(無需OS)
? 設計優劣對比
在課堂上練會、夯實的技能,將在工作中直接發揮價值
【實戰】分組設計實戰?
? 任務:多任務or時間片輪詢架構的選擇
? 貫穿案例推進……
重用關鍵——模塊劃分
設計師劃分模塊時,代碼結構的全局劃分方法
1. 從模式開始——巧妙的“五橫一縱”分層模式
2. 模塊劃分——覆蓋上下文圖定義的接口需求
3. 模塊劃分——運用用例驅動設計思維
3.1. 起步:分析用例規約,識別實現用例的那些代碼塊
3.2. 后續:協作設計,即用序列圖串起這些代碼
設計師劃分模塊時,注意幾個基本原則
1. 通用-專用分離:提煉應用無關的Library、或選擇三方庫
2. 通用-專用分離:機制與策略分離,開發或選擇Framework
3. 隔離外部交互:僅UI層“知道”操作細節和展現格式
4. 隔離外部交互:僅SI層“知道”和外部部件通信的細節
5. 隔離外部交互:僅DM層“知道”數據存儲格式
設計師劃分模塊時,可參考的優秀范例一則
1. 著名開源產品套件——Mumble
主要收獲:模塊的劃分、通用庫的提煉、三方框架…
實戰演練?
1. 任務:模塊劃分
(必須覆蓋代碼結構全局、不能漏模塊)
2. 貫穿案例推進……
隔離變化——模塊接口設計
設計師設計接口時,考慮的三件事兒
1. 技術選擇:接口設計容易?做漂亮最難!
2. 機制選擇:調用/回調/同步/異步/輪詢/超時
3. 格式定義:函數風格 vs.報文或消息風格
設計師設計接口時,可參考的優秀范例一則
4. 某通用產品——漂亮的C語言接口、方便的配置
主要收獲:圍繞Domain Type定義模塊的核心接口
主要收獲:在核心接口基礎上,可定義便捷接口
注?英文術語為Core Interface、Convenience Interface
設計師設計接口時,這些經驗可以用
1. 基于代碼:專項練習一
2. 基于代碼:專項練習二
3. 基于代碼:專項練習三
4. 原則與“坑”總結
實戰演練?
1. 任務1:接口的命令化(Command)支持可擴展
2. 任務2:讓接口包含回調(Callback)使模塊通用化?
3. 貫穿案例設計推進……
自控方案設計——單板軟件架構師的下一步
架構師設計自控方案時,工作內容有哪些?
1. 邏輯設計 = 分層設計 + 功能子系統劃分
2. 物理設計 = 硬件拓撲 + 軟組件分布設計
3. 技術選型 = 開發技術 + 運行環境選型
4. 接口設計 = 接口技術選擇 + 接口協議定義
架構師設計自控方案時,需求文檔怎么寫?
1. 《需求規格書》模板解讀
2. 《需求規格書》實際范例分析
架構師設計自控方案時,架構文檔怎么寫?
1. 《GB SSDD》文檔模板解讀
2. 《GB架構書》實際范例分析 |
|
|
|
|
|
|
|