一、考試說明
1.考試要求:
(1) 掌握數(shù)據(jù)表示、算術和邏輯運算;
(2) 掌握相關的應用數(shù)學、離散數(shù)學的基礎知識;
(3) 掌握計算機體系結構以及各主要部件的性能和基本工作原理;
(4) 掌握操作系統(tǒng)、程序設計語言的基礎知識,了解編譯程序的基本知識;
(5) 熟練掌握常用數(shù)據(jù)結構和常用算法;
(6) 熟悉數(shù)據(jù)庫、網(wǎng)絡和多媒體的基礎知識;
(7) 掌握C程序設計語言,以及C++、Java、Visual、Basic、Visual C++中的一種程序設計 語言;
(8) 熟悉軟件工程、軟件過程改進和軟件開發(fā)項目管理的基礎知識;
(9) 熟悉掌握軟件設計的方法和技術;
(10) 掌握常用信息技術標準、安全性,以及有關法律、法規(guī)的基本知識;
(11) 了解信息化、計算機應用的基礎知識;
(12) 正確閱讀和理解計算機領域的英文資料。
2.通過本考試的合格人員能根據(jù)軟件開發(fā)項目管理和軟件工程的要求,按照系統(tǒng)總體設計規(guī)格說明書進行軟件設計,編寫程序設計規(guī)格說明書等相應的文檔,組織和指導程序員編寫、調(diào)試程序,并對軟件進行優(yōu)化和集成測試,開發(fā)出符合系統(tǒng)總體設計要求的高質(zhì)量軟件;具有工程的實際工作能力和業(yè)務水平。
3.本考試設置的科目包括:
(1) 計算機與軟件工程知識,考試時間為150分鐘,筆試;
(2) 軟件設計,考試時間為150分鐘,筆試。
二、考試范圍
考試科目1:計算機與軟件工程知識
1.計算機科學基礎
1.1 數(shù)制及其轉(zhuǎn)換
· 二進制、十進制和十六進制等常用制數(shù)制及其相互轉(zhuǎn)換
1.2 數(shù)據(jù)的表示
· 數(shù)的表示(原碼、反碼、補碼、移碼表示,整數(shù)和實數(shù)的機內(nèi)表示,精度和溢出)
· 非數(shù)值表示(字符和漢字表示、聲音表示、圖像表示)
· 校驗方法和校驗碼(奇偶校驗碼、海明校驗碼、循環(huán)冗余校驗碼)
1.3 算術運算和邏輯運算
· 計算機中的二進制數(shù)運算方法
· 邏輯代數(shù)的基本運算和邏輯表達式的化簡
1.4 數(shù)學基礎知識
· 命題邏輯、謂詞邏輯、形式邏輯的基礎知識
· 常用數(shù)值計算(誤差、矩陣和行列式、近似求解方程、插值、數(shù)值積分)
· 排列組合、概率論應用、應用統(tǒng)計(數(shù)據(jù)的統(tǒng)計分析)
· 運算基本方法(預測與決策、線性規(guī)劃、網(wǎng)絡圖、模擬)
1.5 常用數(shù)據(jù)結構
· 數(shù)組(靜態(tài)數(shù)組、動態(tài)數(shù)組)、線性表、鏈表(單向鏈表、雙向鏈表、循環(huán)鏈表)、 隊列、棧、樹(二叉樹、查找樹、平衡樹、線索樹、線索樹、堆)、圖等的定義、存 儲和操作
· Hash(存儲地址計算,沖突處理)
1.6 常用算法
· 排序算法、查找算法、數(shù)值計算方法、字符串處理方法、數(shù)據(jù)壓縮算法、遞歸算法、 圖的相關算法
· 算法與數(shù)據(jù)結構的關系、算法效率、算法設計、算法描述(流程圖、偽代碼、決策表 )、算法的復雜性
2.計算機系統(tǒng)知識
2.1 硬件知識
2.1.1 計算機系統(tǒng)的組成、體系結構分類及特性
· CPU和存儲器的組成、性能和基本工作原理
· 常用I/O設備、通信設備的性能,以及基本工作原理
· I/O接口的功能、類型和特性
· I/O控制方式(中斷系統(tǒng)、DMA、I/O處理機方式)
· CISC/RISC,流水線操作,多處理機,并行處理
2.1.2 存儲系統(tǒng)
· 主存-Cache存儲系統(tǒng)的工作原理
· 虛擬存儲器基本工作原理,多級存儲體系的性能價格
· RAID類型和特性
2.1.3 安全性、可靠性與系統(tǒng)性能評測基礎知識
· 診斷與容錯
· 系統(tǒng)可靠性分析評價
· 計算機系統(tǒng)性能評測方式
2.2 軟件知識
2.2.1 操作系統(tǒng)知識
· 操作系統(tǒng)的內(nèi)核(中斷控制)、進程、線程概念
· 處理機管理(狀態(tài)轉(zhuǎn)換、共享與互斥、分時輪轉(zhuǎn)、搶占、死鎖)
· 存儲管理(主存保護、動態(tài)連接分配、分段、分頁、虛存)
· 設備管理(I/O控制、假脫機)
· 文件管理(文件目錄、文件組織、存取方法、存取控制、恢復處理)
· 作業(yè)管理(作業(yè)調(diào)度、作業(yè)控制語言(JCL)、多道程序設計)
· 漢字處理,多媒體處理,人機界面
· 網(wǎng)絡操作系統(tǒng)和嵌入式操作系統(tǒng)基礎知識
· 操作系統(tǒng)的配置
2.2.2 程序設計語言和語言處理程序的知識
· 匯編、編譯、解釋系統(tǒng)的基礎知識和基本工作原理
· 程序設計語言的基本成分:數(shù)據(jù)、運算、控制和傳輸,過程(函數(shù))調(diào)用
· 各類程序設計語言主要特點和適用情況
2.3 計算機網(wǎng)絡知識
· 網(wǎng)絡體系結構(網(wǎng)絡拓撲、OSI/RM、基本的網(wǎng)絡協(xié)議)
· 傳輸介質(zhì)、傳輸技術、傳輸方法、傳輸控制
· 常用網(wǎng)絡設備和各類通信設備
· Client/Server結構、Browser/Server結構
· LAN拓撲,存取控制,LAN的組網(wǎng),LAN間連接,LAN-WAN連接
· 因特網(wǎng)基礎知識以及應用
· 網(wǎng)絡軟件
· 網(wǎng)絡管理
· 網(wǎng)絡性能分析
2.4 數(shù)據(jù)庫知識
· 數(shù)據(jù)庫管理系統(tǒng)的功能和特征
· 數(shù)據(jù)庫模型(概念模式、外模式、內(nèi)模式)
· 數(shù)據(jù)模型,ER圖,第一范式、第二范式、第三范式
· 數(shù)據(jù)操作(集合運算和關系運算)
· 數(shù)據(jù)庫語言(SQL)
· 數(shù)據(jù)庫的控制功能(并發(fā)控制、恢復、安全性、完整性)
· 數(shù)據(jù)倉庫和分布式數(shù)據(jù)庫基礎知識
2.5 多媒體知識
· 多媒體系統(tǒng)基礎知識,多媒體設備的性能特性,常用多媒體文件格式
· 簡單圖形的繪制,圖像文件的處理方法
· 音頻和視頻信息的應用
· 多媒體應用開發(fā)過程
2.6 系統(tǒng)性能知識
· 性能指標(響應時間、吞吐量、周轉(zhuǎn)時間)和性能設計
· 性能測試和性能評估
· 可靠性指標及計算、可靠性設計
· 可靠性測試和可靠性評估
2.7 計算機應用基礎知識
·信息管理、數(shù)據(jù)處理、輔助設計、自動控制、科學計算、人工智能等基礎知識
· 遠程通信服務基礎知識
· 常用應用系統(tǒng)
3.系統(tǒng)開發(fā)和運行知識
3.1 軟件工程、軟件過程改進和軟件開發(fā)項目管理知識
· 軟件工程知識
· 軟件開發(fā)生命周期各階段的目標和任務
· 軟件開發(fā)項目管理基礎知識(時間管理、成本管理、質(zhì)量管理、人力資源管理、風險 管理等)及其常用管理工具
· 主要的軟件開發(fā)方法(生命周期法、原型法、面向?qū)ο蠓?、CASE)
· 軟件開發(fā)工具與環(huán)境知識
· 軟件過程改進知識
· 軟件質(zhì)量管理知識
· 軟件開發(fā)過程評估、軟件能力成熟評估基礎知識
3.2 系統(tǒng)分析基礎知識
· 系統(tǒng)分析的目的和任務
·結構化分析方法(數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、實體關系圖(ERD)、描述加 工處理的結構化語言)
· 統(tǒng)一建模語言(UML)
· 系統(tǒng)規(guī)格說明書
3.3 系統(tǒng)設計知識
· 系統(tǒng)設計的目的和任務
· 結構化設計方法和工具(系統(tǒng)流程圖、HIPO圖、控制流程圖)
· 系統(tǒng)總體結構設計(總體布局、設計原則、模塊結構設計、數(shù)據(jù)存儲設計、系統(tǒng)配置 方案)
· 系統(tǒng)詳細設計(代碼設計、數(shù)據(jù)庫設計、用戶界面設計、處理過程設計)
· 系統(tǒng)設計說明書
3.4 系統(tǒng)實施知識
· 系統(tǒng)實施的主要任務
· 結構化程序設計、面向?qū)ο蟪绦蛟O計、可視化程序設計
· 程序設計風格
· 程序設計語言的選擇
· 系統(tǒng)測試的目的、類型,系統(tǒng)測試方法(黑盒測試、白盒測試、灰盒測試)
· 測試設計和管理(錯誤曲線、錯誤排除、收斂、注入故障、測試用例設計、系統(tǒng)測試 報告)
· 系統(tǒng)轉(zhuǎn)換基礎知識
3.5 系統(tǒng)運行和維護知識
· 系統(tǒng)運行管理基礎知識
· 系統(tǒng)維護基礎知識
· 系統(tǒng)評價基礎知識
3.6 面向?qū)ο箝_發(fā)方法
· 面向?qū)ο箝_發(fā)概念(類、對象、屬性、封裝性、繼承性、多態(tài)性、對象之間的引用)
· 面向?qū)ο箝_發(fā)方法的優(yōu)越性以及有效領域
· 面向?qū)ο笤O計方法(體系結構、類的設計、用戶接口設計)
· 面向?qū)ο髮崿F(xiàn)方法(選擇程序設計語言、類的實現(xiàn)、方法的實現(xiàn)、用戶接口的實現(xiàn)、 準備測試數(shù)據(jù))
· 面向?qū)ο蟪绦蛟O計語言(如C++、Java、Visual、Bsasic、Visual C++)的基本機制
· 面向?qū)ο髷?shù)據(jù)庫、分布式對象的概念
4.安全性知識
· 安全性基本概念
· 防治計算機病毒、防范計算機犯罪
· 存取控制、防闖入、安全管理措施
· 加密與解密機制
·風險分析、風險類型、抗風險措施和內(nèi)部控制
5.標準化知識
· 標準化意識、標準化的發(fā)展、標準制訂過程
· 國際標準、國家標準、行業(yè)標準、企業(yè)標準基本知識
· 代碼標準、文件格式標準、安全標準、軟件開發(fā)規(guī)范和文檔標準知識
· 標準化機構
6.信息化基礎知識
· 信息化意識
· 全球信息化趨勢、國家信息化戰(zhàn)略、企業(yè)信息化戰(zhàn)略和策略
· 有關的法律、法規(guī)
· 遠程教育、電子商務、電子政務等基礎知識
· 企業(yè)信息資源管理基礎知識
7.計算機專業(yè)英語
· 掌握計算機技術的基本詞匯
· 能正確閱讀和理解計算機領域的英文資料
考試科目2:軟件設計
1.外部設計
1.1 理解系統(tǒng)需求說明
1.2 系統(tǒng)開發(fā)的準備
· 選擇開發(fā)方法、準備開發(fā)環(huán)境、制訂開發(fā)計劃
1.3 設計系統(tǒng)功能
· 選擇系統(tǒng)結構,設計各子系統(tǒng)的功能和接口,設計安全性策略、需求和實現(xiàn)方法,制 訂詳細的工作流和數(shù)據(jù)流
1.4 設計數(shù)據(jù)模型
· 設計ER模型、數(shù)據(jù)模型
1.5 編寫外部設計文檔
· 系統(tǒng)配置圖、各子系統(tǒng)關系圖、系統(tǒng)流程圖、系統(tǒng)功能說明書、輸入輸出規(guī)格說明、 數(shù)據(jù)規(guī)格說明、用戶手冊框架
· 設計系統(tǒng)測試要求
1.6 設計評審
2.內(nèi)部設計
2.1 設計軟件結構
·按構件分解,確定構件功能規(guī)格以及構件之間的接口
· 采用中間件和工具
2.2 設計輸入輸出
· 屏幕界面設計、設計輸入輸出檢查方法和檢查信息
2.3 設計物理數(shù)據(jù)
· 分析數(shù)據(jù)特性,確定邏輯數(shù)據(jù)組織方式、存儲介質(zhì),設計記錄格式和處理方式
· 將邏輯數(shù)據(jù)結構換成物理數(shù)據(jù)結構,計算容量,進行優(yōu)化
2.4 構件的創(chuàng)建和重用
· 創(chuàng)建、重用構件的概念
· 使用子程序庫或類庫
2.5 編寫內(nèi)部設計文檔
· 構件劃分圖、構件間的接口、構件處理說明、屏幕設計文檔、報表設計文檔、文件設 計文檔、數(shù)據(jù)庫設計文檔
2.6 設計評審
3.程序設計
3.1 模塊劃分(原則、方法、標準)
3.2 編寫程序設計文檔
· 模塊規(guī)格說明書(功能和接口說明、程序處理邏輯的描述、輸入輸出數(shù)據(jù)格式的描述 ?。?BR> · 測試要求說明書(測試類型和目標、測試用例、測試方法)
3.3 程序設計評審
4.系統(tǒng)實施
4.1 配置計算機系統(tǒng)及其環(huán)境
4.2 選擇合適的程序設計語言
4.3 掌握C程序設計語言,以及C++、Java、Visual、Basic、Visual C++中任一種程序設計語言,以便能指導程序員進行編程和測試,并進行必要的優(yōu)化
4.4 系統(tǒng)測試
· 指導程序員進行模塊測試,并進行驗收
· 準備系統(tǒng)集成測試環(huán)境和測試工具
· 準備測試數(shù)據(jù)
· 寫出測試報告
5.軟件工程
· 軟件生存期模型(瀑布模型、螺旋模型、噴泉模型)和軟件成本模型
· 定義軟件需求(系統(tǒng)化的目標、配置、功能、性能和約束)
· 描述軟件需求的方法(功能層次模型、數(shù)據(jù)流模型、控制流模型、面向數(shù)據(jù)的模型、 面向?qū)ο蟮哪P偷龋?
· 定義軟件需求的方法(結構化分析方法、面向?qū)ο蠓治龇椒ǎ?BR> · 軟件設計(分析與集成、逐步求精、抽象、信息隱蔽)
· 軟件設計方法(結構化設計方法、Jackson方法、Warnier方法、面向?qū)ο笤O計方法)
· 程序設計(結構化程序設計、面向?qū)ο蟪绦蛟O計)
· 軟件測試的原則與方法
· 軟件質(zhì)量(軟件質(zhì)量特性、軟件質(zhì)量控制)
· 軟件過程評估基本方法、軟件能力成熟度評估基本方法
· 軟件開發(fā)環(huán)境和開發(fā)工具(分析工具、設計工具、編程工具、測試工具、維護工具、 CASE)
· 軟件工程發(fā)展趨勢(面向構件,統(tǒng)一建模語言(UML))
·軟件過程改進模型和方法