软考中级-软件设计师-查缺补漏
提要:設計模式、關系數據庫、編譯原理CFG
1 計算機與軟件工程知識
1.1 計算機系統基礎知識
計算機性能指標
平均無故障時間MTTF
平均修復時間MTTR
平均無故障工作時間MTBF
可靠性MTTF/(1+MTTF)
可用性MTBF/(1+MTBF)
可維護性1/(1+MTTR)
海明碼
https://www.cnblogs.com/godoforange/p/12003676.html
多媒體
試題(13)
數字語音的采樣頻率定義為8kHz, 這是因為~ 。
A. 語音信號定義的頻率最高值為4kHz
B. 語音信號定義的頻率最高值為8kHz
C. 數字語音傳輸線路的帶寬只有8kHz
D. 一般聲卡的采樣頻率最高為每秒8 于次
試題(13) 分析
本題考查多媒體基礎知識。
語音信號頻率范圍是300Hz - 3.4kHz, 也就是不超過4kHz, 按照奈奎斯特定律, 要保持話音抽樣以后再恢復時不失真, 最低抽樣頻率是2 倍的最高頻率, 即8kHz 就可以保證信號能夠正確恢復, 因此將數字語音的采樣頻率定義為8kHz 。
參考答案
( 13 ) A
試題(14)
使用圖像掃描儀以300DPI 的分辨率掃描一幅3X4 平方英寸的圖片, 可以得到( 14) 像素的數字圖像。
(14)33004300=9001200 。
關鍵路徑
正規式
關鍵詞:正規式、編譯原理、正規集、正則定義
https://blog.csdn.net/starter_____/article/details/86659588
https://blog.csdn.net/jxch____/article/details/78909757
編譯原理
關鍵詞:編譯過程、詞法分析、語法分析、語義分析、代碼生成
程序語言中的詞(符號)的構成規則可由正規式描述, 詞法分析的基本任務就是識別出源程序中的每個詞。
語法分析是分析語句及程序的結構是否符合語言定義的規范, 對于語法正確的語句, 語義分析是判斷語句的含義是否正確, 因此判斷語句的形式是否正確是語法分析階段的工作。
有限自動機DFA
Cache
Cache與主存地址映射由硬件完成
浮點數運算
過程:對階 -> 尾數運算 -> 規格化
對階:小數(階碼小)向大數(階碼大)看齊,尾數右移。
平均CPI、MIPS計算
1.2 系統開發和運行知識
位示圖
頁面變換表
關鍵詞:頁面大小、物理地址、邏輯地址
PV操作
關鍵詞:PV操作、信號量機制
需要什么資源就P什么資源,提供什么資源就V什么資源
客戶機/服務器體系結構
1.3 面向對象基礎知識
多繼承
在面向對象方法中, 對象是基本的運行時實體, 一組大體上相似的對象定義為一個類。有些類之間存在一般和特殊關系, 在定義和實現一個類的時候, 可以在已經存在的類的基礎上來進行, 把已經存在的類所定義的屬性和行為作為自己的內容, 并加入新的內容, 這種機制就是超類(父類)和子類之間共享數據和方法的機制(即繼承)。在繼承的支持下, 不同對象在收到同一消息是可以產生不同的結果, 這就是多態。
定義一個類時繼承多于一個超類稱為多重繼承。使用多重繼承時, 多個超類中可能定義有相同名稱而不同含義的成員, 就可能會造成子類中存在二義性的成員。例如下圖所示為典型的”鉆石問題“, 類B 和C 都繼承A, 類D 繼承B 和C 。若A 中有一個方法,B 和C 進行覆蓋, 而D 沒有進行覆蓋, 那么D 應該繼承B 中的方法版本還是C 中的方法版本就無法確定, 從而產生二義性。
多態
多態的實現受到繼承的支持, 利用類的繼承的層次關系, 把具有通用功能的消息存放在高層次, 而不同的實現這一功能的行為放在較低層次。當一個客戶類對象發送通用消息請求服務時, 它無需知道所調用方法的特定子類的實現, 是根據接收對象的具體情況將請求的操作與實現的方法進行連接, 即動態綁定, 以實現在這些低層次上生成的對象給通用消息以不同的響應。
1.4 網絡與信息安全知識
HTTP協議
HTTPS (Hyper Text Transfer Protocol over Secure Socket Layer ) 是以安全為目標的HTTP 通道, 即使用SSL 加密算法的HTTP 。
加密算法
RSA 是一種非對稱加密算法, 由于加密和解密的密鑰不同, 因此便于密鑰管理和分發, 同時在用戶或者機構之間進行身份認證方面有較好的應用;
SHA-1 是一種安全散列算法, 常用于對接收到的明文輸入產生固定長度的輸出, 來確保明文在傳輸過程中不會被篡改;
MD5 是一種使用最為廣泛的報文摘要算法;
RCS 是一種用于對明文進行加密的算法, 在加密速度和強度上, 均較為合適, 適用于大量明文進行加密并傳輸。
證書、認證機構
用戶可在一定的認證機構( CA ) 處取得各自能夠認證自身身份的數字證書, 與該用戶在同一機構取得的數字證書可通過相互的公鑰認證彼此的身份;當兩個用戶所使用的證書來自于不同的認證機構時, 用戶雙方要相互確定對方的身份之前, 首先需要確定彼此的證書頒發機構的可信度。即兩個CA 之間的身份認證, 需交換兩個CA 的公鑰以確定CA 的合法性, 然后再進行用戶的身份認證。
1.5 標準化、信息化和知識產權基礎知識
軟件著作權
依照《計算機軟件保護條例》的相關規定, 計算機軟件著作權的歸屬可以分為以下情況。
這種開發是最普遍的情況。此時, 軟件著作權當然屬于軟件開發者, 即實際組織開發、直接進行開發, 并對開發完成的軟件承擔責任的法人或者其他組織;或者依照自己具有的條件獨立完成軟件開發, 并對軟件承擔責任的自然人。
由兩個以上的自然人、法人或者其他組織合作開發的軟件, 一般是合作開發者簽定書面合同約定軟著作權歸屬。如果沒有書面合同或者合同并未明確約定軟件著作權的歸屬, 合作開發的軟件如果可以分割使用的, 開發者對各自開發的部分可以單獨享有著作權;但是行使著作權時, 不得擴展到合作開發的軟件整體的著作權。如果合作開發的軟件不能分割使用, 其著作權由各合作開發者共同享有, 通過協商一致行使; 不能協商一致, 又無正當理由的, 任何一方不得阻止他方行使除轉讓權以外的其他權利, 但是所提收益應當合理分配給所有合作開發者。
接受他人委托開發的軟件, 一般也是由委托人與受托人簽訂書面合同約定該軟件著作權的歸屬; 如無書面合同或者合同未作明確約定的, 則著作權人由受托人享有。
由國家機關下達任務開發的軟件, 一般是由國家機關與接受任務的法人或者其他組織依照項目任務書或者合同規定來確定著作權的歸屬與行使。這里需要注意的是, 國家機關下達任務開發, 接受任務的人不能是自然人, 只能是法人或者其他組織。但如果項目任務書或者合同中未作明確規定的, 軟件著作權由接受任務的法人或者其他組織享有。
自然人在法人或者其他組織中任職期間所開發的軟件有下列情形之一的, 該軟件著作權由該法人或者其他組織享有。(一)針對本職工作中明確指定的開發目標所開的軟件;( 二)開發的軟件是從事本職工作活動所預見的結果或者自然的結果; (三)主要使用了法人或者其他組織的資金、專用設備、未公開的專門信息等物質技術條件所開發并由法人或者其他組織承擔責任的軟件。但該法人或者其他組織可以對開發軟件的自然人進行獎勵。
軟件著作權是可以繼承的。軟件著作權是屬于自然人的, 該自然人死亡后, 在軟件著作權的保護期內, 軟件著作權法的繼承人可以依照繼承法的有關規定, 繼承除署名權以外的其他軟件著作權權利, 包括人身權利和財產權利。軟件著作權屬于法人或者其他組織的, 法人或者其他組織變更、終止后, 其著作權在條例規定的保護期內由承受其權利義務的法人或者其他組織享有; 沒有承受其權利義務的法人或者其他組織的, 由國家 享有。
商標法
我國商標法第六條規定: “國家規定必須使用注冊商標的商品, 必須申請商標注冊,未經核準注冊的, 不得在市場銷售。”
目前根據我國法律法規的規定必須使用注冊商標的是煙草類商品。
知識產權
試題(12)
甲、乙兩人在同一天就同樣的發明創造提交了專利申請, 專利局將分別向各申請人通報有關情況, 并提出多種可能采用的解決辦法。下列說法中, 不可能采用( 12) 。
A. 甲、乙作為共同申請人
B. 甲或乙一方放棄權利并從另一方得到適當的補償
C. 甲、乙都不授予專利權
D. 甲、乙都授予專利權
試題(12) 分析
本題考查知識產權知識。
專利權是一種具有財產權屬性的獨占權以及由其衍生出來和相應處理權。專利權人的權利包括獨占實施權、轉讓權、實施許可權、放棄權和標記權等。專利權人對其擁有的專利權享有獨占或排他的權利,未經其許可或者出現法律規定的特殊情況, 任何人不得使用, 否則即構成侵權。這是專利權(知識產權)最重要的法律特點之一。
參考答案
( 12) D
1.6 軟件開發新進展
軟件過程模型
https://www.jb51.net/article/218744.htm
瀑布模型、原型化模型、增量或迭代的階段化開發、螺旋模型等都是典型的軟件過程模型, 要求考生理解這些模型的優缺點以及適用的場合。螺旋模型是一個風險驅動的過程模型, 因此要求開放人員必須具有豐富的風險評估知識和經驗, 否則因為忽視或過于重視風險造成問題。在對測試風險評估后, 可以降低過多測試或測試不足帶來的風險。而且, 螺旋模型是一個迭代的模型, 維護階段是其中的一個迭代。螺旋模型適用于大規模的軟件項目開發。
敏捷開發
極限編程:敏捷開發方法是一個強調靈活性和快速開發的一種開發方法, 有多種具體的方法,其中極限編程是敏捷方法中最普遍的一種方法。極限編程包含12 個實踐操作。其中, 集體所有權表示任何開發人員可以對系統任何部分進行改變, 結對編程實際上存在一個非正式的代碼審查過程, 可以獲得更高的代碼質量。據統計, 結對編程的編碼速度與傳統的單人編程相當。
1.7 計算機專業英語
2 軟件設計
2.1 結構化分析與設計
設計圖
UML圖
UML2.0 及后續版本提供了13 種圖, 部分圖用于刻畫系統的靜態方面, 如類圖、對象圖等; 部分圖刻畫系統的動態方面, 如序列圖、狀態圖、通信圖和活動圖等。
序列圖
關鍵詞:場景、以時間順序組織、
狀態圖
關鍵詞:狀態機、行為的事件順序
通信圖
關鍵點:收發的消息有序號
活動圖
一個活動到另一個活動的流程
設計的模塊結構
改進設計質量
內聚
https://dontla.blog.csdn.net/article/details/104769406?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=1
巧合內聚、邏輯內聚、時間內聚、過程內聚
設計模式
觀察者模式
http://c.biancheng.net/view/1317.html
2.2 面向對象分析與設計
面向對象開發階段
關鍵詞:架構師、軟件開發階段
采用面向對象技術進行軟件開發時, 需要進行面向對象分析(OOA) 、面向對象設計(OOD) 、面向對象實現和面向對象測試幾個階段。分析階段的目的是為了獲得對應用問題的理解, 確定系統的功能、性能要求, 在此階段主要關注系統的行為, 明確系統需要提供什么服務。在設計階段, 采用面向對象技術將OOA 所創建的分析模型轉化為設計模型, 其目標是定義系統構造藍圖。在實現階段(面向對象程序設計) , 系統實現人員選用一種面向對象程序設計語言, 采用對象、類及其相關概念進行程序設計, 即實現系統。
2.3 數據庫應用分析與設計
共享鎖、排它鎖
在多用戶共享的系統中, 許多用戶可能同時對同一數據進行操作, 可能帶來數據不一致問題。為了解決這類問題, 數據庫系統必須控制事務的并發執行, 保證數據庫處于一致的狀態, 在并發控制中引入兩種鎖: 排他鎖( Exclusive Locks, 簡稱X 鎖)和共享鎖( Share Locks, 簡稱S 鎖)。
排他鎖又稱為寫鎖, 用于對數據進行寫操作時進行鎖定。如果事務T 對數據A 加上X 鎖后, 就只允許事務T 讀取和修改數據A, 其他事務對數據A 不能再加任何鎖, 從而也不能讀取和修改數據A, 直到事務T 釋放A 上的鎖。
共享鎖又稱為讀鎖, 用于對數據進行讀操作時進行鎖定。如果事務T 對數據A 加上了S 鎖后,事務T 就只能讀數據A 但不可以修改,其他事務可以再對數據A 加S 鎖來讀取,只要數據A 上有S 鎖, 任何事務都只能再對其加S 鎖(讀取)而不能加X 鎖(修改)。
關系、關鍵字
2.4 軟件實現
2.5 軟件測試
語句覆蓋測試、路徑覆蓋測試、McCabe度量法
語句覆蓋和路徑覆蓋是兩種具體的白盒測試方法,語句覆蓋是指設計若干測試用例, 覆蓋程序中的所有語句, 而路徑覆蓋是指設計若干個測試用例, 覆蓋程序中的所有路徑。
https://blog.csdn.net/t_1007/article/details/53034408
環路復雜度 = 區域數 = 判定節點數 + 1 = 邊數 - 節點數 + 2
2.6 軟件評審
總結
以上是生活随笔為你收集整理的软考中级-软件设计师-查缺补漏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黑客动画吧-古墓探险之过关题解
- 下一篇: 松下plc安装序列号afpsgr7_《松