① 系統架構師和軟體架構師區別
是一個完全不同的概念,網路架構是整個網路的分布情況,比如全世界的互聯網,它是由一個一個地區的互聯網相互連接起來的。軟體架構是指一個軟體的功能分布,比如大型軟體xp系統,它的架構就是整個系統的各個功能。
② 系統分析師於軟體架構師的區別
當軟體規模比較小時,系統分析師所完成的工作是把真正的業務需求(這個需求不是指客戶簡單所說的哪一個功能,而是需要去挖掘的,可能是潛在的但又是系統必需的,條例清楚、邏輯清晰的業務功能,而且需求不僅僅只是來自業務上的,系統所依賴的運行環境也會產生一些需求)轉換成計算機可理解、可實現、可計算的模型。但由於現在的系統規模越來越大,復雜程度越來越高,而且應用領域也越來越廣,所以很難由一個工種的人來全面完成這項艱巨的任務。
在具體的軟體設計過程中,現在把它分解為由系統分析師與軟體架構師合作共同來完成這一任務。其中系統分析師側重的是前一部分的工作,軟體架構師側重的是後一部分的工作。系統分析師的主要工作內容 包括業務需求分析、系統需求分析、可行性分析以及建模等,其特點是更多地與行業專家、用戶溝通,再及時與項目經理(項目管理師)、軟體架構師以及老闆商 討,分析項目具備的特點、成本、風險等,考慮實現的模型。系統分析師所面臨的往往是有許多不確定性的事件,需要對這些不確定的事件進行分析、總結,使之得 出一個相對可靠的確定性結論或實施方案模型。
軟體架構師的主要工作內容就是在系統需求比較清晰的條件下進行系統總體的架構設計,當然 它也可能會涵蓋一些系統分析師的工作內容和軟體設計師的內容,但其特點是確定性的東西會多一些,力求為系統找到或架構一個最優的模型,這裡面雖然可能有很 多創新的成分,但更重要的是如何充分運用現有的各種模型、結構、方案,並根據項目的特點,在各種方案中取長補短,找到一個最好的平衡點和結合點,使之最適 合當前項目的解決方案。所以,軟體架構師實際上是使系統細致化、完善化,為擁有更好的可靠性提供保障。
在實際的職責上,軟體架構師比系統分析師所站的角度更高一些。在大規模的軟體系統中,系統分析師可能就系統的某個子系統進行分析與設計,而軟體架構師應該對整個系統的結構負責。
(1) 項目管理師:掌握信息系統項目管理的知識體系,具備管理大型、復雜信息系統項目和多項目的經驗和能力;能根據需求組織制定可行的項目管理計劃;能夠組織項 目實施,對項目的人員、資金、設備、進度和質量等進行管理,並能根據實際情況及時做出調整,系統地監督項目實施過程的績效,保證項目在一定的約束條件下到 達既定的項目目標;能分析和評估項目管理計劃和成果;能在項目管理進展的早期發現問題,並有預防問題的措施;能協調項目所涉及的相關人員。即項目管理師的 主要職責是負責整個項目的實施和控制,協調各種資源(包括組織內部資源和客戶資源)。
(2)系統分析師:熟悉應用領域的業務,能分析 用戶的需求和約束條件,寫出信息系統需求規格說明書,制訂項目開發計劃,協調項目開發與運行所涉及的各類人員;能指導制訂企業的戰略數據規劃,組織開發項 目;能評估和選用適宜的開發方法和工具;能按照標准規范編寫系統分析、設計文檔;能對開發過程進行質量控制與進度控制;能具體指導項目開發。即系統分析師 的主要職責是獲取並分析用戶的需求,形成規范化的文檔,指導整個項目的開發,需要與客戶不斷的交流,熟悉應用領域的業務。
(3)系統 架構師:能夠根據用戶需求,結合用戶應用領域的實際情況,設計正確、合理的軟體構架,維護系統構件及其介面,並確保系統構架具有良好的性能;能夠對項目進 行系統構架級的描述、分析、設計與評估;能夠按照相關標准編寫相應的設計文檔;具有扎實的理論功底、廣博的知識面,能夠與系統分析師、項目管理師相互協 作、配合工作。即系統架構師的職責是負責整體的、宏觀的系統設計,重點在架構級別上。還要對架構進行描述、分析和評估,屬於純技術性的工作。
考試方面不太了解。
③ 軟體架構師主要是做什麼啊
軟體架構師是軟體行業中一種新興職業,工作職責是在一個軟體項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃。主導系統全局分析設計和實施、負責軟體構架和關鍵技術決策的人員。根據「第三屆中國軟體工程大會」的報告,在中國,未來五年,高端軟體人才需求缺口達20萬。而每年自動成長起來的軟體架構師只有幾百人,可見市場需求的巨大。
(3)軟體架構師擴展閱讀:
架構師的主要任務:
1、領導與協調整個項目中的技術活動(分析、設計和實施等)
2、推動主要的技術決策,並最終表達為軟體構架
3、確定和文檔化系統的相對構架而言意義重大的方面,包括系統的需求、設計、實施和部署等「視圖」
④ 軟體架構師介紹
軟體架構師是軟體行業中一種新興職業,工作職責是在一個軟體項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃。主導系統全局分析設計和實施、負責軟體構架和關鍵技術決策的人員。
我是從IT號外知道的。
⑤ 軟體架構師
軟體架構師,只需要了解客戶的需求,軟體的標准,運行環境,來構建
系統架構師,就是要了解和硬體相關,包括周邊的外圍設備,互相的結構連接,運行方式,
一個是需要知道軟體環境就好,一個需要了解硬體環境,這就是最大的區別
⑥ 軟體架構師需要掌握哪些知識
架構師首先必須具有豐富的開發經驗,是個技術主管。因為他必須清楚什麼是可以實現的,實現的方式有哪些,相應的難度怎麼樣,實現出來的系統面對需求變化的適應性等一系列指標。另外,需要對面向過程、面向對象、面向服務等設計理念有深刻的理解,可以快速的察覺出實現中的問題並提出相應的改進(重構)方案(也就是通常說的反模式)。這些都需要長期的開發實踐才能真正的體會到,單從書本上很難領會到,就算當時理解了也不一定能融會到實踐中去。 在技術能力上,軟體架構師最重要也是最需要掌握的知識是構件通信機制方面的知識,包括進程內通信(對象訪問、函數調用、數據交換、線程同步等)以及進程外(包括跨計算機)的通信(如RMI、DCOM、Web Service)。在WEB應用大行其道的今天,開發者往往對伺服器間的通信關注的比較多,而對進程內的通信較少關注。進程外跨機器通信是構建分布式應用的基石,它是架構設計中的鳥瞰視圖;而進程內的通信是模塊實現的骨架,它是基石的基石。如果具體到一個基於.Net企業級架構設計,首先需要的是語言級別的認識,包括.NET的CLR、繼承特性、委託和事件處理等。然後是常用解決方案的認識,包括ASP.NET Web Service、.NET Remoting、企業服務組件等。總之,豐富的開發實踐經驗有助於避免架構師紙上談兵式的高來高去,給代碼編寫人員帶來實實在在的可行性。 其次,具有足夠的行業業務知識和商業頭腦也是很重要的。行業業務知識的足夠把握可以給架構師更多的擁抱變化的能力,可以在系統設計的時候留出一些擴展的餘地來適應可能來臨的需求變化。有經驗的設計人員可能都碰到過這樣的事,一廂情願的保留介面在需求變化中的命中率非常低。也就是說,在系統設計之初為擴展性留下來的系統介面沒能在需求變化的洪流中發揮真正的作用,因為需求的變化並沒有按照預想的方向進行,到最後還是不得不為變化的業務重新設計系統。這就是因為對業務知識的理解和對市場或者商業的判斷沒有達到一個實用的、可以為架構擴展性服務的水平。 再次,架構設計師對人的關注必須提升到架構設計之初來納入考慮的范圍,包括溝通以及對人員素質的判斷。軟體過程是團隊協作共同構建系統的過程,溝通能力是將整個過程中多條開發線粘合在一起的膠水。大家都應該碰到過事後說「原來是這樣啊,我不知道啊」或者某個開發人員突然高聲呼喊「為什麼這里的數據沒有了」之類的。溝通的目的就是盡量避免多條開發線的混亂,讓系統構建過程可以有條理的高效進行。另外,對人的關注還表現在對團隊成員的素質判斷上,比如哪些開發人員對哪些技術更熟悉,或者哪些開發人員容易拖進度等。只有合理的使用人力資源,讓合適的人做合適的事情才能讓整個軟體過程更加高效。 架構師應時刻注意新軟體設計和開發方面的發展情況,並不斷探索更有效的新方法、開發語言、設計模式和開發平台不斷很快地升級,軟體架構師需要吸收這些新技術新知識,並將它們用於軟體系統開發工作中。但對新技術的探索應該在一個理性的范圍內進行,不能盲目的跟風。解決方案提供商永遠都希望你能使用它提供的最新技術,而且它們在推廣自己的解決方案的時候往往是以自己的產品為中心,容易給人錯覺。比如資料庫,往往讓人覺得它什麼都能做,只要有了它其它什麼都不重要了。但事實上並不是如此,對於小型應用可以將許多業務邏輯用script的方式放入資料庫中,但很少看到大型應用採用這樣的做法。對於新東西需要以一種比較的觀點來判斷,包括橫向的比較和縱向的比較,最後得出一些性能、可移植性以及可升級等指標。另外,新入行的開發人員往往關心新技術動向而忽略了技術的歷史,而從DOS時代一路殺過來的開發者就對現在的技術體系有較全面的把握。
⑦ 軟體架構師是做什麼的
是在一個軟體項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃。主導系統全局分析設計和實施、負責軟體構架和關鍵技術決策的人員。
⑧ 什麼是軟體架構師
軟體架構師是軟體行業中一種新興職業,工作職責是在一個軟體項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃。架構師的主要任務不是從事具體的軟體程序的編寫,而是從事更高層次的開發構架工作。他必須對開發技術非常了解,並且需要有良好的組織管理能力。可以這樣說,一個架構師工作的好壞決定了整個軟體開發項目的成敗。
軟體架構師的職責是把需求轉換為軟體世界的模型。4+1視圖中以use case作為核心,其中功能性需求以及部分非功能性需求會被軟體架構師通過分析和設計,映射為各種軟體設計模型。從OOA/OOD角度說,use case 在這個過程中是要轉換為各種UML,其中類圖,序列圖,狀態圖是最常用到的。這個轉換過程是需要智慧的,use case是目的,各種OO的原則是指導,設計模式是經驗,靈活運用是能力。裡面蘊涵了設計的美感,我覺得這個過程是衡量一個軟體架構師的最重要的指標。
當然這個過程是迭代和反饋的,我覺得概要設計和詳細設計只是思考同一個問題的粒度不同而已。
另外就是我們要熟悉語言,詳細設計是要轉換為代碼的,而且跟語言是有關系的。語言比如java/c++等,詳細設計的模型是有很多不同的。就需要軟體架構師有過這個過程,並且是非常良好的映射。
除了語言就是要熟悉某個技術領域,比如J2EE/DOTnet.從J2ee來說,可能需要了解比如jsp/servlet/ejb/jndi/jta/jdbc等。還需要了解各種web framework,o/rmapping,ioc/aop容器等等。還有的就是一些技術組件和業務組件,不如workflow,rules engine等等。另外比如各種database.熟悉這些東西的目的,是把這些軟體和組件合理並且有機的組織起來成為一個開發的架構。這個過程是需要創造力和想像力的。可能很多人認為這個地方正是軟體架構師體現能力的地方。