計算機軟體設計師
計算機軟體設計師
計算機軟體設計師是為電腦編寫軟體和應用程序的,分為初級,中級,高級。
計算機軟體設計師
此考試分兩場:上下午各2個半小時。
上午試卷有15道必做題.
內容包括:
上午題:
在此處添加文字
在此處添加文字
計算機軟體設計師
下午題:
共有6題。前3題為有關的分析設計圖(數據流圖、程序流程圖、系統流程圖、ER圖),可選做2題,要求考生按照題意填補圖中的空缺,並回答若干問題。試卷中還有1道CASL彙編語言程序題和2道C語言程序題,都是必做題。程序題中給出了演演算法以及不完整的程序,要求填補空缺的語句。CASL彙編語言是從許多具體機型的彙編語言中抽象出來的一種簡化的、專用於考試的彙編語言。在清華大學出版社出版的考試大綱書中以及在試卷中都含有CASL彙編語言文本。如果考生並沒有學過、用過任何彙編語言,則需要花費一定的時間來學習和練習。
考試內容要求知識點的掌握程度從深到淺可分五個層次,分別要求為熟練掌握、掌握、理解、熟悉和了解。其中包括2個熟練掌握(常用數據結構和常用演演算法、軟體設計的方法和技術)、8個掌握、2個熟悉,1個正確理解,具體體以下12個方面:(1)掌握數據表示、算術和邏輯運算;(2)掌握相關的應用數學、離散數學的基礎知識;(3)掌握計算機體系結構以及各主要部件的性能和基本工作原理;(4)掌握操作系統、程序設計語言的基礎知識,了解編譯程序的基本知識;(5)熟練掌握常用數據結構和常用演演算法;(6)熟悉資料庫、網路和多媒體的基礎知識;(7)掌握C程序設計語言,以及C++、Java、VisualBasic、VisualC++中的一種程序設計語言;(8)熟悉軟體工程、軟體過程改進和軟體開發項目管理的基礎知識;(9)熟練掌握軟體設計的方法和技術;(10)掌握常用信息技術標準、安全性,以及有關法律、法規的基本知識;(11)了解信息化、計算機應用的基礎知識;(12)正確閱讀和理解計算機領域的英文資料。分析:相對於2001年考試大綱,新大綱對知識面的要求更寬,更注重軟體設計開發的實踐能力,這一點充分體在下午考試中。考試內容除了技術要求外,還增加了對軟體工程實踐能力、安全性、標準化、法律法規等方面知識的要求,畢竟軟體設計師是軟體產業的骨幹,因此考試要求相對較高。
考試範圍考試科目1:計算機與軟體工程知識本部分包含以下內容:計算機科學基礎 計算機系統知識 系統開發和運行知識 安全性知識 標準化知識 信息化基礎知識 計算機專業英語1.計算機科學基礎1.1數制及其轉換·二進位、十進位和十六進位等常用制數制及其相互轉換1.2數據的表示·(原碼、反碼、補碼、移碼表示,整數和實數的機內表示,精度和溢出)·非數值表示(字元和漢字表示、聲音表示、圖像表示)·校驗方法和校驗碼(奇偶校驗碼、海明校驗碼、循環冗餘校驗碼)1.3算術運算和邏輯運算·計算機中的二進位數運算方法·邏輯代數的基本運算和邏輯表達式的化簡【分析1.1/1.2/1.3】本部分要求與程序員考試大綱基本一致重點:數的表示、校驗碼難點:數的四種編碼:原碼、反碼、補碼、移碼及相互之間的變換方法。浮點數的表示以及其規格化。考試題型一般分佈在:數製表示、數據表示、校驗碼的長度、邏輯表達式(公式、等效變換),明確“與”、“非”、“異或”的運算規則。
考試出現頻率較高的內容:浮點數規格化、進位轉換、求反補碼。1.4數學基礎知識·命題邏輯、謂詞邏輯、形式邏輯的基礎知識·常用數值計算(誤差、矩陣和行列式、近似求解方程、插值、數值積分)·排列組合、概率論應用、應用統計(數據的統計分析)·運算基本方法(預測與決策、線性規劃、網路圖、模擬)【分析1.4】考綱要求掌握相關的應用數學、離散數學的基礎知識。本部分內容作為背景知識,雖不專門考察,但在其他題目中尤其是程序設計中出現。1.5常用數據結構·數組(靜態數組、動態數組)、線性表、鏈表(單向鏈表、雙向鏈表、循環鏈表)、隊列、棧、樹(二叉樹、查找樹、平衡樹、線索樹、線索樹、堆)、圖等的定義、存儲和操作·Hash(存儲地址計算,衝突處理)1.6常用演演算法·排序演演算法、查找演演算法、數值計算方法、字元串處理方法、數據壓縮演演算法、遞歸演演算法、圖的相關演演算法·演演算法與數據結構的關係、演演算法效率、演演算法設計、演演算法描述(流程圖、偽代碼、決策表)、演演算法的複雜性【分析1.5/1.6】因為數據結構是程序設計的基礎,演演算法與數據結構密切相關,因此本部分為考試重點內容,要求熟練掌握。重點:順序存儲結構和鏈式存儲結構的特點、鏈表中的頭結點、棧的運算與溢出、循環隊列的基本操作數組元素的存儲位置、特殊矩陣的壓縮存儲、廣義表的表頭和表尾求法二叉樹存儲方法、由遍歷序列確定二叉樹、二叉樹的計數問題圖的遍歷演演算法、最小生成樹演演算法、拓樸排序和關鍵路徑、最短路徑演演算法平均查找長度、折半查找判定樹、平衡二叉樹的最少結點數、插入運算及平衡化處理、哈希表的構造和查找排序的穩定問題、快速排序的分析及改進、內部排序的時間下界、演演算法時間複雜度分析難點:二叉樹節點與深度的關係、圖的存儲(矩陣、鄰接表)與操作、遍歷、
考試出現頻率較高的內容:樹的遍歷、數據元素存儲方式、查找樹、平衡樹考試題型一般分佈在:數據元素存儲方式、隊和棧的性質及其對比、鏈表操作、二叉樹的定義及其性質、二叉樹的遍歷/節點計算、樹的遍歷、查找樹、平衡樹等,圖的概念及其性質。常見的排序演演算法、查找演演算法、遞歸演演算法、演演算法的基本特點、常用演演算法思想、演演算法效率的比較(時間、空間複雜度)、演演算法描述、演演算法複雜性比較2.計算機系統知識2.1硬體知識2.1.1計算機系統的組成、體系結構分類及特性·CPU和存儲器的組成、性能和基本工作原理·常用I/O設備、通信設備的性能,以及基本工作原理·I/O介面的功能、類型和特性·(中斷系統、DMA、I/O處理機方式)·CISC/RISC,流水線操作,多處理機,并行處理2.1.2存儲系統·主存-Cache存儲系統的工作原理·虛擬存儲器基本工作原理,多級存儲體系的性能價格·RAID類型和特性【分析2.1.1/2.1.2】分析:磁碟存儲器的容量計算、地址映射、流水線、系統結構分類重點:Cache替換演演算法、內存與介面的編址方式、流水線操作難點:I/O控制方式、地址計算、并行處理的概念和層次考試出現頻率較高的內容:指令的定址方式以及指令的執行過程;存儲容量的計算、流水線處理機的主要指標、
CISC/RISC比較等2.1.3安全性、可靠性與系統性能評測基礎知識·診斷與容錯·系統可靠性分析評價·計算機系統性能評測方式【分析2.1.3】本部分內容多為記憶型內容重點:數據加密/解密知識、計算機安全等級、認證技術、數字簽名等平均無故障時間、平均修復時間定義、計算機可靠性模型、性能評價 難點:數據加密/解密知識、密鑰體制考試出現頻率較高的內容:可靠性能評價、數據安全知識、計算機可靠性及性能評價2.2軟體知識2.2.1操作系統知識·操作系統的內核(中斷控制)、進程、線程概念·處理機管理(狀態轉換、共享與互斥、分時輪轉、搶佔、死鎖)·存儲管理(主存保護、動態連接分配、分段、分頁、虛存)·設備管理(I/O控制、假離線)·文件管理(文件目錄、文件組織、存取方法、存取控制、恢復處理)·作業管理(作業調度、作業控制語言(JCL)、多道程序設計)·漢字處理,多媒體處理,人機界面·網路操作系統和嵌入式操作系統基礎知識·操作系統的配置【分析2.2.1】重點:操作系統的五大管理功能,其中如處理機管理、存儲管理、作業調度、進程調度、頁面調度等尤為重要、狀態轉換、共享與互斥、分時輪轉、搶佔、死鎖 難點:作業調度、進程調度、頁面調度演演算法、PV操作考試題型一般分佈在:操作系統的概述、處理機管理、存儲、文件管理、作業、進程調度、進程狀態變化考試出現頻率較高的內容:PV操作、進程死鎖/同步、內存分配、併發執行程序、進程間狀態轉換、PV實現進程間的同步與互斥、死鎖及其避免、地址變換、頁面置換、工作集2.2.2程序設計語言和語言處理程序的知識·彙編、編譯、解釋系統的基礎知識和基本工作原理·程序設計語言的基本成分:數據、運算、控制和傳輸,過程(函數)調用·各類程序設計語言主要特點和適用情況【分析2.2.2】分析:文法考查、自動機、正則式重點:編譯程序的基本組成、正則表達式和有限自動機、文法及語言的形式描述、中間代碼、自動機原理、文法和語言的定義考試出現頻率較高的內容:正則表達式和正則集、有限自動機和正則表達式的轉換2.3計算機網路知識·網路體系結構(網路拓撲、OSI/RM、基本的網路協議)·傳輸介質、傳輸技術、傳輸方法、傳輸控制·常用網路設備和各類通信設備·Client/Server結構、Browser/Server結構·LAN拓撲,存取控制,LAN的組網,LAN間連接,LAN-WAN連接·網際網路基礎知識以及應用·網路軟體·網路管理·網路性能分析【分析2.3】計算機網路中對OSI/RM七層的劃分,及各種協議的功能。傳輸理論、互聯設備、Internet知識,除參考模型理論外,其他的比較比較瑣碎,需要知識積累。重點:網路分類、拓撲結構、OSI參考模型層次劃分及對應的協議、帶寬計算、子網劃分、防火牆技術難點:IP子網劃分;傳輸控制、各層協議的功能考試題型一般分佈在:這部分知識除了上面的難點部分外,基本屬於了解記憶性的知識點,知識點比較散亂,但考試中考點均落在大綱中列出的知識點中。考試出現頻率較高的內容:TCP/IP協議、參考模型7層協議、IP地址的分類、各種網路設備的比較;2.4資料庫知識·資料庫管理系統的功能和特徵·資料庫模型(概念模式、外模式、內模式)·數據模型,ER圖,第一範式、第二範式、第三範式·數據操作(集合運算和關係運算)·資料庫語言(SQL)·資料庫的控制功能(併發控制、恢復、安全性、完整性)·數據倉庫和分散式資料庫基礎知識【分析2.4】無論對上午題目還是下午題目,本部分都很重要,這是學習和複習的一個重點。重點:用E-R模型表示現實問題,擴充的E-R模型、ER圖向關係模式的轉換、資料庫語言(SQL)、對SELECT查詢語句的應用、關係代數表達式、關係模型的完整性約束、函數依賴難點:五種基本的關係運算方法、組合的關係運算方法、規則化理論()、函數依賴、分解的保持函數依賴、無損連接又保持函數依賴的分解、判斷一個分解的無損連接性和保持函數考試出現頻率較高的內容:數據模型、關係運算與SQL語句的轉換、函數依賴2.5多媒體知識·多媒體系統基礎知識,多媒體設備的性能特性,常用多媒體文件格式·簡單圖形的繪製,圖像文件的處理方法·音頻和視頻信息的應用·多媒體應用開發過程【分析2.5】基本屬於了解記憶性的知識點。重點:多媒體的基本概念、聲音數字化的過程、圖像壓縮編碼、視頻文件的國際標準、流媒體概念、多媒體計算機系統、虛擬現實技術難點:多媒體信息的容量計算、數據壓縮、常用多媒體文件格式、音頻和視頻的物理特徵等考試出現頻率較高的內容:基本知識、信息的容量計算2.6系統性能知識·性能指標(響應時間、吞吐量、周轉時間)和性能設計·性能測試和性能評估·可靠性指標及計算、可靠性設計·可靠性測試和可靠性評估【分析2.6】重點:可靠性評估考試出現頻率較高的內容:系統可靠性的計算、設備周轉時間2.7計算機應用基礎知識·信息管理、數據處理、輔助設計、自動控制、科學計算、人工智慧等基礎知識·遠程通信服務基礎知識·常用應用系統【分析2.7】本部分內容不是考試重點,做一般了解即可。3.系統開發和運行知識本部分內容涉及上午考試和下午考試,是軟體設計師工作能力的考查重點。3.1軟體工程、軟體過程改進和軟體開發項目管理知識·軟體工程知識·軟體開發生命周期各階段的目標和任務·軟體開發項目管理基礎知識(時間管理、成本管理、質量管理、人力資源管理、風險管理等)及其常用管理工具·主要的軟體開發方法(生命周期法、原型法、面向對象法、CASE)·軟體開發工具與環境知識·軟體過程改進知識·軟體質量管理知識·軟體開發過程評估、軟體能力成熟評估基礎知識【分析3.1】重點:軟體開發方法、CMM、成本估算、風險分析、進度管理、人員管理、軟體開發環境3.2系統分析基礎知識·系統分析的目的和任務·結構化分析方法(數據流圖(DFD)、數據字典(DD)、實體關係圖(ERD)、描述加工處理的結構化語言)·統一建模語言(UML)·系統規格說明書【分析3.2】高度重視UML在系統分析中的應用重點:數據流圖(DFD)、數據字典(DD)、實體關係圖(ERD)考點:UML的各類圖3.3系統設計知識·系統設計的目的和任務·結構化設計方法和工具(系統流程圖、hipo圖、控制流程圖)·系統總體結構設計(總體布局、設計原則、模塊結構設計、數據存儲設計、系統配置方案)·系統詳細設計(代碼設計、資料庫設計、用戶界面設計、處理過程設計)·系統設計說明書【分析3.3】重點:系統流程圖、hipo圖、控制流程圖3.4系統實施知識·系統實施的主要任務·結構化程序設計、面向對象程序設計、可視化程序設計·程序設計風格·程序設計語言的選擇·系統測試的目的、類型,系統測試方法(黑盒測試、白盒測試、灰盒測試)·測試設計和管理(錯誤曲線、錯誤排除、收斂、注入故障、測試用例設計、系統測試報告)·系統轉換基礎知識3.5系統運行和維護知識·系統運行管理基礎知識·系統維護基礎知識·系統評價基礎知識【分析3.4/3.5】重點:結構化設計中信息流、變換分析、系統結構設計原則、系統劃分、模塊設計、數據存儲設計、面向對象程序設計、測試方法、系統維護的分類難點:系統測試方法、測試分類、系統可維護性評價指標3.6面向對象開發方法·面向對象開發概念(類、對象、屬性、封裝性、繼承性、多態性、對象之間的引用)·面向對象開發方法的優越性以及有效領域·面向對象設計方法(體系結構、類的設計、用戶介面設計)·面向對象實現方法(選擇程序設計語言、類的實現、方法的實現、用戶介面的實現、準備測試數據)·面向對象程序設計語言(如C++、Java、Visual、Bsasic、VisualC++)的基本機制·面向對象資料庫、分散式對象的概念【分析3.6】重點:面向對象開發:類、對象、屬性、封裝性、繼承性、多態性、OMT方法難點:建議在數據流圖、結構化分析方法上多加掌握。【分析3】考試題型一般分佈在:DFD、軟體的生存周期;數據流圖;模塊間的關係;軟體測試的分類、軟體質量管理(標準)軟體的特性、主要的軟體開發方法、系統測試、軟體能力成熟評估考試出現頻率較高的內容:數據流圖、黑盒/白盒測試、面向對象技術的概念4.安全性知識·安全性基本概念·防治計算機病毒、防範計算機犯罪·存取控制、防闖入、安全管理措施·加密與解密機制·風險分析、風險類型、抗風險措施和內部控制【分析4】系統安全問題是社會關注的問題,也是應用價值較高的知識,可結合現實中的相關問題來加深理解。考試出現頻率較高的內容:加密與解密演演算法、5.標準化知識·標準化意識、標準化的發展、標準制訂過程·國際標準、國家標準、行業標準、企業標準基本知識·代碼標準、文件格式標準、安全標準、軟體開發規範和文檔標準知識·標準化機構6.信息化基礎知識·信息化意識·全球信息化趨勢、國家信息化戰略、企業信息化戰略和策略·有關的法律、法規·遠程教育、電子商務、電子政務等基礎知識·企業信息資源管理基礎知識【分析5/6】信息化、標準化知識是新增考點。標準化方面有標準標識,標準修訂等是對基本素質的考查,也要重視。考試出現頻率較高的內容7.計算機專業英語·掌握計算機技術的基本辭彙·能正確閱讀和理解計算機領域的英文資料【分析7】專業英語,是對專業知識和英語水平的考查,考前需有意識閱讀點英文專業資料。考試題型一般分佈在:軟體行業標準,計算機安全基礎知識,信息化基礎知識。考試出現頻率較高的內容:行業標準的類別;計算機安全,CMM分類,計算機軟體著作權問題。考試科目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、VisualBasic、VisualC++中任一種程序設計語言,以便能指導程序員進行編程和測試,並進行必要的優化4.4系統測試·指導程序員進行模塊測試,並進行驗收·準備系統集成測試環境和測試工具·準備測試數據·寫出測試報告5.軟體工程·軟體生存期模型(瀑布模型、螺旋模型、噴泉模型)和軟體成本模型·定義軟體需求(系統化的目標、配置、功能、性能和約束)·描述軟體需求的方法(功能層次模型、數據流模型、控制流模型、面向數據的模型、面向對象的模型等)·定義軟體需求的方法(結構化分析方法、面向對象分析方法)·軟體設計(分析與集成、逐步求精、抽象、信息隱蔽)·軟體設計方法(結構化設計方法、jackson方法、Warnier方法、面向對象設計方法)·程序設計(結構化程序設計、面向對象程序設計)·軟體測試的原則與方法·軟體質量(軟體質量特性、軟體質量控制)·軟體過程評估基本方法、軟體能力成熟度評估基本方法·軟體開發環境和開發工具(分析工具、設計工具、編程工具、測試工具、維護工具、CASE)·軟體工程發展趨勢(面向構件,統一建模語言(UML))·軟體過程改進模型和方法
計算機軟體培訓學校的地圖
上半年考試時間安排:5月24、25日
下半年考試時間安排: 11月8、9日