❶ 如果未來想從事系統分析師(SA)的工作,大學應該選擇什麼專業系統架構師呢
中國的抄大學計算機類的專業很襲多課程都是重疊的,所以只要是相關專業都會有所提及。像計算機科學與技術,計算機信息系統等等都沒問題。另外提醒一下,不用過早的定下系統分析師或者系統架構師的規劃。先把基礎打好了,再按自己的興趣決定方向,沒有人大學一畢業就可以做你說的這兩種工作的。從技術角度上來說,系統分析師更偏向於業務,系統架構師更注重技術。總而言之,如果想做架構師,技術基礎必須打好,像操作系統,資料庫,各種編程語言,編譯原理這種基礎課必須融匯貫通。再加上實際工作中的多年經驗累計才能實現你的目標。如果要做系統分析師需要側重業務流程管理類的學習,同時兼顧軟體基礎知識等。
❷ 軟體系統架構師必修內容是什麼
對於任何一個軟體開發人員來說,架構師都是一個令人嚮往的角色。就連世界首富比爾蓋茨在2000年卸任公司CEO的同時,也擔任了微軟公司的榮譽角色「首席軟體架構師」,可見「架構師」這一稱謂的吸引力。架構師是公司的「金領」,有著非常高的收入,很少需要考慮生存的問題,從而有更多的精力思考關鍵技術問題,形成「強者愈強」的良性循環。部分優秀的開發人員在工作了一定時間後,就要開始考慮自己的未來到底向哪個方向發展。如果開發人員的溝通能力強過技術能力,在補充一定的項目管理知識後,可以向技術管理的方向轉型。如果其對技術一直很感興趣,而溝通能力也不弱,則可以試著進一步加強技術修養,以期向架構師的方向發展,最終「修成正果」。
那麼,到底什麼是架構師呢?所謂的架構師,應該是一個技術企業的最高技術決策者。他主要負責公司軟體產品或軟體項目的技術路線與技術框架的制訂。好的架構師都是善良的獨裁者,具有很強的技術、良好的寫作能力、良好的口頭表達能力,能夠在各個層次進行溝通。從開發人員到架構師的成長應該是階梯式的,一般來講開發人員在剛剛開始工作時只能開發簡單的獨立軟體模塊,慢慢的隨著經驗的增長,他開始接觸一些相互之間有信息傳遞的模塊,而後來,他會發現自己接到的開發任務已經不是一個獨立的單體,這些任務由一些專門的軟體部分組成,可能包含資料庫,工作流引擎,消息服務等等各種功能模塊,可能分布在不同的伺服器上,所有的部分協同起來,完成軟體功能。而這時候,體系結構的好壞將直接決定了系統的性能和可擴展性,而就在這時候,這名優秀的開發人員也開始思考架構師應該思考的問題了,或者說,他向成長為架構師的道路邁出了一大步。
什麼是架構師最具價值的技能呢?就是要了解不同的知識,做一個「雜家」或者說「博學家」。當然,如果你的資料庫技術非常棒,或者你在工作流引擎方面具有不可超越的專家知識,那也是很不錯的。好的架構師有好多都是從專家成長過來的。但是,這不是架構師應該做的事情,架構師應該做的是了解所有的東西,既了解技術的宏觀面,又了解技術的細節。真正的架構師不僅僅要了解軟體,也要了解硬體,在關鍵的部位使用合適的硬體來取代軟體,可以成倍甚至成百倍的提高整個系統的效率。下面我將會以互聯網行業對的架構師的要求為例,向大家講解作為架構師應該具備的知識。
互聯網行業是當前最激動人心的行業之一,很多的創新都來自於這個行業,而每一個大型的網站如Google,Yahoo,Myspace等都需要解決一個非常復雜的問題,就是網站的分布式向外擴展(Scale Out)的問題。解決這個問題,需要最優秀的架構師對業務進行剖析,利用軟硬體將網站進行重構,甚至根據業務研發相應的分布式技術,解決網站復雜的分布式計算的問題。如果你想在這個行業中成為一名架構師的話,需要至少掌握網路知識,硬體,軟體,網站優化等方方面面的知識:
網路知識
當前的軟體已經絕對不是那種僅僅跑在一台單機上的孤立應用了。不僅僅是在互聯網行業,任何一個行業的軟體,都要求其具有網路功能。因此,網路知識是架構師必備的知識。我們所說的網路知識,不僅僅包括TCP/IP,http等互聯網行業常用的軟體協議,也包括網路規劃,甚至更具體的說,根據網站應用所處的地理環境進行網路規劃。比如人們常說:「這世界上最遠的距離不是生與死的距離,而是電信到網通的距離」(笑)如果應用是建立在中國的,就要考慮電信用戶和網通用戶訪問網站的速度應該都比較快才可以。這時候的解決方案可能有多種,比如採用CDN(Content Delivery Network內容分發網路)使得網站的內容發布到離用戶最近的伺服器,又可以採用把伺服器放在一些所謂的雙線機房中,甚至將幾種方案結合起來使用。這些都統統歸到網路知識中。做為公司的架構師,要對這些知識都有所了解,才有助於在遇到問題時找到最佳答案。
硬體知識
了解硬體的極限,是架構師的基本功。我見過一些人,他們的眼中軟體硬體都是沒有極限的,需要資源就申請,系統性能下降了就買更高級的設備。然而,硬體的性能有很大一部分取決於I/O設備。而這些I/O設備依靠的都是機械物理運動,這種運動是有極限的。因此當資源訪問量增大到一定的程度時,這種物理運動將成為瓶頸。比如說,在開發網站的過程中,記錄訪客的狀態是一件很重要的事情,一般來說可以使用HttpSession來記錄。而HttpSession的存儲問題將是一個很大的挑戰,尤其是多機共享Session時,將HttpSession存成文件並通過多機共享或網路備份的方式來解決分布式的問題是常用的方案,然而,架構師必須考慮到這種方案是有I/O極限限制的,很難擴展到超過一定規模的大型網路。同時,架構師應該了解目前最近的硬體發展是否對軟體系統會造成一定的影響,比如在多核的條件下是否對軟體編程有新的要求,是否會對運行在虛擬機和非虛擬機上的程序有影響等等。
軟體知識
軟體知識所包含的范圍就更加廣泛了。對於互聯網行業來講,架構師要了解操作系統,資料庫,應用伺服器等各方面的知識。比如說,如果網站使用的操作系統是Linux,就要了解這個Linux版本的性能與局限性,比如說最多可以存放的單個文件為多大。有的資料庫的數據是以單個文件來存放的,雖然我們很少見到資料庫中的數據多到不能再放入一條記錄的情況,但是作為架構師,請時刻注意,這種可能性是有的。而且如果你有幸在一家高速成長的互聯網企業中,而你所負責的應用又沒有經過優化的話,可能你會很快見到這種現象。這種現象的發生可能是由於操作系統不支持大文件的原因,也可能是資料庫不支持大文件。不論如何,架構師應該在這種現象發生之前就把一切都准備好。對資料庫中表的拆分是架構師應該遇到的另外一個困難。一般來說增加應用伺服器比較簡單而增加資料庫伺服器則是比較復雜的問題,如果一個站點由多個資料庫支持,架構師需要考慮如何在保證數據一致的情況下,讓多個資料庫分擔壓力。有些解決方案是將資料庫的讀寫分開,使得大多數的查詢sql不經過核心資料庫,而只是訪問資料庫的副本,但事實上,這種方式也只能維護規模不大的網站。對於大型的網站來說,把業務分散到不同的資料庫中,只共享必要的數據,才是合理的提高網站擴展性的解決方案。
其他知識
作為系統架構師,可能還需要對分布式系統,負載均衡,網路安全,數據監控等等各方面都有所了解。不僅僅是了解理論知識,也要對相關的產品和業界進展有一定的認識。比如說做負載均衡最好的產品是那種。目前最常用的備份策略是什麼,有什麼缺點。如何使用緩存,如何做好日誌分析等等。
剛剛談到的是架構師需要掌握的知識,然而,冰凍三尺非一日之寒。這個過程需要我們慢慢的積累。如果你已經進入到公司進行軟體開發,請時刻關注你所開發軟體的性能與可擴展性,而不僅僅局限在功能上,時刻想著任何一個簡單的問題:我開發的模塊如果放在多人並發的環境下會怎樣,慢慢的就會有所心得。如果你還是一個在校學生,不要想著自己離架構師這個職位還很遙遠。要知道,成為架構師的修煉之路是很長的,甚至可以說是終身的,因此早點進入學習狀態,不斷修煉自己。在學校期間學好離散數學,數據結構,操作系統,編譯原理,體系結構,資料庫原理等關鍵課程,並積極尋找機會到外面實習,增長自己的工作經驗。如果有機會去到一些技術主導的公司中工作,就一定不要放棄這種機會,慢慢就會成長起來。最重要的,你會養成關注技術,勤於思考的好習慣。當有一天你發現自己對任何技術難題都可以一眼看到其本質,並能夠將其分解為一個個可輕松解決的模塊,你會由衷的感覺到知識給你帶來的快樂,或許那一天,你已經是一個架構師了。
❸ 系統架構師有哪些崗位職責
1 確認需求
架構師要懂得用戶需求,理解用戶真正想要什麼,這使得架構師必須要和分析人員不斷溝通,反復確認需求規格說明書,以此來保證他精準清楚用戶需求。
項目經理劉先生在受訪時說:「架構師會與很多人溝通,例如開發人員,例如我們項目經理,有時甚至是用戶本身。架構設計的目的很明確,目的是什麼呢?挖掘用戶需求。」
2 系統分解
在架構師認可需求規格說明書後,架構師已明確用戶需求是是什麼,這時候便看架構師的分解能力了。
通過100offer入職的全棧技術架構師周先生從「縱向分解」和「橫向分解」和我們說明了系統分解是什麼——
「一般分為縱向分解和橫向分解,縱向分解是將整個系統分層,從而將整體系統分解成下一級的子系統與組件。橫向分解是在系統分解成不同的邏輯層或服務後,對邏輯層進行分塊,確定層與層之間的關系。」
3 技術選型
在系統分解後,架構師會最終形成軟體整體架構,接下來,架構師的職責是技術選型。
「前端到底用瘦客戶端還是富客戶端呢?資料庫是用MySQL還是MSSQL又或是Oracle呢?」架構師張先生在接受采訪時說,「在了解用戶需求後,分解完系統後,技術選型是非常重要的環節,提出各個方向,我再進行評估。不過,很多人都以為架構師是有決定權的,其實不是,架構師沒有拍版的權力,決定由項目經理來做。 」
架構師在技術選型階段會提供參考信息給項目經理,項目經理再從預算、進度、人力、資源等各方面情況來權衡,最終確認。
4 制定技術規格說明
如前文調查顯示,架構師在項目開發過程中是「靈魂人物」,並且要具備協調組織能力和懂得人員分工。
❹ 系統架構師是幹嘛的
系統抄架構師應能夠根據系統需襲求規格格說明書,結合應用領域和技術發展的實際情況,考慮有關約束條件,設計正確、合理的軟體架構,確保系統架構具有良好的特性;能夠對項目脾系統架構進行描述、分析、設計與評估;能夠按照相關標准編寫相應的設計文檔;能夠與系統分析師。項目管理師相互協作、配合工作;具有高級工程師的實際工作能力和業務水平。你可以去考下系統架構設計師考試,來了解它。希賽的系統架構師輔導做得不錯,你可以去看看。
❺ 系統架構師是干什麼的啊
屬於項目的高級分析、規劃、管理人員
系統架構師(System Architecture)系統架構師是負責設計版系統整體權架構,從需求到設計的每個細節都要考慮到,把握整個項目,使設計的項目盡量效率高,開發容易,維護方便,升級簡單等等。
全文見網路
http://ke..com/view/905154.htm?fr=ala0_1_1
❻ 系統集成架構師是做什麼的
系統集成工程師,又稱為系統集成項目管理工程師。是指進行資料庫的安裝和維護內、進行數據平台容的安裝、配置和使用,各種應用伺服器的安裝和配置的人員。
發展極大,這條路走下去 。
這個方向第一步是做linux運維工程師待遇就3000到4000 。
第2步做linux集群架構師 至少要2年才可以達到這步。薪水要6000+ 8000 左右 。
第3年恭喜了 如果你一直自強不息的學習 到了第3步 linux系統工程師 薪水至少8000+ ,一般1萬多。
系統集成工程師必須要會oracle DBA ,如果你感興趣 且足夠聰明和勤奮的話,光做dba的年薪就30萬+ (資料庫管理員要多難有多難)。
❼ java架構師主要是干什麼的
java架構師需要做六個方面的工作。
❽ 系統架構師需要掌握什麼技能
我是大一的學生,學嵌入式的,也曾想過畢業向架構是發展,但是我深入了內解這個行業後,認為一個容剛畢業的大學生是不可能的,估計要7-8年的工作經驗,原本我以為架構師把代碼寫好寫精就行,其實這只是一個方面,管理學,系統學,綜合能力,都涉及到,反正范圍很廣,是工程的總設計師,企業的靈魂,比如微軟的比爾蓋茨,他是軟體構架師出身,網易的丁磊好像也是,我個人覺得,如果真的練成一個系統構架師,其實他基本具備當公司CEO的能力,總之這個職業要把公司的大大小小事物了解到,現在的一些知名軟體企業,他們的創始人也絕對是一個優秀的構架師。
學哥,想從事的話只有花時間鍛煉了,普通架構師在公司里估計也是個准高層了。
❾ 系統架構師有沒有前途,待遇怎麼樣。
前途很好,對於走技術路線來說,這是一條靠譜的路,系統架構師向上再可以回升遷技術總監,答或者CTO,以至於公司副總。
不走技術路線的話,可以考慮適當轉型做項目經理或者銷售,如果你溝通能力強的話,這個是更佳的路線。
❿ 系統架構師是要從程序員做起嗎大學是學什麼專業應該怎麼做才能從一名程序員變為一名系統架構師
系統架構師,這個崗位。
大學沒有對應的專業。
一般大學計算機內或者軟體相關專業的同學,畢容業後,積累幾年的開發經驗加上個人技能,編程思維優秀,基本上就符合一名架構師的要求。
從一名普通的程序員到架構師,需要幾年的開發積累和寫代碼的歷練。
讓自己在技能上有了編程的獨特理解,能夠很好的構思一個系統或者軟體的架構。