軟件工程師英文是Software Engineer,是從事軟件職業(yè)的人員的一種職業(yè)能力的認證,通過(guò)它說(shuō)明具備了工程師的資格。
軟件工程師是從事軟件開(kāi)發(fā)相關(guān)工作的人員的統稱(chēng)。它是一個(gè)廣義的概念,包括軟件設計人員、軟件架構人員、軟件工程管理人員、程序員等一系列崗位,工作內容都與軟件開(kāi)發(fā)生產(chǎn)相關(guān)。
軟件工程師的技術(shù)要求是比較全面的,除了最基礎的編程語(yǔ)言(C語(yǔ)言/C++/JAVA等)、數據庫技術(shù)(SQL/ORACLE/DB2等)等,還有諸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技術(shù)。此外,關(guān)于網(wǎng)絡(luò )工程和軟件測試的其他技術(shù)也要有所涉獵。
培養目標:軟件工程專(zhuān)業(yè)培養面向國民經(jīng)濟信息化建設和發(fā)展的需要,培養具有扎實(shí)的計算機應用理論和知識基礎,掌握軟件工程領(lǐng)域的前沿技術(shù)和軟件開(kāi)發(fā)方法,具備較強的軟件項目的系統分析、設計、開(kāi)發(fā)和測試能力,能夠按工程化的原則和方法從事軟件項目開(kāi)發(fā)和管理的高級工程技術(shù)人才。
主要課程:離散數學(xué)、面向對象程序設計、數據結構、數據庫原理、操作系統、計算機網(wǎng)絡(luò )、軟件工程、軟件過(guò)程與管理、軟件測試技術(shù)、軟件質(zhì)量管理、軟件項目管理等。
畢業(yè)去向:軟件工程專(zhuān)業(yè)畢業(yè)生主要在信息產(chǎn)業(yè)和國民經(jīng)濟部門(mén)從事信息系統研究、分析、設計、開(kāi)發(fā)和測試以及軟件工程項目的組織和管理工作,也可考取計算機科學(xué)與技術(shù)專(zhuān)業(yè)的碩士研究生。
軟件工程專(zhuān)業(yè)是今后的熱門(mén),就業(yè)前景非常好!目前軟件工程9個(gè)專(zhuān)業(yè)的內容和就業(yè)情況如下:
1 可視化編程
掌握程序設計方法及可視化技術(shù),精通一種可視化平臺及其軟件開(kāi)發(fā)技術(shù)。獲取Delphi程序員系列、Java初級或VB開(kāi)發(fā)能手認證。
就業(yè)方向:企業(yè)、政府、社區、各類(lèi)學(xué)校等可視化編程程序員。
2 WEB應用程序設計
具有美工基礎和網(wǎng)頁(yè)動(dòng)畫(huà)設計能力,掌握交互式網(wǎng)頁(yè)程序的設計技術(shù),能進(jìn)行網(wǎng)站建設和維護。獲取Macromedia多媒體互動(dòng)設計師或Delphi初級程序員或Delphi快速網(wǎng)絡(luò )開(kāi)發(fā)工程師認證。
就業(yè)方向:企業(yè)、政府、社區、各類(lèi)學(xué)校等WEB應用程序員。
3 軟件測試掌握軟件測試的基本原理、方法和組織管理,精通軟件測試工具。獲取ATA軟件測試工程師或Delphi初級程序員或Java初級程序員認證。
就業(yè)方向:企業(yè)、政府、社區、各類(lèi)學(xué)校等軟件測試員。
4 數據庫管理
能應用關(guān)系范式進(jìn)行數據庫設計,精通SQL語(yǔ)言,勝任數據庫服務(wù)器管理與應用工作。獲取Oracle數據庫管理或SQL Server數據庫應用或Windows XP應用認證。
就業(yè)方向:企業(yè)、政府、社區、各類(lèi)學(xué)校等部門(mén)的中、大型數據庫管理員。
5 圖形圖像制作
精通國際上流行的圖形/圖像制作工具(如CorelDraw、Photoshop、Pagemaker等)。獲取平面設計師相關(guān)的認證。
就業(yè)方向:廣告制作公司、建筑設計公司、包裝裝璜設計公司、居室裝修公司、出版印刷公司。
6 網(wǎng)絡(luò )構建技術(shù)
熟悉網(wǎng)絡(luò )結構和組網(wǎng)方式,掌握建網(wǎng)方法,能利用工具分析和排除常見(jiàn)網(wǎng)絡(luò )故障。獲取Cisco路由配置或華為網(wǎng)絡(luò )工程或AMP應用工程師認證。
就業(yè)方向:企業(yè)、政府、社區、各類(lèi)學(xué)校等網(wǎng)絡(luò )構建工程師。
7 網(wǎng)絡(luò )系統管理
掌握網(wǎng)絡(luò )系統管理的基本知識與應用技能,能進(jìn)行網(wǎng)絡(luò )系統的安全設置。獲取Window2000 Server或TurboLinux TLCE或Cisco路由配置專(zhuān)家認證。
就業(yè)方向:企業(yè)、政府、社區、各類(lèi)學(xué)校等網(wǎng)絡(luò )系統管理員。
8 多媒體制作
具有多媒體程序設計與多媒體制作策劃的能力。基本掌握面向對象程序設計與建模、造型設計、場(chǎng)景設計、分鏡頭原理等技能。獲取多媒體設計師相關(guān)的認證。
就業(yè)方向:多媒體設計與制作公司、動(dòng)畫(huà)美術(shù)制作出版公司、廣告制作公司。
9 計算機辦公應用
精通辦公自動(dòng)化應用與管理,熟悉服務(wù)器的安裝、管理和維護,基于應用服務(wù)器的相關(guān)服務(wù)和軟件系統,具備對服務(wù)器的網(wǎng)絡(luò )安全設置、郵件、網(wǎng)頁(yè)發(fā)布、FTP、OA、BBS等系統的應用和維護能力。就業(yè)方向:企業(yè)、政府、社區、各類(lèi)學(xué)校等系統管理
初級部分:
1. Java 面向對象程序設計、Java API使用、數據結構及算法基礎、Java高級類(lèi)特性、異常處理;
2. AWT及Swing圖形程序設計、流、網(wǎng)絡(luò )程序設計、對象序列化、Applet、多線(xiàn)程程序設計、Java應用國際化基礎;
3. Java桌面系統項目開(kāi)發(fā);
4. Java編程基礎提高課程:反射機制、設計模式(I)、正則表達式,Java SE5.0新特性等;
5. 基于Oracle的數據庫開(kāi)發(fā)及管理、數據庫設計、標準SQL、PL/SQL編程;
6. JDBC、JSP2.0、Servlet2.4、JavaBean編程;Tomcat服務(wù)器使用、Jbuilder及Eclipse 等集成開(kāi)發(fā)環(huán)境;
7. Linux操作系統中的Java程序開(kāi)發(fā)、Linux系統管理;
8. Java Web編程提高課程:JDBC進(jìn)階、高效分頁(yè)處理、過(guò)濾器使用技巧、Struts中動(dòng)態(tài)表單驗證、DispatchForm等;
高級部分
1. MVC設計模式、Struts架構核心工作機制、國際化、驗證框架、Struts Taglib、ORM基礎、基于Hibernate的企業(yè)級應用;
2. JavaME手機游戲設計、界面程序設計、數據庫程序設計、手機短信、多媒體短信(彩信)開(kāi)發(fā);
3 .JavaEE核心技術(shù)、XML、Web Service、異構系統整合、分布式應用開(kāi)發(fā)、WebLogic和JBoss等應用服務(wù)器;
4 .CMM、UML與系統建模和設計、Rational Rose、軟件工程和軟件過(guò)程模型、版本控制及設計模式;
6. Java 企業(yè)級應用開(kāi)發(fā)提高課程:Hibernate使用技巧、設計模式(II)、Spring編程入門(mén)、提高Java EE應用的性能;
.NET程序設計
.NET架構、.NET桌面和Web程序設計、.NET與JavaEE平臺應用的整合;
職業(yè)素質(zhì)
IT職業(yè)規劃、溝通技巧、團隊合作、專(zhuān)業(yè)技術(shù)規范、面試技巧等職業(yè)技能培訓。
完成以上培訓課程后,通過(guò)考核就可以獲得培訓機構頒發(fā)的合格證書(shū)。
現在比較吃香的是JAVA,特別是J2EE,未來(lái)3G出來(lái)后,手機編程將成為熱點(diǎn),J2EE當然就會(huì )很吃香了。
關(guān)于證書(shū)的權威性,建議你要去知名的培訓機構去,最好是像SUN這類(lèi)國際大公司有關(guān)認證所指定的培訓機構,這樣權威性高些。
一般來(lái)講,軟件公司是非常喜歡通過(guò)了軟件工程師的人員,學(xué)歷對他們來(lái)說(shuō)并不重要,而重要的是能力。如果你的能力夠強,在一個(gè)好的公司的話(huà),這個(gè)月薪我想應該是可以拿到的。
第一是鉆研,遇到技術(shù)問(wèn)題和困難永遠是知難而進(jìn),通過(guò)各種方法渠道去解決第二是合作,現在單兵作戰的時(shí)代已經(jīng)過(guò)去了,你需要同很多人一起來(lái)完成項目,因此合作是不可避免的,必須要具有合作精神才會(huì )成為一個(gè)合格的軟件工程師第三是勤奮,在你選定的專(zhuān)業(yè)內不斷學(xué)習,不僅僅局限于編程,還需要了解行業(yè)知識,如做ERP的需要了解企業(yè)的運作,相關(guān)的財務(wù)知識等;需要比較深入了解各種軟件工程類(lèi)知識;需要深入了解各種應用的架構及相應的優(yōu)缺點(diǎn).有了以上三點(diǎn),即使你天賦一般也能成為一個(gè)出色的軟件工程師。
軟件工程師要看呢,是.NET的還是JAVA的。
下面提供一些資料希望你喜歡 35公里 寫(xiě)道 "出色的軟件工程師善用設計模式,勤于代碼重構,編寫(xiě)單元測試,并對簡(jiǎn)單有宗教般的追求。除了這些,優(yōu)秀的軟件工程師還要通曉10個(gè)概念,這10個(gè)概念超越了編程語(yǔ)言與設計模式,軟件工程師應當從更廣的范圍內明白這些道理(全文閱讀): 接口 (Interfaces ) 慣例與模板 (Conventions and Templates) 分層 (Layering ) 算法的復雜性 (Algorithmic Complexity) 散列法 (Hashing ) 緩存 (Caching ) 并發(fā) (Concurrency ) 云計算(Cloud Computing ) 安全(Security ) 關(guān)系數據庫 (Relational Databases ) 10. 關(guān)系數據庫 (Relational Databases) 關(guān)系數據庫因為在大規模 Web 服務(wù)上缺乏可擴充性而頗受微詞,然而,關(guān)系數據庫仍然是近20年來(lái)計算機技術(shù)中最偉大的成就。
關(guān)系數據庫對處理訂單,公司數據方面有著(zhù)出色的表現。 關(guān)系數據庫的核心是以記錄表示數據,記錄存放在數據庫表,數據庫使用查詢(xún)語(yǔ)言(SQL)對數據進(jìn)行搜索與查詢(xún),同時(shí),數據庫對各個(gè)數據表進(jìn)行關(guān)聯(lián)。
數據庫的標準化技術(shù)(normalization)講的是使用正確的方式對數據進(jìn)行分存以降低冗余,并加快存取速度。 9. 安全 (Security) 隨著(zhù)黑客的崛起與數據敏感性的上升,安全變得非常重要。
安全是個(gè)廣義的概念,涉及驗證,授權與信息傳輸。 驗證是對用戶(hù)的身份進(jìn)行檢查,如要求用戶(hù)輸入密碼。
驗證通常需要結合 SSL (secure socket layer)進(jìn)行;授權在公司業(yè)務(wù)系統中非常重要,尤其是一些工作流系統。最近開(kāi)發(fā)的 OAuth 協(xié)議可以幫助 Web 服務(wù)將相應信息向相應用戶(hù)開(kāi)放。
Flickr 便使用這種方式管理私人照片和數據的訪(fǎng)問(wèn)權限。 另外一個(gè)安全領(lǐng)域是網(wǎng)絡(luò )設防,這關(guān)系到操作系統,配置與監控。
不僅網(wǎng)絡(luò )危險重重,任何軟件都是。Firefox 被稱(chēng)為最安全的瀏覽器,仍然需要頻頻發(fā)布安全補丁。
要為你的系統編寫(xiě)安全代碼就需要明白各種潛在的問(wèn)題。 8. 云計算 (Cloud Computing) RWW 最近的關(guān)于云計算的文章 Reaching For The Sky Through Compute Clouds 講到了云計算如何改變大規模 Web 應用的發(fā)布。
大規模的并行,低成本,與快速投入市場(chǎng)。 并行算法發(fā)明以來(lái),首先迎來(lái)的是網(wǎng)格計算,網(wǎng)格計算是借助空閑的桌面計算機資源進(jìn)行并行計算。
最著(zhù)名的例子是 Berkley 大學(xué)的 SETI@home 計劃,該計劃使用空閑的 CPU 資源分析太空數據。金融機構也大規模實(shí)施網(wǎng)格計算進(jìn)行風(fēng)險分析。
空閑的資源,加上 J2EE 平臺的崛起,迎來(lái)了云計算的概念:應用服務(wù)虛擬化。就是應用按需運行,并可以隨著(zhù)時(shí)間和用戶(hù)規模而實(shí)時(shí)改變。
云計算最生動(dòng)的例子是 Amazon 的 Web 服務(wù),一組可以通過(guò) API 進(jìn)行調用的應用,如云服務(wù)(EC2),一個(gè)用來(lái)存儲大型媒體文件的數據庫(S3),索引服務(wù)(SimpleDB),序列服務(wù)(SQS)。 7. 并發(fā) (Concurrency) 并發(fā)是軟件工程師最容易犯錯的地方,這可以理解,因為我們一直遵從線(xiàn)形思維,然而并發(fā)在現代系統中非常重要。
并發(fā)是程序中的并行處理,多數現代編程語(yǔ)言包含內置的并發(fā)能力,在 Java,指的是線(xiàn)程。關(guān)于并發(fā),最經(jīng)典的例子是“生產(chǎn)/消費”模式,生產(chǎn)方生產(chǎn)數據和任務(wù),并放入工作線(xiàn)程消費或執行。
并發(fā)的復雜性在于,線(xiàn)程需要經(jīng)常訪(fǎng)問(wèn)共同數據,每個(gè)線(xiàn)程都有自己的執行順序,但需要訪(fǎng)問(wèn)共同數據。Doug Lea 曾寫(xiě)過(guò)一個(gè)最復雜的并發(fā)類(lèi),現在是 core Java 的一部分。
6. 緩存(Caching) 緩存對現代 Web 程序不可或缺,緩存是從數據庫取回,并存放在內存中的數據。因為數據庫直接存取的代價(jià)非常高,將數據從數據庫取回并放在緩存中訪(fǎng)問(wèn)就變得十分必要。
比如,你有一個(gè)網(wǎng)站,要顯示上周的暢銷(xiāo)書(shū),你可以從數據將暢銷(xiāo)書(shū)榜一次性取回放在緩存中,而不必在每次訪(fǎng)問(wèn)時(shí)都去數據庫讀數據。 緩存需要代價(jià),只有最常用的內容才可以放入緩存。
很多現代程序,包括 Facebook,依靠一種叫做 Memcached 的分布式緩存系統,該系統是 Brad Firzpatrick 在工作于 LiveJournal 項目時(shí)開(kāi)發(fā)的,Memcached 使用網(wǎng)絡(luò )中空閑的內存資源建立緩存機制,Memcached 類(lèi)庫在很多流行編程語(yǔ)言,包括 Java 和 PHP 中都有。 5. 散列法(Hashing) Hashing 的目的是加速訪(fǎng)問(wèn)速度。
如果數據是序列存儲的,從中查詢(xún)一個(gè)項的時(shí)間取決于數據列的大小。而散列法對每一個(gè)項計算一個(gè)數字作為索引,在一個(gè)好的 Hashing 算法下,數據查找的速度是一樣的。
除了存儲數據,散列法對分布式系統也很重要。統一散列法(uniform hash )用來(lái)在云數據庫環(huán)境下,在不同計算機之間分存數據。
Google 的索引服務(wù)就是這種方法的體現,每一個(gè) URL 都被散列分布到特定計算機。 散列函數非常復雜,但現代類(lèi)庫中都有現成的類(lèi),重要的是,如何對散列法進(jìn)行細調以獲得最好的性能。
4. 算法的復雜性 (Algorithmic Complexity) 關(guān)于算法的復雜性,軟件工程師需要理解這樣幾件事。第一,大O標記法(big O notation);第二,你永遠都不應該使用嵌套式循環(huán)(循環(huán)里面套循環(huán)),你應該使用 Hash 表,數組或單一循環(huán);第三,如今優(yōu)秀類(lèi)庫比比皆是,。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:4.130秒