軟件架構師

軟件架構師

新興職業
軟件架構師是軟件行業中一種新興職業,工作職責是在一個軟件項目開發過程中,将客戶的需求轉換為規範的開發計劃及文本,并制定這個項目的總體架構,指導整個開發團隊完成這個計劃。[1]
    中文名:軟件架構師 外文名:Software Architect 适用領域: 所屬學科: 解釋:将客戶的需求轉換為開發計劃 主要任務:從事更高層次的開發構架工作 屬性:新興職業

基本内容

優勢

根據信息産業部的有關文件,高端人才匮乏是中國軟件産業當前發展最緻命的阻礙因素之一,多數企業的高端職位一直空缺但招不到合适的人才。

高端職位的空缺,導緻企業技術層次一直在低水平徘徊。而衆多低水平軟件開發人員讓中國大多數軟件企業陷于嚴重的低層次重複開發狀态,無法形成自己的産品研發和技術優勢,導緻國内90%以上的軟件企業中的開發人員不到50人,很難發展壯大。

根據“第三屆中國軟件工程大會”的報告,在中國,未來五年,高端軟件人才需求缺口達20萬。而每年自動成長起來的軟件架構師隻有幾百人,可見市場需求的巨大。

在如此形勢下,怎樣抓住機遇,快速适應新的形勢變化,快速提升職場競争力,實現個人價值,是需要認真思考的事情。

能力要求

在技術全面、成熟練達、洞察力強、經驗豐富,具備在缺乏完整信息、衆多問題交織一團、模糊和矛盾的情況下,軟件架構師能迅速抓住問題要害,并做出合理的關鍵決定的能力、具備戰略性和前瞻性思維能力,善于把握全局,能夠在更高抽象級别上進行思考。主要包括如下:

⒈對項目開發涉及的所有問題領域都有經驗,包括徹底地理解項目需求,開展分析設計之類軟件工程活動等;

⒉具備領導素質,以在各小組之間推進技術工作,并在項目壓力下做出牢靠的關鍵決策;

⒊擁有優秀的溝通能力,用以進行說服、鼓勵和指導等活動,并赢得項目成員的信任;

⒋以目标導向和主動的方式來不帶任何感情色彩地關注項目結果,構架師應當是項目背後的技術推動力,而非構想者或夢想家(追求完美);

⒌精通構架設計的理論、實踐和工具,并掌握多種參考構架、主要的可重用構架機制和模式(例如J2EE架構等);

⒍具備系統設計員的所有技能,但涉及面更廣、抽象級别更高;活動确定用例或需求的優先級、進行構架分析、創建構架的概念驗證原型、評估構架的概念驗證原型的可行性、組織系統實施模型、描述系統分布結構、描述運行時刻構架、确定設計機制、确定設計元素、合并已有設計元素、構架文檔、參考構架、分析模型、設計模型、實施模型、部署模型、構架概念驗證原型、接口、事件、信号與協議等。

主要任務

架構師的主要任務不是從事具體的軟件程序的編寫,而是從事更高層次的開發構架工作。他必須對開發技術非常了解,并且需要有良好的組織管理能力。可以這樣說,一個架構師工作的好壞決定了整個軟件開發項目的成敗。

⒈領導與協調整個項目中的技術活動(分析、設計和實施等)

⒉推動主要的技術決策,并最終表達為軟件構架

⒊确定和文檔化系統的相對構架而言意義重大的方面,包括系統的需求、設計、實施和部署等“視圖”

⒋确定設計元素的分組以及這些主要分組之間的接口

⒌為技術決策提供規則,平衡各類涉衆的不同關注點,化解技術風險,并保證相關決定被有效的傳達和貫徹

⒍理解、評價并接收系統需求

⒎評價和确認軟件架構的實現專業技能

技能培養

概述

軟件架構師一般都是具備計算機科學或軟件工程的知識,由程序員做起,然後再慢慢發展為架構師的。在國内,很多大學目前還沒有設立軟件架構的學位課程,雖然IT業界對設計和架構的興趣日漸高漲,但各學校還是無法在課程中增加相應的内容來體現這一趨勢。從這個方面來說,學校教育已經遠遠落後于産業發展。因此,促進和發展軟件架構學課程的任務将落在現在的軟件架構師身上。目前的軟件架構師應該幫助各大院校建立相關課程體系,一旦教育課程建立起來,知識體将不僅通過新畢業生的工作成果來得到擴展,同時也會從适合軟件架構的教育研究和出版物中得到擴展。

雖然大學要加強軟件架構學課程的建設,但是,軟件架構師的成長應該有一個實踐的教育過程,并不是簡單的學校的理論學習或者通過大型軟件公司的認證就能成為合格的軟件架構師。除了信息系統綜合知識在學校學習外,軟件架構師的大部分知識和經驗将來自實際開發工作。根據軟件架構師的任職條件,一名合格的軟件架構師的成長應該經曆8年以上的軟件項目開發實際工作經驗。一般需要經曆程序員、軟件設計師等階段,然後再發展成為軟件架構師。

當然,并不是每一位程序員經過8年後都可以成長為軟件架構師的。一個軟件工程師在充分掌握了軟件架構師工作所必需的基本理論和技能後,如何得到和利用機會、如何利用所掌握的技能進行應用系統的合理架構、如何不斷的抽象和總結自己的架構模式、如何深入行業成為能夠勝任分析、架構為一體的精英人才,這就在于機遇、個人的努力和天賦了。

