- 相關(guān)推薦
系統(tǒng)架構(gòu)設(shè)計(jì)師要素
架構(gòu)師(Architecture)是目前很多軟件企業(yè)最急需的人才,也是一個(gè)軟件企業(yè)中薪水最高的技術(shù)人才。換句話說(shuō),架構(gòu)師是企業(yè)的人力資本,與人力資源相比其能夠通過(guò)架構(gòu)、創(chuàng)新使企業(yè)獲得新的產(chǎn)品、新的市場(chǎng)和新的技術(shù)體系。那么什么是架構(gòu)師、架構(gòu)師的作用、如何定位一個(gè)架構(gòu)師和如何成為一個(gè)架構(gòu)師呢?這是許多企業(yè)、許多程序員朋友希望知道的或希望參與討論的話題內(nèi)容。
所謂架構(gòu)師通俗的說(shuō)就是設(shè)計(jì)師、畫(huà)圖員、結(jié)構(gòu)設(shè)計(jì)者,這些定義范疇主要用在建筑學(xué)上很容易理解。小時(shí)候到河中玩耍,經(jīng)常干的事就是造橋,步驟如下:1、在沙灘上畫(huà)圖;2、選擇形狀好看、大小適合的石頭;3、搭建拱橋。其中我們挑出來(lái)畫(huà)圖的那位光PP小孩就是傳說(shuō)中的“架構(gòu)師”了。
在軟件工程中,架構(gòu)師的作用在于三方面:1、行業(yè)應(yīng)用架構(gòu),行業(yè)架構(gòu)師往往是行業(yè)專家,了解行業(yè)應(yīng)用需求,其架構(gòu)行為主要是將需求進(jìn)行合理分析布局到應(yīng)用模型中去,偏向于應(yīng)用功能布局;2、應(yīng)用系統(tǒng)技術(shù)體系架構(gòu),技術(shù)架構(gòu)師往往是技術(shù)高手中的高手,掌握各類技術(shù)體系結(jié)構(gòu)、掌握應(yīng)用設(shè)計(jì)模式,其架構(gòu)行為考慮軟件系統(tǒng)的高效性、復(fù)用性、安全性、可維護(hù)性、靈活性、跨平臺(tái)性等;3、規(guī)范架構(gòu)師是通過(guò)多年磨礪或常年苦思頓悟后把某一類架構(gòu)抽象成一套架構(gòu)規(guī)范,當(dāng)然也有專門研究規(guī)范而培養(yǎng)的規(guī)范架構(gòu)師。他們的產(chǎn)物往往也分為應(yīng)用規(guī)范和技術(shù)規(guī)范兩類。
與建筑學(xué)類似,如果軟件系統(tǒng)沒(méi)有一個(gè)好的架構(gòu)是不可能成為成功的軟件系統(tǒng)的。沒(méi)有圖紙的建筑工地、沒(méi)有設(shè)計(jì)的造橋工程都是不可以想象的混亂世界。建筑工程如是,軟件工程中亦然!
由于國(guó)內(nèi)合格、勝任的軟件架構(gòu)師極為少見(jiàn),直接導(dǎo)致了我國(guó)民族軟件產(chǎn)業(yè)水平的落后。在未來(lái)以信息產(chǎn)業(yè)為主導(dǎo)的社會(huì),信息產(chǎn)業(yè)水平的低下將直接影響國(guó)家核心競(jìng)爭(zhēng)力。究其原因,無(wú)企業(yè)非急功近利、個(gè)人缺乏引導(dǎo)。
企業(yè)的急功近利是有無(wú)法克服的原因的,那就是社會(huì)發(fā)展總體水平。“生存是第一位的,賺錢是第一位的”,多年來(lái)許多客戶抱怨國(guó)內(nèi)的軟件公司無(wú)法信任、系統(tǒng)項(xiàng)目累做累敗、公司越換越差,但因國(guó)外不可能給中國(guó)做應(yīng)用系統(tǒng)項(xiàng)目還不得不找國(guó)內(nèi)軟件公司做。由于人月費(fèi)用低、公司開(kāi)發(fā)成本高,軟件企業(yè)對(duì)于應(yīng)用只能草草了事,拿錢走人(很多公司拿不到后期尾款)。這樣的環(huán)境下,企業(yè)幾乎無(wú)法投入更多資源培養(yǎng)自己的架構(gòu)師,加上眼花繚亂的跳槽風(fēng)氣企業(yè)更是不愿投入。
那么要成為架構(gòu)師的途徑似乎只有現(xiàn)在較為流行的軟件學(xué)院和個(gè)人自我培養(yǎng)了。關(guān)于軟件學(xué)院我接觸過(guò)不少,其宗旨絕大部分都是造就(or打造)企業(yè)需要的軟件架構(gòu)師(or程序員or人才)。教師來(lái)源與企業(yè)、學(xué)員來(lái)源與企業(yè)、人才輸送到企業(yè)是他們辦學(xué)的手段。盡管各個(gè)如雨后春筍般出現(xiàn)的軟件學(xué)院口號(hào)差不多,但恐怕大多只是為了圈錢賣學(xué)位了事。
架構(gòu)師不是通過(guò)理論學(xué)習(xí)可以搞出來(lái)的,不過(guò)不學(xué)習(xí)相關(guān)知識(shí)那肯定是不行的。參考軟件企業(yè)架構(gòu)師需求、結(jié)合目前架構(gòu)師所需知識(shí),總結(jié)架構(gòu)師自我培養(yǎng)過(guò)程大致如下僅供參考:
1、架構(gòu)師胚胎(程序員)學(xué)習(xí)的知識(shí)是語(yǔ)言基礎(chǔ)、設(shè)計(jì)基礎(chǔ)、通信基礎(chǔ)等,應(yīng)該在大學(xué)完成,內(nèi)容包括java、c、c++、uml、RUP、XML、socket通信(通信協(xié)議)——學(xué)習(xí)搭建應(yīng)用系統(tǒng)所必須的原材料。
2、架構(gòu)師萌芽(高級(jí)程序員)學(xué)習(xí)分布式系統(tǒng)、組建等內(nèi)容,可以在大學(xué)或第一年工作時(shí)間接觸,包括分布式系統(tǒng)原理、ejb、corba、com/com+、webservice(研究生可以研究網(wǎng)絡(luò)計(jì)算機(jī)、高性能并發(fā)處理等內(nèi)容)
3、架構(gòu)師幼苗(設(shè)計(jì)師)應(yīng)該在掌握上述基礎(chǔ)之上,結(jié)合實(shí)際項(xiàng)目經(jīng)驗(yàn),透徹領(lǐng)會(huì)應(yīng)用設(shè)計(jì)模式,內(nèi)容包括設(shè)計(jì)模式(c++版本、java版本)、ejb設(shè)計(jì)模式、J2EE架構(gòu)、UDDI、軟件設(shè)計(jì)模式等。在此期間,最好能夠了解軟件工程在實(shí)際項(xiàng)目中的應(yīng)用以及小組開(kāi)發(fā)、團(tuán)隊(duì)管理。
4、系統(tǒng)架構(gòu)師的正式成型在于機(jī)遇、個(gè)人努力和天賦,軟件架構(gòu)師其實(shí)是一種職位,但一個(gè)程序員在充分掌握軟架構(gòu)師所需的基本技能后,如何得到這樣的機(jī)會(huì)、如何利用所掌握的技能進(jìn)行應(yīng)用的合理架構(gòu)、如何不斷的抽象和歸納自己的架構(gòu)模式、如何深入行業(yè)成為能夠勝任分析、架構(gòu)為一體的精英人才這可不是每個(gè)人都能夠遇上的餡餅……
然而學(xué)海無(wú)涯,精力有限,個(gè)人如何能夠很快將這些所謂的架構(gòu)師知識(shí)掌握?這是秘密,每個(gè)人都有自己的獨(dú)門家傳秘笈就不敢一一暴露了。不過(guò)有一點(diǎn)就是廣泛學(xué)習(xí)的基礎(chǔ)之上一定要根據(jù)個(gè)人興趣、從事領(lǐng)域確定一條自己的主線來(lái)努力。
【系統(tǒng)架構(gòu)設(shè)計(jì)師要素】相關(guān)文章:
系統(tǒng)架構(gòu)設(shè)計(jì)師考試之路01-11
系統(tǒng)架構(gòu)設(shè)計(jì)師考試報(bào)考條件12-30
系統(tǒng)架構(gòu)設(shè)計(jì)師輔導(dǎo):處理圖像01-11
系統(tǒng)架構(gòu)設(shè)計(jì)師考試報(bào)考指南06-19
系統(tǒng)架構(gòu)設(shè)計(jì)師:優(yōu)化顯示速度01-11
系統(tǒng)架構(gòu)設(shè)計(jì)師:考慮用戶的觀點(diǎn)01-11
系統(tǒng)架構(gòu)設(shè)計(jì)師考試試題舉例10-22