這次考試通過了軟件設(shè)計師考試,為了給后來人幫助,特說說我的復(fù)習(xí)方法。
1、具體學(xué)習(xí)每門課程的方法
(1)軟件工程。軟件工程是復(fù)習(xí)的重點,不但上午題當(dāng)中占10左右,而且下午題里也有2道軟件設(shè)計分析方面的題目,一定要熟練的掌握書本中說到的各種軟件分析設(shè)計方法及有關(guān)的分析用圖,對各種圖的功能作用和制作方法(特別是各種圖的組成元素)以及各種圖之間的轉(zhuǎn)換及聯(lián)系(如果有的話),UML面向?qū)ο蟮能浖O(shè)計方法及面象過程的軟件設(shè)計方法完全理解,軟件測試要達到理解的程度,其它的內(nèi)容只有去強記了,因為基本是都是上午題,而且每年的題都不定,但與CMM有關(guān)的一定會有。
這科的復(fù)習(xí)我認為難一點,因為我沒有參加項目開發(fā)的經(jīng)驗,對里面的概念只能強行理解和記憶,所以在腦中的影像不太深刻,而且考完后就忘得一干二凈了,不過學(xué)還不是太難,可能是我的教材簡單了。
(2)數(shù)據(jù)庫。數(shù)據(jù)庫部分也很重要,上午有5分左右,下午至少有一道數(shù)據(jù)庫的題目,而且也一定是考關(guān)系型數(shù)據(jù)庫,E-R模式也要搞懂,可由它導(dǎo)出關(guān)系,一定要弄懂關(guān)系數(shù)據(jù)庫的幾個范式及關(guān)系的建立方法。
因此,就要對關(guān)系數(shù)據(jù)庫的基礎(chǔ)概念非常清楚,如鍵的定義,函數(shù)依賴,范式的定義、作用及轉(zhuǎn)換是建立關(guān)系的基礎(chǔ)。數(shù)據(jù)的并發(fā)控制,要熟練掌握SQL常用的幾個語句,最好是用筆將每個語句寫上幾遍,對語句的各種形式加深記憶,數(shù)據(jù)庫的學(xué)習(xí)還是不太難的。因為考試不會考數(shù)據(jù)的物理存儲及數(shù)據(jù)安全,感覺這方面的知識更難,交叉學(xué)科更多。
(3)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法。數(shù)據(jù)結(jié)構(gòu)和算法是考試的重點內(nèi)容,它的復(fù)習(xí)以普通的教材為主(相關(guān)書籍學(xué)計算機的應(yīng)該都有一本吧),對數(shù)組、鏈表、隊列、棧、樹及堆等基本的數(shù)據(jù)組織方式要非常熟悉(要做到看見算法就知道要用什么數(shù)據(jù)組織方式更高效),排序、索引及圖的各種算法要了然于心(算法的分析過程及代碼要非常清楚),算法的分析方法達到理解應(yīng)用的水平。
對C語言要非常熟練(要會應(yīng)用C語言語句的一些技巧,如可以利用函數(shù)的返回值做為判定條件,在循環(huán)中對數(shù)組的處理可使用a[i++]來提高編寫代碼的效率,這類的小技巧只有通過大量的閱讀代碼才能提高),如果是初學(xué)面向?qū)ο蠓矫娴母呒壵Z言,建議還是先學(xué)C++,感覺它更象一種語言規(guī)范,而Java是一種編程的工具并且由于它的跨平臺特性所以它有很多自己獨有的功能和特點,有時間一定要看一本C++語言的數(shù)據(jù)結(jié)構(gòu)它能使你更全面和深刻的理解類及對象的編程方法。
算法的學(xué)習(xí)不是一朝一夕就能提高的,一定要靜下心來學(xué)習(xí)一些經(jīng)典算法,比如:窮舉法、貪婪法、分治法、迭代法、遞推法、遞歸法、回溯法;找一些有名的算法程序來分析,比如:背包問題、組合問題、斐波那契數(shù)列、馬踏棋盤問題、貨朗擔(dān)問題、八皇后問題、迷宮問題、漢諾塔問題、約琴夫環(huán)問題等。
有了這些算法思想在你的頭腦中扎根后,當(dāng)看到問題,你就自然的想起用什么方法來求最優(yōu)解了。
(4)程序設(shè)計語言。程序設(shè)計語言包括C語言、編譯原理和面向?qū)ο蟮某绦蛟O(shè)計語言(通常以C++為例)。編譯原理一定會考詞法分析,它是后面編譯過程的基礎(chǔ)。主要考的內(nèi)容是NFA與DFA的轉(zhuǎn)換、正規(guī)式與有窮自動機的轉(zhuǎn)換等。
文法分析有一年考過下午題,這科對初學(xué)者比較難,比較抽象,理論性也比較強,反正我是學(xué)了4個來月才學(xué)通一點,這課復(fù)習(xí)沒什么技巧,用功學(xué)吧!不過聽聽希賽的“編譯原理視頻教程”,學(xué)起來更快一些。
C語言要掌握好三種基本結(jié)構(gòu)、數(shù)組、鏈表、結(jié)構(gòu)體、共用體、參數(shù)傳遞、指針及指針數(shù)組、指針函數(shù)等等。面向?qū)ο蟮某绦蛟O(shè)計語言要對基本概念及初步應(yīng)用要了解,考得不深。
(5)面向?qū)ο蠓椒▽W(xué)。面向?qū)ο蠓椒▽W(xué)不但是上午的考試重點,也是下午的考試重點。上午平均有12分左右,而下午有30分,一道與UML圖形有關(guān)的題目,一道面向?qū)ο蟪绦蛟O(shè)計的選做題。所以要好好掌握這一塊。UML當(dāng)中的類圖、用例圖、狀態(tài)圖、協(xié)作圖要掌握好,考試中會常出現(xiàn)。(在希賽輔導(dǎo)平臺的在線課堂里,老師多次強調(diào)這個要學(xué)習(xí)的知識點,我通過做題,認為老師抓的很準(zhǔn)。)
(6)操作系統(tǒng)。操作系統(tǒng)沒什么說得了,把它的幾個功能模塊搞清楚及相關(guān)的算法搞清楚就好了,如處理器的管理、存儲管理、設(shè)備管理、文件管理及系統(tǒng)安全,其中我認為比較難理解的是PV操作(在并發(fā)進程中它的應(yīng)用非常靈活)和中斷(反正這個對我比較難),一定要把相關(guān)內(nèi)容所講到的算法及分析過程搞懂,這樣考試相關(guān)的題目對你來說就小兒科了。當(dāng)然還要注意進程死鎖的問題,段頁式存儲的問題。
其它課程的復(fù)習(xí)就按考試大綱進行,把里面的概念搞清楚就行,因為它大部分都是上午題。
2、看書與練習(xí)相結(jié)合
我記得在考前20多天的時候,“看書時沒有目的性,不帶著任務(wù)走,看到哪里算哪里;看后不做題進行鞏固”,我以前犯得就是這個毛病,每天看得是云里霧里的,不做練習(xí)鞏固,過幾天就忘記了。所以,我看了書以后,總要找一兩個相關(guān)的題來做一做。
后來,可以做模擬試題了,幾天才做完一套,遇到做錯的知識點,就找出教材或輔導(dǎo)教材來,爭取弄懂;但進度太慢了。從四月中旬開始,我就爭取時間每兩天做一套,還將做錯題目的試題分析好好看懂,當(dāng)然到了后來,一看就會的題目我就不做了,為了節(jié)省時間。通過做模擬試題、歷年試題可以鍛煉做題的節(jié)奏,樹立解題的信心,熟能生巧。
以前我的數(shù)據(jù)結(jié)構(gòu)與算法不太好,通過練習(xí),到考之前做題,只要能做得了的就有八九成的把握。做題還能強化你的記憶,并能做到查漏補缺,遇到不懂不會的就查書把概念搞清楚,畢竟現(xiàn)在不明白總比考試時不明白好多了。最后再說一句,別把考試看得太難了,只要你準(zhǔn)備充分,我想沒有考不過的理由。
我終于在第四次通過了軟件設(shè)計師考試,心情很平靜,因為考完以后想不通過都很難了。其實,只要方法對頭,加上必過的決心和辛勤的汗水,你會比我更早更易的通過。好了就說這些,由于本人水平有限,如有說的不對或表達不清楚的地方請指正,順祝打算參加軟考的朋友們順利過關(guān)。
相關(guān)推薦:考試吧策劃:2010年軟件水平考試完全指南北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |