1. 程式人生 > >歷年真題軟體設計師下午考試題匯分析與技巧

歷年真題軟體設計師下午考試題匯分析與技巧

本文對2006年5月至2014年11月的軟體設計師級別下午試題進行彙總統計,希望對準備參加軟考的朋友能有所幫助。

軟體設計師下午考試題匯統計

具體統計情況如下表所示

試題統計

試題一

試題二

試題三

試題四

試題五

試題六

試題七

2006年上

資料流圖/網上作業提交與管理系統

UML /客戶資訊管理系統/類圖

ER圖與關係模式/圖書管理系統

Web Service

資料結構與演算法/C語言/B/多叉平衡查詢樹

C++/訂單管理系統/涉及到迭代器模式

Java/訂單管理系統/涉及到迭代器模式

2006年下

資料流圖/建賬軟體

ER圖與關係模式/住房管理系統

UML/電子商務網站/類圖、序列圖(順序圖)

資料結構與演算法

/最短裝配時間演算法/程式流程圖填空

資料結構與演算法/C語言/二叉連結串列

C++/傳輸門/狀態模式

Java/傳輸門/狀態模式

2007年上

資料流圖/房屋租賃服務系統

ER圖與關係模式/醫院門診管理系統

UML /圖書管理系統/類圖

資料結構與演算法/貪心演算法/程式流程圖填空

資料結構與演算法/C語言/樹型分佈網路

C++/鴨子模擬遊戲/策略模式

Java/鴨子模擬遊戲/策略模式

2007年下

資料流圖/成績管理系統

ER圖與關係模式/小型汽車維修管理系統

UML /唱片播放器/類圖、狀態圖

資料結構與演算法/貪心演算法/程式流程圖填空等

C語言/簡化繪圖程式/基於結構體的面向物件程式設計

C++/採購審批/職責鏈模式

Java/

採購審批/職責鏈模式

2008年上

資料流圖/音像管理資訊系統

ER圖與關係模式/籃球比賽資訊管理系統

UML /汽車停車場資訊系統/用例圖、類圖、狀態圖

資料結構與演算法/快速排序/虛擬碼填空、時間複雜度分析等

資料結構與演算法/C語言/

C++/家用電器遙控系統/命令模式

Java/家用電器遙控系統/命令模式

2008年下

資料流圖/銷售管理系統

ER圖與關係模式/賓館客房預訂子系統

UML /線上會議審稿系統/用例圖、活動圖

資料結構與演算法/動態規劃演算法/虛擬碼填空、時間複雜度分析等

資料結構與演算法/C語言/單鏈表

C++/文件操作類庫/模板方法模式

Java/文件操作類庫/模板方法模式

2009年上

資料流圖

/商品配送中心資訊管理系統

ER圖與關係模式/大型連鎖商場資料庫系統

UML/自動存提款機模擬系統(ATM)/用例圖、序列圖(順序圖)

資料結構與演算法/最短路徑Floyd-Warshall演算法/虛擬碼填空、時間複雜度分析等

資料結構與演算法/C語言/二叉樹遍歷

C++/影象瀏覽系統/橋接模式

Java/影象瀏覽系統/橋接模式

2009年下

資料流圖/信用卡管理系統

ER圖與關係模式/多使用者電子郵件客戶端系統

UML/訂餐系統/用例圖、活動圖

資料結構與演算法/回溯法求解0-1揹包問題/虛擬碼填空、窮舉法等

C++/檔案目錄樹/組合模式

Java/檔案目錄樹/組合模式

資料結構與演算法/C語言/

2010年上

資料流圖/資料管理中介軟體

ER圖與關係模式/實驗管理系統

UML/售票機/用例圖、類圖、中介者模式

資料結構與演算法/C語言/有向圖拓撲排序/程式碼填空、拓撲序列求解、時間複雜度分析等

C++/飛機飛行模擬系統/策略模式

Java/飛機飛行模擬系統/策略模式

2010年下

資料流圖/訂單處理系統

ER圖與關係模式/小區物業收費管理系統

UML/網上藥店/類圖、狀態圖、組合關係和聚合關係

資料結構與演算法/C語言/堆排序/程式碼填空、時間複雜度分析等

C++/公司組織結構/組合模式

Java/公司組織結構/組合模式

2011年上

資料流圖/病人監控系統

ER圖與關係模式/服裝採購管理系統

UML/圖形編輯器/用例圖、類圖、橋接模式

資料結構與演算法/C語言/排序演算法/程式碼填空、時空複雜度分析等

C++/飯店選單/組合模式

Java/飯店選單/組合模式

2011年下

資料流圖/招聘系統

ER圖與關係模式/物流公司資訊系統

UML/Pay & Drive系統(開多少付多少)/用例圖、類圖

資料結構與演算法/C語言/回溯法(類似揹包問題)/程式碼填空

C++/紙巾售賣機/狀態模式

Java/紙巾售賣機/狀態模式

