軟件設計師考試大綱
1、考 試 說 明
1.考試目標程序員
經過本考試的合格人員能根據軟件開發項目管理和軟件工程的要求,按照系統整體設計規格說明書進行軟件設計,編寫程序設計規格說明書等相應的文檔,組織和指導程序員編寫、調試程序,並對軟件進行優化和集成測試,開發出符合系統整體設計要求的高質量軟件;具備工程師的實際工做能力和業務水平。算法
2.考試要求數據庫
(1)掌握計算機內的數據表示、算術和邏輯運算方法;編程
(2)掌握相關的應用數學及離散數學基礎知識;設計模式
(3)掌握計算機體系結構以及各主要部件的性能和基本工做原理;數組
(4)掌握操做系統、程序設計語言的基礎知識,瞭解編譯程序的基本知識;安全
(5)熟練掌握經常使用數據結構和經常使用算法;網絡
(6)熟悉數據庫、網絡和多媒體的基礎知識;數據結構
(7)掌握C程序設計語言,以及C++、Java中的一種程序設計語言;框架
(8)熟悉軟件工程、軟件過程改進和軟件開發項目管理的基礎知識;
(9)掌握軟件設計的方法和技術;
(10)瞭解信息化、經常使用信息技術標準、安全性,以及有關法律、法規的基礎知識;
(11)正確閱讀和理解計算機領域的英文資料。
3.考試科目設置
(1)計算機與軟件工程知識,考試時間爲150分鐘,筆試,選擇題;
(2)軟件設計,考試時間爲150分鐘,筆試,問答題。
2、考 試 範 圍
考試科目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 軟件質量管理基礎知識
- 軟件質量特性(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.3 設計系統功能
- 選擇系統結構
- 設計各子系統的功能和接口
- 設計安全性策略、需求和實現方法
- 制訂詳細的工做流和數據流
1.4 設計數據模型
1.5 編寫外部設計文檔
- 系統配置圖、各子系統關係圖
- 系統流程圖、系統功能說明書
- 輸入輸出規格說明、數據規格說明、用戶手冊框架
- 設計系統測試要求
1.6 外部設計的評審
2.內部設計
2.1 設計軟件結構
- 按構件分解,肯定構件功能、規格以及構件之間的接口
- 數據結構與算法設計
- 採用中間件和工具
2.2 設計輸入輸出
2.3 設計物理數據
2.4 構件的建立和重用
2.5 編寫內部設計文檔
- 構件劃分圖、構件間的接口、構件處理說明
- 屏幕界面設計文檔、報表設計文檔、文件設計文檔、數據庫設計文檔
2.6 內部設計的評審
3.數據庫應用分析與設計
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 網絡環境軟件技術