系統架構設計師課程|培訓班—課程描述:
國內軟件團隊中最缺的就是稱職的軟件架構師,造成軟件系統缺乏整體的規劃,使得產品的結構混亂、充滿了冗余,這人為地增加了開發成本,隨之還拖后了進度。再加上沒有架構師來領導團隊成員去貫徹統一的設計與實施風格,并確保構造的質量,最終交付的只能是一盤散沙的產品,自然也無法讓用戶滿意。
顯然成為一個架構師是極其困難的事,這將是一個長期的成長過程;然而通過系統的培訓來減緩學習曲線,幫助學員站在較高的起點來理解軟件架構,并了解架構的分析與設計的方法,則是完全可能和有必要的。我們期望通過這個課程的學習,能幫助學員順利地入門,以便在實際工作中少走彎路;同時還能了解到如何才能成為一個稱職的架構師。另外,也期望學員利用課程中學習的知識,去幫助其團隊實施CMMI3級以上的進程改進,使得軟件團隊可以快速進入到國際化項目的開發當中;通過對軟件架構的風險識別和質量控制(SQA),大幅提高項目的成功率。
本課程包括軟件構架分析與設計、構架開發實踐兩個部分。
本課程介紹了軟件構架的基本理論和實際應用技術,涵蓋了構架分析到構架設計的各個步驟。構架描述和構架文檔的作用,如何進行構架分析、確定構架分析機制,如何從分析機制對應到設計機制和實施機制,構架模式的應用,層次模型的開發,包的設計原則、類的設計原則,以及構架模式、J2EE/dot.Net構架框架等。
為了讓學員更深入地掌握相關內容,課程安排了圍繞一個簡單而完整的軟件項目實例的構架建模實踐習作。
系統架構設計師課程|培訓班—課程目的:
使學員能:基本掌握UP的分析設計門類中的構架分析設計部分,理解4+1視圖、構架建模的理論知識,掌握軟件構架文檔、設計模型、構架機制和包設計原則的應用的基本內容和方法,能夠初步按照RUP進行構架開發。
系統架構設計師課程|培訓班—課程對象:
該課程主要面向架構師(首要對象)、其他開發人員和項目經理。
系統架構設計師課程|培訓班—學員基礎:
(1) 要求學員具備一定的OO基礎,具有一定的面向對象的分析、設計經驗更佳;
(2) 要求學員有使用任何一種面向對象的語言的編程基礎;
(3) 培訓學員需要具備一定的UML基礎知識,對UML的各種概念有一定的了解,知道各種模型圖的大致概念和意思。
(4) 最好接受過《面向對象分析與設計》或類似課程的培訓。
系統架構設計師課程|培訓班—課程任務:
(1) 深入理解構架的重要性
(2) 系統地掌握構架開發的技術和方法
(3) 掌握構架分析的步驟和方法
(4) 理解構架模式,及其在構架分析、設計中的應用
(5) 理解軟件構架分析的基本概念,理解軟件需求特別是非功能需求對構架設計的影響,了解分析機制、設計機制等貫穿構架的重要概念;
(6)了解軟件構架設計的基本概念,理解面向對象之包的設計原則及其在構架設計中的應用;
(7)了解軟件構架的4+1視圖概念,熟悉進程視圖與進程/線程設計的途徑,掌握構件視圖和部署視圖的建模方法;
(8)了解面向對象的持久化概念,熟悉數據建模的方法,了解對象—關系映射(Object-Relation Mapping)的基本內容。
系統架構設計師課程|培訓班—授課方式:
整個課程圍繞一個簡單的軟件項目實例來展開,通過講解和指導學員完成一系列練習,讓學員對構架分析和構架設計的方法和過程等產生較深刻的感性認識;比如圍繞BugReport V2.0案例,從確定其前景文檔開始,到開發用例模型、編寫用例規約,分析系統行為、識別構架機制,開展構架(邏輯)設計、映射到構架(物理)模型等,即按照實際項目的開發順序來組織課程內容。
另外,為了讓學員親歷實際項目中軟件架構的具體實踐,課程還提供了若干由授課講師親自領導實施或參與過的項目案例,包括國內占據六成以上市場份額的大型業務軟件,還有百萬級和千萬級以上的國際項目等。
課程中通過答疑和習作評點,使學員進一步深入理解軟件構架的理論和方法,并糾正一些錯誤或模糊的認識。
課程中還穿插一些講師與學員的自由交流活動,解答與探討實際項目中的各類問題。