導航:首頁 > 軟體問題 > 軟體工程師要學哪些

軟體工程師要學哪些

發布時間:2022-02-08 09:15:32

① 如果想當一個軟體工程師要學習什麼

1、計算機硬體原理:了解硬體怎麼工作,知道軟體是怎樣在硬體上工作的,CPU架構,指令,怎麼做運算,內存如何工作,內容地址是怎麼回事,硬碟如何存儲,數據和指令如何通過電路和元器件轉化成電流和脈沖,可能需要數據電路的原理。無論從事計算機哪方面,比如網路、軟硬體,這個原理都必須精通。因為計算機技術是很抽象的,但是在現實和具象上是依賴硬體。

2、操作系統原理:在了解了硬體原理後,了解操作系統是怎麼工作的。因為所有的軟體都是基於操作系統的,而操作系統本身也是一個軟體。這些結合硬體來理解,就更容易了。

3、編譯原理:了解軟體從源文件到目標文件,到執行的全過程。如果有必要,其中的東西也要專門買書去研究。這樣代碼上不容易犯錯誤。了解了硬體原理和操作系統原理的基礎上,了解編譯原理也就比較簡單。當然每種語言編譯過程都不一樣,但是原理都是基本相同。

4、數據結構和演算法分析:好的演算法,事半功倍,此外可能還要補一些高中數學、高等數學的知識。

以上每部分,都要至少1-2個月或者150個小時以上的鑽研,要做到基本掌握。如果不掌握以上部分,不是說學不了軟體,但是如果想學精通,想比一般人強,是不可能的,因為你只知道怎麼做,但是為什麼這樣做不清楚,就是死記硬背了,反反復復的記憶效率也很差。

有時候很多獨立的軟體開發的工具書,沒有講的那麼細致,只是告訴你如何做,但是不會告訴你為什麼這樣做,另外一些好的方法也無法告訴你,因為都需要從基礎的硬體電路電流原理來介紹,如果從原理上說,那會說的沒完沒了。

大約半年甚至1年後,此時你所有軟體開發需要掌握的基礎知識,都比較明白了。再開始研究程序開發,就會覺得開發很簡單,事半功倍。因為你已經從原理上理解了,軟體是怎麼工作的。所以也知道軟體開發的學習周期至少在1年以上。 達到能夠開發中型軟體,至少也要1年半,而且這個時間還是每天都在鑽研的時間。

② 軟體工程師需要學習哪些課程

SQL Server2005資料庫設計和高級查詢、數據結構、C#面向對象程序設計、HTML5與CSS3開發、JavaScript、jQuery高級編程、PHP開發、軟體工程、JAVA面向對象程序設計、J2EE伺服器端高級編程、APP應用程序開發、oracle資料庫、Android應用開發等。

③ 軟體工程師要學哪些

軟體工程師要學習和掌握的東西:
(一).NET方面的開發
⒈熟悉.net開發體系,熟悉C# ASP .NET;
⒉熟悉SQLServer,Oracle資料庫開發;
⒊具有企業管理系統項目經驗;
4.了解企業ERP及財務管理軟體;
5.善於溝通,能獨立撰寫方案。為人誠實,善於學習,做事認真負責,積極主動,具有敬業精神,有團隊精神。
(二)JAVA應用程序開發
1.熟練使用Struts2+Spring+Hibernate
2.掌握Jquery
3.掌握Java
4.熟悉Oracle
5.掌握xml/webservice
6.掌握OOD、OOP
7.基本文檔寫作能力
(三)web、資料庫方面的開發
⒈練掌握ASP,NET;等編程語言,熟悉.Net開發環境,理解.Net Framework,理解並能熟練使用WebService、O/R mapping、Remoting、多線程等技術;
2.熱衷於互聯網WEB開發,熱衷於鑽研最新的前沿技術,精通XML,Javascript,CSS,AJAX等WEB前端技術;
3.熟練的技術文檔編寫能力,熟練使用Rose,Power Design,Visio等建模和設計軟體,有一定的架構設計能力;
4.精通SQL server資料庫技術,了解資料庫性能調優者優先.
(四)php項目開發
⒈使用PHP語言開發互聯網應用程序;
⒉網站產品和網站功能模塊的開發與維護;
⒊與頁面設計師協調溝通,編寫部分Javascript和HTML;
⒋參與底層MVC框架的編寫與維護。

④ 成為一名軟體工程師要學哪些課程

中國計算機軟體設計師考試大綱

