1. 程式人生 > >軟體設計師職稱考試大綱

軟體設計師職稱考試大綱

一、考試說明
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))
•軟體過程改進模型和方法