就目前來看,國内軟件架構師的培養途徑主要有兩種方式,一種是大學(軟件學院)教育方式,另一種是個人自我培養然後再進行相應的培訓和認證。但是,不管哪種方式都有其不足之處。

軟件學院的培養方式能夠系統的學習軟件架構師必需的知識體系,但是,軟件架構師不是簡單的通過理論學習就能夠培養出來的,軟件學院的學生可能缺乏必要的設計、開發經驗和相關的領域知識。盡管軟件學院也強調給予學生實踐的機會,但畢竟這種機會是有限的。有關“三分之一的師資來自企業”的規定,在部分軟件學院中也沒有得到真正落實,導緻傳授給學生的還是一些純理論知識。

自我培養方式的主要對象是具有一定年限的軟件開發和設計人員,如Microsoft、IBM、Sun等公司的軟件架構師認證對學員的基礎并沒有具體的要求,隻要交納規定的費用,然後進行幾天的集中培訓,通過考試就發給學員證書,甚至不需要考試就直接發放證書。這些開發人員在自我培養的過程中不一定能夠系統的學習軟件架構師的理論知識,他們隻具有一定的開發和設計經驗,僅僅經過幾天的培訓,是不太可能培養出合格的軟件架構師的。而且,作為某個廠商的培訓和認證,其最終目的是培育自己的市場,培養一批忠誠的用戶,而不是為中國培養軟件架構師。因此,也存在很大的問題和缺陷。

方法

針對軟件架構師在軟件組織中的作用和其在國内的培養現狀,有分析家認為有必要将軟件架構師的教育、培訓和認證作為發展民族軟件産業的一個基本決策,制定詳細的軟件架構師培養方案。因此,提出以下一些關于軟件架構師培養的基該方法和途徑。

⑴确定軟件架構師在軟件組織中的職責和充當的角色,确定其相應的必須具備的知識體系,确定軟件架構師的職業及其相關制度,制定軟件架構師的培養目标和培養方案。

⑵堅持以大學教育為主(特别是各軟件學院在這方面可以大施身手),以項目實踐為輔的教育方針。大學可以聘請現有的軟件架構師擔任核心課程的講師,通過學校教育,系統學習軟件架構師所必需的知識體系;通過項目實踐使其具有初步的軟件開發和設計經驗,逐步成長為一名合格的軟件架構師。

⑶作位第2條的補充,聘請現有的軟件架構師,個人認為适合以講座的形式在學校開展。

⑷對國外一些大公司的軟件架構師的培訓和認證予以支持,但是在認證的過程中必須堅持符合中國實際情況的原則。例如,在認證考試之前對考生的知識體系進行系統的測試和評估,在通過認證後的适當時間内進行重新認證和繼續教育。

⑸建立完善的軟件架構師教育和認證制度,使得通過認證的人員能夠在實際的軟件開發中成為稱職的和優秀的軟件架構師。并通過此制度能夠為國家培養出更多、更優秀的軟件架構師,解決當前軟件架構師急缺問題。

資格認證

在國外,軟件架構師的培養與認證具有嚴格的過程,明确規定了教育目标、認證的要求和學習課程等方面的内容。下面,介紹三個組織的軟件架構師認證情況。

UC

在UC Irvine的軟件架構師認證計劃中,為了拿到軟件架構師C級認證,學員必須完成11個單元的必修課程和至少4個單元的選修課程。這些課程包括:

必修課程:軟件系統建模和分析概論(2個單元)、系統分析基礎(3個單元)、用戶需求的分析和文檔化(3個單元)、軟件架構項目(3個單元)。

選修課程:信息系統項目管理(2個單元)、系統性能建模(2.5個單元)、管理業務改進項目(2.5個單元)。

UC Irvine的軟件架構師認證要求學員具有業務系統建模,決定用戶需求,評價業務過程的能力,掌握項目管理技術,能設計完善的、具有最佳可适應性和可擴展性的架構。該認證程序以一門實踐課程結束,在實踐課程中,學員從頭開始,設計一個大規模軟件解決方案的架構。

CMU

SEI在軟件架構師方面的認證包括三個職位,分别是軟件架構師、ATAM評估師和ATAM主任評估師。這些認證都需要學習2年的課程。其中軟件架構師需要學習的課程有軟件架構:原理與實踐、軟件架構文檔化、軟件架構設計與分析和軟件産品線。

iCMG

iCMG對軟件架構師的認證強調7個層次的課程學習,如圖2所示。在該認證體系中,上面的3個層次由其合作夥伴完成,iCMG隻負責下面4個層次的知識體系。

目前,軟件架構師的認證在國内基本上是空白,既沒有專業的培訓機構,也沒有專門的認證指南和權威的教育認證機構。而軟件架構師作為軟件的總設計師,其水平和能力直接決定了軟件系統的總體性能。根據教育部2004年9月8日關于緊缺人才的報告,2005年國内軟件架構和系統分析人才缺口在6萬人以上,是目前軟件開發中急需的高層次技術人才。

人事部和信息産業部39号文件決定在全國計算機技術與軟件專業技術資格(水平)考試中設立系統架構設計師級别的認證考試,試圖解決軟件架構師認證問題。但是,由于各種原因,該考試未能如期舉行,一拖再拖。其實,這些措施也隻是暫時起到一個過渡的作用,隻有建立完善的軟件架構師教育培訓方案和權威的教育認證機構,才是當前急需解決的問題。

上一篇:計算機硬件工程師

下一篇:前端開發工程師

相關詞條

相關搜索

其它詞條