標籤:
軟體架構系統的靈魂
一,軟體架構師,就是系統的總設計師。
二,架構師的工作職責是在一個軟體項目開發過程中,將客戶的需求轉換為規範的開發計劃及文本,並制定這個項目的總體架構,指導整個Team Dev完成這個計劃。
軟體架構師在整個軟體開發過程中都起著重要的作用,並隨著開發進程的推進而其職責或關注點不斷地變化,在需求階段,軟體架構師主要負責理解和管理非功能性系統需求,比如軟體的可維護性、效能、複用性、可靠性、有效性和可測試性等等。
此外,架構師還要經常審查和客戶及市場人員所提出的需求,確認Team Dev所提出的設計;在需求越來越明確後,架構師的關注點開始轉移到組織Team Dev成員和開發流程定義上;在軟體設計階段,架構師負責對整個軟體體繫結構、關鍵構件、介面和開發政策的設計;在編碼階段,架構師則成為詳細設計者和代碼編寫者的顧問,並且經常性地要舉行一些技術研討會、技術培訓班等;隨著軟體開始測試、整合和交付,整合和測試支援將成為軟體架構師的工作重點;在軟體維護開始時,軟體架構師就開始為下一版本的產品是否應該增加新的功能模組進行決策。
三, 架構師的分類:
1.架構師分為4種:
企業架構師EA(Enterprise Architect)
基礎結構架構師IA(Infrastructure Architect)
特定技術架構TSA(Technology-Specific Architect)
解決方案架構師SA (Solution Architect)。
2.比較簡單的分類方式,把架構師分為軟體架構師和系統架構師。
軟體架構師基本上是TSA+IA,比如JAVA架構師、DotNet架構師、LAPM架構師等等。
系統架構師實際上是SA+TSA,更著力於綜合運用已有的產品和技術,來實現客戶期望的需求。系統架構師要求通曉軟、硬體兩方面的知識,所以它的
知識體系相對龐雜。
四, 如何成為架構師:
首先必須具有豐富的軟體設計與開發經驗,這有助於理解並解釋所進行的設計是如何映射到實現中去。
其次要具有領導能力與團隊協作技能,軟體架構師必須是一個得到承認的技術領導,能在關鍵時候對技術的選擇作出及時、有效決定。
第三是具有很強的溝通協調能力。
另外,架構師應時刻注意新軟體設計和開發方面的發展情況,並不斷探索更有效新方法。開發語言、設計模式和開發平台不斷很快地升級。
參考:
http://www.cnblogs.com/cjrboy/articles/1127335.html
http://www.cnblogs.com/yeahcheung/archive/2011/04/18/2019771.html
軟體架構系統的靈魂