2012年上

資料流圖/圖書管理系統

ER圖與關係模式/住院病人資訊管理系統

UML/網上購物平臺/用例圖、類圖

資料結構與演算法/C語言/作業最優排程演算法/程式碼填空等

C++/咖啡店計算費用/狀態模式

Java/咖啡店計算費用/狀態模式

2012年下

資料流圖/電子商務系統之購物車

ER圖與關係模式/會議預定系統

UML/小木屋和營地的預定及管理系統/用例圖、類圖

資料結構與演算法/C語言/裝箱問題(一維裝箱問題)/程式碼填空等

C++/多資料庫支援/抽象工廠模式

Java/多資料庫支援/抽象工廠模式

2013年上

資料流圖/募捐系統

ER圖與關係模式/電視臺資訊管理系統

UML/基於Web的城市黃頁/用例圖、類圖

資料結構與演算法/C語言/任務排程問題/程式碼填空,時間複雜度分析等

C++/自動生成求職簡歷/原型模式

Java/自動生成求職簡歷/原型模式

2013年下

資料流圖/WEB的課程註冊系統

ER圖與關係模式/快遞公司物品運送資訊管理系統

UML/航空會員積分系統/類圖

資料結構與演算法/C語言/多個矩陣相乘的計算任務問題/程式碼填空,時間複雜度分析,最優排程等

C++/開發一個繪圖軟體/橋接模式

Java/開發一個繪圖軟體/橋接模式

2014年上

資料流圖/修車題

ER圖與關係模式/電商題

UML/ 通訊

資料結構與演算法/C語言/ 歸併排

C++/    /模式

Java/    /模式

2014年下

資料流圖/ER圖與關係模式/超市管理系統

UML/選民資訊軟體管理系統/類圖

資料結構與演算法/C語言/ 程式碼填空,時間複雜度分析,等

C++/ 開發燈具遙控器   /命令模式

Java/ 開發燈具遙控器   /命令模式

下午考試題匯分析

從2006年5月開始(尤其是從2010年5月開始),軟體設計師級別的試題題型基本固定:

  • 第一題為結構化分析與設計,主要考查資料流圖DFD的繪製,考查形式為頂層資料流圖和0層資料流圖填空(外部實體/資料來源、資料儲存/檔案、加工處理/資料變換填空)、找出遺漏的資料流或者錯誤的資料流,偶爾考查資料流圖的一些繪製要點,如分層資料流繪製需要注意的問題等;【該題整體難度不大,需認真完成4-6道往年真題】
  • 第二題為資料庫分析與設計,主要考查ER圖的繪製以及ER圖與關係模式的對映,考查形式為補充完成ER圖(增加實體、聯絡、屬性以及聯絡型別)、將關係模式補充完整(屬性/欄位填空)、找出關係模式的主外來鍵,偶爾考查關係模式的規範化,如將某個關係模式轉換為第三正規化等;【該題整體難度不大,需認真完成4-6道往年真題,但偶爾有個別小問題需要仔細分析才能回答準確】

  • 第三題為面向物件分析與設計,主要考查對常用UML圖形的掌握情況,比較常見的圖形包括用例圖、類圖、順序圖、活動圖和狀態圖,考查形式為圖形填空,附帶考查UML的一些基礎知識,例如類圖中的幾種關係及其區別、用例圖中用例之間關係的內涵等;【需要熟練掌握常用的UML圖形,尤其是用例圖和類圖,偶爾還包含一道與設計模式有關的小問題】
  • 第四題為資料結構與演算法,主要考查對常用資料結構和演算法的掌握情況,通常考查一些中等難度的演算法,例如最短裝配時間演算法、B樹、貪心演算法、動態規劃、回溯法、揹包問題、最短路徑、拓撲排序、堆排序等,考查形式為C語言程式碼填空、複雜度分析(時空複雜度)、演算法穩定性分析等;【該題為下午試題中難度較大的一題,需要熟悉一些常用的演算法和C語言的語法】
  • 第五、六題為C++和Java(設計模式題,二選一),從2006年開始該題主要考查對常見設計模式的掌握情況,該試題通常會結合一個設計模式例項,給出例項描述和類圖,然後進行程式程式碼填空,有C++和Java兩個語言版本,二選一,只要有相關的設計模式基礎,解答該題難度不大,沒有設計模式基礎也不用擔心,只要認真理解其設計和實現意圖,還是可以正確解答本題;【該題難度不大,有一定的設計模式基礎將有助於理解和解答本題】

從2010年開始,軟體設計師考試中取消了單獨的C語言試題(融合在資料結構與演算法題中)。

軟考之下午題做題技巧

考試前的狀態尤為重要。上午題雖然很零散,但是很簡單,下午題雖然就5道,但是做題時需要認真、認真再認真,答案題中找,好好讀題,說不定演算法都能懵對幾分……做題的時候,要從精神上藐視它,告訴自己這題會做;要從心裡重視它,讀題時認真、耐心……

