
技術架構設計培訓
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的設計模型的變更管理