軟件設計師

軟件設計師

計算機工作崗位
能根據軟件開發項目管理和軟件工程的要求,按照系統總體設計規格說明書進行軟件設計,編寫程序設計規格說明書等相應的文檔;組織和指導程序員編寫、調試程序,并對軟件進行優化和集成測試,開發出符合系統總體設計要求的高質量軟件;具有工程師的實際工作能力和業務水平。
    中文名:軟件設計師 外文名: 别名: 英文名:The software designer 作 用:據軟件開發項目管理和軟件工程 工 作:編寫程序設計 考 試:計算機軟件資格考試 考試時間:150分鐘

考試介紹

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

考試目标

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

考試要求

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

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

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

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

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

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

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

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

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

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

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

考試科目

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

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

考試範圍

1.軟件工程知識

1.計算機科學基礎知識

1.1數制及其轉換

◇二進制、八進制、十進制和十六進制等常用數制及其相互轉換

1.2計算機内數據的表示

◇數的表示(補碼表示,整數和實數的表示,精度和溢出)

◇非數值表示(字符和漢字表示,聲音表示、圖像表示)

1.3算術運算和邏輯運算

◇計算機中的二進制數運算方法

◇邏輯代數的基本運算

1.4其他數學基礎知識

◇常用數值計算

◇排列組合,概率論應用,應用統計(數據的統計分析)

◇編碼基礎

◇命題邏輯、謂詞邏輯、形式邏輯的基礎知識

◇運籌基本方法

2.計算機系統知識

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.系統開發和運行知識

3.1軟件工程知識

◇軟件生存周期與軟件生存周期模型

◇軟件開發方法

◇軟件開發項目管理

◇軟件開發工具與軟件開發環境

3.2系統分析基礎知識

◇系統分析的主要步驟

◇機構化分析方法

3.3系統設計基礎知識

◇概要設計與詳細設計的基本任務

◇系統設計的基本原理

◇系統模塊結構設計

◇結構化設計方法

◇面向數據結構的設計方法

◇系統詳細設計

3.4系統實施基礎知識

◇系統實施的基本内容

◇程序設計方法

◇程序設計的基本模塊

◇系統測試

◇系統轉換

3.5系統運行和維護基礎知識

◇系統可維護性的概念

◇系統維護的類型

◇系統評價的概念和類型

3.6軟件質量管理基礎知識

◇軟件質量特性(ISO/IEC9126軟件質量模型)

◇軟件質量保證

◇軟件複雜性的概念及度量方法(McCabe度量法)

◇軟件評審(設計質量評審、程序質量評審)

◇軟件容錯技術

3.7軟件過程改進基礎知識

◇軟件能力成熟度模型CMM

◇統一過程(UP)與極限編程(XP)的基本概念

4.面向對象基礎知識

◇面向對象的基本概念

◇面向對象分析與設計知識

◇分析模式與設計模式知識

◇面向對象程序設計知識

◇面向對象數據庫、分布式對象基礎知識

5.信息安全知識

◇信息系統安全基礎知識

◇信息系統安全管理

◇保障完整性與可用性的措施

◇加密與解密機制基礎知識

◇風險管理(風險分析、風險類型、抗風險措施和内部控制)

◇計算機安全相關的法律、法規基礎知識

6.标準化基礎知識

◇标準化意識,标準化組織機構,标準的内容、分類、代号與編号規定,标準制訂過程

◇國際标準、國家标準、行業标準、企業标準

◇代碼标準、文件格式标準、安全标準、互聯網相關标準、軟件開發規範和文檔标準、基于構件的軟件标準

6.2信息化基礎知識

◇全球信息化趨勢、國家信息化戰略、企業信息化戰略和策略

◇互聯網相關的法律、法規

◇個人信息保護規則

◇遠程教育、電子商務、電子政務等基礎知識

◇企業信息資源管理基礎知識

6.3知識産權基礎知識

◇保護知識産權有關的法律、法規

7.計算機專業英語

◇具有工程師所要求的英語閱讀水平

◇理解本領域的英語術語

軟件工程

1.外部設計

1.1理解系統需求說明

1.2準備進行系統開發

◇選擇開發方法、準備開發環境、制訂開發計劃

1.3設計系統功能

◇選擇系統結構

◇設計各子系統的功能和接口

◇設計安全性策略、需求和實現方法

◇制訂詳細的工作流和數據流

1.4設計數據模型

◇設計ER模型及其他數據模型

1.5編寫外部設計文檔

◇系統配置圖、各子系統關系圖

◇系統流程圖、系統功能說明書

