軟體架構師主要是做什麼啊

2021-05-21 20:52:44 字數 4566 閱讀 2505

1樓:景田不是百歲山

軟體架構師是軟體行業中一種新興職業,工作職責是在一個軟體專案開發過程中,將客戶的需求轉換為規範的開發計劃及文字,並制定這個專案的總體架構,指導整個開發團隊完成這個計劃。主導系統全域性分析設計和實施、負責軟體構架和關鍵技術決策的人員。根據「第三屆中國軟體工程大會」的報告,在中國,未來五年,高階軟體人才需求缺口達20萬。

而每年自動成長起來的軟體架構師只有幾百人,可見市場需求的巨大。

2樓:改名就糾結

主要是管理與技術

兩方面的能力,管理與技術兩手都要硬,而技術是基礎。技術不行、退化了,那隻好做 *** 架構師、首席佈道師之類的。

技術能力

軟體架構師是一位具有一定技術、產品、專案和團隊等管理能力的高階程式設計師(程式設計高手),通常是一個開發團隊裡面技術最牛(或者比較牛)的少數幾個人之一。架構師自身的技術水平和管理水平不行,常常會把團隊帶溝裡,重要性可想而知。

成為架構師需要較長時間的一線開發經驗的積累。單純看工作年限,一般 3-5 年可成為初級架構師,5-8 年可成為中級架構師,8-10 年以上可成為高階軟體架構師,當然這只是大致的估計,具體達到何種水平還要看架構師的實際能力。

經年累月,摸爬滾打,一位優秀的軟體架構師需要掌握的技術能力很多,先說幾個最基本的。

建模軟體開發領域的建模能力,主要是指抽象的思考能力。

普通碼農通常用**思考,負責一個系統中的幾個小模組,所以思維常常侷限在低層(low-level)、戰術(tactic)的層面,考慮的基本上大多是某個功能、某個模組實現的具體細節與技巧。這是應該而且正常的,是團隊合理分工的結果。

而架構師,顧名思義,要負責整個系統的架構,尤其是涉及到一個系統(或子系統)全域性的整體設計,所以往往需要高層、上層(high-level)的戰略(strategic)層面的思考,這樣就必然需要架構師經常進行建模(modeling),對**、模組、子系統和系統中的各種靜態結構、關係和動態行為、互動等等進行抽象。所以,在架構師的日常工作中,經常看到各種各樣的圖表、圖形符號和模型,是很正常的。

可以說,不會建模,不習慣於用模型思考的程式設計師,是很難成為一名稱職的軟體架構師的。這裡不得不推薦一下動力節點,他們的教學方式和其他機構截然不同:

這裡以全棧教學為主,精通前段後端,程式設計思想,並且培養真實企業專案開發經驗

系統分析與設計

前面已經說了,系統分析與設計(system analysis and design)的主要技術手段是建模,兩者是高度重合的。

程式設計的四門功課

上圖畫的是任何軟體開發、軟體工程必然離不開的四門基本功課(四項基本活動或任務):

1、需求分析

2、設計實現

3、測試驗證

4、除錯糾錯

把這四項活動連起來正好組成一個菱形,所以我也把它們叫作「程式設計之鑽」(the programming diamond)。

這四門功課既可以看作是一個團隊在整個專案開發過程中所連續從事的必不可少的四項基本活動(團隊層面),也可以看作是一名程式設計師在日常開發中為了實現一個需求而需要完成的必不可少的四項基本任務(個體層面)。

從一個功能的需求分析,到程式設計、編碼實現,再到測試確認這個功能的完成,以及發現錯誤後進行除錯定位、**修改、設計重構或優化,再次進行測試和確認,通過後再選擇下一個需求進行分析,如此周而復始。。。這四個基本動作正好構成一個功能開發的小迴圈,也是每個程式設計師日常工作的標準核心動作。

那麼,為什麼普通碼農的開發不如程式設計高手,總是比別人慢,往往也不如別人的好?可能有許多種原因。有一個比較簡單的辦法能幫你找到開發的瓶頸:

評估一下以上這四項任務在你的日常開發中的時間佔比。

我這 20 年的觀察是,國內許多碼農的開發效率低、質量不高,是因為他們往往在 coding、debugging 上花去了大量時間(人稱 code-and-fix),而在「程式設計之鑽」的需求分析、自動測試、架構設計等其他幾個重要方面往往草草帶過,佔比明顯不平衡。

什麼原因?因為許多人不知道怎麼有效率、高質量地去做需求分析、自動測試、架構設計以及除錯除錯,以為只有 coding(程式語言的語法技巧和框架 api 如何使用等)最重要,忽視了其他的軟體工程關鍵實踐,於是導致個人整體的開發速度和質量降低,老是提不上去。

而這又是什麼原因造成的?因為一方面「軟體工程無用論」長期存在,加上浮躁和急功近利的社會風氣,影響了人們的觀念和意識,導致追求短平快、糙快猛;而另一方面僅通過大學短短的四年,常常很難全面、紮實地學到並掌握「程式設計之鑽」的關鍵技術,而工作以後又常常忙於加班應付、各種趕工期,缺少足夠的時間來學習提高自己的開發水平。

3樓:匿名使用者

你既然已經工作了,我覺得你就應該多少了解一點把,一般公司也都有架構師的存在呀。

架構師主要工作算是系統分析師,制定架構,以及開發時使用框架,類似於工程裡面的總設計師。

確認和評估系統需求,給出開發規範,搭建系統實現的核心構架,並澄清技術細節、掃清主要難點的技術人員。

要求你就必須從程式設計師轉型到架構師,可以看看一些架構師的書,其實最做的**於你平時的積累。對技術理解很透徹。另外就是對框架特別熟悉。當然這些都必須你擁有很豐富的專案經驗

4樓:匿名使用者

在**下面百科裡的介紹前,我先推薦一下動力節點這個學校,我本人亦是這裡畢業的,畢業後在公司從事物流系統架構^

軟體架構師是軟體行業中一種新興職業,工作職責是在一個軟體專案開發過程中,將客戶的需求轉換為規範的開發計劃及文字,並制定這個專案的總體架構,指導整個開發團隊完成這個計劃。主導系統全域性分析設計和實施、負責軟體構架和關鍵技術決策的人員

職業名稱

軟體架構師——(software architect)

優勢根據資訊產業部的有關檔案,高階人才匱乏是中國軟體產業當前發展最致命的阻礙因素之一,多數企業的高階職位一直空缺但招不到合適的人才。

高階職位的空缺,導致企業技術層次一直在低水平徘徊。而眾多低水平軟體開發人員讓中國大多數軟體企業陷於嚴重的低層次重複開發狀態,無法形成自己的產品研發和技術優勢,導致國內90%以上的軟體企業中的開發人員不到50人,所以很難發展壯大。

根據「第三屆中國軟體工程大會」的報告,在中國,未來五年,高階軟體人才需求缺口達20萬。而每年自動成長起來的軟體架構師只有幾百人,可見市場需求的巨大。

在如此形勢下,怎樣抓住機遇,快速適應新的形勢變化,快速提升職場競爭力,實現個人價值,是需要認真思考的事情。

能力要求

在技術全面、成熟練達、洞察力強、經驗豐富,具備在缺乏完整資訊、眾多問題交織一團、模糊和矛盾的情況下,軟體架構師能迅速抓住問題要害,並做出合理的關鍵決定的能力、具備戰略性和前瞻性思維能力,善於把握全域性,能夠在更高抽象級別上進行思考。主要包括如下:

⒈對專案開發涉及的所有問題領域都有經驗,包括徹底地理解專案需求,開展分析設計之類軟體工程活動等

⒉具備領導素質,以在各小組之間推進技術工作,並在專案壓力下做出牢靠的關鍵決策;

⒊擁有優秀的溝通能力,用以進行說服、鼓勵和指導等活動,並贏得專案成員的信任;

⒋以目標導向和主動的方式來不帶任何感**彩地關注專案結果,構架師應當是專案背後的技術推動力,而非構想者或夢想家(追求完美);

