嵌入式軟件架構設計

嵌入式軟件架構設計

開課時間:2019/8/16 8:30:00 地點:深圳

課程大綱

課程背景

培訓收益

課程對象

軟件架構工程師、系統工程師、SE工程師


課程特色

要求:學員攜帶筆記本電腦和U盤來參加培訓,借助大量實例研習推進培訓,讓學員在課堂上真正掌握所學。本課認為“當堂夯實的技能,可用于實際工作”。也歡迎學員帶著實際問題前來參訓!


課程大綱

【模塊一】人人掌握——嵌入式需求

  理大局——嵌入式軟件需求分析的過程【步驟明確,經驗干貨】

  步驟一:系統邊界分析——上下文圖and硬件結構圖

  步驟二:功能需求分析——功能樹or用例圖

  步驟三:用戶接口分析——菜單樹and界面流

  步驟四:軟硬接口分析——和外部軟硬件的接口規約

  步驟五:功能步驟分析——輸入-處理-輸出or用例規約

  步驟六:質量需求分析——本課關注步驟級實時、步驟級可靠

  一組案例……

  劃重點——關鍵點的講與練

  輸入-處理-輸出定義功能需求……頑疾是需求項又多又散?分析、解決。

  與外部軟、硬件的接口需求……頂層數據流圖、上下文圖、硬件結構圖

  高性能和可靠性等質量需求……質量需求如何定義?以某控制器為案例

  一組案例……

  特復雜的功能邏輯如何搞定?=主控流程+可能事件與分支流程+步驟規則

  拷資料——文檔模板+案例資料【外企模板,獨家分享】

  《需求規格》模板

  《需求規格》實例

  一組案例……例如,質量90%可以用“功能的步驟級規則”來定義


【模塊二】始于需求——自頂向下設計運行控制結構

  理大局——運行控制結構的設計過程【步驟明確,經驗干貨】

  步驟一:分析需求(功能范圍+硬件結構)

  步驟二:識別核心模塊

  步驟三:確定控制流,設計控制模式

  步驟四:對關鍵功能,跑通控制過程

  案例分析……上面四步,都有實際案例,并講解自頂向下思維運用

  劃重點——三種嵌入式“運行控制結構”模式

  結構一:多任務結構(OS-based Multi-task)

  結構二:前后臺結構(死循環+中斷)

  結構三:時間片輪詢(Time-slice Polling)

  一組案例……

  劃重點——前后臺與時間片架構的幾個細節

  【大局】采集-分析-控制模式

  【局部1】轉delay為中斷

  【局部2】占空比與中斷

  【局部3】函數的可重入設計

  【局部4】核心代碼性能

  高事件率架構案例:多任務vs.時間片輪轉

  劃重點——統一回答幾個“大的疑問”

  問:我們公司系統比較復雜,性能要求也比較多,總感覺理不清?

  問:我們公司好像沒人會畫多線程協作圖。請問,怎么畫?

  問:我們公司嵌入式分層架構太泛,沒把代碼塊、線程、中斷等說清楚!


【模塊三】深入詳盡——嵌入式分層實戰技巧

  理大局——嵌入式代碼架構,就這么設計【步驟明確,經驗干貨】

  步驟一:借助模式,按“五橫一縱”組織模塊層次

  步驟二:自底向上,先把硬件接口代碼模塊設計好

  步驟三:接口抽象,為多種硬件提供統一接口

  步驟四:服務抽象,提煉可復用的顯示/通信/存儲服務

  步驟五:設計功能層模塊,確定它對下層模塊的調用

  步驟六:設計初始化模塊,確定它對下層模塊的創建和設置

  案例分析……上面六步都有實際案例。重點步驟,有代碼案例。

  劃重點——關鍵點的講與練【有代碼,有真貨】

  Module對Task/Thread的封裝

  ===Module設計的最低要求:沒有隱藏就沒有簡化

  ===模塊封裝task——Message和Task的架構級應用

  Module的可擴展&可配置&可插拔

  ===模塊的可配置式設計——Config Array的架構級應用

  Interface對多個差異模塊的統一抽象

  ===函數指針結構體的架構級應用

  上層對下層的“封裝”與“組裝”

  ===模塊封裝模塊——Layer思想的代碼實現

  ===main()如何優雅地“啟動”各模塊

  拷資料——上述技能,分別對應的代碼案例

  代碼案例…

  代碼案例…

  思想的飛躍——架構之道【學員反饋:“大徹大悟的感覺真爽!”】

  自頂向下——分解思維。架構早期。立足業務,根據需求分解出粗粒度架構

  自底向上——封裝思維。架構后期。立足實現,隱藏細節,統一接口,提煉服務

  抽象vs.具體——抽象是結果,抽象思維的過程從研究多個“具體”開始

  分解vs.封裝——粗粒度架構來自自頂向下分解,細粒度架構來自自底向上封裝

  接口vs.實現——接口定義“做什么”,實現定義“怎么做”

  統一接口——下層有多種“怎么做”時,不要直接調用,要通過統一接口調用

  通用服務——提煉可復用的顯示/通信/存儲服務,“功能代碼”就簡潔易修改了

  ……悟道練習,一起畫腦圖


【模塊四】隔離變化——設計好內部接口、對外接口

  我們常設計這兩種接口

  1.遠程及板間接口或協議

  2.模塊級接口或消息

  遠程及板間接口或協議——如何設計

  步驟一:接口交互過程設計

  步驟二:接口實現技術選擇

  步驟三:接口參數格式定義

  案例:分析著名接口規范……

  模塊級接口——技術風格

  Call(調用)

  Message(消息)

  Callback(回調)

  遠程及板間接口或協議——API二次封裝

  底層協議:負責通用性、跨平臺

  提供API:負責屏蔽細節、方便開發

  案例分析……

  模塊級接口——二次封裝

  核心接口vs.便捷接口(對核心接口的包裝)

  可配置性

  拷資料——對應的資料分享

  接口規范…

    接口案例…

  API案例…


【模塊五】職業生涯——從單板架構師,到方案架構師

  談行業趨勢,聊職業發展

  1.IT行業的人才模型

  2.電子企業的常見發展路徑

  3.我們個人的發展方略

  方案架構師設計自控方案時,工作內容有哪些?

  1.邏輯設計=分層設計+功能子系統劃分

  2.物理設計=硬件拓撲+軟組件分布設計

  3.技術選型=開發技術+運行環境選型

  4.接口設計=接口技術選擇+接口協議定義

  自控方案中的上位機軟件設計

  1.五橫一縱——上位機軟件的模塊分層模式

  2.模塊劃分——覆蓋接口需求

  3.模塊劃分——覆蓋功能需求

  拷資料——對應的資料分享

  《GB設計書》文檔模板解讀、實際范例分析


客戶評價

  與溫昱先生初識于一次部門內訓,金融機構應用信息技術日久,但業務發展之快仍需信息技術部門不斷如何提供有力的技術支持,當時系統設計人員思路難成一致,故邀請先生來講述所得,先生講座生動有趣,案例均為實踐中心得,有助于一線設計人員在低頭干事之余,能夠抬頭看路,從架構高度理解和看待日常工作。


  在廈門,曾和溫老師有過4天晚上的坐而論道,從技術到業界、從數據模型到軟件重構、從職業觀到心理學,彼此頗多啟發。



選擇羅蘭格,選擇專業

關注公眾號
查看更多分享內容

幸运飞艇官网开奖历史