軟件系(xi)統架構師綜合的知識能力(li)包括9個方面,即(ji):
1、戰略規劃能力。
2、業務流程建模能力。
3、信(xin)息數據結構能力(li)。
4、技術架(jia)構(gou)選擇和實現(xian)能力。
5、應用系統架(jia)構的解決和實現能力。
6、基礎IT知識(shi)及基礎設施、資源調配能力。
7、信息安全技術支持與(yu)管理保障能力。
8、IT審計、治理與基本需求分析(xi)、獲取能力。
9、面(mian)向軟件系(xi)統可靠性(xing)與(yu)系(xi)統生命周期的質(zhi)量(liang)保障(zhang)服務能力。
作(zuo)為系統(tong)架(jia)構(gou)(gou)師,必(bi)須成為所在開發(fa)團隊(dui)的(de)(de)(de)(de)(de)技術(shu)(shu)路線指(zhi)(zhi)導者(zhe);具有(you)(you)(you)很(hen)強的(de)(de)(de)(de)(de)系統(tong)思維的(de)(de)(de)(de)(de)能力;需要從(cong)大(da)量互相沖(chong)突(tu)的(de)(de)(de)(de)(de)系統(tong)方法和工具中區分出哪些是(shi)有(you)(you)(you)效的(de)(de)(de)(de)(de),哪些是(shi)無效的(de)(de)(de)(de)(de)。架(jia)構(gou)(gou)師應當是(shi)一(yi)個成熟(shu)的(de)(de)(de)(de)(de)、豐(feng)富(fu)的(de)(de)(de)(de)(de)、有(you)(you)(you)經(jing)驗的(de)(de)(de)(de)(de)、有(you)(you)(you)良(liang)好教(jiao)育的(de)(de)(de)(de)(de)、學習快捷、善溝(gou)通(tong)(tong)和決策能力強的(de)(de)(de)(de)(de)人。豐(feng)富(fu)是(shi)指(zhi)(zhi)他必(bi)須具有(you)(you)(you)業(ye)務領域方面(mian)的(de)(de)(de)(de)(de)工作(zuo)知(zhi)識(shi),知(zhi)識(shi)來源于經(jing)驗或者(zhe)教(jiao)育。他必(bi)須廣泛了解各種(zhong)(zhong)技術(shu)(shu)并(bing)精(jing)通(tong)(tong)一(yi)種(zhong)(zhong)特定技術(shu)(shu),至少了解計算機通(tong)(tong)用(yong)技術(shu)(shu)以便(bian)確定那種(zhong)(zhong)技術(shu)(shu)最優(you),或組織(zhi)團隊(dui)開展技術(shu)(shu)評估(gu)。優(you)秀的(de)(de)(de)(de)(de)架(jia)構(gou)(gou)師能考慮并(bing)評估(gu)所有(you)(you)(you)可(ke)用(yong)來解決問題的(de)(de)(de)(de)(de)總體(ti)技術(shu)(shu)方案。需要良(liang)好的(de)(de)(de)(de)(de)書(shu)面(mian)和口頭(tou)溝(gou)通(tong)(tong)技巧,一(yi)般通(tong)(tong)過可(ke)視化模型和小組討論來溝(gou)通(tong)(tong)指(zhi)(zhi)導團隊(dui)確保開發(fa)人員按(an)照架(jia)構(gou)(gou)建造系統(tong)。
(1)技術能力
技術(shu)能力(li)(li),不用(yong)(yong)(yong)置(zhi)疑肯定(ding)是(shi)(shi)最(zui)重要的(de)(de)。技術(shu)能力(li)(li)弱的(de)(de)架構不是(shi)(shi)一個好架構。所(suo)以(yi),你需要知道(dao)(dao)所(suo)有主流(liu)技術(shu)的(de)(de)基本原理、應用(yong)(yong)(yong)場景,及快(kuai)速(su)解決問題的(de)(de)能力(li)(li)。所(suo)以(yi),架構師必須要有見(jian)識,所(suo)需知識面肯定(ding)是(shi)(shi)要不斷拓展的(de)(de)。你需要清(qing)楚在什(shen)么(me)樣的(de)(de)場景用(yong)(yong)(yong)什(shen)么(me)樣的(de)(de)技術(shu)比(bi)較合適,并知道(dao)(dao)可能存在什(shen)么(me)樣的(de)(de)風(feng)險(xian)。來(lai)了需求,你腦袋(dai)是(shi)(shi)空的(de)(de),不知道(dao)(dao)用(yong)(yong)(yong)什(shen)么(me)技術(shu)這是(shi)(shi)最(zui)可怕的(de)(de)。
(2)架構能力
這個可以(yi)(yi)表(biao)現為(wei)(wei)抽象能力(li)、整體規(gui)劃(hua)能力(li)、及設(she)計能力(li)。你需要(yao)照在(zai)業(ye)務(wu)(wu)的(de)(de)角(jiao)度進行系統分(fen)解(jie)、技術(shu)選型、架(jia)(jia)(jia)(jia)(jia)構(gou)(gou)搭建,以(yi)(yi)及規(gui)范制定。架(jia)(jia)(jia)(jia)(jia)構(gou)(gou)出來(lai)了至(zhi)少可以(yi)(yi)滿足最近的(de)(de)發展,或者可以(yi)(yi)很方便對(dui)現有(you)架(jia)(jia)(jia)(jia)(jia)構(gou)(gou)進行擴容。有(you)人說架(jia)(jia)(jia)(jia)(jia)構(gou)(gou)不(bu)(bu)需要(yao)懂業(ye)務(wu)(wu),我面試過的(de)(de)就有(you)明(ming)確(que)表(biao)示不(bu)(bu)做業(ye)務(wu)(wu)架(jia)(jia)(jia)(jia)(jia)構(gou)(gou)。當然有(you)方面的(de)(de)架(jia)(jia)(jia)(jia)(jia)構(gou)(gou)師(shi),如中(zhong)間件架(jia)(jia)(jia)(jia)(jia)構(gou)(gou)師(shi),運維(wei)基礎設(she)施架(jia)(jia)(jia)(jia)(jia)構(gou)(gou)師(shi)等。但一般的(de)(de)后端架(jia)(jia)(jia)(jia)(jia)構(gou)(gou)師(shi)都(dou)是(shi)需要(yao)了解(jie)業(ye)務(wu)(wu),不(bu)(bu)理解(jie)業(ye)務(wu)(wu)你如果進行系統分(fen)解(jie),服務(wu)(wu)劃(hua)分(fen),及根據不(bu)(bu)同(tong)業(ye)務(wu)(wu)作出不(bu)(bu)同(tong)的(de)(de)架(jia)(jia)(jia)(jia)(jia)構(gou)(gou)。技術(shu)都(dou)是(shi)為(wei)(wei)業(ye)務(wu)(wu)服務(wu)(wu)的(de)(de),不(bu)(bu)站在(zai)業(ye)務(wu)(wu)的(de)(de)角(jiao)度設(she)計架(jia)(jia)(jia)(jia)(jia)構(gou)(gou),那架(jia)(jia)(jia)(jia)(jia)構(gou)(gou)就是(shi)空談。
(3)溝通能力
這個看起來不是(shi)最(zui)重要(yao)(yao)的(de)(de)(de),其實(shi)也非常重要(yao)(yao)。作為一個優秀的(de)(de)(de)架構(gou)師,你需(xu)(xu)要(yao)(yao)清(qing)楚(chu)的(de)(de)(de)知道客戶(hu)的(de)(de)(de)需(xu)(xu)求,需(xu)(xu)要(yao)(yao)不斷和需(xu)(xu)求人員進行溝通(tong),以(yi)達到(dao)客戶(hu)真正的(de)(de)(de)目的(de)(de)(de)。不論是(shi)不是(shi)架構(gou)師,任何一個職場人,提高自己的(de)(de)(de)溝通(tong)表達能力無疑是(shi)不可或缺的(de)(de)(de)。有一句話怎(zen)么說(shuo)的(de)(de)(de),領導(dao)就喜歡拍(pai)馬(ma)屁的(de)(de)(de)。做領導(dao)的(de)(de)(de)大多不是(shi)技(ji)術特(te)別牛(niu)的(de)(de)(de),但溝通(tong)能力肯(ken)定是(shi)很好的(de)(de)(de)。
系統構(gou)架(jia),是對已確定的(de)(de)需求的(de)(de)技術實現構(gou)架(jia)、作好規劃(hua),運用成套(tao)、完整的(de)(de)工具,在規劃(hua)的(de)(de)步驟下去完成任務(wu)。系統架(jia)構(gou)師做為(wei)系統架(jia)構(gou)的(de)(de)設(she)計(ji)者,關(guan)系到應(ying)用系統成敗(bai)的(de)(de)關(guan)鍵(jian)。
系統架構師的主要功能(neng)包括:
(1)系(xi)統(tong)架構師是軟(ruan)件項目的(de)總體設計(ji)師,是軟(ruan)件組(zu)織新(xin)產品的(de)開發與集(ji)成、新(xin)技術體系(xi)的(de)構建者。
(2)系(xi)統(tong)架(jia)構師是在技術上對所有(you)重要事情做出(chu)決定的(de)人(系(xi)統(tong)架(jia)構師在整個軟件(jian)開發(fa)過程中都起(qi)著重要作用,并隨(sui)著開發(fa)進(jin)程的(de)推進(jin)而其職責或關注點不(bu)斷(duan)地變化)。
(3)需(xu)求(qiu)階(jie)段(duan),軟件架(jia)構師負責理(li)解(jie)和管理(li)非功能(neng)性(xing)(xing)(xing)系(xi)統(tong)需(xu)求(qiu),比(bi)如(ru)軟件的可維護性(xing)(xing)(xing)、性(xing)(xing)(xing)能(neng)、復用(yong)性(xing)(xing)(xing)、可靠性(xing)(xing)(xing)、有效性(xing)(xing)(xing)和可測試性(xing)(xing)(xing)等(deng)。審查客戶和市場人員提(ti)出(chu)的需(xu)求(qiu),確認開發團(tuan)(tuan)隊提(ti)出(chu)的設(she)計;組(zu)織開發團(tuan)(tuan)隊成員和開發過(guo)程的定(ding)義;協助(zhu)需(xu)求(qiu)分析(xi)師完成“用(yong)戶需(xu)求(qiu)說(shuo)明書”、“需(xu)求(qiu)變更說(shuo)明書”。
(4)設(she)計階段,架構(gou)(gou)師負(fu)責對(dui)整個軟(ruan)件架構(gou)(gou)、關(guan)鍵(jian)構(gou)(gou)件、接口的設(she)計。協(xie)助系統分析(xi)師完成《系統概要設(she)計說(shuo)明書》。
(5)編(bian)碼(ma)階段,架構師(shi)則成為(wei)程序員的顧問,并且經常性(xing)地要舉行一些(xie)技術研討(tao)會、技術培訓班等。
(6)測試及實(shi)施(shi)階段,隨(sui)著軟件(jian)開(kai)始測試、集成和交(jiao)付,集成和測試支持將成為軟件(jian)架構(gou)師(shi)的(de)工作重點。
系統架構(gou)師的職責就(jiu)是設計一(yi)個(ge)公司的基礎架構(gou),并提(ti)供關于怎樣(yang)建立
和維護系統的(de)指導(dao)方(fang)針。具體(ti)(ti)來講,系統架構師的(de)職責主要體(ti)(ti)現(xian)于以下幾方(fang)面:
1 負責公(gong)司系統的架構設(she)計、研發工作(zuo);
2 承擔(dan)從業務向技術轉換(huan)的(de)橋梁作用;
3 協助項(xiang)目經理制定項(xiang)目計劃和控制項(xiang)目進度;
4 負責輔助并指(zhi)導 SA 開展(zhan)設計工作;
5 負責組織技術研究和攻關工作;
6 負責(ze)組織和管理公司內部(bu)的(de)技術培(pei)訓工(gong)作;
7 負責(ze)組織及帶領公司內部員工(gong)研究與項目相關的新(xin)技(ji)術。
8 管理(li)技術(shu)支撐(cheng)團隊(dui)并給項目、產品開發(fa)實施團隊(dui)提(ti)供(gong)技術(shu)保(bao)障。
9 理解系(xi)統的(de)業務(wu)(wu)需(xu)求,制定系(xi)統的(de)整體(ti)框架(jia)(包括:技術框架(jia)和業務(wu)(wu)框架(jia))
10 對系(xi)統(tong)(tong)框架相關技術和業(ye)務進行(xing)培(pei)訓,指導開(kai)發人員(yuan)開(kai)發。并解決系(xi)統(tong)(tong)開(kai)發、運(yun)行(xing)中出(chu)現的(de)各(ge)種問(wen)題(ti)。系(xi)統(tong)(tong)架構師的(de)目的(de):
11 對系統的重用、擴展、安全(quan)、性(xing)能、伸縮(suo)性(xing)、簡(jian)潔(jie)等(deng)做系統級的把(ba)握(wo)。
————系(xi)統(tong)架(jia)(jia)構師(shi)的(de)(de)工作在于針對不(bu)同的(de)(de)情況(kuang)篩選(xuan)出最優的(de)(de)技術(shu)(shu)(shu)(shu)解(jie)決(jue)方案,而(er)不(bu)是沉在具體(ti)(ti)實現細節上。此外系(xi)統(tong)架(jia)(jia)構師(shi)是不(bu)可培養的(de)(de),好的(de)(de)系(xi)統(tong)架(jia)(jia)構師(shi)也許不(bu)是一個(ge)優秀的(de)(de)程序(xu)員(yuan),但(dan)是不(bu)能(neng)(neng)不(bu)懂技術(shu)(shu)(shu)(shu)之間的(de)(de)差別,技術(shu)(shu)(shu)(shu)的(de)(de)發(fa)展(zhan)趨(qu)勢,采用該技術(shu)(shu)(shu)(shu)的(de)(de)當前成本(ben)和后繼成本(ben),該技術(shu)(shu)(shu)(shu)與(yu)具體(ti)(ti)應用的(de)(de)偶合程度,自己可以調配(pei)的(de)(de)資源狀(zhuang)況(kuang),研發(fa)中可能(neng)(neng)會遇到的(de)(de)風險,如何回避風險。這(zhe)些才是架(jia)(jia)構師(shi)需要考(kao)慮(lv)的(de)(de)主要內(nei)容。
第一(yi)種是基礎架構(gou)的設計規劃,例如:OS,硬(ying)件,網絡(luo),各種應用服務器等等。
第二(er)種(zhong)是軟件開(kai)發設計的架構(gou)師,他(ta)們負責規(gui)劃程序的運行模(mo)式,層(ceng)次結構(gou),調用(yong)關(guan)系,規(gui)劃具體的實現(xian)技術類型,甚至(zhi)配合整個團(tuan)隊(dui)做好軟件開(kai)發中的項目管理。
系統構架師是最近在國內外迅速成長并發展良好的一個職位,它的重要性及給 T業所帶來的影響是不言而喻的。在我國雖然還存在一定的爭論性、不可預測性、不理解性,不確定性,但它確實是時代發展的需要。IT業各公司為了讓他們現有的IT系統實現更大的價值,紛紛進行了重大的技術變革,這樣一(yi)(yi)來,對(dui)高水平的(de)(de)架(jia)(jia)(jia)構師的(de)(de)需求激(ji)增。對(dui)負責架(jia)(jia)(jia)構的(de)(de)管理人(ren)員的(de)(de)需求不斷增大(da),其增長速度比對(dui)CIO的(de)(de)需求還要快,這是(shi)因為,架(jia)(jia)(jia)構師會給一(yi)(yi)個(ge)組織帶(dai)來大(da)量專(zhuan)門技(ji)術。公司需要一(yi)(yi)些在(zai)架(jia)(jia)(jia)構方(fang)面有真才實學,而且學得(de)深且廣的(de)(de)人(ren)才。
在比爾(er)·蓋茨的眾多(duo)稱謂(wei)中(zhong),據說(shuo)他(ta)更偏愛“首席(xi)軟件架(jia)(jia)構(gou)(gou)師”。同樣(yang),在網易創始人丁磊名字前,也有“首席(xi)架(jia)(jia)構(gou)(gou)師”這樣(yang)的稱謂(wei)。由(you)此(ci)可見(jian),對于(yu)企業來說(shuo),架(jia)(jia)構(gou)(gou)師就是靈魂的創造(zao)者。
系統架(jia)(jia)構(gou)師(shi)該(gai)怎么來實(shi)現(xian)其“架(jia)(jia)構(gou)”企業(ye)的職能呢?尤其在設計企業(ye)IT策略時,該(gai)怎樣體(ti)現(xian)架(jia)(jia)構(gou)師(shi)的價值?這里(li)以實(shi)例說明:
摩(mo)(mo)托羅拉的(de)(de)(de)(de)(de)副總裁 Toby Redshaw 說,架(jia)構(gou)師(shi)是(shi)“IT策(ce)略(lve)(lve)中的(de)(de)(de)(de)(de)中樞”,而且這(zhe)一(yi)角色對(dui)公司(si)(si)的(de)(de)(de)(de)(de)影響(xiang)確(que)(que)實非常大(da)。當(dang) Toby Reshaw在2001年進(jin)入摩(mo)(mo)托羅拉并(bing)(bing)(bing)擔任其策(ce)略(lve)(lve)暨架(jia)構(gou)副總裁時,他(ta)(ta)儼(yan)然(ran)(ran)一(yi)位購房者對(dui)一(yi)套搖(yao)搖(yao)欲墜的(de)(de)(de)(de)(de)公寓進(jin)行估價一(yi)樣(yang)。他(ta)(ta)并(bing)(bing)(bing)不是(shi)僅僅只作些(xie)表(biao)面(mian)上的(de)(de)(de)(de)(de)修改,而是(shi)擬定(ding)了一(yi)個重(zhong)建(jian)摩(mo)(mo)托羅拉整(zheng)個基礎結構(gou)的(de)(de)(de)(de)(de)計(ji)劃(hua),這(zhe)個計(ji)劃(hua)可(ke)以(yi)(yi)(yi)徹(che)底修整(zheng)公司(si)(si)的(de)(de)(de)(de)(de)基礎建(jian)設,就像一(yi)個建(jian)筑(zhu)師(shi)設計(ji)一(yi)幢房子(zi)一(yi)樣(yang),Redshaw擬出了一(yi)張技(ji)術(shu)構(gou)架(jia)藍圖(tu),一(yi)座技(ji)術(shu)性(xing)的(de)(de)(de)(de)(de)建(jian)筑(zhu),以(yi)(yi)(yi)便使被他(ta)(ta)稱作“如意(yi)大(da)利面(mian)條般(ban)錯亂的(de)(de)(de)(de)(de)應用程序,機器和(he)管(guan)線”那些(xie)東西變得井(jing)然(ran)(ran)有(you)(you)序。他(ta)(ta)說,只要選擇了正確(que)(que)的(de)(de)(de)(de)(de)架(jia)構(gou)策(ce)略(lve)(lve)并(bing)(bing)(bing)用對(dui)了人,摩(mo)(mo)托就可(ke)以(yi)(yi)(yi)用比以(yi)(yi)(yi)前更(geng)快的(de)(de)(de)(de)(de)速度生產(chan)出大(da)量(liang)應用軟件,而且可(ke)以(yi)(yi)(yi)減少維持重(zhong)疊系統(tong)的(de)(de)(de)(de)(de)費用。Redshaw 說:“如果你(ni)連(lian)建(jian)筑(zhu)架(jia)構(gou)都搞不好,就算你(ni)的(de)(de)(de)(de)(de)石匠技(ji)術(shu)再高明(ming),又有(you)(you)什么用?架(jia)構(gou)師(shi)IT策(ce)略(lve)(lve)中的(de)(de)(de)(de)(de)中樞。”像Redshaw這(zhe)樣(yang)的(de)(de)(de)(de)(de)系統(tong)架(jia)構(gou)師(shi)們(men)(men)(men)在企業內部(bu)(bu)的(de)(de)(de)(de)(de)影響(xiang)力非常大(da)。很久以(yi)(yi)(yi)來,雖然(ran)(ran)他(ta)(ta)們(men)(men)(men)一(yi)直(zhi)在信息技(ji)術(shu)部(bu)(bu)門擔任重(zhong)要職(zhi)務,但是(shi)他(ta)(ta)們(men)(men)(men)經常受委托提供全面(mian)概(gai)況分析,并(bing)(bing)(bing)提出一(yi)些(xie)關于如何遵照(zhao)標(biao)準執行這(zhe)些(xie)任務的(de)(de)(de)(de)(de)建(jian)議,而這(zhe)些(xie)對(dui)日(ri)常運(yun)作的(de)(de)(de)(de)(de)影響(xiang)極(ji)其有(you)(you)限。隨著各公司(si)(si)都在尋找重(zhong)建(jian)他(ta)(ta)們(men)(men)(men)的(de)(de)(de)(de)(de)IT系統(tong),使其更(geng)能有(you)(you)效節省成本,更(geng)靈活的(de)(de)(de)(de)(de)方法,架(jia)構(gou)師(shi)愈來愈被看作是(shi)至關重(zhong)要的(de)(de)(de)(de)(de)因素。
一(yi)個定(ding)義明確的(de)(de)(de)架構的(de)(de)(de)目標在(zai)于降低運行復雜的(de)(de)(de)運算系(xi)統(tong)的(de)(de)(de)費(fei)用(yong)(yong)。一(yi)個公司可以(yi)采用(yong)(yong)一(yi)種特定(ding)的(de)(de)(de)數(shu)據(ju)庫配置,如微軟(ruan)的(de)(de)(de)數(shu)據(ju)庫,進而將(jiang)系(xi)統(tong)標準化,而不需要讓公司的(de)(de)(de)每個部門安裝它們自己所(suo)需要的(de)(de)(de)數(shu)據(ju)庫服務器。
Express的(de)(de)(de)技(ji)術架(jia)(jia)構(gou)(gou)副總裁Andy Miller說(shuo):“如果你沒有(you)一項強有(you)力的(de)(de)(de)架(jia)(jia)構(gou)(gou)策(ce)略,人(ren)人(ren)各(ge)行其是,最后以得到六(liu)種(zhong)服務器和軟件平臺而告終,你的(de)(de)(de)系統變(bian)成了大雜燴,而那將使你的(de)(de)(de)費用激(ji)增。”把(ba)架(jia)(jia)構(gou)(gou)師獨(du)立出來(lai)有(you)很多好處,比如系統的(de)(de)(de)整體把(ba)握,質量(liang)上(shang)的(de)(de)(de)保障,技(ji)術上(shang)的(de)(de)(de)先進性(xing),架(jia)(jia)構(gou)(gou)的(de)(de)(de)靈活性(xing),高效性(xing),還可有(you)效地(di)降低(di)成本(ben)。試想,1個月(yue)薪(xin)1w的(de)(de)(de)架(jia)(jia)構(gou)(gou)師+10個月(yue)薪(xin)5k的(de)(de)(de)工程(cheng)師,肯定比11個月(yue)薪(xin)6k的(de)(de)(de)高級工程(cheng)師效果要好。一般來(lai)說(shuo),級別越(yue)高的(de)(de)(de)架(jia)(jia)構(gou)(gou)師,經驗(yan)更豐富,爭相(xiang)聘請的(de)(de)(de)人(ren)也多,他們也是與公(gong)司(si)全部的(de)(de)(de)IT策(ce)略密(mi)切相(xiang)關的(de)(de)(de)專業人(ren)員。
作(zuo)為(wei)軟(ruan)件(jian)開發的(de)(de)設計(ji)(ji)架(jia)構師(shi),那么(me)必須擁有(you)一(yi)(yi)定的(de)(de)編程(cheng)技能,同時(shi)有(you)高超的(de)(de)學習(xi)新(xin)的(de)(de)架(jia)構設計(ji)(ji)、程(cheng)序(xu)設計(ji)(ji)技能。另外,我覺得作(zuo)為(wei)軟(ruan)件(jian)架(jia)構師(shi),還必須了解一(yi)(yi)定的(de)(de)硬件(jian)、網(wang)絡、服(fu)務器的(de)(de)基本知識。要不然,你(ni)都(dou)不知道有(you)些什么(me)材料(liao)可以用,你(ni)怎么(me)去根據實際情況(kuang)去規劃你(ni)的(de)(de)軟(ruan)件(jian)架(jia)構呢(ni)?忽視程(cheng)序(xu)設計(ji)(ji)能力(li)的(de)(de)持續(xu)跟新(xin),是永遠(yuan)不能夠成(cheng)為(wei)一(yi)(yi)個成(cheng)功的(de)(de)系統架(jia)構師(shi)。
一般來講(jiang),系統架構師應(ying)該擁有以(yi)下幾方面的能力(li):
1:具(ju)備(bei)8年以上軟件行業工作(zuo)經(jing)驗;
2:具備4年以上C/S或B/S體(ti)系結構軟件產品(pin)開發及架構和設計經驗;
3:具備(bei)3年以(yi)上(shang)的(de)代碼編寫工作經驗;
4:具備豐富的大中型開(kai)發項目的總體規(gui)劃、方(fang)案設計及(ji)技術(shu)隊伍管理(li)經(jing)驗;
5:對(dui)相關的(de)技術(shu)標準有深刻(ke)的(de)認(ren)識,對(dui)軟件工程標準規范有良好的(de)把握;
6:對.Net/JAVA技術(shu)及整個解(jie)決方案有深刻的理(li)解(jie)及熟(shu)練的應(ying)用,并(bing)且精通WebService/J2EE架(jia)構和設(she)計模式(shi),并(bing)在此基(ji)礎上設(she)計產品框架(jia);
7:具有面(mian)向對象分析(xi)、設計、開(kai)發能力(OOA、OOD、OOP),精通 UML 和(he) ROSE,熟練使用(yong) Rational Rose、PowerDesigner等工具進行設計開(kai)發;
8:精通(tong)大型(xing)數據庫(ku)如(ru)Oracle、Sql Server等的開發;
9:對計算(suan)機系統、網(wang)絡和(he)安全、應(ying)用(yong)系統架(jia)構等有全面的認識,熟悉項(xiang)目管理理論,并有實踐基礎;
10:在應(ying)用系統開發平臺和(he)項(xiang)目管理上有深厚的基礎,有大中型應(ying)用系統開發和(he)實(shi)施的成功案例;
11:良好(hao)的(de)團隊意(yi)識和協作精(jing)神(shen),有較(jiao)強的(de)內(nei)外溝(gou)通能力(li)。
系(xi)統構架(jia)師(shi)與產品經理的(de)關系(xi)及區(qu)別
產(chan)(chan)品(pin)經(jing)(jing)理(li)(li)(li)通常是(shi)(shi)指負責(ze)產(chan)(chan)品(pin)設計的(de)(de)“專人”。一個(ge)優秀的(de)(de)理(li)(li)(li)想的(de)(de)產(chan)(chan)品(pin)經(jing)(jing)理(li)(li)(li),應(ying)同(tong)時具備(bei)較高的(de)(de)商(shang)業(ye)(ye)素質(zhi)和(he)較強的(de)(de)技術(shu)背(bei)景。產(chan)(chan)品(pin)經(jing)(jing)理(li)(li)(li)要(yao)有深厚的(de)(de)領域(yu)經(jing)(jing)驗,也就(jiu)是(shi)(shi)說,對(dui)(dui)該軟件系(xi)(xi)統(tong)要(yao)應(ying)用(yong)到的(de)(de)業(ye)(ye)務領域(yu)非常之熟悉。比如,開(kai)發(fa)房地產(chan)(chan)銷售(shou)軟件的(de)(de)產(chan)(chan)品(pin)經(jing)(jing)理(li)(li)(li),應(ying)該對(dui)(dui)房地產(chan)(chan)公司的(de)(de)標準銷售(shou)流程了如指掌(zhang),甚至比大多數銷售(shou)人員還(huan)要(yao)清楚。如果開(kai)發(fa)的(de)(de)是(shi)(shi)通用(yong)產(chan)(chan)品(pin),他/她還(huan)具備(bei)對(dui)(dui)市場(chang)、潛在(zai)客戶需求的(de)(de)深刻洞察力。那么(me),系(xi)(xi)統(tong)架構(gou)師(shi)與產(chan)(chan)品(pin)經(jing)(jing)理(li)(li)(li)有什么(me)不(bu)同(tong)呢?我(wo)們不(bu)應(ying)該把(ba)二者(zhe)混為一談,這是(shi)(shi)不(bu)少論(lun)述和(he)實踐常犯的(de)(de)錯誤。我(wo)看(kan)來(lai),如果把(ba)開(kai)發(fa)軟件比作攝(she)制電影,產(chan)(chan)品(pin)經(jing)(jing)理(li)(li)(li)之于(yu)(yu)系(xi)(xi)統(tong)架構(gou)師(shi),就(jiu)正像編劇之于(yu)(yu)導(dao)演。產(chan)(chan)品(pin)經(jing)(jing)理(li)(li)(li)雖(sui)然要(yao)有一定(ding)技術(shu)背(bei)景,但仍(reng)應(ying)屬于(yu)(yu)“商(shang)業(ye)(ye)人士(business people)”,而系(xi)(xi)統(tong)架構(gou)師(shi)則(ze)肯(ken)定(ding)是(shi)(shi)一個(ge)技術(shu)專家。二者(zhe)看(kan)待問題的(de)(de)立場(chang)、角度和(he)出發(fa)點完全(quan)不(bu)同(tong)。
系統構(gou)架師與項目經(jing)理的關系及區(qu)別(bie)
軟(ruan)件項(xiang)(xiang)(xiang)目(mu)(mu)(mu)經(jing)理(li)(li)是(shi)(shi)(shi)(shi)指(zhi)對(dui)項(xiang)(xiang)(xiang)目(mu)(mu)(mu)控(kong)制/管(guan)(guan)理(li)(li),關(guan)注項(xiang)(xiang)(xiang)目(mu)(mu)(mu)本(ben)身(shen)的(de)(de)(de)(de)進度、質量(liang),分配(pei)、調動、協調、管(guan)(guan)理(li)(li)好人(ren)(ren)(ren)、財、物等資源的(de)(de)(de)(de)負(fu)責(ze)人(ren)(ren)(ren)。對(dui)于軟(ruan)件項(xiang)(xiang)(xiang)目(mu)(mu)(mu)經(jing)理(li)(li)來講,包(bao)括項(xiang)(xiang)(xiang)目(mu)(mu)(mu)計(ji)劃、進度跟蹤/監控(kong)、質量(liang)保證、配(pei)置/發(fa)(fa)(fa)布/版(ban)本(ben)/變(bian)更管(guan)(guan)理(li)(li)、人(ren)(ren)(ren)員(yuan)(yuan)(yuan)績(ji)效評(ping)估等方(fang)面(mian)。優秀的(de)(de)(de)(de)項(xiang)(xiang)(xiang)目(mu)(mu)(mu)經(jing)理(li)(li)需要的(de)(de)(de)(de)素質,并不僅在(zai)于會(hui)使用(yong)幾種(zhong)軟(ruan)件或是(shi)(shi)(shi)(shi)了解(jie)若(ruo)干抽(chou)象(xiang)的(de)(de)(de)(de)方(fang)法論(lun)原則(ze),更重要的(de)(de)(de)(de)在(zai)于從大(da)量(liang)項(xiang)(xiang)(xiang)目(mu)(mu)(mu)實(shi)踐中獲得(de)的(de)(de)(de)(de)寶貴經(jing)驗(yan),以及交流、協調、激勵的(de)(de)(de)(de)能力,甚至還應具備(bei)某(mou)種(zhong)個(ge)性魅力或領(ling)袖氣質(Charisma)。由此可見,項(xiang)(xiang)(xiang)目(mu)(mu)(mu)經(jing)理(li)(li)和(he)(he)系(xi)統架(jia)(jia)(jia)構(gou)(gou)師(shi)(shi)(shi)在(zai)職(zhi)責(ze)上(shang)有(you)很大(da)差異(yi)。混同這兩個(ge)角(jiao)色,往往也會(hui)導(dao)致(zhi)低效、無序的(de)(de)(de)(de)開(kai)發(fa)(fa)(fa)。特別(bie)是(shi)(shi)(shi)(shi),從性格(ge)因素上(shang)講,單純的(de)(de)(de)(de)技(ji)術人(ren)(ren)(ren)員(yuan)(yuan)(yuan)傾向于忽視(shi)“人(ren)(ren)(ren)”的(de)(de)(de)(de)因素,而(er)這正(zheng)是(shi)(shi)(shi)(shi)管(guan)(guan)理(li)(li)活動的(de)(de)(de)(de)一(yi)個(ge)主要方(fang)面(mian)。另(ling)外,就(jiu)像戰爭中的(de)(de)(de)(de)空軍掩護(Air Cover)一(yi)樣,專職(zhi)的(de)(de)(de)(de)項(xiang)(xiang)(xiang)目(mu)(mu)(mu)經(jing)理(li)(li)能夠應付開(kai)發(fa)(fa)(fa)過(guo)程中大(da)量(liang)的(de)(de)(de)(de)偶發(fa)(fa)(fa)事件和(he)(he)雜務,對(dui)于一(yi)個(ge)規模稍大(da)的(de)(de)(de)(de)項(xiang)(xiang)(xiang)目(mu)(mu)(mu),這些(xie)雜務本(ben)身(shen)就(jiu)能占用(yong)一(yi)個(ge)全職(zhi)工作(zuo)者(zhe)的(de)(de)(de)(de)幾乎(hu)全部時間。在(zai)一(yi)個(ge)項(xiang)(xiang)(xiang)目(mu)(mu)(mu)中,推(tui)動項(xiang)(xiang)(xiang)目(mu)(mu)(mu)發(fa)(fa)(fa)展的(de)(de)(de)(de)是(shi)(shi)(shi)(shi)系(xi)統構(gou)(gou)架(jia)(jia)(jia)師(shi)(shi)(shi),而(er)不是(shi)(shi)(shi)(shi)項(xiang)(xiang)(xiang)目(mu)(mu)(mu)經(jing)理(li)(li)。項(xiang)(xiang)(xiang)目(mu)(mu)(mu)經(jing)理(li)(li)的(de)(de)(de)(de)職(zhi)責(ze)只是(shi)(shi)(shi)(shi)配(pei)合系(xi)統構(gou)(gou)架(jia)(jia)(jia)師(shi)(shi)(shi),提供各個(ge)方(fang)面(mian)的(de)(de)(de)(de)支(zhi)持(chi)。主要職(zhi)責(ze)是(shi)(shi)(shi)(shi)與內外部溝通和(he)(he)管(guan)(guan)理(li)(li)資源(包(bao)括人(ren)(ren)(ren))。系(xi)統構(gou)(gou)架(jia)(jia)(jia)師(shi)(shi)(shi)提出系(xi)統的(de)(de)(de)(de)總體(ti)構(gou)(gou)架(jia)(jia)(jia),給出開(kai)發(fa)(fa)(fa)指(zhi)導(dao)。一(yi)個(ge)項(xiang)(xiang)(xiang)目(mu)(mu)(mu)中,項(xiang)(xiang)(xiang)目(mu)(mu)(mu)經(jing)理(li)(li)的(de)(de)(de)(de)角(jiao)色什么(me)?如果(guo)(guo)(guo)他即使管(guan)(guan)理(li)(li)人(ren)(ren)(ren)員(yuan)(yuan)(yuan)又是(shi)(shi)(shi)(shi)設(she)計(ji)人(ren)(ren)(ren)員(yuan)(yuan)(yuan),則(ze)必(bi)須比別(bie)人(ren)(ren)(ren)強,能夠有(you)讓別(bie)人(ren)(ren)(ren)服(fu)的(de)(de)(de)(de)東西。如果(guo)(guo)(guo)他只是(shi)(shi)(shi)(shi)項(xiang)(xiang)(xiang)目(mu)(mu)(mu)管(guan)(guan)理(li)(li)人(ren)(ren)(ren)員(yuan)(yuan)(yuan),系(xi)統構(gou)(gou)架(jia)(jia)(jia)師(shi)(shi)(shi)有(you)專門人(ren)(ren)(ren)員(yuan)(yuan)(yuan),就(jiu)可以不用(yong)精通或者(zhe)說了解(jie)it各個(ge)方(fang)面(mian)的(de)(de)(de)(de)知(zhi)識,如果(guo)(guo)(guo)了解(jie)更好。另(ling)外,如果(guo)(guo)(guo)在(zai)一(yi)個(ge)項(xiang)(xiang)(xiang)目(mu)(mu)(mu)沒有(you)人(ren)(ren)(ren)在(zai)技(ji)術構(gou)(gou)架(jia)(jia)(jia)上(shang)和(he)(he)開(kai)發(fa)(fa)(fa)指(zhi)導(dao)上(shang)負(fu)全部責(ze)任,而(er)是(shi)(shi)(shi)(shi)每個(ge)人(ren)(ren)(ren)都負(fu)責(ze)一(yi)快的(de)(de)(de)(de)架(jia)(jia)(jia)構(gou)(gou)、分析、設(she)計(ji)、代碼和(he)(he)實(shi)施等,最后肯(ken)定會(hui)失去管(guan)(guan)理(li)(li)。
系(xi)統構架師(shi)與(yu)系(xi)統分析師(shi)的關系(xi)及區別
系(xi)(xi)統(tong)(tong)分析(xi)(xi)師(System analyst)是指對(dui)(dui)系(xi)(xi)統(tong)(tong)開(kai)發(fa)中(zhong)進(jin)行(xing)業務需(xu)求分析(xi)(xi)、系(xi)(xi)統(tong)(tong)需(xu)求分析(xi)(xi)、可行(xing)性(xing)(xing)分析(xi)(xi)、業務建模和(he)指導項目開(kai)發(fa)的(de)(de)(de)人。系(xi)(xi)統(tong)(tong)分析(xi)(xi)師所面臨的(de)(de)(de)往往是有許多(duo)不確定(ding)性(xing)(xing)的(de)(de)(de)事件(jian),需(xu)要對(dui)(dui)這些不確定(ding)性(xing)(xing)的(de)(de)(de)事件(jian)進(jin)行(xing)分析(xi)(xi)、總結,使(shi)之得出(chu)一(yi)(yi)個(ge)相對(dui)(dui)可靠的(de)(de)(de)確定(ding)性(xing)(xing)結論或(huo)實(shi)施方案模型。一(yi)(yi)般意思上講(jiang),系(xi)(xi)統(tong)(tong)分析(xi)(xi)師的(de)(de)(de)水平將影響系(xi)(xi)統(tong)(tong)開(kai)發(fa)的(de)(de)(de)質量,甚至(zhi)成敗。但在一(yi)(yi)個(ge)完善(shan)的(de)(de)(de)系(xi)(xi)統(tong)(tong)開(kai)發(fa)隊伍(wu)中(zhong),還需(xu)要有業務專(zhuan)家(jia),技術專(zhuan)家(jia)和(he)其他輔(fu)助人員(yuan)。對(dui)(dui)于大型企業或(huo)者項目,如果一(yi)(yi)人承擔多(duo)個(ge)角(jiao)色,往往容易發(fa)生(sheng)顧此失彼的(de)(de)(de)現象。
系(xi)(xi)(xi)(xi)(xi)統(tong)(tong)分(fen)(fen)(fen)析師(shi)對(dui)業(ye)務(wu)系(xi)(xi)(xi)(xi)(xi)統(tong)(tong)進行分(fen)(fen)(fen)析、建模,他(ta)的任務(wu)、目標(biao)是明確(que)的。系(xi)(xi)(xi)(xi)(xi)統(tong)(tong)架構師(shi)協同(tong)系(xi)(xi)(xi)(xi)(xi)統(tong)(tong)分(fen)(fen)(fen)析師(shi)的工作,建議系(xi)(xi)(xi)(xi)(xi)統(tong)(tong)分(fen)(fen)(fen)析師(shi)按什么標(biao)準,什么工具(ju),什么模式,什么技(ji)(ji)(ji)術(shu)(shu)去思考系(xi)(xi)(xi)(xi)(xi)統(tong)(tong)。同(tong)時(shi),系(xi)(xi)(xi)(xi)(xi)統(tong)(tong)架構師(shi)應該對(dui)系(xi)(xi)(xi)(xi)(xi)統(tong)(tong)分(fen)(fen)(fen)析師(shi)所(suo)提(ti)出的問題(ti)(ti),碰到的難題(ti)(ti)及時(shi)地提(ti)出解決的方法。系(xi)(xi)(xi)(xi)(xi)統(tong)(tong)架構師(shi)在項(xiang)目中擔任技(ji)(ji)(ji)術(shu)(shu)骨(gu)干的角(jiao)色(se),負責(ze)技(ji)(ji)(ji)術(shu)(shu)實施中的重點技(ji)(ji)(ji)術(shu)(shu)問題(ti)(ti)攻關。同(tong)時(shi),又是系(xi)(xi)(xi)(xi)(xi)統(tong)(tong)分(fen)(fen)(fen)析師(shi)的技(ji)(ji)(ji)術(shu)(shu)顧問,為整個項(xiang)目的技(ji)(ji)(ji)術(shu)(shu)框(kuang)架與技(ji)(ji)(ji)術(shu)(shu)細節的展開和落實提(ti)供強(qiang)有力的技(ji)(ji)(ji)術(shu)(shu)保障。
優秀的(de)系(xi)統(tong)(tong)(tong)架(jia)(jia)(jia)構師(shi)是保(bao)證(zheng)軟件系(xi)統(tong)(tong)(tong)強大生命力的(de)核心人物。專業(ye)架(jia)(jia)(jia)構師(shi)能夠幫(bang)助(zhu)公(gong)司全(quan)面(mian)研(yan)究現有(you)架(jia)(jia)(jia)構和設(she)計(ji)(ji)模(mo)式(shi)、評估系(xi)統(tong)(tong)(tong)設(she)計(ji)(ji)的(de)優缺點和可(ke)能存在的(de)風險,通過一(yi)系(xi)列(lie)的(de)專題(ti)指導(dao)和具(ju)體案例幫(bang)助(zhu)公(gong)司掌(zhang)握先進的(de)、成熟的(de)設(she)計(ji)(ji)模(mo)式(shi),簡化復雜的(de)業(ye)務邏輯和需求,確定(ding)系(xi)統(tong)(tong)(tong)最適合法人方案。在必要的(de)情況下(xia),還可(ke)就特定(ding)領域(yu)或課題(ti),為開發人員提供定(ding)制指導(dao)。通過上面(mian)的(de)介(jie)紹,我(wo)們對系(xi)統(tong)(tong)(tong)構架(jia)(jia)(jia)師(shi)有(you)了的(de)較深刻的(de)認識,我(wo)們明白(bai)了系(xi)統(tong)(tong)(tong)構架(jia)(jia)(jia)師(shi)的(de)地位,作(zuo)用,工作(zuo)職責及任職條(tiao)件,同時還區別出與(yu)其他角(jiao)色的(de)不同,那(nei)么如(ru)何評估系(xi)統(tong)(tong)(tong)構架(jia)(jia)(jia)師(shi)的(de)工作(zuo)成績,
如何識別一個合(he)格的(de)(de)優秀的(de)(de)系(xi)統(tong)構架師是不難的(de)(de)。
具體來(lai)講,我們可以(yi)通(tong)過(guo)以(yi)下幾方面來(lai)評估(gu)系統構(gou)架師(shi)的工作成績:
1:系統構架師是否是某一技術領域的專家(jia);
2:系統構架師能(neng)否指(zhi)導分(fen)析員的(de)(de)設計工作,發現并(bing)指(zhi)出(chu)設計存(cun)在的(de)(de)問題并(bing)提(ti)出(chu)解決方法,評審他(ta)們的(de)(de)工作;
3:系統構架師能否指導軟件工(gong)程師進行開(kai)發(fa)工(gong)作,發(fa)現(xian)并指出編碼存(cun)在的(de)問題并提出解決方法,評審他們的(de)工(gong)作;
4:系統構架師能否(fou)協(xie)助好項(xiang)目經理制定項(xiang)目計劃和控(kong)制項(xiang)目進度;
5:系統構架師(shi)能(neng)否及時(shi)有效地(di)解(jie)決設計、開發人(ren)員所(suo)提出(chu)的問(wen)題,解(jie)決技術上的難題;
6:系統構架師能否制訂并(bing)規范系統設計和開發文檔、工(gong)具、模型(xing);能否讓其他人員容易理解;
7:系統(tong)構(gou)架師能(neng)否經常(chang)組織并帶領公(gong)司(si)內(nei)部員工研究(jiu)、學習與(yu)項目相(xiang)關的新技術;
8:系統構架師(shi)能否組(zu)織和管理好公(gong)司內部的技術培訓工作,技術研究(jiu)和公(gong)關工作;
9:系統構架師是否有良好的團隊(dui)意(yi)識和(he)協作精(jing)神,有較強的內(nei)外溝(gou)通能力;
10:系統構(gou)架師是否能(neng)管理好技(ji)術支(zhi)撐(cheng)團隊并(bing)給項目、產品(pin)開發實(shi)施團隊提供技(ji)術保(bao)障;
11:系統構(gou)(gou)架師所設計的系統架構(gou)(gou)是否合(he)理,技術是否先進,能否滿足客戶(hu)的要求;
12:系(xi)統(tong)構架是否有(you)擴展性(xing),安全性(xing),能否經受壓力測試,網絡流(liu)量在超用戶數下(xia)如(ru)何(he)控制;
13:系(xi)統邊界(jie)如何處理,瓶頸(jing)問題如何解決等;
14:系統(tong)設計前(qian)期、中期、后期所(suo)要解決的(de)問題,是(shi)否有(you)階段性,里程(cheng)碑的(de)標識;
15:是否有(you)分析(xi)、識(shi)別并盡可能地回(hui)避風險(xian),降(jiang)低風險(xian)所引發問(wen)題成本的能力;
16:能否給公司降低開發成本,提高效(xiao)率(lv);
系(xi)統架構師的(de)一般月薪范圍在(zai)20000-100000美元左右。系(xi)統架構師是(shi)軟(ruan)件項目的(de)總(zong)(zong)設(she)計師,是(shi)軟(ruan)件企業的(de)新產品、新技術體系(xi)的(de)構建者,是(shi)軟(ruan)件開發(fa)(fa)中急需的(de)高(gao)層次(ci)技術人(ren)才。其是(shi)由系(xi)統開發(fa)(fa)工程(cheng)師發(fa)(fa)展(zhan)(zhan)而來,可(ke)以向(xiang)研發(fa)(fa)總(zong)(zong)監,高(gao)級技術總(zong)(zong)監等高(gao)層次(ci)的(de)方向(xiang)發(fa)(fa)展(zhan)(zhan)。