軟件設計師考試是計算機技術與軟件專業(yè)技術資格(水平)考試(簡稱軟考)系列中的一門重要的中級專業(yè)技術資格考試,是計算機專業(yè)技術人員獲得軟件設計師職稱的一個重要途徑。但軟件設計師考試涉及的知識面極廣,幾乎涵蓋了計算機專業(yè)課程的全部內(nèi)容,并且有一定的難度。目前市面上關于軟件設計師考試的輔導書籍大部分都是側重于某一個方向,而沒有從該考試的兩個科目去全面地闡述,會增加學員選擇上的困難性。
有鑒于此,本書以作者多年從事軟考教育培訓和試題研究的心得體會,詳細闡述了軟件設計師考試兩個科目所涉及的大部分知識點及真題。本書通過深度剖析考試大綱并綜合歷年的考試情況,將軟件設計師考試涉及的各知識點按考試科目分為綜合知識、案例專題兩大類,并在每類里劃分章節(jié)詳述對應考點,同時附以典型的真題和詳細的試題分析作為課后演練以確?忌軌蛴|類旁通。讀者通過學習本書中的知識,可以全面且快速地提高復習效率,做到有的放矢,以便能在考試時得心應手。書中還給出了一套模擬卷,并作了詳細點評。
本書可作為參加軟件設計師考試的考生的自學用書,也可作為軟考培訓班的教材。
資深軟件設計師考試培訓專家倪奕文老師真情分享
綜合教程、練習、解析、?脊δ埽槐就P
基于歷年考點頻次大數(shù)據(jù)組織編寫,內(nèi)容科學,重點突出
方法獨特,提煉精辟,已助大量考生輕松通過軟件設計師考試
配套視頻課程,文老師軟件教育公眾號提供在線答疑
說到軟件設計,軟件行業(yè)從業(yè)人員應該都很熟悉,但是有很多讀者會將軟件設計等同于編碼工作。然而,從定義上來說,一個合適的軟件設計師是指能根據(jù)軟件開發(fā)項目管理和軟件工程的要求,按照系統(tǒng)總體設計規(guī)格說明書進行軟件設計,編寫程序設計規(guī)格說明書等相應的文檔的實用型人才。還能夠組織和指導程序員編寫、調(diào)試程序,并對軟件進行優(yōu)化和集成測試,開發(fā)出符合系統(tǒng)總體設計要求的高質(zhì)量軟件。從這個要求里不難看出,軟件設計師其實已經(jīng)脫離了單純編碼的工作,而是從更高的層次來進行軟件設計,文檔編寫,以及指導程序員來編碼,而這也是軟件行業(yè)從業(yè)者職業(yè)發(fā)展中期的方向。
凡是計算機軟件開發(fā)行業(yè)從業(yè)者,都不應該一直困在編碼這項工作里,而是應該從全局的角度嘗試去做軟件設計、數(shù)據(jù)設計以及算法設計,這就勢必要求大家掌握必要的軟件設計相關的理論知識,以便于能夠從高層次上進行軟件設計,這也是軟件設計師這門考試的價值和熱度所在。除此之外,軟件設計師證書的價值還包括可以在某些大城市積分落戶,能夠減免部分個人所得稅,申請進入專家?guī)斓。正是因為該證書含金量高,報考人數(shù)多,以至于近些年考試真題難度越來越大,除了官方教材和大綱本身的內(nèi)容外,還會考查一些新的技術知識和熱門的算法原理。這無疑加大了考生的負擔。
為了幫助廣大考生順利通過考試,本人結合多年來軟件設計師輔導的心得,對考試的知識點做了匯總,該考試的范圍十分廣泛,除了要掌握軟件設計的相關知識,如軟件工程、結構化設計、面向對象設計、數(shù)據(jù)結構與算法設計、程序設計語言等知識;還要掌握計算機軟件基礎知識,如計算機組成結構、操作系統(tǒng)、計算機網(wǎng)絡和安全、數(shù)據(jù)庫、法律法規(guī)等知識。在下午的案例專題中還會涉及具體的結構化設計、數(shù)據(jù)庫設計、面向對象設計、算法設計的技術應用,是具有一定的難度的。至于選擇題最后5分固定考查的是計算機專業(yè)英語知識,本人也匯總了?嫉膶I(yè)英語詞匯作為本書附錄部分供考生參考。
基于以上分析,按照軟件設計師考試的兩個科目分別作為模塊,將上述知識點匯總為綜合知識、案例專題兩大模塊內(nèi)容,編寫了本書,以期考生們能在短時間里掌握所有考點。
本書的三大模塊是這樣來安排的:
第1篇,綜合知識。主要是針對綜合知識考試科目,結合最新考試大綱及歷年真題,凝練成了13章主題內(nèi)容,每個章節(jié)都包含備考指南、考點梳理及精講、課后演練及答案解析等,既給出了詳細的考點也給出了配套的習題,保證學練結合,能使考生快速掌握知識點。
第2篇,案例專題。主要是針對案例分析考試科目,首先對案例分析題做了概述分析以及考點歸類,將所有試題歸納為五大類,然后對每一類專題都有專門的考點梳理及精講,補充案例相關的技術知識點,并且也有配套的案例真題及詳細解析,同樣是學練結合,使得考生能掌握案例考點。
第3篇,是一套全真模擬卷及答案解析,幫助考生最后整體檢測自己的學習成果。
在此,要感謝中國水利水電出版社萬水分社周春元副總經(jīng)理,他的辛勤勞動和真誠約稿,也是我能編寫此書的動力之一。感謝我的同事們、助手們,是他們幫助我做了大量的資料整理,甚至參與了部分編寫工作。
然而,雖經(jīng)多年錘煉,本人畢竟水平有限,若書中出現(xiàn)任何錯誤,敬請各位考生、各位培訓師批評指正,不吝賜教。我的聯(lián)系郵箱是:709861254@qq.com。
關注文老師軟考教育公眾號,然后回復軟設一本通,軟件設計師一本通,可免費觀看指定視頻課程。
倪奕文:著名軟件設計師考試線上培訓講師,一線資深軟件設計技術專家,參與過多個國家重點型號軍用及民用航天衛(wèi)星研制工作,實踐經(jīng)驗豐富,理論功力深厚;對軟件設計師考試的考試規(guī)律、形式、難度、重點以及判卷標準有深入研究。文老師講授的軟件設計師課程,提煉精辟、重點突出、通俗易懂,考試通過率高,深受廣大學員喜愛。
前言
第1篇 綜合知識
第1章 計算機系統(tǒng)知識 2
1.1 備考指南 2
1.2 考點梳理及精講 2
1.2.1 計算機系統(tǒng)基礎知識 2
1.2.2 數(shù)據(jù)的表示 3
1.2.3 校驗碼 6
1.2.4 計算機體系結構 8
1.2.5 指令系統(tǒng) 9
1.2.6 存儲系統(tǒng) 11
1.2.7 輸入輸出技術 15
1.2.8 總線結構 16
1.2.9 系統(tǒng)可靠性分析 17
1.2.10 計算機系統(tǒng)的性能評測 18
1.3 課后演練 19
1.4 課后演練答案解析 20
第2章 操作系統(tǒng)知識 22
2.1 備考指南 22
2.2 考點梳理及精講 22
2.2.1 操作系統(tǒng)概述 22
2.2.2 進程管理 24
2.2.3 存儲管理 28
2.2.4 設備管理 32
2.2.5 文件管理 33
2.3 課后演練 36
2.4 課后演練答案解析 39
第3章 數(shù)據(jù)庫技術基礎 41
3.1 備考指南 41
3.2 考點梳理及精講 41
3.2.1 基本概念 41
3.2.2 三級模式兩級映像 41
3.2.3 數(shù)據(jù)庫的設計 42
3.2.4 ER模型 43
3.2.5 關系代數(shù)運算 44
3.2.6 關系數(shù)據(jù)庫的規(guī)范化 46
3.2.7 數(shù)據(jù)故障與備份 54
3.2.8 分布式數(shù)據(jù)庫 55
3.2.9 數(shù)據(jù)倉庫與數(shù)據(jù)挖掘 56
3.2.10 反規(guī)范化技術 57
3.2.11 大數(shù)據(jù) 57
3.2.12 SQL語言 58
3.3 課后演練 59
3.4 課后演練答案解析 61
第4章 計算機網(wǎng)絡 63
4.1 備考指南 63
4.2 考點梳理及精講 63
4.2.1 網(wǎng)絡拓撲結構 63
4.2.2 傳輸介質(zhì) 64
4.2.3 OSI/RM七層模型 65
4.2.4 TCP/IP協(xié)議 66
4.2.5 網(wǎng)絡存儲技術 67
4.2.6 網(wǎng)絡規(guī)劃與設計 67
4.2.7 移動通信技術 68
4.2.8 無線網(wǎng)絡技術 69
4.2.9 下一代互聯(lián)網(wǎng)IPv6 69
4.3 課后演練 70
4.4 課后演練答案解析 71
第5章 信息安全和網(wǎng)絡安全 73
5.1 備考指南 73
5.2 考點梳理及精講 73
5.2.1 信息安全和信息系統(tǒng)安全 73
5.2.2 信息安全技術 74
5.2.3 網(wǎng)絡安全技術 76
5.2.4 網(wǎng)絡安全協(xié)議 78
5.3 課后演練 79
5.4 課后演練答案解析 80
第6章 軟件工程基礎知識 81
6.1 備考指南 81
6.2 考點梳理及精講 81
6.2.1 軟件工程基礎 81
6.2.2 需求工程 87
6.2.3 系統(tǒng)設計 91
6.2.4 測試基礎知識 92
6.2.5 系統(tǒng)運行與維護 96
6.3 課后演練 97
6.4 課后演練答案解析 99
第7章 項目管理 101
7.1 備考指南 101
7.2 考點梳理及精講 101
7.2.1 范圍管理 101
7.2.2 進度管理 102
7.2.3 成本管理 104
7.2.4 軟件配置管理 105
7.2.5 質(zhì)量管理 108
7.2.6 風險管理 110
7.2.7 組織結構 111
7.3 課后演練 112
7.4 課后演練答案解析 113
第8章 結構化開發(fā)方法 114
8.1 備考指南 114
8.2 考點梳理及精講 114
8.2.1 系統(tǒng)分析與設計概述 114
8.2.2 結構化開發(fā)方法 117
8.2.3 結構化設計方法 120
8.2.4 WebApp分析與設計 120
8.3 課后演練 122
8.4 課后演練答案解析 123
第9章 面向對象技術 125
9.1 備考指南 125
9.2 考點梳理及精講 125
9.2.1 面向對象基礎 125
9.2.2 UML 128
9.2.3 設計模式 133
9.3 課后演練 136
9.4 課后演練答案解析 138
第10章 程序設計語言基礎知識 140
10.1 備考指南 140
10.2 考點梳理及精講 140
10.2.1 程序設計語言基本概念 140
10.2.2 編譯程序基本原理 143
10.2.3 文法定義 144
10.2.4 正規(guī)式 144
10.2.5 有限自動機 145
10.2.6 語法分析方法 146
10.3 課后演練 146
10.4 課后演練答案解析 148
第11章 數(shù)據(jù)結構 150
11.1 備考指南 150
11.2 考點梳理及精講 150
11.2.1 線性結構 150
11.2.2 數(shù)組、矩陣和廣義表 153
11.2.3 樹與二叉樹 154
11.2.4 圖 160
11.2.5 查找算法 164
11.2.6 排序算法 166
11.3 課后演練 172
11.4 課后演練答案解析 175
第12章 算法分析與設計 178
12.1 備考指南 178
12.2 考點梳理及精講 178
12.2.1 算法分析 178
12.2.2 算法設計 179
12.2.3 數(shù)據(jù)挖掘算法 184
12.2.4 智能優(yōu)化算法 185
12.3 課后演練 186
12.4 課后演練答案解析 188
第13章 標準化和軟件知識產(chǎn)權 190
13.1 備考指南 190
13.2 考點梳理及精講 190
13.2.1 知識產(chǎn)權基礎知識 190
13.2.2 標準化基礎知識 193
13.3 課后演練 193
13.4 課后演練答案解析 194
第2篇 案例專題
第14章 案例分析概述 196
14.1 備考復習 196
14.2 考試大綱 197
第15章 案例專題一:結構化分析設計 199
15.1 考點梳理及精講 199
15.2 典型案例真題1 200
15.3 典型案例真題2 202
第16章 案例專題二:數(shù)據(jù)庫分析設計 205
16.1 考點梳理及精講 205
16.2 典型案例真題3 206
16.3 典型案例真題4 208
第17章 案例專題三:面向對象分析設計 210
17.1 考點梳理及精講 210
17.2 典型案例真題5 211
17.3 典型案例真題6 213
第18章 案例專題四:算法分析設計 216
18.1 考點梳理及精講 216
18.2 典型案例真題7 230
18.3 典型案例真題8 231
第19章 案例專題五:面向對象程序設計 234
19.1 考點梳理及精講 234
19.2 典型案例真題9 239
19.3 典型案例真題10 240
第3篇 模擬試卷
第20章 綜合知識模擬卷 244
第21章 綜合知識模擬卷答案解析 253
第22章 案例分析模擬卷 260
第23章 案例分析模擬卷答案解析 271
附錄 專業(yè)英語詞匯表 277