【課程大綱】
第1天 |
1. 架構(gòu)設(shè)計(jì)文檔視圖 (1)軟件架構(gòu)的定義 (2)架構(gòu)師能力模型與能力培養(yǎng) (3)基于SEI 9種架構(gòu)評(píng)估的方法論 (4)源代碼目錄結(jié)構(gòu)與設(shè)計(jì)文檔的關(guān)系 (5)架構(gòu)視圖、架構(gòu)文檔與架構(gòu)劉生 (6)動(dòng)手實(shí)踐:基于UML模型的文檔視圖 (7)動(dòng)手實(shí)踐:使用UML工具對(duì)現(xiàn)有系統(tǒng)進(jìn)行反向工程 2.“業(yè)務(wù)戰(zhàn)略與IT戰(zhàn)略”相得益彰 (1)業(yè)務(wù)戰(zhàn)略關(guān)注點(diǎn){整合資源、創(chuàng)造價(jià)值、以滿足顧客} (2)業(yè)務(wù)領(lǐng)先戰(zhàn)略 (3)業(yè)務(wù)戰(zhàn)略源于“業(yè)務(wù)研究與業(yè)務(wù)創(chuàng)新” (4)波特價(jià)值鏈模型與五力模型 (5)企業(yè)信息化總體戰(zhàn)略思維(軟、硬、應(yīng)用、組織) (6)業(yè)務(wù)戰(zhàn)略映射IT戰(zhàn)略 (7)案例實(shí)踐:如何分析與解讀企業(yè)的業(yè)務(wù)戰(zhàn)略 3. 業(yè)務(wù)架構(gòu)規(guī)劃與設(shè)計(jì) (1)企業(yè)業(yè)務(wù)流程梳理與分析 (2)業(yè)務(wù)流程優(yōu)化與再造(效率、質(zhì)量、風(fēng)險(xiǎn)與成本) (3)業(yè)務(wù)流程組件化 (4)CBM模型-基于矩陣的方式組織“業(yè)務(wù)組件” (5)基于CBM模型的熱區(qū)分析 (6)業(yè)務(wù)組件集成-SOA與CBM模型 (7)案例實(shí)踐:基于TOC模型的BPR 4. 應(yīng)用架構(gòu)設(shè)計(jì) (1)從業(yè)務(wù)流程中提取業(yè)務(wù)領(lǐng)域模型 (2)業(yè)務(wù)領(lǐng)域模型與應(yīng)用劃分 (3)業(yè)務(wù)組件與業(yè)務(wù)應(yīng)用的映射 (4)基于業(yè)務(wù)流程的業(yè)務(wù)應(yīng)用集成 (5)遺留業(yè)務(wù)應(yīng)用系統(tǒng)的集成策略 (6)業(yè)務(wù)變化對(duì)應(yīng)用體系的影響 (7)案例實(shí)踐:應(yīng)用集成策略實(shí)踐 |
第2天 |
5. 需求分析與系統(tǒng)分析 (1)需求分析的層次:理解需求、分析需求與挖掘需求 (2)滿足上下游的需求:產(chǎn)品需求與開發(fā)需求 (3)已知功能需求分析的方法:IDEF0、Use Case、ATDD與BDD (4)非功能性需求分析的方法:QFD與質(zhì)量效用樹 (5)需求分析的可視化方法:UML需求建模 (6)如何全面、完整、無二義性的描述需求? (7)站在系統(tǒng)工程視角的需求分析 (8)業(yè)務(wù)功能結(jié)構(gòu)抽象分析 (9)動(dòng)手實(shí)踐:業(yè)務(wù)功能需求深度分析動(dòng)手實(shí)踐,評(píng)選典型實(shí)踐成果 (10)案例分析:開源軟件ERP5業(yè)務(wù)抽象設(shè)計(jì) 6. 架構(gòu)決策與選型 (1)透視技術(shù)平臺(tái)、框架與類庫的內(nèi)涵 (2)評(píng)估技術(shù)平臺(tái)、框架與類庫的方法 (3)產(chǎn)品與產(chǎn)品線架構(gòu)決策的差異性 (4)以往架構(gòu)決策經(jīng)驗(yàn)的復(fù)用 (5)基于骨架代碼的架構(gòu)決策 (6)基于Delphi法的架構(gòu)決策 (7)基于SEI的9種架構(gòu)評(píng)估方法論 (8)案例研究:豐田的DFSS-Design For Six Sigma (9)動(dòng)手實(shí)踐:移動(dòng)應(yīng)用的架構(gòu)方案決策實(shí)踐,評(píng)選典型實(shí)踐成果 7. 細(xì)化架構(gòu)與切割 (1)技術(shù)切割范式:針對(duì)所有業(yè)務(wù)功能進(jìn)行技術(shù)切割方法論 (2)技術(shù)元素的分層組織 (3)技術(shù)元素的分包組織 (4)技術(shù)元素的相似性與重疊性分析 (5)技術(shù)元素的變化性設(shè)計(jì) (6)技術(shù)元素的性能、可靠、穩(wěn)定與安全設(shè)計(jì) (7)技術(shù)元素并行開發(fā)與開發(fā)管理組織 (8)技術(shù)元素難度復(fù)雜度與開發(fā)者能力關(guān)系 (9)動(dòng)手實(shí)踐:面向?qū)ο笈c面向方面的技術(shù)切割實(shí)踐,評(píng)選典型實(shí)踐成果 8. 接口設(shè)計(jì)與解耦 (1)接口設(shè)計(jì)的基本原則 (2)接口的變化性與穩(wěn)定性 (3)定義技術(shù)元素間相互調(diào)用的接口 (4)定義系統(tǒng)外部訪問集成的接口 (5)定義框架管理的接口 (6)注入變化觀察技術(shù)元素的波及面-耦合性分析 (7)技術(shù)元素職責(zé)單一性與松耦合 (8)案例分析:google的MapReduce的接口設(shè)計(jì) (9)動(dòng)手實(shí)踐:類庫接口設(shè)計(jì)實(shí)踐,評(píng)選典型實(shí)踐成果 |
第3天 |
9. 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)與大數(shù)據(jù) (1)數(shù)據(jù)庫設(shè)計(jì)的基本原則:適度使用范式原則 (2)實(shí)現(xiàn)數(shù)據(jù)庫結(jié)構(gòu)的彈性設(shè)計(jì)8種方案 (3)大數(shù)據(jù)設(shè)計(jì):權(quán)衡SQL與NoSQL (4)數(shù)據(jù)切割:分庫、分區(qū)與分布 (5)數(shù)據(jù)存儲(chǔ)文件系統(tǒng)的彈性設(shè)計(jì):MySQL與淘寶TFS (6)數(shù)據(jù)性能設(shè)計(jì)方案:對(duì)比MemCached、OceanBase與Spark (7)數(shù)據(jù)中的知識(shí)與決策 (8)動(dòng)手實(shí)踐:分組實(shí)現(xiàn)數(shù)據(jù)庫彈性設(shè)計(jì),評(píng)選典型實(shí)踐成果 10. 公共組件設(shè)計(jì) (1)公共組件結(jié)構(gòu)切割 (2)公共組件接口設(shè)計(jì) (3)公共組件的彈性設(shè)計(jì) (4)公共組件與功能組件的動(dòng)態(tài)耦合設(shè)計(jì) (5)動(dòng)手實(shí)踐:Cache組件設(shè)計(jì) (6)動(dòng)手實(shí)踐:現(xiàn)有系統(tǒng)反向工程的公共組件合理性分析 11. 框架平臺(tái)設(shè)計(jì) (1)UI框架設(shè)計(jì) (2)功能邏輯組件集成管理框架設(shè)計(jì) (3)數(shù)據(jù)訪問框架設(shè)計(jì) (4)數(shù)據(jù)存儲(chǔ)框架設(shè)計(jì) (5)案例分析:HADOOP框架剖析 (6)動(dòng)手實(shí)踐:現(xiàn)有系統(tǒng)反向工程的自定義框架的合理性分析
12. 非功能性設(shè)計(jì) (1)各種質(zhì)量屬性設(shè)計(jì)的戰(zhàn)術(shù)策略 (2)掌控“相互沖突的質(zhì)量屬性”設(shè)計(jì)的平衡點(diǎn) (3)軟件變化分析與預(yù)測 (4)軟件變化設(shè)計(jì)策略 (5)基于設(shè)計(jì)模式的變化設(shè)計(jì) (6)基于key-value的變化設(shè)計(jì) (7)基于邏輯判斷的變化設(shè)計(jì) (8)高可靠性設(shè)計(jì) (9)案例分析:SAP自我維護(hù)設(shè)計(jì)策略分析 (10)動(dòng)手實(shí)踐:現(xiàn)有系統(tǒng)反向工程的質(zhì)量設(shè)計(jì)的合理性分析 |
第4天 |
13. 部署運(yùn)行維護(hù)設(shè)計(jì) (1)規(guī)劃系統(tǒng)開發(fā)的配置庫結(jié)構(gòu) (2)規(guī)劃系統(tǒng)的編譯方案 (3)規(guī)劃系統(tǒng)源代碼的版本方案 (4)規(guī)劃系統(tǒng)物理文件的安裝方案 (5)規(guī)劃系統(tǒng)中各個(gè)技術(shù)元素部署方案 (6)系統(tǒng)集成構(gòu)建方案 (7)注入敏捷思想-持續(xù)集成構(gòu)建 (8)案例分析:微軟的每日構(gòu)建 (9)標(biāo)注軟件結(jié)構(gòu)中的“運(yùn)維點(diǎn)” (10)制定“運(yùn)維點(diǎn)”的運(yùn)行維護(hù)策略 (11)軟件結(jié)構(gòu)中內(nèi)置免疫系統(tǒng) (12)動(dòng)手實(shí)踐:產(chǎn)品源代碼結(jié)構(gòu)、編譯計(jì)劃、版本計(jì)劃與部署方案,評(píng)選典型實(shí)踐成果 14. 架構(gòu)關(guān)鍵點(diǎn)與工程 (1)架構(gòu)設(shè)計(jì)與開發(fā)效率:簡化開發(fā) (2)架構(gòu)設(shè)計(jì)指導(dǎo)詳細(xì)設(shè)計(jì)與代碼編寫 (3)注入敏捷的開發(fā)實(shí)踐方法:TDD (4)融合ITIL與DevOps的架構(gòu)設(shè)計(jì) (5)軟件架構(gòu)與人力組織結(jié)構(gòu)映射 (6)基于“軟件工廠”的開發(fā)模式 (7)建立企業(yè)級(jí)知識(shí)庫 (8)軟件動(dòng)態(tài)運(yùn)行維護(hù)規(guī)劃 (9)動(dòng)手實(shí)踐:現(xiàn)有系統(tǒng)反向工程的運(yùn)維設(shè)計(jì)的合理性分析 15. 架構(gòu)模式與設(shè)計(jì)模式 (1)模式的場景、角色、職責(zé) (2)模式應(yīng)用誤區(qū)與風(fēng)險(xiǎn) (3)設(shè)計(jì)重構(gòu)中模式應(yīng)用 (4)把握模式的使用尺度-過度使用模式與適度使用模式 16. 軟件設(shè)計(jì)模式的應(yīng)用(Design Patterns) (1)建筑模式與設(shè)計(jì)模式 (2)過度使用設(shè)計(jì)模式的問題 (3)設(shè)計(jì)模式如何適應(yīng)變化和封裝 (4)GRASP設(shè)計(jì)原則 (5)關(guān)于功能與邏輯的分離 (6)設(shè)計(jì)模式的組合應(yīng)用方式 (7)Framework設(shè)計(jì)中設(shè)計(jì)模式 (8)結(jié)合案例進(jìn)行分析,應(yīng)用設(shè)計(jì)模式之前和應(yīng)用之后的對(duì)比 (9)動(dòng)手實(shí)踐:學(xué)員依據(jù)案例進(jìn)行設(shè)計(jì)模式實(shí)踐 |
- 上一篇:像拍電影一樣的需求分析
- 下一篇:軟件架構(gòu)設(shè)計(jì)