2021 软考 软件设计师考试教程(详细版)
生活随笔
收集整理的這篇文章主要介紹了
2021 软考 软件设计师考试教程(详细版)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 一、計算機組成原理與體系結構
- 1.數據的表示
- 進制的轉換
- 原碼反碼補碼移碼
- 浮點數運算
- 2.CPU結構
- 運算器與控制器的組成
- 3.Flynn分類法簡介
- 4.CISC & RISC
- 5.流水線
- 流水線,流水線周期及流水線執行時間
- 流水線吞吐率,加速比,效率
- 6.層次化存儲結構
- 7.Cache的基本概念
- 8.時間局部性與空間局部性
- 9.隨機存儲器與只讀存儲器
- 主存的分類
- 主存的編址
- 10.磁盤工作原理
- 11.計算機總線
- 12.串聯系統與并聯系統可靠度計算
- 串聯系統
- 并聯系統
- 模冗余模型
- 常考題型
- 13.差錯控制
- 循環校驗碼CRC
- 海明校驗碼
- 二、操作系統基本原理
- 1.操作系統概述
- 2.進程管理
- 進程狀態轉換圖
- 前趨圖
- 進程的同步與互斥
- PV操作
- PV操作練習題
- PV操作與前趨圖
- 死鎖問題
- 銀行家算法
- 3.存儲管理
- 分區存儲組織
- 頁式存儲組織
- 段式存儲組織
- 段頁式存儲組織
- 快表
- 頁面置換算法
- 4.文件管理
- 索引文件結構
- 文件和樹形目錄結構
- 位示圖-空閑存儲空間的管理
- 5.設備管理
- 數據傳輸控制方式
- 虛設備與SPOOLING技術
- 微內核操作系統
- 三、數據庫系統
- 1.三級模式-兩級映射
- 2.數據庫設計過程
- 3.ER模型
- 4.關系代數
- 5. 規范化理論-函數依賴
- 6.規范化理論-價值與用途
- 7.規范化理論-求候選關鍵字
- 鍵
- 求候選鍵
- 8.規范化理論-范式
- 第一范式
- 第二范式
- 第三范式
- BC范式
- 9.范式練習題
- 10.規范化理論-模式分解
- 模式分解-例題
- 11.數據庫并發控制
- 存在的問題實例
- 12.數據庫完整性約束
- 13.數據庫安全
- 14.數據庫備份與恢復
- 數據備份
- 數據庫故障與恢復
- 15.數據倉庫與數據挖掘
- 16.反規范化技術
- 17.大數據基本概念
- 四、計算機網絡
- 1.OSI/RM七層模型
- 2.網絡技術標準及協議
- 3.計算機網絡分類與拓撲結構
- 4.網絡規劃與設計
- 邏輯網絡設計
- 物理網絡設計
- 分層設計
- 5.IP地址與子網劃分
- 子網劃分
- 無分類編址(無類域間路由)
- 6.特殊含義IP地址
- 7.HTML
- 8.無線網
- 9.網絡接入技術
- 10.IPv6
- 五、系統安全分析與設計
- 1.信息系統安全屬性
- 2.對稱加密與非對稱加密
- 對稱加密技術
- 非對稱加密技術
- 3.信息摘要
- 4.數字簽名
- 5.數字信封與PGP
- 6.設計郵件加密系統(實例)
- 7.各個網絡層次的安全保障
- 8.網絡威脅與攻擊
- 9.防火墻技術
- 六、數據結構與算法基礎
- 14.查找二叉樹(排序二叉樹)
- 15.最優二叉樹(哈夫曼樹)
- 20.圖-拓撲排序
- 35.排序算法的時間復雜度和空間復雜度
- 七、程序設計語言與語言處理程序基礎
- 1.編譯過程
- 2.文法的定義以及語法推導樹
- 文法的類型
- 3.有限自動機與正規式
- 有限自動機例題
- 4.表達式
- 5.函數調用(傳值與傳址)
- 6.各種程序語言特點
- 八、法律法規
- 1.保護期限
- 2.知識產權人確定
- 2.侵權判定
- 3.標準化基礎知識
- 標準的分類
- 標準的編號
- 九、多媒體基礎
- 1.音頻相關概念
- 2.圖像相關概念
- 彩色空間
- 3.媒體的種類
- 4.多媒體的計算問題
- 5.常見多媒體標準
- 6.數據壓縮技術基礎
- 7.有損壓縮與無損壓縮
- 十、軟件工程
- 1.軟件開發模型
- 瀑布模型SDLC
- 原型模型、演化模型、增量模型
- 螺旋模型
- V模型
- 噴泉模型與RAD
- 構建組裝模型CBSD
- 敏捷開發辦法
- 信息系統開發方法
- 2.需求工程
- 需求開發-需求分類
- 3.結構化設計
- 4.軟件測試-測試原則與類型
- 5.軟件設計-測試用例設計
- 6.軟件測試-測試階段
- 7.軟件測試-McCabe復雜度
- 8.系統運行與維護
- 9.軟件過程改進CMMI
- 10.項目管理
- 十一、需求工程
- 1.設計原則
- 2.UML
- 3.設計模式的概念
- 4.設計模式的分類
- 5.創建型模式
- 6.結構型模式
- 7.行為型模式
- 十二、數據流圖DFD
- 1.數據流圖基本概念
- 2.數據字典
- 十四、UML建模
- 1.UML圖-用例圖
- 2.UML圖-類圖與對象圖
- 3.順序圖
- 4.活動圖
- 5.狀態圖
- 6.通信圖
一、計算機組成原理與體系結構
1.數據的表示
進制的轉換
- 十進制轉R進制用 短除法
- R進制轉十進制用 按權展開法
原碼反碼補碼移碼
表示范圍 :
- 原碼 :?(2n?1?1)-(2^{n-1}-1)?(2n?1?1)~2n?1?12^{n-1}-12n?1?1
- 反碼 :?(2n?1?1)-(2^{n-1}-1)?(2n?1?1)~2n?1?12^{n-1}-12n?1?1 (-127~127)
- 補碼 :?2n?1-2^{n-1}?2n?1~2n?1?12^{n-1}-12n?1?1 (-128~127)
浮點數運算
- 首先要對階,最后要結果格式化
2.CPU結構
運算器與控制器的組成
- 主存儲器即內存
3.Flynn分類法簡介
- 是一種計算機體系結構的分類法
- 兩個指標 :指令流&數據流,分別都分成兩種類型 :單的和多的。那么就組成了四種體系結構。
4.CISC & RISC
- 指令系統類型 的 區別比較 :
- CISC 是在以前計算機還沒有大規模通用化(計算機定制)時被提出的,定制,設計,e.g.天氣預報計算機。根據不同用戶做不同的指令,且指令數量很多且復雜,所以是復雜的。
- 后來計算機要成為了通用設備,就要精簡化 計算機指令系統。比如把乘法刪掉,看成了多個加法,大大降低系統的指令數量。
- 可變長格式 : 指令在系統中有一個二進制的編碼,編碼的長度可以不同;而在RISC中是定長格式。
- RISC引入寄存器,因為速度極快效率極高。
- 硬布線邏輯控制 :效率高
5.流水線
流水線,流水線周期及流水線執行時間
- 由于取址,分析,執行 這三個步驟是由不同的部件來完成的
- 流水線執行時間計算 :
- 理論時間 是 203。
- 實踐時間 :k 是指分幾段(這里是3),三角形t就是流水線周期。204。
- 百分之80的概率 考試用的是 理論時間公式
流水線吞吐率,加速比,效率
計算出不使用流水線的時間為500,使用流水線的時間為203
- 時空圖中所有顏色塊的面積大小
- 也因此得出 每一個工作段時長是相等的 的情況下 的流水線效率是最高的,一個執行完后下一個立即開始執行,連接非常緊密,那么浪費掉的只有剛開始建立的小片空間 和 最后完成時小塊的空間,中間都是密集的。
- e.g.
6.層次化存儲結構
- 寄存器在CPU里,容量極小,速度很快。
- Cache是高速緩存存儲器
- Cache按內容存取 速度遠高于 按地址
7.Cache的基本概念
- Cache工作于CPU和 主存之間
- 在整個存儲體系中,除了寄存器,Cache速度是最快的
- 圖上這題的數據中 引入Cache后 使得速度提升了近20倍
8.時間局部性與空間局部性
- 即局部性原理,得到最佳效果
9.隨機存儲器與只讀存儲器
主存的分類
- 內存 是 隨機存儲器
- 隨機存儲器RAM 特點 :內存一旦斷電,內存中所有數據都將被清除掉,保存不下來
- 而 只讀存儲器ROM 在 掉電后,仍然能存儲相應信息
主存的編址
- 就是把芯片組成相應的存儲器
- 8?48*48?4位的意思是 :8代表它有8個地址空間,4代表每一個地址空間是存儲是4個bit位的信息,比如說000這一個空間里面就有4個bit的容量
- 用大的地址-小的地址+1即可,K是1024,即2102^10210
10.磁盤工作原理
11.計算機總線
- 內部總線 :微機內部各個外圍的芯片 與 處理器之間的總線。是 芯片 的級別
- 系統總線 :微機中各個插電版 和 系統版 之間的總線。屬于 插件版 這一層級
- 外部總線 :微機 和 外部設備 的總線
12.串聯系統與并聯系統可靠度計算
串聯系統
- 可靠率RRR,失效率lamda。注意這里的兩個公式中,右邊失效率的公式是近似的,當子系統比較多,且每個失效率極低的時候,可以用這個公式快速計算結果
并聯系統
- 只有當所有子系統同時失效時,整個系統才失效
模冗余模型
- 提高系統可靠性時可以用冗余的方式進行。表決器中少數服從多數
常考題型
- 先看總體是串聯還是并聯
13.差錯控制
循環校驗碼CRC
- CRC可以做檢錯但不能做糾錯的一種編碼
- 要在原始報文后加若干個0,加的個數就是生成多項式的長度-1
- 進行%2除法后得到一個四位的余數,把這個四位替換剛才補上的4個0的位置,就得到了CRC編碼
- 得到的結果和11011做%2除法運算,如果得到的結果是0那就對了
海明校驗碼
- 2r>=4+r+12^r>=4+r+12r>=4+r+1中的4就是信息位的位的個數,r就是校驗位的位的個數
- 海明校驗碼除了可以檢錯還可以糾錯(兩個結果異或就知道哪位出錯,再取反就糾錯了)
二、操作系統基本原理
1.操作系統概述
2.進程管理
進程狀態轉換圖
- 圖一中的就緒是只缺一個資源-CPU資源,萬事俱備,只限東風;等待是除了沒有CPU資源,還差其他狀態;運行是這個進程所需要的所有資源都配足了,并且給它了CPU資源。
- 圖一中,注意沒有從等待到運行的箭頭,說明在運行時缺了個資源,在補好后不能直接回到運行狀態。CPU資源寶貴,所以采用時間片方式,用完一片要等下一次。調度。
- 發現三種狀態不足以涵蓋,比如人為暫停某個進程,提出五態模型。圖二中,運行,活躍就緒,活躍阻塞對應原先的三態模型。掛起。
前趨圖
- 用前趨圖的形式來表達的其實是要完成的一系列活動它的先后的約束關系。如圖一會讓人誤解必須先什么再什么,但其實它們之間沒有約束關系。D到E有一條線表示約束。哪些任務可以并行,哪些任務有先后關系。
進程的同步與互斥
- 互斥 :在同一時刻,只允許某一個進程去使用資源,即,同一個資源不能同時服務于多個進程
- 同步 和 互斥 不是互為反義詞,互斥的反義詞是共享,同步的反義詞是異步
- 同步 :當差距拉的比較大時,要求速度快的停下來等
生產者與消費者問題
- 單緩沖區情況 :市場容量只有1,且同一時刻不允許既有生產者去存東西又有消費者去搬東西,這就是互斥,市場是一個互斥資源,只允許一個人操作,不能同時操作;生產者把東西放進去,放了一個,市場就滿了,不能再放了,不允許,只有等到消費者把市場里的東西消費掉,才允許生產者再放東西,這就是同步。
- 多緩沖區情況 :類似,只是同步的情況可以放的步子大一點而已。
PV操作
- 臨界資源 :獨木橋就是一個臨界資源。共享,互斥(某一時間點只允許一個人)。
- 臨界區 :訪問臨界資源的代碼。是代碼段,不是緩沖區之類的。
- 信號量 :P(S)P(S)P(S),V(S)V(S)V(S)等中的SSS就是信號量。特殊體現在它是應用于PV操作中的專屬變量。
- PV操作 :是兩大原子操作的一個組合,有P操作和V操作。
解決問題
- 加入PV操作使得某些錯誤操作引刃而解
PV操作練習題
- 最多允許n個購書者進入,如何做到這一點 :在進入的時候把信號量-1,一直減到到負數的時候,就阻塞別人進入,也就是P操作,當S小于0時當前進程將被阻塞,阻塞會如何被喚醒激活呢?就是當有車駛離停車場,就進行V操作,把資源釋放出來,這就是圖中的P(Sn)P(S_n)P(Sn?)和V(Sn)V(S_n)V(Sn?)這一對信號量的操作,或者說這一對PV操作,實現的功能就是書店最多允許n個購書者的進入,因為n+1個進來的時候就會被阻塞
- 付款操作不是購書者單人就能完成的操作,需要收銀員,在這個過程中會有同步的關系在里面
- 收銀員進程中,假如沒有b1,b2,那直接就變成了收費,周而復始收費的動作,問題就在于如果沒有購書者提出付款的申請,收費動作沒有意義,所以一開始沒有人提出付款需求,收銀員收費是不允許的,所以b1位置要有一個P操作,且這個P操作應該由付款動作來喚醒,一旦有人要付款,就要進行一個V操作,V操作喚醒收銀員則a1和b1的信號量是同一個,且是一對PV操作
- 付款得等收銀員收費后才可以走,所以a2對購書者也會有一個阻塞操作,讓它等待收銀員進程完成它的職能,這個a2和b2是對應起來,有一對PV操作
- 所以,a1和a2分別是V(S1),P(S2)V(S_1),P(S_2)V(S1?),P(S2?),b1和b2分別是P(S1),V(S2)P(S_1),V(S_2)P(S1?),V(S2?)
- PV操作題目關鍵點在于找出約束關系
PV操作與前趨圖
- 對于A活動而言,在它前面是沒有任何活動的,所以它一開始就能執行,并不受什么約束,B,C也是如此;但對于D而言,一開始沒辦法執行,要執行它必須要先完成ABC這些,而要執行E必須先完成D
- 其實就是P自減,V自增
- 簡單方法 :要用到的信號量是S1S_1S1?到S4S_4S4?,那么在箭線上標出這四個信號量,遵循從左到右,從上到下,每一個箭頭對應一個信號量,箭頭的起點位置是V操作,終點位置是P操作
- 因此答案是CAA
死鎖問題
- 答案是13個。在分析最少多少個資源不會發生死鎖時,就先給每個進程分配它所需的總數-1個資源,然后系統里還有一個資源,這樣就不會產生死鎖
銀行家算法
- 死鎖的四大條件,缺一不可
- 互斥 :大家不能同時使用
- 保持和等待 :各個進程會保持自己的資源且會等待別人釋放更多的資源給自己
- 不剝奪 :系統不會去把分配給某個進程的資源剝奪掉
- 環路等待 :
- 因此,解決死鎖問題有兩種方案 :方案一、死鎖的預防;方案二、死鎖的避免
- 系統狀態是安全的,即,系統沒有發生死鎖狀態。
- 要計算出當前系統還剩了多少個資源
3.存儲管理
分區存儲組織
- 最佳適應法的缺陷 :使用最佳適應法后,整個系統中內存的碎塊會非常多,且那些碎塊很不好利用。因此我們考慮最差適應法。
- 循環首次適應法 :就是把這些空閑的區域按順序連成一個環狀,然后順次分配,那就不會每次都只盯著第一個了
頁式存儲組織
- 前面講到的分區存儲組織,就是在內存中劃定一個用戶區域,供用戶程序調用內存時使用,會出現超越內存容量的問題,不好
- 而在頁式存儲組織中,就解決了超越內存容量的問題,比如如果內存是2G,甚至可以運行4G的程序
- 邏輯地址 和 物理地址 間的 頁內地址是相同的,頁號不一樣,因為邏輯地址的頁號對應著物理地址的塊號,可以看到,頁號和塊號不是相等的,當然也可以是相等的,沒有嚴格的限制,因此要查表才能得知
- 如何通過邏輯地址求物理地址 ?首先要知道邏輯地址中哪一部分是頁號,哪一部分是業內地址,將頁內地址直接寫下來就是物理地址的頁內地址,然后再通過頁號去查找塊號,把兩部分拼接起來就是物理地址
- 淘汰頁號,淘汰的必須是在內存中的,就是0125中,再看訪問位,剛剛被訪問過的訪問位為1,不能淘汰,只有訪問位為0的才能淘汰,所以應該被淘汰的應該是1
段式存儲組織
- 段式存儲分為段號和段內地址兩個部分,雖然從地址的結構來看給人段式存儲和頁氏存儲一樣的感覺,但實際上并不是,因為它們分割的方式有較大差異,段式按照邏輯結構來劃分,段的大小不要求一致,而在頁式中這是不允許的,
- 好處 :便于共享
- 段表存的是段號,段長,基址
段頁式存儲組織
- 先分段再分頁
- 缺點 :查了段表還要查頁表
快表
- 相聯存儲器 :是按內容存取的,特點 :速度非常快,效率非常高,快表是放在了高速緩存器Cache里,相對應來講,如果把段表,頁表之類的放在內存中,那稱之為慢表,快表是放在Cache里的,慢表是放在內存中的
頁面置換算法
- FIFO
- 對比圖二和圖一,把內存頁加到四頁的時候,發現缺頁次數反而增加了,這就產生了抖動現象
練習
- 沒有使用快表,說明,每一個塊,需要兩次內存的訪問,總共有6個塊,所以會產生12次對內存的訪問
- 對于第二問缺頁中斷的問題 :默認指令一次性讀入即只產生1次 ,而這里的操作數每個都會產生2次
- 因此第二問缺頁中斷次數為5
4.文件管理
索引文件結構
- 這種結構本身的容量很有限,但它引入了一種擴展機制,可以很方便的將文件容量擴大很多倍
- 一般的索引文件結構有13個結點(0-12)
- 邏輯塊號往往從0開始
- 可以看到5號邏輯塊對應的物理塊號是58
所以選C和D
文件和樹形目錄結構
位示圖-空閑存儲空間的管理
- 在磁盤上面有大量的空間,需要管理,以便有依據分配空間,有這四個管理方法
- 位示圖法 :1表達的區域已經被占用,0表達還是空閑,把存儲空間分成很多個物理塊,直觀表達空閑還是占用
- 4195號物理塊其實是第4196個物理塊,那么(4195+1)/32=131.125(4195+1)/32=131.125(4195+1)/32=131.125,超過131,說明把前131個都填滿,并且當前在第132個中
- 占用,所以是1,所以AC排除,而根據上圖,就是第3位置,因此B
- 細節 :“第X個字”是從1開始算,“多少位置”是從0開始算
5.設備管理
數據傳輸控制方式
- 數據傳輸控制方式主要指的是 內存 和 外設 之間的數據傳輸控制問題
- 程序控制方式 又稱為 程序查詢方式,這種方式是最為低級的,也是CPU介入最多的機制,外設在這種方式中非常被動
- 程序中斷方式 很多方面和程序控制方式一樣,但主動性強些,有中斷機制,如果外設完成了相應的數據的傳輸,這時,它會發一個中斷出來,系統就會做下一步的處理,因此,效率會比查詢方式高一些
- DMA方式,也稱,直接存取控制方式,有專門控制器,CPU只要在開頭初始化,整個過程都由DMA的控制器來完成監管,完成后再由CPU接管,效率高很多
虛設備與SPOOLING技術
- SPOOLING技術核心在于開辟了緩沖區,把要輸出或輸入的數據先緩存起來,這樣就解決了外設的低俗和內部系統的高效之間的瓶頸差異,一般系統內部都內置了這個技術
微內核操作系統
- 將內核做小的操作系統,問題出現的概率大大降低了
- 微內核操作系統中分了用戶態和核心態,核心態就是微內核中的內核情況,用戶態就是核心態之外進行的,即,在用戶態這里出現的問題都沒有關系,都可以通過一定方式解決,但核心態出現故障就會比較嚴重;用戶態和核心態之間有交互,只有到了非常關鍵的部分才會在核心態處理
三、數據庫系統
1.三級模式-兩級映射
2.數據庫設計過程
3.ER模型
- 學生這個實體可能包含多個屬性,實體和實體之間會有聯系
4.關系代數
5. 規范化理論-函數依賴
6.規范化理論-價值與用途
7.規范化理論-求候選關鍵字
鍵
- 超鍵和候選鍵的唯一區別就是超鍵可能有冗余屬性,而候選鍵不存在冗余屬性;候選鍵也是可以唯一標識元組的
- 候選鍵和主鍵的區別 :候選鍵可以有多個,主鍵只能有一個
求候選鍵
- “A和B”和“AB”區別 :后者是組合鍵
8.規范化理論-范式
第一范式
第二范式
- SNO和CNO的組合鍵才是主鍵,因為聯合起來才能確定成績;而學分是可以通過課程號來確定的;那么候選鍵就是SNO和CNO的組合鍵,這里存在部分函數依賴,帶來的問題是數據冗余…。解決方案是把CNO和學分提取出來新的關系模式,在原來的關系模式中去掉學分,但不能去掉CNO
第三范式
- 這里的主鍵標出來了只有單屬性,是不可能有部分函數依賴問題存在的,所以肯定也是滿足了第二范式
- 但這張表里依然有數據冗余的問題
- 解決方案就是把DNO和DNAME和LOCATION獨立出來成為一個關系模式,原來的關系模式就只剩下三個字段了
BC范式
- 只要在候選鍵中出現過的就是主屬性
- 這里STJ都是主屬性,沒有非主屬性,所以肯定是滿足第二范式和第三范式的
- 由于T?>JT->JT?>J中T不是候選鍵,所以這個不是BC范式
9.范式練習題
- 不屬于第三范式有兩種可能 :1.屬于第二范式但不屬于第三范式;2.連第二范式都沒有達到。一般不會連第一范式都沒有達到
- 職工和部門是多對一的關系,所以應該在職工表中加上部門號
- 第二空時已經在職工號和部門號之間建立了關系,所以不需要“部門號”,所以排除CD,剩下的AB之間的差別只是B多了個商品名稱,這個商品名稱是沒有必要的,因為商品號就可以查到商品名稱,一旦出現就是冗余
- 答案為:C,D,A
10.規范化理論-模式分解
模式分解-例題
11.數據庫并發控制
存在的問題實例
12.數據庫完整性約束
13.數據庫安全
14.數據庫備份與恢復
數據備份
數據庫故障與恢復
15.數據倉庫與數據挖掘
16.反規范化技術
17.大數據基本概念
四、計算機網絡
1.OSI/RM七層模型
2.網絡技術標準及協議
- TCP :
- HTTP :超文本傳輸協議,用來傳輸網頁數據
- FTP :文件傳輸協議
- Telnet :遠程登錄
- POP3,SMTP :郵件傳輸協議
- UDP :
- DHCP :局域網中一般都會有DHCP服務器用來做動態的IP地址的分配工作
- TFTP :小文件傳輸協議
- SNMP :簡單網絡管理協議
- DNS :域名解析
3.計算機網絡分類與拓撲結構
- 第一種分類方法 ,按分布范圍分 :辦公室范圍的-局域網;全球性的網絡-因特網
- 第二種分類方法 ,按拓撲結構分 :總線型 :用一條總線把各個終端連起來;星型 :中間會有一個中心節點,中心節點連接各個其他的節點,一旦中心節點被破壞,整個網絡都癱瘓,存在“單點故障”問題;環形 :可靠性相比之下占有優勢,不存在單點故障,任何一個出故障,可以繞過去;辦公室一般是星型,且中心節點是交換機
4.網絡規劃與設計
邏輯網絡設計
物理網絡設計
分層設計
- 頂層是核心層,底層是接入層,都只有一個層次,中間是匯聚層,可以有多個層次,同時頂層和底層功能都非常簡單
5.IP地址與子網劃分
子網劃分
無分類編址(無類域間路由)
6.特殊含義IP地址
7.HTML
8.無線網
9.網絡接入技術
10.IPv6
五、系統安全分析與設計
1.信息系統安全屬性
2.對稱加密與非對稱加密
對稱加密技術
- 對稱加密技術就是在加密和解密的時候所使用的密鑰是完全一樣的
非對稱加密技術
3.信息摘要
- 原始信息發生變化,特征值也會發生變化
4.數字簽名
5.數字信封與PGP
6.設計郵件加密系統(實例)
7.各個網絡層次的安全保障
8.網絡威脅與攻擊
9.防火墻技術
六、數據結構與算法基礎
14.查找二叉樹(排序二叉樹)
15.最優二叉樹(哈夫曼樹)
- 構造哈夫曼樹就是讓一棵樹的帶權路徑長度是最短的情況
- 最后就是把每個葉子節點的帶權路徑長度求出來再累加,所有的中間節點都不是一開始的,都是構造出來的
20.圖-拓撲排序
- 拓撲排序實際上是用一個序列來表達一個圖當中哪些事件可以先執行,。。后。。,約束關系,必須先完成哪個才能完成哪個
35.排序算法的時間復雜度和空間復雜度
七、程序設計語言與語言處理程序基礎
1.編譯過程
- 在計算機中,對于高級語言程序的處理,往往有兩種處理方式,一種以解釋的方式進行,一種以編譯的方式進行,編譯是整段的程序都弄好了,按編譯運行的時候才。。然后進行執行
2.文法的定義以及語法推導樹
文法的類型
- 一般以小寫字母代表終結符,大寫是非終結符,非終結符就是這種符號可以推出其他符號
3.有限自動機與正規式
- 以雙圈代表的往往是結束
- |是或,(a∣b)?(a|b)*(a∣b)?中*代表循環多次,*從0到無窮,所以這個可以表達空串
- 第二空使用代入法會更快,第一問中已經知道ABC都可以被表達出來,那么第二問中就看四個選項中哪一個可以把前面這些串都表達出來,就可能是正確答案,如果不能就肯定可以排出;A,只要是a和b組成的任意串都可以表達,連第一問的D也可以,也就是說比文法的范圍還要大,所以不是等價關系,排出A;D對于第一問C這種情況不能。
有限自動機例題
- A是起點,C是終點
- A選項就是問能否通過輸入4個0從A到達C,可以就是可以被識別
4.表達式
- 這棵樹的中序遍歷就可以得到這個中綴表達式,,前,,后,,
- 這道題,要先把這個表達式的樹給構建出來,注意括號決定了順序,同時也是體現出了順序,因為括號不需要構造到樹中
5.函數調用(傳值與傳址)
6.各種程序語言特點
八、法律法規
1.保護期限
- 保護期限涉及到著作權,軟件著作權,商標權,專利權,反不正當競爭法
- 對于著作權而言,它把要保護的作品分為公民作品(個人)和單位作品(單位,集體);沒有限制就是永久保護;單位作品類似,只是沒有作者終生這個概念
- 公民軟件作品和單位軟件作品和前面非常類似,
- 注冊商標,有效期10年,可以續注,期滿會注銷
- 發明專利權,有效期20年
- 實用新型和外觀設計專利權(10年)和發明專利權的區別 :創新程度不一樣,實用新型一般是已有的東西上附屬改良,而發明強調了自主創新的部分要比較大
- 商業秘密最為獨特,保護期限是不確定的,分經營和技術兩個方面,前提是單位做了相應的機密的保護措施,比如有明文規定;如果擅自公開了別人的商業秘密,這屬于違反了反不正當競爭法
2.知識產權人確定
- 主要是用來區分一個作品完成后,著作權歸單位擁有還是個人擁有
- 專利權的職務作品界定比前面兩種更為嚴苛,
- 委托創作的規則和職務作品恰恰相反,
- 合作開發是大家共同擁有著作權
- 商標和專利是先申請先擁有的原則
2.侵權判定
- 所謂發表,就是公之于眾,不一定要在報刊雜志上,網站上也算是發表
- 開發軟件時思想過程不受保護
3.標準化基礎知識
標準的分類
- 常考 :國家標準,行業標準,地方標準,企業標準(企業規范)
標準的編號
- 給GB,要知道它不僅是國標,而且是強制性的,而推薦性的國家標準會在后面加一個“/T”,指導性。。。,實物。。。
- 行業標準代號容易重復,因此一般通過排除法
- 地方標準代號就是DB開頭,很好識別
- 企業標準,以Q代表企業
九、多媒體基礎
1.音頻相關概念
- 聲音的帶寬指的就是聲音這種音波它的頻率的范圍
- 超聲波往往指的就是大于20k赫茲以上的,次聲波(低聲波)。。。
- 2倍,所以電話一般是8k,CD音質往往是40k以上
2.圖像相關概念
- 飽和度指的是色彩的艷麗程度,飽和度低的時候就是顏色灰灰的不鮮艷
彩色空間
- 普通電腦顯示器用RGB,紅綠藍
- YUV,電視中常見,考慮了兼容性的需求;電視上還可以用YIQ,YCBCR(YUV延伸)
- CMY在印刷領域用到,光的顏色是采取疊加的原理,而印刷的三原色是用相減的原理,CMYK中的K是黑色,加了一種黑色的顏料
- 最后的是藝術家空間
3.媒體的種類
- 根據定義可以分成這五個類別
- 顯示媒體(表現媒體)不僅包括輸出顯示媒體,還包括輸入顯示媒體
4.多媒體的計算問題
- k與K是不一樣的,k是1000,K是1024,也就是說存儲數據時的K是以1024為單位,傳輸數據時的k是以1000為單位
5.常見多媒體標準
- JPEG是目前最為常見的圖像文件的標準,有損
- VCD格式和MP3個是在MPEG-1中定義的
- DVD是在MPEG-2中定義
- MPEG-4中最大的改變就是增強了交互性,所以開始應用于網絡,可視電話
- MPEG-7已經不是具體定義,多媒體內容描述接口
- MPEG-21是一個標準集成
6.數據壓縮技術基礎
- 壓縮的前提 :必須有冗余才可以壓縮
7.有損壓縮與無損壓縮
- 有損壓縮就是壓縮之后想要返回之前的原貌是不行的,因為在壓的過程中已經丟失了一些信息,無損壓縮就是可以還原的,一摸一樣;RAR之類的是無損壓縮;JPG文件屬于有損壓縮
- 無損壓縮壓縮比比較差一些
- 最為常見的無損壓縮是哈夫曼編碼(變長編碼)
十、軟件工程
1.軟件開發模型
瀑布模型SDLC
- 根本原因在于需求分析階段難以把控
- 適用于需求明確或者是二次開發,否則不適合
原型模型、演化模型、增量模型
- 原型和瀑布模型是一對相當互補的
- 原型法從誕生開始就是定位于需求不明確的情況
- 原型強調構造一個簡易的系統
- 增量模型就是強調先做一塊再做一塊。。。好處在于比較早的和用戶進行了接觸,一次一次的審視核心功能,風險小很多
螺旋模型
- 螺旋模型特征一 :由多個模型組合,所以具備多個模型的特點;在選擇題碰到需求不明確,且選項即有原型又有螺旋形,就選原型,如果沒有原型就選螺旋形
- 螺旋模型引入了風險分析,是之前的一系列模型都沒有的特征
V模型
- 和瀑布模型很相似,只是在這種模型中,測試有著更重要的地位,測試有著細化;強調測試,強調要提早的進行測試,測試要貫穿于開發的始終,而不是壓到最尾端
- V型有深意,因為在需求分析階段就去畫驗收測試和系統測試計劃了,就是希望提早發現問題
噴泉模型與RAD
- 噴泉模型最大的特點是面向對象,而瀑布模型屬于是結構化的典型代表
- RAD,快速開發模型,由瀑布模型和CBSD也就是構建化開發模型組合形成的模型,最大的特點就是能快速構建應用系統
構建組裝模型CBSD
- 極大提高了軟件開發的復用性,使得軟件開發市場降低,成本降低,可靠性增加
- 構建一個構建庫->可靠性
- 架構設計在瀑布模型中沒有提到
敏捷開發辦法
- 不是一個模型,而是一組模型,有著共同的價值觀
- 局限性 :一般只做小型項目,大型就力不從心
信息系統開發方法
2.需求工程
需求開發-需求分類
3.結構化設計
4.軟件測試-測試原則與類型
5.軟件設計-測試用例設計
6.軟件測試-測試階段
- 單元測試和集成測試之間都是先做單元測試再做集成測試的,但確認測試和系統測試不一定
7.軟件測試-McCabe復雜度
- 假設有向圖中有m條有向邊,n個節點,用m-n+2可以得到整個圖的環路復雜度
- 將所有分叉的地方抽象成節點,或者不抽象成節點,環路復雜度不會發生改變
8.系統運行與維護
9.軟件過程改進CMMI
10.項目管理
- 各任務之間的依賴關系再Gantt圖中不能非常直觀的表達出來,這是它最大的區別
- 圖為PERT圖
- 關鍵路徑,就是,在整個圖中,從開始節點到結束節點最長的一條路徑,它對應的是整個項目的最短工期,因為在一個項目中有很多任務可以并行的開展
- 先用正推的方式把所有事件的最早開始時間求出,再通過逆推的方式把所有方式的最晚開始時間逆向求出
- 事件1在0時刻就可以進行了,事件2必須在事件1完成后,所以事件2最早的開始時間是2。。。依次算出事件9的最早開始事件是15,由于它是最后的一個事件,那么最遲的開始時間也是15
- 因此第二空的答案是10
十一、需求工程
1.設計原則
2.UML
3.設計模式的概念
4.設計模式的分類
5.創建型模式
6.結構型模式
7.行為型模式
十二、數據流圖DFD
1.數據流圖基本概念
2.數據字典
十四、UML建模
1.UML圖-用例圖
2.UML圖-類圖與對象圖
- 一個書籍列表對應0到多本書籍
3.順序圖
- 順序圖最大的特點是體現出處理事情的時候的時間順序情況如何,按順序一步一步下來
4.活動圖
- 結構上,像程序流程圖
- 粗橫線,產生了兩個不同的線程
- 這種活動圖指示了不同的對象,可以指示哪個活動是歸屬于哪個人的
5.狀態圖
- 以狀態為節點,箭線代表的是觸發事件,導致狀態的變遷
- 先識別總共有幾種狀態,再看這些狀態之間轉化的條件
6.通信圖
- 其實是順序圖的另一種表達方式;順序圖就是上面一排的對象,完了之后引出相應的生命線,對象之間的一些交互就是在這個上面以順序表達消息的傳遞
- 通信圖中,對象就是這一系列的節點,對象的交互還是通過箭頭的方式來標識,所以它和順序圖的區別就是它時間方面沒強調的那么明晰,其他方面基本一致。所以把順序圖和通信圖統稱為交互圖
總結
以上是生活随笔為你收集整理的2021 软考 软件设计师考试教程(详细版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【系统分析师之路】2018年上系统分析师
- 下一篇: 黑客动画吧-黑客闯关之古墓探秘攻略