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