UML/MDA架構設計
應用於嵌入式系統開發與管理
課程(30小時)
l UML: Unified Modeling Language
l MDD: Model-Driven Architecture
主講人:高煥堂 老師
|
主題 |
內容 |
批註 |
|
Part I:
嵌入式系統建模與開發的主軸 |
領域知識(Domain Knowledge)分析
l 運用物件導向技術,分析領域知識的”概念”(Concept)及其關係(Relationship)
l 建立領域知識的分析模型(Analysis Model),以UML類圖呈現
客戶流程分析
l 採取用例(Use Case)概念,分析客戶與系統的互動情境(Interaction),敍述其使用流程
l 建立使用情境的分析模型,以UML的用例圖呈現,也建立測試用例(Test Case)模型
軟、硬體介面分析與設計
l 確定軟、硬體功能分際
l 分析軟硬體的介面細節需求
l 建立軟、硬體介面模型,以UML組合結構圖(Composite-Structure)呈現
軟體系統建模與開發
l 建立軟體系統的架構,多運用軟體設計模式(Design Pattern)
l 分析軟體的行為,設計軟體行為模型,以UML的順序圖、活動圖和狀態圖呈現
l 建立軟體資料模型,以UML的類圖和ER模型圖呈現
l 以物件導向C語言或C++或Java等其他語言實踐上述的模型
|
|
|
Part II:
物件導向觀念和語言 |
物件導向基本觀念
l 軟體物件與硬體物件
l 物件如何分類
l 類的繼承與物件的組合
|
|
|
C與C++的物件導向機制
l 類(Class)
ü 類的定義
ü 繼承與多型(Polymorphism)
ü 如何設計類
l 介面(Interface)
ü 介面的意義
ü 基類與介面
ü 如何設計基類與介面
l 應用框架(Application Framework)
ü 如何進行抽象(Abstraction)
ü 抽象出基類
ü 反向呼叫(IOC, Inversion of Control)技術
|
|
高煥堂設計的物件導向C語言(LW_OOPC)
l 用途
ü 在設備(如Memory)資源少的嵌入式環境裏並不適合C++,只能使用C語言
ü 包括Keil C51及ANSI-C等
l 物件導向C51應用於單片機的示例
l 物件導向ANSI-C的應用示例
l 物件導向C的機制
ü 如何定義類和誕生物件
ü 如何定義介面
ü 如何實踐設計模式
|
|
軟硬整合設計的C語言(SystemC)
l 用途
ü 以軟體物件模擬硬體物件
ü 有效提升軟硬體的密切結合,獲得高品質
ü 大幅縮短系統開發時程
l 常見的硬體物件及分類
l 使用SystemC的硬體模擬核心
l 如何編寫SystemC的程式碼
|
|
Part III:
MDD(MDA)方法與UML建模技術 |
模型驅動(MDD, Model-Driven Development)方法
l 從需求分析到架構模型的設計
l 從系統分析到系統模型的設計
l 運用設計模式(Design Pattern)
l 從設計模型到C、C++或SystemC程式碼撰寫
基礎UML/SysML
l UML建模語言
ü 語言的要素
ü UML的圖示和語法
ü UML的物件導向基礎
ü UML的應用示例
l UML工具:如EA(Enterprise Architects 7.0)、 Rhapsody等
l UML與SysML
UML建模思想與技術
l 疏耦合
l 虛實相依
l 相依性管理技術
l 軟體是樹幹、硬體是樹葉
l 軟硬體整合建模
l 軟硬體整合模擬 |
|
|
Part IV:
MDD方法與UML建模實務示例 |
Google手機軟體發展實例
l 分析
ü 領域知識架構分析
ü 用例及流程分析
l 設計
ü 軟硬體介面設計
ü 建立軟體結構模型
ü 建立軟體行為模型
l 以LW_OOPC和Java實踐上述設計
認識Google Android框架技術
l 框架vs.類庫
l 通用點vs.擴展點
l 如何開發框架內的C元件
如何建立精緻的Google手機UI模型
l 復習Model-Control-View模式
l 以UML建立UI模型
l 以Java實踐上述模型 |
|
|
Part V:嵌入式設計模式(Design Pattern)應用實務示例 |
單晶片軟體發展實例
l 分析
ü 領域知識架構分析
ü 用例及流程分析
l 軟硬體架構設計
ü 考慮硬體的抽換性
ü 運用Façade/State等設計模式
ü 以UML敍述上述設計
ü 以LW_OOPC-51實踐上述設計
評估物件設計對單晶片資源的額外負擔
l 使用LW_OOPC-51 vs.純粹C51
l 好架構vs.執行效能
l 系統更新與維護的考慮
|
|
|
Part VI:
嵌入式建模與自動化產生程式之實務範例 |
即時(Real-time)控制型軟體發展實例
l 分析
ü 領域知識架構分析
ü 用例及流程分析
ü 系統事件及狀態分析
l 規劃系統的狀態機(State Machine)模型
ü 使用StateWizard建模及開發工具
ü 以UML敍述系統上述狀態模型
ü 以自動產生C++代碼
ü 實際執行測試
進行軟硬整合模擬
l 以SystemC進行硬體的狀態模擬
l 以StateWizard執行軟體狀態機
l 聯合即時測試
|
|
|
Part VII:
總結與討論 |
分析與設計
l 架構設計及其模型的評估
l 介面設計的重要性
l 從模型自動產生程式碼的利與弊
SoS軟體工程
l 軟硬體整合的SoS系統
l SoSE(System of Systems Engineering)軟體工程
(架構)設計師
l 成為優秀(架構)設計師的途徑
l 設計美好架構的心法和工法
|
|
費用: NT$24,500元
服務:
電話:02-2739-8367 Web: www.misoo1.com
E-mail: misoo.tw@gmail.com 地址:台北市忠孝東路5段510號7F
|