複製鏈接
請複製以下鏈接發送給好友

軟件設計師

(據軟件開發項目管理和軟件工程的實用型人才)

鎖定
軟件設計師是指能根據軟件開發項目管理軟件工程的要求,按照系統總體設計規格説明書進行軟件設計,編寫程序設計規格説明書等相應的文檔的實用性人才。還能夠組織和指導程序員編寫、調試程序,並對軟件進行優化和集成測試,開發出符合系統總體設計要求的高質量軟件;具有工程師的實際工作能力和業務水平,可聘任工程師職務。2004年人社部將高級程序員更名為軟件設計師
中文名
軟件設計師
外文名
The software designer
作    用
據軟件開發項目管理和軟件工程
工    作
編寫程序設計
考    試
計算機軟件資格考試(CVEQC)
考試時間
150分鐘

軟件設計師相關考試

軟件設計師考試屬於全國計算機技術與軟件專業技術資格考試(簡稱計算機軟件資格考試)中的一箇中級考試。考試不設學歷與資歷條件,也不論年齡和專業,考生可根據自己的技術水平選擇合適的級別合適的資格,但一次考試只能報考一種資格。考試採用筆試形式,考試實行全國統一大綱、統一試題、統一時間、統一標準、統一證書的考試辦法。

軟件設計師考試要求

軟件設計師考試輔導 軟件設計師考試輔導
(1) 掌握計算機內的數據表示、算術和邏輯運算方法;
(2) 掌握相關的應用數學及離散數學基礎知識;
(3) 掌握計算機體系結構以及各主要部件的性能和基本工作原理;
(4) 掌握操作系統、程序設計語言的基礎知識,瞭解編譯程序的基本知識;
(5) 熟練掌握常用數據結構和常用算法;
(6) 熟悉數據庫、網絡和多媒體的基礎知識;
(7) 掌握C程序設計語言,以及C++、Java中的一種程序設計語言;(2010年取消C語言)
(9) 掌握軟件設計的方法和技術;
(10) 瞭解信息化、常用信息技術標準、安全性,以及有關法律、法規的基礎知識;
(11) 正確閲讀和理解計算機領域的英文資料。 [1] 

軟件設計師考試科目

  1. 計算機與軟件工程知識,考試時間為150分鐘,筆試,選擇題;
  2. 軟件設計,考試時間為150分鐘,筆試,問答題。 [1] 

軟件設計師考試範圍

