4 回答

TA貢獻1775條經(jīng)驗 獲得超11個贊
java軟件開發(fā)工程師與java軟件架構(gòu)師的區(qū)別如下:
java軟件開發(fā)工程師是從事軟件開發(fā)相關(guān)工作的人員的統(tǒng)稱。主要職責(zé)有:RFID相關(guān)應(yīng)用軟件、信息管理類軟件的設(shè)計、研發(fā)、維護、安裝實施;數(shù)據(jù)庫管理及應(yīng)用開發(fā);根據(jù)要求進行軟件概要設(shè)計、詳細設(shè)計、編碼、單元測試工作及說明文檔的編寫。
而java軟件架構(gòu)師是軟件行業(yè)中一種新興職業(yè),工作職責(zé)是在一個軟件項目開發(fā)過程中,將客戶的需求轉(zhuǎn)換為規(guī)范的開發(fā)計劃及文本,并制定這個項目的總體架構(gòu),指導(dǎo)整個開發(fā)團隊完成這個計劃。主導(dǎo)系統(tǒng)全局分析設(shè)計和實施、負責(zé)軟件構(gòu)架和關(guān)鍵技術(shù)決策的人員。架構(gòu)師的主要任務(wù)不是從事具體的軟件程序的編寫,而是從事更高層次的開發(fā)構(gòu)架工作。必須對開發(fā)技術(shù)非常了解,并且需要有良好的組織管理能力??梢赃@樣說,一個架構(gòu)師工作的好壞決定了整個軟件開發(fā)項目的成敗。

TA貢獻1847條經(jīng)驗 獲得超11個贊
1,需求整理分析
有人認為架構(gòu)師是在需求規(guī)格說明書完成后介入的,但我認為架構(gòu)師要從項目最開始的階段就參與進來。理由有很多:首先,第一手的信息損失最少,架構(gòu)師能夠更好的把握需
求;其次,分析人員在與客戶交流時,往往不會深入挖掘需求,因為有很多隱藏的需求客戶自己都不見得意識的到,而架構(gòu)師則可以依靠敏感的軟件嗅覺發(fā)現(xiàn)這些需
求,減少以后的變數(shù);第三,分析人員往往脫離開發(fā)團隊,盲目接受客戶需求,而架構(gòu)師能夠清楚把握現(xiàn)有的研發(fā)團隊能做什么,不能做什么,提前預(yù)知風(fēng)險,降低項目失敗的機率。
2,系統(tǒng)分解
在收集完信息后,架構(gòu)師需要將用戶需求轉(zhuǎn)化為軟件需求,同時要補充非業(yè)務(wù)需求,如健壯性,擴展性等等。如何區(qū)分和化解用戶需求與軟件需求,如何有效把握用戶需求與軟件需求的區(qū)別,是系統(tǒng)分解的核心。這是最考驗架構(gòu)師的地方,也是只有架構(gòu)師參與的工作
3,技術(shù)選型
這一步要根據(jù)對軟件需求決定項目該使用何種架構(gòu),開發(fā)模型,及依賴選項。如使用多層架構(gòu)還是分布式架構(gòu),是瀑布模型還是RUP,是使用MySQL還是
SQLServer,是否需要使用企業(yè)庫,是否需要使用ORM。但是,架構(gòu)師對項目的技術(shù)選型要提供多種不同的方案,并為每種不同方案提供詳細說明文檔,
用來闡述每種方案的優(yōu)勢,劣勢,可行性等內(nèi)容。這些文檔供項目經(jīng)理或領(lǐng)導(dǎo)決策最終的技術(shù)選型。
4,系統(tǒng)設(shè)計
依據(jù)軟件需求和技術(shù)選型,架構(gòu)師需要和軟件工程師一起將軟件需求落實到軟件詳細設(shè)計說明書中。架構(gòu)師負責(zé)將軟件需求分解,重組織為子項目,子系統(tǒng),組件和模塊,以及它們之間的邏輯關(guān)系,從而形成不同的邏輯組成部分,最后還需要確定各個子系統(tǒng)及組件間的接口。這些都是作為進一步的團隊分工的依據(jù)。同系統(tǒng)分解一樣,系統(tǒng)設(shè)計是考驗架構(gòu)師能力的重要職責(zé)。
5,培訓(xùn)與指導(dǎo)
在軟件詳細設(shè)計說明書完成后,為保證項目的順利進行,架構(gòu)師需要對整個團隊進行技術(shù)培訓(xùn),讓團隊中的每個人明白自己的職責(zé)范圍,該做什么,不該做什么。
在項目實施過程中,架構(gòu)師需要參與到具體開發(fā)過程中,給與每個開發(fā)人員有效指導(dǎo),以避免團隊成員對系統(tǒng)設(shè)計的誤解而造成項目的延誤。在我看來,這點對于新
手比較多的團隊尤為重要。因為國內(nèi)新手的一個通病是眼高手低,剛學(xué)會了一點點就認為自己什么都會;當(dāng)他們拿到真正的設(shè)計時又往往不知所措,畏首畏尾。
6,保持溝通
溝通是保證項目順利開展的有效保障。架構(gòu)師要從多方面跟蹤項目進度,及時與項目經(jīng)理或直屬領(lǐng)導(dǎo)匯報項目進展,與技術(shù)開發(fā)人員溝通遇到的問題,如果是迭代開發(fā),還需要與用戶溝通需求變更。
java工程師 接觸的方面一般比較多, 前臺的開發(fā)技術(shù)ajax、jquery等,spring、hibernate、Struts框架,數(shù)據(jù)庫的基本維護和創(chuàng)建,程序的需求分析及其它文檔編寫、基本測試等。這些東西根據(jù)公司的需要你都可能接觸到。
程序員->工程師->架構(gòu)師
添加回答
舉報