軟件工程師需要學(xué)習以下知識:
(1) 熟悉計算機系統的基礎知識;
(2) 熟悉網(wǎng)絡(luò )操作系統的基礎知識;
(3) 理解計算機應用系統的設計和開(kāi)發(fā)方法;
(4) 熟悉數據通信的基礎知識;
(5) 熟悉系統安全和數據安全的基礎知識;
(6) 掌握網(wǎng)絡(luò )安全的基本技術(shù)和主要的安全協(xié)議與安全系統;
(7) 掌握計算機網(wǎng)絡(luò )體系結構和網(wǎng)絡(luò )協(xié)議的基本原理;
(8) 掌握計算機網(wǎng)絡(luò )有關(guān)的標準化知識;
(9) 掌握局域網(wǎng)組網(wǎng)技術(shù),理解城域網(wǎng)和廣域網(wǎng)基本技術(shù);
(10) 掌握計算機網(wǎng)絡(luò )互聯(lián)技術(shù);
(11) 掌握TCP/IP協(xié)議網(wǎng)絡(luò )的聯(lián)網(wǎng)方法和網(wǎng)絡(luò )應用服務(wù)技術(shù);
(12) 理解接入網(wǎng)與接入技術(shù);
(13) 掌握網(wǎng)絡(luò )管理的基本原理和操作方法;
(14) 熟悉網(wǎng)絡(luò )系統的基本性能測試和優(yōu)化技術(shù),以及可靠性設計技術(shù);
(15) 理解網(wǎng)絡(luò )應用的基本原理和技術(shù);
(16) 理解網(wǎng)絡(luò )新技術(shù)及其發(fā)展趨勢;
(17) 了解有關(guān)知識產(chǎn)權和互聯(lián)網(wǎng)的法律、法規;
(18) 正確閱讀和理解本領(lǐng)域的英文資料。
希賽軟考學(xué)院程序員考試說(shuō)明:
1.考試目標
通過(guò)本考試的合格人員能根據軟件開(kāi)發(fā)項目管理和軟件工程的要求,按照程序設計規格說(shuō)明書(shū)編制并調試程序,寫(xiě)出相應的程序文檔,具有助理工程師(或技術(shù)員)的實(shí)際工 作能力和業(yè)務(wù)水平。
2.考試要求
(1) 掌握數制及其轉換、數據的機內表示、算術(shù)和邏輯運算、應用數學(xué)的基礎知識;
(2) 了解計算機的組成以及各主要部件性能指標;
(3) 掌握操作系統、程序設計語(yǔ)言的基礎知識;
(4) 熟練掌握基本數據結構和常用算法;
(5) 熟練掌握C程序設計語(yǔ)言以及C++、Java中的一種程序設計語(yǔ)言;
(6) 熟悉數據庫、網(wǎng)絡(luò )和多媒體的基礎知識;
(7) 了解軟件工程的基礎知識、軟件過(guò)程基本知識、軟件開(kāi)發(fā)項目管理的常識;
(8) 了解常用信息技術(shù)標準、安全性以及有關(guān)法律、法規的基礎知識;
(9) 了解信息化及計算機應用的基礎知識;
(10) 正確閱讀和理解計算機領(lǐng)域的簡(jiǎn)單英文資料。
3.考試科目設置
(1)計算機與軟件工程基礎知識,考試時(shí)間為150分鐘,筆試,選擇題;
(2)程序設計,考試時(shí)間為150分鐘,筆試,問(wèn)答題。
以上內容分享于希賽軟考學(xué)院!
培養目標:軟件工程專(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:計算機硬軟件基礎知識 1. 計算機科學(xué)基礎 1.1 數制及其轉換 二進(jìn)制、十進(jìn)制和十六進(jìn)制等常用數制及其相互轉換 1.2 數據的表示 數的表示(原碼、反碼、補碼表示,整數和實(shí)數的機內表示方法,精度和溢出) 非數值表示(字符和漢字的機內表示、聲音和圖像的機內表示) 校驗方法和校驗碼(奇偶校驗碼、海明校驗碼) 1.3 算術(shù)運算和邏輯運算 計算機中二進(jìn)制數的運算方法 邏輯代數的基本運算和邏輯表達式的化簡(jiǎn) 1.4 數學(xué)應用 常用數值計算(矩陣、方程的近似求解、插值) 排列組合、應用統計(數據的統計分析) 1.5 常用數據結構 數組(表態(tài)數組、動(dòng)態(tài)數組)、線(xiàn)性表、鏈表(單向鏈表、雙向鏈表、循環(huán)鏈表)、隊列、棧、樹(shù)(二叉樹(shù)、查找樹(shù))、圖的定義、存儲和操作 1.6 常用算法 常用的排序算法、查找算法、數值計算、字符串處理、數據壓縮算法、遞歸算法、圖的相關(guān)算法 算法與數據結構的關(guān)系,算法效率,算法設計,算法描述(流程圖、偽代碼、決策表) 2. 計算機系統基礎知識 2.1 硬件基礎知識 2.1.1 計算機系統的組成,硬件系統、軟件系統及層次結構 2.1.2 計算機類(lèi)型和特點(diǎn) 微機、工作站、服務(wù)器、大型計算機、巨型計算機 2.1.3 中央處理器CPU 運算器和控制器的組成,常用的寄存器、指令系統、尋址方式、指令執行控制、處理機性能 2.1.4 主存和輔存 存儲器系統 存儲介質(zhì)(半導體、硬盤(pán)、光盤(pán)、閃存、軟盤(pán)、磁帶等) 主存儲器的組成、性能及基本原理 Cache的概念、虛擬存儲的概念 輔存設備的類(lèi)型、特性、性能和容量計算 2.1.5 I/O接口、I/O設備和通信設備 I/O接口(總線(xiàn)、DMA、通道、SCSI、并行口、RS232C、USB、IEEE1394) I/O設備的類(lèi)型和特性(鍵盤(pán)、鼠標、顯示器、打印機、掃描儀、攝像頭,以及各種輔存設備) I/O設備控制方式(中斷控制、DMA) 通信設備的類(lèi)型和特性(Modem、集線(xiàn)器、交換機、中繼器、路由器、網(wǎng)橋、網(wǎng)關(guān))及其連接方法和連接介質(zhì)(串行連接、并行連接,傳輸介質(zhì)的類(lèi)型和特性) 2.2 軟件基礎知識 2.2.1 操作系統基礎知識 操作系統的類(lèi)型和功能 操作系統的內核(中斷控制)和進(jìn)程概念 處理機管理、存儲管理、設備管理、文件管理、作業(yè)管理 漢字處理 圖形用戶(hù)界面及其操作方法 2.2.2 程序設計語(yǔ)言和語(yǔ)言處理程序基礎知識 匯編、編譯、解釋系統的基礎知識 程序設計語(yǔ)言的基本成分(數據、運算、控制和傳輸) 過(guò)程(函數)調用 2.3 網(wǎng)絡(luò )基礎知識 網(wǎng)絡(luò )的功能、分類(lèi)、組成和拓撲結構 網(wǎng)絡(luò )體系結構與協(xié)議(OSI/RM,TCP/IP) 常用網(wǎng)絡(luò )設備與網(wǎng)絡(luò )通信設備,網(wǎng)絡(luò )操作系統基礎知識和使用 Client/Server結構、Browser/Server結構 LAN基礎知識 Internet基礎知識 2.4 數據庫基礎知識 數據庫管理系統的主要功能和特征 數據庫模型(概念模式、外模式、內模式) 數據模型,ER圖 數據操作(關(guān)系運算) 數據庫語(yǔ)言(SQL) 數據庫的主要控制功能 2.5 多媒體基礎知識 多媒體基礎概念,常用多媒體設備性能特征,常用多媒體文件格式類(lèi)型 簡(jiǎn)單圖形的繪制,圖像文件的基本處理方法 音頻和視頻信息的應用 簡(jiǎn)單多媒體應用制作方法 2.6 系統性能指標 響應時(shí)間、吞吐量、周轉時(shí)間等概念 可靠性、可維護性、可擴充性、可移植性、可用性、可重用性、安全性等概念 2.7 計算機應用基礎知識和常用辦公軟件的操作方法 信息管理、數據處理、輔助設計、自動(dòng)控制、科學(xué)計算、人工智能等概念 文字處理基礎知識和常用操作方法 電子表格處理基礎知識和常用操作方法 演示文稿制作方法 電子郵件處理操作方法 網(wǎng)頁(yè)制作方法 3. 軟件開(kāi)發(fā)和運行維護基礎知識 3.1 軟件工程和項目管理基礎知識 軟件工程基本概念 軟件開(kāi)發(fā)各階段的目標和任務(wù) 軟件過(guò)程基本知識 軟件工程項目管理基本知識 面向對象開(kāi)發(fā)方法基礎知識 軟件開(kāi)發(fā)工具與環(huán)境基礎知識(CASE) 軟件質(zhì)量管理基礎知識 3.2 軟件需求分析、需求定義及軟件基礎知識 結構化分析概念(數據流圖(DFD)、實(shí)體關(guān)系圖(ER)) 面向對象設計、結構化設計基礎知識 模擬設計、代碼設計、人機界面設計要點(diǎn) 3.3 程序設計基礎知識 結構設計程序設計,程序流程圖,NS圖,PAD圖 程序設計風(fēng)格 面向對象設計基礎知識、可視化程序設計基礎知識 3.4 程序測試基礎知識 黑盒測試、白盒測試、灰盒測試基礎知識 測試工作流程 3.5 軟件開(kāi)發(fā)文檔基礎知識 3.6 軟件運行和維護基礎知識 軟件運行基礎知識 軟件維護基礎知識 4. 安全性基礎知識 安全性基本概念 計算機病毒的防治,計算機犯罪的防范 訪(fǎng)問(wèn)控制 加密與解密基礎知識 5. 標準化基礎知識 標準化基本概念 國際標準、國家標準、行業(yè)標準、企業(yè)標準基礎知識 代碼標準、文件格式標準、安全標準、軟件開(kāi)發(fā)規范和文檔標準基礎知識 標準化機構 6. 信息化基本知識 信息化基本概念 全球信息化趨勢,國家信息化戰略,企業(yè)信息化戰略和策略常識 有關(guān)的法律、法規要點(diǎn) 過(guò)程教育、電子商務(wù)、電子政務(wù)等常識 企業(yè)信息資源管理常識 7. 計算機專(zhuān)業(yè)英語(yǔ) 掌握計算機技術(shù)的基本詞匯 能正確閱讀和理解本領(lǐng)域的簡(jiǎn)單英文資料 考試科目2:程序設計 1. 內部設計 1.1 理解外部設計 1.2 功能劃分和確定結構 數據流圖、結構圖 1.3 物理數據。
程序員的考試要求:掌握數制及其轉換、數據的機內表示、算術(shù)和邏輯運算,以及相關(guān)的應用數學(xué)基礎知識;理解計算機的組成以及各主要部件的性能指標;掌握操作系統、程序設計語(yǔ)言的基礎知識;熟練掌握計算機常用辦公軟件的基本操作方法;熟練掌握基本數據結構和常用算法;熟練掌握C程序設計語(yǔ)言,以及C++、Java、Visual
Basic中一種程序設計語(yǔ)言;熟悉數據庫、網(wǎng)絡(luò )和多媒體的基礎知識;掌握軟件工程的基礎知識,了解軟件過(guò)程基本知識、軟件開(kāi)發(fā)項目管理的常識;了解常用信息技術(shù)標準、安全性,以及有關(guān)法律、法規的基本知識。
一考試大綱
(1)掌握數制及其轉換、數據的機內表示、算術(shù)和邏輯運算、應用數學(xué)的基礎知識;
(2)了解計算機的組成以及各主要部件性能指標;
(3)掌握操作系統、程序設計語(yǔ)言的基礎知識;
(4)熟練掌握基本數據結構和常用算法;
(5)熟練掌握C程序設計語(yǔ)言以及C++、Java中的一種程序設計語(yǔ)言;
(6)熟悉數據庫、網(wǎng)絡(luò )和多媒體的基礎知識;
(7)了解軟件工程的基礎知識、軟件過(guò)程基本知識、軟件開(kāi)發(fā)項目管理的常識;
(8)了解常用信息技術(shù)標準、安全性以及有關(guān)法律、法規的基礎知識;
(9)了解信息化及計算機應用的基礎知識;
(10)正確閱讀和理解計算機領(lǐng)域的簡(jiǎn)單英文資料。
二考試科目
(1)計算機與軟件工程基礎知識,考試時(shí)間為150分鐘,筆試,選擇題;
(2)程序設計,考試時(shí)間為150分鐘,筆試,問(wèn)答題。
軟件工程師考試(高級)大綱 一、考試說(shuō)明 1.考試要求: (1)理解軟件工程管理的概念和任務(wù); (2)理解軟件生存期過(guò)程; (3)理解軟件工程標準; (4)掌握需求分析、測試、維護基本技術(shù); (5)掌握軟件度量、軟件配置管理方法; (6)理解軟件復用概念; (7)理解軟件質(zhì)量保證的手段; (s)理解軟件項目對人員的需求; (9)理解軟件知識產(chǎn)權的基本知識。
2.通過(guò)本級水平考試的合格人員具有從事軟件系統分析與工程系統分析員、工程管理員的實(shí)際工作能力和業(yè)務(wù)水平。 3.本級水平考試范圍包括三個(gè)模塊,即模塊1、模塊2和模塊3。
題型為單項選擇題十多項選擇題十綜合題。每個(gè)模塊考試時(shí)間為90分鐘。
二、考試范圍 模塊1:軟件工程技術(shù) 1.1軟件生存期過(guò)程 1.1.1軟件工程過(guò)程和軟件生存期 1.1.2軟件生存期模型 1.1.3國際標準:ISO/IECI2207信息技術(shù)一軟件生存期過(guò)程 1.2軟件需求分析 1.2.1需求分析的任務(wù) 1.2.2需求分析過(guò)程 1.2.3需求的類(lèi)型。 1.2.4需求分析的原則 1.2.5需求分析人員和用戶(hù)的責任 1.2.6需求文檔 1.2.7需求說(shuō)明技術(shù)的選擇 1.3軟件復用技術(shù) 1.3.1軟件復用的概念 1.3.2軟件開(kāi)發(fā)過(guò)程 1.3.3構件技術(shù) 1.3.4分層式體系結構 1.3.5實(shí)施軟件復用開(kāi)發(fā)單位的組織結構 1.4軟件測試技術(shù) 1.4.1軟件測試的基本概念 1.4.2測試用例設計 ●白盒測試 ●黑盒測試 1.4.3性能測試 1.4.4軟件測試策略 1.4.5軟件測試工具 1.5軟件維護 1.5.1軟件維護的概念 1.5.2軟件維護活動(dòng) 1.5.3軟件維護的實(shí)施 1.5.4軟件可維護性 1.5.5軟件再工程 1.6軟件工具與軟件開(kāi)發(fā)環(huán)境 1.6.1軟件開(kāi)發(fā)工具的分類(lèi)、作用和功能 1.6.2軟件開(kāi)發(fā)環(huán)境的概念 模塊2:軟件質(zhì)量管理與軟件質(zhì)量保證 2.1軟件質(zhì)量 2.1.1什么是軟件質(zhì)量 2.1.2軟件可靠性 2.1.3軟件質(zhì)量問(wèn)題的根源 2.1.4軟件產(chǎn)品質(zhì)量與軟件過(guò)程質(zhì)量 2.2軟件質(zhì)量保證 2.2.1軟件質(zhì)量保證的概念 2.2.2軟件質(zhì)量保證體系 2.2.3質(zhì)量保證的實(shí)施 2.2.4軟件質(zhì)量設計 2.2.5軟件容錯技術(shù) 2.3軟件工程標準與軟件文檔 2.3.1什么是軟件工程標準 2.3.2軟件工程標準化的意義 2.3.3軟件工程標準的制訂與推行 2.3.4軟件工程標準的層次 2,3.5軟件工程國家標準 2.4ISO9000國際標準 2.4.1質(zhì)量管理、質(zhì)量認證與質(zhì)量審核 2.4.2ISO9000標準概要 2.4.3ISO9000族標準構成 2.4.4質(zhì)量體系 2.4.5ISO9001的主要內容 2.4.6ISO9000_3實(shí)施指南概要 2.5軟件過(guò)程能力評估CMM 2.5.1軟件過(guò)程評估的意義 2.5.2軟件過(guò)程能力成熟度分級及其關(guān)鍵過(guò)程域 2.5.3軟件過(guò)程評估的國際標準 2.6軟件度量 2.6.1軟件度量的概念 2.6.2功能點(diǎn)方法計算軟件的大小 2.6.3程序環(huán)路復雜度計算 2.6.4Halstead程序工作量計算 2.6.5程序風(fēng)格度量 2.7軟件配置管理 2.7.1什么是軟件配置管理 2.7.2配置管理計劃的制訂 2.7.3變更管理 2.7.4版本管理和發(fā)行管理 模塊3:軟件工程管理 3.1軟件工程管理和軟件項目管理 3.1.1軟件工程管理的任務(wù)與意義 3.1.2軟件工程管理的范圍 3.1.3軟件文檔管理 3.1.4軟件成本估算 3.1.5軟件風(fēng)險分析 3.1.6軟件項目進(jìn)度計劃與監控 3.2軟件人員管理 3.2.1軟件開(kāi)發(fā)組織結構 3.2.2軟件人員能力成熟度模型 3.2.3軟件工程師道德和職業(yè)活動(dòng)規范 3.3軟件知識產(chǎn)權保護 3.3.1什么是知識產(chǎn)權 3.3.2計算機軟件著(zhù)作權 3.3.3計算機軟件著(zhù)作權登記管理 3.3.4計算機軟件著(zhù)作權侵權與法律保護 3.3.5計算機軟件的商業(yè)秘密與反不正當競爭================================= 高級軟件工程師哪些必須精通2007年09月26日 星期三 下午 05:31程序員的七種武器 信息技術(shù)的發(fā)展時(shí)間雖然不長(cháng),但其爆炸式的發(fā)展速度使信息技術(shù)迅速覆蓋社會(huì )和人類(lèi)生活的各個(gè)角落。
程序員們是這場(chǎng)信息化浪潮的見(jiàn)證者之一,更是其中的主要參與者,這是時(shí)代賦予每個(gè)程序員的機會(huì )和責任。 信息技術(shù)的更新速度是驚人的,程序員的職業(yè)生涯則是一個(gè)要求不斷學(xué)習的過(guò)程,永遠不能固步自封。
本人在工作期間曾看見(jiàn)過(guò)很多程序員只要有閑暇時(shí)間就瀏覽一些沒(méi)有太大作用的網(wǎng)頁(yè),在網(wǎng)上聊天,打游戲,浪費了大量的時(shí)間,十分不可取。而另外一種情況是,IT技術(shù)的日新月異使很多程序員眼花繚亂,什么都想學(xué),卻又不知從何學(xué)起,今天看看這個(gè),明天學(xué)學(xué)那個(gè),貪多不熟。
雖然IT技術(shù)發(fā)展迅速,但很多技術(shù)都是有規律可循,一些基本的概念、原理和方法還很通用,可以舉一反三。本人根據自己的體會(huì )和經(jīng)驗,向那些剛剛踏入IT行業(yè)的新程序員們或正在迷茫的程序員們推薦程序員必須掌握的七種武器,有了這七種武器,雖不敢說(shuō)笑傲江湖,但將自己立于不敗之地還是可以的。
第一種武器:開(kāi)發(fā)工具 至少熟練掌握兩到三種開(kāi)發(fā)工具的使用,這是程序員的立身之本,其中C/C++和JAVA是我重點(diǎn)推薦的開(kāi)發(fā)工具,C/C++以其高效率和高度的靈活性成為開(kāi)發(fā)工具中的利器,很多系統級的軟件還是用C/C++編寫(xiě)。而JAVA的跨平臺和與WEB很好的結合是JAVA的優(yōu)勢所在,而本人對SUN公司的“網(wǎng)絡(luò )即計算機”的概念相當欣賞,并相信JAVA即其相關(guān)的技術(shù)集JAVA One會(huì )成為未來(lái)的主流開(kāi)發(fā)工具之一。
其次,如果能掌握一種簡(jiǎn)便的可視化開(kāi)發(fā)工具,如VB,PowerBuilder,Delphi,C++ Builder,則更好,。
不懂就不懂何羞之有阿,反而mm的不懂就問(wèn)得習慣是很好的。
軟件工程專(zhuān)業(yè)旨在培養能從事計算機系統軟件、應用軟件的設計、研制和開(kāi)發(fā)的高級工程技術(shù)人才。本專(zhuān)業(yè)培養具有良好的科學(xué)素養,系統地掌握計算機科學(xué)與技術(shù)基礎知識、規范的軟件設計與開(kāi)發(fā)能力、良好的組織與交流能力,能在科研部門(mén)、教育單位、企業(yè)、事業(yè)和行政管理部門(mén)等單位從事復合型、實(shí)用型高層次軟件設計、系統分析和工程應用的高級專(zhuān)門(mén)技術(shù)人才。近幾年,我國軟件產(chǎn)業(yè)不斷發(fā)展,對軟件從業(yè)人員的需求也在不斷增加中,新增的軟件工程專(zhuān)業(yè),對培養這方面的人才起很大的作用。可以看出來(lái)軟件工程專(zhuān)業(yè)的培養目標是運用先進(jìn)的工程化方法、技術(shù)和工具從事軟件分析、設計、開(kāi)發(fā)、維護等工作能力,以及工程項目的組織與管理能力的實(shí)用型、復合型軟件工程技術(shù)與管理的高級人才。
專(zhuān)業(yè)學(xué)習的主要課程有:面向對象系統分析與設計、軟件體系結構、軟件項目管理、軟件需求工程、軟件質(zhì)量保證與軟件測試技術(shù)、先進(jìn)軟件開(kāi)發(fā)與工具、軟件過(guò)程改進(jìn)與管理。
就這些吧,希望能對你有所幫助。
軟件工程師要看呢,是.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í)間:3.544秒