一、考試說明
1.考試要求:
(1) 掌握數據表示、算術和邏輯運算;
(2) 掌握相關的應用數學、離散數學的基礎知識;
(3) 掌握計算機體系結構以及各主要部件的性能和基本工作原理;
(4) 掌握操作系統、程序設計語言的基礎知識,了解編譯程序的基本知識;
(5) 熟練掌握常用數據結構和常用演算法;
(6) 熟悉資料庫、網路和多媒體的基礎知識;
(7) 掌握C程序設計語言,以及C++、Java、Visual、Basic、Visual C++中的一種程序設計語言;
(8) 熟悉軟體工程、軟體過程改進和軟體開發項目管理的基礎知識;
(9) 熟悉掌握軟體設計的方法和技術;
(10) 掌握常用信息技術標准、安全性,以及有關法律、法規的基本知識;
(11) 了解信息化、計算機應用的基礎知識;
(12) 正確閱讀和理解計算機領域的英文資料。

2.通過本考試的合格人員能根據軟體開發項目管理和軟體工程的要求,按照系統總體設計規格說明書進行軟體設計,編寫程序設計規格說明書等相應的文檔,組織和指導程序員編寫、調試程序,並對軟體進行優化和集成測試,開發出符合系統總體設計要求的高質量軟體;具有工程的實際工作能力和業務水平。

3.本考試設置的科目包括:
(1) 計算機與軟體工程知識,考試時間為150分鍾,筆試;
(2) 軟體設計,考試時間為150分鍾,筆試。

二、考試范圍
考試科目1:計算機與軟體工程知識
1.計算機科學基礎
1.1 數制及其轉換
· 二進制、十進制和十六進制等常用制數制及其相互轉換

1.2 數據的表示
· 數的表示(原碼、反碼、補碼、移碼表示,整數和實數的機內表示,精度和溢出)
· 非數值表示(字元和漢字表示、聲音表示、圖像表示)
· 校驗方法和校驗碼(奇偶校驗碼、海明校驗碼、循環冗餘校驗碼)

1.3 算術運算和邏輯運算
· 計算機中的二進制數運算方法
· 邏輯代數的基本運算和邏輯表達式的化簡

1.4 數學基礎知識
· 命題邏輯、謂詞邏輯、形式邏輯的基礎知識
· 常用數值計算(誤差、矩陣和行列式、近似求解方程、插值、數值積分)
· 排列組合、概率論應用、應用統計(數據的統計分析)
· 運算基本方法(預測與決策、線性規劃、網路圖、模擬)

1.5 常用數據結構
· 數組(靜態數組、動態數組)、線性表、鏈表(單向鏈表、雙向鏈表、循環鏈表)、隊列、棧、樹(二叉樹、查找樹、平衡樹、線索樹、線索樹、堆)、圖等的定義、存儲和操作
· Hash(存儲地址計算,沖突處理)

1.6 常用演算法
· 排序演算法、查找演算法、數值計算方法、字元串處理方法、數據壓縮演算法、遞歸演算法、圖的相關演算法
· 演算法與數據結構的關系、演算法效率、演算法設計、演算法描述(流程圖、偽代碼、決策表)、演算法的復雜性

2.計算機系統知識
2.1 硬體知識
2.1.1 計算機系統的組成、體系結構分類及特性
· CPU和存儲器的組成、性能和基本工作原理
· 常用I/O設備、通信設備的性能,以及基本工作原理
· I/O介面的功能、類型和特性
· I/O控制方式(中斷系統、DMA、I/O處理機方式)
· CISC/RISC,流水線操作,多處理機,並行處理

2.1.2 存儲系統
· 主存-Cache存儲系統的工作原理
· 虛擬存儲器基本工作原理,多級存儲體系的性能價格
· RAID類型和特性

2.1.3 安全性、可靠性與系統性能評測基礎知識
· 診斷與容錯
· 系統可靠性分析評價
· 計算機系統性能評測方式

2.2 軟體知識
2.2.1 操作系統知識
· 操作系統的內核(中斷控制)、進程、線程概念
· 處理機管理(狀態轉換、共享與互斥、分時輪轉、搶占、死鎖)
· 存儲管理(主存保護、動態連接分配、分段、分頁、虛存)
· 設備管理(I/O控制、假離線)
· 文件管理(文件目錄、文件組織、存取方法、存取控制、恢復處理)
· 作業管理(作業調度、作業控制語言(JCL)、多道程序設計)
· 漢字處理,多媒體處理,人機界面
· 網路操作系統和嵌入式操作系統基礎知識
· 操作系統的配置

2.2.2 程序設計語言和語言處理程序的知識
· 匯編、編譯、解釋系統的基礎知識和基本工作原理
· 程序設計語言的基本成分:數據、運算、控制和傳輸,過程(函數)調用
· 各類程序設計語言主要特點和適用情況

