標籤:java 使用 檔案 資料 代碼 工作 時間 演算法 管理
一、考試說明
1. 考試目標
通過本考試的合格人員能根據軟體開發專案管理和軟體工程的要求,按照系統總體設計規格說明書進行軟體設計,編寫程式設計規格說明書等相應的文檔,組織和指導程式員編寫、偵錯工具,並對軟體進行最佳化和整合測試,開發出符合系統總體設計要求的高品質軟體;具有工程師的實際工作能力和業務水平。
2. 考試要求
(1)掌握電腦內的資料表示、算術和邏輯運算方法;
(2)掌握相關的應用數學及離散數學基礎知識;
(3)掌握電腦體繫結果以及各主要組件的效能和基本工作原理;
(4)掌握作業系統、程式設計語言的基礎知識,瞭解編譯器的基本知識;
(5)數量掌握常用資料結果和常用演算法;
(6)熟悉資料庫、網路和多媒體的基礎知識;
(7)掌握C程式設計語言,以及C++、Java中的一種程式設計語言;
(8)熟悉軟體工程、軟體流程改善和軟體開發專案管理的基礎知識;
(9)掌握軟體設計的方法和技術;
(10)瞭解資訊化、常用資訊技術標準、安全性,以及有關法律、法規的基礎知識;
(11)正確閱讀和理解電腦領域的英文資料。
3. 考試科目
(1)電腦與軟體工程知識,考試時間為 150 分鐘,筆試,選擇題;
(2)軟體設計,考試時間為 150 分鐘,筆試,問答題。
二、考試範圍
考試科目 1:電腦軟體工程知識
1. 電腦科學基礎知識
1.1 數制及其轉換
● 二進位、八進位、十進位和十六進位等常用數制及其相互轉換
1.2 電腦內資料的表示
● 數的表示(補碼錶示,整數和實數的表示,精度和溢出)
● 非數值表示(字元和漢字表示,聲音表示、映像表示)
1.3 算術運算和邏輯運算
● 電腦的位元運算方法
● 邏輯代數的基本運算
1.4 其他數學基礎知識
● 常用數值計算
● 排列組合,機率論應用,應用統計(資料的統計分析)
● 編碼基礎
● 命題邏輯、謂詞邏輯、形式邏輯的基礎知識
● 運籌基本方法
2. 電腦系統知識
2.1 電腦硬體基礎知識
2.1.1 電腦系統的組成、體繫結構分類及特性
● CPU、儲存空間的組成、效能和基本工作原理
● 常用 I/O 裝置、通訊裝置的效能以及基本工作原理
● I/O 介面的功能、類型和特性
● CISC/RISC,流水線操作,多處理機,平行處理
2.1.2 儲存系統
● 虛擬儲存空間基本工作原理,多級儲存體系
● RAID類型和特性
2.1.3 可靠性與系統效能評測基礎知識
● 診斷與容錯
● 系統可靠性分析評價
● 電腦系統效能評測方法
2.2 電腦軟體知識
2.2.1 資料結構與演算法知識
● 數組
● 鏈表
● 隊列、棧
● 樹
● 圖的定義、儲存和基本操作
● 雜湊(Hash表)
● 常用的排序演算法、尋找演算法、數值計算、字串處理、資料壓縮演算法、遞迴演算法、圖的相關演算法
● 演算法描述和分析
2.2.2 作業系統知識
● 作業系統的核心
● 處理機管理
● 儲存管理
● 裝置管理
● 檔案管理
● 作業管理
● 網路作業系統和嵌入式作業系統基礎知識
● 作業系統的配置
2.2.3 程式設計語言和語言處理常式知識
● 彙編、編譯、解釋系統的基礎知識和基本工作原理
● 程式設計語言的基本成分(資料、運算、控制和傳輸),程式調用的實現機制
●各類程式設計語言的主要特點和適用情況
2.2.4 資料庫知識
● 資料庫模型(概念模式、外模式、內模式)
● 資料模型,ER圖,正常化
● 資料操作
● 資料庫語言
● 資料庫管理系統的功能和特徵
● 資料庫的控制功能
● 資料倉儲和分散式資料庫基礎知識
2.3 電腦網路知識
● 網路體繫結構
● 傳輸介質,傳輸技術,傳輸方法,傳輸控制
● 常用網路裝置和各類通訊裝置的特點
● Client-Server 結構,Browser-Server 結構
● LAN(拓撲,存取控制,組網,網間互連)
● Internet 和 Intranet 基礎知識以及應用
● 網路軟體
● 網路管理,網路效能分析
2.4 多媒體基礎知識
● 多媒體系統基礎知識
● 簡單圖形的繪製,影像檔的處理方法
● 音頻和視頻資訊的應用
● 多媒體應用開發過程
3. 系統開發和運行知識
3.1 軟體工程知識
● 軟體生命週期與軟體生存周期模型
● 軟體開發方法
● 軟體開發專案管理
● 軟體開發工具與軟體開發環境
3.2 系統分析基礎知識
● 系統分析的主要步驟
● 機構化分析方法
3.3 系統設計基礎知識
● 概要設計與詳細設計的基本任務
● 系統設計的基本原理
● 系統模組結構設計
● 結構化設計方法
● 面向資料結構的設計方法
● 系統詳細設計
3.4 系統實施基礎知識
● 系統實施的基本內容
● 程式設計方法
● 程式設計的基本模組
● 系統測試
● 系統轉換
3.5 系統運行和維護基礎知識
● 系統可維護性的概念
● 系統維護的類型
● 系統評價的概念和類型
3.6 軟體品質管理基礎知識
● 系統可維護性的概念
● 系統維護的類型
● 系統評價的概念和類型
3.6 軟體品質管理基礎知識
● 軟體品質特性(ISO/IEC 9126 軟體品質模型)
● 軟體品質保證
● 軟體複雜性的概念及度量方法(McCabe度量法)
● 軟體評審(設計品質評審、程式品質評審)
● 軟體容錯技術
3.7 軟體流程改善基礎知識
● 軟體能力成熟度等級模型CMM
● 統一過程(UP)與極限編程(XP)的基本概念
4. 物件導向基礎知識
● 物件導向的基本概念
● 物件導向分析與設計知識
● 分析模式與設計模式知識
● 物件導向程式設計知識
● 物件導向資料庫、分布式對象基礎知識
5. 資訊安全知識
● 資訊系統安全基礎知識
● 資訊系統安全管理
● 保障完整性與可用性的措施
● 加密與解密機制基礎知識
● 風險管理(風險分析、風險類型、抗風險措施和內部控制)
● 電腦安全相關的法律、法規基礎知識
6. 標準化、資訊化和智慧財產權基礎知識
6.1 標準化基礎知識
● 標準化意識,標準化組織機構,標準的內容、分類、代號與編號規定,標準制訂過程
● 國際標準、國家標準、行業標準、企業標準
● 代碼標準、檔案格式標準、安全標準、互連網相互標準、軟體開發規範與文檔標準、基於構件的軟體標準
6.2 資訊化基礎知識
● 全球資訊化趨勢、國家資訊化戰略、公司資訊化戰略和策略
● 互連網相關的法律、法規
● 個人資訊保護規則
● 遠程教育、電子商務、電子政務等基礎知識
● 公司資訊資源管理基礎知識
6.3 智慧財產權基礎知識
● 保護智慧財產權有關的法律、法規
7. 電腦專業英語
● 具有工程師所要求的英語閱讀水平
● 理解本領域的英語術語
考試科目 2:軟體設計
1. 外部設計
1.1 理解系統需求說明
1.2 準備進行系統開發
● 選擇開發方法、準備開發環境、制訂開發計劃
1.2 設計系統功能
● 選擇系統結構
● 設計各子系統的功能和介面
● 設計安全性策略、需求和實現方法
● 制訂詳細的工作流程和資料流
1.4 設計資料模型
● 設計 ER 模型及其他資料模型
1.5 編寫外部設計文檔
● 系統配置圖、各子系統關係圖
● 系統流程圖、系統功能說明書
● 輸入輸出規格說明、資料規格說明、使用者手冊架構
● 設計系統測試要求
1.6 外部設計測試要求
2. 內部設計
2.1 設計軟體結構
● 按構件分解,確定構件功能、規格以及構件之間的介面
● 資料結構與演算法設計
● 採用中介軟體和工具
2.2 設計輸入輸出
2.3 設計物理資料
2.4 構件的建立和重用
● 建立構件、重用構件
● 使用子程式庫或類庫
2.5 編寫內部設計文檔
● 構件劃分圖、構件間的介面、構件處理說明
● 螢幕介面設計文檔、報表設計文檔、檔案設計文檔、資料庫設計文檔
2.6 內部設計的評審
3. 資料庫應用分析與設計
● 設計關係模式
● 資料庫語言(SQL)
● 資料庫訪問
4. 程式設計
4.1 模組劃分
4.2 編寫程式設計文檔
4.3 程式設計評審
5. 系統實施
5.1 配置電腦系統及環境
5.2 選擇合適的程式設計語言
5.3 用 C 程式設計語言以及 C++、Java中任一種程式設計語言進行程式設計
5.4 系統測試
● 指導程式員進行模組測試、並進行驗收
● 準備系統整合測試環境和測試載入器
● 準備測試資料
● 寫出測試報告
6. 軟體工程應用
6.1 軟體開發週期模型
6.2 需求分析
6.3 軟體設計
● 軟體設計的基本原則
● 軟體設計方法
● 程式設計(結構化程式設計、物件導向程式設計)
6.4 軟體測試的原則與方法
6.5 軟體品質(軟體品質特性、軟體品質控制)
6.6 軟體過程評估基本方法、軟體能力成熟度等級評估基本方法
6.7 軟體開發環境和開發工具
6.8 物件導向技術
● 面向構件技術
● 整合模組化語言(UML)
● 軟體流程改善模型和方法
6.9 網路環境軟體技術
三、題型舉例
軟體設計師考試大綱