仔細研究了一下 這兩年的大綱。。。
說實話2010年的大綱 變化還是有點大的。。特別是 part3 系統開發和運行知識 基本上都完全不同了。。今年加入了很多新的標準
也不算太新吧 但是比如說case 還有軟件成熟度什麼的。。。
當然個人覺得最顯眼的就是加入了C++
當然就我個人覺得其實都是大同小異 自己給自己打打氣。。
紅色的爲 有所改變的地方 最後一個部分 變化太大就不標出了
2010 軟件設計師考試大綱
一、考試說明
1 .考試要求:
(1) 掌握數據表示、算術和邏輯運算;
(2) 掌握相關的應用數學、離散數學的基礎知識;
(3) 掌握計算機體系結構以及各主要部件的性能和基本工作原理;
(4) 掌握操作系統、程序設計語言的基礎知識,瞭解編譯程序的基本知識;
(5) 熟練掌握常用數據結構和常用算法;
(6) 熟悉數據庫、網絡和多媒體的基礎知識;
(7) 掌握 C 程序設計語言,以及 C++ 、 Java 、 Visual Basic 、 Visual C++ 中的一種程序設計語言;
(8) 熟悉軟件工程、軟件過程改進和軟件開發項目管理的基礎知識;
(9) 熟悉掌握軟件設計的方法和技術;
(10) 掌握常用信息技術標準、安全性,以及有關法律、法規的基本知識;
(11) 瞭解信息化、計算機應用的基礎知識 ;
(12) 正確閱讀和理解計算機領域的英文資料。
2 .通過本考試的合格人員能根據軟件開發項目管理和軟件工程的要求,按照系統總體設計規格說明書進行軟件設計,編寫程序設計規格說明書等相應的文檔,組織和指導程序員編寫、調試程序,並對軟件進行優化和集成測試,開發出符合系統總體設計要求的高質量軟件;具有工程的實際工作能力和業務水平。
3 .本考試設置的科目包括:
(1) 計算機與軟件工程知識,考試時間爲 150 分鐘,筆試;
(2) 軟件設計,考試時間爲 150 分鐘,筆試。
二、考試範圍
考試科目 1 :計算機與軟件工程知識
1 . 計算機科學基礎
1.1 數制及其轉換
• 二進制、十進制和十六進 制等常用制數制及其相互轉換
1.2 數據的表示
• 數的表示(原碼、反碼、補碼、移碼錶示,整數和實數的機內表示,精度和溢出 )
• 非數值表示(字符和漢字表示、聲音表示、圖像表示)
• 校驗方法和校驗碼(奇偶校驗碼、海明校驗碼、循環冗餘校驗碼)
1.3 算術運算和邏輯運算
• 計算機中的二進制數運算方法
• 邏輯代數的基本運算和邏輯表達式的化簡
1.4 數學基礎知識
• 命題邏輯、謂詞邏輯、形式邏輯的基礎知識
• 常用數值計算(誤差、矩陣和行列式、近似求解方程、插值、數值積分 )
• 排列組合、概率論應用、應用統計(數據的統計分析)
• 運算基本方法(預測與決策、線性規劃、網絡圖、模擬)
1.5 常用數據結構
• 數組(靜態數組、動態數組)、線性表、鏈表(單向鏈表、雙向鏈表、循環鏈表)、隊列、棧、樹(二叉樹、查找樹、平衡樹、線索樹、線索樹、堆)、圖等的定義、存儲和操作
• Hash (存儲地址計算,衝突處理)
1.6 常用算法
• 排序算法、查找算法、數值計算方法、字符串處理方法、數據壓縮算法、遞歸算法、圖的相關算法
• 算法與數據結構的關係、算法效率、算法設計、算法描述(流程圖、僞代碼、決策表)、算法的複雜性
2 . 計算機系統知識
2.1 硬件知識
2.1.1 計算機系統的組成、體系結構分類及特性
• CPU 和存儲器的組成、性能和基本工作原理
• 常用 I/O 設備、通信設備的性能,以及基本工作原理
• I/O 接口的功能、類型和特性
• I/O 控制方式(中斷系統、 DMA 、 I/O 處理機方式)
• CISC/RISC ,流水線操作,多處理機,並行處理
2.1.2 存儲系統
• 主存 -Cache 存儲系統的工作原理
• 虛擬存儲器基本工作原理,多級存儲體系的性能價格
• RAID 類型和特性
2.1.3 安全性、可靠性與系統性能評測基礎知識
• 診斷與容錯
• 系統可靠性分析評價
• 計算機系統性能評測方式
2.2 軟件知識
2.2.1 操作系統知識
• 操作系統的內核(中斷控制)、進程、線程概念
• 處理機管理(狀態轉換、共享與互斥、分時輪轉、搶佔、死鎖)
• 存儲管理(主存保護、動態連接分配、分段、分頁、虛存)
• 設備管理( I/O 控制、假脫機)
• 文件管理(文件目錄、文件組織、存取方法、存取控制、恢復處理)
• 作業管理(作業調度、作業控制語言( JCL )、多道程序設計)
• 漢字處理,多媒體處理,人機界面
• 網絡操作系統和嵌入式操作系統基礎知識
• 操作系統的配置
2.2.2 程序設計語言和語言處理程序的知識
• 彙編、編譯、解釋系統的基礎知識和基本工作原理
• 程序設計語言的基本成分:數據、運算、控制和傳輸,過程(函數)調用
• 各類程序設計語言主要特點和適用情況
2.3 計算機網絡知識
• 網絡體系結構(網絡拓撲、 OSI/RM 、基本的網絡協議)
• 傳輸介質、傳輸技術、傳輸方法、傳輸控制
• 常用網絡設備和各類通信設備
• Client/Server 結構、 Browser/Server 結構
• LAN 拓撲,存取控制, LAN 的組網, LAN 間連接, LAN-WAN 連接
• 因特網基礎知識以及應用
• 網絡軟件
• 網絡管理
• 網絡性能分析
2.4 數據庫知識
• 數據庫管理系統的功能和特徵
• 數據庫模型(概念模式、外模式、內模式)
• 數據模型, ER 圖,第一範式、第二範式、第三範式
• 數據操作(集合運算和關係運算)
• 數據庫語言( SQL )
• 數據庫的控制功能(併發控制、恢復、安全性、完整性)
• 數據倉庫和分佈式數據庫基礎知識
2.5 多媒體知識
• 多媒體系統基礎知識,多媒體設備的性能特性,常用多媒體文件格式
• 簡單圖形的繪製,圖像文件的處理方法
• 音頻和視頻信息的應用
• 多媒體應用開發過程
2.6 系統性能知識
• 性能指標(響應時間、吞吐量、週轉時間)和性能設計
• 性能測試和性能評估
• 可靠性指標及計算、可靠性設計
• 可靠性測試和可靠性評估
2.7 計算機應用基礎知識
•信息管理、數據處理、輔助設計、自動控制、科學計算、人工智能等基礎知識
• 遠程通信服務基礎知識
• 常用應用系統
3 . 系統開發和運行知識
3.1 軟件工程、軟件過程改進和軟件開發項目管理知識
• 軟件工程知識
• 軟件開發生命週期各階段的目標和任務
• 軟件開發項目管理基礎知識(時間管理、成本管理、質量管理、人力資源管理、風險管理等)及其常用管理工具
• 主要的軟件開發方法(生命週期法、原型法、面向對象法、 CASE )
• 軟件開發工具與環境知識
• 軟件過程改進知識
• 軟件質量管理知識
• 軟件開發過程評估、軟件能力成熟評估基礎知識
3.2 系統分析基礎知識
• 系統分析的目的 和任務
•結構化分析方法(數據流圖( DFD )、數據字典( DD )、實體關係圖( ERD )、描述加工處理的結構化語言)
• 統一建模語言( UML )
• 系統規格說明書
3.3 系統設計知識
• 系統設計的目的和任務
• 結構化設計方法和工具(系統流程圖、 HIPO 圖、控制流程圖)
• 系統總體結構設計(總體佈局、設計原則、模塊結構設計、數據存儲設計、系統配置方案)
• 系統詳細設計(代碼設計、數據庫設計、用戶界面設計、處理過程設計)
• 系統設計說明書
3.4 系統實施知識
• 系統實施的主要任務
• 結構化程序設計、面向對象程序設計、可視化程序設計
• 程序設計風格
• 程序設計語言的選擇
• 系統測試的目的、類型,系統測試方法(黑盒測試、白盒測試、灰盒測試)
• 測試設計和管理(錯誤曲線、錯誤排除、收斂、注入故障、測試用例設計、系統測試報告)
• 系統轉換基礎知識
3.5 系統運行和維護知識
• 系統運行管理基礎知識
• 系統維護基礎知識
• 系統評價基礎知識
3.6 面向對象開發方法
• 面向對象開發概念(類、對象、屬性、封裝性、繼承性、多態性、對象之間的引用)
• 面向對象開發方法的優越性以及有效領域
• 面向對象設計方法 (體系結構、類的設計、用戶接口設計)
• 面向對象實現方法 (選擇程序設計語言、類的實現、方法的實現、用戶接口的實現、準備測試數據)
• 面向對象程序設計語言(如 C++ 、 Java 、 Visual 、 Bsasic 、 Visual C++ )的基本機制
• 面向對象數據庫、分佈式對象的概念
4 . 安全性知識
• 安全性基本概念
• 防治計算機病毒、防範計算機犯罪
• 存取控制、防闖入、安全管理措施
• 加密與解密機制
•風險分析、風險類型、抗風險措施和內部控制
5 . 標準化知識
• 標準化意識、標準化的發展、標準制訂過程
• 國際標準、國家標準、行業標準、企業標準基本知識
• 代碼標準、文件格式標準、安全標準、軟件開發規範和文檔標準知識
• 標準化機構
6 . 信息化基礎知識
• 信息化意識
• 全球信息化趨勢、國家信息化戰略、企業信息化戰略和策略
• 有關的法律、法規
• 遠程教育、電子商務、電子政務等基礎知識
• 企業信息資源管理基礎知識
7 . 計算機專業英語
• 掌握計算機技術的基本詞彙
• 能正確閱讀和理解計算機領域的英文資料
考試科目 2 :軟件設計
1 . 外部設計
1.1 理解系統需求說明
1.2 系統開發的準備
• 選擇開發方法、準備開發環境、制訂開發計劃
1.3 設計系統功能
• 選擇系統結構,設計各子系統的功能和接口,設計安全性策略、需求和實現方法,制訂詳細的工作流和數據流
1.4 設計數據模型
• 設計 ER 模型、數據模型
1.5 編寫外部設計文檔
• 系統配置圖、各子系統關係圖、系統流程圖、系統功能說明書、輸入輸出規格說明、數據規格說明、用戶手冊框架
• 設計系統測試要求
1.6 設計評審
2 . 內部設計
2.1 設計軟件結構
•按構件分解,確定構件功能規格以及構件之間的接口
• 採用中間件和工具
2.2 設計輸入輸出
• 屏幕界面設計、設計輸入輸出檢查方法和檢查信息
2.3 設計物理數據
• 分析數據特性,確定邏輯數據組織方式、存儲介質,設計記錄格式和處理方式
• 將邏輯數據結構換成物理數據結構,計算容量,進行優化
2.4 構件的創建和重用
• 創建、重用構件的概念
• 使用子程序庫或類庫
2.5 編寫內部設計文檔
• 構件劃分圖、構件間的接口、構件處理說明、屏幕設計文檔、報表設計文檔、文件設計文檔、數據庫設計文檔
2.6 設計評審
3 .程序設計
3.1 模塊劃分(原則、方法、標準)
3.2 編寫程序設計文檔
• 模塊規格說明書(功能和接口說明、程序處理邏輯的描述、輸入輸出數據格式的描述)
• 測試要求說明書(測試類型和目標、測試用例、測試方法)
3.3 程序設計評審
4 .系統實施
4.1 配置計算機系統及其環境
4.2 選擇合適的程序設計語言
4.3 掌握 C 程序設計語言,以及 C++ 、 Java 、 Visual 、 Basic 、 Visual C++ 中任一種程序設計語言,以便能指導程序員進行編程和測試,並進行必要的優化
4.4 系統測試
• 指導程序員進行模塊測試,並進行驗收
• 準備系統集成測試環境和測試工具
• 準備測試數據
• 寫出測試報告
5 .軟件工程
• 軟件生存期模型(瀑布模型、螺旋模型、噴泉模型)和軟件成本模型
• 定義軟件需求(系統化的目標、配置、功能、性能和約束)
• 描述軟件需求的方法(功能層次模型、數據流模型、控制流模型、面向數據的模型、面向對象的模型等)
• 定義軟件需求的方法(結構化分析方法、面向對象分析方法)
• 軟件設計(分析與集成、逐步求精、抽象、信息隱蔽)
• 軟件設計方法(結構化設計方法、 Jackson 方法、 Warnier 方法、面向對象設計方法)
• 程序設計(結構化程序設計、面向對象程序設計)
• 軟件測試的原則與方法
• 軟件質量(軟件質量特性、軟件質量控制)
• 軟件過程評估基本方法、軟件能力成熟度評估基本方法
• 軟件開發環境和開發工具(分析工具、設計工具、編程工具、測試工具、維護工具、 CASE )
• 軟件工程發展趨勢(面向構件,統一建模語言( UML ))
•軟件過程改進模型和方法