考試大編輯整理某網(wǎng)友2008年上半年軟件設計師考試學習方法
這次考試通過了軟件設計師考試,為了給后來人幫助,特說說我的復習方法。
1、具體學習每門課程的方法
(1)軟件工程。軟件工程是復習的重點,不但上午題當中占10左右,而且下午題里也有2道軟件設計分析方面的題目,一定要熟練的掌握書本中說到的各種軟件分析設計方法及有關的分析用圖,對各種圖的功能作用和制作方法(特別是各種圖的組成元素)以及各種圖之間的轉(zhuǎn)換及聯(lián)系(如果有的話),UML面向?qū)ο蟮能浖O計方法及面象過程的軟件設計方法完全理解,軟件測試要達到理解的程度,其它的內(nèi)容只有去強記了,因為基本是都是上午題,而且每年的題都不定,但與CMM有關的一定會有。
這科的復習我認為難一點,因為我沒有參加項目開發(fā)的經(jīng)驗,對里面的概念只能強行理解和記憶,所以在腦中的影像不太深刻,而且考完后就忘得一干二凈了,不過學還不是太難,可能是我的教材簡單了。
(2)數(shù)據(jù)庫。數(shù)據(jù)庫部分也很重要,上午有5分左右,下午至少有一道數(shù)據(jù)庫的題目,而且也一定是考關系型數(shù)據(jù)庫,E-R模式也要搞懂,可由它導出關系,一定要弄懂關系數(shù)據(jù)庫的幾個范式及關系的建立方法。
因此,就要對關系數(shù)據(jù)庫的基礎概念非常清楚,如鍵的定義,函數(shù)依賴,范式的定義、作用及轉(zhuǎn)換是建立關系的基礎。數(shù)據(jù)的并發(fā)控制,要熟練掌握SQL常用的幾個語句,好是用筆將每個語句寫上幾遍,對語句的各種形式加深記憶,數(shù)據(jù)庫的學習還是不太難的。因為考試不會考數(shù)據(jù)的物理存儲及數(shù)據(jù)安全,感覺這方面的知識更難,交叉學科更多。
(3)學習數(shù)據(jù)結構和算法。數(shù)據(jù)結構和算法是考試的重點內(nèi)容,它的復習以普通的教材為主(相關書籍學計算機的應該都有一本吧),對數(shù)組、鏈表、隊列、棧、樹及堆等基本的數(shù)據(jù)組織方式要非常熟悉(要做到看見算法就知道要用什么數(shù)據(jù)組織方式更高效),排序、索引及圖的各種算法要了然于心(算法的分析過程及代碼要非常清楚),算法的分析方法達到理解應用的水平。
對C語言要非常熟練(要會應用C語言語句的一些技巧,如可以利用函數(shù)的返回值做為判定條件,在循環(huán)中對數(shù)組的處理可使用a[i++]來提高編寫代碼的效率,這類的小技巧只有通過大量的閱讀代碼才能提高),如果是初學面向?qū)ο蠓矫娴母呒壵Z言,建議還是先學C++,感覺它更象一種語言規(guī)范,而Java是一種編程的工具并且由于它的跨平臺特性所以它有很多自己獨有的功能和特點,有時間一定要看一本C++語言的數(shù)據(jù)結構它能使你更全面和深刻的理解類及對象的編程方法。
算法的學習不是一朝一夕就能提高的,一定要靜下心來學習一些經(jīng)典算法,比如:窮舉法、貪婪法、分治法、迭代法、遞推法、遞歸法、回溯法;找一些有名的算法程序來分析,比如:背包問題、組合問題、斐波那契數(shù)列、馬踏棋盤問題、貨朗擔問題、八皇后問題、迷宮問題、漢諾塔問題、約琴夫環(huán)問題等。
有了這些算法思想在你的頭腦中扎根后,當看到問題,你就自然的想起用什么方法來求優(yōu)解了。
這次考試通過了軟件設計師考試,為了給后來人幫助,特說說我的復習方法。
1、具體學習每門課程的方法
(1)軟件工程。軟件工程是復習的重點,不但上午題當中占10左右,而且下午題里也有2道軟件設計分析方面的題目,一定要熟練的掌握書本中說到的各種軟件分析設計方法及有關的分析用圖,對各種圖的功能作用和制作方法(特別是各種圖的組成元素)以及各種圖之間的轉(zhuǎn)換及聯(lián)系(如果有的話),UML面向?qū)ο蟮能浖O計方法及面象過程的軟件設計方法完全理解,軟件測試要達到理解的程度,其它的內(nèi)容只有去強記了,因為基本是都是上午題,而且每年的題都不定,但與CMM有關的一定會有。
這科的復習我認為難一點,因為我沒有參加項目開發(fā)的經(jīng)驗,對里面的概念只能強行理解和記憶,所以在腦中的影像不太深刻,而且考完后就忘得一干二凈了,不過學還不是太難,可能是我的教材簡單了。
(2)數(shù)據(jù)庫。數(shù)據(jù)庫部分也很重要,上午有5分左右,下午至少有一道數(shù)據(jù)庫的題目,而且也一定是考關系型數(shù)據(jù)庫,E-R模式也要搞懂,可由它導出關系,一定要弄懂關系數(shù)據(jù)庫的幾個范式及關系的建立方法。
因此,就要對關系數(shù)據(jù)庫的基礎概念非常清楚,如鍵的定義,函數(shù)依賴,范式的定義、作用及轉(zhuǎn)換是建立關系的基礎。數(shù)據(jù)的并發(fā)控制,要熟練掌握SQL常用的幾個語句,好是用筆將每個語句寫上幾遍,對語句的各種形式加深記憶,數(shù)據(jù)庫的學習還是不太難的。因為考試不會考數(shù)據(jù)的物理存儲及數(shù)據(jù)安全,感覺這方面的知識更難,交叉學科更多。
(3)學習數(shù)據(jù)結構和算法。數(shù)據(jù)結構和算法是考試的重點內(nèi)容,它的復習以普通的教材為主(相關書籍學計算機的應該都有一本吧),對數(shù)組、鏈表、隊列、棧、樹及堆等基本的數(shù)據(jù)組織方式要非常熟悉(要做到看見算法就知道要用什么數(shù)據(jù)組織方式更高效),排序、索引及圖的各種算法要了然于心(算法的分析過程及代碼要非常清楚),算法的分析方法達到理解應用的水平。
對C語言要非常熟練(要會應用C語言語句的一些技巧,如可以利用函數(shù)的返回值做為判定條件,在循環(huán)中對數(shù)組的處理可使用a[i++]來提高編寫代碼的效率,這類的小技巧只有通過大量的閱讀代碼才能提高),如果是初學面向?qū)ο蠓矫娴母呒壵Z言,建議還是先學C++,感覺它更象一種語言規(guī)范,而Java是一種編程的工具并且由于它的跨平臺特性所以它有很多自己獨有的功能和特點,有時間一定要看一本C++語言的數(shù)據(jù)結構它能使你更全面和深刻的理解類及對象的編程方法。
算法的學習不是一朝一夕就能提高的,一定要靜下心來學習一些經(jīng)典算法,比如:窮舉法、貪婪法、分治法、迭代法、遞推法、遞歸法、回溯法;找一些有名的算法程序來分析,比如:背包問題、組合問題、斐波那契數(shù)列、馬踏棋盤問題、貨朗擔問題、八皇后問題、迷宮問題、漢諾塔問題、約琴夫環(huán)問題等。
有了這些算法思想在你的頭腦中扎根后,當看到問題,你就自然的想起用什么方法來求優(yōu)解了。