◇輸入輸出規格說明、數據規格說明、用戶手冊框架

◇設計系統測試要求

1.6外部設計的評審

2.内部設計

2.1設計軟件結構

◇按構件分解,确定構件功能、規格以及構件之間的接口

◇數據結構與算法設計

◇采用中間件和工具

2.2設計輸入輸出

2.3設計物理數據

2.4構件的創建和重用

◇創建構件、重用構件

◇使用子程序庫或類庫

2. 編寫内部設計文檔

◇構件劃分圖、構件間的接口、構件處理說明

◇屏幕界面設計文檔、報表設計文檔、文件設計文檔、數據庫設計文檔

2.6内部設計的評審

3.數據庫應用分析與設計

◇設計關系模式

◇數據庫語言(SQL)

◇數據庫訪問

4.程序設計

4.1模塊劃分

4.2編寫程序設計文檔

4.3程序設計評審

5.系統實施

5.1配置計算機系統及環境

5.2選擇合适的程序設計語言

5.3用C程序設計語言以及C++、Java中的任一種程序設計語言進行程序設計

5.4系統測試

◇指導程序員進行模塊測試,并進行驗收

◇準備系統集成測試環境和測試工具

◇準備測試數據

◇寫出測試報告

6.軟件工程應用

6.1軟件開發周期模型

6.2需求分析

6.3軟件設計

◇軟件設計的基本原則

◇軟件設計方法

◇程序設計(結構化程序設計、面向對象程序設計)

6.4軟件測試的原則與方法

6.5軟件質量(軟件質量特性、軟件質量控制)

6.6軟件過程評估基本方法、軟件能力成熟度評估基本方法

6.7軟件開發環境和開發工具

6.8面向對象技術

◇面向構件技術

◇統一建模語言(UML)

◇軟件過程改進模型和方法

6.9網絡環境軟件技術

工作内容

軟件設計師的工作,受到系統架構師的影響。當系統架構師決定了整個系統架構後,軟件設計師會試着實作一個系統原型。

系統原型的目的,在驗證系統架構師提出的架構。當架構過于複雜,或開發成本過高時,軟件設計師必需要求系統架構師,修改提出的架構,因為在實務上,因為成本、技術等關系,是無法在經濟的狀況下達成。

軟件設計師,必需對軟件技術十分專長,也必需對客戶的需求有一定程度的了解。在系統原型中,軟件設計師會實作多個程式範型(Program Pattern),每個程式範型,對應到一種客戶需求的程式類型。

系統原型開發成功後,後續的團隊,就可以使用完成的程式範型,快速地将客戶的需求,轉化為系統程式。

日常工作

“軟件設計師”的概念,它與電子、機械、建築行業的設計師有着同樣的職責,可以隻輸出一種經過嚴格約束,并有着明顯業務領域特色的設計說明與流程,而交給别人去實現,達到了很高的軟件生産效率。

大多數企業隻是對“系統分析員”與“軟件工程師”做了明顯的界定,“系統分析員”的職責在不同的企業區别較大,其工作範圍涉及需求分析、功能設計、軟件結構設計、接口設計等内容,有相當部分的“系統分析員”要承擔一定程度的系統設計工作,但他們一般不參與編程與模塊詳細設計的工作;而絕大多數軟件工程師則同時承擔模塊詳細設計與編程的工作。

相關報道

1、據《每日電訊報》、《每日郵報》、《每日鏡報》3月12日報道,英國德文郡托特尼斯市的14歲男生阿龍·邦德堪稱是一名計算機神童,他早在8歲時就成立了自己的網頁公司,13歲時又為蘋果公司的iPhone手機編寫了多個遊戲軟件,成為“全歐最年輕的軟件設計師”,去年更獲美國蘋果公司邀請出席蘋果大會。但令人做夢也沒想到的是,本應前途無限阿龍不久前竟然利用他的計算機天賦充當一名“黑客”,悄悄入侵他所就讀的愛德華六世國王學院學校内部的計算機系統,并竊取了大量敏感資料!東窗事發後,顔面掃地的校方日前一怒之下宣布将阿龍開除出校。當昔日的“全歐最年輕的軟件設計師竟淪為“黑客”并被學校開除的消息曝光後,立即在英國引發軒然大波。

2、19歲的易巍是個腦癱兒,身體有缺陷,還有語言障礙。19年來,他從沒進過校門。憑着自學和不懈的鑽研,易巍成為衆人羨慕的電腦軟件設計師,并成功設計出五子棋遊戲軟件和腳本語言生成器軟件。

相關詞條

相關搜索

其它詞條