【行業(yè)前景】
軟件架構是軟件業(yè)的一個重要研究領域,正受到越來越多的關注,其地位也日益明顯地體現(xiàn)出來.而架構設計師——也就成為軟件系統(tǒng)的高設計者。此課程就是為有志成為卓越架構師的人準備的培訓課程。作為架構設計師,需要具備統(tǒng)觀全局、分而治之的能力,從子系統(tǒng)的劃分到組件的定義,從系統(tǒng)設計能力到溝通、協(xié)調(diào),表達能力. 我們系統(tǒng)的組織課程,并由15年經(jīng)驗豐富的講師傳授,為您成長為架構設計師打下堅實的基礎。
我單位依據(jù)前十幾期架構培訓學員的反饋意見,以國內(nèi)的師資力量,經(jīng)過不斷的融合和提升,加入更多不同行業(yè)架構設計上的內(nèi)容,研發(fā)出一套貫穿始終的案例教學,以“完整”案例帶動“點狀”案例,使每一行業(yè)的軟件架構設計人員都能獲得所需的思想,使學員掌握實現(xiàn)高效軟件架構的技能和技術——使之具有易維護性和高可擴展性。中國信息化人才培訓中心決定開展“軟件架構與案例分析佳實踐”工程師培訓班,本次培訓由北京天博信通科技有限公司具體承辦,望相關單位收到通知后積極參加。相關培訓事宜如下:
【課程介紹】
本課程通過介紹軟件架構視圖和軟件文檔,軟件架構設計過程,軟件架構應用與常用的架構模式/策略/原則等諸多架構實際問題,透視軟件架構是如何設計和實現(xiàn)的? 并且介紹應該如何應用系統(tǒng)架構設計為后期的詳細設計和應用開發(fā)提供指導。針對大多數(shù)企業(yè)目前是維護遺留系統(tǒng), 該課程介紹了軟件架構的監(jiān)控,架構的壞癥狀和重構方法,因為架構設計的前期不能考慮到所有的問題,設計包容一切的完美架構. 還針對軟件架構常見設計技術專題等問題進行了分析并提出了解決方案,并結合眾多大型軟件項目架構案例進行更深入的剖析!
【培訓對象】
軟件架構師、項目經(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廠商的講師。一直致力于軟件需求分析/架構設計的研究和實踐對國外的軟件需求分析理論和實踐有透徹的理解和研究,與國外知名的專家保持密切的交流和協(xié)作融合東西方軟件研究的成果,在10多年的實踐中對軟件需求管理有深刻理解。
【頒發(fā)證書】
參加相關培訓并通過考試的學員,可以獲得:
1.工業(yè)和信息化部信息中心頒發(fā)的-軟件架構師職業(yè)技能證書。該證書可作為專業(yè)技術人員職業(yè)能力考核的證明,以及專業(yè)技術人員崗位聘用、任職、定級和晉升職務的重要依據(jù)。
注:請學員帶二寸彩照2張(背面注明姓名)、身份證復印件一張。
【培訓費用及須知】
需要住宿學員請?zhí)崆巴ㄖ?,可統(tǒng)一安排,費用自理。
【報名方式】
請?zhí)詈谩败浖軜嬇c案例分析”培訓班報名回執(zhí)表,并于開班前一周傳真或者郵件至會務組,開班前一周我們將發(fā)送報到通知,屆時請注意查收.
【軟件架構與案例分析課程大綱】
單元:軟件架構文檔和架構視圖-如何有效描述架構藍圖
一、軟件架構的視圖
(1)軟件架構視圖的意義, 軟件架構師的多維思考
(2)邏輯視圖、開發(fā)視圖、部署視圖、運行視圖、場景視圖,數(shù)據(jù)視圖 ,實現(xiàn)視圖
(3)如何和怎樣繪制軟件架構視圖
(4)UML建模工具在架構視圖的應用
(5)典型案例分析:結合多個電信,金融行業(yè)項目案例,分析真實項目軟件架構視圖
二、軟件架構的文檔編寫
(1)軟件架構文檔的意義
(2)軟件架構模板(根據(jù)實際項目情況選擇合適內(nèi)容)
(3)軟件架構文檔的結構(避免出現(xiàn)不必要的重復和缺少關鍵信息)
(4)軟件架構文檔必須包含的內(nèi)容(通過多個項目,分析不同系統(tǒng)包含系統(tǒng)內(nèi)容不同)
(5)文檔的后期管理(使文檔保持更新)
(6)軟件架構文檔的評審
(7)典型案例分析:結合多個電信項目案例,進行分析和評審軟件架構文檔
第二單元:軟件架構設計關注點(哪些因素驅動架構設計,是架構開始設計之前必須知道的?)和架構佳策略
一、軟件架構設計關注點(軟件架構師在架構設計之前必須考慮的要素)
(1)架構設計的關注是什么
(2)軟件架構的驅動因素(改變傳統(tǒng)以功能實現(xiàn)和新技術為驅動的策略)
(3)軟件質(zhì)量需求對架構的影響(質(zhì)量屬性場景定義和對應架構策略)
(4)軟件功能需求對架構的影響(分析功能需求變化點和進化點)
(5)軟件約束條件與架構的影響(業(yè)務,運行環(huán)境,開發(fā)團隊,實現(xiàn)技術等約束)
(6)如何使功能性需求,非功能性需求和平臺細節(jié)在架構中能保持分離,從而改善可維護性和可擴展性
(7)處理功能需求,非功能性需求,平臺細節(jié).制定架構目標
(8)典型案例分析:結合項目,因為分析驅動因素的錯誤,導致項目不能如期驗收的失敗案例
(9)其中多個真實失敗案例,值得借鑒.
二、軟件架構佳策略
(1)重新認識系統(tǒng)質(zhì)量屬性,如何定義質(zhì)量屬性和相應的架構策略
(2)系統(tǒng)架構的可擴展性設計策略
(3)系統(tǒng)架構的可靠性設計策略
(4)系統(tǒng)架構的高性能設計策略
(5)系統(tǒng)架構的可維護性設計策略
(6)系統(tǒng)架構的易用性設計策略
(7)系統(tǒng)架構質(zhì)量屬性和架構模式的應用
(9)思考這些架構策略,如何應用在自己的實際項目中
第三單元:軟件架構設計過程
一、軟件架構設計過程
(1)軟件架構設計過程方法論(步驟和相應的成果)
(2)典型案例分析:結合具體項目案例進行分析:演示架構設計過程
二、商業(yè)架構分析
(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)部署架構(分布式/數(shù)據(jù)分布/通信/安全)
(9)軟件系統(tǒng)部署容量評估(主機/中間件/數(shù)據(jù)庫等資源容量評估)
(10)典型案例分析:結合多個項目實例,分析商業(yè)架構成果
三、邏輯架構設計
(1)應用系統(tǒng)的類型和架構風格
(2)架構模式在實際項目的應用
(3)軟件架構立方體圖(軟件架構的分層,分區(qū)和基礎服務)
(4)軟件架構通用機制的分析(如何處理基礎設施擴展和具體有什么方法做基礎設施擴展, 掌握如何分離這些基礎設施用例)
(5)使用質(zhì)量場景屬性進行迭代架構設計
(6)軟件架構各層的架構策略(針對企業(yè)應用分層,每層的架構策略)
(8)軟件系統(tǒng)線程架構策略(結合Apache HTTP Server分析線程和進程的架構)
(9)典型案例分析:結合項目實例,進行分析該階段的主要任務和相關成果
四、物理架構設計
(1)數(shù)據(jù)架構(數(shù)據(jù)模型/數(shù)據(jù)分布/數(shù)據(jù)存取,以及核心數(shù)據(jù)流)
(2)用例視圖(抽取典型,有分險和客戶關心用例進行分析,結合架構進行設計)
(3)實現(xiàn)視圖(架構,設計和開發(fā),實現(xiàn)原則和指南)
(4)完成架構文檔,對架構文檔進行評估
(5)典型案例分析:結合3G增值服務項目,分析物理架構設計
第四單元:軟件架構應用
一、架構設計的評估和驗證
(1)軟件架構的驗證(軟件架構風險驗證)
(2)軟件架構的驗證方法和指標(基于問題檢查表和質(zhì)量屬性樹)
(3)軟件架構的驗證注意事項
(4)軟件架構的評估方式
(5)軟件詳細設計和實現(xiàn)時期,架構師的職責和架構的監(jiān)控
(6)典型案例分析:結合項目實例,分析如何進行驗證架構和架構設計的后期重構技巧
二、架構設計重構和復用
(1)軟件架構重構概述
(2)軟件架構常見的壞癥狀
(4)軟件架構的重構手段
(5)軟件架構的復用
(6)結合某公司全球架構師團隊架構實例,分析架構重構和架構復用技巧
第五單元:軟件應用類型和參考架構(不同應用類型,必須采用不同架構風格)
(1)聯(lián)機交易類架構
(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架構系統(tǒng)
(11)結合多個項目案例分析每種應用類型的架構風格特點,主要架構挑戰(zhàn)和相應對策
第六單元:軟件架構模式應用
一、軟件架構模式
(1)軟件架構模式概述
(2)管道過濾器/事件架構/微內(nèi)核/反射架構模式(其他10多種常見的架構模式)
(4).net常見架構模式和J2EE架構模式
(5)分布式和并發(fā)架構模式
(6)典型案例分析:結合國內(nèi)社保平臺項目分析軟件架構模式的應用經(jīng)驗
第七單元:軟件架構的實現(xiàn)-框架和設計模式
1.應用框架(Application framework)
(1)框架vs.類庫
(2)軟件架構如何以框架的方式實現(xiàn)
(3)框架的開發(fā)過程和開發(fā)技術(通用點vs.擴展點)
(4)一個框架的實現(xiàn)分析
(5)典型案例分析:結合項目實例,開發(fā)框架
2.設計模式技術在軟件框架設計之中的應用
(1)設計模式思想(封裝變化)
(2)設計模式的在架構設計之中的綜合應用
(3)典型案例分析:結合項目實例,分析設計模式在架構設計時期的實際應用
第八單元:軟件架構核心策略
1、領域模型架構
(1)領域模型架構策略
(2)領域模型建模(關聯(lián),屬性)
(3)多個系統(tǒng)數(shù)據(jù)模型不一致和領域模型的同步
(4)公共數(shù)據(jù)模型(CDM)
(5)領域模型分析模式(模型的選擇會影響終產(chǎn)生系統(tǒng)的靈活性和可重用性)
(6)根據(jù)電信計費系統(tǒng)和網(wǎng)絡資源管理案例分析領域模型的架構
2、業(yè)務邏輯和業(yè)務流程架構
(1)業(yè)務邏輯架構模式(事務腳本/領域模型/服務層模式)
(2)業(yè)務流程架構策略
(3)基于容器的業(yè)務邏輯架構(EJB和輕量級,以及容器提供的基礎服務)
(4)面向方面的業(yè)務架構和AOP技術在業(yè)務邏輯架構的應用
(5)狀態(tài)管理架構策略(有狀態(tài)和無狀態(tài)服務,以及對可擴展性的影響)
(6)業(yè)務邏輯的分布式架構策略(遠程或本地/同步或異步)
(7)并發(fā)和同步架構模式(Half-Sync/Half-Async和Leader/Followers和Active Object和Monitor Object)
(8)基于中間件的業(yè)務邏輯架構(Corba/Tuxedo/MQSeries/J2EE/.net)
(9)典型案例分析:結合某銀行交易系統(tǒng)分析業(yè)務邏輯架構
3、數(shù)據(jù)存?。ǔ志眯裕┘軜?/p>
(1)數(shù)據(jù)存取架構策略(對象和關系數(shù)據(jù)庫的映射)
(2)對象關系阻抗/ORM技術/數(shù)據(jù)映射SQLMapper
(3)緩存技術在存取層的應用/緩存數(shù)據(jù)和數(shù)據(jù)庫數(shù)據(jù)一致性
(4)分布式數(shù)據(jù)存取策略(讀寫分離/分布數(shù)據(jù)/異構數(shù)據(jù)存取)
(5)數(shù)據(jù)同步和一致性策略
(6)數(shù)據(jù)訪問層的性能考慮
(7)事務管理(本地事務和分布式事務,以及事務補償)
(8)數(shù)據(jù)鎖管理(悲觀鎖和樂觀鎖)
(9)典型案例分析:結合零售行業(yè)POS項目分析數(shù)據(jù)訪問層的架構設計
4、數(shù)據(jù)架構
(1)數(shù)據(jù)架構概述
(2)數(shù)據(jù)建模原則和優(yōu)化策略
(3)數(shù)據(jù)分布策略(集中,歸檔,子集,ETL等模式)
(4)數(shù)據(jù)復制和同步策略
(5)數(shù)據(jù)一致性和分布式事務
(6)大數(shù)據(jù)量數(shù)據(jù)庫可擴展性(水平和垂直擴展,讀寫分離)以及單表記錄過大拆分策略
(7)數(shù)據(jù)庫集群規(guī)劃
(8)分布式數(shù)據(jù)存取策略(跨多個庫, 可能數(shù)據(jù)庫異構類型)
(9)數(shù)據(jù)備份與恢復
(10)數(shù)據(jù)庫性能規(guī)劃
(11)數(shù)據(jù)安全策略
(12)與遺留系統(tǒng)的數(shù)據(jù)庫兼容性考慮
(13)結合電信,金融,零售POS項目實例分析,系統(tǒng)數(shù)據(jù)架構設計策略
5、系統(tǒng)內(nèi)部各組件或層之間通信架構
(1)系統(tǒng)通信設計原則
(2)通信機制和通信模式
(3)協(xié)議選擇對性能的考慮?。?)同步還是異步
(5)適配器策略(基于API/數(shù)據(jù)庫/文件/協(xié)議等適配)
(6)通信接口設計策略(統(tǒng)一接口/業(yè)務分類)
(7)數(shù)據(jù)傳輸形式(DTO/XML等)
(8)Extension/Explicit/Proxy/Dynamic/Batch 接口形式
(9)結合項目實例分析,系統(tǒng)內(nèi)部的通信設計
6、系統(tǒng)與外部系統(tǒng)的接口架構
(1)系統(tǒng)接口設計策略
(2)點對點和基于EAI平臺架構
(3)系統(tǒng)接口策略(基于文件,共享數(shù)據(jù)庫,同步RPC或者異步消息)
(4)系統(tǒng)接口安全/審計/稽核等架構策略
(5)結合某省電信BSS系統(tǒng)EAI項目實例分析,系統(tǒng)接口架構策略
7、系統(tǒng)基礎服務組件架構
(1)系統(tǒng)基礎服務組件架構策略
(2)系統(tǒng)通用服務層與業(yè)務邏輯分離
(3)系統(tǒng)必備13種基礎服務架構(異常處理/事務管理/緩存/工作流/校驗/通信/安全/日志/定時觸發(fā)/狀態(tài)/消息通信/系統(tǒng)監(jiān)控/配置管理)
(4)業(yè)務通用服務架構實現(xiàn)策略
(5)結合多個項目實例分析,架構師如何萃取基礎服務組件和怎樣設計實現(xiàn)
第九單元:大型軟件系統(tǒng)架構實踐與剖析
(該案例分別在以上各單元,結合主題進行介紹)
綜合軟件架構實踐與剖析(以實際項目案例為背景)
(1)電信行業(yè)(電信97/移動BOSS/電信MBOSS/經(jīng)營分析)軟件架構案例研究
(2)金融行業(yè)(XXX銀行企業(yè)信貸和XXX銀行)軟件架構案例研究
(3)政府行業(yè)(XXX社保和XXX稅務)軟件架構案例研究
(4)電力行業(yè)(SG168和XXX電網(wǎng)門戶系統(tǒng))軟件架構案例研究
(5)大型互聯(lián)網(wǎng)系統(tǒng)架構案例研究
(6)郵政行業(yè)(***郵政項目)案例研究
【上課情景】