| 主題一: 軟件架構本質 | 1.軟件架構思想 | (1)軟件架構誕生原因和定義 (2)軟件架構設計的任務,質量評價,特點 (3)軟件架構的主要理論、方向和趨勢 (4)Zachman架構框架, Meta Group/ Open Group/Gartner企業架構 (5)基于J2EE,.Net等技術架構概述 |
| 2.軟件架構的視圖 | (1)軟件架構視圖的意義 (2)4+1架構視圖 (3)邏輯視圖 開發視圖 物理視圖 運行視圖 場景視圖 (4)如何和怎樣繪制軟件架構視圖 (5)UML建模工具在架構視圖的應用 (6)結合多個案例,進行分析軟件架構視圖 |
| 3.軟件架構文檔編寫 | (1)軟件架構文檔的意義 (2)ISO模板和RUP模板 (3)軟件架構文檔的結構(避免出現不必要的重復和缺少關鍵信息) (4)從讀者的角度編寫軟件架構文檔 (5)軟件架構文檔記錄原理和如何避免歧義 (6)文檔的后期管理(使文檔保持更新) (7)軟件架構文檔的評審 (8)結合多個案例,進行分析和評價軟件架構文檔 |
| 主題二:軟件架構設計過程 | 1.軟件架構設計過程 | (1)軟件架構設計過程方法論(應該有法可依) (2)確定關鍵需求 (3)概念架構設計??? (4)細化架構設計 (5)軟件架構的驗證 (6)結合具體案例進行分析,介紹當初項目架構設計的過程 |
| 2. 需求決定架構 | (1)軟件功能需求對架構的影響 (2)軟件質量需求對架構的影響 (3)軟件約束條件與架構的影響 (4)結合多個案例,分析關鍵功能需求,質量屬性需求,約束對架構的影響(項目錯誤的架構,導致不能最終驗收) |
| 3. 概念架構設計 | (1)軟件架構立方體圖 (2)軟件架構模式和架構師經驗的引入 (3)使用目標-場景-決策表進行迭代架構設計 (4)綜合初步設計,確定高層分割 (5)結合案例,進行分析該階段的主要任務和相關成果,注意事項等 |
| 4. 細化架構設計 | (1)根據功能確定職責模型 (2)根據質量調整職責模型 (3)基于接口確定職責間協作 (4)完成4+1架構視圖 (5)完成架構文檔 (6)結合案例,進行細化架構的主要方法和成果,以及注意事項等 |
| 5.架構設計的驗證和評審 | (1)軟件架構的驗證 (2)軟件架構的驗證方法和指標 (3)軟件架構的重構 (4)軟件架構的評審 (5)軟件架構的風險管理 (6)結合案例,分析如何進行驗證架構和架構設計的后期重構技巧 |
| 主題三:軟件架構設計原則與架構模式 | 1.軟件架構模式 | (1)軟件架構模式概述 (2)分層架構模式 (3)Pipe/Filter Pattern (4)MVC Pattern (5)Event-Based Pattern和Microkernel Pattern (6)其他模式的介紹 (7)軟件架構模式如何應用在實際項目 (8)架構師實際項目架構經驗總結和應用 |
| 2.軟件架構設計的方法論 | (1)什么是架構任務,如何分離關注點,它和系統是如何關聯的 (2)如何獲得可維護性、可擴展性、可重用性、互操作性等 (3)在系統中如何組織組件(Component) (4)如何組織組件(Component)的內部 (5)如何保持平臺相關的細節和應用的分離 (6)如何應用封裝(encapsulation)、抽象(abstraction)和 委派(delegation)的原則 (7)如何應用設計模式來實現好的結構 (8)如何使測試改進架構 |
| 3.設計模式技術在軟件架構設計之中的應用 | (1)面向對象軟件架構設計思想 (2)設計模式的本質論 (3)分析創建型模式?? (4)分析結構型模式 (5)分析行為型模式 (6)設計模式的在架構設計的綜合應用 (7)結合實際案例,分析設計模式在架構設計時期的應用 |
| 4.軟件架構之中應用框架(framework) | (1)框架vs.類庫 (2)通用點vs.擴展點 (3)設計模式技術在框架的設計之中的應用 (4)如何開發框架?? (5)如何選擇第三方框架 |
| 主題四:軟件架構設計實現 | 1.表現層框架設計 | (1)使用MVC模式設計表現層 (2)BS和CS的選擇 (3)表現層中AJAX設計思想 (4)表現層易用性的考慮 (5)表現層的設計框架(Struts,JSF,WebWork,ASP.net,PHP等) (6)表現層的如何支持多渠道的接入(如支持Web,WAP等) (7)結合案例分析,表現層的架構設計 |
| 2.業務邏輯層架構設計 | (1)業務邏輯層組件設計 (2)業務邏輯層工作流設計 (3)服務facade設計????? (4)業務邏輯層實體設計 (5)分布式應用場景 (6)業務邏輯層框架(EJB,Springframework,.Net框架) (7)結合案例分析,業務邏輯層的架構設計 |
| 3.數據訪問層架構設計 | (1)數據訪問層架構模式 (2)數據訪問層組件設計 (3)離線和在線方式的數據訪問 (4)ORM、Hibernate,JPA與SQLMap(iBatis),LINQ設計思想 (5)緩存技術在存取層的應用 (6)數據訪問層的性能考慮 (7)事務管理和數據的同步與鎖 (8)連接對象管理設計 (9)結合案例分析,數據訪問層的架構設計 |
| 4.領域模型設計,數據架構規劃與數據庫設計 | (1)領域模型設計 (2)數據庫設計與類的設計融合 (3)數據庫設計與XML設計融合 (4)數據庫性能規劃 |
| 5.通用服務層的架構設計 | (1)系統通用服務的架構設計 (2)業務通用層的架構設計 |
| 6.各層通信設計 | (1)應用通信的策略 (2)進程之間和分布式通信 (3)通信內容組織 (4)同步、異步(基于Message的架構) |
| 主題五:企業應用系統架構設計 | 1.SOA 面向服務的架構設計 | (1)掌握SOA的基本概念 (2)了解服務的設計原則和方法學 (3)SOA基礎架構和企業服務總線ESB (4)服務識別,分類,實現 (5)業務流程管理和BPEL技術 (6)服務注冊,發現,生命周期管理 (7)服務的消息交換模式 (8)服務的版本管理和SOA安全,性能管理 (9)SOA的開發過程 (10)SOA和組織,監管(SOA Organization and Governance) (11)SOA應用案例 |
| 2. 企業集成系統架構設計 | (1)解決方案、數據集成、應用(接口)集成及應用服務 (2)EAI參考模型:業務模式、概念模式、邏輯模式、物理模式和實現模式 (3)如何設計企業應用系統集成 (4)企業集成應用的架構模式 (5)企業集成應用的案例分析 |
| 3. 企業門戶Portal系統架構設計 | (1)企業門戶Portal概述 (2)企業門戶核心技術 (3)企業門戶內容管理(CMS) (4)企業門戶的個性化 (5)企業門戶的架構案例 |
| 主題六:軟件架構設計專題技術問題分析 | 1.軟件架構設計專題技術問題分析 | (1)架構體系選擇 (2)架構設計中的數據庫存取(ORM,底層存取,SQLMap等選擇) (3)架構設計中的WEB容器、EJB容器及Spring等相關容器 (4)軟件架構設計的分布式和通訊的思考 (5)軟件架構設計的性能的思考 (6)軟件架構設計的可擴展性(集群技術)的思考 (7)軟件架構設計的事務管理的思考 (8)軟件架構設計的異常管理的思考 (9)軟件架構設計利用AOP和IOC這兩個有價值的技術-- (10)軟件架構設計的緩存技術的應用 (11)軟件架構設計的安全考慮 (12)以上技術專題結合實際案例進行分析 |
| 主題七:軟件架構案例分析 | 1.軟件架構案例分析 | (1)電信行業軟件架構案例研究 (2)金融行業 軟件架構案例研究 (3)政府行業(社保和稅務)軟件架構案例研究 (4)電力行業軟件架構案例研究 (5)SOA軟件架構案例研究 |