2.3 計算機網路知識
· 網路體系結構(網路拓撲、OSI/RM、基本的網路協議)
· 傳輸介質、傳輸技術、傳輸方法、傳輸控制
· 常用網路設備和各類通信設備
· Client/Server結構、Browser/Server結構
· LAN拓撲,存取控制,LAN的組網,LAN間連接,LAN-WAN連接
· 網際網路基礎知識以及應用
· 網路軟體
· 網路管理
· 網路性能分析

2.4 資料庫知識
· 資料庫管理系統的功能和特徵
· 資料庫模型(概念模式、外模式、內模式)
· 數據模型,ER圖,第一範式、第二範式、第三範式
· 數據操作(集合運算和關系運算)
· 資料庫語言(SQL)
· 資料庫的控制功能(並發控制、恢復、安全性、完整性)
· 數據倉庫和分布式資料庫基礎知識

2.5 多媒體知識
· 多媒體系統基礎知識,多媒體設備的性能特性,常用多媒體文件格式
· 簡單圖形的繪制,圖像文件的處理方法
· 音頻和視頻信息的應用
· 多媒體應用開發過程

2.6 系統性能知識
· 性能指標(響應時間、吞吐量、周轉時間)和性能設計
· 性能測試和性能評估
· 可靠性指標及計算、可靠性設計
· 可靠性測試和可靠性評估

2.7 計算機應用基礎知識
·信息管理、數據處理、輔助設計、自動控制、科學計算、人工智慧等基礎知識
· 遠程通信服務基礎知識
· 常用應用系統

3.系統開發和運行知識
3.1 軟體工程、軟體過程改進和軟體開發項目管理知識
· 軟體工程知識
· 軟體開發生命周期各階段的目標和任務
· 軟體開發項目管理基礎知識(時間管理、成本管理、質量管理、人力資源管理、風險管理等)及其常用管理工具
· 主要的軟體開發方法(生命周期法、原型法、面向對象法、CASE)
· 軟體開發工具與環境知識
· 軟體過程改進知識
· 軟體質量管理知識
· 軟體開發過程評估、軟體能力成熟評估基礎知識

3.2 系統分析基礎知識
· 系統分析的目的和任務
·結構化分析方法(數據流圖(DFD)、數據字典(DD)、實體關系圖(ERD)、描述加工處理的結構化語言)
· 統一建模語言(UML)
· 系統規格說明書

3.3 系統設計知識
· 系統設計的目的和任務
· 結構化設計方法和工具(系統流程圖、HIPO圖、控制流程圖)
· 系統總體結構設計(總體布局、設計原則、模塊結構設計、數據存儲設計、系統配置方案)
· 系統詳細設計(代碼設計、資料庫設計、用戶界面設計、處理過程設計)
· 系統設計說明書

3.4 系統實施知識
· 系統實施的主要任務
· 結構化程序設計、面向對象程序設計、可視化程序設計
· 程序設計風格
· 程序設計語言的選擇
· 系統測試的目的、類型,系統測試方法(黑盒測試、白盒測試、灰盒測試)
· 測試設計和管理(錯誤曲線、錯誤排除、收斂、注入故障、測試用例設計、系統測試報告)
· 系統轉換基礎知識

3.5 系統運行和維護知識
· 系統運行管理基礎知識
· 系統維護基礎知識
· 系統評價基礎知識

3.6 面向對象開發方法
· 面向對象開發概念(類、對象、屬性、封裝性、繼承性、多態性、對象之間的引用)
· 面向對象開發方法的優越性以及有效領域
· 面向對象設計方法(體系結構、類的設計、用戶介面設計)
· 面向對象實現方法(選擇程序設計語言、類的實現、方法的實現、用戶介面的實現、准備測試數據)
· 面向對象程序設計語言(如C++、Java、Visual、Bsasic、Visual C++)的基本機制
· 面向對象資料庫、分布式對象的概念

4.安全性知識
· 安全性基本概念
· 防治計算機病毒、防範計算機犯罪
· 存取控制、防闖入、安全管理措施
· 加密與解密機制
·風險分析、風險類型、抗風險措施和內部控制

5.標准化知識
· 標准化意識、標准化的發展、標准制訂過程
· 國際標准、國家標准、行業標准、企業標准基本知識
· 代碼標准、文件格式標准、安全標准、軟體開發規范和文檔標准知識
· 標准化機構

6.信息化基礎知識
· 信息化意識
· 全球信息化趨勢、國家信息化戰略、企業信息化戰略和策略
· 有關的法律、法規
· 遠程教育、電子商務、電子政務等基礎知識
· 企業信息資源管理基礎知識

