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