架構師

一、架構師分類
IBM:        
助理架構師(Level 1)具備獨立架構考量能力、可在導師指導下完成一般的架構設計;
中級架構師(Level 2)可作爲架構師獨立完成一般項目的架構設計工作;
高級架構師(Level 3)可作爲獨立架構師完成複雜項目的架構設計工作,並深入某一特定領域,比如信息架構師、應用架構師、集成架構師和運維架構師等;
傑出架構師(Level 4)可作爲首席架構師帶領架構師團隊設計和交付大型複雜系統。

Microsoft:
企業架構師EA(Enterprise Architect)、
基礎結構架構師IA(Infrastructure Architect)、
特定技術架構TSA(Technology-Specific Architect)
解決方案架構師SA (Solution Architect)。

EA的職責是決定整個公司的技術路線和技術發展方向。蓋茨給自己的Title就是首席軟件架構師,網易丁磊也喜歡這麼稱呼自己,實際上就是EA角色;IA的工作就是提煉和優化技術方面積累和沉澱形成的基礎性的、公共的、可複用的框架和組件,這些都是一個技術型公司傳承下來的最寶貴的財富之一;特定技術架構師TSA,他們主要從事類似安全架構、存儲架構等專項技術的規劃和設計工作;SA的工作則專於解決方案的規劃和設計,“解決方案”這個詞在中國已經到了嚴重氾濫的程度,大忽悠們最喜歡把它掛在嘴邊。所謂解決方案,就是把產品、技術或理論,不斷地進行組合,來創造出滿足用戶需求的選擇。售前工程師一般都是帶着它到客戶那裏去發揮的。

二、架構師職責
架構師需要參與項目開發的全部過程,包括需求分析、架構設計、系統實現、集成、測試和部署各個階段,負責在整個項目中對技術活動和技術說明進行指導和協調。
1、確認需求
   在項目開發過程中,架構師是在需求規格說明書完成後介入的,需求規格說明書必須得到架構師的認可。架構師需要和分析人員反覆交流,以保證自己完整並準確地理解用戶需求。
2、系統分解
    依據用戶需求,架構師將系統整體分解爲更小的子系統和組件,從而形成不同的邏輯層或服務。隨後,架構師會確定各層的接口,層與層相互之間的關係。架構師不僅要對整個系統分層,進行“縱向”分解,還要對同一邏輯層分塊,進行“橫向”分解。
    軟件架構師的功力基本體現於此,這是一項相對複雜的工作。
3、技術選型
    架構師通過對系統的一系列的分解,最終形成了軟件的整體架構。技術選擇主要取決於軟件架構。
Web Server運行在Windows上還是Linux上?數據庫採用MSSql、Oracle還是Mysql?需要不需要採用MVC或者Spring等輕量級的框架?前端採用富客戶端還是瘦客戶端方式?類似的工作,都需要在這個階段提出,並進行評估。
架構師對產品和技術的選型僅僅限於評估,沒有決定權,最終的決定權歸項目經理。架構師提出的技術方案爲項目經理提供了重要的參考信息,項目經理會從項目預算、人力資源、時間進度等實際情況進行權衡,最終進行確認。

4、制定技術規格說明
    架構師在項目開發過程中,是技術權威。他需要協調所有的開發人員,與開發人員一直保持溝通,始終保證開發者依照它的架構意圖去實現各項功能。
    架構師與開發者溝通的最重要的形式是技術規格說明書,它可以是UML視圖、Word文檔,Visio文件等各種表現形式。通過架構師提供的技術規格說明書,保證開發者可以從不同角度去觀察、理解各自承擔的子系統或者模塊。
架構師不僅要保持與開發者的溝通,也需要與項目經理、需求分析員,甚至與最終用戶保持溝通。所以,對於架構師來講,不僅有技術方面的要求,還有人際交流方面的要求。

三、如何成爲
這就需要架構師的耐心和溝通能力了。在整個項目的開發過程中,架構師始終要保持與開發人員的溝通,苦口婆心地說,編碼規範的重要性。時間長了,開發人員養成了好的習慣,架構師也就省心了。

1、經驗是可以複製的,當您沒有這方面的人員時,最好請求專業或外援,並培養自己的人員,同時有吸收的學習。
2、架構師是整個團隊的技術領導,需要具備領導能力。
3、架構師需要較強的溝通能力,需要與項目的各個方面的人員進行溝通,與項目經理溝通,幫助項目經理制定合理的開發計劃;與需求分析員溝通,瞭解系統的關鍵需求和非功能性需求;與開發人員溝通,使得架構設計能夠被真正執行;另外還有與項目經理、物理架構負責人溝通等等。
4、架構師需要編寫代碼,這樣使自己積累更多的代碼經驗,加深理解設計模式,可以幫助自己對於整個項目更加熟悉,同時能夠回答開發人員在開發過程中出現的所有的問題,樹立個人威信。
5、架構師需要有較強的IT知識和廣博的知識面。IT的知識更新非常快,現在雲計算等的出現,必然要淘汰一部分架構師,因此,架構師要保持生命力,必須要不斷地學習。
6、架構師要懂業務知識。架構設計要滿足系統的需求。我雖然剛到公司不久,但由於之前積累了很多業務相關的知識,經過短期的學習,也掌握了業務知識。
7、不要怕做事情,我在整個系統的開發過程中,我的開發量是別人的三倍還多,但我收穫的,則也是三倍還多的經驗。

下一步的目標:
1、系統理論地學習架構知識,使得知識更加固化,以進一步使得架構設計更加科學和有調理;
2、通過廣泛地閱讀學習企業信息化的各個方面的知識,包括ERP,SCM,營銷管理,企業戰略,企業管理等,每年看書或閱讀文章至少100本或篇;
3、熟悉企業的業務流程,與企業不同層次的人員多多地進行交流,多學習,多溝通;
4、多交朋友,多向朋友學習與交流。

參照:
1、爲什麼架構設計需要方法論?
http://useway.blog.51cto.com/736087/789691
1、爲什麼你總成爲不了架構師?
http://useway.blog.51cto.com/736087/781149
2、架構師之路(3)---架構師的職責
http://wangzebin.blog.51cto.com/653300/135640
3、

發佈了354 篇原創文章 · 獲贊 8 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章