軟件架構(gòu)與案例分析最佳實踐其它上課時間:
培訓對象:
軟件架構(gòu)師、項目經(jīng)理、技術總監(jiān)、高級軟件設計師、資深技術人員和其他開發(fā)人員
培訓內(nèi)容:
培訓費用及須知
培訓費5800元。(含培訓費、資料費、考試費、證書費、講義光盤費等)。需要住宿學員請?zhí)崆巴ㄖ,可統(tǒng)一安排,費用自理。
頒發(fā)證書
參加相關培訓并通過考試的學員,可以獲得:
1.工業(yè)和信息化部頒發(fā)的-高級軟件架構(gòu)師師。該證書可作為專業(yè)技術人員職業(yè)能力考核的證明,以及專業(yè)技術人員崗位聘用、任職、定級和晉升職務的重要依據(jù)。
注:請學員帶一寸彩照2張(背面注明姓名)、身份證復印件一張。
課程介紹
本課程通過介紹軟件架構(gòu)視圖和軟件文檔,軟件架構(gòu)設計過程,軟件架構(gòu)應用與常用的架構(gòu)模式/策略/原則等諸多架構(gòu)實際問題,透視軟件架構(gòu)是如何設計和實現(xiàn)的 并且介紹應該如何應用系統(tǒng)架構(gòu)設計為后期的詳細設計和應用開發(fā)提供指導。針對大多數(shù)企業(yè)目前是維護遺留系統(tǒng), 該課程介紹了軟件架構(gòu)的監(jiān)控,架構(gòu)的壞癥狀和重構(gòu)方法,因為架構(gòu)設計的前期不能考慮到所有的問題,設計包容一切的完美架構(gòu). 還針對軟件架構(gòu)常見設計技術專題等問題進行了分析并提出了解決方案,并結(jié)合眾多大型軟件項目架構(gòu)案例進行更深入的剖析!
培訓對象
軟件架構(gòu)師、項目經(jīng)理、技術總監(jiān)、高級軟件設計師、資深技術人員和其他開發(fā)人員
培訓特色
梁老師:加拿大籍IT專家,領導和參與了加拿大多倫多證券中心股票交易系統(tǒng)、美國J.P.Morgan銀行人力資源管理系統(tǒng)、PenGroup e-Biz企業(yè)管理信息系統(tǒng)、中國銀行天津分行企業(yè)集團財務中心業(yè)務管理系統(tǒng)、中國科學院空間中心電子政務系統(tǒng)、北京地稅后勤管理系統(tǒng)等項目的研發(fā)。
范老師:資深專家、高級顧問,受聘于包括SUN在內(nèi)的國際知名IT廠商的金牌講師。一直致力于架構(gòu)設計的研究和實踐對國外的軟件架構(gòu)理論和實踐有透徹的理解和研究,與國外知名的專家保持密切的交流和協(xié)作融合東西方軟件研究的成果,在10多年的實踐中對軟件架構(gòu)有深刻理解。
軟件架構(gòu)與案例分析課程大綱(3天課程)
第一單元:軟件架構(gòu)文檔和架構(gòu)視圖-如何有效描述架構(gòu)藍圖
一、軟件架構(gòu)的視圖
(1)軟件架構(gòu)視圖的意義, 軟件架構(gòu)師的多維思考
(2)邏輯視圖、開發(fā)視圖、部署視圖、運行視圖、場景視圖,數(shù)據(jù)視圖 ,實現(xiàn)視圖
(3)如何和怎樣繪制軟件架構(gòu)視圖
(4)UML建模工具在架構(gòu)視圖的應用
(5)典型案例分析:結(jié)合多個電信,金融行業(yè)項目案例,分析真實項目軟件架構(gòu)視圖
二、軟件架構(gòu)的文檔編寫
(1)軟件架構(gòu)文檔的意義
(2)軟件架構(gòu)模板(根據(jù)實際項目情況選擇合適內(nèi)容)
(3)軟件架構(gòu)文檔的結(jié)構(gòu)(避免出現(xiàn)不必要的重復和缺少關鍵信息)
(4)軟件架構(gòu)文檔必須包含的內(nèi)容(通過多個項目,分析不同系統(tǒng)包含系統(tǒng)內(nèi)容不同)
(5)文檔的后期管理(使文檔保持更新)
(6)軟件架構(gòu)文檔的評審
(7)典型案例分析:結(jié)合多個電信項目案例,進行分析和評審軟件架構(gòu)文檔
第二單元:軟件架構(gòu)設計關注點(哪些因素驅(qū)動架構(gòu)設計,是架構(gòu)開始設計之前必須知道的 )和架構(gòu)最佳策略
一、軟件架構(gòu)設計關注點(軟件架構(gòu)師在架構(gòu)設計之前必須考慮的要素)
(1)架構(gòu)設計的關注是什么
(2)軟件架構(gòu)的驅(qū)動因素(改變傳統(tǒng)以功能實現(xiàn)和新技術為驅(qū)動的策略)
(3)軟件質(zhì)量需求對架構(gòu)的影響(質(zhì)量屬性場景定義和對應架構(gòu)策略)
(4)軟件功能需求對架構(gòu)的影響(分析功能需求變化點和進化點)
(5)軟件約束條件與架構(gòu)的影響(業(yè)務,運行環(huán)境,開發(fā)團隊,實現(xiàn)技術等約束)
(6)如何使功能性需求,非功能性需求和平臺細節(jié)在架構(gòu)中能保持分離,從而改善可維護性和可擴展性
(7)處理功能需求,非功能性需求,平臺細節(jié).制定架構(gòu)目標
(8)典型案例分析:結(jié)合項目,因為分析驅(qū)動因素的錯誤,導致項目不能如期驗收的失敗案例
(9)其中多個真實失敗案例,值得借鑒.
二、軟件架構(gòu)最佳策略
(1)重新認識系統(tǒng)質(zhì)量屬性,如何定義質(zhì)量屬性和相應的架構(gòu)策略
(2)系統(tǒng)架構(gòu)的可擴展性設計策略
(3)系統(tǒng)架構(gòu)的可靠性設計策略
(4)系統(tǒng)架構(gòu)的高性能設計策略
(5)系統(tǒng)架構(gòu)的可維護性設計策略
(6)系統(tǒng)架構(gòu)的易用性設計策略
(7)系統(tǒng)架構(gòu)質(zhì)量屬性和架構(gòu)模式的應用
(9)思考這些架構(gòu)策略,如何應用在自己的實際項目中
第三單元:軟件架構(gòu)設計過程
一、軟件架構(gòu)設計過程
(1)軟件架構(gòu)設計過程方法論(步驟和相應的成果)
(2)典型案例分析:結(jié)合具體項目案例進行分析:演示架構(gòu)設計過程
二、商業(yè)架構(gòu)分析
(1)軟件系統(tǒng)邊界和外部系統(tǒng)接口的定義
(2)大型軟件系統(tǒng)的劃分子系統(tǒng)原則
(4)子系統(tǒng)功能模塊的分解
(5)子系統(tǒng)間的通信接口的設計
(6)如何應對系統(tǒng)內(nèi)部緊耦合、高內(nèi)聚
(7)軟件系統(tǒng)關鍵質(zhì)量屬性樹和可行性分析
(8)軟件系統(tǒng)部署架構(gòu)(分布式/數(shù)據(jù)分布/通信/安全)
(9)軟件系統(tǒng)部署容量評估(主機/中間件/數(shù)據(jù)庫等資源容量評估)
(10)典型案例分析:結(jié)合多個項目實例,分析商業(yè)架構(gòu)成果
三、邏輯架構(gòu)設計
(1)應用系統(tǒng)的類型和架構(gòu)風格
(2)架構(gòu)模式在實際項目的應用
(3)軟件架構(gòu)立方體圖(軟件架構(gòu)的分層,分區(qū)和基礎服務)
(4)軟件架構(gòu)通用機制的分析(如何處理基礎設施擴展和具體有什么方法做基礎設施擴展, 掌握如何分離這些基礎設施用例)
(5)使用質(zhì)量場景屬性進行迭代架構(gòu)設計
(6)軟件架構(gòu)各層的架構(gòu)策略(針對企業(yè)應用分層,每層的架構(gòu)策略)
(8)軟件系統(tǒng)線程架構(gòu)策略(結(jié)合Apache HTTP Server分析線程和進程的架構(gòu))
(9)典型案例分析:結(jié)合項目實例,進行分析該階段的主要任務和相關成果
四、物理架構(gòu)設計
(1)數(shù)據(jù)架構(gòu)(數(shù)據(jù)模型/數(shù)據(jù)分布/數(shù)據(jù)存取,以及核心數(shù)據(jù)流)
(2)用例視圖(抽取典型,有分險和客戶最關心用例進行分析,結(jié)合架構(gòu)進行設計)
(3)實現(xiàn)視圖(架構(gòu),設計和開發(fā),實現(xiàn)原則和指南)
(4)完成架構(gòu)文檔,對架構(gòu)文檔進行評估
(5)典型案例分析:結(jié)合3G增值服務項目,分析物理架構(gòu)設計
第四單元:軟件架構(gòu)應用
一、架構(gòu)設計的評估和驗證
(1)軟件架構(gòu)的驗證(軟件架構(gòu)風險驗證)
(2)軟件架構(gòu)的驗證方法和指標(基于問題檢查表和質(zhì)量屬性樹)
(3)軟件架構(gòu)的驗證注意事項
(4)軟件架構(gòu)的評估方式
(5)軟件詳細設計和實現(xiàn)時期,架構(gòu)師的職責和架構(gòu)的監(jiān)控
(6)典型案例分析:結(jié)合項目實例,分析如何進行驗證架構(gòu)和架構(gòu)設計的后期重構(gòu)技巧
二、架構(gòu)設計重構(gòu)和復用
(1)軟件架構(gòu)重構(gòu)概述
(2)軟件架構(gòu)常見的壞癥狀
(4)軟件架構(gòu)的重構(gòu)手段
(5)軟件架構(gòu)的復用
(6)結(jié)合某著名公司全球架構(gòu)師團隊架構(gòu)實例,分析架構(gòu)重構(gòu)和架構(gòu)復用技巧
第五單元:軟件應用類型和參考架構(gòu)(不同應用類型,必須采用不同架構(gòu)風格)
(1)聯(lián)機交易類架構(gòu)
(2)Web應用系統(tǒng)/大規(guī)模高并發(fā)Web2.0互聯(lián)網(wǎng)系統(tǒng)
(3)Client/Server系統(tǒng)(銀行交易系統(tǒng))
(4)連接分析分析系統(tǒng)(移動經(jīng)營分析系統(tǒng))
(5)大規(guī)模實時并發(fā)系統(tǒng)(電信計費系統(tǒng))
(6)Portal系統(tǒng)(個性化和頁面集成系統(tǒng) )
(7)EAI企業(yè)集成系統(tǒng)(基于大規(guī)模消息集成系統(tǒng))
(8)基于WAP系統(tǒng)(多渠道/多種手機接入系統(tǒng))
(9)后臺批處理系統(tǒng)(高并發(fā)后臺批處理類型 銀行后臺系統(tǒng))
(10)基于SOA架構(gòu)系統(tǒng)
(11)結(jié)合多個項目案例分析每種應用類型的架構(gòu)風格特點,主要架構(gòu)挑戰(zhàn)和相應對策
第六單元:軟件架構(gòu)模式應用
一、軟件架構(gòu)模式
(1)軟件架構(gòu)模式概述
(2)管道過濾器/事件架構(gòu)/微內(nèi)核/反射架構(gòu)模式(其他10多種常見的架構(gòu)模式)
(4).net常見架構(gòu)模式和J2EE架構(gòu)模式
(5)分布式和并發(fā)架構(gòu)模式
(6)典型案例分析:結(jié)合國內(nèi)社保平臺項目分析軟件架構(gòu)模式的應用經(jīng)驗
第七單元:軟件架構(gòu)的實現(xiàn)-框架和設計模式
1.應用框架(Application framework)
(1)框架vs.類庫
(2)軟件架構(gòu)如何以框架的方式實現(xiàn)
(3)框架的開發(fā)過程和開發(fā)技術(通用點vs.擴展點)
(4)一個著名框架的實現(xiàn)分析
(5)典型案例分析:結(jié)合項目實例,開發(fā)框架
2.設計模式技術在軟件框架設計之中的應用
(1)設計模式思想(封裝變化)
(2)設計模式的在架構(gòu)設計之中的綜合應用
(3)典型案例分析:結(jié)合項目實例,分析設計模式在架構(gòu)設計時期的實際應用
第八單元:軟件架構(gòu)核心策略
1、領域模型架構(gòu)
(1)領域模型架構(gòu)策略
(2)領域模型建模(關聯(lián),屬性)
(3)多個系統(tǒng)數(shù)據(jù)模型不一致和領域模型的同步
(4)公共數(shù)據(jù)模型(CDM)
(5)領域模型分析模式(模型的選擇會影響最終產(chǎn)生系統(tǒng)的靈活性和可重用性)
(6)根據(jù)電信計費系統(tǒng)和網(wǎng)絡資源管理案例分析領域模型的架構(gòu)
2、業(yè)務邏輯和業(yè)務流程架構(gòu)
(1)業(yè)務邏輯架構(gòu)模式(事務腳本/領域模型/服務層模式)
(2)業(yè)務流程架構(gòu)策略
(3)基于容器的業(yè)務邏輯架構(gòu)(EJB和輕量級,以及容器提供的基礎服務)
(4)面向方面的業(yè)務架構(gòu)和AOP技術在業(yè)務邏輯架構(gòu)的應用
(5)狀態(tài)管理架構(gòu)策略(有狀態(tài)和無狀態(tài)服務,以及對可擴展性的影響)
(6)業(yè)務邏輯的分布式架構(gòu)策略(遠程或本地/同步或異步)
(7)并發(fā)和同步架構(gòu)模式(Half-Sync/Half-Async和Leader/Followers和Active Object和Monitor Object)
(8)基于中間件的業(yè)務邏輯架構(gòu)(Corba/Tuxedo/MQSeries/J2EE/.net)
(9)典型案例分析:結(jié)合某銀行交易系統(tǒng)分析業(yè)務邏輯