培訓(xùn)搜索引擎
項(xiàng)目管理
高級(jí)系統(tǒng)架構(gòu)師(謝老師)
參加對(duì)象:項(xiàng)目經(jīng)理、系統(tǒng)架構(gòu)師、系統(tǒng)分析師、高級(jí)程序員、資深開(kāi)發(fā)人員。- 開(kāi)課地址: 開(kāi)課時(shí)間:
培訓(xùn)要點(diǎn)
什么是設(shè)計(jì)呢?設(shè)計(jì)是一種對(duì)話,它不僅僅是與利益相關(guān)方的對(duì)話,也是自己與自己的對(duì)話。對(duì)于設(shè)計(jì)人員來(lái)講,本身的工作背景只是一個(gè)點(diǎn),如果思考方式僅僅依靠這個(gè)點(diǎn),慢慢的思想就被禁錮住了,這會(huì)嚴(yán)重約束我們的發(fā)展。我們必須撕破這個(gè)束縛,站在更高的角度看軟件,才能尋求更大的發(fā)展空間。
軟件設(shè)計(jì)是一個(gè)思維活動(dòng),需要從什么是設(shè)計(jì)?為什么要設(shè)計(jì)?怎樣進(jìn)行設(shè)計(jì)?三個(gè)層面系統(tǒng)思考與研究,才可能進(jìn)一步提升軟件設(shè)計(jì)能力。世界上沒(méi)有神奇的設(shè)計(jì),優(yōu)秀的設(shè)計(jì)來(lái)自于對(duì)每個(gè)問(wèn)題的細(xì)致分析,來(lái)自于對(duì)每一個(gè)問(wèn)題和解決方案的仔細(xì)權(quán)衡,也來(lái)自于我們的經(jīng)驗(yàn)和眼光。設(shè)計(jì)的質(zhì)量是由設(shè)計(jì)人員的質(zhì)量決定的,深厚的積淀能夠幫助我們應(yīng)對(duì)軟件開(kāi)發(fā)的挑戰(zhàn),并且指導(dǎo)我們應(yīng)對(duì)這些挑戰(zhàn)。
那么優(yōu)秀的設(shè)計(jì)師是怎樣成長(zhǎng)起來(lái)的?任何人的成長(zhǎng)都離不開(kāi)實(shí)踐,在實(shí)踐中體會(huì),在實(shí)踐中解決問(wèn)題,在實(shí)踐中增長(zhǎng)才干,這就形成了深厚的積淀。但是光有積淀是不夠的,還需要把實(shí)踐中的問(wèn)題進(jìn)行梳理,通過(guò)分析發(fā)現(xiàn)其中的規(guī)律,把它上升到理論的高度,并用理論來(lái)指導(dǎo)實(shí)踐。正是在這種層層的循環(huán)中,才能使我們上升到前所未有的高度。
課程將從設(shè)計(jì)方法論開(kāi)始引入思考框架,然后直接通過(guò)案例分析進(jìn)入設(shè)計(jì)過(guò)程,不斷地提出問(wèn)題并解決問(wèn)題,使學(xué)員逐步的領(lǐng)悟:如何進(jìn)行系統(tǒng)思考?如何系統(tǒng)化考慮各種關(guān)系?如何發(fā)現(xiàn)問(wèn)題并解決問(wèn)題?在這個(gè)經(jīng)驗(yàn)的基礎(chǔ)上,進(jìn)一步尋找規(guī)律,從過(guò)程和模式兩個(gè)方面進(jìn)行歸納總結(jié),使經(jīng)驗(yàn)上升到理性的高度,形成能夠指導(dǎo)未來(lái)設(shè)計(jì)的設(shè)計(jì)模式與模式語(yǔ)言。在此基礎(chǔ)上,課程將引導(dǎo)學(xué)員再一次回到實(shí)踐,以一個(gè)“日超過(guò)億萬(wàn)調(diào)用的互聯(lián)網(wǎng)中間層改造工程”案例為背景,重點(diǎn)討論在這個(gè)背景下遇到的問(wèn)題以及面對(duì)的挑戰(zhàn),緊扣“并發(fā)”、“同步”、“緩存”、“表”這四個(gè)關(guān)鍵問(wèn)題展開(kāi)討論,完成認(rèn)識(shí)事物螺旋上升法則的一個(gè)完整循環(huán)。
從這個(gè)意義上說(shuō),本課程與其說(shuō)是告訴人們?cè)趺丛O(shè)計(jì),還不如說(shuō)是描述了一個(gè)向更高層次蛻變的故事,這個(gè)故事中蘊(yùn)含的思想,可能比僅僅告訴人們?cè)趺慈プ龈幸饬x。在本課程基礎(chǔ)上,我們希望學(xué)員不但能掌握軟件系統(tǒng)設(shè)計(jì)方法論,更要根據(jù)組織所處領(lǐng)域的不同,通過(guò)總結(jié)歷史形成的經(jīng)驗(yàn)、教訓(xùn)、方法、模式,通過(guò)歸納整理,形成具有本組織領(lǐng)域特色的系統(tǒng)設(shè)計(jì)方法,并最終形成對(duì)本組織有價(jià)值的智力資產(chǎn)。
培訓(xùn)內(nèi)容
第一講 軟件架構(gòu)設(shè)計(jì)的方法論
1,系統(tǒng)思考:軟件架構(gòu)設(shè)計(jì)方法學(xué)
2,用風(fēng)險(xiǎn)消除策略驅(qū)動(dòng)架構(gòu)設(shè)計(jì)
質(zhì)量風(fēng)險(xiǎn)對(duì)架構(gòu)設(shè)計(jì)的影響
進(jìn)度風(fēng)險(xiǎn)對(duì)架構(gòu)設(shè)計(jì)的影響
盡早發(fā)現(xiàn)軟件的腐化
3,擁抱著變化而設(shè)計(jì)
面向?qū)ο蠓治雠c設(shè)計(jì)的本質(zhì)
關(guān)注特征:共性和可變性分析
在行為分析中發(fā)現(xiàn)共性和變化性
對(duì)變化建模:發(fā)現(xiàn)變化的規(guī)律
4,面向?qū)ο蟮脑O(shè)計(jì)原則
第二講 從實(shí)踐到理論:頂層設(shè)計(jì)的案例
1,實(shí)踐:從案例分析入手研究問(wèn)題
案例背景及領(lǐng)域分析
確定產(chǎn)品設(shè)計(jì)的目標(biāo)與策略
2,建立清晰的初期概念架構(gòu)
劃分大泥球:職責(zé)的層次分解
分布式問(wèn)題的設(shè)計(jì)考慮
分離用戶界面的設(shè)計(jì)考慮
3,基礎(chǔ)系統(tǒng)的細(xì)化設(shè)計(jì)
分布式環(huán)境對(duì)于組件布局的影響
領(lǐng)域?qū)ο蟮牟l(fā)訪問(wèn)考慮
日志處理的并發(fā)性考慮
第三講 從實(shí)踐到理論:領(lǐng)域?qū)ο笤O(shè)計(jì)的案例
1,關(guān)注細(xì)節(jié):業(yè)務(wù)拓?fù)浣M件設(shè)計(jì)
支持軟件模型的重新組織
提高訪問(wèn)領(lǐng)域?qū)ο蟮男阅?br />
支持重新配置行為考慮
2,組件設(shè)計(jì)的問(wèn)題與對(duì)策
實(shí)現(xiàn)全局拓?fù)涔芾砉δ?br />
支持業(yè)務(wù)流的后期擴(kuò)展
維護(hù)內(nèi)存中的存儲(chǔ)單元數(shù)據(jù)
業(yè)務(wù)拓?fù)浣M件接口詳細(xì)設(shè)計(jì)
第四講 從理論到實(shí)踐:設(shè)計(jì)模式與模式語(yǔ)言
1,如何把經(jīng)驗(yàn)歸納總結(jié)成理論
從過(guò)程的角度進(jìn)行歸納總結(jié)
從模式的角度進(jìn)行歸納總結(jié)
把模式嵌入過(guò)程:模式語(yǔ)言
2,頂層架構(gòu)設(shè)計(jì)過(guò)程域
如何解決從混沌到結(jié)構(gòu)的問(wèn)題
如何解決分布式基礎(chǔ)設(shè)施中的問(wèn)題
如何解決事件分離和分發(fā)中的問(wèn)題
如何解決接口劃分中的問(wèn)題
3,組件設(shè)計(jì)過(guò)程域
如何解決組件劃分中的問(wèn)題
如何解決并發(fā)方面的問(wèn)題
如何解決同步方面的問(wèn)題
如何解決對(duì)象之間的交互中的問(wèn)題
如何解決適配與擴(kuò)展中的問(wèn)題
4,資源應(yīng)用過(guò)程域
如何解決資源管理中的問(wèn)題
如何解決數(shù)據(jù)庫(kù)訪問(wèn)中的問(wèn)題
5,問(wèn)題與擴(kuò)展:面向服務(wù)的架構(gòu)設(shè)計(jì)與實(shí)施
第六講 理論到實(shí)踐:日超過(guò)億萬(wàn)調(diào)用的互聯(lián)網(wǎng)中間層改造工程
1,案例背景:遇到的問(wèn)題以及面對(duì)的挑戰(zhàn)
2,項(xiàng)目的初期決策以及關(guān)注點(diǎn)
對(duì)IT架構(gòu)和架構(gòu)師的職責(zé)定義
IT技術(shù)的四個(gè)領(lǐng)域及構(gòu)建知識(shí)體系
IT架構(gòu)都必定擁有的三個(gè)架構(gòu)組成部分
3,并發(fā)設(shè)計(jì)
多核處理器并發(fā)所面臨的挑戰(zhàn)
NUMA、SMP與CMP架構(gòu)的特點(diǎn)
多核情況下CPU緩存所帶來(lái)的問(wèn)題:一致性和性能問(wèn)題
并發(fā)設(shè)計(jì)解決方案
4,阻塞同步與自旋
自旋鎖的概念,使用條件
偏向鎖、可重入鎖和讀寫(xiě)鎖
粗粒度和細(xì)粒度同步,樂(lè)觀同步、非阻塞同步
復(fù)合邏輯的并發(fā)問(wèn)題
上下文切換的影響,以及如何降低上下文切換
同步問(wèn)題解決方案
5,緩存設(shè)計(jì)
緩存的常見(jiàn)算法:拉鏈法和開(kāi)放地址散列,內(nèi)外緩存
緩存部署分類:?jiǎn)螜C(jī)混合部署、多機(jī)部署
通過(guò)命中率、緩存穿透后代價(jià)等因素來(lái)評(píng)價(jià)緩存
臟數(shù)據(jù)和時(shí)間不同步所帶來(lái)的問(wèn)題。
CPU緩存設(shè)計(jì)的啟示,使用多級(jí)緩存,冷熱數(shù)據(jù)分離
緩存服務(wù)的解決方案
6,合理的表結(jié)構(gòu)設(shè)計(jì)
互聯(lián)網(wǎng)中的反范式
混搭數(shù)據(jù)庫(kù)類型的問(wèn)題和好處
空間與時(shí)間互相交換,散列
7,課程總結(jié)
師資
由業(yè)界知名軟件架構(gòu)師親自授課:
謝老師 培訓(xùn)中心副校長(zhǎng)、教授,大型電子對(duì)抗項(xiàng)目首席系統(tǒng)架構(gòu)師
劉老師 國(guó)內(nèi)某著名網(wǎng)站技術(shù)總監(jiān)
上一篇:企業(yè)研發(fā)中的知識(shí)產(chǎn)權(quán)管理和專利挖掘(楊安進(jìn))
下一篇:決戰(zhàn)項(xiàng)目管理(黃老師)