試題一:DFD(資料流圖)

1.從最近幾年考試的情況來看,這題主要考察幾個知識點:

    1.1 給出外部實體的名稱

   1.2 給出資料儲存的名稱

   1.3 查詢錯誤的資料流丟失的資料流

   1.4 資料字典部分的考察(2012年下半年DFD最後一問的資料項其實就是考察的資料字典)

   1.5 問答題,比如2008上DFD最後一問的:面向物件結構設計方法的基本思及其適用場合。

2.做此題的技巧

這題,一般會給出一大段文字,然後給出頂層資料流圖和0層資料流圖等。我一般讀題的過程中,會把讀到的名詞(可能為外部實體的詞)、某某檔案之類(即資料儲存)、資料流標出來,這樣在做問題一、二的時候,資料流圖與說明對照,快速、標準的解決知識點1.1和1.2.

查詢丟失資料流時,先要做的是頂層和0層圖對照,保持父圖和子圖平衡,即父圖中某加工的輸入(輸出)資料流的資料必須與子圖的輸入(輸出)資料流中的資料在數量和名字上相同。在此基礎上,讀文字說明,一句句的注意從..到..的字眼,這樣就能解決知識點1.3。

資料字典的問題,要知道資料字典各個符號的定義。

對於簡答題這樣的題目,就憑藉專案經驗來寫吧,儘量多寫點,總能達到點上。

試題二: 資料庫分析與設計

從歷年考題來看,主要有兩種形式:一種是文字說明+表格,一種是只有文字說明的。

1.主要考察幾個知識點

   1.1 補充聯絡及聯絡型別,完善實體聯絡圖

   1.2 ER圖向關係模型的轉變

   1.3 加個功能再次補充實體聯絡圖

   1.4 簡答題

2.做此題的技巧

    第一遍讀題的時候,畫出各實體,儘量找出實體間的對應關係。對於給表格的題,表格的標題及表格周圍的文字都要認真看,比如時間有可能就是某一實體的屬性。

    解決1.1的技巧及注意事項:注意審題,不要漏洩聯絡型別(1:1,1:m,m:n),難點在於一個聯絡聯絡三個實體的。讀題的時候注意這樣的字眼,比如:某某老師對某某學生上某某課。

    解決1.2的技巧:先從說明中憑自己的感覺從文字說明及表格中找實體的屬性,找完以後,再去看ER圖,遵照ER圖向關係模型轉轉換的原則。不要漏寫、多些屬性值,不要忘記標主鍵、外來鍵。

     解決1.4的技巧:按照自己的經驗來,考前先弄懂1-3正規化具體的含義。

試題三:面向物件分析與設計

從近幾年考察來看,常常給出一段說明,然後附加有用例圖和類圖,當然也有可能會考狀態圖。

   1.主要考察的知識點

      1.1 填寫用例名稱、依賴關係

      1.2 填寫類名稱

      1.3 補充多重度

      1.4 對應的狀態

      1.5 用到的某某設計模式的內涵

   2. 解決此類問題的技巧

    第一遍讀題的過程中,注意各名詞,該標的地方標出來。

    用例名稱一般比較好寫,還要注意一點就是:依賴關係。要明白擴充套件《extend》和包含《include》的用意及箭頭方向。

    多重度問題跟資料庫中的聯絡型別有點相似,但不要寫錯,這裡多個的時候只能用*表示哦。注意文中給出的數字,可能幫助你解決多重度問題。

    狀態圖各狀態的轉換也算是比較好找的一類問題吧,主要考察的是細心。

    考察某設計模式的內涵的這類問題,要熟悉23個設計模式的含義了。設計模式很重要啊……

試題四:演算法題

    這類題對我來說難度不小,但也不能掉以輕心,有時候演算法考的還是比較簡單的,懵都能懵對幾分,比如時間複雜度和空間複雜度。可以看看《大話設計模式》,這裡面講的挺明確的。但是演算法不是一朝一夕就能提高的,考試之前把幾種常見演算法看懂就好了,比如各類排序演算法、分治演算法、動態規劃演算法、貪心演算法、回溯算 法……

試題五:設計模式

     這個題算是比較簡單的,我選擇做java版的設計模式,這個題有點java基礎,能看懂類圖,即使不懂設計模式也能得分。高中時老師常教育我們這麼一句 話:簡單全做對,穩坐中檔題,捨棄全不會;主要表達的是考試要心態正,亂中求穩,不要第一題做的不好,後面的都做不好了。

    考試之前將HeadFirst好好瞅瞅,歷年考題出的例子大多與HeadFirst上的例子極為相似。

     一定要知道的幾點:比如 interface、extends、implements、abstract、super等關鍵字的寫法,注意大小寫;注意委託的用法……

保持好心態,亂中求穩,穩中求勝!相信自己,應該沒問題的!只能說該做的都做了,大不了重來,一定把它突破!