系統架構師(詳解+轉)

架構師負責理解系統的業務需求,並創建合理、完善的系統體系架構。架構師也負責通過軟件架構來決定主要的技術選擇。這典型的包括識別和文檔化系統的重要架構方面,包括系統的需求、設計、實現和部署"視圖"。

 

職責

  • 負責公司系統的架構設計、研發工作;
  • 承擔從業務向技術轉換的橋樑作用;
  • 協助項目經理制定項目計劃和控制項目進度;
  • 負責輔助並指導 SA 開展設計工作;
  • 負責組織技術研究和攻關工作;
  • 負責組織和管理公司內部的技術培訓工作;sss
  • 負責組織及帶領公司內部員工研究與項目相關的新技術;
  • 管理技術支撐團隊並給項目、產品開發實施團隊提供技術保障。

應該具備能力

  • 具備 8 年以上軟件行業工作經驗;
  • 具備 4 年以上 C/S 或 B/S 體系結構軟件產品開發及架構和設計經驗;
  • 具備 3 年以上的代碼編寫工作經驗;
  • 具備豐富的大中型開發項目的總體規劃、方案設計及技術隊伍管理經驗;
  • 對相關的技術標準有深刻的認識,對軟件工程標準規範有良好的把握;
  • 對相關編程技術(如PHP/.Net/JAVA)及整個解決方案有深刻的理解及熟練的應用 , 並且精通架構和設計模式(如WebService/J2EE),並在此基礎上設計產品框架;
  • 具有面向對象分析、設計、開發能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟練使用 Rational Rose、PowerDesigner 等工具進行設計開發;
  • 精通大型數據庫如 Oracle、Sql Server、MySQL 等的開發;
  • 對計算機系統、網絡和安全、應用系統架構等有全面的認識,熟悉項目管理理論,並有實踐基礎;
  • 在應用系統開發平臺和項目管理上有深厚的基礎,有大中型應用系統開發和實施的成功案例;
  • 良好的團隊意識和協作精神,有較強的內外溝通能力。

與其他角色的關係及區別

項產品經理通常是指負責產品設計的“專人”。一個優秀的理想的產品經理,應同時具備較高的商業素質和較強的技術背景。產品經理要有深厚的領域經驗,也就是說,對該軟件系統要應用到的業務領域非常之熟悉。比如,開發房地產銷售軟件的產品經理,應該對房地產公司的標準銷售流程瞭如指掌,甚至比大多數銷售人員還要清楚。如果開發的是通用產品,他/她還具備對市場、潛在客戶需求的深刻洞察力。
那麼,系統架構師與產品經理有什麼不同呢?我們不應該把二者混爲一談,這是不少論述和實踐常犯的錯誤。我看來,如果把開發軟件比作攝製電影,產品經理之於系統架構師,就正像編劇之於導演。產品經理雖然要有一定技術背景,但仍應屬於“商業人士(business people)”,而系統架構師則肯定是一個技術專家。二者看待問題的立場、角度和出發點完全不同。
軟件項目經理是指對項目控制/管理,關注項目本身的進度、質量,分配、調動、協調、管理好人、財、物等資源的負責人。對於軟件項目經理來講,包括項目計劃、進度跟蹤/監控、質量保證、配置/發佈/版本/變更管理、人員績效評估等方面。優秀的項目經理需要的素質,並不僅在於會使用幾種軟件或是瞭解若干抽象的方法論原則,更重要的在於從大量項目實踐中獲得的寶貴經驗,以及交流、協調、激勵的能力,甚至還應具備某種個性魅力或領袖氣質(Charisma)。
從性格因素上講,單純的技術人員傾向於忽視“人”的因素,而這正是管理活動的一個主要方面。項目經理能夠應付開發過程中大量的偶發事件和雜務。
在一個項目中,推動項目發展的是系統構架師,而不是項目經理。項目經理的職責只是配合系統構架師,提供各個方面的支持。主要職責是與內外部溝通和管理資源(包括人)。系統構架師提出系統的總體構架,給出開發指導。
系統分析師(System analyst)是指對系統開發中進行分析、設計和領導實施的人。一般意思上講,系統分析師的水平將影響系統開發的質量,甚至成敗。但在一個完善的系統開發隊伍中,還需要有業務專家,技術專家和其他輔助人員。所以,系統分析師只是其中的角色之一。但我國許多的 IT 公司,一般只有系統分析師而沒有技術專家。
系統分析師固然是對特定系統進行分析、設計。所以他的任務、目標是明確的。他只是去執行任務,完成系統的最終設計。
系統架構師應該和系統分析師分開,但架構師必須具備系統分析師的所有能力,同時還應該具備設計員所沒有的很多能力。
系統架構師是指導、檢督系統分析師的工作,要求系統分析師按什麼標準,什麼工具,什麼模式,什麼技術去設計系統的。同時,系統架構師應該對系統分析師所提出的問題,碰到的難題及時地提出解決的方法。並檢查、評審系統分析師的工作。

評估系統構架師

  • 系統構架師是否是某一技術領域的專家;
  • 系統構架師能否指導系統分析師的設計工作,發現並指出設計存在的問題並提出解決方法,評審他們的工作;
  • 系統構架師能否指導軟件工程師進行開發工作,發現並指出編碼存在的問題並提出解決方法,評審他們的工作;
  • 系統構架師能否協助好項目經理制定項目計劃和控制項目進度;
  • 系統構架師能否及時有效地解決設計、開發人員所提出的問題,解決技術上的難題;
  • 系統構架師能否制訂並規範系統設計和開發文檔、工具、模型;能否讓其他人員容易理解;
  • 系統構架師能否經常組織並帶領公司內部員工研究、學習與項目相關的新技術;
  • 系統構架師能否組織和管理好公司內部的技術培訓工作,技術研究和攻關工作;
  • 系統構架師能否組織和管理好公司內部的技術培訓工作,技術研究和攻關工作;
  • 系統構架師是否有良好的團隊意識和協作精神,有較強的內外溝通能力;
  • 系統構架師是否能管理好技術支撐團隊並給項目、產品開發實施團隊提供技術保障;
  • 系統構架師所設計的系統架構是否合理,技術是否先進,能否滿足客戶的要求;
  • 系統構架是否有擴展性,安全性,能否經受壓力測試,網絡流量在超用戶數下如何控制;系統邊界如何處理,瓶頸問題如何解決等;
  • 系統設計前期、中期、後期所要解決的問題,是否有階段性,里程碑的標識;
  • 是否有分析、識別並儘可能地迴避風險,降低風險所引發問題成本的能力;
  • 能否給公司降低開發成本,提高效率;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章