7.計算機專業英語
· 掌握計算機技術的基本詞彙
· 能正確閱讀和理解計算機領域的英文資料

考試科目2:軟體設計
1.外部設計
1.1 理解系統需求說明
1.2 系統開發的准備
· 選擇開發方法、准備開發環境、制訂開發計劃
1.3 設計系統功能
· 選擇系統結構,設計各子系統的功能和介面,設計安全性策略、需求和實現方法,制訂詳細的工作流和數據流
1.4 設計數據模型
· 設計ER模型、數據模型
1.5 編寫外部設計文檔
· 系統配置圖、各子系統關系圖、系統流程圖、系統功能說明書、輸入輸出規格說明、數據規格說明、用戶手冊框架
· 設計系統測試要求
1.6 設計評審

2.內部設計
2.1 設計軟體結構
·按構件分解,確定構件功能規格以及構件之間的介面
· 採用中間件和工具
2.2 設計輸入輸出
· 屏幕界面設計、設計輸入輸出檢查方法和檢查信息
> 2.3 設計物理數據
· 分析數據特性,確定邏輯數據組織方式、存儲介質,設計記錄格式和處理方式
· 將邏輯數據結構換成物理數據結構,計算容量,進行優化
2.4 構件的創建和重用
· 創建、重用構件的概念
· 使用子程序庫或類庫
2.5 編寫內部設計文檔
· 構件劃分圖、構件間的介面、構件處理說明、屏幕設計文檔、報表設計文檔、文件設計文檔、資料庫設計文檔
2.6 設計評審

3.程序設計
3.1 模塊劃分(原則、方法、標准)
3.2 編寫程序設計文檔
· 模塊規格說明書(功能和介面說明、程序處理邏輯的描述、輸入輸出數據格式的描述)
· 測試要求說明書(測試類型和目標、測試用例、測試方法)
3.3 程序設計評審

4.系統實施
4.1 配置計算機系統及其環境
4.2 選擇合適的程序設計語言
4.3 掌握C程序設計語言,以及C++、Java、Visual、Basic、Visual C++中任一種程序設計語言,以便能指導程序員進行編程和測試,並進行必要的優化
4.4 系統測試
· 指導程序員進行模塊測試,並進行驗收
· 准備系統集成測試環境和測試工具
· 准備測試數據
· 寫出測試報告

5.軟體工程
· 軟體生存期模型(瀑布模型、螺旋模型、噴泉模型)和軟體成本模型
· 定義軟體需求(系統化的目標、配置、功能、性能和約束)

· 描述軟體需求的方法(功能層次模型、數據流模型、控制流模型、面向數據的模型、面向對象的模型等)
· 定義軟體需求的方法(結構化分析方法、面向對象分析方法)
· 軟體設計(分析與集成、逐步求精、抽象、信息隱蔽)
· 軟體設計方法(結構化設計方法、Jackson方法、Warnier方法、面向對象設計方法)
· 程序設計(結構化程序設計、面向對象程序設計)
· 軟體測試的原則與方法
· 軟體質量(軟體質量特性、軟體質量控制)
· 軟體過程評估基本方法、軟體能力成熟度評估基本方法
· 軟體開發環境和開發工具(分析工具、設計工具、編程工具、測試工具、維護工具、CASE)
· 軟體工程發展趨勢(面向構件,統一建模語言(UML))
· 軟體過程改進模型和方法

⑤ Java軟體工程師一般要學習哪些課程

對於初學者來說,只要在學習過程中,掌握科學的學習方法,即使零基礎的入行者也能充分掌握Java開發技術,那究竟如何才能學習Java呢?

第一階段:企業入門級項目階段,可掌握Java核心基礎、面向對象、JavaSE API、MySQL資料庫、JDBS、HTML+CSS、Servlet、JSP、JavaScript等,可以完成常見中小型互聯網項目開發,達到初級Java開發工程師能力。

第二階段企業框架級項目階段是進階階段,增強Java基礎、web基礎、CSS/JavaScript進階、Maven項目管理、Spring5、SpringMVC、Mybatis、SMM綜合項目、學員項目等,完成本階段學員可以勝任各行業企業級項目中高級工程師崗位。

第三階段億級大並發分布式項目階段,掌握Linux、Docker、Vue、SpringBoot、項目整合Vue、分布式項目、Zookeepr、Dubbo、Springcloud、Redis、Elasticsearch、Quartz、RocketMQ、FastDFS、Mycat、CAS、分布式鎖、分布式事務、微信開發、學生項目等,學員學完後可以勝任大型、超大型互聯網項目開發高級工程師崗位。

