軟件設計師考試

軟件設計師考試

計算機技術與軟件中級資格考試
軟件設計師考試屬于計算機技術與軟件專業技術資格(水平)考試的中級資格考試,是由國家人事部(人力資源和社會保障部)和信息産業部(工業和信息化部)領導下的國家級考試,其目的是,科學、公正地對全國計算機與軟件專業技術人員進行職業資格、專業技術資格認定和專業技術水平測試。[1]
    中文名:軟件設計師考試 外文名:Software designer exam 别名: 等級:屬于計算機技術與軟件專業技術資格(水平)考試的中級資格考試 考試機關:國家人事部(人力資源和社會保障部)和信息産業部 考試形式:筆試

考試介紹

簡介

軟件設計師考試屬于全國計算機技術與軟件專業技術資格考試(簡稱計算機軟件資格考試)中的一個中級考試。考試不設學曆與資曆條件,也不論年齡和專業,考生可根據自己的技術水平選擇合适的級别合适的資格,但一次考試隻能報考一種資格。計算機軟件資格考試納入全國專業技術人員職業資格證書制度的統一規劃,實行統一大綱、統一試題、統一标準、統一證書的考試辦法,每年舉行兩次。

分級形式

初級:程序員

中級:軟件設計師

高級:系統分析師

考試科目

(1)計算機與軟件工程知識,考試時間為150分鐘,筆試;

(2)軟件設計,考試時間為150分鐘,筆試。

職業要求

作為應用軟件開發中最頂層的角色,軟件設計師的能力要求更強,除了具備更強的編程技巧能力外,還需要了解系統結構、主流軟件技術和軟件趨勢,同時要具備相當的專業知識,包括:能開發高質量軟件,有内部設計和程序設計的能力,有網絡和數據庫應用開發能力,掌握一種或多種程序設計語言,有優化程序能力,掌握集成測試的方法和技能。

一個軟件設計師首先要是非常好的程序員,軟件設計師在編程的時候,用的工具和普通程序員沒有任何差别,但使用深度是不一樣的。因而對軟件設計師來說,還應具備抽象能力、領悟和突破能力、快速學習非軟件專業知識能力。

職業前景

随着IT技術在通信建設、醫療、教育、交通、旅遊、财政、國家政務、郵電、民航等各個方面的全面發展,帶動了各行業軟件的全面開發,促進了軟件設計開發人才的旺盛需求。

從IT技術分類看:微電子技術是基礎,網絡與通信技術是載體,軟件技術是核心。軟件設計作為核心技術,作為掌握核心技術的軟件設計師就有了非常好的職業前景,且IT行業的平穩增長必然會帶來軟件設計師需求的增長。

軟件設計師進一步發展目标是走向系統分析師、系統架構師。

報考資格

凡遵守中華人民共和國憲法和各項法律,恪守職業道德,具有一定計算機技術應用能力的人員,不受學曆、資曆限制均可報考。

注意:每次考試每人隻允許報考一種資格。

報名流程

根據《計算機技術與軟件專業技術資格(水平)考試實施辦法》第八條相關規定:

符合《暫行規定》(即《計算機技術與軟件專業技術資格(水平)考試暫行規定》)第八條規定的人員,由本人提出申請,按規定攜帶身份證明到當地考試管理機構報名,領取準考證。憑準考證、身份證明在指定的時間、地點參加考試。

各地的報名辦法由考生報考所在地的當地考試機構決定。

考生相關報考費用标準由當地物價部門核準。

考生報名方式主要分為:網上報名與考生本人到指定地點報名兩種。

注:報名時依據的身份證明包括:居民身份證、軍人的證件、護照、戶口本等。

報名時間

根據《計算機技術與軟件專業技術資格(水平)考試實施辦法》第三條相關規定:

計算機專業技術資格(水平)考試原則上每年組織兩次,在每年第二季度和第四季度舉行。

各地的報名時間由考生報考所在地的當地考試機構決定。

最新考試大綱

考試目标

通過本考試的合格人員能根據軟件開發項目管理和軟件工程的要求,按照系統總體設計規格說明書進行軟件設計,編寫程序設計規格說明書等相應的文檔,組織和指導程序員編寫、調試程序,并對軟件進行優化和集成測試,開發出符合系統總體設計要求的高質量軟件,具有工程師的實際工作能力和業務水平。

考試要求

(1)掌握計算機内的數據表示、算術和邏輯運算方法;

(2)掌握相關的應用數學及離散數學基礎知識;

(3)掌握計算機體系結構以及各主要部件的性能和基本工作原理;

(4)掌握操作系統、程序設計語言的基礎知識,了解編譯程序的基本知識;

(5)熟練掌握常用數據結構和常用算法;

(6)熟悉數據庫、網絡和多媒體的基礎知識;

(7)掌握C程序設計語言,以及C++、Java中的一種程序設計語言;

(8)熟悉軟件工程、軟件過程改進和軟件開發項目管理的基礎知識;

(9)掌握軟件設計的方法和技術;

(10)了解信息化、常用信息技術标準、安全性,以及有關法律、法規的基礎知識;

(11)正确閱讀和理解計算機領域的英文資料。

考試範圍

考試科目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))

軟件過程改進模型

相關詞條

相關搜索

其它詞條