軟件架(jia)構(gou)(gou)(gou)(gou)師(shi)是軟件行業中一種新興職(zhi)(zhi)業,工作(zuo)職(zhi)(zhi)責是在一個(ge)軟件項目(mu)開(kai)發過程中,將客戶的需求(qiu)轉換為(wei)規范的開(kai)發計(ji)劃及文(wen)本,并(bing)制定這個(ge)項目(mu)的總體架(jia)構(gou)(gou)(gou)(gou),指導整個(ge)開(kai)發團隊(dui)完成這個(ge)計(ji)劃。主導系統全局分(fen)析設(she)計(ji)與(yu)實施、負責軟件架(jia)構(gou)(gou)(gou)(gou)和(he)關鍵技術決策的人(ren)員。軟件架(jia)構(gou)(gou)(gou)(gou)師(shi)應能(neng)迅速抓住問題要害,并(bing)做出合理的關鍵決定的能(neng)力,具備戰略(lve)性(xing)和(he)前瞻(zhan)性(xing)思維能(neng)力,善于把握全局,能(neng)夠在更高(gao)抽象級別上進(jin)行思考。
(1)對項目開(kai)發涉及(ji)的所(suo)有問題(ti)領域都(dou)有經驗,包括徹底地理解項目需求,開(kai)展分析(xi)設計之(zhi)類軟件工程活(huo)動等;
(2)具備(bei)領導素質(zhi),以在(zai)各小組之(zhi)間推(tui)進技術工作,并在(zai)項目壓力下(xia)做(zuo)出(chu)牢靠的關鍵決策;
(3)擁有優(you)秀的溝通(tong)能力,用(yong)以進行說服、鼓勵和指導等活(huo)動,并贏得項目成員的信任;
(4)以目(mu)標導(dao)向和(he)主(zhu)動(dong)的方式來不帶任何感情色(se)彩地關注項目(mu)結果,構架師應當是項目(mu)背后(hou)的技術推動(dong)力,而非(fei)構想(xiang)者或(huo)夢想(xiang)家(追求(qiu)完(wan)美);
(5)精通構(gou)架(jia)(jia)設(she)計的理論、實踐和工具,并掌握(wo)多種參考(kao)構(gou)架(jia)(jia)、主要的可重用構(gou)架(jia)(jia)機制和模式(例如(ru)J2EE架(jia)(jia)構(gou)等);
(6)具備系統設計(ji)(ji)員的所(suo)有(you)技能,但涉(she)及面更廣、抽象級別更高;活動確(que)定用例或(huo)需求的優先(xian)級、進(jin)行構(gou)(gou)架(jia)(jia)分(fen)析(xi)、創建構(gou)(gou)架(jia)(jia)的概(gai)念(nian)驗證原(yuan)型、評估構(gou)(gou)架(jia)(jia)的概(gai)念(nian)驗證原(yuan)型的可行性、組織系統實(shi)施模(mo)型、描述系統分(fen)布結(jie)構(gou)(gou)、描述運(yun)行時刻構(gou)(gou)架(jia)(jia)、確(que)定設計(ji)(ji)機制、確(que)定設計(ji)(ji)元素(su)、合并已有(you)設計(ji)(ji)元素(su)、構(gou)(gou)架(jia)(jia)文檔、參考構(gou)(gou)部署模(mo)型、構(gou)(gou)架(jia)(jia)概(gai)念(nian)驗證原(yuan)型、接(jie)口、事(shi)件、信號與協議(yi)等。架(jia)(jia)、分(fen)析(xi)模(mo)型、設計(ji)(ji)模(mo)型、實(shi)施模(mo)型。
架構(gou)師的(de)主(zhu)要任務不是(shi)從事具體的(de)軟件程序的(de)編寫,而(er)是(shi)從事更高層次的(de)開(kai)發構(gou)架工作(zuo)。他必須(xu)對開(kai)發技術非常了(le)解,并且需要有良好(hao)(hao)的(de)組織管理能力(li)。可以這樣(yang)說(shuo),一個架構(gou)師工作(zuo)的(de)好(hao)(hao)壞(huai)決定了(le)整個軟件開(kai)發項目的(de)成敗。
1、領導(dao)與協調整個(ge)項目中的技(ji)術活動(dong)(分析(xi)、設(she)計和實施等)。
2、推動(dong)主要的技術決策,并最終表達為軟(ruan)件構架。
3、確定和(he)文檔(dang)化(hua)系統的(de)相對構架而(er)言意義重(zhong)大的(de)方面,包括系統的(de)需求、設計(ji)、實施和(he)部署等“視圖”。
4、確定設計元素的(de)分組(zu)以及這些主要分組(zu)之間的(de)接(jie)口。
5、為(wei)技術(shu)決策提供規則,平衡各類(lei)涉眾的不同關注(zhu)點,化(hua)解(jie)技術(shu)風險(xian),并保(bao)證相(xiang)關決定(ding)被有效的傳達和(he)貫徹(che)。
6、理解(jie)、評(ping)價(jia)并接收(shou)系(xi)統需求(qiu)。
7、評價(jia)和確認軟件(jian)架構的(de)實現(xian) 專業技能。
軟(ruan)(ruan)件(jian)架構(gou)(gou)師(shi)(shi)一般都是具備(bei)計算機科學或軟(ruan)(ruan)件(jian)工程(cheng)(cheng)(cheng)的(de)(de)知(zhi)識(shi),由(you)程(cheng)(cheng)(cheng)序員(yuan)做起,然后(hou)再慢慢發展(zhan)(zhan)為架構(gou)(gou)師(shi)(shi)的(de)(de)。在國內,很多(duo)大學還(huan)沒有設立(li)軟(ruan)(ruan)件(jian)架構(gou)(gou)的(de)(de)學位(wei)課(ke)程(cheng)(cheng)(cheng),雖然IT業界對設計和架構(gou)(gou)的(de)(de)興趣日漸高(gao)漲,但(dan)各學校(xiao)還(huan)是無法在課(ke)程(cheng)(cheng)(cheng)中增加相應(ying)的(de)(de)內容(rong)來(lai)體(ti)(ti)現這一趨勢。從(cong)這個方面來(lai)說(shuo),學校(xiao)教(jiao)育(yu)已經遠遠落后(hou)于產業發展(zhan)(zhan)。因此,促(cu)進(jin)和發展(zhan)(zhan)軟(ruan)(ruan)件(jian)架構(gou)(gou)學課(ke)程(cheng)(cheng)(cheng)的(de)(de)任務將(jiang)落在軟(ruan)(ruan)件(jian)架構(gou)(gou)師(shi)(shi)身上。軟(ruan)(ruan)件(jian)架構(gou)(gou)師(shi)(shi)應(ying)該幫助各大院校(xiao)建立(li)相關課(ke)程(cheng)(cheng)(cheng)體(ti)(ti)系,一旦教(jiao)育(yu)課(ke)程(cheng)(cheng)(cheng)建立(li)起來(lai),知(zhi)識(shi)體(ti)(ti)將(jiang)不僅(jin)通(tong)過新畢業生的(de)(de)工作成果來(lai)得到擴展(zhan)(zhan),同時也會從(cong)適合軟(ruan)(ruan)件(jian)架構(gou)(gou)的(de)(de)教(jiao)育(yu)研究和出版物中得到擴展(zhan)(zhan)。
雖然(ran)大學要加強軟(ruan)(ruan)(ruan)(ruan)件(jian)(jian)(jian)(jian)架(jia)(jia)構(gou)學課(ke)程的(de)(de)(de)(de)建設,但是(shi),軟(ruan)(ruan)(ruan)(ruan)件(jian)(jian)(jian)(jian)架(jia)(jia)構(gou)師(shi)的(de)(de)(de)(de)成長應(ying)該(gai)有一個實(shi)踐的(de)(de)(de)(de)教育過程,并不(bu)是(shi)簡單的(de)(de)(de)(de)學校的(de)(de)(de)(de)理(li)論學習(xi)或者通過大型(xing)軟(ruan)(ruan)(ruan)(ruan)件(jian)(jian)(jian)(jian)公司的(de)(de)(de)(de)認證就能成為(wei)合(he)格的(de)(de)(de)(de)軟(ruan)(ruan)(ruan)(ruan)件(jian)(jian)(jian)(jian)架(jia)(jia)構(gou)師(shi)。除了信息系統綜合(he)知識在學校學習(xi)外,軟(ruan)(ruan)(ruan)(ruan)件(jian)(jian)(jian)(jian)架(jia)(jia)構(gou)師(shi)的(de)(de)(de)(de)大部分(fen)知識和(he)經(jing)驗將來自實(shi)際開(kai)(kai)發工作。根據(ju)軟(ruan)(ruan)(ruan)(ruan)件(jian)(jian)(jian)(jian)架(jia)(jia)構(gou)師(shi)的(de)(de)(de)(de)任(ren)職條件(jian)(jian)(jian)(jian),一名合(he)格的(de)(de)(de)(de)軟(ruan)(ruan)(ruan)(ruan)件(jian)(jian)(jian)(jian)架(jia)(jia)構(gou)師(shi)的(de)(de)(de)(de)成長應(ying)該(gai)經(jing)歷8年以(yi)上的(de)(de)(de)(de)軟(ruan)(ruan)(ruan)(ruan)件(jian)(jian)(jian)(jian)項目開(kai)(kai)發實(shi)際工作經(jing)驗。一般(ban)需(xu)要經(jing)歷程序員(yuan)、軟(ruan)(ruan)(ruan)(ruan)件(jian)(jian)(jian)(jian)設計師(shi)等階段,然(ran)后再發展(zhan)成為(wei)軟(ruan)(ruan)(ruan)(ruan)件(jian)(jian)(jian)(jian)架(jia)(jia)構(gou)師(shi)。
當然,并(bing)不(bu)是每一(yi)位程序員(yuan)經過(guo)8年(nian)后都可以成(cheng)長為(wei)軟(ruan)件架(jia)構師(shi)(shi)的(de)(de)。一(yi)個(ge)軟(ruan)件工程師(shi)(shi)在(zai)充分(fen)掌握(wo)了(le)軟(ruan)件架(jia)構師(shi)(shi)工作所(suo)必需的(de)(de)基本(ben)理論和(he)技(ji)能(neng)后,如(ru)何(he)(he)得到和(he)利(li)用(yong)機會(hui)、如(ru)何(he)(he)利(li)用(yong)所(suo)掌握(wo)的(de)(de)技(ji)能(neng)進行(xing)應用(yong)系統的(de)(de)合(he)理架(jia)構、如(ru)何(he)(he)不(bu)斷的(de)(de)抽(chou)象和(he)總結自己的(de)(de)架(jia)構模式、如(ru)何(he)(he)深入行(xing)業(ye)成(cheng)為(wei)能(neng)夠勝(sheng)任分(fen)析(xi)、架(jia)構為(wei)一(yi)體的(de)(de)精英(ying)人才,這就在(zai)于機遇、個(ge)人的(de)(de)努力和(he)天賦了(le)。
國內軟件架(jia)構師的培(pei)養途徑(jing)主要有兩(liang)種(zhong)方式,一種(zhong)是(shi)大學(xue)(軟件學(xue)院)教育方式,另一種(zhong)是(shi)個人自我培(pei)養然后再進行相(xiang)應的培(pei)訓和認證。但是(shi),不管哪種(zhong)方式都有其不足之處。
軟(ruan)件(jian)(jian)學(xue)院(yuan)(yuan)的(de)(de)(de)(de)(de)培(pei)養(yang)方式能(neng)夠系統的(de)(de)(de)(de)(de)學(xue)習軟(ruan)件(jian)(jian)架(jia)構(gou)師必(bi)需的(de)(de)(de)(de)(de)知(zhi)識體系,但是(shi),軟(ruan)件(jian)(jian)架(jia)構(gou)師不是(shi)簡單的(de)(de)(de)(de)(de)通過理(li)(li)論學(xue)習就(jiu)能(neng)夠培(pei)養(yang)出來的(de)(de)(de)(de)(de),軟(ruan)件(jian)(jian)學(xue)院(yuan)(yuan)的(de)(de)(de)(de)(de)學(xue)生可能(neng)缺(que)乏必(bi)要(yao)的(de)(de)(de)(de)(de)設計(ji)、開發經驗和(he)相關(guan)的(de)(de)(de)(de)(de)領域知(zhi)識。盡管軟(ruan)件(jian)(jian)學(xue)院(yuan)(yuan)也強調(diao)給予(yu)學(xue)生實踐(jian)的(de)(de)(de)(de)(de)機會,但畢竟這(zhe)種機會是(shi)有(you)(you)限的(de)(de)(de)(de)(de)。有(you)(you)關(guan)“三分之一的(de)(de)(de)(de)(de)師資來自(zi)企業”的(de)(de)(de)(de)(de)規定,在部(bu)分軟(ruan)件(jian)(jian)學(xue)院(yuan)(yuan)中(zhong)也沒(mei)有(you)(you)得到真正落(luo)實,導致傳(chuan)授給學(xue)生的(de)(de)(de)(de)(de)還(huan)是(shi)一些純(chun)理(li)(li)論知(zhi)識。
自(zi)我培養方式的(de)(de)(de)(de)(de)(de)主要(yao)對象是(shi)具有(you)一定(ding)年限的(de)(de)(de)(de)(de)(de)軟件(jian)(jian)開發(fa)(fa)和(he)設計(ji)人員(yuan),如Microsoft、IBM、Sun等公(gong)司的(de)(de)(de)(de)(de)(de)軟件(jian)(jian)架(jia)構(gou)師(shi)認(ren)證對學(xue)員(yuan)的(de)(de)(de)(de)(de)(de)基礎并沒有(you)具體的(de)(de)(de)(de)(de)(de)要(yao)求(qiu),只(zhi)要(yao)交納規(gui)定(ding)的(de)(de)(de)(de)(de)(de)費用,然后進(jin)行幾(ji)(ji)天(tian)的(de)(de)(de)(de)(de)(de)集中(zhong)(zhong)(zhong)培訓,通過考(kao)(kao)試就發(fa)(fa)給學(xue)員(yuan)證書,甚至不(bu)需要(yao)考(kao)(kao)試就直接(jie)發(fa)(fa)放證書。這些開發(fa)(fa)人員(yuan)在自(zi)我培養的(de)(de)(de)(de)(de)(de)過程中(zhong)(zhong)(zhong)不(bu)一定(ding)能夠系統(tong)的(de)(de)(de)(de)(de)(de)學(xue)習軟件(jian)(jian)架(jia)構(gou)師(shi)的(de)(de)(de)(de)(de)(de)理(li)論知識(shi),他們(men)只(zhi)具有(you)一定(ding)的(de)(de)(de)(de)(de)(de)開發(fa)(fa)和(he)設計(ji)經驗,僅僅經過幾(ji)(ji)天(tian)的(de)(de)(de)(de)(de)(de)培訓,是(shi)不(bu)太可(ke)能培養出(chu)合格的(de)(de)(de)(de)(de)(de)軟件(jian)(jian)架(jia)構(gou)師(shi)的(de)(de)(de)(de)(de)(de)。而(er)且,作為某個廠商的(de)(de)(de)(de)(de)(de)培訓和(he)認(ren)證,其最(zui)終(zhong)目的(de)(de)(de)(de)(de)(de)是(shi)培育自(zi)己的(de)(de)(de)(de)(de)(de)市場,培養一批忠誠的(de)(de)(de)(de)(de)(de)用戶(hu),而(er)不(bu)是(shi)為中(zhong)(zhong)(zhong)國培養軟件(jian)(jian)架(jia)構(gou)師(shi)。因此,也(ye)存在很大的(de)(de)(de)(de)(de)(de)問題(ti)和(he)缺陷。
針(zhen)對軟(ruan)件(jian)架構師(shi)在軟(ruan)件(jian)組織中(zhong)的(de)(de)(de)作(zuo)用和其在國內(nei)的(de)(de)(de)培養(yang)現(xian)狀,有分析(xi)家認為(wei)有必要將軟(ruan)件(jian)架構師(shi)的(de)(de)(de)教(jiao)育(yu)、培訓(xun)和認證作(zuo)為(wei)發展民(min)族軟(ruan)件(jian)產(chan)業的(de)(de)(de)一個基(ji)本(ben)決策(ce),制定詳細的(de)(de)(de)軟(ruan)件(jian)架構師(shi)培養(yang)方(fang)(fang)案(an)。因此,提出以下一些關于(yu)軟(ruan)件(jian)架構師(shi)培養(yang)的(de)(de)(de)基(ji)該方(fang)(fang)法和途徑(jing)。
⑴確(que)定(ding)軟(ruan)件架構師在軟(ruan)件組織中(zhong)的(de)(de)職責和充當的(de)(de)角色,確(que)定(ding)其相(xiang)應的(de)(de)必須具備的(de)(de)知識體(ti)系,確(que)定(ding)軟(ruan)件架構師的(de)(de)職業及其相(xiang)關制度,制定(ding)軟(ruan)件架構師的(de)(de)培養(yang)目(mu)標和培養(yang)方案。
⑵堅持以(yi)(yi)大學教(jiao)(jiao)育為主(特別(bie)是各(ge)軟件(jian)(jian)學院在這(zhe)方面可以(yi)(yi)大施身手),以(yi)(yi)項目實(shi)踐為輔的教(jiao)(jiao)育方針。大學可以(yi)(yi)聘請現有的軟件(jian)(jian)架構(gou)師擔(dan)任核心課程的講師,通(tong)(tong)過學校教(jiao)(jiao)育,系(xi)統(tong)學習軟件(jian)(jian)架構(gou)師所必需(xu)的知(zhi)識體系(xi);通(tong)(tong)過項目實(shi)踐使(shi)其(qi)具有初(chu)步的軟件(jian)(jian)開發和設計(ji)經驗,逐步成長為一名合格的軟件(jian)(jian)架構(gou)師。
⑶作位第2條的(de)(de)補充,聘請現有的(de)(de)軟件架構師,個人認為適合以(yi)講座的(de)(de)形式在學校開展。
⑷對國外(wai)一些(xie)大公(gong)司的(de)(de)軟(ruan)件架構師的(de)(de)培訓和(he)認(ren)(ren)證(zheng)予以支持,但是在(zai)認(ren)(ren)證(zheng)的(de)(de)過(guo)程中必須堅持符合中國實(shi)際情況(kuang)的(de)(de)原則。例如,在(zai)認(ren)(ren)證(zheng)考試之前對考生的(de)(de)知識(shi)體系進行系統的(de)(de)測試和(he)評估,在(zai)通(tong)過(guo)認(ren)(ren)證(zheng)后(hou)的(de)(de)適當時間(jian)內進行重新認(ren)(ren)證(zheng)和(he)繼續(xu)教(jiao)育。
⑸建立完善的(de)(de)軟(ruan)件架構(gou)(gou)師(shi)教育和(he)認證制度(du),使(shi)得通過認證的(de)(de)人員能(neng)夠在實際(ji)的(de)(de)軟(ruan)件開發中成為稱職的(de)(de)和(he)優秀(xiu)的(de)(de)軟(ruan)件架構(gou)(gou)師(shi)。并通過此制度(du)能(neng)夠為國(guo)家培養(yang)出更(geng)多、更(geng)優秀(xiu)的(de)(de)軟(ruan)件架構(gou)(gou)師(shi),解決當前軟(ruan)件架構(gou)(gou)師(shi)急缺(que)問題(ti)。
好的(de)(de)(de)(de)軟(ruan)件(jian)(jian)(jian)(jian)架構師不只是一(yi)位受到尊敬的(de)(de)(de)(de)資深技術人(ren)員,通(tong)常也是策略制定和(he)組織協(xie)調的(de)(de)(de)(de)高手,稱(cheng)職的(de)(de)(de)(de)顧問與(yu)領(ling)(ling)導者。這(zhe)是因(yin)為軟(ruan)件(jian)(jian)(jian)(jian)架構規劃與(yu)設(she)計主(zhu)要是以(yi)宏(hong)(hong)觀(guan)的(de)(de)(de)(de)角度切(qie)入(ru)系(xi)統架構,一(yi)般所(suo)謂的(de)(de)(de)(de)設(she)計則(ze)是以(yi)微(wei)(wei)觀(guan)的(de)(de)(de)(de)角度切(qie)入(ru)。軟(ruan)件(jian)(jian)(jian)(jian)工程師和(he)程序員所(suo)考慮的(de)(de)(de)(de)是單個構件(jian)(jian)(jian)(jian)的(de)(de)(de)(de)功能,而軟(ruan)件(jian)(jian)(jian)(jian)架構師必須從(cong)全局的(de)(de)(de)(de)角度理解軟(ruan)件(jian)(jian)(jian)(jian)項(xiang)目的(de)(de)(de)(de)業務(wu)目的(de)(de)(de)(de)和(he)期望(wang)結果,能夠定義不同的(de)(de)(de)(de)構件(jian)(jian)(jian)(jian)是如(ru)(ru)何(he)組裝在一(yi)起的(de)(de)(de)(de)。軟(ruan)件(jian)(jian)(jian)(jian)架構師規劃系(xi)統的(de)(de)(de)(de)角度主(zhu)要是從(cong)自上(shang)而下的(de)(de)(de)(de)方式著手,而軟(ruan)件(jian)(jian)(jian)(jian)設(she)計師則(ze)多半從(cong)自下而上(shang)的(de)(de)(de)(de)方式著手。這(zhe)種(zhong)從(cong)宏(hong)(hong)觀(guan)/微(wei)(wei)觀(guan)的(de)(de)(de)(de)角度進行劃分,在其(qi)他學科也常看見,如(ru)(ru)宏(hong)(hong)觀(guan)經濟(ji)(ji)學與(yu)微(wei)(wei)觀(guan)經濟(ji)(ji)學等。這(zhe)種(zhong)宏(hong)(hong)觀(guan)角度的(de)(de)(de)(de)本質,就是軟(ruan)件(jian)(jian)(jian)(jian)架構師專(zhuan)業領(ling)(ling)域與(yu)其(qi)他軟(ruan)件(jian)(jian)(jian)(jian)開發人(ren)員最(zui)根本的(de)(de)(de)(de)區別。
從宏(hong)觀(guan)的(de)(de)(de)(de)角(jiao)度(du),舉(ju)凡(fan)架構(gou)(gou)(gou)規格(ge)與(yu)決策(ce)、排定架構(gou)(gou)(gou)審閱時程(cheng)、解決所有架構(gou)(gou)(gou)相(xiang)關(guan)的(de)(de)(de)(de)問題、所有主要技術決策(ce)的(de)(de)(de)(de)核(he)準、維護架構(gou)(gou)(gou)規格(ge)等都是(shi)架構(gou)(gou)(gou)設計(ji)的(de)(de)(de)(de)主要工作。通(tong)常在項(xiang)目(mu)一開始,需求(qiu)與(yu)初(chu)始分析等工作流程(cheng)會產(chan)生規劃的(de)(de)(de)(de)企業流程(cheng)與(yu)預期系(xi)統(tong)(tong)完成的(de)(de)(de)(de)功能(neng)(neng)(neng)。有了這些信息,軟件(jian)架構(gou)(gou)(gou)師(shi)就(jiu)能(neng)(neng)(neng)草擬(ni)最初(chu)的(de)(de)(de)(de)高層(ceng)架構(gou)(gou)(gou)藍圖,并列出影晌架構(gou)(gou)(gou)的(de)(de)(de)(de)可能(neng)(neng)(neng)的(de)(de)(de)(de)因素清單。另外,軟件(jian)架構(gou)(gou)(gou)師(shi)也要擔負(fu)估算(suan)項(xiang)目(mu)成本(ben)的(de)(de)(de)(de)職責,評(ping)估項(xiang)目(mu)計(ji)劃對(dui)系(xi)統(tong)(tong)既有基(ji)礎結(jie)構(gou)(gou)(gou)與(yu)架構(gou)(gou)(gou)的(de)(de)(de)(de)沖擊,以及計(ji)算(suan)可能(neng)(neng)(neng)付出的(de)(de)(de)(de)成本(ben)與(yu)所帶來的(de)(de)(de)(de)效(xiao)益(yi)。
除了上(shang)述任(ren)務以(yi)外(wai),檢(jian)查(cha)初(chu)期架(jia)(jia)構(gou)規(gui)劃設計(ji)、影響因素(su)與(yu)(yu)成(cheng)本,維(wei)持與(yu)(yu)組織架(jia)(jia)構(gou)決策(ce)的(de)一致性(xing)也是(shi)架(jia)(jia)構(gou)設計(ji)師的(de)重(zhong)要(yao)(yao)職責之一。這(zhe)通常要(yao)(yao)找(zhao)出(chu)制(zhi)定項(xiang)目(mu)的(de)架(jia)(jia)構(gou)決策(ce)與(yu)(yu)其優先(xian)級的(de)判斷(duan)基準、定義問題領域(yu)、決定可能解決方案的(de)制(zhi)約(yue)條(tiao)件(jian)(jian)、確認(ren)有關(guan)可能解決方法的(de)假(jia)設狀況以(yi)及(ji)辨(bian)識模(mo)塊(kuai)重(zhong)用(yong)的(de)可能性(xing)。軟件(jian)(jian)架(jia)(jia)構(gou)師也必須(xu)負(fu)責確保(bao)需求的(de)達(da)成(cheng),以(yi)及(ji)硬(ying)件(jian)(jian)、軟件(jian)(jian)、基礎結構(gou)、性(xing)能、安(an)全性(xing)、容量、可用(yong)性(xing)和系統運(yun)行、管理與(yu)(yu)維(wei)護等屬于(yu)系統層次相關(guan)技術之間的(de)協調(diao)(diao)與(yu)(yu)平衡(heng)。在某些關(guan)鍵時刻,軟件(jian)(jian)架(jia)(jia)構(gou)師也要(yao)(yao)做出(chu)系統與(yu)(yu)架(jia)(jia)構(gou)在協調(diao)(diao)、平衡(heng)上(shang)種種必須(xu)當機立斷(duan)但又很難判斷(duan)的(de)決策(ce)。
軟件(jian)架(jia)構(gou)(gou)(gou)師(shi)(shi)必須(xu)設(she)法(fa)降低可(ke)(ke)能的(de)(de)技術(shu)風險對系(xi)(xi)統(tong)的(de)(de)沖擊。在規劃初期,技術(shu)風險對一般人(ren)(ren)來(lai)說通常(chang)都是不可(ke)(ke)知、不可(ke)(ke)驗證也不可(ke)(ke)測的(de)(de)。風險大多與(yu)系(xi)(xi)統(tong)層次的(de)(de)需求有(you)(you)關,有(you)(you)時(shi)也會與(yu)組織需求有(you)(you)關。不論(lun)任何類型的(de)(de)風險,有(you)(you)經驗的(de)(de)架(jia)構(gou)(gou)(gou)設(she)計(ji)(ji)師(shi)(shi)都可(ke)(ke)在項目的(de)(de)先期也就是構(gou)(gou)(gou)建(jian)架(jia)構(gou)(gou)(gou)時(shi)期,預先列出(chu)這(zhe)些可(ke)(ke)能的(de)(de)風險,然后在后續的(de)(de)開發時(shi)期配合(he)開發人(ren)(ren)員(yuan)予以適當(dang)地(di)處理與(yu)解決。另外,架(jia)構(gou)(gou)(gou)設(she)計(ji)(ji)師(shi)(shi)也必須(xu)領導開發團隊,保(bao)持與(yu)其他成員(yuan)的(de)(de)良好互動,確保(bao)開發人(ren)(ren)員(yuan)是根據架(jia)構(gou)(gou)(gou)藍圖來(lai)構(gou)(gou)(gou)建(jian)系(xi)(xi)統(tong)。
總之,軟件(jian)架構(gou)師的(de)(de)(de)(de)主要任務就是(shi)規劃與(yu)系(xi)統(tong)架構(gou)層次(ci)相(xiang)關(guan)的(de)(de)(de)(de)事務,評估可能的(de)(de)(de)(de)風險與(yu)成本,并有(you)效(xiao)運用有(you)限(xian)的(de)(de)(de)(de)人力、物(wu)力資源滿足系(xi)統(tong)層次(ci)的(de)(de)(de)(de)需求。優(you)秀的(de)(de)(de)(de)軟件(jian)架構(gou)師是(shi)保(bao)證軟件(jian)系(xi)統(tong)強大生命(ming)力的(de)(de)(de)(de)核心人物(wu)。專業(ye)架構(gou)師能夠(gou)幫助組織(zhi)(zhi)全(quan)面研究(jiu)現(xian)有(you)架構(gou)和(he)設計模式(shi)(shi)、評估系(xi)統(tong)設計的(de)(de)(de)(de)優(you)缺點和(he)可能存在的(de)(de)(de)(de)風險,通過一系(xi)列的(de)(de)(de)(de)專題指(zhi)導和(he)具體案(an)(an)例幫助組織(zhi)(zhi)掌握先進的(de)(de)(de)(de)、成熟的(de)(de)(de)(de)設計模式(shi)(shi),簡化復雜的(de)(de)(de)(de)業(ye)務邏輯和(he)需求,確定(ding)系(xi)統(tong)最佳方案(an)(an)。在必要的(de)(de)(de)(de)情況下,還(huan)可就特定(ding)領(ling)域(yu)或課題,為開發(fa)人員提供定(ding)制指(zhi)導。