软考个人笔记
指令寄存器:保存當前正在執行的一條指令,
地址寄存器:保存當前CPU所要訪問的內存單元的地址;
寄存器尋址:操作數放在寄存器時,
立即尋址:直接給出操作數本身的尋址方式,
直接尋址:直接指出操作數在內存的地址;
冒泡排序:嵌套循環比較,O(n),O(n2),O(1),穩定,
簡單選擇排序:依次挑選最小的一個一個排序,O(n2),O(n2),O(1),不穩定,
希爾排序:按照增量分組,是直接插入排序的改進,O(1)不穩定,
快速排序:依次分割為兩部分,再依次排序,合并,分治法策略,O(nlgn),
堆排序:適用于在很多個元素中找出前幾個,O(nlog2n),O(nlog2n),O(1);
順序查找:O(n)
二分查找:O(log2n);
最優二叉樹:帶權路徑長度最短,
平衡二叉樹:左子樹和右子樹的高度之差的絕地址不超過1,查找效率是最高的,因為層數少;
進程是擁有資源的最小單位,并且由程序,數據和進程控制塊(PCB)組成;
瀑布模型:固定順序,適用于需求明確或者二次開發,
增量模型:每一個版本都可作為獨立的作品,
演化模型:快速分析構造出初始版本,一步一步改進,適用于需求不明確,
螺旋模型:增加了風險分析,
噴泉模型:描述面向對象的開發過程,具有迭代和無間隙特性,
V模型:測試貫穿于軟件開發的各個階段;
結構化方法:需求明確,面向數據流,自頂向下,逐層分解。難以修改,
Jackson方法:面向數據結構。適合小規模的項目,
原始化方法:適用于需求不清,業務不確定,需求經常變動的情況,
敏捷方法:極限編程(XP,提倡測試先行,文檔少),水晶法(因材施教),并列爭 球法(迭代);
Putnam模型:動態多變量模型,
COCOMO:
基本COCOMO模型:靜態單變量模型,
中級COCOMO模型:靜態多變量模型,
詳細COCOMO模型:在中級基礎上考慮成本驅動屬性的影響;
Gantt圖(橫道圖):描述并行性,不能反映依賴關系,
PERT圖(有向圖):能反映依賴關系,無法描述并行關系;
動態規劃法:根據最優解的性質,保證全局都是最優解,O(n),
貪心法:僅根據當前已有的信息作出選擇,達到局部最優,O(n2)線性的是O(n),
回溯法:深度優先的策略,逐一試探,適用于迷宮類問題;
SSH是封裝Telnet/FTP(21是命令端口,20是數據端口)在終端設備和遠程站點之間建立的安全連接,是建立在應用層和傳輸層基礎上的安全連接;
Ping 127.0.0.1先檢查TCP/IP協議棧是否正常;
數字簽名:發送者不能抵賴對報文的簽名,
接受者無法偽造和篡改消息,
可驗證發送者的合法性;
SHA-1(160),MD5(128)屬于信息摘要算法,用來生產信息摘要,
RC4屬于對稱加密算法,只能對數據進行加密;
45. 域名查詢順序:本地DNS緩存->HOSTS表->本地DNS服務器(將域名轉換為IP地址);
46. 網絡層次與主要設備對應關系:
物理層:中繼器(擴大信號),集線器(多路中繼器),
數據鏈路層:網橋(分析幀地址),交換機(多口網橋),
網絡層:路由器(鏈接多個邏輯上分開的網絡),
應用層:網關(連接不同類型且協議差別較大的網絡);
47. 人耳能聽到的音頻范圍:20Hz~20kHz;
48. 圖像顏色數n和顏色深度m的關系為n=2的m次方;
49. TCP使用的流量控制協議是可變大小的滑動窗口協議;
50. VLAN是虛擬局域網,允許邏輯地劃分網段;
51. 感覺媒體:直接作用于人的感覺器官,如文本,圖形,圖像等,
表示媒體:人為構造出來的編碼,如圖像編碼,聲音編碼等,
表現媒體:信息輸入輸出的媒體,如鼠標,話筒,顯示器,打印機等,
存儲媒體:用于存儲的物理介質,如硬盤,U盤等,
傳輸媒體:用于傳輸的物理介質,如光纖,電纜等,
52. 雙協議棧技術:同時有IPV6和IPV4,
隧道技術:在IPV4上鏈接IPV6,
翻譯技術:通信時語義翻譯;
53. 著作權的主體:指享有著作權的人,組織,
著作權的客體:指著作權保護范圍,如計算機程序及其有關文檔;
54. 合同未做明確規定或者沒有簽訂合同的,著作權歸受托人;
55. 專利權:如果兩家公司在同一天申請,則私下解決或者抽簽,
商標權:如果兩家公司在同一天申請,則誰先使用歸誰,同時使用則私下解決或者抽簽;
56. 沒有期限:署名權,修改權,保護作品完整權,
注冊商標:有效期10年,且在期滿6個月內續注,
注冊專利:有效期20年,不可續注,
實用新型和外觀設計專利權:有限期10年不可續注;
57. 模塊內部內聚(從低到高):
偶然內聚:沒有直接關系,
邏輯內聚:邏輯相似,參數決定,
時間內聚:同時進行,
過程內聚:指定的過程順序,
通訊內聚:相同數據結構,相同輸入輸出,
順序內聚,順序執行,輸入后輸出,
功能內聚,共同作用,缺一不可;
58. 模塊間耦合(從低到高):
無直接耦合:無直接關系,
數據耦合:傳遞數據時調用,
標記耦合:傳遞數據結構,
控制耦合:控制變量,選擇執行的某一功能,
外部耦合:軟件外部環境,
公共耦合:公共數據結構(在公共數據環境),
內容耦合:模塊內部關聯;
59. 需求基線:通過了評審的需求規格說明書;
60. 系統分析過程:當前系統的物理模型->當前系統的邏輯(概念上的)模型->目標系統的邏輯模型->目標系統的物理模型;
抽象:重點說明本質方面,而忽略非本質方面,
模塊化:可組合,分解和更換的單元,
信息隱蔽:將將每個程序的成分隱蔽或封裝在一個單一的設計模塊中,
模塊獨立:高內聚,低耦合;
62. WebApp采用敏捷開發過程模型進行開發;
63. Web應用系統分析的模型:
內容模型:全部系列內容,
交互模型:網站的界面,
功能模型:與內容相關,
導航模型:定義導航策略,如超鏈接,
配置模型:環境和基礎設施;
64. 測試階段:
單元測試:對單個模塊進行測試,由程序員自己測試,
集成測試:將模塊組合起來測試,分為一次性組裝和增量式組裝,
確認測試:對已完成的軟件進行功能上的測試,
系統測試:對軟件進行性能測試,
回歸測試:軟件修改錯誤或者變更后,再進行測試;
65. 測試方法:
動態測試:程序運行時測試
黑盒測試:功能性測試,不了解代碼結構,
白盒測試:結構性測試,明確代碼流程;
靜態測試:程序靜止時,對代碼進行人工審查
桌前檢查:程序員自己對代碼的檢查,
代碼審查:審查小組開程序評審會,
代碼走查:讓程序員手動運行測試用例,檢查代碼邏輯;
66. 測試策略:
自底向上:從底層模塊開始測試,逐一合并模塊。優點是較早地驗證了底層模塊,
自頂向下:先測試整個系統,再逐步向下。優點是較早地驗證了系統的主要控制和 判斷點,
三明治:二則都包括,優點二則都有,缺點測試工作量大;
67. 測試用例設計:
黑盒測試用例:
等價類劃分:把所有的數據按照某種特性進行歸類,而后在每類的數據里面選取一個即可,
邊界值劃分:將每類的邊界值作為測試用例,如0-100,邊界值為0,100,1,99四個;
白盒測試用例(覆蓋層級低到高):
語句覆蓋:覆蓋所有語句,
判定覆蓋:覆蓋所有判斷語句的條件的真假分支(大集體),
條件覆蓋:每個獨立的條件都要做一次真假分支的測試用例,如(a>0&&b<0)要有4個測試用例(小集體),
路徑覆蓋:所有可行路徑都覆蓋了;
68. 結構化開發方法是一種面向數據流的一種傳統開發方法,自頂向下,逐層分解;
69. MTBF即平衡失效間隔時間,用來衡量一個產品的可靠性,
MTBE/(1+MTBF)是用來衡量計算機系統的可用性;
70. 軟件維護:
更改性維護:暴露出系統內部的錯誤,
適應性維護:使系統適應環境的變化而進行的維護,
改善性維護:用戶主動提出擴充原有系統的功能,
預防性維護:為未來的修改和調整奠定更好的基礎;
71. 覆蓋=重寫:子類中重定義一個與父類同名同參的方法,
重載:在同類中,方法同名不同參,可以有不同的返回值類型,不同的訪問修飾符,如:構造方法;
72. 面向對象基本概念:
對象:基本的運行實體,是類的實例,
消息:對象間進行通信的一種構造,是獨立的概念,
類:對象的抽象,將實體的行為和屬性提取出來,
封裝:信息隱蔽技術,
繼承:父類和子類直接共享數據和方法的機制,
多態:不同的對象對同一消息產生不同的結果,動態綁定是實現多態的基礎;
73. 設計模式:
創建型設計模式:
抽象工廠模式:抽象接口,
構造器模式:類和構造分離,
工廠方法模式:子類決定實例化,
原型模式,原型實例,拷貝,
單例模式:唯一實例;
生成器模式:將一個復雜的對象,分成多分,使同樣的構建過程,能有不同的表示, 這樣的設計模式被稱為建造者模式。
結構性設計模式:
適配器模式:轉換,兼容接口,
橋接模式:抽象和實現分離,
組合模式:整體-部分,樹形結構,
裝飾模式:附加職責,
外觀模式:對外統一接口,
享元模式:細粒度,共享,
代理模式:代理控制;
行為設計模式:
職責鏈模式:傳遞請求,職責,鏈接,
命令模式:參數化,命令記錄,
解釋器模式:文法,解釋,
迭代器模式:順序訪問,
中介者模式,不直接引用,
備忘錄模式:保存,恢復,
觀察者模式:一對多的依賴關系,通知,自動更新,如訂閱號,
狀態模式:狀態變成類,
策略模式,算法替換;
74. UML視圖:
順序圖:展現了以時間順序組織的對象之間的交互活動,
活動圖:表示分支,合并,分岔和匯合,
通信圖:由對象和消息組成的圖,展現了時間之間的通信,
狀態圖:展現了單個對象在用例中的狀態行為,可以沒有終點,不能沒有起點,
構件圖:靜態實現視圖,展現了展現一組構件之間的組織和依賴,
部署圖:系統靜態部署視圖,主要顯示系統中軟件和硬件的物理架構;
75. UML關系:
依賴:兩個事物之間的的語義關系,
關聯:描述一組鏈,鏈是對象之間的鏈接,
泛化:一般化和特殊化的關系,
實現:是類之間的語義關系;
76. 四種多態:
參數多態:不同數據參數,多種數據結構,
包含多態:涉及父子類型關系,
過載多態:同一個名字在再不同上下文中可代表不同的含義,
強制多態:強制類型轉換;
77. 數據是信息的符號表達,信息是有特定釋義和意義的數據;
78. 數據庫系統(DBS):
數據庫:數據的集合,
硬件:構成計算機系統的各種物理設備,
軟件:操作系統,數據庫管理系統及應用程序,
人員:相關人員,如用戶,管理人員(DBA),設計人員等;
79. 數據庫管理系統(DBMS):是數據庫的機構,是一種系統軟件,負責數據庫的數據組織,數據操縱,數據維護,控制及保護和數據服務等功能;
80. 三級模式(物理->邏輯):
內模式:物理存儲文件,
概念模式(模式):基本表,
外模式:將表處理成視圖后展示給用戶;
81. 兩級映像:
模式/內模式映像:實現了概念模式到內模式之間的相互轉換(保證了數據的物理獨立性),
外模式/模式映像:實現了外模式但概念模式之間的相互轉換(保證了數據的邏輯獨立性);
82. 數據庫設計:
需求分析:分析數據存儲的要求,得到數據流圖,數據字典,需求說明書,
概念結構設計:設計E-R圖,即實體-屬性圖,
邏輯結構設計:將E-R圖轉換成關系模式(基本表),
物理設計:根據生產的表等概念,生產物理數據庫;
83. 事務:一個操作序列,是數據庫環境中不可分割的邏輯工作單位
原子性(操作):要么全做,要么全不做,
一致性(數據):事務發生后數據是一致的,A轉給B,B不會收不到,
隔離性(執行):事務操作是互不干涉的,
持續性(改變):事務的操作結果是一直持續下去的;
84. 讀臟數據:事務1對數據A進行了修改,事務2讀數據A,而后事務1回滾,數據A回到原來的值,那么事務2對數據A的操作是無效的,讀到了臟數據;
85. 海明碼:校驗位在2的n次方上
86. 數據字典的條目包括:數據流,數據項,數據存儲,基本加工;
87. COCOMO II層次結構的三種不同規模估算選擇:對象點,功能點,代碼行;
88. 互斥信號量S初始值為1,共享信號量S初始值是資源的個數;
89. 程序調試:
試探法=回溯法:窮舉法,一個一個試,如迷宮問題,
歸納法:特殊到一般,從個例找出數據,根據數據查處其他,
演繹法:一般到特殊;
90. 面向對象的靜態綁定在編譯時,動態綁定在運行時;
91. 語法制導翻譯是一種靜態語義分析方法;
92. 偽傳遞規則:若x->y在R上成立,且wy->z,則x->z在R上也成立;
93. 入隊列和出隊列操作都要遍歷鏈表;
94. 哈希表的沖突是指:關鍵字不同的元素被映射到相同的存儲位置;
95. 有n個節點,e條邊,鄰接鏈表的時間復雜度為(O(n+e))鄰接矩陣(O(n2));
96. 網址結構:協議名://域名(主機名)/路徑/網頁文件名,如http://www.baidu.com.cn/channel/welcome.html;
97. BIOS(基本輸入輸出系統):是燒寫在主板ROM上的一段固化程序,用來引導操作系統啟動,只能讀,不能寫;
98. DES是對稱加密算法,由于密鑰相同,也成為共享密鑰加密;
99. 屬性不可再分屬于1NF,
所有主鍵都不能單獨決定其他屬性,消除了部分依賴,是2NF,
不存在傳遞依賴,是3NF;
分解成多個關系模式后, R1交R2能推出R1-R2或者R2-R1F,叫無損分解,
分解成多個關系模式后,保持原來的依賴集不變,叫保持函數依賴;
100. 矩陣中無向圖是對稱的,有向圖不是對稱的,完全圖沒有無窮大;
運算器:
算術邏輯單元:對數據的算術和邏輯運算,
累加寄存器:存放運算結果,
數據緩沖寄存器:暫時存放內存的指令和數據,
狀態條件寄存器:保存指令執行結果的條件碼內容,如溢出標志;
控制器:
指令寄存器:暫存執行指令,
程序計數器:存放執行地址,
地址寄存器:保存當前訪問的內存地址,
指令譯碼器:分析指令操作碼;
數的節點個數計算:n0(度為0的節點個數),n1(度為1)。。。。
n0+n1+n2+n3+…-1 = n1+n22+n33+…;
用例之間的關系:
包含關系:兩個或兩個以上的用例提取公共行為時,要做這件事必須先做另一件事,
擴展關系:抽取的用例對于基礎用例來說不是必須的,
泛化關系:形成子用例和父用例;
數據流圖設計原則:
1.數據守恒原則:所有輸出的數據都是從輸入數據來的,
2.守恒加工原則:輸入和輸出的名字不相同,
3.對于每個加工,必須既有輸入數據流,又有輸出數據流,
4.外部實體和外部實體間不存在數據流,
5.外部實體和數據存儲間不存在數據流,
6.數據存儲和數據存儲間不存在數據流,
7.父圖和子圖的平衡原則:子圖的輸入輸出數據流必須同父圖的輸入輸出流保持一致,
8.數據流與加工有關,且必須經過加工;
cache依據的是程序的局部性原理,程序中大部分指令是順序存儲,順序執行的。
計算平均讀取時間:(1002%+1098%)+(1005%+1095%)20%=14.7
存儲芯片總容量為16k4bit = 16k0.5B = 8KB;
單個文件最大長度=直接+一級+二級
51+(2562)1+256256*1 = 66053
數據庫中操作相關的寫入日志文件中,數據相關的寫入數據文件中;
把網絡117.15.32.0/23劃分為117.15.32.0/27.得到的子網是2的(27-23)次方=16個,主機地址是2的(32-27)次方-2=30個;
A類網絡號8位,B類網絡號16位,C類網絡號24位
層次化局域網的核心層只負責高速的數據轉換;
霍夫曼編碼最小的數相加,并且二叉樹中左子樹要小于右子樹;
拓撲序列:找出圖中一個節點入度為0的,最先執行此操作,并延續;
拆半查找,奇數除二要向下取整;
軟件質量特性:
(1)功能性:與一組功能及其指定的的性質的存在有關的一組屬性
1.1適合性:功能是否適合
1.2準確性:能否得到正確的結果
1.3互用行:交互操作
1.4依從性:符合相關的標準,法規
1.5安全性:避免對程序及數據意外訪問的可能
(2)可靠性:軟件維持其性能水平有關的能力
2.1成熟性:由軟件故障引起失效的頻度
2.2容錯性:軟件錯誤下維持軟件性能的水平
2.3易恢復性:發生故障后,重新建立性能和恢復數據的能力
(3)易使用性:用戶的評價
3.1易理解性:用戶容易理解邏輯概念
3.2易學性:用戶容易學習其應用
3.3易操作性:用戶容易操作和控制
(4)效率:軟件的性能水平與所用資源量的關系
4.1時間特性:處理時間以及吞吐量有關
4.2資源特性:所使用的的資源量
(5)可維護性:進行規定的修改所需要的努力
5.1易分析性:診斷缺陷和失效的原因
5.2易改變性:與進行修改,排錯或適應環境變換相關
5.3穩定性:與修改造成未預料結果的風險有關
5.4易測試性:為確認經修改軟件所需努力有關
(6)可移植性:軟件可從某一環境轉移到另一個環境中
6.1適應性:轉移時的處理或手段
6.2易安裝性:安裝軟件所需的努力
6.3一致性:服從于可移植性有關的標準和約定
6.4易替換性:在該環境中替代其他環境的可能
總結
- 上一篇: loam中imu消除重力加速度的数学推导
- 下一篇: springboot/springclo