架構(gòu)師

架構(gòu)師

百科解釋

架構(gòu)師 - 簡介

架構(gòu)師實際上就是
軟件的總體 設(shè)計師。首席設(shè)計師就是總設(shè)計師,打個通俗的比方: 鄧小平是中國改革開放的總設(shè)計師,我們用現(xiàn)在的說法可以講,鄧小平是 中國改革開放的 首席架構(gòu)師。架構(gòu)師的形成一定是在實踐中積累起來的,而并非上了幾次培訓(xùn)班,讀了幾本書就可以成功的,架構(gòu)師是在 工程實踐中培養(yǎng)出來的!
架構(gòu)師也并非是萬能的。架構(gòu)師是客戶需求和開發(fā)者之間的橋梁。在
軟件行業(yè)中,一般提到的架構(gòu)師是技術(shù)架構(gòu)師,而忽略了 領(lǐng)域架構(gòu)師或者講是領(lǐng)域 工程師的概念。一個好的領(lǐng)域?qū)<乙欢ㄊ菢I(yè)務(wù)領(lǐng)域的架構(gòu)師,他能夠給出某一個業(yè)務(wù)領(lǐng)域的架構(gòu),我們可以稱為業(yè)務(wù)架構(gòu),只有技術(shù)架構(gòu)和業(yè)務(wù)架構(gòu)緊密結(jié)合才有可能真正創(chuàng)造出一個好的系統(tǒng)!
近年來,
軟件領(lǐng)域也漸漸地流行起架構(gòu)師的角色,特別是對一些大型軟件產(chǎn)品或項目的開發(fā),這一角色顯得很關(guān)鍵,因為缺乏好的 軟件架構(gòu)師而導(dǎo)致項目失敗的例子不勝枚舉,一個沒有經(jīng)驗和能力的架構(gòu)師也會使項目失敗的速度加快。

架構(gòu)師 - 重要作用


軟件架構(gòu)師在整個軟件開發(fā)過程中都起著重要的作用,并隨著開發(fā)進程的推進而其職責(zé)或關(guān)注點不斷地變化,在需求階段,軟件架構(gòu)師主要負責(zé)理解和管理非功能性系統(tǒng)需求,比如軟件的可維護性、性能、復(fù)用性、可靠性、有效性和 可測試性等等,此外,架構(gòu)師還要經(jīng)常審查和客戶及市場人員所提出的需求,確認開發(fā) 團隊所提出的設(shè)計;在需求越來越明確后,架構(gòu)師的關(guān)注點開始轉(zhuǎn)移到組織開發(fā)團隊成員和開發(fā)過程定義上;在 軟件設(shè)計階段,架構(gòu)師負責(zé)對整個 軟件體系結(jié)構(gòu)、關(guān)鍵 構(gòu)件、接口和開發(fā)政策的設(shè)計;在 編碼階段,架構(gòu)師則成為 詳細設(shè)計者和 代碼編寫者的顧問,并且經(jīng)常性地要舉行一些技術(shù)研討會、技術(shù)培訓(xùn)班等;隨著軟件開始測試、集成和交付,集成和測試支持將成為軟件架構(gòu)師的工作重點;在 軟件維護開始時,軟件架構(gòu)師就開始為下一版本的產(chǎn)品是否應(yīng)該增加新的功能模塊進行決策。

架構(gòu)師 - 具體要求


顯而易見,在
軟件開發(fā)過程中,一個優(yōu)秀 軟件架構(gòu)師的重要性是不應(yīng)低估的。那么如何成為優(yōu)秀的 軟件架構(gòu)師呢?
基本要求
首先必須具有豐富的軟件設(shè)計與開發(fā)經(jīng)驗,這有助于理解并解釋所進行的設(shè)計是如何映射到實現(xiàn)中去。
其次要具有領(lǐng)導(dǎo)能力與
團隊協(xié)作技能, 軟件架構(gòu)師必須是一個得到承認的技術(shù)領(lǐng)導(dǎo),能在關(guān)鍵時候?qū)夹g(shù)的選擇作出及時、有效的決定。
第三是具有很強的溝通能力,呵呵,其時這一點好像什么角色都最好具備,
軟件架構(gòu)師需要與各路人馬經(jīng)常打交道,客戶、市場人員、開發(fā)人員、測試人員、 項目經(jīng)理、 網(wǎng)絡(luò)管理員、 數(shù)據(jù)庫工程師等等,而且在很多角色之間還要起溝通者的作用。在技術(shù)能力方面, 軟件架構(gòu)師最重要也是最需要掌握的知識是 構(gòu)件通信機制方面的知識,比如 遠程過程調(diào)用(RPC,Remote Procedure Call)、JAVA RMI、CORBA、COM/DCOM、各種標準的通信協(xié)議、 網(wǎng)絡(luò)服務(wù)、面對對象 數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫或者NoSQL數(shù)據(jù)庫等等,另外,架構(gòu)師應(yīng)時刻注意新 軟件設(shè)計和開發(fā)方面的發(fā)展情況,并不斷探索更有效的新方法。開發(fā)語言、設(shè)計模式和開發(fā) 平臺不斷很快地升級, 軟件架構(gòu)師需要吸收這些新技術(shù)新知識,并將它們用于軟件系統(tǒng)開發(fā)工作中。當然,行業(yè)的業(yè)務(wù)知識對 軟件架構(gòu)師也是很重要的,有助于設(shè)計出一個滿足客戶需求的體系結(jié)構(gòu),優(yōu)秀的軟件架構(gòu)師常常因為要盡快獲得對行業(yè)業(yè)務(wù)的理解而必須快速學(xué)習(xí)并且進行敏銳的觀察。
進一步的要求
上面的描述是枯燥乏味的,但作為一個架構(gòu)師,在整個
軟件系統(tǒng)的開發(fā)過程中是樂趣無窮的,因為這個角色很具有挑戰(zhàn)性,有時需要左右逢源、八面玲瓏,有時又需要果斷堅定、不留情面。在國內(nèi),較少 軟件企業(yè)擁有獨立的架構(gòu)師,通常一個軟件高手身兼數(shù)職,既是 項目經(jīng)理,又是 軟件架構(gòu)師,還是軟件開發(fā)者,有時還要客串一個測試人員,這對軟件的開發(fā)周期和產(chǎn)品質(zhì)量是不利的,有時一個人的觀點立場是很片面的,而且繁重的工作、沉重的壓力會影響一個人的情緒,情緒會影響決策,決策影響結(jié)果,所以值得我們?nèi)级笮小?div id="4lww94c" class="content_h2">

架構(gòu)師 - 培養(yǎng)過程


架構(gòu)師不是通過理論學(xué)習(xí)可以搞出來的,不過不學(xué)習(xí)相關(guān)知識那肯定是不行的?偨Y(jié)構(gòu)架師自我培養(yǎng)過程大致如下,僅供參考。
1、架構(gòu)師胚胎(
程序員)
學(xué)習(xí)的知識是語言基礎(chǔ)、設(shè)計基礎(chǔ)、通信基礎(chǔ)等,應(yīng)該在大學(xué)完成,內(nèi)容包括java、c、
c++、uml、RUP、XML、socket通信( 通信協(xié)議)