初學Java雖然有一定的難度,但Java學習並不是不可逾越,只要你明確方向,找到有效的學習方法,堅持學習,一定能攻克Java難關,成為一名合格的Java開發工程師。

⑥ Java軟體工程師主要學習哪些課程

一般學習分為幾個階段:
第一個階段:需要學習Java編程基礎,基礎是後面學習的基石,打好基礎才能更好的學習進階課程。這個階段主要學習Java編程語言基礎知識,面向對象,常見基礎類和集合&IO等。
第二個階段:主要學習資料庫編程,MYSQL資料庫,JDBC資料庫,加上綜合實踐。
第三階段:Web前端編程,HTML、CSS、JavaScript和JQuery。
第四階段:JavaWeb編程,XML、Tomcat服務、網路編程、Servlet、JSP、文件上傳&下載、過濾器、監聽器。
第五階段:實戰階段,主要涉及技術有MVC模式、SpringMVC框架、Spring框架、JPA/Hibernate/SpringDataJPA、Mybatis、SpringBoot、Redis、負載均衡、BootStrap、EasyUI、Vue、WebService、Activiti、SpringSecity/Shrio、Maven/Gradle、Linux、全文檢索、消息中間件、微信開發、設計模式和解決方案。

⑦ APP軟體工程師要學會什麼

這一個的話,學習的就比較多了,一般是軟體開發,然後還有各種編程軟體加瓦c c語言睡覺覺等等。

⑧ 軟體工程師都需要學習什麼

軟體工程不等同與軟體開發,軟體工程是一個工程學科其指導意義更多。一個比較貼切的比喻:把一款軟體比做一座大橋,那麼軟體工程師相當與施工總指揮,而一般的開發人員相當與建築工人!

當今社會不論什麼職業的都需要一個不斷學習的環節。軟體工程師也一樣,雖然軟體工程師的工作不同與程序員但是一個軟體工程師其前身必定是一個優秀的程序員,軟體的開發工具開發技術在不斷的發展。在校學生所能學到的東西很難跟的上發展的需要但是也不能說那些東西完全沒有用,只有在完全理解了相應的基本技能之後你才能很輕松的掌握新的技能,軟體技術都是一個循序漸進的過程。所以學好學校所能提供的專業課程是相當重要的。

其次,我說軟體工程是一個工程學科但他同時也是一個管理學科,你必須學會怎樣來領導你的小組是他們能夠完全理解貫徹你的意圖。應此必須具有良好的溝通能力當然這個東西不是讀一本書參加一個培訓班就能作到的,這要依賴於平時的培養。

另外,不要以為你掌握了軟體工程的理論就一定能做軟體工程相應的事情,軟體工程只是一個理論一個指導思想。搞軟體開發的都必須了解這些基本理論並在平時的工作中認真的去貫徹執行。人人都想去管理層面可是有那麼多人給你管么?並不是說所有做技術層面的都做不長關鍵要看你的技術能做到什麼程度,如果你的技術能夠獨當一面那麼別人就必須向你看齊以你為標准。這樣以來不是你被淘汰而是以你的標准去淘汰別人。

總的就是一句話,眼光不要太遠。做好本職工作,把手頭的事情做好了做透了就是成績!任何東西都沒有捷徑,不可能速成!天道酬勤,作為學生你應該知道眼前需要做什麼。

閱讀全文

與軟體工程師要學哪些相關的資料

熱點內容
電腦上怎麼下載班智達的軟體 瀏覽:1115
無痕跡消除圖片軟體 瀏覽:683
免費小票軟體 瀏覽:918
華為在哪裡設置軟體停止運行 瀏覽:929
用電腦鍵盤調節聲音大小 瀏覽:1228
自動刷軟體賺錢 瀏覽:1229
古裝連續劇免費版 瀏覽:1381
工免費漫畫 瀏覽:1121
手機軟體專門儲存文件 瀏覽:1477
uos如何用命令安裝軟體 瀏覽:1273
有線耳機插電腦麥克風 瀏覽:625
侏羅紀世界3在線觀看完整免費 瀏覽:965
單個軟體怎麼設置名稱 瀏覽:688
鳳凰網電腦版下載視頻怎麼下載視頻怎麼下載 瀏覽:1351
明白之後如何免費獲得無人機 瀏覽:800
如何解禁軟體菜單 瀏覽:807
副路由器連接電腦視頻 瀏覽:1323
內置wifi電視如何裝軟體 瀏覽:1062
手機換零免費雪碧 瀏覽:1557
國行蘋果如何下載美版軟體 瀏覽:1173