⒌精通構架設計的理論、實踐和工具,並掌握多種參考構架、主要的可重用構架機制和模式(例如j2ee架構等);

⒍具備系統設計員的所有技能,但涉及面更廣、抽象級別更高; 活動確定用例或需求的優先順序、進行構架分析、建立構架的概念驗證原型、評估構架的概念驗證原型的可行性、組織系統實施模型、描述系統分佈結構、描述執行時刻構架、確定設計機制、確定設計元素、合併已有設計元素、構架文件、參考構架、分析模型、設計模型、實施模型、部署模型、構架概念驗證原型、介面、事件、訊號與協議等。

主要任務

架構師的主要任務不是從事具體的軟體程式的編寫,而是從事更高層次的開發構架工作。他必須對開發技術非常瞭解,並且需要有良好的組織管理能力。可以這樣說,一個架構師工作的好壞決定了整個軟體開發專案的成敗。

⒈領導與協調整個專案中的技術活動(分析、設計和實施等)

⒉推動主要的技術決策,並最終表達為軟體構架

⒊確定和文件化系統的相對構架而言意義重大的方面,包括系統的需求、設計、實施和部署等「檢視」

⒋確定設計元素的分組以及這些主要分組之間的介面

⒌為技術決策提供規則,平衡各類涉眾的不同關注點,化解技術風險,並保證相關決定被有效的傳達和貫徹

⒍理解、評價並接收系統需求

⒎評價和確認軟體架構的實現 專業技能

5樓:戰略性轉移

工作職責是在一個軟體專案開發過程中,將客戶的需求轉換為規範的開發計劃及文字,並制定這個專案的總體架構,指導整個開發團隊完成這個計劃。主導系統全域性分析設計和實施、負責軟體構架和關鍵技術決策的人員。

根據資訊產業部的有關檔案,高階人才匱乏是中國軟體產業當前發展最致命的阻礙因素之一,多數企業的高階職位一直空缺但招不到合適的人才。

高階職位的空缺,導致企業技術層次一直在低水平徘徊。而眾多低水平軟體開發人員讓中國大多數軟體企業陷於嚴重的低層次重複開發狀態,無法形成自己的產品研發和技術優勢,導致國內90%以上的軟體企業中的開發人員不到50人,很難發展壯大。

根據「第三屆中國軟體工程大會」的報告,在中國,未來五年,高階軟體人才需求缺口達20萬。而每年自動成長起來的軟體架構師只有幾百人,可見市場需求的巨大。

在如此形勢下,怎樣抓住機遇,快速適應新的形勢變化,快速提升職場競爭力,實現個人價值,是需要認真思考的事情。

6樓:匿名使用者

溝通能力是最重要,最普遍的素質。想成為架

web前端開發工程師和軟體架構師哪個好

web前端開發要學會很多技術,不只是html css還有熟練掌握js及其框架,如果想有更深入的發展,還要學習js的理論,最好能開發自己的js框架,那就很牛了,至於軟體建構就是要熟練掌握html和css,相容各種瀏覽器,兩者的側重不同,要看自己擅長那個方面來決定做什麼。當然是軟體架構師了!跟工程師不是...

大資料架構師(NoSQL)是什麼職位

全域性bai的技術規劃 全域性技術規劃是專職du架構zhi師必須要做的工作,全域性技術規dao劃要能非常 內明確的指引整個團隊在同一容時間向同一個方向前進,這對架構師的心力和體力都是有很大的考驗,全域性規劃不僅要與業務緊密溝通,還必須有對應的技術深度和廣度,應採取正確的方 勇敢做出判斷和決策!統一的...

金蝶軟體的用途,金碟軟體主要是做什麼用途

你好,採臣。不曉得你找沒找到你的小倩。回到正題,金蝶軟體是做企業管理軟體的廠商,可以 為企業提供整體的解決方案,涉及企業運營管理的各個方面。從最基礎的 財務 採購 銷售 倉庫,到生產 成本。上些規模的企業還可以使用 辦公自動化 人力資源 商業智慧 移動商務 客戶關係管理 產品生命週期,企業風險預防 ...