軟件工程知識
1. 計算機科學基礎知識
1.1數制及其轉換
二進制八進制十進制十六進制等常用數制及其相互轉換
1.2 計算機內數據的表示
◇ 數的表示(補碼表示,整數和實數的表示,精度和溢出)
◇ 非數值表示(字符和漢字表示,聲音表示、圖像表示
1.3算術運算和邏輯運算
◇ 計算機中的二進制數運算方法
1.4其他數學基礎知識
◇ 常用數值計算
排列組合概率論應用,應用統計(數據的統計分析
編碼基礎
命題邏輯謂詞邏輯形式邏輯的基礎知識
◇ 運籌基本方法
2.1計算機硬件基礎知識
2.1.1計算機系統的組成、體系結構分類及特性
CPU存儲器的組成、性能和基本工作原理
◇ 常用I/O設備通信設備的性能以及基本工作原理
I/O接口的功能、類型和特性
◇ CISC/RISC,流水線操作,多處理機並行處理
虛擬存儲器基本工作原理,多級存儲體系
◇ 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.1軟件工程知識
◇ 軟件開發項目管理
軟件開發工具與軟件開發環境
3.2 系統分析基礎知識
◇ 系統分析的主要步驟
◇ 機構化分析方法
3.3 系統設計基礎知識
概要設計詳細設計的基本任務
◇ 系統設計的基本原理
◇ 面向數據結構的設計方法
◇ 系統詳細設計
3.4 系統實施基礎知識
◇ 系統實施的基本內容
◇ 程序設計方法
◇ 程序設計的基本模塊
3.5 系統運行和維護基礎知識
系統可維護性的概念
系統維護的類型
◇ 系統評價的概念和類型
3.6 軟件質量管理基礎知識
◇ 軟件質量特性(ISO/IEC 9126軟件質量模型
◇ 軟件複雜性的概念及度量方法(McCabe度量法
軟件評審設計質量評審、程序質量評審)
◇ 軟件容錯技術
3.7 軟件過程改進基礎知識
統一過程(UP)與極限編程(XP)的基本概念
◇ 面向對象的基本概念
◇ 分析模式與設計模式知識
面向對象數據庫、分佈式對象基礎知識
◇ 信息系統安全基礎知識
◇ 信息系統安全管理
◇ 保障完整性與可用性的措施
◇ 加密與解密機制基礎知識
風險管理風險分析、風險類型、抗風險措施和內部控制
◇ 計算機安全相關的法律、法規基礎知識
標準化基礎知識
◇ 標準化意識,標準化組織機構,標準的內容、分類、代號與編號規定,標準制訂過程
◇ 代碼標準、文件格式標準、安全標準、互聯網相關標準、軟件開發規範和文檔標準、基於構件的軟件標準
6.2 信息化基礎知識
◇ 全球信息化趨勢、國家信息化戰略、企業信息化戰略和策略
◇ 互聯網相關的法律、法規
◇ 個人信息保護規則
遠程教育、電子商務、電子政務等基礎知識
企業信息資源管理基礎知識
6.3知識產權基礎知識
保護知識產權有關的法律、法規
計算機專業英語
◇ 具有工程師所要求的英語閲讀水平
◇ 理解本領域的英語術語

軟件設計師軟件設計

軟件設計師外部設計

1.1 理解系統需求説明
1.2 準備進行系統開發
◇ 選擇開發方法、準備開發環境、制訂開發計劃
1.3 設計系統功能
◇ 選擇系統結構
◇ 設計各子系統的功能和接口
◇ 設計安全性策略、需求和實現方法
◇ 制訂詳細的工作流數據流
1.4 設計數據模型
◇ 設計ER模型及其他數據模型
1.5 編寫外部設計文檔
◇ 系統配置圖、各子系統關係圖
系統流程圖、系統功能説明書
◇ 輸入輸出規格説明、數據規格説明、用户手冊框架
◇ 設計系統測試要求
1.6 外部設計的評審

軟件設計師內部設計

2.1 設計軟件結構
◇ 按構件分解,確定構件功能、規格以及構件之間的接口
◇ 數據結構與算法設計
◇ 採用中間件和工具
2.2 設計輸入輸出
2.3 設計物理數據
2.4 構件的創建和重用
◇ 創建構件、重用構件
◇ 使用子程序庫或類庫
2.5 編寫內部設計文檔
◇ 構件劃分圖、構件間的接口、構件處理説明
◇屏幕界面設計文檔、報表設計文檔、文件設計文檔、數據庫設計文檔
2.6 內部設計的評審

軟件設計師數據庫

◇ 設計關係模式
◇ 數據庫語言(SQL)
◇ 數據庫訪問

軟件設計師程序設計

4.1 模塊劃分
4.2 編寫程序設計文檔
4.3 程序設計評審
5.系統實施
5.1 配置計算機系統及環境
5.2 選擇合適的程序設計語言
5.3 用C程序設計語言以及C++、Java中的任一種程序設計語言進行程序設計
5.4 系統測試
◇ 指導程序員進行模塊測試,並進行驗收
◇ 準備測試數據
◇ 寫出測試報告

軟件設計師軟件工程應用

6.1 軟件開發週期模型
6.3 軟件設計
◇ 軟件設計的基本原則
軟件設計方法
◇ 程序設計(結構化程序設計、面向對象程序設計)
6.4 軟件測試的原則與方法
6.5 軟件質量(軟件質量特性、軟件質量控制)
6.6 軟件過程評估基本方法、軟件能力成熟度評估基本方法
6.7 軟件開發環境和開發工具
◇ 面向構件技術
◇ 統一建模語言(UML)
◇ 軟件過程改進模型和方法
6.9 網絡環境軟件技術

軟件設計師工作內容

軟件設計師工作內容 軟件設計師工作內容
軟件設計師的工作,受到系統架構師的影響。當系統架構師決定了整個系統架構後,軟件設計師會試着實作一個系統原型。
系統原型的目的,在於驗證系統架構師提出的架構。當架構過於複雜,或開發成本過高時,軟件設計師必需要求系統架構師,修改提出的架構,因為在實務上,由於成本、技術等關係,是無法在經濟的狀況下達成。
軟件設計師,必需對軟件技術十分專長,也必需對客户的需求有一定程度的瞭解。在系統原型中,軟件設計師會實作多個程式範型(Program Pattern),每個程式範型,對應到一種客户需求的程式類型。
系統原型開發成功後,後續的團隊,就可以使用完成的程式範型,快速地將客户的需求,轉化為系統程式。

軟件設計師日常工作

“軟件設計師”的概念,它與電子、機械、建築行業的設計師有着同樣的職責,可以只輸出一種經過嚴格約束,並有着明顯業務領域特色的設計説明與流程,而交給別人去實現,達到了很高的軟件生產效率
大多數企業只是對“系統分析員”與“軟件工程師”做了明顯的界定,“系統分析員”的職責在不同的企業區別較大,其工作範圍涉及需求分析功能設計、軟件結構設計、接口設計等內容,有相當部分的“系統分析員”要承擔一定程度的系統設計工作,但他們一般不參與編程與模塊詳細設計的工作;而絕大多數軟件工程師則同時承擔模塊詳細設計與編程的工作。
參考資料