<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Cyh的博客

    Email:kissyan4916@163.com
    posts - 26, comments - 19, trackbacks - 0, articles - 220

    (轉)怎樣才是真正的架構師

    Posted on 2010-05-08 19:52 啥都寫點 閱讀(93) 評論(0)  編輯  收藏
    李偉

    李偉

    西門子中國中央研究院首席架構師、圖書《架構之美——軟件架構的藝術》作者李偉,從架構師的定義和內涵、能力和素質要求、成長途徑等方面向您闡述成為一個真正的架構師需要經歷的歷程。


    記者: 您認為具備哪些能力,才算是真正的架構師?

    李偉:雖然業界有關什么是“軟件架構”有著明確的定義及共識,但是確實沒有軟件架構師的定義。簡單地講,架構師是一個技術控制的角色。技術控制是從客戶或市場開始,一直到交付或服務的整個鏈條。如果大家對一個應用研發機構或產品研制機構的主要活動熟悉的話,就知道該鏈條上存在很多需要架構師負責的控制點。以西門子為例,西門子的戰略市場部門就會和業務部門的很多架構師進行協作。這主要是由于戰略市場部門的職能之一就是對未來十到十五年的技術和創新進行預判。這樣的技術預判,如果沒有架構師作為技術控制,單憑MBA出身的市場人員,大家能相信這樣的技術預判嗎?所以架構師需要具備一定程度的技術及創新預判能力。

    從一個架構師的日常工作來看,他面對的基本上有七大問題:商業問題、系統問題、子系統問題、構件問題、技術問題、流程問題、項目管理問題。其中,前五項是一個架構師主要負責解決的。這里我嘗試提幾個問題,讓大家檢驗一下自己是否具備解決這些問題的能力。

    如果進行企業應用開發,你知道經典的商業運營手段一般有哪些嗎?例如:公司中一般有哪些典型的職能機構?最經典的公司財務部運作是什么樣的?最經典的公司純研究機構的運作是什么樣的?或者,最經典的公司純銷售機構是怎樣運作的?

    如果你負責一個實時系統的架構,經典的架構構建步驟有幾步?一個醫學CT機系統應該用什么架構風格來構建?軍用艦艇上的3C系統又應該使用什么架構風格?除了我們都熟悉的MVC風格的架構,你還知道哪些架構風格?再具體一些,對于系統的并發問題,你知道業界流行的經典解決手段包括哪些?

    如果你負責子系統及構件設計,經典的設計步驟有幾步?分別又有哪些活動?除了你熟悉的Gang of Four的23個設計模式,你還知道什么設計實踐?再具體一些,設計中有關同步、事件、資源管理等,你知道哪些前人的最佳實踐呢?

    實踐工作中,我們遇到的現實是:盲目追隨業界通用框架,即對框架或中間件的嚴重依賴。這些框架或中間件背后實際隱藏了很多技術、設計、應用場景,也就是說為設計開發人員隱藏了很多系統設計開發的復雜性。如果架構師把各項系統級架構質量的要求,想當然統統扔給這些框架或中間件去處理,將會帶來災難性的后果。業界有這樣一句話:“框架或中間件是用來幫助你的,而不是代替你去思考和工作的。”所以我們必須根據現實的系統要求,自己動腦筋去構建適合現狀的軟件架構!

    簡而言之,架構師需要具備的能力=熟知最佳實踐+動腦靈活使用+技術及創新預判。


    記者: 在中國,一個程序員如何才能成長為一個職業架構師?

    李偉:曾經無意間讀過一篇紀事報告《最后的大師》。此文作者是應錢學森先生的邀請,來記錄自己的導師,清華大學物理系及清華大學創始人之一的葉企孫先生。葉先生早年在美國留學期間,在物理方面做出過杰出的貢獻。雖然大多數后人并不知道葉先生,但是他的學生沒有一個會忘記他,其中包括三錢、華羅庚、李政道、楊振寧等等。可以這樣說,你所知道的中國大師,大多都是他的學生。閱讀完此文,頗受啟發:真可謂“大師培養大師”。我非常欣賞這句話。

    如果身邊有大師,自然是從程序員成長為架構師的捷徑了。我身邊沒有大師,便選擇這樣的道路:認真反思自己這些年來的學習和實踐,并將其上升為智慧。畢竟,智慧既是指導我繼續工作的原始動力,也將指導自己未來的創新工作。因此,我選擇了閱讀、學習和思考。


    記者: 您認為在中國的軟件企業中,大家在普遍認識中對架構師這一職業有哪些誤區?

    李偉:誤區一,架構師與項目經理沒有區別。大家經常在談論架構師時,混淆了項目經理的職責和架構師的職能。項目經理要對人、流程、錢等內容負責。但是架構師主要是對技術負責。所以我個人不是很喜歡在談論系統架構時,過多的談論流程或管理。雖然我也是流程方面和管理方面的專家。

    誤區二,技術好的人就能成為架構師。其實,職業架構師與職業編程人員有著同樣重要的分量,只不過各自負責的工作內容及需要具備的能力各不相同。例如:架構師熟知如何將系統架構構建得適應系統后續國際化/本地化的工作;但是并不一定必須知道界面熱鍵在.NET下調用什么來實現。

    誤區三,架構師必須懂得業務領域的知識。從本質上來看,軟件架構本身就是在模仿人類大腦的問題思考和解決習慣。自然,專業架構師所掌握的知識就是解決那些反復出現的相似問題的最佳手段。所以,業界都知道這樣一個著名的故事:一個非航天專業的軟件架構人員,可以被美國國家航天局請去做航天系統的架構評審。這一點兒都不奇怪,因為他知道解決系統并發問題時,當今最經典的那么幾種手段,你能說航天系統的并發問題與企業應用并發問題本質上不一樣嗎?由于當前國內軟件研發的各種局限,很多軟件從業人員的認知還停留在“懂業務+技術好”就是架構師這樣的層面上。其實,懂得經典的解決方法,并能從實踐中抽象出理論或最佳實踐的人,才是架構人員的專業水平。


    記者: 在《架構之美——軟件架構的藝術》一書中,您認為最創新的理念有哪些?

    李偉:一個架構從創建、進化、老化到消亡的整個過程,是此書的核心。如同宇宙萬物,架構也存在一個生命周期的概念。即“架構生命周期(Architecture Lifecycle)”。

    怎樣才是一個真正意義上的軟件架構師?

    當面臨構建一個軟件架構時,應該采用怎樣的流程去工作呢?

    怎么做才能構建出滿意的高品質架構及設計呢?

    當我們階段性地完成了架構的構建,如何去評估結果呢?

    軟件產品在演化,軟件架構也會跟隨演化,如何應對這種變化?

    十年前開發的產品,架構文檔殘缺不全,設計人員已經離職,怎么把產品的架構從紛繁復雜的頭緒中清理出來呢?

    如果我們要研發十幾個功能相似的產品,該如何高效地工作呢?

    上述這些理念,基本上是一個職業架構人員所需具備的專業素養。奉獻給大家,以供參考。


    (本文來自《程序員》10年05期,更多精彩內容敬請關注10年05期雜志)



                                                                                                           --    學海無涯
            

    主站蜘蛛池模板: 国产成人精品无码免费看| 农村寡妇一级毛片免费看视频 | 亚洲成AV人片在线播放无码| 免费一级毛片在线播放视频免费观看永久| 久久久久久国产精品免费免费| 亚洲麻豆精品果冻传媒| 99久久综合精品免费| 亚洲综合久久成人69| 成人免费午夜无码视频 | 性色av极品无码专区亚洲| 成年在线网站免费观看无广告| 久久亚洲精品专区蓝色区| 色www永久免费视频| 亚洲高清一区二区三区电影| 免费看片A级毛片免费看| 久久亚洲精品无码gv| 亚洲av高清在线观看一区二区| 一区在线免费观看| 亚洲国产精品一区二区成人片国内| 免费无码一区二区三区| 亚洲剧场午夜在线观看| 免费电视剧在线观看| 美女裸体无遮挡免费视频网站| 亚洲一区二区三区自拍公司| 91福利视频免费观看| 国产午夜亚洲精品国产| 免费又黄又爽又猛的毛片| EEUSS影院WWW在线观看免费| 中文字幕亚洲综合久久2| 看全色黄大色大片免费久久| 一级做a爰片久久免费| 久久精品亚洲一区二区三区浴池| 手机在线毛片免费播放| 成人嫩草影院免费观看| 久久久久亚洲av无码专区蜜芽| 久久久久久久免费视频| 一级黄色免费网站| 亚洲一级毛片免费看| 亚洲人成电影网站国产精品| 国产h视频在线观看网站免费| 美女一级毛片免费观看|