软考—软件设计师(中级)第5版
第一章? 計算機系統知識
1.CPU的功能:程序控制、操作控制、時間控制、數據處理。
2.計算機系統組成:
計算機
指令寄存器 程序計數器 地址寄存器 指令譯碼器
3.數據表示:原碼、反碼、補碼、移碼。(0 為正,1 為負)
4.移碼:如果機器字長為 N,偏移量為 2N-1,則[X]移=2N-1+[X]補(X 為純整數)。[X]移=1+X(X
為純小數)。
5.IEEE754:符號位(1 位,0 正 1 負)+階碼(8 位,+127)+尾數(23 位,小數點在最高位之后,隨后省略最高位)。
6.浮點數加減:0 操作數檢查,對階操作(小階變大階),尾數加減(階碼用雙符號位,尾數用
單符號位),結果規格化,舍入處理(判定溢出)。
7.常用校驗碼:奇偶校驗碼(只能檢錯)、海明碼(糾錯加檢錯)、循環冗余校驗碼(CRC)。
8.計算機體系結構分類:單處理系統,并行處理與多處理系統,分布式處理系統。
9.指令集的發展:CISC(復雜指令集計算機):增強原有指令的功能,用更為復雜的新指令取
而代之;RISC(精簡指令集計算機):減少指令總數簡化指令功能,優化編譯降低復雜度。
10.指令控制方式:順序方式,重疊方式,流水方式。
11.RISC 中的流水線技術:超流水線技術,超標量技術,超長指令字技術。
12.并發性的解決:陣列處理機,并行處理機,多處理機。
13.主存與 cache 地址映射方式:全相聯映射-將主存一個塊的地址與內容一起存入 cache 中,
拷貝靈活但是比較器電路難設計實現;直接映射-一個主存塊只能拷貝到 cache 的特定行上去,硬件簡單成本低但是容易沖突效率下降;組相聯映射-主存塊放到哪個組是固定的,但是放到哪一行是靈活的,折中辦法廣泛采用。
14.虛擬存儲器:頁式:頁表硬件小,查表速度快但不利于存儲保護;段式:界限分明便于
程序的模塊化設計,易于編譯修改和保護,但主存利用率低,產生大量碎片,查表速度慢; 段頁式:折中辦法,廣泛采用,但地址變換速度比較慢。
15.計算機與外設數據交換:無條件傳送,查詢方式傳送,中斷方式傳送,直接存儲器存取
方式(DMA):CPU 僅在過程開始和結束時有處理,過程中DMA 占用系統總線傳送數據。 16.多中斷處理辦法:多中斷信號線法,中斷軟件查詢法,菊花鏈法,總線仲裁法,中斷向量表法。
17.總線分類:內部總線:芯片的互連,系統總線:CPU,內存,接口等的連接;外部總線: 數據交換。
18.信息安全 5 要素:機密性,完整性,可用性,可控性,可審查性。
19.加密技術:對稱加密(私人密鑰加密):數據加密標準(DES)+三重 DES+RC-5+國際數
據加密算法(IDEA)+高級加密標準(AES);非對稱加密(公開密鑰加密,比如 RSA 算法):加密模型+認證模型。
20.PKI:一種遵循既定標準的密鑰管理平臺,能夠為所有網絡應用提供加密和數字簽名等密碼服務及所必需的密鑰和證書管理體系,必須具有權威認證機構、數字證書庫、密鑰備份和恢復系統、證書作廢系統、應用接口。
21.計算機可靠性:可靠性:串聯系統 R=R1R2,并聯系統 R=1-(1-R1)(1-R2);平均無故
障時間:串聯系統 K=K1+K2,并聯系統 K=1/K(1+1/2)。
22.計算機系統性能評測常用方法:時鐘頻率,指令執行速度,等效指令速度法,數據處理速率(PDR)。
二、程序語言基礎知識
1.編程語言之間的翻譯形式:匯編,解釋,編譯。
2.程序設計語言的定義:語法,語義,語用。
3.程序語言的分類:命令式程序設計語言:FORTRAN,PASCAL,C 語言;面向對象的程序
設計語言(C++,JAVA,smaltalk);函數式程序設計語言(LISP);邏輯型程序設計語言
(PROLOG)。
4.程序語言的基本成分:數據,運算,控制,傳輸。
5.匯編語言源程序:指令語句,偽指令語句,宏指令語句。
6.匯編程序:將匯編語言所編寫的源程序翻譯成機器指令程序。
7.編譯過程:源程序—詞法分析—語法分析—語義分析—中間代碼生成—代碼優化—目標代
碼生成—目標代碼。(另全過程有符號表管理和出錯處理)
8.解釋程序:分析部分:詞法分析、語法分析、語義分析->中間代碼;解釋部分:解釋執行中間代碼。
9.編譯與解釋方式的比較:前者效率高;后者更具有靈活性和可移植性。
三、數據結構
1.數據結構:數據元素的集合及元素間的相互關系和構造方法
2.線性表的存儲結構:順序存儲,鏈式存儲
3.單鏈表節點:typedef struct node{ int data; struct node *link; }NODE,*LinkList; 4.雙向鏈表:每個節點有兩個指針,分別指出直接前驅和直接后繼
5.循環鏈表:尾節點指針指向第一個節點
6.靜態鏈表:借助數組來描述線性表的鏈式存儲結構
7.棧:后進先出;初始化棧:InitStack(S) 判棧空:StackEmpty(S) 入棧:Push(S,x) 出棧:
Pop(S) 讀取棧頂元素:Top(S) 順序存儲+鏈式存儲
8.隊列:先進先出,尾入頭出;初始化隊:初始化隊:InitQueue(Q) 判隊空:Empty(Q) 入隊:EnQueue(Q,x) 出隊:DeQueue(Q) 讀隊頭元素:FrontQue(Q) 順序存儲+鏈式存儲
9.串:僅由字符構成的有限序列,是取值范圍受限的線性表 串的模式匹配
10.數組:定長線性表在維數上的擴張,一般不做插入刪除運算
11.矩陣:特殊矩陣(元素分布有一定的規律:對稱矩陣、三角矩陣、對角矩陣);稀疏矩陣
(非零元素遠少于零元素且肺部無規律:用三元組存儲(行號,列號,值))
12.廣義表(表中有表):表頭(表中第一個元素);表尾(表中除去表頭剩下的部分)
13.樹:遞歸的,元素之間有明顯的層次關系
14.完全二叉樹應采用順序存儲結構,一般二叉樹則應采用鏈式存儲結構
15.二叉樹的鏈式存儲結構 :typedef struct BiTnode{ int data; struct BiTnode *lchild,
*rchild; }BiTnode, *BiTree;
16.二叉樹的遍歷:先序遍歷(先訪問根節點),中序遍歷(第二訪問根節點),后序遍歷(最后訪問根節點),層序遍歷(利用隊列、每次出同一層的節點時進他們的子節點層)
17.線索二叉樹:加上線索(直接前驅和直接后繼)的二叉樹
18.最優二叉樹(哈夫曼樹):一類帶權路徑長度最短的樹
19.樹的存儲結構:雙親表示法(順序存儲);孩子表示法(鏈式存儲);孩子兄弟表示法(鏈
式存儲,兩個指針分別為第一個孩子和下一個兄弟)
20.圖:一個節點的前驅節點和后繼節點數目沒有任何限制
21.圖的表示:G=(V,E);V:頂點的集合;E:邊的集合
22.網:邊帶權值的圖
23.圖的相關概念
24.圖的存儲結構:鄰接矩陣表示法,鄰接鏈表表示法
25.圖的遍歷:深度優先搜索,廣度優先搜索
26.生成樹:極小連通子圖,針對連通圖
27.最小生成樹(權值和最小的生成樹)算法:普尼姆算法(在相鄰邊的基礎上求最小,與
邊數無關,適于邊稠密的網);克魯斯科爾算法(在不構成環的基礎上找最小邊直至連通,與頂點數無關,適于邊稀疏的網)
28.AOV 網:有向圖中頂點表示活動,有向邊表示活動間的優先關系
29.拓撲排序:將AOV 網中所有頂點按優先順序排成一個線性序列的過程
30.AOE 網:有向圖中有向邊表示活動,邊上的權值表示該活動持續的時間
31.關鍵路徑:從源點到匯點的路徑中長度最長的
32.最短路徑:從源點到其余各頂點的最短路徑 迪杰斯克拉算法
33.平均查找長度:關鍵字和給定值進行過比較的記錄個數的平均值
34.靜態查找方法:順序查找;折半查找;分塊查找
35.動態查找:表結構本身在查找過程中是動態生成的
36.二叉排序樹:左子樹上所有節點的值小于根節點的值,右子樹上所有節點的值大于根節
點的值
37.平衡二叉樹(AVL 樹):左子樹和右子樹高度之差的絕對值不超過 1
38.B_樹(m 階):每個節點子樹個數<=m,根節點子樹個數=0 或>=2,其他節點子樹個數=0
或>=m/2
39.哈希表:通過哈希函數(以記錄的關鍵字為自變量)得到記錄的存儲地址;定長按一定函數規律存放數據;哈希地址+關鍵字
40.哈希表的重點:構造哈希函數(直接定址法,數字分析法,平方取中法,折疊法,隨機數法,除留余數法);解決沖突(開放定址法,鏈地址法,再哈希法)
41.簡單排序(時間復雜度O(n2),空間復雜度 O(1)):直接插入排序(插入第 i 個時前 i-1 個以排序好);冒泡排序(相鄰兩個比較排序,每次循環確定一個極值);簡單選擇排序(第 i個依次與后面每個元素比較排序,每次循環確定一個極值,不穩定)
42.高端內部排序:希爾排序(先將整個序列分割成若干序列分別進行直接插入排序,再對
整個序列進行一次直接插入排序,不穩定);快速排序(將整個記錄分割成獨立的兩部分,兩個指針分別指向對應部分的兩端,往中間移動比較排序,遞歸,不穩定);堆排序(建立初始堆輸出并刪除堆頂關鍵字,再建立新堆得到新的關鍵字依次輸出,不穩定);歸并排序
(將若干個有序序列合并為新的有序序列);基數排序(按組成關鍵字的各個數位的值進行排序)
四、操作系統知識
1.操作系統的作用:通過資源管理提高計算機系統的效率;改善人機界面,向用戶提供友好的工作環境。
2.操作系統的特征:并發性、共享性、虛擬性和不確定性
3.操作系統的功能:處理機管理、文件管理、存儲管理、設備管理、作業管理
4.操作系統的類型:批處理操作系統(單道、多道)、分時操作系統(UNIX,多路性、獨立
性、交互性、及時性)、實時操作系統(快速的相應時間、有限的交互能力、高可靠性)、網絡操作系統、分布式操作系統、微機操作系統(Windows,Linux)、嵌入式操作系統
5.程序并發執行的特點:失去了程序的封閉性,程序和機器的執行程序的活動不再一一對應,
并發程序間的相互制約性
6.進程的組成:程序、數據、進程控制塊(PCB)
7.進程的狀態:新建、就緒、運行、阻塞、終止
8.原語(若干條機器指令組成)的特點:執行時不能被分割,要么都做要么都不做
9.進程的同步:進程間完成一項任務時直接發生相互作用的關系
10 進程的互斥:系統中各進程互斥使用臨界資源
11.信號量的意義:若 S>=0 表示某資源的可用數;若 S<0 則其絕對值表示阻塞隊列中等待
該資源的進程數
12.PV 操作(低級通訊方式):P 操作申請一個資源,V 操作釋放一個資源
13.高級通訊方式:共享存儲模式,消息傳遞模式,管道通信
14.管城:由一些共享數據、一組能為并發進程所執行的作用在共享數據上的操作的集合、
初始代碼以及存取權組成,一種同步機制
15.進程調度(可剝奪+不可剝奪)算法:先來先服務算法:主要用于宏觀調度;時間片輪轉: 微觀調度,分時間片占用 CPU;優先級調度:根據優先級(靜態+動態);多級反饋調度:分多個優先級隊列前三中調度的綜合,先執行新進程。
16.產生死鎖的原因:競爭資源及進程推進順序算法
17.產生死鎖的四個必要條件:互斥條件,請求保持條件,不可剝奪條件,環路條件
18.死鎖的處理:預防;避免(銀行家算法:先計算,如果分配資源后系統進入不安全狀態則不予分配);檢測(系統定時運行死鎖檢測程序);解除(資源剝奪法+撤銷進程法)
19.安全狀態:系統能按某種順序來為每個進程分配其所需資源,使每個進程都能順序完成
20.線程:是進程中的一個實體,是被系統獨立分配和調度的基本單位,基本上不擁有資源
21.存儲器管理:分配和回收主存空間、提高主存利用率、擴充主存、有效保護主存信息
22.存儲器的的層次結構:寄存器、快速緩存(cache)、主存、外存
23.地址重定位:將邏輯地址轉變成物理地址的過程,分靜態和動態(程序運行時完成轉換)
24.虛擬存儲頁面置換算法:最佳置換(以后最久不會被使用),先進先出置換,最近最少未
使用,最近未用
25.設備管理的目標:提高設備的利用率,為用戶提供方便統一的界面
26.磁盤調度(使平均尋道時間最少)算法:先來先服務,最短尋道時間優先,掃描算法,
單向掃描調度
27.文件:具有符號名的、在邏輯上具有完整意義的一組相關信息項的集合
28.文件系統:操作系統中實現文件統一管理的一組軟件和相關數據的集合,專門負責管理
和存取文件信息的軟件機構
29.存儲管理方案示意圖
30.文件系統的安全:一類涉及到技術、管理、法律、道德和政治等問題;另一類涉及操作系統的安全機制
31.文件系統的可靠性:轉儲和恢復,日志文件,文件系統的一致性
32.作業:系統為完成一個用戶的計算任務(或一次事物處理)所做的工作總和
33.作業狀態:提交,后備,執行,完成
34.作業調度算法:先來先服務,短作業優先,響應比高優先,優先級調度,均衡調度
35.網絡操作系統:集中模式,客戶端/服務器模式,對等模式
36.嵌入式操作系統:微型化,可定制,實時性,可靠性,易移植性
37.shell 變量:用戶定義變量,系統定義變量,shell 定義變量
五、軟件工程基礎知識
1.軟件工程:指應用計算機科學、數學及管理科學等原理,以工程化的原則和方法來解決軟件工程的問題。其目的是提高軟件生產率,提高軟件質量,降低軟件成本
2.軟件生存周期:可行性分析與項目開發計劃、需求分析、概要設計、詳細設計、編碼、測試、維護
3.軟件生存周期模型:瀑布模型(按順序階段性開發),演化模型(先構造一個初始版本再不斷改進),螺旋模型(制定計劃、風險分析、實施工程、用戶評估),噴泉模型(重視用戶需求,允許各步驟交叉進行)
4.軟件開發方法:結構化方法(面向數據流,自頂向下逐層分解),jackson 方法(面向數據結構),原型化方法(開發一個對用戶透明的框架,然后根據用戶需求壯大),面向對象開發方法
5.需求分析:確定軟件系統的綜合要求,分析軟件系統的數據要求,導出系統的邏輯模型, 修正項目開發計劃,可開發一個原型系統
6.數據域的屬性:數據流,數據內容,數據結構
7.需求工程:需求開發(需求捕獲、需求分析、編寫規格說明書、需求驗證),需求管理(定義需求基線、處理需求變更、需求跟蹤)
8.軟件開發項目管理:成本估算(自頂向下估算方法、自底向上估算方法、差別估算方法),風險分析(風險識別、風險預測、風險評估),進度管理(Gantt 圖、PERT 圖),人員管理
(主程序員組、無主程序員組、層次式程序員組)
9.軟件配置管理的目標:標識變更,控制變更,確保變更正確地實現,報告有關變更
10.基線:軟件生存期中各開發階段的一個特定點,相當于斷點,便于檢查和肯定階段成果
11.軟件開發工具:需求分析工具,設計工具,編碼與排錯工具,測試工具
12.軟件維護工具:版本控制工具,文檔分析工具,開發信息庫工具,逆向工程工具,再工
程工具
13.軟件管理和軟件支持工具:項目管理工具,配置管理工具,軟件評價工具
14.軟件過程評估的意義:改進軟件過程,降低軟件風險
15.軟件能力過程成熟度:初始級,可重復級,已定義級,已管理級,優化級
16.統一過程:起始階段,精化階段,構建階段,移交階段,產生階段
17.敏捷開發:極限編程(計劃游戲、小型發布、隱喻、簡單設計、測試先行、重構、結對
編程、持續集成),水晶法(不同的項目需要不同的策略、約定和方法論),并列征求法(多個小組并行遞增實現產品),自適應軟件開發
18.軟件質量特性:功能性,可靠性,易使用性,效率,可維護性,可移植性
19.軟件質量保證:應用技術方法,進行正式的技術評審,測試軟件,標準的實施,控制變
更,度量,記錄保存和報告
20.軟件復雜性:規模,難度,結構,智能度
21.軟件質量:設計質量(設計的規格說明書符合用戶的要求),程序質量(程序按照設計規
格說明所規定的情況正確執行)
22.設計質量評審內容:是否合乎用戶要求,可靠性,保密措施實現情況,操作特性實施情況,性能實現情況,是否具有可修改性可擴充性、可互換性、可移植性、可測試性、復用性23.程序質量評審內容:功能結構,功能的通用性,模塊的層次,模塊結構,處理過程的結構
24.軟件實現容錯的主要手段就是冗余
25.冗余:結構冗余,信息冗余,時間冗余,冗余附加調用
26.系統分析:對當前系統進行詳細調查,收集數據;建立當前系統的邏輯模型;分析現狀,
提出意見和新目標;建立新系統的邏輯模型;編寫系統方案說明書
27.結構化分析方法(自頂向下逐層分解):數據流圖,數據字典,小說明,補充材料
28.數據流圖(DFD:描述系統的分解):數據流,加工,數據存儲,外部實體 P190
29.DFD 信息流的類型:變換流(輸入、變換、輸出),事務流(輸入到事務中心、選擇執行)
30.數據字典(DD:對圖中各成分進行說明):數據流條目,數據存儲條目,數據項條目,加工條目 P194
31.加工邏輯描述方法:結構化語言,判定表,判定樹
32.系統分析報告作用:描述目標系統的邏輯模型,作為用戶與開發人員之間的協議或合同,
作為目標系統驗收和評價的依據
33.系統分析報告內容:組織情況概述,現行系統概述,系統邏輯模型,新系統在各個業務處理環節擬采用的管理方法、算法或模型,與新系統相配套的管理制度和運行體制的建立, 系統設計與實施的初步計劃,用戶領導審批意見
34.系統設計:概要設計(設計軟件系統總體結構、數據結構及數據庫設計、編寫概要設計文檔、評審),詳細設計(分模塊進行詳細的算法設計、對模塊內的數據結構進行設計、對
數據庫進行物理設計、其他設計、編寫詳細設計說明書、評審)
35.系統設計基本原理:抽象,模塊化,信息隱蔽,模塊獨立(耦合:模塊之間聯系的緊密程度;內聚:模塊內部各元素之間聯系的緊密程度)
36.系統結構設計原則:分解-協調,自頂向下,信息隱蔽、抽象,一致性,明確性,模塊間耦合盡可能小、內聚盡可能高,模塊的扇入、扇出系數要合理,模塊的規劃適當
37.子系統劃分的原則:要具有相對獨立性,之間的數據依賴性要盡可能小,結果應使數據冗余較小,應考慮今后管理發展的需要,應便于系統分階段實現,應考慮各類資源的利用38.模塊(組成系統的基本單位)四要素:輸入和輸出,處理功能,內部數據,程序代碼
39.模塊結構圖:模塊,調用,數據,控制,轉接 P203
40.變換分析(從變換流型的 DFD 導出程序結構圖):確定輸入流和輸出流、分離出變換中
心,第一級分解,第二級分解,事務分析 P205
41.面向數據結構的設計方法(jackson 方法):分析確定輸入輸出數據的邏輯結構,找出輸入與輸出數據結構有對應關系的數據單元,從描述數據結構的 jackson 圖導出描述程序結構的 jackson 圖,列出所有操作并分配到程序結構圖上,用偽碼表示程序 P207
42.Jackson 圖:表達數據元素間的邏輯關系(順序,選擇,重復)或程序結構(順序,選擇, 重復)
43.系統詳細設計:代碼設計(唯一性、合理性、可擴充性、簡單性、適用性、規范性、系統性),輸入設計(確定輸入數據內容、輸入方式設計、輸入格式設計、校對方式設計),輸出設計(確定輸出內容、選擇輸出設備與介質、確定輸出格式),處理過程設計(程序流程圖、盒圖:NS 圖、形式語言、決策樹、決策表),用戶界面設計(菜單方式、會話管理方式、提示方式與權限管理),安全控制設計(環境性因素、數據處理因素)
44.系統實施的任務:按總體設計方案購置和安裝計算機網絡系統,軟件準備,培訓,數據準備,投入轉換和試運行
45.系統實施的步驟:按總體設計方案購置和安裝計算機網絡系統,建立數據庫系統,程序設計,收集有關數據并進行錄入工作和系統測試,人員培訓、系統轉換和試運行
46.程序設計方法:結構化方法(模塊內部程序各部分要自頂向下地結構化劃分、各程序部分應按功能組合、各程序部分的聯系盡量使用調用子程序方式而不是 GOTO 方式),原型方法(將帶有普遍性的功能模塊集中、開發完成通用模塊、生成程序模塊原型),面向對象的方法(一個簡單直接的映射過程)
47.程序模塊圖
48.測試:以最少的人力和時間發現潛在的各種錯誤和缺陷
49.測試過程:制定測試計劃,編制測試大綱,設計生成測試用例,實施測試,生成測試報
告
50.軟件測試:單元測試(模塊接口、局部數據結構、重要的執行路徑、出錯處理、邊界條
件),集成測試(把模塊按系統設計說明書的要求組合起來進行測試),確認測試(有效性測試、軟件配置審查、驗收測試),系統測試(恢復測試、安全性測試、壓力測試、性能測試、可靠性及可用性和可維護性測試、安裝測試)
51.測試方法:靜態測試(人工檢測、計算機輔助靜態分析),動態測試(白盒測試:邏輯覆
蓋、循環覆蓋、基本路徑測試;黑盒測試:等價類劃分、邊值分析、錯誤猜測、因果圖) P223
52.調試(改正測試時發現的錯誤):試探法,回溯法,對分查找法,歸納法,演繹法
53.系統文檔:軟件開發過程中的文檔,硬件采購和網絡設計中的文檔,系統建設過程中的
各種來往文件、會議紀要、會議單據等,程序資料和培訓教程等
54.系統轉換(新系統試運行成功后與舊系統相互轉換):直接轉換,并行轉換,分段轉換
55.系統可維護性的評價指標:可理解性,可測試性,可修改性
56.系統維護:硬件維護,軟件維護(正確性維護、適應性維護、完善性維護、預防性維護),
數據維護
57.系統維護的步驟:提出維護或修改要求,領導審查并做出答復,領導分配任務、維護人員執行修改,驗收維護成果并登記修改信息
58.系統評價:立項評價,中期評價,結項評價
六、
七、面向對象技術
1.面向對象技術:以客觀世界的對象為中心,其分析和設計思想符合人們的思維方式,分析和設計的結果與客觀世界的實際比較接近,容易被人們所接受
2.面向對象:對象(對象名、屬性、操作),分類(所包含的方法和數據描述一組對象的共同行為和屬性),繼承(父類與子類之間共享數據和方法的機制),通過消息的通信(對象之間進行通信的一種構造)
3.多態:不同的對象收到同意消息產生完全不同的結果(重載+重寫+類屬)
4.綁定:把過程調用和響應調用所需要執行的代碼加以結合的過程
5.動態綁定:當一個對象發送消息請求服務時,根據接受對象的具體情況將請求的操作與實現的方法進行連接
6.面向對象程序設計語言應支持:被封裝的對象;類和實例概念;類間的繼承性;多態
7.程序設計范型:人們在程序設計時所采用的基本方式模型;(+類+繼承性=面向對象程序設計范型)
8.面向對象的好處:解決了產品質量與生產率之間的權衡;使系統具有很高的靈活性和易擴充性;能管理復雜性并增強伸縮性;把某一領域分割成各種對象分析設計更合理;從概念模型化到分析、設計、編碼可以實現無縫傳遞;通過封裝進行信息隱蔽有助于建立安全的系統9.典型的面向對象設計語言:Smalltalk,Eiffel,C++,JAVA
10.類的特征:同一個類的不同實例具有相同的數據結構和規律相同的行為;同一個類的不同實例可以持有不同的值因而可以具有不同的狀態;實例的初始狀態可以在實例化時確定11.消息傳遞:使對象具有交互能力的主要模型
12.對象自身引用(this):值使得方法體中引用的成員名與特定的對象相關;類型則決定了方法體被實際共享的范圍
13.虛擬函數:只給出方法的定義不給出實現過程,供其子類重置(overriding)
14.類屬:類的模版;參數多態機制;不限定成員的類型,具體對象再賦予具體類型
15.類庫:預先定義的程序庫,以程序模塊的形式按照類層次結構把一組類的定義和實現組織在一起
16.抽象類:無實例的類,以供繼承
17.面向對象分析:認定對象;組織對象;描述對象間的相互作用;定義對象的操作;定義對象的內部信息
18.面向對象設計:設計分析模型,實現相應源代碼
19.面向對象軟件的測試:算法層,類層,模版層,系統層
20.面向對象的方法:OOA 方法:主題層,對象類層,結構層,屬性層,服務層;OOD 方法:問題域部件,人機交互部件,任務管理部件,數據管理部件;Booch 的 OOD 方法:標識類和對象,確定他們的含義,標識他們之間的關系,說明每一個類的界面和實現;OMT
(面向對象建模技術):對象模型,動態模型,功能模型—分析,系統設計,對象設計,實現;UML(統一建模語言):事務(結構事務、行為事務、分組事務、注釋事務),關系(依賴、關聯、泛化、實現),圖(類圖、對象圖、用例圖、交互圖、狀態圖、活動圖、構建圖、部署圖)
21.設計模式四要素:模式名稱,問題,解決方案,效果
22.設計模式分類:創建型(抽象了實例化過程,幫助系統獨立于如何創建、組合和表示它的那些對象,如 Singleton 模式:保證類只能有一個實例),結構型(采用繼承機制靈活地組合類和對象以獲得更大的結構),行為型(使用繼承機制在類間分派行為,描述對象或類的模式以及其通信模式,如 Observer 模式:一旦模型發生變化所有視圖都會得到通知)
八、算法設計與分析
1.算法的特性:有窮性,確定性,可行性,輸入,輸出
2.算法的表示方法:自然語言,流程圖,程序設計語言,偽代碼
3.遞歸算法求時間復雜度:展開法(將等式依次展開);代換法(用所猜測的值代替函數的
解)
4.分治法(將一個難以直接解決的大問題分解成一些規模較小的小問題各個擊破):分解,求解,合并
5.動態規劃法(將待求解問題分解成若干子問題分別求解,再根據子問題的解得到原問題的解;分解得到的子問題往往不是獨立的):找出最優解性質并刻畫其結構特性;遞歸地定義最優解的值;以自底向上的方式求出最優值;根據最優值構造最優解
6.貪心算法(僅根據當前已有信息做出選擇,重點考慮局部最優以達到全局最優):最優子結構;貪心選擇性質
7.回溯法(以深度優先的方式系統地搜索問題):定義問題的解空間;確定解空間結構;深度優先的方式搜索解空間
8.分支限界法(以廣度優先或以最小耗費優先的方式搜索解空間):隊列式分支限界法;優先隊列式分支限界法
9.概率算法(把隨機性的選擇加入到算法中,允許較小概率的錯誤來提高運行效率):數值概率算法;蒙特卡羅算法;拉斯維加斯算法;舍伍德算法
10.近似算法(放棄求最優解,而用近似最優解代替)衡量標準:算法的時間復雜度;解的近似程度
11.NP?完全性理論:研究計算問題難易以及一類特殊的難解問題的理論
12.P 類問題:能夠以O(nk)的時間運行一個確定性算法得到準確答案
13.NP?類問題:能夠以 O(nk)的時間運行一個不確定性算法得到準確答案
14.NP?完全問題:能夠證明用多項式時間的確定性算法得到準確答案
九、數據庫技術基礎
1.數據庫系統:數據庫,硬件,軟件,人員
2.DBMS(數據庫管理系統)的功能:數據定義,數據庫操作,數據庫運行管理,數據組織、
存儲和管理,數據庫的建立和維護,與其他軟件系統的通信功能等
3.DBMS 的特征:數據結構化且統一管理,有較高的數據獨立性,數據控制功能(數據庫的安全性保護、數據的完整性、并發控制、故障恢復)
4.DBMS 分類:關系數據庫系統(實體間的聯系用關系表示),面向對象的數據庫系統(以對象形式對數據建模),對象關系數據庫系統(在關系數據模型基礎上提供處理新的數據類型操作的能力)
5 數據庫系統體系結構:集中式(數據、數據管理、數據庫功能等都集中在一起),分布式
(物理上分布+邏輯上分布),C/S 模式(客戶端負責數據表示服務、服務器負責數據庫服務),并行結構(多個 CPU 物理上連在一起處理)
6.數據庫的三級模式:概念模式(數據庫中全部數據的邏輯結構和特征的描述、只涉及型的
描述而不涉及具體的值),外模式(用戶與數據庫系統的接口、用戶用到那部分數據的描述),內模式(數據物理結構和存儲方式的描述、數據在數據庫內部的表示方式)
7.數據庫的兩級映像:模式/內模式映像(實現概念模式與內模式的轉換),外模式/模式映像
(實現外模式與概念模式的轉換)
8.數據的獨立性:物理獨立性(數據庫的內模式改變時數據的邏輯結構不變),邏輯獨立性
(用戶的應用程序與數據庫的邏輯結構相互獨立)
9.數據模型:概念數據模型(E-R 模型等),基本數據模型(層次模型:用樹型結構表示數據間的聯系、網狀模型:用網絡結構表示數據間的聯系、關系模型:用表格結構表示實體間的聯系、面向對象模型:對象標識+封裝+對象的屬性+類和類層次+繼承)
10.數據模型三要素:數據結構,數據操作,數據的約束條件
11.E-R 圖:實體(矩形),聯系(菱形),屬性(橢圓形)
12.完整性約束:實體完整性,參照完整性,用戶自定義完整性
13.關系代數運算:并,交,差,笛卡爾積,投影,選擇,連接,除
14.SQL 語言的特點:綜合統一,高度非過程化,面向集合的操作方式,兩種使用方式(自
含式、嵌入式),語言簡潔易學易用
15.SQL 語言的組成:數據定義語言,交互式數據操縱語言,事務控制,嵌入式 SQL 和動態SQL,完整性,權限管理
16.SQL 數據定義:創建(create),修改(alter),刪除(drop):表(table),視圖(view[as select]),索引(index[on])
17.SQL 數據查詢:select…from…where…group by…having…order by… P375
18.插入數據:insert into…values…
19.修改數據:update…set…=…where…
20.刪除數據:delete from…where…
21.授權:grant…on…to (with grant option)
22.回收權限:revoke…on…from…
23.函數依賴:反映屬性間的聯系(X→Y);完全函數依賴:(學生 ID,所修課程 ID)→成績;部分函數依賴 :(學生 ID,所修課程 ID)→學生姓名;平凡函數依賴:X→Y 且 Y 包含于X;非平凡函數依賴:X→Y 且Y 不包含于X;傳遞函數依賴:X→Y,Y→Z
24.規范化:1NF:每個分量都不可再分;2NF:消除非主屬性對碼的部分函數依賴;3NF:
消除非主屬性對碼的傳遞函數依賴
25.模式分解標準:無損連接,保持函數依賴
26.事務的 ACID 性質:原子性,一致性,隔離性,持久性
27.事務管理:事務開始(begin transaction),事務提交(commit),事務回滾(rollback) 28.數據庫故障:事務內部故障,系統故障,介質故障,計算機病毒
29.數據備份方法:靜態轉儲和動態轉儲,海量轉儲和增量轉儲,日志文件
30.數據恢復步驟:反向掃描文件日志,對事物的更新操作執行逆操作,繼續反向掃描和更
新,直到事務的開始標志
31.并發控制的技術:封鎖(寫鎖、讀鎖)
32.數據不一致性:丟失修改,不可重復讀,讀臟數據
十、網絡與信息安全基礎知識
1.計算機網絡(計算機技術+通信技術)的發展:具有通信功能的單機系統->具有通信功能的多機系統->以共享資源為目的的計算機網絡->以局域網及因特網為支撐環境的分布式計算機系統
2.計算機網絡的功能:數據通信,資源共享,負載均衡,高可靠性
3.計算機網絡的分類:局域網(LAN:10m~1000m),城域網(MAN:10km),廣域網(WAN:
100km 以上)
4.網絡拓撲結構:總線型,星型,環型,樹型,分布式(無嚴格的布線規定和形狀,各節點有多條線路相連)
5.OSI 七層參考模型:物理層(物理地傳送比特流),數據鏈路層(負責兩相鄰節點間無差錯傳送以幀為單位的數據),網絡層(提供端到端的交換網絡數據傳送功能),傳輸層(提供可靠的數據傳輸服務),會話層(提供會話管理服務),表示層(提供格式化的表示和轉換數據服務),應用層(提供網絡與用戶應用軟件之間的接口服務)
6.網絡互連設備:中繼器(物理層上實現局域網網段互連,用于擴展局域網網段長度),集線器(特殊的多路中繼器,有信號方法功能并便于網絡維護);網橋(工作與數據鏈路層,用于連接兩個局域網網段),交換機(按每一個包中的 MAC 地址相對簡單地決策信息轉發);路由器(網絡層異構互連,連接多個邏輯上分開的網絡),網關(在兩個不同類型協議的網絡系統之間進行通信)
7.網絡傳輸介質:有線介質(雙絞線,同軸電纜:直接傳輸數字信號,光纖:傳輸光信號、需信號轉換);無線介質(微波:利用無線電波傳輸,紅外線:傳輸紅外光信號,激光:傳激光信號,衛星通信:傳輸電磁波信號)
8.局域網組成部件:服務器(文件服務器、打印服務器、通信服務器),客戶端(用戶與網絡應用接口設備),網絡設備(網卡,收發器,中繼器,集中器,網橋,路由器等),通信介質(數據的傳輸媒體),網絡軟件(底層協議軟件、網絡操作系統等)
9.協議:規定通信時的數據格式、數據傳送時序以及相應的控制信息和應答信號等內容
10.網絡的標準:電信標準,國際標準(IEEE 標準等),Internet 標準(自發標準非政府干預)
11.決定局域網特性的主要技術:用以傳輸數據的傳輸介質,用以連接各種設備的拓撲結構, 用以共享資源的介質訪問控制方法
12.局域網協議:LAN 模型(物理層,數據鏈路層:邏輯鏈路控制子層、介質訪問控制);以太網(CSMA/CD 技術:邊發送邊接收、時刻偵聽信道);令牌環網(適用于環型網絡結構的分布式介質訪問控制:廣播發送令牌、目標站進行處理);FDDI(類似令牌環網協議、光纖作為傳輸介質)
13.廣域網協議:點對點協議(PPP:主要用于撥號上網,建立點對點連接發送數據),數字用戶線(xDSL:不對稱數字用戶線ADSL,甚高速數字用戶線 VDSL),數字專線(電信數字數據網固定專線,電信鋪設),幀中繼(在用戶網絡接口之間提供用戶信息流的雙向傳送, 并保持順序不變),異步傳輸模式(ATM:面向分組的快速分組交換模式,使用異步時分復用技術),X.25 協議(在本地數據終端設備和遠程數據終端設備之間提供一個全雙工、同步的透明信道)
14.TCP/IP 協議簇特性:邏輯編址,路由選擇,域名解析,錯誤檢測和流量控制
15.TCP/IP 模型
16.Internet 地址格式:域名格式,IP 地址格式
17.解決 IP 地址短缺問題:長期(使用 Ipv6),短期(使用網絡地址翻譯技術 NAT:在子網
內部使用局部地址,外部使用少量的全局地址,通過路由器進行內部地址和外部地址的轉換)
18.Ipv6:40 個字節的首部長度,16 個字節的 IP 地址長度
19.服務端口:公共端口(01023)注冊登記端口(102465535)
20.Internet 高層協議:域名服務(UDP 端口,53,通過 DNS 服務器將域名變換為 IP 地址);
遠程登錄服務(TCP 端口,23,將用戶計算機與遠程主機連接起來);電子郵件服務(TCP端口,25:SMTP and 110:POP3,發送:SMTP,接收:SMTP+POP3);WWW 服務(TCP端口,80,基于客戶端/服務器模式的信息發送技術和超文本技術的綜合);文件傳輸服務
(TCP 端口,20:數據連接 and 21:控制連接)
21.網絡安全的威脅:計算機存儲著國家、機構、組織的秘密信息或個人的隱私成為某類人攻擊的目標;軟件規模的膨脹容易使系統存在缺陷;信息傳輸的安全性存在隱患;網絡協議本身的漏洞也會引發安全問題
22.網絡安全:運行系統安全,信息系統的安全,信息傳播的安全,信息內容的安全
23.信息系統的需求:保密性,完整性,可用性,可控性,可核查性
24.網絡的安全威脅:物理威脅,網絡攻擊,身份鑒別,編程威脅,系統漏洞
25.網絡的信息安全:信息的存儲安全(用戶的標識與驗證,用戶存取權限限制,系統安全
監控,計算機病毒防治,數據的加密,計算機網絡安全);信息的傳輸安全(鏈路加密,節點加密,端到端加密)
26.防火墻:建立在內外網絡邊界的過濾封鎖機制,防止不良數據包進出被保護的內部網絡
27.防火墻的分類:包過濾型(直接轉發報文,對用戶透明),應用代理網關型(通過服務器
建立連接),狀態檢測型(建立狀態連接表,跟蹤檢測每一個會話狀態)
28.典型防火墻的體系結構:包過濾路由器(在網絡層對進出內部網絡所有信息進行分析限制),雙宿主主機(代理服務器軟件在雙宿主主機上運行,每一個接口連接不同網段),被屏蔽主機(由過濾路由器和應用網管組成,包過濾+代理服務,內網和外網雙重保障),被屏蔽子網(由兩個包過濾路由器和一個應用網關組成,最安全的防火墻系統)
十一?、標準化和軟件知識產權基礎
1.標準:對重復性事務和概念所做的統一規定
2.標準化對象:標準化的具體對象(需要指定標準的具體事務);標準化的總體對象(各種具體對象的全體所構成的整體)
3.標準化活動過程:標準的制定,標準的實施,標準的更新
4.標準的分類:根據適用范圍(國際標準,國家標準,區域標準,行業標準,企業標準,項目規范);根據標準的性質(技術標準,管理標準,工作標準);根據標準化的對象和作用(基礎標準,產品標準,方法標準,安全標準,衛生標準,環境保護標準,服務標準);根據法律的約束性(強制性標準,推薦性標準)
5.信息技術標準化:信息編碼標準化(如 ASCII 碼);漢字編碼標準化(如 gb2312);軟件工程標準化(基礎標準,開發標準,文檔標準,管理標準)
6.權威國際標準化組織:國際標準化組織(ISO);國際電工委員會(IEC)
7.知識產權:人們基于自己的智力活動創造的成果和經營管理活動中的經驗、知識而依法享有的權利
8.知識產權的分類:工業產權(專利、實用新型、工業品外觀設計、商標、服務標記、廠商名稱、產地標記、原產品名稱、制止不正當競爭等);著作權(版權)
9.知識產權的特點:無形性,雙重性,確認性,獨占性,地域性,時間性
10.計算機軟件著作權受保護條件:獨立創作,可被感知,邏輯合理
11.計算機軟件著作權的權利:人身權(發表權,署名權);著作財產權(使用權,復制權,修改權,發行權,翻譯權,注釋權,信息網絡傳播權,出租權,使用許可權,獲得報酬權, 轉讓權)
11.軟件經濟權利的許可使用:獨占許可使用,獨家許可使用,普通許可使用,法定許可使用,強制許可使用
12.軟件著作權:誰開發,誰享有
13.計算機軟件著作權特點:技術性,依賴性,多樣性,運行性
14.軟件著作權侵權的法律責任:民事責任,行政責任,刑事責任
15.商業秘密:部位公眾所知的、能為權利人帶來經濟利益、具有實用性并經權利人采取保密措施的技術信息和經營信息;包括經營秘密和技術秘密
16.商業秘密的構成條件:未公開性,實用性,保密性
17.授予專利權的條件:新穎性,創造性,實用性
18.軟件企業應建立的合同規范:勞動合同關系,軟件開發合同,軟件許可使用(或轉讓) 合同
十二、 軟件系統分析與設計
1.軟件設計師應用性技術內容:結構化分析與設計;數據庫分析與設計;面向對象分析與設計;算法分析與設計;面向過程的程序設計與實現;面向對象的程序設計與實現
2.結構化分析與設計:確定系統邊界,畫出系統環境圖;自頂向下,畫出各層數據流圖;定義數據字典;定義加工說明;將圖、字典以及加工組成分析模型
3.數據庫分析與設計:數據庫規劃;需求描述與分析;數據庫與應用程序設計;數據庫系統實現;測試階段;運行維護
4.數據庫設計的方法:用戶需求分析(調查機構情況,熟悉業務活動,明確用戶需求,確定系統邊界,分析系統功能,分析系統數據,編寫分析報告);概念設計(數據建模,E-R 方法);邏輯設計(數據模式設計:層次模型、網狀模型、關系模型);物理設計(確定數據分布,確定數據的存儲結構,確定數據的訪問方式)
5.面向對象分析與設計的步驟:建模系統功能(確定參與者,確定需求用例,構造用例模型, 記錄需求用例描述);定義領域模型(定義概念、屬性和重要的關聯);定義交互、行為和狀態(確定并分類用例設計類,確定類屬性、行為和責任);定義設計類圖(會議,用戶,會議主題,稿件,審閱意見)
6.算法設計過程:理解問題;確定相關因素(包括問題的輸入與輸出、用何種數據結構、用什么樣的算法設計策略);設計算法;證明算法的正確性;分析算法的效率;實現算法
7.算法問題類型:查找問題;排序問題;圖問題;組合問題(最優化問題);幾何問題(點、線、面、體)
8.面向過程的程序設計與實現的核心:C 語言->指針
9.面向對象的程序設計與實現的核心:設計模式
?
總結
以上是生活随笔為你收集整理的软考—软件设计师(中级)第5版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux服务器ftp+httpd部署
- 下一篇: 上海蓝光集团公司信息化建设规划方案