課程簡介
內(nèi)容涵蓋:軟件架構(gòu)視圖及體系,軟件架構(gòu)設(shè)計的基本原則,軟件架構(gòu)設(shè)計過程方法,軟件架構(gòu)設(shè)計的關(guān)鍵因素,軟件架構(gòu)設(shè)計原則與模式,基于SOA (面向服務(wù)架構(gòu))架構(gòu)設(shè)計,軟件架構(gòu)設(shè)計,綜合軟件架構(gòu)實踐與剖析(架構(gòu)設(shè)計實戰(zhàn))等內(nèi)容。
目標(biāo)收益
培訓(xùn)對象
課程大綱
第一單元: 軟件架構(gòu)視圖及體系 |
軟件架構(gòu)的視圖 (1)軟件架構(gòu)視圖的意義 (2)軟件架構(gòu)師的多維思考 (3)邏輯視圖、開發(fā)視圖、物理視圖、運行視圖、場景視圖、數(shù)據(jù)視圖、功能視圖 (4)典型案例分析:結(jié)合多個項目實例,分析軟件架構(gòu)視圖在軟件架構(gòu)設(shè)計中的作用 架構(gòu)師及軟件架構(gòu)體系 (1)軟件架構(gòu)師應(yīng)掌握的知識體系 (2)軟件架構(gòu)設(shè)計的特點、層次、分類 (3)軟件架構(gòu)的主要理論、方向和趨勢 |
第二單元: 軟件架構(gòu)設(shè)計的基本原則 |
架構(gòu)設(shè)計中的模塊劃分及職責(zé)分配 (1)什么是GRASP設(shè)計原則 (2)信息專家模式和應(yīng)用場景,以及案例分析 (3)創(chuàng)建者模式和應(yīng)用場景,以及案例分析 (4)高內(nèi)聚/低耦合模式和應(yīng)用場景,以及案例分析 (5)控制者模式和應(yīng)用場景,以及案例分析 (6)多態(tài)純虛構(gòu)模式和應(yīng)用場景,以及案例分析 (7)間接和應(yīng)用場景,以及案例分析 (8)保護(hù)變量模式的重要意義,以及案例分析 (9)典型案例分析:稅務(wù)系統(tǒng)中GRASP模式的實踐及剖析 |
第三單元: 軟件架構(gòu)設(shè)計過程方法 |
領(lǐng)域模型介紹 (1)領(lǐng)域模型在架構(gòu)中的作用 (2)領(lǐng)域模型介紹:失血、貧血、充血、漲血模型 (3)EJB與輕量級框架的優(yōu)缺點及選擇要點 (4)面向?qū)ο笈c面向過程設(shè)計的優(yōu)缺點及選擇要點 商業(yè)/ 邏輯 / 物理架構(gòu)設(shè)計 (1)軟件架構(gòu)的開發(fā)(如何把架構(gòu)設(shè)計以framework方式實現(xiàn)) (2)服務(wù)facade設(shè)計 (3)業(yè)務(wù)邏輯層實體設(shè)計 (4)業(yè)務(wù)邏輯層組件設(shè)計 (5)業(yè)務(wù)邏輯層框架(EJB,Springframework,.Net框架) (6)分布式應(yīng)用場景 (7)軟件架構(gòu)的維護(hù)和復(fù)用 (8)案例分析:結(jié)合項目實例分析,業(yè)務(wù)邏輯層的架構(gòu)設(shè)計 (9)典型案例分析:結(jié)合具體項目案例進(jìn)行分析:演示架構(gòu)設(shè)計過程 使用UML進(jìn)行架構(gòu)建模 (1)架構(gòu)模型的選擇技巧 (2)動態(tài)模型與靜態(tài)模型的搭配 (3)建模中的7大常見誤區(qū) (4)借鑒RUP建模過程及要素 (5)經(jīng)典案例分析:結(jié)合某商業(yè)產(chǎn)品案例分析,演示不佳建模如何重構(gòu)為合理建模 |
第四單元: 軟件架構(gòu)設(shè)計的關(guān)鍵因素 |
軟件架構(gòu)質(zhì)量屬性分析 (1)軟件功能需求對架構(gòu)的影響 (2)軟件架質(zhì)量屬性和架構(gòu)師經(jīng)驗的引入 (3)軟件商業(yè)質(zhì)量屬性分析 (4)軟件約束條件與架構(gòu)的影響 (5)使用目標(biāo)-場景-決策表進(jìn)行迭代架構(gòu)設(shè)計 (6)典型案例分析:PMS質(zhì)量屬性對的系統(tǒng)架構(gòu)設(shè)計影響 軟件架構(gòu)的關(guān)鍵因素的實現(xiàn) (1)什么是架構(gòu), 它和系統(tǒng)是如何關(guān)聯(lián)的。 (2)如何獲得可維護(hù)性、可擴(kuò)展性、可重用性、互操作性等。 (3)在系統(tǒng)中如何組織組件(Component) 。 (4)如何保持平臺相關(guān)的細(xì)節(jié)和應(yīng)用的分離。 (5)如何應(yīng)用封裝(encapsulation)、抽象(abstraction)和委派(delegation)的原則。 (6)策略和實現(xiàn)的分離(Separation of Policy and Implementation) (7)接口和實現(xiàn)的分離(Separation of Interface and Implementation) (8)單一引用點(Single Point of Reference) (9)典型案例分析:某商業(yè)數(shù)據(jù)采集系統(tǒng)中,架構(gòu)關(guān)鍵因素的體系及設(shè)計技巧 |
第五單元: 軟件架構(gòu)設(shè)計原則與模式 |
使用模式作為架構(gòu)的核心骨架,避免走彎路 (1)析創(chuàng)建型模式:單例模式(Singleton)、抽象工廠模式(Abstractfactory) (2)分析結(jié)構(gòu)型模式:橋梁模式(Bridge)、裝飾模式(Decorator)、適配器模式(Adapter)、代理模式(Proxy)、合成模式(Composite) (3)分析行為型模式::命令模式(Command )、觀察者模式(Observer)、狀態(tài)模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、訪問者模式(Template Method) (4)設(shè)計模式的在架構(gòu)設(shè)計的綜合應(yīng)用 (5)架構(gòu)實戰(zhàn):用經(jīng)典模式作為超市收款系統(tǒng)的核心,達(dá)成高可擴(kuò)展性 設(shè)計模式的本質(zhì)分析 (1)設(shè)計模式如何適應(yīng)變化和封裝 (2)設(shè)計模式的本質(zhì):隔離變化點;間接;透明;局部雙向依賴;邏輯與功能;用接口抹平差異、延遲調(diào)用。 (3)模式的推演:掌握模式的本質(zhì),而非形式。 (4)設(shè)計模式的高級運用:神似而非形似;以工程實際為標(biāo)準(zhǔn);可以犧牲掉的特征;簡化的模式;防止濫用;自創(chuàng)模式。 (5)架構(gòu)實戰(zhàn):VTF編輯器中的反模式及其分析 軟件架構(gòu)模式 (1)軟件架構(gòu)模式概述 (2)分層架構(gòu)模式 (3)Pipe/Filter Pattern (4)MVC Pattern (5)Event-Based Pattern和Microkernel Pattern (6)其他模式的介紹 (7)典型案例分析:資源管理系統(tǒng)中的軟件架構(gòu)模式運用 (8)典型案例分析:某商業(yè)數(shù)據(jù)分析系統(tǒng)中的軟件架構(gòu)模式運用 軟件架構(gòu)之中應(yīng)用框架(framework) (1)IOC/DI /DIP模式的深度解析 (2)擴(kuò)展點與通用點的分析及確認(rèn) (4)組合法與繼承法在框架設(shè)計中的運用 (5)子系統(tǒng)如何堆疊為完整的系統(tǒng) (6)架構(gòu)實戰(zhàn):超級文件處理器中的框架平臺設(shè)計,逐步深入,講解實現(xiàn)思路 軟件架構(gòu)涉及的服務(wù)模式 (1)ClassFactory Service、Caching Service、Configuration Service、 EventNotification Service、WindowService Service 、MessageQueue Service、Authorization Service、Authentication Service、Cryptography Service、Transaction Service、DocumentLayer Service 、Workflow Service (2)典型案例分析:資源管理系統(tǒng)中的服務(wù)模式 |
第六單元: 基于SOA (面向服務(wù)架構(gòu))架構(gòu)設(shè)計 |
基于SOA (服務(wù)導(dǎo)向架構(gòu))架構(gòu)設(shè)計 (1)SOA的概念 (2)SOA的設(shè)計目標(biāo) (3)服務(wù)識別,分類,實現(xiàn) (4)異構(gòu)性Heterogeneity;可伸縮性Scalability;適用性Availability;分布式Distribution; .機(jī)動性Flexibility;可見性。 (5)服務(wù)注冊,發(fā)現(xiàn),生命周期管理 (6)服務(wù)的消息交換模式 (7)BPM與SOA (8)SOA的開發(fā)過程,SOA和組織,監(jiān)管(SOA Organization and Governance) (9)典型案例分析:實創(chuàng)集團(tuán)辦公項目案例分析 系統(tǒng)間通訊及接口設(shè)計 (1)常見的系統(tǒng)通訊方式:WebService、訪問Url、輪訓(xùn)、本地Sdk、MQ、Ajax等 (2)常見的數(shù)據(jù)交換方式:FTP、WebService、數(shù)據(jù)庫共享、磁盤文件共享等 (3)接口設(shè)計的要點,接口隔離原則及其他 (4)典型案例分析:實創(chuàng)集團(tuán)辦公項目案例分析 |
第七單元: 軟件架構(gòu)設(shè)計 |
數(shù)據(jù)庫及數(shù)據(jù)表設(shè)計 (1)數(shù)據(jù)庫設(shè)計中的常見問題 (2)分布式數(shù)據(jù)庫設(shè)計的6種模式 (3)偽分布式數(shù)據(jù)庫設(shè)計的優(yōu)劣及運用 (4)數(shù)據(jù)表設(shè)計的6種模式 (5)數(shù)據(jù)表設(shè)計中的反規(guī)范化 (6)海量數(shù)據(jù)技術(shù):如何提高效率 (7)連接對象管理設(shè)計 (8)事務(wù)管理和數(shù)據(jù)的同步與鎖 (9)典型案例分析:中國高??蒲泄芾硐到y(tǒng)案例等分析;結(jié)合多個實際項目進(jìn)行分析,總結(jié)數(shù)據(jù)庫設(shè)計模式 架構(gòu)設(shè)計實踐 (1)靜態(tài)設(shè)計:按層+高內(nèi)聚低耦合的原則進(jìn)行模塊劃分;劃分層次;為模塊進(jìn)行職責(zé)分配;隔離關(guān)注面:低耦合原則;適當(dāng)采用設(shè)計模式;模塊結(jié)構(gòu)的常見形式;核心模塊的接口設(shè)計。 (2)模塊間的通信及耦合設(shè)計:組件式編程;通訊機(jī)制;解耦;設(shè)計數(shù)據(jù)層 (3)動態(tài)設(shè)計:抽象與統(tǒng)一不同的因素;常用的流程抽象手段;邏輯控制;消息通知機(jī)制; (4) 模塊調(diào)整: 調(diào)整模塊等級; 用設(shè)計模式優(yōu)化設(shè)計;編碼時構(gòu)建適當(dāng)?shù)膭討B(tài)臨時類;效率的優(yōu)化 (9)架構(gòu)設(shè)計實踐:商業(yè)數(shù)據(jù)分析系統(tǒng)中的架構(gòu)設(shè)計步驟及剖析。 |
第八單元: 綜合軟件架構(gòu)實踐與剖析(架構(gòu)設(shè)計實戰(zhàn)) |
(1)POS收款系統(tǒng)構(gòu)案例研究與分析 (2)政府項目,資產(chǎn)管理系統(tǒng)軟件架構(gòu)案例研究與分析 (3)企業(yè)項目,軟件架構(gòu)案例研究與分析 |
第一單元: 軟件架構(gòu)視圖及體系 軟件架構(gòu)的視圖 (1)軟件架構(gòu)視圖的意義 (2)軟件架構(gòu)師的多維思考 (3)邏輯視圖、開發(fā)視圖、物理視圖、運行視圖、場景視圖、數(shù)據(jù)視圖、功能視圖 (4)典型案例分析:結(jié)合多個項目實例,分析軟件架構(gòu)視圖在軟件架構(gòu)設(shè)計中的作用 架構(gòu)師及軟件架構(gòu)體系 (1)軟件架構(gòu)師應(yīng)掌握的知識體系 (2)軟件架構(gòu)設(shè)計的特點、層次、分類 (3)軟件架構(gòu)的主要理論、方向和趨勢 |
第二單元: 軟件架構(gòu)設(shè)計的基本原則 架構(gòu)設(shè)計中的模塊劃分及職責(zé)分配 (1)什么是GRASP設(shè)計原則 (2)信息專家模式和應(yīng)用場景,以及案例分析 (3)創(chuàng)建者模式和應(yīng)用場景,以及案例分析 (4)高內(nèi)聚/低耦合模式和應(yīng)用場景,以及案例分析 (5)控制者模式和應(yīng)用場景,以及案例分析 (6)多態(tài)純虛構(gòu)模式和應(yīng)用場景,以及案例分析 (7)間接和應(yīng)用場景,以及案例分析 (8)保護(hù)變量模式的重要意義,以及案例分析 (9)典型案例分析:稅務(wù)系統(tǒng)中GRASP模式的實踐及剖析 |
第三單元: 軟件架構(gòu)設(shè)計過程方法 領(lǐng)域模型介紹 (1)領(lǐng)域模型在架構(gòu)中的作用 (2)領(lǐng)域模型介紹:失血、貧血、充血、漲血模型 (3)EJB與輕量級框架的優(yōu)缺點及選擇要點 (4)面向?qū)ο笈c面向過程設(shè)計的優(yōu)缺點及選擇要點 商業(yè)/ 邏輯 / 物理架構(gòu)設(shè)計 (1)軟件架構(gòu)的開發(fā)(如何把架構(gòu)設(shè)計以framework方式實現(xiàn)) (2)服務(wù)facade設(shè)計 (3)業(yè)務(wù)邏輯層實體設(shè)計 (4)業(yè)務(wù)邏輯層組件設(shè)計 (5)業(yè)務(wù)邏輯層框架(EJB,Springframework,.Net框架) (6)分布式應(yīng)用場景 (7)軟件架構(gòu)的維護(hù)和復(fù)用 (8)案例分析:結(jié)合項目實例分析,業(yè)務(wù)邏輯層的架構(gòu)設(shè)計 (9)典型案例分析:結(jié)合具體項目案例進(jìn)行分析:演示架構(gòu)設(shè)計過程 使用UML進(jìn)行架構(gòu)建模 (1)架構(gòu)模型的選擇技巧 (2)動態(tài)模型與靜態(tài)模型的搭配 (3)建模中的7大常見誤區(qū) (4)借鑒RUP建模過程及要素 (5)經(jīng)典案例分析:結(jié)合某商業(yè)產(chǎn)品案例分析,演示不佳建模如何重構(gòu)為合理建模 |
第四單元: 軟件架構(gòu)設(shè)計的關(guān)鍵因素 軟件架構(gòu)質(zhì)量屬性分析 (1)軟件功能需求對架構(gòu)的影響 (2)軟件架質(zhì)量屬性和架構(gòu)師經(jīng)驗的引入 (3)軟件商業(yè)質(zhì)量屬性分析 (4)軟件約束條件與架構(gòu)的影響 (5)使用目標(biāo)-場景-決策表進(jìn)行迭代架構(gòu)設(shè)計 (6)典型案例分析:PMS質(zhì)量屬性對的系統(tǒng)架構(gòu)設(shè)計影響 軟件架構(gòu)的關(guān)鍵因素的實現(xiàn) (1)什么是架構(gòu), 它和系統(tǒng)是如何關(guān)聯(lián)的。 (2)如何獲得可維護(hù)性、可擴(kuò)展性、可重用性、互操作性等。 (3)在系統(tǒng)中如何組織組件(Component) 。 (4)如何保持平臺相關(guān)的細(xì)節(jié)和應(yīng)用的分離。 (5)如何應(yīng)用封裝(encapsulation)、抽象(abstraction)和委派(delegation)的原則。 (6)策略和實現(xiàn)的分離(Separation of Policy and Implementation) (7)接口和實現(xiàn)的分離(Separation of Interface and Implementation) (8)單一引用點(Single Point of Reference) (9)典型案例分析:某商業(yè)數(shù)據(jù)采集系統(tǒng)中,架構(gòu)關(guān)鍵因素的體系及設(shè)計技巧 |
第五單元: 軟件架構(gòu)設(shè)計原則與模式 使用模式作為架構(gòu)的核心骨架,避免走彎路 (1)析創(chuàng)建型模式:單例模式(Singleton)、抽象工廠模式(Abstractfactory) (2)分析結(jié)構(gòu)型模式:橋梁模式(Bridge)、裝飾模式(Decorator)、適配器模式(Adapter)、代理模式(Proxy)、合成模式(Composite) (3)分析行為型模式::命令模式(Command )、觀察者模式(Observer)、狀態(tài)模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、訪問者模式(Template Method) (4)設(shè)計模式的在架構(gòu)設(shè)計的綜合應(yīng)用 (5)架構(gòu)實戰(zhàn):用經(jīng)典模式作為超市收款系統(tǒng)的核心,達(dá)成高可擴(kuò)展性 設(shè)計模式的本質(zhì)分析 (1)設(shè)計模式如何適應(yīng)變化和封裝 (2)設(shè)計模式的本質(zhì):隔離變化點;間接;透明;局部雙向依賴;邏輯與功能;用接口抹平差異、延遲調(diào)用。 (3)模式的推演:掌握模式的本質(zhì),而非形式。 (4)設(shè)計模式的高級運用:神似而非形似;以工程實際為標(biāo)準(zhǔn);可以犧牲掉的特征;簡化的模式;防止濫用;自創(chuàng)模式。 (5)架構(gòu)實戰(zhàn):VTF編輯器中的反模式及其分析 軟件架構(gòu)模式 (1)軟件架構(gòu)模式概述 (2)分層架構(gòu)模式 (3)Pipe/Filter Pattern (4)MVC Pattern (5)Event-Based Pattern和Microkernel Pattern (6)其他模式的介紹 (7)典型案例分析:資源管理系統(tǒng)中的軟件架構(gòu)模式運用 (8)典型案例分析:某商業(yè)數(shù)據(jù)分析系統(tǒng)中的軟件架構(gòu)模式運用 軟件架構(gòu)之中應(yīng)用框架(framework) (1)IOC/DI /DIP模式的深度解析 (2)擴(kuò)展點與通用點的分析及確認(rèn) (4)組合法與繼承法在框架設(shè)計中的運用 (5)子系統(tǒng)如何堆疊為完整的系統(tǒng) (6)架構(gòu)實戰(zhàn):超級文件處理器中的框架平臺設(shè)計,逐步深入,講解實現(xiàn)思路 軟件架構(gòu)涉及的服務(wù)模式 (1)ClassFactory Service、Caching Service、Configuration Service、 EventNotification Service、WindowService Service 、MessageQueue Service、Authorization Service、Authentication Service、Cryptography Service、Transaction Service、DocumentLayer Service 、Workflow Service (2)典型案例分析:資源管理系統(tǒng)中的服務(wù)模式 |
第六單元: 基于SOA (面向服務(wù)架構(gòu))架構(gòu)設(shè)計 基于SOA (服務(wù)導(dǎo)向架構(gòu))架構(gòu)設(shè)計 (1)SOA的概念 (2)SOA的設(shè)計目標(biāo) (3)服務(wù)識別,分類,實現(xiàn) (4)異構(gòu)性Heterogeneity;可伸縮性Scalability;適用性Availability;分布式Distribution; .機(jī)動性Flexibility;可見性。 (5)服務(wù)注冊,發(fā)現(xiàn),生命周期管理 (6)服務(wù)的消息交換模式 (7)BPM與SOA (8)SOA的開發(fā)過程,SOA和組織,監(jiān)管(SOA Organization and Governance) (9)典型案例分析:實創(chuàng)集團(tuán)辦公項目案例分析 系統(tǒng)間通訊及接口設(shè)計 (1)常見的系統(tǒng)通訊方式:WebService、訪問Url、輪訓(xùn)、本地Sdk、MQ、Ajax等 (2)常見的數(shù)據(jù)交換方式:FTP、WebService、數(shù)據(jù)庫共享、磁盤文件共享等 (3)接口設(shè)計的要點,接口隔離原則及其他 (4)典型案例分析:實創(chuàng)集團(tuán)辦公項目案例分析 |
第七單元: 軟件架構(gòu)設(shè)計 數(shù)據(jù)庫及數(shù)據(jù)表設(shè)計 (1)數(shù)據(jù)庫設(shè)計中的常見問題 (2)分布式數(shù)據(jù)庫設(shè)計的6種模式 (3)偽分布式數(shù)據(jù)庫設(shè)計的優(yōu)劣及運用 (4)數(shù)據(jù)表設(shè)計的6種模式 (5)數(shù)據(jù)表設(shè)計中的反規(guī)范化 (6)海量數(shù)據(jù)技術(shù):如何提高效率 (7)連接對象管理設(shè)計 (8)事務(wù)管理和數(shù)據(jù)的同步與鎖 (9)典型案例分析:中國高??蒲泄芾硐到y(tǒng)案例等分析;結(jié)合多個實際項目進(jìn)行分析,總結(jié)數(shù)據(jù)庫設(shè)計模式 架構(gòu)設(shè)計實踐 (1)靜態(tài)設(shè)計:按層+高內(nèi)聚低耦合的原則進(jìn)行模塊劃分;劃分層次;為模塊進(jìn)行職責(zé)分配;隔離關(guān)注面:低耦合原則;適當(dāng)采用設(shè)計模式;模塊結(jié)構(gòu)的常見形式;核心模塊的接口設(shè)計。 (2)模塊間的通信及耦合設(shè)計:組件式編程;通訊機(jī)制;解耦;設(shè)計數(shù)據(jù)層 (3)動態(tài)設(shè)計:抽象與統(tǒng)一不同的因素;常用的流程抽象手段;邏輯控制;消息通知機(jī)制; (4) 模塊調(diào)整: 調(diào)整模塊等級; 用設(shè)計模式優(yōu)化設(shè)計;編碼時構(gòu)建適當(dāng)?shù)膭討B(tài)臨時類;效率的優(yōu)化 (9)架構(gòu)設(shè)計實踐:商業(yè)數(shù)據(jù)分析系統(tǒng)中的架構(gòu)設(shè)計步驟及剖析。 |
第八單元: 綜合軟件架構(gòu)實踐與剖析(架構(gòu)設(shè)計實戰(zhàn)) (1)POS收款系統(tǒng)構(gòu)案例研究與分析 (2)政府項目,資產(chǎn)管理系統(tǒng)軟件架構(gòu)案例研究與分析 (3)企業(yè)項目,軟件架構(gòu)案例研究與分析 |