課程簡介
本課程中解決的實際問題如下:
幫助IT企業(yè)解決獲得可重用的架構(gòu)設計的完整方案;
揭示軟件設計原理及設計過程;
幫助架構(gòu)師掌握架構(gòu)設計方法與架構(gòu)設計的模式;
幫助設計人員掌握軟件模塊劃分,及如何為模塊劃分職責;
幫助設計人員掌握領域分析與建模的正確方法;
幫助IT數(shù)據(jù)結(jié)構(gòu)設計及實例等;
幫助甲方解決軟件架構(gòu)評估問題;
目標收益
培訓對象
課程大綱
軟件架構(gòu)視圖 |
軟件架構(gòu)視圖的意義,軟件架構(gòu)師的多維思考 邏輯視圖、開發(fā)視圖、物理視圖、運行視圖、場景視圖、數(shù)據(jù)視圖、功能視圖 如何和怎樣繪制軟件架構(gòu)視圖 UML建模工具在架構(gòu)視圖的應用 典型案例分析:結(jié)合多個項目實例,進行分析軟件架構(gòu)視圖 |
架構(gòu)設計中的模塊劃分及職責分配——GRASP原則 |
架構(gòu)/模塊設計中,如何劃分模塊,如何分配模塊的職責是重要的內(nèi)容。本節(jié)結(jié)合多個案例,回答: 如何進行架構(gòu)設計,什么是好的架構(gòu),怎么驗證架構(gòu)的合理性? 如何進行組件(模塊化)化設計,在架構(gòu)基礎上保證組件及框架的復用? 內(nèi)容一 模塊及組件的職責分配設計 分層與分區(qū)的考慮 基于面向?qū)ο蟮慕M件職責分配 組件職責分配的深入探討 大型組件與小組件職責分配的探討 典型案例分析:如何為模塊合理地分配職責,某收款系統(tǒng)、稅務系統(tǒng)的組件設計 內(nèi)容二 組件創(chuàng)建及裝載設計 組件的動態(tài)裝載 組件創(chuàng)建者的選擇原則 架構(gòu)中常見的組件創(chuàng)建方式 典型案例分析:某數(shù)據(jù)解析系統(tǒng)設計,闡述構(gòu)件創(chuàng)建的要點 內(nèi)容三 如何設計出高內(nèi)聚低耦合的架構(gòu) 組件的粒度把握原則 不同類型的模塊及其復用方式 面向過程式或面向?qū)ο蠼M件的選擇 在不同的模塊中隔離不同的關注面 用單一職責原理指導架構(gòu)設計 典型案例分析:某Html分析系統(tǒng)、某文檔驗證系統(tǒng)設計,分析高內(nèi)聚低耦合的重要意義 內(nèi)容四 架構(gòu)設計中如何有效地組織多個組件/模塊 設計控制器模塊 控制模塊與其它模塊的交互 設計不同類型的模塊在系統(tǒng)中的交互機制 對過大組件/模塊的分解原則及實踐 典型案例分析:某文檔驗證系統(tǒng)設計,闡述對系統(tǒng)的整體把握能力 內(nèi)容五 如何設計出靈活性及可擴展性高的架構(gòu) 如何設計出可擴展的架構(gòu) 多態(tài)在組件設計中的使用 間接模式在架構(gòu)設計中的價值及其使用 接模式在基于架構(gòu)的架構(gòu)中的運用 典型案例分析:UIM系統(tǒng)設計,如何構(gòu)造靈活而可擴展的系統(tǒng) 內(nèi)容六 架構(gòu)的魯棒性設計 1)隔離不同的關注面 2)如何封裝組件設計中的變化 3)組件設計中的開-閉原則 4)包內(nèi)聚原則及其運用 5)包耦合原則及其運用 典型案例分析:稅務系統(tǒng)、演示匯報系統(tǒng)實例進行分析 |
架構(gòu)設計過程 |
內(nèi)容一 商業(yè)架構(gòu)設計 軟件功能需求對架構(gòu)的影響 軟件質(zhì)量需求對架構(gòu)的影響 軟件商業(yè)質(zhì)量屬性分析 軟件約束條件與架構(gòu)的影響 確定架構(gòu)目標 系統(tǒng)功能分解(系統(tǒng)、子系統(tǒng)、模塊)和部署模式 典型案例分析:結(jié)合多個項目實例,分析質(zhì)量需求、約束對架構(gòu)的影響(項目錯誤的架構(gòu),導致反復迭代) 內(nèi)容二 邏輯架構(gòu)設計 軟件架構(gòu)立方體圖 軟件架構(gòu)模式和架構(gòu)師經(jīng)驗的引入 使用質(zhì)量場景屬性進行迭代架構(gòu)設計 綜合初步設計,確定高層分割(分層 分服務 分區(qū) 通信) 典型案例分析:結(jié)合項目實例,進行分析該階段的主要任務和相關成果 內(nèi)容三 物理架構(gòu)設計 數(shù)據(jù)模型視圖 結(jié)合邏輯架構(gòu),設計物理部署 內(nèi)容四 架構(gòu)重構(gòu) 軟件架構(gòu)重構(gòu)還是重寫 軟件架構(gòu)重構(gòu)技巧 軟件架構(gòu)復用 架構(gòu)重構(gòu)的4種方案及模式 |
核心業(yè)務邏輯層 架構(gòu)設計 |
內(nèi)容一 業(yè)務邏輯層中的子層設計 業(yè)務邏輯層組件設計 業(yè)務邏輯層工作流設計 服務facade設計 業(yè)務邏輯層實體設計 充血模型、貧血模型、失血模型的博弈及案例分析 分布式應用場景 業(yè)務邏輯層框架(EJB,Springframework,.Net框架) 內(nèi)容二 典型案例分析 訂餐系統(tǒng),邏輯子層分析及設計中的要點 雜志訂閱系統(tǒng),需求分析到領域分析,業(yè)務邏輯層的設計要點 媒體墻系統(tǒng),分析系統(tǒng)的組件劃分及業(yè)務邏輯層劃分 |
質(zhì)量屬性驅(qū)動 架構(gòu)設計策略 |
什么是系統(tǒng)質(zhì)量屬性,如何進行質(zhì)量屬性進行驅(qū)動架構(gòu)設計 架構(gòu)和質(zhì)量屬性的關系 如何獲得可維護性、可擴展性、可靠性、互操作性,系統(tǒng)性能,安全性等 系統(tǒng)架構(gòu)的可靠性設計策略 系統(tǒng)架構(gòu)的可修改性設計策略 系統(tǒng)架構(gòu)的性能設計策略 系統(tǒng)架構(gòu)的安全性設計策略 系統(tǒng)架構(gòu)的易用性設計策略 系統(tǒng)架構(gòu)質(zhì)量屬性和架構(gòu)模式的應用 典型案例分析:架構(gòu)策略如何應用在自己的實際項目中 |
設計原則及設計模式 |
內(nèi)容一:面向?qū)ο笤O計原則及其分析 軟件設計目標,基本原則和模式關系 開閉原則 依賴倒置原則 單一職責原則 里氏替換原則 合成/聚合復用原則 接口隔離原則和Demeter法則 通過案例進行分析,模式如何使用 內(nèi)容二:常見架構(gòu)設計原則及其分析 抽象(Abstraction)、封裝(Encapsulation)和信息隱藏(Information Hiding) 分而治之(Divide-And-Conquer)和模塊化(modularization) 松耦合和高內(nèi)聚(Coupling and Cohesion) 策略和實現(xiàn)的分離(Separation of Policy and Implementation) 接口和實現(xiàn)的分離(Separation of Interface and Implementation) 單一引用點(Single Point of Reference) 典型案例分析:架構(gòu)原則在實際項目中應用(奧運項目案例) 內(nèi)容三:案例分析—OO基本原則 (多個小案例,不涉及特定的業(yè)務) 通過經(jīng)典面向?qū)ο蟀咐?要求學員分別使用過程式和面向?qū)ο?種思維,進行設計 進行對比2種思維的不同點和結(jié)果 通過案例指出OO是否真正做到了它所說的價值 這些小案例涉及項目開發(fā)中的常見的困境、疑惑,本節(jié)探討如何通過設計原則解決。 討論設計原則與設計模式的關系,已經(jīng)在沒有合適模式可用的情況下如何分析、解決問題。 |
軟件架構(gòu)模式 |
內(nèi)容一 常見的架構(gòu)模式/風格 分層架構(gòu)模式 Pipe/Filter Pattern 黑板/看板(blackboard)模式 MVC/PVC Pattern Event-Based Pattern和Microkernel Pattern 分布式和并發(fā)架構(gòu)設計模式 解釋器和黑板模式 其他模式的介紹(元數(shù)據(jù)等) 典型案例分析:軟件架構(gòu)模式如何應用在自己的實際項目中 內(nèi)容二 典型案例分析 某數(shù)據(jù)抓取分析系統(tǒng) 某模式識別系統(tǒng) 某多媒體制作系統(tǒng) 通過典型案例分析,總結(jié)架構(gòu)師實際項目架構(gòu)的經(jīng)驗和應用 |
設計模式與軟件設計思想 |
內(nèi)容一 常見的設計模式及其運用 使用GOF設計模式,借鑒前人的經(jīng)驗。 分析創(chuàng)建型模式:單例模式(Singleton)、工廠模式、抽象工廠模式(Abstractfactory) 分析結(jié)構(gòu)型模式:橋梁模式(Bridge)、裝飾模式(Decorator)、適配器模式(Adapter)、代理模式(Proxy)、組合模式(Composite) 分析行為型模式:命令模式(Command )、觀察者模式(Observer)、狀態(tài)模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、訪問者模式(Template Method) 典型案例分析:分析薪酬管理、訂單管理系統(tǒng)等多個案例,展示設計模式在架構(gòu)設計中的實際應用 內(nèi)容二 設計模式的本質(zhì)探討 指出什么是優(yōu)秀設計和丑陋設計 總結(jié)自己的模式-神似而非型似 探討相似模式的本質(zhì) “間接類”模式的推演及演化 “流程類”模式的推演及演化 避免模式的誤用,討論模式的陷阱:在看似典型的場景,但不宜使用模式的場合。 內(nèi)容三 案例- 元搜索系統(tǒng)分析及設計 簡單背景介紹 如何面對紛繁的變化因素的組合 一定要使用模式嗎——如果能很好地能抽象、隔離不同因素,也許它就是模式。 討論Command模式的本質(zhì)。 內(nèi)容四 案例- 電子文件生成器 簡單背景介紹 使用模式的第一反應,及陷入陷阱的思索 具體場景使用模式的本質(zhì)討論 多態(tài)的本質(zhì) 討論并介紹表驅(qū)動法 Template Method、DIP原則Strategy模式的的靈活使用——獲得優(yōu)雅的設計 |
IOC原理在可復用軟件框架中的運用 |
內(nèi)容一 系統(tǒng)接口設計 接口的意義 所知最少原則 組件接口的設計 接口隔離原則 子系統(tǒng)接口的設計 典型案例分析:文件處理系統(tǒng)實例分析,如何設計一個極度的松耦合接口 內(nèi)容二 IOC原理在可復用軟件框架中的運用 Spring中的IOC運用 理解IOC的本質(zhì) IOC及DIP原則的運用 服務組件的設計 功能組件的設計 不依賴于框架的IOC實現(xiàn) 內(nèi)容三 案例分析 典型案例分析:多功能文件處理系統(tǒng)的設計分析,采用逐步深入的方式,抽絲剝繭,展現(xiàn)如何設計一個優(yōu)雅而高效的文件處理框架。 |
數(shù)據(jù)訪問層設計 (持久層設計) |
數(shù)據(jù)庫設計中的常見問題 分布式數(shù)據(jù)庫設計的6種模式 偽分布式數(shù)據(jù)庫設計的優(yōu)劣及運用 數(shù)據(jù)表設計的6種模式 數(shù)據(jù)表設計中的反規(guī)范化 海量數(shù)據(jù)技術:如何提高效率 數(shù)據(jù)ORM的常見問題 結(jié)合多個實際項目進行分析,總結(jié)6種數(shù)據(jù)庫設計模式及數(shù)據(jù)表設計模式,分析其實用條件。 |
系統(tǒng)內(nèi)間通信設計 |
系統(tǒng)通信設計原則 常見跨進程通訊的手段 大數(shù)據(jù)量交互的通訊手段 異構(gòu)系統(tǒng)間常見的通訊手段 基于消息隊列及控制的通訊手段 基于本地SDK的通訊手段 基于數(shù)據(jù)庫的數(shù)據(jù)交換方案 服務器推技術及對現(xiàn)代軟件的影響 協(xié)議選擇對性能的考慮 同步及異步的通訊手段 典型案例分析:結(jié)合項目實例分析,系統(tǒng)內(nèi)/間的通信設計 |
部分軟件應用類型和架構(gòu)風格鑒賞 |
基于樹形結(jié)構(gòu)的分布式系統(tǒng) 基于總控端的分布式系統(tǒng) 基于P2P的分布式系統(tǒng) 基于數(shù)據(jù)網(wǎng)關交互的BS系統(tǒng) 基于集中控制的BS系統(tǒng) 復雜消息控制的桌面運用系統(tǒng) 松散耦合的桌面系統(tǒng) 組件化的桌面系統(tǒng) 基于腳本解釋器的桌面系統(tǒng) 其他系統(tǒng),分析其優(yōu)劣 典型案例分析:分析實際的項目案例,賞析系統(tǒng)的不同架構(gòu)風格,并評說其利弊 |
架構(gòu)設計步驟總結(jié)及實踐 |
靜態(tài)設計:子系統(tǒng)、分層及分區(qū);職責分配 模塊間的通信及耦合設計:組件式編程、考慮通訊機制、解耦、設計數(shù)據(jù)層 動態(tài)設計:抽象與統(tǒng)一不同的因素、整理邏輯控制、設計消息通知機制 模塊調(diào)整:調(diào)整模塊等級、用設計模式優(yōu)化設計、編碼時構(gòu)建適當?shù)膭討B(tài)臨時類、效率的優(yōu)化(優(yōu)化效率3步驟) 典型案例分析:總結(jié)、整理架構(gòu)設計的步驟 |
大型軟件系統(tǒng)架構(gòu)實踐與剖析 |
超市收款系統(tǒng)軟件架構(gòu)案例研究 網(wǎng)絡數(shù)據(jù)鉆取及分析軟件架構(gòu)案例研究 某政府項目軟件架構(gòu)案例研究 |
軟件架構(gòu)視圖 軟件架構(gòu)視圖的意義,軟件架構(gòu)師的多維思考 邏輯視圖、開發(fā)視圖、物理視圖、運行視圖、場景視圖、數(shù)據(jù)視圖、功能視圖 如何和怎樣繪制軟件架構(gòu)視圖 UML建模工具在架構(gòu)視圖的應用 典型案例分析:結(jié)合多個項目實例,進行分析軟件架構(gòu)視圖 |
架構(gòu)設計中的模塊劃分及職責分配——GRASP原則 架構(gòu)/模塊設計中,如何劃分模塊,如何分配模塊的職責是重要的內(nèi)容。本節(jié)結(jié)合多個案例,回答: 如何進行架構(gòu)設計,什么是好的架構(gòu),怎么驗證架構(gòu)的合理性? 如何進行組件(模塊化)化設計,在架構(gòu)基礎上保證組件及框架的復用? 內(nèi)容一 模塊及組件的職責分配設計 分層與分區(qū)的考慮 基于面向?qū)ο蟮慕M件職責分配 組件職責分配的深入探討 大型組件與小組件職責分配的探討 典型案例分析:如何為模塊合理地分配職責,某收款系統(tǒng)、稅務系統(tǒng)的組件設計 內(nèi)容二 組件創(chuàng)建及裝載設計 組件的動態(tài)裝載 組件創(chuàng)建者的選擇原則 架構(gòu)中常見的組件創(chuàng)建方式 典型案例分析:某數(shù)據(jù)解析系統(tǒng)設計,闡述構(gòu)件創(chuàng)建的要點 內(nèi)容三 如何設計出高內(nèi)聚低耦合的架構(gòu) 組件的粒度把握原則 不同類型的模塊及其復用方式 面向過程式或面向?qū)ο蠼M件的選擇 在不同的模塊中隔離不同的關注面 用單一職責原理指導架構(gòu)設計 典型案例分析:某Html分析系統(tǒng)、某文檔驗證系統(tǒng)設計,分析高內(nèi)聚低耦合的重要意義 內(nèi)容四 架構(gòu)設計中如何有效地組織多個組件/模塊 設計控制器模塊 控制模塊與其它模塊的交互 設計不同類型的模塊在系統(tǒng)中的交互機制 對過大組件/模塊的分解原則及實踐 典型案例分析:某文檔驗證系統(tǒng)設計,闡述對系統(tǒng)的整體把握能力 內(nèi)容五 如何設計出靈活性及可擴展性高的架構(gòu) 如何設計出可擴展的架構(gòu) 多態(tài)在組件設計中的使用 間接模式在架構(gòu)設計中的價值及其使用 接模式在基于架構(gòu)的架構(gòu)中的運用 典型案例分析:UIM系統(tǒng)設計,如何構(gòu)造靈活而可擴展的系統(tǒng) 內(nèi)容六 架構(gòu)的魯棒性設計 1)隔離不同的關注面 2)如何封裝組件設計中的變化 3)組件設計中的開-閉原則 4)包內(nèi)聚原則及其運用 5)包耦合原則及其運用 典型案例分析:稅務系統(tǒng)、演示匯報系統(tǒng)實例進行分析 |
架構(gòu)設計過程 內(nèi)容一 商業(yè)架構(gòu)設計 軟件功能需求對架構(gòu)的影響 軟件質(zhì)量需求對架構(gòu)的影響 軟件商業(yè)質(zhì)量屬性分析 軟件約束條件與架構(gòu)的影響 確定架構(gòu)目標 系統(tǒng)功能分解(系統(tǒng)、子系統(tǒng)、模塊)和部署模式 典型案例分析:結(jié)合多個項目實例,分析質(zhì)量需求、約束對架構(gòu)的影響(項目錯誤的架構(gòu),導致反復迭代) 內(nèi)容二 邏輯架構(gòu)設計 軟件架構(gòu)立方體圖 軟件架構(gòu)模式和架構(gòu)師經(jīng)驗的引入 使用質(zhì)量場景屬性進行迭代架構(gòu)設計 綜合初步設計,確定高層分割(分層 分服務 分區(qū) 通信) 典型案例分析:結(jié)合項目實例,進行分析該階段的主要任務和相關成果 內(nèi)容三 物理架構(gòu)設計 數(shù)據(jù)模型視圖 結(jié)合邏輯架構(gòu),設計物理部署 內(nèi)容四 架構(gòu)重構(gòu) 軟件架構(gòu)重構(gòu)還是重寫 軟件架構(gòu)重構(gòu)技巧 軟件架構(gòu)復用 架構(gòu)重構(gòu)的4種方案及模式 |
核心業(yè)務邏輯層 架構(gòu)設計 內(nèi)容一 業(yè)務邏輯層中的子層設計 業(yè)務邏輯層組件設計 業(yè)務邏輯層工作流設計 服務facade設計 業(yè)務邏輯層實體設計 充血模型、貧血模型、失血模型的博弈及案例分析 分布式應用場景 業(yè)務邏輯層框架(EJB,Springframework,.Net框架) 內(nèi)容二 典型案例分析 訂餐系統(tǒng),邏輯子層分析及設計中的要點 雜志訂閱系統(tǒng),需求分析到領域分析,業(yè)務邏輯層的設計要點 媒體墻系統(tǒng),分析系統(tǒng)的組件劃分及業(yè)務邏輯層劃分 |
質(zhì)量屬性驅(qū)動 架構(gòu)設計策略 什么是系統(tǒng)質(zhì)量屬性,如何進行質(zhì)量屬性進行驅(qū)動架構(gòu)設計 架構(gòu)和質(zhì)量屬性的關系 如何獲得可維護性、可擴展性、可靠性、互操作性,系統(tǒng)性能,安全性等 系統(tǒng)架構(gòu)的可靠性設計策略 系統(tǒng)架構(gòu)的可修改性設計策略 系統(tǒng)架構(gòu)的性能設計策略 系統(tǒng)架構(gòu)的安全性設計策略 系統(tǒng)架構(gòu)的易用性設計策略 系統(tǒng)架構(gòu)質(zhì)量屬性和架構(gòu)模式的應用 典型案例分析:架構(gòu)策略如何應用在自己的實際項目中 |
設計原則及設計模式 內(nèi)容一:面向?qū)ο笤O計原則及其分析 軟件設計目標,基本原則和模式關系 開閉原則 依賴倒置原則 單一職責原則 里氏替換原則 合成/聚合復用原則 接口隔離原則和Demeter法則 通過案例進行分析,模式如何使用 內(nèi)容二:常見架構(gòu)設計原則及其分析 抽象(Abstraction)、封裝(Encapsulation)和信息隱藏(Information Hiding) 分而治之(Divide-And-Conquer)和模塊化(modularization) 松耦合和高內(nèi)聚(Coupling and Cohesion) 策略和實現(xiàn)的分離(Separation of Policy and Implementation) 接口和實現(xiàn)的分離(Separation of Interface and Implementation) 單一引用點(Single Point of Reference) 典型案例分析:架構(gòu)原則在實際項目中應用(奧運項目案例) 內(nèi)容三:案例分析—OO基本原則 (多個小案例,不涉及特定的業(yè)務) 通過經(jīng)典面向?qū)ο蟀咐?要求學員分別使用過程式和面向?qū)ο?種思維,進行設計 進行對比2種思維的不同點和結(jié)果 通過案例指出OO是否真正做到了它所說的價值 這些小案例涉及項目開發(fā)中的常見的困境、疑惑,本節(jié)探討如何通過設計原則解決。 討論設計原則與設計模式的關系,已經(jīng)在沒有合適模式可用的情況下如何分析、解決問題。 |
軟件架構(gòu)模式 內(nèi)容一 常見的架構(gòu)模式/風格 分層架構(gòu)模式 Pipe/Filter Pattern 黑板/看板(blackboard)模式 MVC/PVC Pattern Event-Based Pattern和Microkernel Pattern 分布式和并發(fā)架構(gòu)設計模式 解釋器和黑板模式 其他模式的介紹(元數(shù)據(jù)等) 典型案例分析:軟件架構(gòu)模式如何應用在自己的實際項目中 內(nèi)容二 典型案例分析 某數(shù)據(jù)抓取分析系統(tǒng) 某模式識別系統(tǒng) 某多媒體制作系統(tǒng) 通過典型案例分析,總結(jié)架構(gòu)師實際項目架構(gòu)的經(jīng)驗和應用 |
設計模式與軟件設計思想 內(nèi)容一 常見的設計模式及其運用 使用GOF設計模式,借鑒前人的經(jīng)驗。 分析創(chuàng)建型模式:單例模式(Singleton)、工廠模式、抽象工廠模式(Abstractfactory) 分析結(jié)構(gòu)型模式:橋梁模式(Bridge)、裝飾模式(Decorator)、適配器模式(Adapter)、代理模式(Proxy)、組合模式(Composite) 分析行為型模式:命令模式(Command )、觀察者模式(Observer)、狀態(tài)模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、訪問者模式(Template Method) 典型案例分析:分析薪酬管理、訂單管理系統(tǒng)等多個案例,展示設計模式在架構(gòu)設計中的實際應用 內(nèi)容二 設計模式的本質(zhì)探討 指出什么是優(yōu)秀設計和丑陋設計 總結(jié)自己的模式-神似而非型似 探討相似模式的本質(zhì) “間接類”模式的推演及演化 “流程類”模式的推演及演化 避免模式的誤用,討論模式的陷阱:在看似典型的場景,但不宜使用模式的場合。 內(nèi)容三 案例- 元搜索系統(tǒng)分析及設計 簡單背景介紹 如何面對紛繁的變化因素的組合 一定要使用模式嗎——如果能很好地能抽象、隔離不同因素,也許它就是模式。 討論Command模式的本質(zhì)。 內(nèi)容四 案例- 電子文件生成器 簡單背景介紹 使用模式的第一反應,及陷入陷阱的思索 具體場景使用模式的本質(zhì)討論 多態(tài)的本質(zhì) 討論并介紹表驅(qū)動法 Template Method、DIP原則Strategy模式的的靈活使用——獲得優(yōu)雅的設計 |
IOC原理在可復用軟件框架中的運用 內(nèi)容一 系統(tǒng)接口設計 接口的意義 所知最少原則 組件接口的設計 接口隔離原則 子系統(tǒng)接口的設計 典型案例分析:文件處理系統(tǒng)實例分析,如何設計一個極度的松耦合接口 內(nèi)容二 IOC原理在可復用軟件框架中的運用 Spring中的IOC運用 理解IOC的本質(zhì) IOC及DIP原則的運用 服務組件的設計 功能組件的設計 不依賴于框架的IOC實現(xiàn) 內(nèi)容三 案例分析 典型案例分析:多功能文件處理系統(tǒng)的設計分析,采用逐步深入的方式,抽絲剝繭,展現(xiàn)如何設計一個優(yōu)雅而高效的文件處理框架。 |
數(shù)據(jù)訪問層設計 (持久層設計) 數(shù)據(jù)庫設計中的常見問題 分布式數(shù)據(jù)庫設計的6種模式 偽分布式數(shù)據(jù)庫設計的優(yōu)劣及運用 數(shù)據(jù)表設計的6種模式 數(shù)據(jù)表設計中的反規(guī)范化 海量數(shù)據(jù)技術:如何提高效率 數(shù)據(jù)ORM的常見問題 結(jié)合多個實際項目進行分析,總結(jié)6種數(shù)據(jù)庫設計模式及數(shù)據(jù)表設計模式,分析其實用條件。 |
系統(tǒng)內(nèi)間通信設計 系統(tǒng)通信設計原則 常見跨進程通訊的手段 大數(shù)據(jù)量交互的通訊手段 異構(gòu)系統(tǒng)間常見的通訊手段 基于消息隊列及控制的通訊手段 基于本地SDK的通訊手段 基于數(shù)據(jù)庫的數(shù)據(jù)交換方案 服務器推技術及對現(xiàn)代軟件的影響 協(xié)議選擇對性能的考慮 同步及異步的通訊手段 典型案例分析:結(jié)合項目實例分析,系統(tǒng)內(nèi)/間的通信設計 |
部分軟件應用類型和架構(gòu)風格鑒賞 基于樹形結(jié)構(gòu)的分布式系統(tǒng) 基于總控端的分布式系統(tǒng) 基于P2P的分布式系統(tǒng) 基于數(shù)據(jù)網(wǎng)關交互的BS系統(tǒng) 基于集中控制的BS系統(tǒng) 復雜消息控制的桌面運用系統(tǒng) 松散耦合的桌面系統(tǒng) 組件化的桌面系統(tǒng) 基于腳本解釋器的桌面系統(tǒng) 其他系統(tǒng),分析其優(yōu)劣 典型案例分析:分析實際的項目案例,賞析系統(tǒng)的不同架構(gòu)風格,并評說其利弊 |
架構(gòu)設計步驟總結(jié)及實踐 靜態(tài)設計:子系統(tǒng)、分層及分區(qū);職責分配 模塊間的通信及耦合設計:組件式編程、考慮通訊機制、解耦、設計數(shù)據(jù)層 動態(tài)設計:抽象與統(tǒng)一不同的因素、整理邏輯控制、設計消息通知機制 模塊調(diào)整:調(diào)整模塊等級、用設計模式優(yōu)化設計、編碼時構(gòu)建適當?shù)膭討B(tài)臨時類、效率的優(yōu)化(優(yōu)化效率3步驟) 典型案例分析:總結(jié)、整理架構(gòu)設計的步驟 |
大型軟件系統(tǒng)架構(gòu)實踐與剖析 超市收款系統(tǒng)軟件架構(gòu)案例研究 網(wǎng)絡數(shù)據(jù)鉆取及分析軟件架構(gòu)案例研究 某政府項目軟件架構(gòu)案例研究 |