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