軟考之軟件設計師經驗總結

軟考之軟件設計師經驗總結

前言

26日急急忙忙考完軟考之後總算解決掉一件事情,今後的日子也不用慌慌張張的備考了。嚶嚶嚶~

這篇文章主要來總結下這次軟考備考過程。

咳咳,首先是備考。恩……大概是從考前20天,5月6日前後開始的。(筆記為證)報考的是軟件設計師中級。覺得有實力的可以選擇直接報考高級的。下圖是報考類別:

全國計算機技術與軟件專業技術資格(水平)考試考試級別

軟考之軟件設計師經驗總結

選擇軟件設計師主要是因為大學時期有去考過一次,記得上午卷是過了,下午沒過。所以難點還是下午卷。上午75道選擇題只要刷下歷年試卷,弄懂一些重點的考點。考過基本沒問題。(上下午都是75分卷,45分及格)。

回顧下這20幾天備考,反省下自己大部分的時間都在都在都在都在……不知道幹嘛了。大致考前一星期才覺得快來不及了去努力啃考試教材。可惜其他事情忙忙~耽誤耽誤,到最後也才看了半本書TOT。(注:大學是也沒好好備考,就算備過得也忘得差不多了)。

廢話不多說,直接來點乾貨。本次考試還是按規矩來的,重點考點都有,下午試卷的考題也是中規中矩(本人覺得這次題目較為簡單)。

上午試題

而且這次考得比較細,要求你理解掌握海明校驗碼的實現原理了。不只是簡單的考察2^r-1 ≥ k + r這個公式了。詳細理解可以看我之前的文章《簡單理解海明校驗碼》

Gantt和PERT圖 考到了

考得還是常見套路:

考得的種圖的特點

  • 甘特圖特點:能清晰的描述每個任務從何時開始,到何時結束,以及任務之間的並行關係。但是他不能清晰的反應出各任務的依賴關係。
  • PERT圖特點:不僅給出了每個任務的開始時間、結束時間和完成該任務所需的時間,還給出了任務之間的關係。在PERT圖中,關鍵路徑是圖中最長的一條路徑。而鬆弛時間則反映了完成某些任務時可以推遲其開始時間或延長其所需完成的事件。但是PERT圖不能反應任務之間的並行關係。

以及PERT圖的關鍵路線(累計時間最長的的路線稱為關鍵路徑)和某小段線路的最遲開始時間。

正規式 考到了

考得就是正規式的轉換。

正規式是一種表示正規集的工具,正規式是描述程序語言單詞的表達式,對於字母表∑。

運算符“|”、“·”、“*”分別稱為“或”、“連接”和“閉包”。在正規式的書寫中,連接運算符“·”可省略。運算符的優先級從高到低順序排列為:“*”、“·”、“|”。

運算符“|”表示“或”、並集。“*”表示*之前括號裡的內容出現0次或多次。

若兩個正規式表示的正規集相同,則認為二者等價。兩個等價的正規集U和V記作U=V。

b(ab)*=(ba)*b,(a|b)*=(a*b*)*

需要注意的是,編譯原理裡面的正規式叫做範式,和正則表達式不是一個概念,但是有相通之處:都是通過一定的語法規則來描述文法,也就是所謂的匹配。

易錯點:ab* 不是 0~n個ab, 而是a + 若干個b(包括0個)。完整的寫法應該是 a.b*。 (ab)* 才是若干個ab。

後綴式 考到了

考得就是後綴式的轉換。

後綴表達式,指的是不包含括號,運算符放在兩個運算對象的後面,所有的計算按運算符出現的順序,嚴格從左向右進行(不再考慮運算符的優先規則)。

舉個簡單的好理解乾貨例子:

軟考之軟件設計師經驗總結

McCabe度量法 考到了

MaCabe度量法是通過定義環路複雜度,建立程序複雜性的度量,它基於一個程序模塊的程序圖中的環路的個數。計算有向圖G的環路複雜性的公式為V(G) = m - n + 2,其中V(G)是有向圖G中的環路個數,m是G中的有向弧數,n是G中的節點數。

前趨圖PV操作 考到了

詳情查看《軟考備考之前趨圖PV操作》這篇文章

考到的還有 不說你也猜到

UML圖、二叉樹、設計模式、算法時間複雜度、面向對象設計(多態)、幾種經典的算法策略(分治、動態規劃、貪心、回溯)、圖表、網絡協議和對應層的設備、軟件著作權、CPU等等。

哦,最後順帶提一下考過浮點數運算的的流程:小階對大階,同時將小階碼對應的浮點數的尾數右移相應位數。這也是今年的考點之一。(之前也有考過)

下午試題

第一道:用例圖+流程圖 一樣的套路

第二題:數據庫設計+實體聯繫圖 一樣的套路

第三題:用例圖+類圖 一樣的套路(今年的考題是那種全部都是空的題型,只要認真審題,容易拿多分)

前三題是拿分題,大家務必認真讀題,寫寫畫畫,難度不大。

第四題:一樣的C語言算法題,還是一樣的味道。

算法是求啥鋼材長度價值的那種,怎樣裁能得到最大價值。(之前好像考過,不知道是不是作者的錯覺,覺得複習的時候見過,似曾相識)。

順帶吐槽下這道題……為啥麼變量定義的時候都用單個字母表示而不用有具體含義的英文表示,這樣在讀代碼的時候經常看到一半又忘了這個變量代表的值。無形中加大了這道算法題的難度。解題的時候可以自己給變量取個有語義的名稱,帶入理解可能會比較清晰。

代碼的空填完就是考這題的算法設計採用啥策略以及算法的時間複雜度。

第五題:作者選擇相對熟悉的java代碼。這題考得是設計模式,如果你掌握了對應的設計模式,解起題來會比較容易。

安利一本設計模式的書《HeadFirst設計模式》,書上是用java代碼做案例的,內容通俗易懂,推薦大家學習。

最後

不管有沒有考好,重要的是你在整個過程中有沒有收穫到新知識以及備考學習的樂趣。祝大家身體健康笑口常開233333~


分享到:


相關文章: