?
適用對象:1. CTO/CIO;2. 企業架構師;3. 戰略規劃部門的高級管理人員;4. 需要深入了解企業架構的技術人員。
學習收獲:學習企業信息架構設計中的技術架構設計,掌握技術元素的切割,接口的設計與解耦,數據庫結構設計,公共組件設計等技術設計方案。
課程介紹:
1 架構設計文檔視圖
|
?1.1 軟件架構的定義
|
?1.2 架構師能力模型與能力培養
|
?1.3 基于SEI 9種架構評估的方法論
|
?1.4 源代碼目錄結構與設計文檔的關系
|
?1.5 架構視圖、架構文檔與架構劉生
|
?1.6 動手實踐:基于UML模型的文檔視圖
|
?1.7 動手實踐:使用UML工具對現有系統進行反向工程
|
?2 架構決策與選型
|
?2.1 透視技術平臺、框架與類庫的內涵
|
?2.2 評估技術平臺、框架與類庫的方法
|
?2.3 產品與產品線架構決策的差異性
|
?2.4 以往架構決策經驗的復用
|
?2.5 基于骨架代碼的架構決策
|
?2.6 基于Delphi法的架構決策
|
?2.7 基于SEI的9種架構評估方法論
|
?2.8 案例研究:豐田的DFSS-Design For Six Sigma
|
?2.9 動手實踐:移動應用的架構方案決策實踐,評選最佳實踐成果
|
?3 細化架構與切割
|
?3.1 技術切割范式:針對所有業務功能進行技術切割方法論
|
?3.2 技術元素的分層組織
|
?3.3 技術元素的分包組織
|
?3.4 技術元素的相似性與重疊性分析
|
?3.5 技術元素的變化性設計
|
?3.6 技術元素的性能、可靠、穩定與安全設計
|
?3.7 技術元素并行開發與開發管理組織
|
?3.8 技術元素難度復雜度與開發者能力關系
|
?3.9 動手實踐:面向對象與面向方面的技術切割實踐,評選最佳實踐成果
|
?4 接口設計與解耦
|
?4.1 接口設計的基本原則
|
?4.2 接口的變化性與穩定性
|
?4.3 定義技術元素間相互調用的接口
|
?4.4 定義系統外部訪問集成的接口
|
?4.5 定義框架管理的接口
|
?4.6 注入變化觀察技術元素的波及面-耦合性分析
|
?4.7 技術元素職責單一性與松耦合
|
?4.8 案例分析:google的MapReduce的接口設計
|
?4.9 動手實踐:類庫接口設計實踐,評選最佳實踐成果
|
?5 數據庫結構設計與大數據
|
?5.1 數據庫設計的基本原則:適度使用范式原則
|
?5.2 實現數據庫結構的彈性設計8種方案
|
?5.3 大數據設計:權衡SQL與NoSQL
|
?5.4 數據切割:分庫、分區與分布
|
?5.5 數據存儲文件系統的彈性設計:MySQL與淘寶TFS
|
?5.6 數據性能設計方案:對比MemCached、OceanBase與Spark
|
?5.7 數據中的知識與決策
|
?5.8 動手實踐:分組實現數據庫彈性設計,評選最佳實踐成果
|
?6 公共組件設計
|
?6.1 公共組件結構切割
|
?6.2 公共組件接口設計
|
?6.3 公共組件的彈性設計
|
?6.4 公共組件與功能組件的動態耦合設計
|
?6.5 動手實踐:Cache組件設計
|
?6.6 動手實踐:現有系統反向工程的公共組件合理性分析
|
?7 框架平臺設計
|
?7.1 UI框架設計
|
?7.2 功能邏輯組件集成管理框架設計
|
?7.3 數據訪問框架設計
|
?7.4 數據存儲框架設計
|
?7.5 案例分析:HaDoop框架剖析
|
?7.6 動手實踐:現有系統反向工程的自定義框架的合理性分析
|
?8 部署運行維護設計
|
?8.1 規劃系統開發的配置庫結構
|
?8.2 規劃系統的編譯方案
|
?8.3 規劃系統源代碼的版本方案
|
?8.4 規劃系統物理文件的安裝方案
|
?8.5 規劃系統中各個技術元素部署方案
|
?8.6 系統集成構建方案
|
?8.7 注入敏捷思想-持續集成構建
|
?8.8 案例分析:微軟的每日構建
|
?8.9 標注軟件結構中的“運維點”
|
?8.10 制定“運維點”的運行維護策略
|
?8.11 軟件結構中內置免疫系統
|
?8.12 動手實踐:產品源代碼結構、編譯計劃、版本計劃與部署方案,評選最佳實踐成果
|
?9 基于TFS軟件設計管理
|
?9.1 基于TFS的設計模型的版本管理
|
?9.2 基于TFS的設計模型的評審管理
|
?9.3 基于TFS的設計模型的變更管理
|