軟件工程師需要學習以下知識:
(1) 熟悉計算機系統(tǒng)的基礎(chǔ)知識;
(2) 熟悉網(wǎng)絡(luò)操作系統(tǒng)的基礎(chǔ)知識;
(3) 理解計算機應(yīng)用系統(tǒng)的設(shè)計和開發(fā)方法;
(4) 熟悉數(shù)據(jù)通信的基礎(chǔ)知識;
(5) 熟悉系統(tǒng)安全和數(shù)據(jù)安全的基礎(chǔ)知識;
(6) 掌握網(wǎng)絡(luò)安全的基本技術(shù)和主要的安全協(xié)議與安全系統(tǒng);
(7) 掌握計算機網(wǎng)絡(luò)體系結(jié)構(gòu)和網(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ò)應(yīng)用服務(wù)技術(shù);
(12) 理解接入網(wǎng)與接入技術(shù);
(13) 掌握網(wǎng)絡(luò)管理的基本原理和操作方法;
(14) 熟悉網(wǎng)絡(luò)系統(tǒng)的基本性能測試和優(yōu)化技術(shù),以及可靠性設(shè)計技術(shù);
(15) 理解網(wǎng)絡(luò)應(yīng)用的基本原理和技術(shù);
(16) 理解網(wǎng)絡(luò)新技術(shù)及其發(fā)展趨勢;
(17) 了解有關(guān)知識產(chǎn)權(quán)和互聯(lián)網(wǎng)的法律、法規(guī);
(18) 正確閱讀和理解本領(lǐng)域的英文資料。
希賽軟考學院程序員考試說明:
1.考試目標
通過本考試的合格人員能根據(jù)軟件開發(fā)項目管理和軟件工程的要求,按照程序設(shè)計規(guī)格說明書編制并調(diào)試程序,寫出相應(yīng)的程序文檔,具有助理工程師(或技術(shù)員)的實際工 作能力和業(yè)務(wù)水平。
2.考試要求
(1) 掌握數(shù)制及其轉(zhuǎn)換、數(shù)據(jù)的機內(nèi)表示、算術(shù)和邏輯運算、應(yīng)用數(shù)學的基礎(chǔ)知識;
(2) 了解計算機的組成以及各主要部件性能指標;
(3) 掌握操作系統(tǒng)、程序設(shè)計語言的基礎(chǔ)知識;
(4) 熟練掌握基本數(shù)據(jù)結(jié)構(gòu)和常用算法;
(5) 熟練掌握C程序設(shè)計語言以及C++、Java中的一種程序設(shè)計語言;
(6) 熟悉數(shù)據(jù)庫、網(wǎng)絡(luò)和多媒體的基礎(chǔ)知識;
(7) 了解軟件工程的基礎(chǔ)知識、軟件過程基本知識、軟件開發(fā)項目管理的常識;
(8) 了解常用信息技術(shù)標準、安全性以及有關(guān)法律、法規(guī)的基礎(chǔ)知識;
(9) 了解信息化及計算機應(yīng)用的基礎(chǔ)知識;
(10) 正確閱讀和理解計算機領(lǐng)域的簡單英文資料。
3.考試科目設(shè)置
(1)計算機與軟件工程基礎(chǔ)知識,考試時間為150分鐘,筆試,選擇題;
(2)程序設(shè)計,考試時間為150分鐘,筆試,問答題。
以上內(nèi)容分享于希賽軟考學院!
培養(yǎng)目標:軟件工程專業(yè)培養(yǎng)面向國民經(jīng)濟信息化建設(shè)和發(fā)展的需要,培養(yǎng)具有扎實的計算機應(yīng)用理論和知識基礎(chǔ),掌握軟件工程領(lǐng)域的前沿技術(shù)和軟件開發(fā)方法,具備較強的軟件項目的系統(tǒng)分析、設(shè)計、開發(fā)和測試能力,能夠按工程化的原則和方法從事軟件項目開發(fā)和管理的高級工程技術(shù)人才。
主要課程:離散數(shù)學、面向?qū)ο蟪绦蛟O(shè)計、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫原理、操作系統(tǒng)、計算機網(wǎng)絡(luò)、軟件工程、軟件過程與管理、軟件測試技術(shù)、軟件質(zhì)量管理、軟件項目管理等。
畢業(yè)去向:軟件工程專業(yè)畢業(yè)生主要在信息產(chǎn)業(yè)和國民經(jīng)濟部門從事信息系統(tǒng)研究、分析、設(shè)計、開發(fā)和測試以及軟件工程項目的組織和管理工作,也可考取計算機科學與技術(shù)專業(yè)的碩士研究生。
軟件工程專業(yè)是今后的熱門,就業(yè)前景非常好!目前軟件工程9個專業(yè)的內(nèi)容和就業(yè)情況如下:
1 可視化編程
掌握程序設(shè)計方法及可視化技術(shù),精通一種可視化平臺及其軟件開發(fā)技術(shù)。獲取Delphi程序員系列、Java初級或VB開發(fā)能手認證。
就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等可視化編程程序員。
2 WEB應(yīng)用程序設(shè)計
具有美工基礎(chǔ)和網(wǎng)頁動畫設(shè)計能力,掌握交互式網(wǎng)頁程序的設(shè)計技術(shù),能進行網(wǎng)站建設(shè)和維護。獲取Macromedia多媒體互動設(shè)計師或Delphi初級程序員或Delphi快速網(wǎng)絡(luò)開發(fā)工程師認證。
就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等WEB應(yīng)用程序員。
3 軟件測試掌握軟件測試的基本原理、方法和組織管理,精通軟件測試工具。獲取ATA軟件測試工程師或Delphi初級程序員或Java初級程序員認證。
就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等軟件測試員。
4 數(shù)據(jù)庫管理
能應(yīng)用關(guān)系范式進行數(shù)據(jù)庫設(shè)計,精通SQL語言,勝任數(shù)據(jù)庫服務(wù)器管理與應(yīng)用工作。獲取Oracle數(shù)據(jù)庫管理或SQL Server數(shù)據(jù)庫應(yīng)用或Windows XP應(yīng)用認證。
就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等部門的中、大型數(shù)據(jù)庫管理員。
5 圖形圖像制作
精通國際上流行的圖形/圖像制作工具(如CorelDraw、Photoshop、Pagemaker等)。獲取平面設(shè)計師相關(guān)的認證。
就業(yè)方向:廣告制作公司、建筑設(shè)計公司、包裝裝璜設(shè)計公司、居室裝修公司、出版印刷公司。
6 網(wǎng)絡(luò)構(gòu)建技術(shù)
熟悉網(wǎng)絡(luò)結(jié)構(gòu)和組網(wǎng)方式,掌握建網(wǎng)方法,能利用工具分析和排除常見網(wǎng)絡(luò)故障。獲取Cisco路由配置或華為網(wǎng)絡(luò)工程或AMP應(yīng)用工程師認證。
就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等網(wǎng)絡(luò)構(gòu)建工程師。
7 網(wǎng)絡(luò)系統(tǒng)管理
掌握網(wǎng)絡(luò)系統(tǒng)管理的基本知識與應(yīng)用技能,能進行網(wǎng)絡(luò)系統(tǒng)的安全設(shè)置。獲取Window2000 Server或TurboLinux TLCE或Cisco路由配置專家認證。
就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等網(wǎng)絡(luò)系統(tǒng)管理員。
8 多媒體制作
具有多媒體程序設(shè)計與多媒體制作策劃的能力?;菊莆彰嫦?qū)ο蟪绦蛟O(shè)計與建模、造型設(shè)計、場景設(shè)計、分鏡頭原理等技能。獲取多媒體設(shè)計師相關(guān)的認證。
就業(yè)方向:多媒體設(shè)計與制作公司、動畫美術(shù)制作出版公司、廣告制作公司。
9 計算機辦公應(yīng)用
精通辦公自動化應(yīng)用與管理,熟悉服務(wù)器的安裝、管理和維護,基于應(yīng)用服務(wù)器的相關(guān)服務(wù)和軟件系統(tǒng),具備對服務(wù)器的網(wǎng)絡(luò)安全設(shè)置、郵件、網(wǎng)頁發(fā)布、FTP、OA、BBS等系統(tǒng)的應(yīng)用和維護能力。就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等系統(tǒng)管理
初級程序員考試:考試科目1:計算機硬軟件基礎(chǔ)知識 1. 計算機科學基礎(chǔ) 1.1 數(shù)制及其轉(zhuǎn)換 二進制、十進制和十六進制等常用數(shù)制及其相互轉(zhuǎn)換 1.2 數(shù)據(jù)的表示 數(shù)的表示(原碼、反碼、補碼表示,整數(shù)和實數(shù)的機內(nèi)表示方法,精度和溢出) 非數(shù)值表示(字符和漢字的機內(nèi)表示、聲音和圖像的機內(nèi)表示) 校驗方法和校驗碼(奇偶校驗碼、海明校驗碼) 1.3 算術(shù)運算和邏輯運算 計算機中二進制數(shù)的運算方法 邏輯代數(shù)的基本運算和邏輯表達式的化簡 1.4 數(shù)學應(yīng)用 常用數(shù)值計算(矩陣、方程的近似求解、插值) 排列組合、應(yīng)用統(tǒng)計(數(shù)據(jù)的統(tǒng)計分析) 1.5 常用數(shù)據(jù)結(jié)構(gòu) 數(shù)組(表態(tài)數(shù)組、動態(tài)數(shù)組)、線性表、鏈表(單向鏈表、雙向鏈表、循環(huán)鏈表)、隊列、棧、樹(二叉樹、查找樹)、圖的定義、存儲和操作 1.6 常用算法 常用的排序算法、查找算法、數(shù)值計算、字符串處理、數(shù)據(jù)壓縮算法、遞歸算法、圖的相關(guān)算法 算法與數(shù)據(jù)結(jié)構(gòu)的關(guān)系,算法效率,算法設(shè)計,算法描述(流程圖、偽代碼、決策表) 2. 計算機系統(tǒng)基礎(chǔ)知識 2.1 硬件基礎(chǔ)知識 2.1.1 計算機系統(tǒng)的組成,硬件系統(tǒng)、軟件系統(tǒng)及層次結(jié)構(gòu) 2.1.2 計算機類型和特點 微機、工作站、服務(wù)器、大型計算機、巨型計算機 2.1.3 中央處理器CPU 運算器和控制器的組成,常用的寄存器、指令系統(tǒng)、尋址方式、指令執(zhí)行控制、處理機性能 2.1.4 主存和輔存 存儲器系統(tǒng) 存儲介質(zhì)(半導體、硬盤、光盤、閃存、軟盤、磁帶等) 主存儲器的組成、性能及基本原理 Cache的概念、虛擬存儲的概念 輔存設(shè)備的類型、特性、性能和容量計算 2.1.5 I/O接口、I/O設(shè)備和通信設(shè)備 I/O接口(總線、DMA、通道、SCSI、并行口、RS232C、USB、IEEE1394) I/O設(shè)備的類型和特性(鍵盤、鼠標、顯示器、打印機、掃描儀、攝像頭,以及各種輔存設(shè)備) I/O設(shè)備控制方式(中斷控制、DMA) 通信設(shè)備的類型和特性(Modem、集線器、交換機、中繼器、路由器、網(wǎng)橋、網(wǎng)關(guān))及其連接方法和連接介質(zhì)(串行連接、并行連接,傳輸介質(zhì)的類型和特性) 2.2 軟件基礎(chǔ)知識 2.2.1 操作系統(tǒng)基礎(chǔ)知識 操作系統(tǒng)的類型和功能 操作系統(tǒng)的內(nèi)核(中斷控制)和進程概念 處理機管理、存儲管理、設(shè)備管理、文件管理、作業(yè)管理 漢字處理 圖形用戶界面及其操作方法 2.2.2 程序設(shè)計語言和語言處理程序基礎(chǔ)知識 匯編、編譯、解釋系統(tǒng)的基礎(chǔ)知識 程序設(shè)計語言的基本成分(數(shù)據(jù)、運算、控制和傳輸) 過程(函數(shù))調(diào)用 2.3 網(wǎng)絡(luò)基礎(chǔ)知識 網(wǎng)絡(luò)的功能、分類、組成和拓撲結(jié)構(gòu) 網(wǎng)絡(luò)體系結(jié)構(gòu)與協(xié)議(OSI/RM,TCP/IP) 常用網(wǎng)絡(luò)設(shè)備與網(wǎng)絡(luò)通信設(shè)備,網(wǎng)絡(luò)操作系統(tǒng)基礎(chǔ)知識和使用 Client/Server結(jié)構(gòu)、Browser/Server結(jié)構(gòu) LAN基礎(chǔ)知識 Internet基礎(chǔ)知識 2.4 數(shù)據(jù)庫基礎(chǔ)知識 數(shù)據(jù)庫管理系統(tǒng)的主要功能和特征 數(shù)據(jù)庫模型(概念模式、外模式、內(nèi)模式) 數(shù)據(jù)模型,ER圖 數(shù)據(jù)操作(關(guān)系運算) 數(shù)據(jù)庫語言(SQL) 數(shù)據(jù)庫的主要控制功能 2.5 多媒體基礎(chǔ)知識 多媒體基礎(chǔ)概念,常用多媒體設(shè)備性能特征,常用多媒體文件格式類型 簡單圖形的繪制,圖像文件的基本處理方法 音頻和視頻信息的應(yīng)用 簡單多媒體應(yīng)用制作方法 2.6 系統(tǒng)性能指標 響應(yīng)時間、吞吐量、周轉(zhuǎn)時間等概念 可靠性、可維護性、可擴充性、可移植性、可用性、可重用性、安全性等概念 2.7 計算機應(yīng)用基礎(chǔ)知識和常用辦公軟件的操作方法 信息管理、數(shù)據(jù)處理、輔助設(shè)計、自動控制、科學計算、人工智能等概念 文字處理基礎(chǔ)知識和常用操作方法 電子表格處理基礎(chǔ)知識和常用操作方法 演示文稿制作方法 電子郵件處理操作方法 網(wǎng)頁制作方法 3. 軟件開發(fā)和運行維護基礎(chǔ)知識 3.1 軟件工程和項目管理基礎(chǔ)知識 軟件工程基本概念 軟件開發(fā)各階段的目標和任務(wù) 軟件過程基本知識 軟件工程項目管理基本知識 面向?qū)ο箝_發(fā)方法基礎(chǔ)知識 軟件開發(fā)工具與環(huán)境基礎(chǔ)知識(CASE) 軟件質(zhì)量管理基礎(chǔ)知識 3.2 軟件需求分析、需求定義及軟件基礎(chǔ)知識 結(jié)構(gòu)化分析概念(數(shù)據(jù)流圖(DFD)、實體關(guān)系圖(ER)) 面向?qū)ο笤O(shè)計、結(jié)構(gòu)化設(shè)計基礎(chǔ)知識 模擬設(shè)計、代碼設(shè)計、人機界面設(shè)計要點 3.3 程序設(shè)計基礎(chǔ)知識 結(jié)構(gòu)設(shè)計程序設(shè)計,程序流程圖,NS圖,PAD圖 程序設(shè)計風格 面向?qū)ο笤O(shè)計基礎(chǔ)知識、可視化程序設(shè)計基礎(chǔ)知識 3.4 程序測試基礎(chǔ)知識 黑盒測試、白盒測試、灰盒測試基礎(chǔ)知識 測試工作流程 3.5 軟件開發(fā)文檔基礎(chǔ)知識 3.6 軟件運行和維護基礎(chǔ)知識 軟件運行基礎(chǔ)知識 軟件維護基礎(chǔ)知識 4. 安全性基礎(chǔ)知識 安全性基本概念 計算機病毒的防治,計算機犯罪的防范 訪問控制 加密與解密基礎(chǔ)知識 5. 標準化基礎(chǔ)知識 標準化基本概念 國際標準、國家標準、行業(yè)標準、企業(yè)標準基礎(chǔ)知識 代碼標準、文件格式標準、安全標準、軟件開發(fā)規(guī)范和文檔標準基礎(chǔ)知識 標準化機構(gòu) 6. 信息化基本知識 信息化基本概念 全球信息化趨勢,國家信息化戰(zhàn)略,企業(yè)信息化戰(zhàn)略和策略常識 有關(guān)的法律、法規(guī)要點 過程教育、電子商務(wù)、電子政務(wù)等常識 企業(yè)信息資源管理常識 7. 計算機專業(yè)英語 掌握計算機技術(shù)的基本詞匯 能正確閱讀和理解本領(lǐng)域的簡單英文資料 考試科目2:程序設(shè)計 1. 內(nèi)部設(shè)計 1.1 理解外部設(shè)計 1.2 功能劃分和確定結(jié)構(gòu) 數(shù)據(jù)流圖、結(jié)構(gòu)圖 1.3 物理數(shù)據(jù)。
程序員的考試要求:掌握數(shù)制及其轉(zhuǎn)換、數(shù)據(jù)的機內(nèi)表示、算術(shù)和邏輯運算,以及相關(guān)的應(yīng)用數(shù)學基礎(chǔ)知識;理解計算機的組成以及各主要部件的性能指標;掌握操作系統(tǒng)、程序設(shè)計語言的基礎(chǔ)知識;熟練掌握計算機常用辦公軟件的基本操作方法;熟練掌握基本數(shù)據(jù)結(jié)構(gòu)和常用算法;熟練掌握C程序設(shè)計語言,以及C++、Java、Visual
Basic中一種程序設(shè)計語言;熟悉數(shù)據(jù)庫、網(wǎng)絡(luò)和多媒體的基礎(chǔ)知識;掌握軟件工程的基礎(chǔ)知識,了解軟件過程基本知識、軟件開發(fā)項目管理的常識;了解常用信息技術(shù)標準、安全性,以及有關(guān)法律、法規(guī)的基本知識。
一考試大綱
(1)掌握數(shù)制及其轉(zhuǎn)換、數(shù)據(jù)的機內(nèi)表示、算術(shù)和邏輯運算、應(yīng)用數(shù)學的基礎(chǔ)知識;
(2)了解計算機的組成以及各主要部件性能指標;
(3)掌握操作系統(tǒng)、程序設(shè)計語言的基礎(chǔ)知識;
(4)熟練掌握基本數(shù)據(jù)結(jié)構(gòu)和常用算法;
(5)熟練掌握C程序設(shè)計語言以及C++、Java中的一種程序設(shè)計語言;
(6)熟悉數(shù)據(jù)庫、網(wǎng)絡(luò)和多媒體的基礎(chǔ)知識;
(7)了解軟件工程的基礎(chǔ)知識、軟件過程基本知識、軟件開發(fā)項目管理的常識;
(8)了解常用信息技術(shù)標準、安全性以及有關(guān)法律、法規(guī)的基礎(chǔ)知識;
(9)了解信息化及計算機應(yīng)用的基礎(chǔ)知識;
(10)正確閱讀和理解計算機領(lǐng)域的簡單英文資料。
二考試科目
(1)計算機與軟件工程基礎(chǔ)知識,考試時間為150分鐘,筆試,選擇題;
(2)程序設(shè)計,考試時間為150分鐘,筆試,問答題。
軟件工程師考試(高級)大綱 一、考試說明 1.考試要求: (1)理解軟件工程管理的概念和任務(wù); (2)理解軟件生存期過程; (3)理解軟件工程標準; (4)掌握需求分析、測試、維護基本技術(shù); (5)掌握軟件度量、軟件配置管理方法; (6)理解軟件復用概念; (7)理解軟件質(zhì)量保證的手段; (s)理解軟件項目對人員的需求; (9)理解軟件知識產(chǎn)權(quán)的基本知識。
2.通過本級水平考試的合格人員具有從事軟件系統(tǒng)分析與工程系統(tǒng)分析員、工程管理員的實際工作能力和業(yè)務(wù)水平。 3.本級水平考試范圍包括三個模塊,即模塊1、模塊2和模塊3。
題型為單項選擇題十多項選擇題十綜合題。每個模塊考試時間為90分鐘。
二、考試范圍 模塊1:軟件工程技術(shù) 1.1軟件生存期過程 1.1.1軟件工程過程和軟件生存期 1.1.2軟件生存期模型 1.1.3國際標準:ISO/IECI2207信息技術(shù)一軟件生存期過程 1.2軟件需求分析 1.2.1需求分析的任務(wù) 1.2.2需求分析過程 1.2.3需求的類型。 1.2.4需求分析的原則 1.2.5需求分析人員和用戶的責任 1.2.6需求文檔 1.2.7需求說明技術(shù)的選擇 1.3軟件復用技術(shù) 1.3.1軟件復用的概念 1.3.2軟件開發(fā)過程 1.3.3構(gòu)件技術(shù) 1.3.4分層式體系結(jié)構(gòu) 1.3.5實施軟件復用開發(fā)單位的組織結(jié)構(gòu) 1.4軟件測試技術(shù) 1.4.1軟件測試的基本概念 1.4.2測試用例設(shè)計 ●白盒測試 ●黑盒測試 1.4.3性能測試 1.4.4軟件測試策略 1.4.5軟件測試工具 1.5軟件維護 1.5.1軟件維護的概念 1.5.2軟件維護活動 1.5.3軟件維護的實施 1.5.4軟件可維護性 1.5.5軟件再工程 1.6軟件工具與軟件開發(fā)環(huán)境 1.6.1軟件開發(fā)工具的分類、作用和功能 1.6.2軟件開發(fā)環(huán)境的概念 模塊2:軟件質(zhì)量管理與軟件質(zhì)量保證 2.1軟件質(zhì)量 2.1.1什么是軟件質(zhì)量 2.1.2軟件可靠性 2.1.3軟件質(zhì)量問題的根源 2.1.4軟件產(chǎn)品質(zhì)量與軟件過程質(zhì)量 2.2軟件質(zhì)量保證 2.2.1軟件質(zhì)量保證的概念 2.2.2軟件質(zhì)量保證體系 2.2.3質(zhì)量保證的實施 2.2.4軟件質(zhì)量設(shè)計 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族標準構(gòu)成 2.4.4質(zhì)量體系 2.4.5ISO9001的主要內(nèi)容 2.4.6ISO9000_3實施指南概要 2.5軟件過程能力評估CMM 2.5.1軟件過程評估的意義 2.5.2軟件過程能力成熟度分級及其關(guān)鍵過程域 2.5.3軟件過程評估的國際標準 2.6軟件度量 2.6.1軟件度量的概念 2.6.2功能點方法計算軟件的大小 2.6.3程序環(huán)路復雜度計算 2.6.4Halstead程序工作量計算 2.6.5程序風格度量 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軟件風險分析 3.1.6軟件項目進度計劃與監(jiān)控 3.2軟件人員管理 3.2.1軟件開發(fā)組織結(jié)構(gòu) 3.2.2軟件人員能力成熟度模型 3.2.3軟件工程師道德和職業(yè)活動規(guī)范 3.3軟件知識產(chǎn)權(quán)保護 3.3.1什么是知識產(chǎn)權(quán) 3.3.2計算機軟件著作權(quán) 3.3.3計算機軟件著作權(quán)登記管理 3.3.4計算機軟件著作權(quán)侵權(quán)與法律保護 3.3.5計算機軟件的商業(yè)秘密與反不正當競爭================================= 高級軟件工程師哪些必須精通2007年09月26日 星期三 下午 05:31程序員的七種武器 信息技術(shù)的發(fā)展時間雖然不長,但其爆炸式的發(fā)展速度使信息技術(shù)迅速覆蓋社會和人類生活的各個角落。
程序員們是這場信息化浪潮的見證者之一,更是其中的主要參與者,這是時代賦予每個程序員的機會和責任。 信息技術(shù)的更新速度是驚人的,程序員的職業(yè)生涯則是一個要求不斷學習的過程,永遠不能固步自封。
本人在工作期間曾看見過很多程序員只要有閑暇時間就瀏覽一些沒有太大作用的網(wǎng)頁,在網(wǎng)上聊天,打游戲,浪費了大量的時間,十分不可取。而另外一種情況是,IT技術(shù)的日新月異使很多程序員眼花繚亂,什么都想學,卻又不知從何學起,今天看看這個,明天學學那個,貪多不熟。
雖然IT技術(shù)發(fā)展迅速,但很多技術(shù)都是有規(guī)律可循,一些基本的概念、原理和方法還很通用,可以舉一反三。本人根據(jù)自己的體會和經(jīng)驗,向那些剛剛踏入IT行業(yè)的新程序員們或正在迷茫的程序員們推薦程序員必須掌握的七種武器,有了這七種武器,雖不敢說笑傲江湖,但將自己立于不敗之地還是可以的。
第一種武器:開發(fā)工具 至少熟練掌握兩到三種開發(fā)工具的使用,這是程序員的立身之本,其中C/C++和JAVA是我重點推薦的開發(fā)工具,C/C++以其高效率和高度的靈活性成為開發(fā)工具中的利器,很多系統(tǒng)級的軟件還是用C/C++編寫。而JAVA的跨平臺和與WEB很好的結(jié)合是JAVA的優(yōu)勢所在,而本人對SUN公司的“網(wǎng)絡(luò)即計算機”的概念相當欣賞,并相信JAVA即其相關(guān)的技術(shù)集JAVA One會成為未來的主流開發(fā)工具之一。
其次,如果能掌握一種簡便的可視化開發(fā)工具,如VB,PowerBuilder,Delphi,C++ Builder,則更好,。
不懂就不懂何羞之有阿,反而mm的不懂就問得習慣是很好的。
軟件工程專業(yè)旨在培養(yǎng)能從事計算機系統(tǒng)軟件、應(yīng)用軟件的設(shè)計、研制和開發(fā)的高級工程技術(shù)人才。本專業(yè)培養(yǎng)具有良好的科學素養(yǎng),系統(tǒng)地掌握計算機科學與技術(shù)基礎(chǔ)知識、規(guī)范的軟件設(shè)計與開發(fā)能力、良好的組織與交流能力,能在科研部門、教育單位、企業(yè)、事業(yè)和行政管理部門等單位從事復合型、實用型高層次軟件設(shè)計、系統(tǒng)分析和工程應(yīng)用的高級專門技術(shù)人才。近幾年,我國軟件產(chǎn)業(yè)不斷發(fā)展,對軟件從業(yè)人員的需求也在不斷增加中,新增的軟件工程專業(yè),對培養(yǎng)這方面的人才起很大的作用??梢钥闯鰜碥浖こ虒I(yè)的培養(yǎng)目標是運用先進的工程化方法、技術(shù)和工具從事軟件分析、設(shè)計、開發(fā)、維護等工作能力,以及工程項目的組織與管理能力的實用型、復合型軟件工程技術(shù)與管理的高級人才。
專業(yè)學習的主要課程有:面向?qū)ο笙到y(tǒng)分析與設(shè)計、軟件體系結(jié)構(gòu)、軟件項目管理、軟件需求工程、軟件質(zhì)量保證與軟件測試技術(shù)、先進軟件開發(fā)與工具、軟件過程改進與管理。
就這些吧,希望能對你有所幫助。
軟件工程師要看呢,是.NET的還是JAVA的。
下面提供一些資料希望你喜歡 35公里 寫道 "出色的軟件工程師善用設(shè)計模式,勤于代碼重構(gòu),編寫單元測試,并對簡單有宗教般的追求。除了這些,優(yōu)秀的軟件工程師還要通曉10個概念,這10個概念超越了編程語言與設(shè)計模式,軟件工程師應(yīng)當從更廣的范圍內(nèi)明白這些道理(全文閱讀): 接口 (Interfaces ) 慣例與模板 (Conventions and Templates) 分層 (Layering ) 算法的復雜性 (Algorithmic Complexity) 散列法 (Hashing ) 緩存 (Caching ) 并發(fā) (Concurrency ) 云計算(Cloud Computing ) 安全(Security ) 關(guān)系數(shù)據(jù)庫 (Relational Databases ) 10. 關(guān)系數(shù)據(jù)庫 (Relational Databases) 關(guān)系數(shù)據(jù)庫因為在大規(guī)模 Web 服務(wù)上缺乏可擴充性而頗受微詞,然而,關(guān)系數(shù)據(jù)庫仍然是近20年來計算機技術(shù)中最偉大的成就。
關(guān)系數(shù)據(jù)庫對處理訂單,公司數(shù)據(jù)方面有著出色的表現(xiàn)。 關(guān)系數(shù)據(jù)庫的核心是以記錄表示數(shù)據(jù),記錄存放在數(shù)據(jù)庫表,數(shù)據(jù)庫使用查詢語言(SQL)對數(shù)據(jù)進行搜索與查詢,同時,數(shù)據(jù)庫對各個數(shù)據(jù)表進行關(guān)聯(lián)。
數(shù)據(jù)庫的標準化技術(shù)(normalization)講的是使用正確的方式對數(shù)據(jù)進行分存以降低冗余,并加快存取速度。 9. 安全 (Security) 隨著黑客的崛起與數(shù)據(jù)敏感性的上升,安全變得非常重要。
安全是個廣義的概念,涉及驗證,授權(quán)與信息傳輸。 驗證是對用戶的身份進行檢查,如要求用戶輸入密碼。
驗證通常需要結(jié)合 SSL (secure socket layer)進行;授權(quán)在公司業(yè)務(wù)系統(tǒng)中非常重要,尤其是一些工作流系統(tǒng)。最近開發(fā)的 OAuth 協(xié)議可以幫助 Web 服務(wù)將相應(yīng)信息向相應(yīng)用戶開放。
Flickr 便使用這種方式管理私人照片和數(shù)據(jù)的訪問權(quán)限。 另外一個安全領(lǐng)域是網(wǎng)絡(luò)設(shè)防,這關(guān)系到操作系統(tǒng),配置與監(jiān)控。
不僅網(wǎng)絡(luò)危險重重,任何軟件都是。Firefox 被稱為最安全的瀏覽器,仍然需要頻頻發(fā)布安全補丁。
要為你的系統(tǒng)編寫安全代碼就需要明白各種潛在的問題。 8. 云計算 (Cloud Computing) RWW 最近的關(guān)于云計算的文章 Reaching For The Sky Through Compute Clouds 講到了云計算如何改變大規(guī)模 Web 應(yīng)用的發(fā)布。
大規(guī)模的并行,低成本,與快速投入市場。 并行算法發(fā)明以來,首先迎來的是網(wǎng)格計算,網(wǎng)格計算是借助空閑的桌面計算機資源進行并行計算。
最著名的例子是 Berkley 大學的 SETI@home 計劃,該計劃使用空閑的 CPU 資源分析太空數(shù)據(jù)。金融機構(gòu)也大規(guī)模實施網(wǎng)格計算進行風險分析。
空閑的資源,加上 J2EE 平臺的崛起,迎來了云計算的概念:應(yīng)用服務(wù)虛擬化。就是應(yīng)用按需運行,并可以隨著時間和用戶規(guī)模而實時改變。
云計算最生動的例子是 Amazon 的 Web 服務(wù),一組可以通過 API 進行調(diào)用的應(yīng)用,如云服務(wù)(EC2),一個用來存儲大型媒體文件的數(shù)據(jù)庫(S3),索引服務(wù)(SimpleDB),序列服務(wù)(SQS)。 7. 并發(fā) (Concurrency) 并發(fā)是軟件工程師最容易犯錯的地方,這可以理解,因為我們一直遵從線形思維,然而并發(fā)在現(xiàn)代系統(tǒng)中非常重要。
并發(fā)是程序中的并行處理,多數(shù)現(xiàn)代編程語言包含內(nèi)置的并發(fā)能力,在 Java,指的是線程。關(guān)于并發(fā),最經(jīng)典的例子是“生產(chǎn)/消費”模式,生產(chǎn)方生產(chǎn)數(shù)據(jù)和任務(wù),并放入工作線程消費或執(zhí)行。
并發(fā)的復雜性在于,線程需要經(jīng)常訪問共同數(shù)據(jù),每個線程都有自己的執(zhí)行順序,但需要訪問共同數(shù)據(jù)。Doug Lea 曾寫過一個最復雜的并發(fā)類,現(xiàn)在是 core Java 的一部分。
6. 緩存(Caching) 緩存對現(xiàn)代 Web 程序不可或缺,緩存是從數(shù)據(jù)庫取回,并存放在內(nèi)存中的數(shù)據(jù)。因為數(shù)據(jù)庫直接存取的代價非常高,將數(shù)據(jù)從數(shù)據(jù)庫取回并放在緩存中訪問就變得十分必要。
比如,你有一個網(wǎng)站,要顯示上周的暢銷書,你可以從數(shù)據(jù)將暢銷書榜一次性取回放在緩存中,而不必在每次訪問時都去數(shù)據(jù)庫讀數(shù)據(jù)。 緩存需要代價,只有最常用的內(nèi)容才可以放入緩存。
很多現(xiàn)代程序,包括 Facebook,依靠一種叫做 Memcached 的分布式緩存系統(tǒng),該系統(tǒng)是 Brad Firzpatrick 在工作于 LiveJournal 項目時開發(fā)的,Memcached 使用網(wǎng)絡(luò)中空閑的內(nèi)存資源建立緩存機制,Memcached 類庫在很多流行編程語言,包括 Java 和 PHP 中都有。 5. 散列法(Hashing) Hashing 的目的是加速訪問速度。
如果數(shù)據(jù)是序列存儲的,從中查詢一個項的時間取決于數(shù)據(jù)列的大小。而散列法對每一個項計算一個數(shù)字作為索引,在一個好的 Hashing 算法下,數(shù)據(jù)查找的速度是一樣的。
除了存儲數(shù)據(jù),散列法對分布式系統(tǒng)也很重要。統(tǒng)一散列法(uniform hash )用來在云數(shù)據(jù)庫環(huán)境下,在不同計算機之間分存數(shù)據(jù)。
Google 的索引服務(wù)就是這種方法的體現(xiàn),每一個 URL 都被散列分布到特定計算機。 散列函數(shù)非常復雜,但現(xiàn)代類庫中都有現(xiàn)成的類,重要的是,如何對散列法進行細調(diào)以獲得最好的性能。
4. 算法的復雜性 (Algorithmic Complexity) 關(guān)于算法的復雜性,軟件工程師需要理解這樣幾件事。第一,大O標記法(big O notation);第二,你永遠都不應(yīng)該使用嵌套式循環(huán)(循環(huán)里面套循環(huán)),你應(yīng)該使用 Hash 表,數(shù)組或單一循環(huán);第三,如今優(yōu)秀類庫比比皆是,。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:3.544秒