軟體設計師

軟體設計師

軟體設計師是指能根據軟體開發項目管理和軟體工程的要求,按照系統總體設計規格說明書進行軟體設計,編寫程式設計規格說明書等相應的文檔的實用性人才。還能夠組織和指導程式設計師編寫、調試程式,並對軟體進行最佳化和集成測試,開發出符合系統總體設計要求的高質量軟體;具有工程師的實際工作能力和業務水平,可聘任工程師職務。

基本介紹

  • 中文名:軟體設計師
  • 外文名:The software designer
  • 作用:據軟體開發項目管理和軟體工程
  • 工作:編寫程式設計
  • 考試:計算機軟體資格考試(CVEQC)
  • 考試時間:150分鐘
相關考試,考試要求,考試科目,考試範圍,軟體設計,外部設計,內部設計,資料庫,程式設計,軟體工程套用,工作內容,日常工作,

相關考試

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

考試要求

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

考試科目

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

考試範圍

軟體工程知識
1. 計算機科學基礎知識
1.1數制及其轉換
◇ 二進制、八進制、十進制和十六進制等常用數制及其相互轉換
1.2 計算機內數據的表示
◇ 數的表示(補碼錶示,整數和實數的表示,精度和溢出)
◇ 非數值表示(字元和漢字表示,聲音表示、圖像表示)
1.3算術運算和邏輯運算
◇ 計算機中的二進制數運算方法
◇ 邏輯代數的基本運算
1.4其他數學基礎知識
◇ 常用數值計算
◇ 排列組合,機率論套用,套用統計(數據的統計分析)
◇編碼基礎
◇ 命題邏輯、謂詞邏輯、形式邏輯的基礎知識
◇ 運籌基本方法
計算機系統知識
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.1軟體工程知識
◇ 軟體生存周期與軟體生存周期模型
◇ 軟體開發方法
◇ 軟體開發項目管理
◇ 軟體開發工具與軟體開發環境
3.2 系統分析基礎知識
◇ 系統分析的主要步驟
◇ 機構化分析方法
3.3 系統設計基礎知識
◇ 概要設計與詳細設計的基本任務
◇ 系統設計的基本原理
◇ 系統模組結構設計
◇ 結構化設計方法
◇ 面向數據結構的設計方法
◇ 系統詳細設計
3.4 系統實施基礎知識
◇ 系統實施的基本內容
◇ 程式設計方法
◇ 程式設計的基本模組
◇ 系統測試
◇ 系統轉換
3.5 系統運行和維護基礎知識
◇ 系統可維護性的概念
◇ 系統維護的類型
◇ 系統評價的概念和類型
3.6 軟體質量管理基礎知識
◇ 軟體質量特性(ISO/IEC 9126軟體質量模型)
◇ 軟體質量保證
◇ 軟體複雜性的概念及度量方法(McCabe度量法)
◇ 軟體評審(設計質量評審、程式質量評審)
◇ 軟體容錯技術
3.7 軟體過程改進基礎知識
◇ 軟體能力成熟度模型CMM
◇ 統一過程(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.2 需求分析
6.3 軟體設計
◇ 軟體設計的基本原則
◇ 軟體設計方法
◇ 程式設計(結構化程式設計、面向對象程式設計)
6.4 軟體測試的原則與方法
6.5 軟體質量(軟體質量特性、軟體質量控制)
6.6 軟體過程評估基本方法、軟體能力成熟度評估基本方法
6.7 軟體開發環境和開發工具
6.8 面向對象技術
◇ 面向構件技術
◇ 統一建模語言(UML)
◇ 軟體過程改進模型和方法
6.9 網路環境軟體技術

工作內容

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

日常工作

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

相關詞條

熱門詞條

聯絡我們