软考易错知识点(自用)
寫在前面:
? ? ? ? 本文章為作者自用,如有錯誤請指出,因為都是我東查西查來的,記錄順序就是自己作題過程遇到的問題順序。
1.PV操作
PV操作由P操作原語和V操作原語組成(原語是不可中斷的過程),對信號量S進行操作
P操作使信號量S減1,如果S的值大于等于0,則該進程繼續執行;否則該進程置為等待狀態,排入等待隊列。
V操作使信號量S加1,如果S的值大于0,則該進程繼續執行;否則釋放隊列中第一個等待信號量的進程。
先有V操作,然后有P操作,P操作容易造成阻塞
2.海明碼
核心公式:2^r≥k+r+1(r為校驗位的個數,k為信息的個數)
實例:
二進制碼 101101100,求它的海明編碼
1.信息個數為9,則r的最小值為4,所以校驗位為4,則校驗碼的位數位9+4=13位;
2.校驗碼的位置一般為2^n(n≥0),即1,2,4,8,16.....,信息位的位置為除了校驗碼位置外從高到低進行排列;
3.校正的原則:想要校正第幾(i)位,則應該滿足對應的那幾個校正位相加等于i。例如3=1+2;7=1+2+4。
4.確定每一位校驗碼參與的信息位后,對信息位進行異或⊕(相同的兩個數異或為0,不同的兩個數為1)
R1=B3⊕B5⊕B7⊕B9⊕B11⊕B13=1⊕0⊕1⊕0⊕1⊕0=1
R2=B2⊕B3⊕B6⊕B7⊕B10⊕B11=1⊕1⊕1⊕1⊕1⊕0=1
R3=B4⊕B5⊕B6⊕B7⊕B12⊕B13=0⊕0⊕1⊕1⊕0⊕0=0
R4=B8⊕B9⊕B10⊕B11⊕B12⊕B13=0⊕0⊕1⊕0⊕0⊕0=1
5.海明碼只能檢測并糾正一位錯誤
3. CRC循環冗余碼校驗(Cyclic Redundancy Check)
CRC校驗碼需根據CRC生成多項式進行,在原始數據的末尾,再加上一串校驗位后發送給接收方,附加的數不是隨意的,它要使所生成的新幀能與發送端和接收端共同選定的某個特定數整除(注意,這里不是直接采用二進制除法,而是采用一種稱之為“模2除法”)。到達接收端后,再把接收到的新幀除以(同樣采用“模2除法”)這個選定的除數。因為在發送端發送數據幀之前就已通過附加一個數,做了“去余”處理(也就已經能整除了),所以結果應該是沒有余數。如果有余數,則表明該幀在傳輸過程中出現了差錯。
4.ER模型(實體關系模型)
捕獲現實世界的數據需求,并以簡單、易理解的方式表現出來。
ER模型三要素:實體、關系、屬性
實體(Entities):實體是首要的數據對象,常用于表示一個人、地方、某樣事物或某個事件。一個特定的實體被稱為實體實例(entity instance或entity occurrence)。實體用長方形框表示,實體的名稱標識在框內。一般名稱單詞的首字母大寫。?
關系(Relationships):關系表示一個或多個實體之間的聯系。關系依賴于實體,一般沒有物理概念上的存在。關系最常用來表示實體之間,一對一,一對多,多對多的對應。關系的構圖是一個菱形,關系的名稱一般為動詞。關系的端點聯系著角色(role)。一般情況下角色名可以省略,因為實體名和關系名已經能清楚的反應角色的概念,但有些情況下我們需標出角色名來避免歧義。
屬性(Attributes):屬性為實體提供詳細的描述信息。一個特定實體的某個屬性被稱為屬性值。Employee實體的屬性可能有:emp-id, emp-name, emp-address, phone-no……。屬性一般以橢圓形表示,并與描述的實體連接。屬性可被分為兩類:標識符(identifiers),描述符(descriptors)。Identifiers可以唯一標識實體的一個實例(key),可以由多個屬性組成。ER圖中通過在屬性名下加上下劃線來標識。多值屬性(multivalued attributes)用兩條線與實體連接,eg:hobbies屬性(一個人可能有多個hobby,如reading,movies…)。復合屬性(Complex attributes)本身還有其它屬性。
強實體與弱實體:強實體內部有唯一的標識符。弱實體(weak entities)的標識符來自于一個或多個其它強實體。弱實體用雙線長方形框表示,依賴于強實體而存在。
5.軟件產品使用質量特性包括:有效性、生產率、安全性、滿意度
6.防火墻技術可以分為IP包過濾、線路過濾和應用層代理等3大類型
7.用等價劃分法測試windows文件名稱,需要測試過長名稱、過短名稱、合法長度合法字符、合法長度非法字符
8.測試用例和測試點都有測試設計人員決定
9.控制器是分析和執行指令的部件,也是統一指揮和控制計算機各個部件按時序協調操作的部件,控制器包括:程序計數器PC、指令寄存器IR、指令譯碼器、時序部件、微操作控制信息psw、中斷機構
10.字長指在同一時間中CPU處理二進制數的位數叫字長(字長為32位,它能同時處理32位的數據,也即它的數據總線為32位),數據總線用于在計算機中傳送數據的總線,可以把CPU的數據傳送到存儲器或輸入輸入接口等其它部件,也可把其他部件的數據傳送到CPU。
11.地址總線決定了尋址的能力,寬度24位,其尋址能力為224=24*220=16M,按字節尋址,空間為:16MB
12.樹和二叉樹
樹是n(n≧0)個結點的有限集,n=0時稱為空樹,在任意一非空樹中:.有且僅有一個特定的稱為根的結點。當n>1時,其余結點可分為m(m>0)個互不相交的有限集T1、T2、T3……、Tm,其中每個子集本身又是一棵樹,并且稱為根結點的子樹。
兄弟:具有相同雙親的結點互為兄弟。
結點的度:一個結點的子樹的個數記為該結點的度。
樹的度:樹中各結點的度的最大值
葉子結點:也稱為終端結點,指度為零的結點。
內部結點:度不為零的結點稱為分支結點或非終端結點。除根結點之外,分支結點也稱為內部結點。
結點的層次:根為第一層,根的孩子為第二層,依此類推。
樹的高度:一棵樹的最大層次數記為樹的高度(或深度)。
有序(無序)樹:若將樹中的結點的各子樹看成是從左到右具有次序的,即不能交換,則稱該樹為有序樹,否則稱為無序樹。
森林:是m(m≥0)棵互不相交的樹的集合
遍歷是指對樹中所有結點信息的訪問,即依次對樹中每個結點訪問一次且僅訪問一次。
??(1)先序遍歷:先訪問根節點,再訪問左子樹,最后訪問右子樹。
????(2)? 后序遍歷:先左子樹,再右子樹,最后根節點。
? (3)中序遍歷:先左子樹,再根節點,最后右子樹。
? (4)層序遍歷:每一層從左到右訪問每一個節點。
二叉樹
滿二叉樹:除最后一層無任何子節點外,每一層上的所有結點都有兩個子結點二叉樹。?
完全二叉樹:一棵二叉樹至多只有最下面的一層上的結點的度數可以小于2,并且最下層上的結點都集中在該層最左邊的若干位置上,則此二叉樹成為完全二叉樹。
平衡二叉樹:一 棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹
二叉搜索樹:是一棵空樹,或者是具有下列性質的二叉樹: 若它的左子樹不空,則左子樹上所有結點的值均小于它的根結點的值; 若它的右子樹不空,則右子樹上所有結點的值均大于它的根結點的值; 它的左、右子樹也分別為二叉排序樹?
紅黑樹:平衡二叉搜索樹
13.windows系統中,收到IP數據包時,先查找主機路由。然后查找網絡路由。查找失敗時,最后才查找默認路由,默認路由的網絡目標和網絡掩碼都是0.0.0.0
14.限制口令可使用的字符降低了口令的復雜度,不利于口令安全性
15.路由器選路原則:最長匹配,即匹配那條對網絡目標知道最精確的路由條目,掩碼最長路徑
16.軟件設計可以分為概要設計和詳細設計,概要設計的任務是模塊分解,確定軟件的結構、模塊的功能和模塊間的接口、以及全局數據結構設計概要,概要階段產生概要設計說明書,詳細設計的任務是設計每個模塊的實現細節和局部數據結構,該階段產生詳細設計說明書。
17.程序計數器用于存放下一條指令所在單元地址的地方,在程序執行前,必須將程序的起始地址送入程序計數器,執行指令時,cpu自動修改程序計數器的內容,指令寄存器一般用來保存當前正在執行的一條指令,存儲器數據寄存器用來保存操作數和運算結果等信息的,為了節省讀取操作數所需占用總線和訪問存儲器的時間,存儲器地址寄存器一般用來保存當前CPU所訪問的內存單元的地址,以方便對內存的讀寫操作。程序員可以訪問程序計數器(PC)。
18.瀑布模型適合需求確定的應用,原型模型適合需求不確定的情況和動態變化的項目(如界面的開發),螺旋模型綜合瀑布模型和原型模型,并且加入了風險分析,適合大型復雜系統軟件的開發。V模型只是將瀑布模型的測試部分細化,最大特點是線性執行。
20.安全防護策略有:入侵檢測、隔離防護、漏洞掃描、安全日志
21.腳本語言都是動態語言,動態語言都是解釋性語言,不管是不是面向對象語言。
22.串行計算是指在單個計算機(具有中央處理單元)上順序地執行指令,CPU按照一個指令序列執行以解決問題,但任意時刻只有一條指令可以提供隨時并及時的使用;
并行計算是相對與串行計算機來說,并行計算分為時間上的并行和空間上的并行,時間上的并行指流水線技術,空間上的并行指多個處理器并發的執行計算。
空間上的并行導致兩類并行機的產生,根據不同指令流-數據流的組織方式把計算機分為4類,單指令單數據流(SISD,如單處理機),單指令流多數據流(SIMD,如相聯處理機)、多指令流單數據流(MISD,流水線計算機),多指令流多數據流(MIMD,如多處理機系統)
23.單元測試內容:模塊接口測試、局部數據結構測試、路徑測試、錯誤處理測試、邊界測試
24.堆(heap)是計算機中一類特殊數據結構的總稱,通常可以被看做一顆數的數組對象
堆的性質:
1.堆中某個節點的值總是不大于或不小于其父節點的值。
2.堆總是一棵完全二叉樹。
25.對于安全測試來說,模擬攻擊實驗是一類特殊的黑盒測試案例,以模擬攻擊來驗證軟件或信息系統的防護能力。
26.界面元素測試包括:窗口測試、菜單測試、圖標測試、文字測試、鼠標測試。
27.UML(統一建模語言)
UML為面向對象軟件設計提供統一的、標準的、可視化的建模語言。
用例圖
主要用于描述系統的行為及各種功能之間的關系,是描述參與者(Actor)與用例以及用例與用例之間關系的圖。用例模型用于需求分析階段,它的建立是系統開發者和用戶反復討論的結果,表明了開發者和用戶對需求規格達成的共識。
類圖和對象圖
類圖(Class Diagram)是類的模型,利用圖示和文字注描述類以及類和類之間關系的方法
類圖=類+關系+約束
類的關系:
關聯表示類與類之間的關系,表示一個對象擁有另一個對象。
聚合(aggregation):has-a關系 ?表達整體和部分的關系 整體和部分的關系,個體可以屬于多個整體。(聚合是特殊的關聯)用空心菱形表示
組合(composition):contains-a關系 整體和部分的關系,個體唯一屬于一個整體。 組合關系中的“整體”控制著“部分”的生存期。 組合是一種特殊的聚合關系,又稱強聚合。但是組合關系中部分和整體具有統一的生存期。一旦整體對象不存在,部分對象也將不存在。部分對象與整體對象之間具有共生死的關系。用實心菱形表示
泛化:泛化指父類與其一個或多個子類之間的繼承關系,用空心三角形表表示。
依賴:?一個元素B的改變會影響另外一個元素A,則稱A依賴于B,二者之間存在依賴關系。依賴表示的是兩個或多個模型元素之間語義上的連接關系。
實現:?一個元素完成另外一個元素的操作功能,則二者之間構成實現關系。 如接口類及其實現;接口沒有屬性,只有聲明的操作方法(對于方法沒有實現部分),而由實現類具體定義實現部分。
順序圖
順序圖(Sequence Diagram)用來描述對象之間動態的交互關系,著重體現對象間消息傳遞的時間順序。
協作圖
協作圖(Collaboration Diagram)也稱為通信圖,用于描述相互合作的對象間的交互關系和鏈接關系。
狀態圖
狀態圖(State Diagram)用來描述對象狀態和事件之間的關系。
活動圖
活動圖用來表示系統中各種活動的次序。
構件圖
構件圖是面向對象系統的物理方面進行建模時要用的兩種圖之一。它可以有效地顯示一組構件,以及它們之間的關系。
構件圖
部署圖,也稱為實施圖,它和構件圖一樣,是面向對象系統的物理方面建模的兩種圖之一。構件圖相對來說,是說明構件之間的邏輯關系,而部署圖則是在此基礎上更進一步,描述系統硬件的物理拓撲結構,以及在此結構上執行的軟件。
28.模塊的扇入應盡量大,扇出不宜過大。一個模塊的扇入是指直接調用該模塊的上級模塊的個數。一個模塊的扇出是指該模塊直接調用的下級模塊的個數。扇入大表示模塊的復用程度高,扇出大表示模塊的復雜度高。
29.增殖式集成測試:自頂向上、自底向下、一次性集成
30.xp編程12個最佳實踐:計劃游戲(Planning Game);小型發布(Small Release);系統隱喻(System Metaphor);簡單設計(Simple Design);測試驅動(Test-driven);重構(Refactoring);結對編程(Pair Programming);集體所有權(Collective Ownership);持續集成(Continuous Integration);每周工作40小時(40-hour Week);現場客戶(On-site Customer);編碼標準(Code Standards)。
31.采用MVC模式開發系統,可以有效地降低模塊之間的耦合性。不同的系統可以重用模型、視圖或控制器部分,因此可以提高可重用性。而且由于視圖、控制器和模型相對獨立,可以提高系統的可維護性,但同時運行效率降低。
32.表單輸入測試需要驗證:輸入域、錯誤輸入是否有錯誤提示、必填項和選填項。
總結
以上是生活随笔為你收集整理的软考易错知识点(自用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【android】解码.9图片及xml
- 下一篇: 挂载iso镜像文件