課程簡(jiǎn)介
本課程通過(guò)介紹軟件架構(gòu)視圖和軟件文檔,軟件架構(gòu)設(shè)計(jì)過(guò)程,軟件架構(gòu)應(yīng)用與常用的架構(gòu)模式/策略/原則等諸多架構(gòu)實(shí)際問(wèn)題,透視軟件架構(gòu)是如何設(shè)計(jì)和實(shí)現(xiàn)的? 并且介紹應(yīng)該如何應(yīng)用系統(tǒng)架構(gòu)設(shè)計(jì)為后期的詳細(xì)設(shè)計(jì)和應(yīng)用開(kāi)發(fā)提供指導(dǎo)。針對(duì)大多數(shù)企業(yè)目前是維護(hù)遺留系統(tǒng), 該課程介紹了軟件架構(gòu)的監(jiān)控,架構(gòu)的壞癥狀和重構(gòu)方法,因?yàn)榧軜?gòu)設(shè)計(jì)的前期不能考慮到所有的問(wèn)題,設(shè)計(jì)包容一切的完美架構(gòu). 還針對(duì)軟件架構(gòu)常見(jiàn)設(shè)計(jì)技術(shù)專(zhuān)題等問(wèn)題進(jìn)行了分析并提出了解決方案,并結(jié)合眾多大型軟件項(xiàng)目架構(gòu)案例進(jìn)行更深入的剖析!
目標(biāo)收益
本課程通過(guò)介紹軟件架構(gòu)視圖和軟件文檔,軟件架構(gòu)設(shè)計(jì)過(guò)程,軟件架構(gòu)應(yīng)用與常用的架構(gòu)模式/策略/原則等諸多架構(gòu)實(shí)際問(wèn)題,透視軟件架構(gòu)是如何設(shè)計(jì)和實(shí)現(xiàn)的? 并且介紹應(yīng)該如何應(yīng)用系統(tǒng)架構(gòu)設(shè)計(jì)為后期的詳細(xì)設(shè)計(jì)和應(yīng)用開(kāi)發(fā)提供指導(dǎo)。
培訓(xùn)對(duì)象
軟件架構(gòu)師/技術(shù)總監(jiān)/資深技術(shù)人員/高級(jí)軟件設(shè)計(jì)師
課程內(nèi)容
我們已經(jīng)為幾十家企業(yè)提供了內(nèi)訓(xùn)如Adobe中國(guó)研發(fā)中心,Autodesk軟件(中國(guó))研發(fā)中心,愛(ài)立信中國(guó)研發(fā)中心(7次內(nèi)訓(xùn)),思科中國(guó)研發(fā)中心,卓望科技,朗訊研發(fā)中心,平安科技,Visto中國(guó)研發(fā)中心,橫河電機(jī)(中國(guó))有限公司,大唐電信研發(fā)中心,美國(guó)通用電氣(GE)研發(fā)中心,邁瑞研發(fā)中心,阿里巴巴研發(fā)中心,摩托羅拉成都研發(fā)中心
課程大綱
第一篇: 軟件架構(gòu)核心原理和設(shè)計(jì)過(guò)程 第1單元:軟件架構(gòu)文檔和架構(gòu)視圖-如何有效描述架構(gòu)藍(lán)圖 |
內(nèi)容一:軟件架構(gòu)的視圖 1.軟件架構(gòu)的視圖原理 2.軟件架構(gòu)視圖的意義, 軟件架構(gòu)師的多維思考 3.邏輯視圖、開(kāi)發(fā)視圖、部署視圖、運(yùn)行視圖、場(chǎng)景視圖,數(shù)據(jù)視圖 ,實(shí)現(xiàn)視圖 4.如何和怎樣繪制軟件架構(gòu)視圖 5.UML建模工具在架構(gòu)視圖的應(yīng)用 6.典型案例分析:結(jié)合多個(gè)電信,金融行業(yè)項(xiàng)目案例,分析真實(shí)項(xiàng)目軟件架構(gòu)視圖 內(nèi)容二: 軟件架構(gòu)的文檔編寫(xiě) 1.軟件架構(gòu)文檔的意義 2.軟件架構(gòu)模板(根據(jù)實(shí)際項(xiàng)目情況選擇合適內(nèi)容) 3.軟件架構(gòu)文檔的結(jié)構(gòu)(避免出現(xiàn)不必要的重復(fù)和缺少關(guān)鍵信息) 4.軟件架構(gòu)文檔必須包含的內(nèi)容(通過(guò)多個(gè)項(xiàng)目,分析不同系統(tǒng)包含系統(tǒng)內(nèi)容不同) 5.文檔的后期管理(使文檔保持更新) 6.軟件架構(gòu)文檔的評(píng)審 7.典型案例分析:結(jié)合多個(gè)電信項(xiàng)目案例,進(jìn)行分析和評(píng)審軟件架構(gòu)文檔 典型案例分析:結(jié)合多個(gè)電信項(xiàng)目案例,進(jìn)行分析和評(píng)審軟件架構(gòu)文檔 |
第2單元:軟件架構(gòu)設(shè)計(jì)關(guān)注點(diǎn)(哪些因素驅(qū)動(dòng)架構(gòu)設(shè)計(jì),是架構(gòu)開(kāi)始設(shè)計(jì)之前必須知道的?)和架構(gòu)最佳策略 |
內(nèi)容一:軟件架構(gòu)設(shè)計(jì)關(guān)注點(diǎn)(軟件架構(gòu)師在架構(gòu)設(shè)計(jì)之前必須考慮的要素) 1.架構(gòu)設(shè)計(jì)的關(guān)注是什么 2.軟件架構(gòu)的驅(qū)動(dòng)因素(改變傳統(tǒng)以功能實(shí)現(xiàn)和新技術(shù)為驅(qū)動(dòng)的策略) 3.軟件質(zhì)量需求對(duì)架構(gòu)的影響(質(zhì)量屬性場(chǎng)景定義和對(duì)應(yīng)架構(gòu)策略) 4.軟件功能需求對(duì)架構(gòu)的影響(分析功能需求變化點(diǎn)和進(jìn)化點(diǎn)) 5.軟件約束條件與架構(gòu)的影響(業(yè)務(wù),運(yùn)行環(huán)境,開(kāi)發(fā)團(tuán)隊(duì),實(shí)現(xiàn)技術(shù)等約束) 6.如何使功能性需求,非功能性需求和平臺(tái)細(xì)節(jié)在架構(gòu)中能保持分離,從而改善可維護(hù)性和可擴(kuò)展性 7.處理功能需求,非功能性需求,平臺(tái)細(xì)節(jié).制定架構(gòu)目標(biāo) 8.典型案例分析:結(jié)合項(xiàng)目,因?yàn)榉治鲵?qū)動(dòng)因素的錯(cuò)誤,導(dǎo)致項(xiàng)目不能如期驗(yàn)收的失敗案例 內(nèi)容二:軟件架構(gòu)最佳策略 1.重新認(rèn)識(shí)系統(tǒng)質(zhì)量屬性,如何定義質(zhì)量屬性和相應(yīng)的架構(gòu)策略 2.系統(tǒng)架構(gòu)的可擴(kuò)展性設(shè)計(jì)策略 3.系統(tǒng)架構(gòu)的可靠性設(shè)計(jì)策略 4.系統(tǒng)架構(gòu)的高性能設(shè)計(jì)策略 5.系統(tǒng)架構(gòu)的可維護(hù)性設(shè)計(jì)策略 6.系統(tǒng)架構(gòu)的易用性設(shè)計(jì)策略 7.系統(tǒng)架構(gòu)質(zhì)量屬性和架構(gòu)模式的應(yīng)用 8.通過(guò)分析案例,了解基本架構(gòu)策略如何應(yīng)用 |
第3單元:軟件架構(gòu)設(shè)計(jì)過(guò)程 |
內(nèi)容一、軟件架構(gòu)設(shè)計(jì)過(guò)程 1.軟件架構(gòu)設(shè)計(jì)過(guò)程方法論(步驟和相應(yīng)的成果) 2.軟件系統(tǒng)邊界和外部系統(tǒng)接口的定義 3.大型軟件系統(tǒng)的劃分子系統(tǒng)原則 4.子系統(tǒng)功能模塊的分解 5.子系統(tǒng)間的通信接口的設(shè)計(jì) 6.如何應(yīng)對(duì)系統(tǒng)內(nèi)部緊耦合、高內(nèi)聚 7.軟件系統(tǒng)關(guān)鍵質(zhì)量屬性樹(shù)和可行性分析 8.軟件系統(tǒng)部署架構(gòu)(分布式/數(shù)據(jù)分布/通信/安全) 9.軟件系統(tǒng)部署容量評(píng)估(主機(jī)/中間件/數(shù)據(jù)庫(kù)等資源容量評(píng)估) 10.應(yīng)用系統(tǒng)的類(lèi)型和架構(gòu)風(fēng)格 11.架構(gòu)模式在實(shí)際項(xiàng)目的應(yīng)用 12.軟件架構(gòu)立方體圖(軟件架構(gòu)的分層,分區(qū)和基礎(chǔ)服務(wù)) 13.軟件架構(gòu)通用機(jī)制的分析(如何處理基礎(chǔ)設(shè)施擴(kuò)展和具體有什么方法做基礎(chǔ)設(shè)施擴(kuò)展, 掌握如何分離這些基礎(chǔ)設(shè)施用例) 14.使用質(zhì)量場(chǎng)景屬性進(jìn)行迭代架構(gòu)設(shè)計(jì) 15.軟件架構(gòu)各層的架構(gòu)策略(針對(duì)企業(yè)應(yīng)用分層,每層的架構(gòu)策略) 16.軟件系統(tǒng)線(xiàn)程架構(gòu)策略(結(jié)合Apache HTTP Server分析線(xiàn)程和進(jìn)程的架構(gòu)) 17.數(shù)據(jù)架構(gòu)(數(shù)據(jù)模型/數(shù)據(jù)分布/數(shù)據(jù)存取,以及核心數(shù)據(jù)流) 18.用例視圖(抽取典型,有分險(xiǎn)和客戶(hù)最關(guān)心用例進(jìn)行分析,結(jié)合架構(gòu)進(jìn)行設(shè)計(jì)) 19.實(shí)現(xiàn)視圖(架構(gòu),設(shè)計(jì)和開(kāi)發(fā),實(shí)現(xiàn)原則和指南) 20.完成架構(gòu)文檔,對(duì)架構(gòu)文檔進(jìn)行評(píng)估 21.典型案例分析:結(jié)合3G增值服務(wù)項(xiàng)目,分析物理架構(gòu)設(shè)計(jì) |
第4單元:軟件架構(gòu)應(yīng)用 |
內(nèi)容一、架構(gòu)設(shè)計(jì)的評(píng)估和驗(yàn)證 1.軟件架構(gòu)的驗(yàn)證(軟件架構(gòu)風(fēng)險(xiǎn)驗(yàn)證) 2.軟件架構(gòu)的驗(yàn)證方法和指標(biāo)(基于問(wèn)題檢查表和質(zhì)量屬性樹(shù)) 3.軟件架構(gòu)的驗(yàn)證注意事項(xiàng) 4.軟件架構(gòu)的評(píng)估方式 5.軟件詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)時(shí)期,架構(gòu)師的職責(zé)和架構(gòu)的監(jiān)控 6.典型案例分析:結(jié)合項(xiàng)目實(shí)例,分析如何進(jìn)行驗(yàn)證架構(gòu)和架構(gòu)設(shè)計(jì)的后期重構(gòu)技巧 內(nèi)容二、架構(gòu)設(shè)計(jì)重構(gòu)和復(fù)用 1.軟件架構(gòu)重構(gòu)概述 2.軟件架構(gòu)常見(jiàn)的壞癥狀 3.軟件架構(gòu)的重構(gòu)手段 4.軟件架構(gòu)的復(fù)用 結(jié)合某著名公司全球架構(gòu)師團(tuán)隊(duì)架構(gòu)實(shí)例,分析架構(gòu)重構(gòu)和架構(gòu)復(fù)用技巧 |
第二篇: 軟件架構(gòu)分層架構(gòu)和每層核心策略 第5單元:軟件架構(gòu)核心策略 |
內(nèi)容一:領(lǐng)域模型層架構(gòu) 1.領(lǐng)域模型架構(gòu)策略 2.領(lǐng)域模型建模(關(guān)聯(lián),屬性) 3.多個(gè)系統(tǒng)數(shù)據(jù)模型不一致和領(lǐng)域模型的同步 4.公共數(shù)據(jù)模型(CDM) 5.領(lǐng)域模型分析模式(模型的選擇會(huì)影響最終產(chǎn)生系統(tǒng)的靈活性和可重用性) 6.根據(jù)電信計(jì)費(fèi)系統(tǒng)和網(wǎng)絡(luò)資源管理案例分析領(lǐng)域模型的架構(gòu) 內(nèi)容二:業(yè)務(wù)邏輯層 1.業(yè)務(wù)邏輯架構(gòu)模式(事務(wù)腳本/領(lǐng)域模型/服務(wù)層模式) 2.業(yè)務(wù)流程架構(gòu)策略 3.基于容器的業(yè)務(wù)邏輯架構(gòu)(EJB和輕量級(jí),以及容器提供的基礎(chǔ)服務(wù)) 4.面向方面的業(yè)務(wù)架構(gòu)和AOP技術(shù)在業(yè)務(wù)邏輯架構(gòu)的應(yīng)用 5.狀態(tài)管理架構(gòu)策略(有狀態(tài)和無(wú)狀態(tài)服務(wù),以及對(duì)可擴(kuò)展性的影響) 6.業(yè)務(wù)邏輯的分布式架構(gòu)策略(遠(yuǎn)程或本地/同步或異步) 7.并發(fā)和同步架構(gòu)模式(Half-Sync/Half-Async和Leader/Followers和Active Object和Monitor Object) 8.基于中間件的業(yè)務(wù)邏輯架構(gòu)(Corba/Tuxedo/MQSeries/J2EE/.net) 9.典型案例分析:結(jié)合某銀行交易系統(tǒng)分析業(yè)務(wù)邏輯架構(gòu) 內(nèi)容三:數(shù)據(jù)存?。ǔ志眯裕蛹軜?gòu) 1.數(shù)據(jù)存取架構(gòu)策略(對(duì)象和關(guān)系數(shù)據(jù)庫(kù)的映射) 2.對(duì)象關(guān)系阻抗/ORM技術(shù)/數(shù)據(jù)映射SQLMapper 3.緩存技術(shù)在存取層的應(yīng)用/緩存數(shù)據(jù)和數(shù)據(jù)庫(kù)數(shù)據(jù)一致性 4.分布式數(shù)據(jù)存取策略(讀寫(xiě)分離/分布數(shù)據(jù)/異構(gòu)數(shù)據(jù)存取) 5.數(shù)據(jù)同步和一致性策略 6.數(shù)據(jù)訪(fǎng)問(wèn)層的性能考慮 7.事務(wù)管理(本地事務(wù)和分布式事務(wù),以及事務(wù)補(bǔ)償) 8.數(shù)據(jù)鎖管理(悲觀(guān)鎖和樂(lè)觀(guān)鎖) 9.典型案例分析:結(jié)合零售行業(yè)POS項(xiàng)目分析數(shù)據(jù)訪(fǎng)問(wèn)層的架構(gòu)設(shè)計(jì) 內(nèi)容四:數(shù)據(jù)架構(gòu) 1.數(shù)據(jù)架構(gòu)概述 2.數(shù)據(jù)建模原則和優(yōu)化策略 3.數(shù)據(jù)復(fù)制和同步策略 4.數(shù)據(jù)一致性和分布式事務(wù) 5.大數(shù)據(jù)量數(shù)據(jù)庫(kù)可擴(kuò)展性(水平和垂直擴(kuò)展,讀寫(xiě)分離)以及單表記錄過(guò)大拆分策略 6. 數(shù)據(jù)庫(kù)集群規(guī)劃 7.分布式數(shù)據(jù)存取策略(跨多個(gè)庫(kù), 可能數(shù)據(jù)庫(kù)異構(gòu)類(lèi)型) 8.數(shù)據(jù)備份與恢復(fù) 9.數(shù)據(jù)庫(kù)性能規(guī)劃 10.數(shù)據(jù)安全策略 11.與遺留系統(tǒng)的數(shù)據(jù)庫(kù)兼容性考慮 12.結(jié)合電信,金融,零售POS項(xiàng)目實(shí)例分析,系統(tǒng)數(shù)據(jù)架構(gòu)設(shè)計(jì)策略 內(nèi)容五:系統(tǒng)基礎(chǔ)服務(wù)組件架構(gòu) 1.系統(tǒng)基礎(chǔ)服務(wù)組件架構(gòu)策略 2.系統(tǒng)通用服務(wù)層與業(yè)務(wù)邏輯分離 3.系統(tǒng)必備13種基礎(chǔ)服務(wù)架構(gòu)(異常處理/事務(wù)管理/緩存/工作流/校驗(yàn)/通信/安全/日志/定時(shí)觸發(fā)/狀態(tài)/消息通信/系統(tǒng)監(jiān)控/配置管理) 4.業(yè)務(wù)通用服務(wù)架構(gòu)實(shí)現(xiàn)策略 結(jié)合多個(gè)項(xiàng)目實(shí)例分析,架構(gòu)師如何萃取基礎(chǔ)服務(wù)組件和怎樣設(shè)計(jì)實(shí)現(xiàn) |
第6單元:軟件應(yīng)用類(lèi)型和參考架構(gòu)(不同應(yīng)用類(lèi)型,必須采用不同架構(gòu)風(fēng)格) |
內(nèi)容一:軟件應(yīng)用類(lèi)型和參考架構(gòu) 1.聯(lián)機(jī)交易類(lèi)架構(gòu) 2.Web應(yīng)用系統(tǒng)/大規(guī)模高并發(fā)Web2.0互聯(lián)網(wǎng)系統(tǒng) 3.Client/Server系統(tǒng)(銀行交易系統(tǒng)) 4.連接分析分析系統(tǒng)(移動(dòng)經(jīng)營(yíng)分析系統(tǒng)) 5.大規(guī)模實(shí)時(shí)并發(fā)系統(tǒng)(電信計(jì)費(fèi)系統(tǒng)) 6.Portal系統(tǒng)(個(gè)性化和頁(yè)面集成系統(tǒng) ) 7.EAI企業(yè)集成系統(tǒng)(基于大規(guī)模消息集成系統(tǒng)) 8.基于WAP系統(tǒng)(多渠道/多種手機(jī)接入系統(tǒng)) 9.后臺(tái)批處理系統(tǒng)(高并發(fā)后臺(tái)批處理類(lèi)型 銀行后臺(tái)系統(tǒng)) 10.基于SOA架構(gòu)系統(tǒng) 結(jié)合多個(gè)項(xiàng)目案例分析每種應(yīng)用類(lèi)型的架構(gòu)風(fēng)格特點(diǎn),主要架構(gòu)挑戰(zhàn)和相應(yīng)對(duì)策 |
第三篇:大型高可用高并發(fā)分布式系統(tǒng)架構(gòu)設(shè)計(jì)與實(shí)踐 第7單元 大型分布式架構(gòu)設(shè)計(jì)最佳實(shí)踐 |
內(nèi)容一:大型分布式架構(gòu)核心概念 1.無(wú)狀態(tài)化設(shè)計(jì); 2.冗余設(shè)計(jì); 3.負(fù)載均衡設(shè)計(jì); 4.分級(jí)管理設(shè)計(jì); 5.純異步調(diào)用(狀態(tài)機(jī)等方式)設(shè)計(jì); 6.調(diào)用合理超時(shí)設(shè)計(jì); 7.服務(wù)降級(jí)設(shè)計(jì); 8.冪等設(shè)計(jì); 9.我們的實(shí)踐案例; 內(nèi)容二:大型分布式系統(tǒng)服務(wù)降級(jí)設(shè)計(jì)與實(shí)踐 1.服務(wù)限流降級(jí)概念; 2.服務(wù)限流降級(jí)使用業(yè)務(wù)場(chǎng)景; 3.服務(wù)限流降級(jí)設(shè)計(jì)環(huán)節(jié); 4.服務(wù)限流降級(jí)之原則篇、架構(gòu)篇、框架篇、業(yè)務(wù)篇; 5.移動(dòng)時(shí)代服務(wù)限流降級(jí)如何打造; 6.我們的實(shí)踐案例; 內(nèi)容三:大型分布式系統(tǒng)緩存設(shè)計(jì)與實(shí)踐 1.互聯(lián)網(wǎng)使用緩存類(lèi)型有哪些?各自作用是什么? 2.分布式緩存冗余如何設(shè)計(jì)? 3.高可用架構(gòu)緩存一致性如何保證? 4.高可用架構(gòu)緩存高性能如何保證? 5.我們的實(shí)踐案例; 6.緩存系統(tǒng)在大型網(wǎng)站架構(gòu)中發(fā)揮的作用 7.單機(jī)緩存系統(tǒng)自研與選型 8.Memcached與Redis的異同及應(yīng)用場(chǎng)景 9.深入剖析Redis技術(shù) 10.Redis主要數(shù)據(jù)結(jié)構(gòu)剖析 11.Redis性能優(yōu)化及配置優(yōu)化 12.Redis復(fù)制機(jī)制與持久化機(jī)制 13.Redis缺陷與陷阱 14.分布式緩存技術(shù)剖析 15.擴(kuò)展Redis集群,如何實(shí)現(xiàn)集群彈性伸縮,無(wú)縫擴(kuò)容 16.Redis Cluster官方集群擴(kuò)展方案及缺陷 業(yè)界主流Redis集群方案剖析 內(nèi)容四:大型分布式系統(tǒng)性能優(yōu)化 1.系統(tǒng)性能優(yōu)化的模式都有哪些; 2.系統(tǒng)性能優(yōu)化常用的步驟是什么; 3.系統(tǒng)性能優(yōu)化的環(huán)節(jié)都能哪些; 4.我們的實(shí)踐案例; 內(nèi)容五:分布式系統(tǒng)數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)與實(shí)踐 1.數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)基本概念; 2.高可用性設(shè)計(jì)與實(shí)踐; 3.高并發(fā)設(shè)計(jì)與實(shí)踐; 4.讀性能設(shè)計(jì)與實(shí)踐; 5.一致性設(shè)計(jì)與實(shí)踐; 6.擴(kuò)展性設(shè)計(jì)與實(shí)踐; 7.我們的實(shí)踐案例; 內(nèi)容六:分布式系統(tǒng)數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)與實(shí)踐 1.數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)基本概念; 2.高可用性設(shè)計(jì)與實(shí)踐; |
第四篇: 架構(gòu)師與架構(gòu)職責(zé) 第8單元: 軟件架構(gòu)師成長(zhǎng) |
內(nèi)容一、軟件架構(gòu)師成長(zhǎng) 1.軟件架構(gòu)師職責(zé) 2.軟件架構(gòu)師與項(xiàng)目經(jīng)理,產(chǎn)品經(jīng)理,需求分析師不同 3.軟件架構(gòu)師技能模型 4.軟件架構(gòu)師如何成長(zhǎng) 5.中國(guó)特色的架構(gòu)師(目前國(guó)內(nèi)很多架構(gòu)師是身兼多職) |
第五篇: 案例分析 第9單元:大型軟件系統(tǒng)架構(gòu)實(shí)踐與剖析 (該案例分別在以上各單元,結(jié)合主題進(jìn)行介紹) |
綜合軟件架構(gòu)實(shí)踐與剖析(以實(shí)際項(xiàng)目案例為背景) (1)電信行業(yè)(電信97/移動(dòng)BOSS/電信MBOSS/經(jīng)營(yíng)分析)軟件架構(gòu)案例研究 (2)金融行業(yè)(XXX銀行企業(yè)信貸和XXX銀行)軟件架構(gòu)案例研究 (3)政府行業(yè)(XXX社保和XXX稅務(wù))軟件架構(gòu)案例研究 (4)電力行業(yè)(SG168和XXX電網(wǎng)門(mén)戶(hù)系統(tǒng))軟件架構(gòu)案例研究 (5)大型互聯(lián)網(wǎng)系統(tǒng)架構(gòu)案例研究 (6)郵政行業(yè)(***郵政項(xiàng)目)案例研究 |
第一篇: 軟件架構(gòu)核心原理和設(shè)計(jì)過(guò)程 第1單元:軟件架構(gòu)文檔和架構(gòu)視圖-如何有效描述架構(gòu)藍(lán)圖 內(nèi)容一:軟件架構(gòu)的視圖 1.軟件架構(gòu)的視圖原理 2.軟件架構(gòu)視圖的意義, 軟件架構(gòu)師的多維思考 3.邏輯視圖、開(kāi)發(fā)視圖、部署視圖、運(yùn)行視圖、場(chǎng)景視圖,數(shù)據(jù)視圖 ,實(shí)現(xiàn)視圖 4.如何和怎樣繪制軟件架構(gòu)視圖 5.UML建模工具在架構(gòu)視圖的應(yīng)用 6.典型案例分析:結(jié)合多個(gè)電信,金融行業(yè)項(xiàng)目案例,分析真實(shí)項(xiàng)目軟件架構(gòu)視圖 內(nèi)容二: 軟件架構(gòu)的文檔編寫(xiě) 1.軟件架構(gòu)文檔的意義 2.軟件架構(gòu)模板(根據(jù)實(shí)際項(xiàng)目情況選擇合適內(nèi)容) 3.軟件架構(gòu)文檔的結(jié)構(gòu)(避免出現(xiàn)不必要的重復(fù)和缺少關(guān)鍵信息) 4.軟件架構(gòu)文檔必須包含的內(nèi)容(通過(guò)多個(gè)項(xiàng)目,分析不同系統(tǒng)包含系統(tǒng)內(nèi)容不同) 5.文檔的后期管理(使文檔保持更新) 6.軟件架構(gòu)文檔的評(píng)審 7.典型案例分析:結(jié)合多個(gè)電信項(xiàng)目案例,進(jìn)行分析和評(píng)審軟件架構(gòu)文檔 典型案例分析:結(jié)合多個(gè)電信項(xiàng)目案例,進(jìn)行分析和評(píng)審軟件架構(gòu)文檔 |
第2單元:軟件架構(gòu)設(shè)計(jì)關(guān)注點(diǎn)(哪些因素驅(qū)動(dòng)架構(gòu)設(shè)計(jì),是架構(gòu)開(kāi)始設(shè)計(jì)之前必須知道的?)和架構(gòu)最佳策略 內(nèi)容一:軟件架構(gòu)設(shè)計(jì)關(guān)注點(diǎn)(軟件架構(gòu)師在架構(gòu)設(shè)計(jì)之前必須考慮的要素) 1.架構(gòu)設(shè)計(jì)的關(guān)注是什么 2.軟件架構(gòu)的驅(qū)動(dòng)因素(改變傳統(tǒng)以功能實(shí)現(xiàn)和新技術(shù)為驅(qū)動(dòng)的策略) 3.軟件質(zhì)量需求對(duì)架構(gòu)的影響(質(zhì)量屬性場(chǎng)景定義和對(duì)應(yīng)架構(gòu)策略) 4.軟件功能需求對(duì)架構(gòu)的影響(分析功能需求變化點(diǎn)和進(jìn)化點(diǎn)) 5.軟件約束條件與架構(gòu)的影響(業(yè)務(wù),運(yùn)行環(huán)境,開(kāi)發(fā)團(tuán)隊(duì),實(shí)現(xiàn)技術(shù)等約束) 6.如何使功能性需求,非功能性需求和平臺(tái)細(xì)節(jié)在架構(gòu)中能保持分離,從而改善可維護(hù)性和可擴(kuò)展性 7.處理功能需求,非功能性需求,平臺(tái)細(xì)節(jié).制定架構(gòu)目標(biāo) 8.典型案例分析:結(jié)合項(xiàng)目,因?yàn)榉治鲵?qū)動(dòng)因素的錯(cuò)誤,導(dǎo)致項(xiàng)目不能如期驗(yàn)收的失敗案例 內(nèi)容二:軟件架構(gòu)最佳策略 1.重新認(rèn)識(shí)系統(tǒng)質(zhì)量屬性,如何定義質(zhì)量屬性和相應(yīng)的架構(gòu)策略 2.系統(tǒng)架構(gòu)的可擴(kuò)展性設(shè)計(jì)策略 3.系統(tǒng)架構(gòu)的可靠性設(shè)計(jì)策略 4.系統(tǒng)架構(gòu)的高性能設(shè)計(jì)策略 5.系統(tǒng)架構(gòu)的可維護(hù)性設(shè)計(jì)策略 6.系統(tǒng)架構(gòu)的易用性設(shè)計(jì)策略 7.系統(tǒng)架構(gòu)質(zhì)量屬性和架構(gòu)模式的應(yīng)用 8.通過(guò)分析案例,了解基本架構(gòu)策略如何應(yīng)用 |
第3單元:軟件架構(gòu)設(shè)計(jì)過(guò)程 內(nèi)容一、軟件架構(gòu)設(shè)計(jì)過(guò)程 1.軟件架構(gòu)設(shè)計(jì)過(guò)程方法論(步驟和相應(yīng)的成果) 2.軟件系統(tǒng)邊界和外部系統(tǒng)接口的定義 3.大型軟件系統(tǒng)的劃分子系統(tǒng)原則 4.子系統(tǒng)功能模塊的分解 5.子系統(tǒng)間的通信接口的設(shè)計(jì) 6.如何應(yīng)對(duì)系統(tǒng)內(nèi)部緊耦合、高內(nèi)聚 7.軟件系統(tǒng)關(guān)鍵質(zhì)量屬性樹(shù)和可行性分析 8.軟件系統(tǒng)部署架構(gòu)(分布式/數(shù)據(jù)分布/通信/安全) 9.軟件系統(tǒng)部署容量評(píng)估(主機(jī)/中間件/數(shù)據(jù)庫(kù)等資源容量評(píng)估) 10.應(yīng)用系統(tǒng)的類(lèi)型和架構(gòu)風(fēng)格 11.架構(gòu)模式在實(shí)際項(xiàng)目的應(yīng)用 12.軟件架構(gòu)立方體圖(軟件架構(gòu)的分層,分區(qū)和基礎(chǔ)服務(wù)) 13.軟件架構(gòu)通用機(jī)制的分析(如何處理基礎(chǔ)設(shè)施擴(kuò)展和具體有什么方法做基礎(chǔ)設(shè)施擴(kuò)展, 掌握如何分離這些基礎(chǔ)設(shè)施用例) 14.使用質(zhì)量場(chǎng)景屬性進(jìn)行迭代架構(gòu)設(shè)計(jì) 15.軟件架構(gòu)各層的架構(gòu)策略(針對(duì)企業(yè)應(yīng)用分層,每層的架構(gòu)策略) 16.軟件系統(tǒng)線(xiàn)程架構(gòu)策略(結(jié)合Apache HTTP Server分析線(xiàn)程和進(jìn)程的架構(gòu)) 17.數(shù)據(jù)架構(gòu)(數(shù)據(jù)模型/數(shù)據(jù)分布/數(shù)據(jù)存取,以及核心數(shù)據(jù)流) 18.用例視圖(抽取典型,有分險(xiǎn)和客戶(hù)最關(guān)心用例進(jìn)行分析,結(jié)合架構(gòu)進(jìn)行設(shè)計(jì)) 19.實(shí)現(xiàn)視圖(架構(gòu),設(shè)計(jì)和開(kāi)發(fā),實(shí)現(xiàn)原則和指南) 20.完成架構(gòu)文檔,對(duì)架構(gòu)文檔進(jìn)行評(píng)估 21.典型案例分析:結(jié)合3G增值服務(wù)項(xiàng)目,分析物理架構(gòu)設(shè)計(jì) |
第4單元:軟件架構(gòu)應(yīng)用 內(nèi)容一、架構(gòu)設(shè)計(jì)的評(píng)估和驗(yàn)證 1.軟件架構(gòu)的驗(yàn)證(軟件架構(gòu)風(fēng)險(xiǎn)驗(yàn)證) 2.軟件架構(gòu)的驗(yàn)證方法和指標(biāo)(基于問(wèn)題檢查表和質(zhì)量屬性樹(shù)) 3.軟件架構(gòu)的驗(yàn)證注意事項(xiàng) 4.軟件架構(gòu)的評(píng)估方式 5.軟件詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)時(shí)期,架構(gòu)師的職責(zé)和架構(gòu)的監(jiān)控 6.典型案例分析:結(jié)合項(xiàng)目實(shí)例,分析如何進(jìn)行驗(yàn)證架構(gòu)和架構(gòu)設(shè)計(jì)的后期重構(gòu)技巧 內(nèi)容二、架構(gòu)設(shè)計(jì)重構(gòu)和復(fù)用 1.軟件架構(gòu)重構(gòu)概述 2.軟件架構(gòu)常見(jiàn)的壞癥狀 3.軟件架構(gòu)的重構(gòu)手段 4.軟件架構(gòu)的復(fù)用 結(jié)合某著名公司全球架構(gòu)師團(tuán)隊(duì)架構(gòu)實(shí)例,分析架構(gòu)重構(gòu)和架構(gòu)復(fù)用技巧 |
第二篇: 軟件架構(gòu)分層架構(gòu)和每層核心策略 第5單元:軟件架構(gòu)核心策略 內(nèi)容一:領(lǐng)域模型層架構(gòu) 1.領(lǐng)域模型架構(gòu)策略 2.領(lǐng)域模型建模(關(guān)聯(lián),屬性) 3.多個(gè)系統(tǒng)數(shù)據(jù)模型不一致和領(lǐng)域模型的同步 4.公共數(shù)據(jù)模型(CDM) 5.領(lǐng)域模型分析模式(模型的選擇會(huì)影響最終產(chǎn)生系統(tǒng)的靈活性和可重用性) 6.根據(jù)電信計(jì)費(fèi)系統(tǒng)和網(wǎng)絡(luò)資源管理案例分析領(lǐng)域模型的架構(gòu) 內(nèi)容二:業(yè)務(wù)邏輯層 1.業(yè)務(wù)邏輯架構(gòu)模式(事務(wù)腳本/領(lǐng)域模型/服務(wù)層模式) 2.業(yè)務(wù)流程架構(gòu)策略 3.基于容器的業(yè)務(wù)邏輯架構(gòu)(EJB和輕量級(jí),以及容器提供的基礎(chǔ)服務(wù)) 4.面向方面的業(yè)務(wù)架構(gòu)和AOP技術(shù)在業(yè)務(wù)邏輯架構(gòu)的應(yīng)用 5.狀態(tài)管理架構(gòu)策略(有狀態(tài)和無(wú)狀態(tài)服務(wù),以及對(duì)可擴(kuò)展性的影響) 6.業(yè)務(wù)邏輯的分布式架構(gòu)策略(遠(yuǎn)程或本地/同步或異步) 7.并發(fā)和同步架構(gòu)模式(Half-Sync/Half-Async和Leader/Followers和Active Object和Monitor Object) 8.基于中間件的業(yè)務(wù)邏輯架構(gòu)(Corba/Tuxedo/MQSeries/J2EE/.net) 9.典型案例分析:結(jié)合某銀行交易系統(tǒng)分析業(yè)務(wù)邏輯架構(gòu) 內(nèi)容三:數(shù)據(jù)存?。ǔ志眯裕蛹軜?gòu) 1.數(shù)據(jù)存取架構(gòu)策略(對(duì)象和關(guān)系數(shù)據(jù)庫(kù)的映射) 2.對(duì)象關(guān)系阻抗/ORM技術(shù)/數(shù)據(jù)映射SQLMapper 3.緩存技術(shù)在存取層的應(yīng)用/緩存數(shù)據(jù)和數(shù)據(jù)庫(kù)數(shù)據(jù)一致性 4.分布式數(shù)據(jù)存取策略(讀寫(xiě)分離/分布數(shù)據(jù)/異構(gòu)數(shù)據(jù)存取) 5.數(shù)據(jù)同步和一致性策略 6.數(shù)據(jù)訪(fǎng)問(wèn)層的性能考慮 7.事務(wù)管理(本地事務(wù)和分布式事務(wù),以及事務(wù)補(bǔ)償) 8.數(shù)據(jù)鎖管理(悲觀(guān)鎖和樂(lè)觀(guān)鎖) 9.典型案例分析:結(jié)合零售行業(yè)POS項(xiàng)目分析數(shù)據(jù)訪(fǎng)問(wèn)層的架構(gòu)設(shè)計(jì) 內(nèi)容四:數(shù)據(jù)架構(gòu) 1.數(shù)據(jù)架構(gòu)概述 2.數(shù)據(jù)建模原則和優(yōu)化策略 3.數(shù)據(jù)復(fù)制和同步策略 4.數(shù)據(jù)一致性和分布式事務(wù) 5.大數(shù)據(jù)量數(shù)據(jù)庫(kù)可擴(kuò)展性(水平和垂直擴(kuò)展,讀寫(xiě)分離)以及單表記錄過(guò)大拆分策略 6. 數(shù)據(jù)庫(kù)集群規(guī)劃 7.分布式數(shù)據(jù)存取策略(跨多個(gè)庫(kù), 可能數(shù)據(jù)庫(kù)異構(gòu)類(lèi)型) 8.數(shù)據(jù)備份與恢復(fù) 9.數(shù)據(jù)庫(kù)性能規(guī)劃 10.數(shù)據(jù)安全策略 11.與遺留系統(tǒng)的數(shù)據(jù)庫(kù)兼容性考慮 12.結(jié)合電信,金融,零售POS項(xiàng)目實(shí)例分析,系統(tǒng)數(shù)據(jù)架構(gòu)設(shè)計(jì)策略 內(nèi)容五:系統(tǒng)基礎(chǔ)服務(wù)組件架構(gòu) 1.系統(tǒng)基礎(chǔ)服務(wù)組件架構(gòu)策略 2.系統(tǒng)通用服務(wù)層與業(yè)務(wù)邏輯分離 3.系統(tǒng)必備13種基礎(chǔ)服務(wù)架構(gòu)(異常處理/事務(wù)管理/緩存/工作流/校驗(yàn)/通信/安全/日志/定時(shí)觸發(fā)/狀態(tài)/消息通信/系統(tǒng)監(jiān)控/配置管理) 4.業(yè)務(wù)通用服務(wù)架構(gòu)實(shí)現(xiàn)策略 結(jié)合多個(gè)項(xiàng)目實(shí)例分析,架構(gòu)師如何萃取基礎(chǔ)服務(wù)組件和怎樣設(shè)計(jì)實(shí)現(xiàn) |
第6單元:軟件應(yīng)用類(lèi)型和參考架構(gòu)(不同應(yīng)用類(lèi)型,必須采用不同架構(gòu)風(fēng)格) 內(nèi)容一:軟件應(yīng)用類(lèi)型和參考架構(gòu) 1.聯(lián)機(jī)交易類(lèi)架構(gòu) 2.Web應(yīng)用系統(tǒng)/大規(guī)模高并發(fā)Web2.0互聯(lián)網(wǎng)系統(tǒng) 3.Client/Server系統(tǒng)(銀行交易系統(tǒng)) 4.連接分析分析系統(tǒng)(移動(dòng)經(jīng)營(yíng)分析系統(tǒng)) 5.大規(guī)模實(shí)時(shí)并發(fā)系統(tǒng)(電信計(jì)費(fèi)系統(tǒng)) 6.Portal系統(tǒng)(個(gè)性化和頁(yè)面集成系統(tǒng) ) 7.EAI企業(yè)集成系統(tǒng)(基于大規(guī)模消息集成系統(tǒng)) 8.基于WAP系統(tǒng)(多渠道/多種手機(jī)接入系統(tǒng)) 9.后臺(tái)批處理系統(tǒng)(高并發(fā)后臺(tái)批處理類(lèi)型 銀行后臺(tái)系統(tǒng)) 10.基于SOA架構(gòu)系統(tǒng) 結(jié)合多個(gè)項(xiàng)目案例分析每種應(yīng)用類(lèi)型的架構(gòu)風(fēng)格特點(diǎn),主要架構(gòu)挑戰(zhàn)和相應(yīng)對(duì)策 |
第三篇:大型高可用高并發(fā)分布式系統(tǒng)架構(gòu)設(shè)計(jì)與實(shí)踐 第7單元 大型分布式架構(gòu)設(shè)計(jì)最佳實(shí)踐 內(nèi)容一:大型分布式架構(gòu)核心概念 1.無(wú)狀態(tài)化設(shè)計(jì); 2.冗余設(shè)計(jì); 3.負(fù)載均衡設(shè)計(jì); 4.分級(jí)管理設(shè)計(jì); 5.純異步調(diào)用(狀態(tài)機(jī)等方式)設(shè)計(jì); 6.調(diào)用合理超時(shí)設(shè)計(jì); 7.服務(wù)降級(jí)設(shè)計(jì); 8.冪等設(shè)計(jì); 9.我們的實(shí)踐案例; 內(nèi)容二:大型分布式系統(tǒng)服務(wù)降級(jí)設(shè)計(jì)與實(shí)踐 1.服務(wù)限流降級(jí)概念; 2.服務(wù)限流降級(jí)使用業(yè)務(wù)場(chǎng)景; 3.服務(wù)限流降級(jí)設(shè)計(jì)環(huán)節(jié); 4.服務(wù)限流降級(jí)之原則篇、架構(gòu)篇、框架篇、業(yè)務(wù)篇; 5.移動(dòng)時(shí)代服務(wù)限流降級(jí)如何打造; 6.我們的實(shí)踐案例; 內(nèi)容三:大型分布式系統(tǒng)緩存設(shè)計(jì)與實(shí)踐 1.互聯(lián)網(wǎng)使用緩存類(lèi)型有哪些?各自作用是什么? 2.分布式緩存冗余如何設(shè)計(jì)? 3.高可用架構(gòu)緩存一致性如何保證? 4.高可用架構(gòu)緩存高性能如何保證? 5.我們的實(shí)踐案例; 6.緩存系統(tǒng)在大型網(wǎng)站架構(gòu)中發(fā)揮的作用 7.單機(jī)緩存系統(tǒng)自研與選型 8.Memcached與Redis的異同及應(yīng)用場(chǎng)景 9.深入剖析Redis技術(shù) 10.Redis主要數(shù)據(jù)結(jié)構(gòu)剖析 11.Redis性能優(yōu)化及配置優(yōu)化 12.Redis復(fù)制機(jī)制與持久化機(jī)制 13.Redis缺陷與陷阱 14.分布式緩存技術(shù)剖析 15.擴(kuò)展Redis集群,如何實(shí)現(xiàn)集群彈性伸縮,無(wú)縫擴(kuò)容 16.Redis Cluster官方集群擴(kuò)展方案及缺陷 業(yè)界主流Redis集群方案剖析 內(nèi)容四:大型分布式系統(tǒng)性能優(yōu)化 1.系統(tǒng)性能優(yōu)化的模式都有哪些; 2.系統(tǒng)性能優(yōu)化常用的步驟是什么; 3.系統(tǒng)性能優(yōu)化的環(huán)節(jié)都能哪些; 4.我們的實(shí)踐案例; 內(nèi)容五:分布式系統(tǒng)數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)與實(shí)踐 1.數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)基本概念; 2.高可用性設(shè)計(jì)與實(shí)踐; 3.高并發(fā)設(shè)計(jì)與實(shí)踐; 4.讀性能設(shè)計(jì)與實(shí)踐; 5.一致性設(shè)計(jì)與實(shí)踐; 6.擴(kuò)展性設(shè)計(jì)與實(shí)踐; 7.我們的實(shí)踐案例; 內(nèi)容六:分布式系統(tǒng)數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)與實(shí)踐 1.數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)基本概念; 2.高可用性設(shè)計(jì)與實(shí)踐; |
第四篇: 架構(gòu)師與架構(gòu)職責(zé) 第8單元: 軟件架構(gòu)師成長(zhǎng) 內(nèi)容一、軟件架構(gòu)師成長(zhǎng) 1.軟件架構(gòu)師職責(zé) 2.軟件架構(gòu)師與項(xiàng)目經(jīng)理,產(chǎn)品經(jīng)理,需求分析師不同 3.軟件架構(gòu)師技能模型 4.軟件架構(gòu)師如何成長(zhǎng) 5.中國(guó)特色的架構(gòu)師(目前國(guó)內(nèi)很多架構(gòu)師是身兼多職) |
第五篇: 案例分析 第9單元:大型軟件系統(tǒng)架構(gòu)實(shí)踐與剖析 (該案例分別在以上各單元,結(jié)合主題進(jìn)行介紹) 綜合軟件架構(gòu)實(shí)踐與剖析(以實(shí)際項(xiàng)目案例為背景) (1)電信行業(yè)(電信97/移動(dòng)BOSS/電信MBOSS/經(jīng)營(yíng)分析)軟件架構(gòu)案例研究 (2)金融行業(yè)(XXX銀行企業(yè)信貸和XXX銀行)軟件架構(gòu)案例研究 (3)政府行業(yè)(XXX社保和XXX稅務(wù))軟件架構(gòu)案例研究 (4)電力行業(yè)(SG168和XXX電網(wǎng)門(mén)戶(hù)系統(tǒng))軟件架構(gòu)案例研究 (5)大型互聯(lián)網(wǎng)系統(tǒng)架構(gòu)案例研究 (6)郵政行業(yè)(***郵政項(xiàng)目)案例研究 |