软件评测师考试(总是记不住的知识点+错题小汇总+记忆方法小tips)
1、數據庫
(1)分布式數據庫:
| 分片透明 | 對數據的操作在全局關系上進行,如何分布如何存儲等細節不必關心(最高層次) |
| 復制透明 | 不用關心數據庫在網絡中各個節點的復制情況 |
| 位置透明 | 不用知道所操作的數據放在何處 |
| 邏輯透明(局部映像透明) | 不必關心局部DBMS支持哪種數據模型、使用哪種數據操縱語言,數據模型和操縱語言的轉換由系統完成 |
記憶:吩咐未落,全局->局部;
(2)數據庫系統的安全控制機制:
| 用戶標識與鑒別 | 用戶id、密碼驗證; |
| 訪問控制 | 用戶授權; |
| 視圖機制 | 創建虛擬表; |
| 數據加密 | 數據加密成密文; |
| 審計 | 對行為的控制和分析; |
| 備份/恢復 | 防治數據災難; |
記憶:用贖身方式控制被毀數據庫的安全
數據庫的完整性是指數據的正確性和相容性;
完整性約束是屬于完整性約束機制,不屬于安全性控制機制。?
(3)完整性約束
| 實體完整性 | 基本關系的主屬性不能取空值 |
| 參照完整性 | 實體間引用的完整性:外碼的值必須取空值或者在被引用的表中存在的相對應的主碼值 |
| 用戶定義完整性 | 具體應用所涉及的數據必須滿足語義要求 |
記憶:時空用于餐飲
(4) 數據庫三級結構
| 用戶級 | 外模式、子模式、用戶模式 | 用戶視圖 | 描述各個記錄的組成、相互關系、數據項的特征、數據的安全、完整性約束條件(與應用相關) | 視圖 |
| 概念級 | 概念模式、模式、邏輯模式(唯一、關鍵) | DBA視圖 | 描述數據庫中數據的邏輯結構和特征 | 基本表 |
| 物理級 | 內模式(唯一) | 內部視圖 | 描述數據物理結構和存儲方式 | 存儲文件 |
(5)范式
?
| 1NF | 無重復屬性(無重復列) |
| 2NF | 屬性完全依賴于主鍵(無重復行) |
| 3NF | 屬性不依賴其他非主屬性(無傳遞) |
| 4NF | 實體的碼分別和每個多值屬性獨立構成一個關系模式 |
(6)語句:
[with check option] :強制針對視圖執行的所有數據修改語句都必須符合在select子句中設置的條件,可以確保提交修改后,仍可通過視圖看到語句。
[with grant option] :授權時出現,獲得權限的用戶還可以將該權限賦給其他用戶。
[grant<權限>?on<對象類型>to<用戶>]
(7)數據庫設計
| 用戶需求分析 | 形成需求說明文檔、數據字典、數據流圖, 作為概念結構設計的依據 |
| 概念結構 | ? |
| 邏輯結構 | ? |
| 物理結構 | ? |
(8)多值屬性和復合屬性的區別
| 多值屬性 | 類似一個人有多個電話號碼 |
| 復合屬性 | 家庭地址是由省、市、區縣、街道組成 |
2、網絡
(1)OSI模型和相關協議:
| 應用層(應用層、表示層、會話層) | FTP\Telnet\POP3\SMTP\HTTP | SNMP |
| 傳輸層 | TCP | UDP |
| 網絡層 | ICMP\IP | IP |
| 數據鏈路層 | ? | ARP/RARP |
| 物理層 | ? | ? |
記憶:有應勇少年(應用SNmp),傳圖片(TcP/UdP),左網絡IP,右熟練阿婆(數據鏈路ArP/rArP)
tcp/ip的公共服務端口號:1~1023
ppp中的安全認證協議是CHAP;
LDAP是輕量目錄訪問協議;
| 常見協議 | Telnet--遠程登錄,遠程管理 RAS--遠程訪問 FTP--文件傳輸 MPLS--多協議標記交換 SNMP--簡單網絡管理協議(C/S)(報文:SNMP報頭、協議數據單元PDU) UDP--用戶數據報協議(順應網絡傳輸速度、小通信量) TCP--傳輸控制協議(傳輸數據量少、可靠性高的應用,3次握手,按次無錯傳遞) ICMP--互聯網控制消息協議 |
| 與電子郵件相關協議 | SMTP--簡單Mail傳輸(發送郵件協議) POP3-接收郵件協議 IMAP4--郵件獲取協議 MIME--多媒體郵件擴展 PGP--基于RSA公鑰加密體系的郵件加密(安全) |
記憶:
SMTP->Simple Mail Transfer Protocol
POP3->Post Office Protocol
IMAP4->Internet Mail Access Protocol
MIME->Multipurpose Internet Mail Extensions
PGP->Pretty Good Privacy
(2)IPv4和IPv6過渡期間的技術
| 雙協議棧 | 主機同時運行4和6,同時支持4和6 |
| 隧道技術 | 在4上連接6的站點 |
| NAT-PT翻譯 | 轉換4和6 |
?
(3)測試網絡連通情況
| Ping | 本機與外部指定主機的連接 |
| tracert | 跟蹤路由,查看IP數據包所走路徑的連通情況,查出路徑上哪段路由出現連通故障 |
| netstat | 本機各端口的連接 |
| arp | 查看和修改本地主機上的arp表項; 查看arp緩存及解決ip地址解釋故障; |
| ipconfig | renew:更新所有適配器DHCP配置; flushdns:刷新并重設DNS緩存; |
?
| ping本地循環地址127.0.0.1不通 | 本地機tcp/ip不正常工作 |
| ping本機ip不通 | 網絡適配器故障 |
| ping同網段中某機ip不通 | 網絡線路故障 |
(4)物理設備
| 網橋 | 數據鏈路層 | 早期的2端口二層網絡設備,用來連接不同網段 2端口分別由一條獨立的交換信道,不是共享一條背板總線; 可隔離沖突域; |
| 集線器 | 物理層和數據鏈路層MAC子層 | 對接收到的信號進行再生整性放大,擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上 |
| 路由器 | 網絡層 | 連接各局域網、廣域網 會根據信道的情況自動選擇和設定路由,以最佳路徑,按前后順序發送信號 可以分割廣播風暴,提高帶寬利用率 |
| 交換機 | 數據鏈路層 | 為任意兩個網絡節點提供獨享的電信號通路 能劃分數據鏈路層廣播(沖突域) 不能劃分網絡層廣播(廣播域) |
?
(5)路由
| 直連網絡ID | 用于直接連接的網絡,interface可為空 |
| 遠程網絡ID | 用于不直接連接的網絡,可通過其他路由器到達這種網絡,interface是本地路由器的ip地址 |
| 主機路由 | 到達特定主機的路由,子網掩碼:255.255.255.255 |
| 默認路由 | 無法找到確定路由時使用的路由,目標網絡和網絡掩碼都是0.0.0.0 |
| 持久路由 | 利用route add-p命令添加的表項,每次初始化時,這種路由都會加入windows的注冊表中,同時加入路由表 |
3、語言
(1)語言處理程序
| 編譯程序 | 高級語言源程序->目標程序(匯編形式或機器代碼形式) |
| 匯編程序 | 匯編語言編寫程序->機器語言程序 |
| 解釋程序 | 直接執行高級語言源程序或先翻譯成某種中間代碼再執行,不形成與源程序功能等價的目標程序 |
| 反編譯 | 編譯的逆過程,不能把可執行文件還原成高級語言源代碼,只能轉換成功能上等價的匯編程序 |
記憶:接種無木,匯集,變高木(沒有木的地方一根根接種起來,再慢慢匯集堆疊起來,就會變成高高的木頭)
編譯:靜態語義錯誤、語法錯誤
運行:動態語義錯誤
java虛擬機:解釋器?
編譯與解釋的區別是:是否生成目標程序文件
(2)編譯程序過程 (源程序-->目標代碼)
| 符號表管理 | 詞法分析:識別出單詞 | 出錯處理 |
| 語法分析:檢查單詞文法(表達式、語句、程序) | ||
| 語義分析:檢查單詞語義(類型分析、檢查) | ||
| 中間代碼生成:機器代碼 | ||
| 代碼優化:提高運行效率 | ||
| 目標代碼生成 |
中間代碼:有利于進行與機器無關的優化處理、編譯前后端分水嶺、提高編譯程序可移植性。?
(3)語句語法語義
| 語句 | 描述程序中的運算步驟、控制結構、數據傳輸 |
| 語法 | 給出語句、聲明和其他語言結構的書寫規則 |
| 語義 | 不同語法結構的含義 |
(4)面向對象--UML中的關系和對應的圖
記憶:組黑聚白四角箭(豬黑巨白四腳尖),泛繼實實虛三角頭(飯雞屎是需三角頭),關實依需箭(管事亦須賤)
泛化=實現>組合>聚合>關聯>依賴
| 繼承 | 父類子類之間共享數據的方法 類之間共享屬性與行為的機制 |
| 多態 | 不同對象在收到同一消息可產生不同的結果 |
| 綁定 | 把過程調用和相應調用所需要執行的代碼加以結合的過程 靜態綁定:編譯時進行 動態綁定:運行時進行 |
| 泛化 | 兩類事務之間的一般/特殊關系 |
| 依賴 | 語義關系,一個類發生變化會影響到另一個類的語義 |
| 擴展 | 即擴展用例只有在基本用例滿足某種條件的時候才會執行。 |
(5)對象A要改變對象B的狀態,通過B的修改操作符進行;
讀取B的狀態信息,通過B的選擇操作符,可獲取B對象的屬性值;
創建B對象的類的一個新的對象,不需要對B進行任何操作。?
操作符:就是類似運算符這種,能對屬性等進行操作的。
對象=標識+屬性+方法;
(6)類、派生、對象
| public類 | 程序中所有函數都可訪問; 對象可訪問; |
| protect類 | 該類及該類的子類成員函數可訪問; 對象不可訪問; |
| private類 | 該類成員函數可訪問; 對象不可訪問; |
| public公有派生 | 基類中的public、protect成員,訪問屬性不變; 基類中的private成員,不可直接訪問; |
| protect保護派生 | 基類中的public、protect成員,以protect身份出現在派生類中; 基類中的private成員,不可直接訪問; |
| private私有派生 | 基類中的public、protect成員,以private身份出現在派生類中; 基類中的private成員,不可直接訪問; |
?
(7)分層體系結構
| 表示層 | 用戶界面部分 用戶與應用程序的交互 |
| 控制層 | 接收用戶請求 選擇適當的邏輯層構建處理并接收處理結果 選擇適當的界面展示給用戶 |
| 模型層 | 訪問數據層的數據對象 根據要求進行查詢或更新數據,實現業務邏輯功能 J2EE的EJB |
| 數據層 | 數據的存儲 |
?
J2EE:EJB、Java Servlets API、JSP和XML技術
4、各種算法:
| 類型 | 特點 | 算法 |
| 對稱加密算法 | 1、加密密鑰解密密鑰相同; 2、私鑰加密; 3、密鑰分發困難; 4、算法效率高,適合對大數據進行加密,速度快; | DES:連接安全 3DES RC-5:連接安全 IDEA AES:采用可變長的密鑰體制 ?記憶:DEAERC |
| 非對稱加密算法 | 1、加密密鑰解密密鑰不同; 2、公開密鑰加密算法(公鑰加密); 3、密鑰成對出現(公鑰對外公開,私鑰只有持有者持有); 4、算法相對效率低; | RSA:身份認證、數字簽名 ECC:橢圓曲線 DSA:身份認證 記憶:SACC |
| ? | ? | MD5:消息摘要算法 SHA:消息摘要算法、密鑰長度長、安全性高、安全散列算法 |
?記憶:如此對稱的阿爾山(RC,DEs/iDEs,AES),非猜測是愛(eCC,rSA/dSA),收到消息殺名單上的人(SHA,MD5)
| 磁盤調度算法 | 1、先來先服務調度 2、最短查找時間優先調度 3、電梯算法調度 |
| 頁面調度算法 | 1、最優算法 2、隨機算法 3、先進先出算法 4、最近最少使用算法 |
| 作業調度算法 | 1、先來先服務 2、短作業優先 3、響應比高者優先 4、優先級調度 |
?
5、測試
(1)易用性測試:安裝測試、功能易用性測試、界面測試、輔助系統測試(沒有文檔測試!!!!)
| 界面測試 | 整體界面測試 | 規范性、一致性、合理性 |
| 界面元素測試 | 窗口、菜單、圖標、鼠標、文字 |
記憶:公安姐夫義勇,整潔和衣柜,元素床單圖書紋
(2)集成測試
| 驅動模塊 | 相當于所測模塊的主程序 | 接收測試數據,把這些數據傳送給所測模塊,最后再輸出實測結果 |
| 樁模塊 | 代替所測模塊調用的子模塊 | 可以做少量的數據操作,不需要把子模塊的所有功能都帶進來,但也不允許什么事情也不做 |
?記憶:驅逐莊子(驅動-主程序,樁-子模塊)
(3)廣義的軟件測試概念
| 驗證 | 保證軟件正確實現特定功能的一系列活動和過程; 目的是在軟件軟件生命周期中的每一階段的成果滿足上一階段的所設定的目標; |
| 確認 | 保證軟件滿足用戶需求的一系列活動和過程; 目的是證實在一個給定的外部環境中軟件的邏輯正確性,在軟件開發完成后保證軟件與用戶需求相符合;? |
| 測試 | 不關心過程的活動,而是對過程的產物以及開發出的軟件進行剖析 |
記憶:驗證特定功能滿足階段目標,確認用戶需求,測試產物?
(4)測試工具分類
| 配置/過程管理工具 | TestDirector:測試管理工具 AllChange:變更管理和配置管理集成一體 IRqA:需求管理工具 DOORS:需求管理工具 CM Sysergy:基于任務的配置管理 ChangeSynergy:變更需求跟蹤和報告系統 McCabe TrueChange:軟件配置管理工具 T-Plan:測試過程管理工具 |
| 功能測試工具 | WinRunner SilkTest QTP |
| 性能測試工具 | LoadRunner SilkPerformer Benchamark factory:高擴展性強化測試、容量規劃和性能優化工具 JProbe:J2EE性能測試和診斷工具 |
| 白盒、嵌入式測試工具 | TAU LOGISCOPE:嵌入式軟件測試工具集 McCabe IQ:靜態分析/軟件質量度量工具集 PRQA C/C++:代碼規劃靜態檢測工具 C Verifier:C語言驗證器 ASG-SmartTest Cantata++:單元/集成測試工具 UniTester:匯編語言單元測試工具 |
| 網絡測試 | SmartBits |
(5)白盒動靜分類
| 靜態 | 代碼檢查:桌面檢查、代碼審查、走查 靜態結構分析 靜態質量度量 |
| 動態 | 邏輯覆蓋 路徑覆蓋 |
(6)判定條件覆蓋:每一種輸入輸出至少出現一次,每一個條件必須產生所有可能的輸出結果至少一次(真/假),每個判斷中的每個條件必須能夠獨立影響一個判斷的輸出(T、F,F、T);
記住英文縮寫(MCDC)
(7)《測試案例說明》內容:輸入說明、環境要求、特殊要求;按理特還書
(8)性能的指標
| 系統能夠承受的負載 | 并發請求數 |
| 衡量業務執行效率的指標 | 交易執行吞吐量:系統服務器每秒能夠處理通過的交易數 |
| 交易執行響應時間:系統完成事務執行準備后所采集的時間戳和系統完成待執行事務后所采集的時間戳之間的時間間隔,是衡量特定類型應用事務性能的重要指標,表明用戶執行一項操作大致需要多長時間 | |
| 每秒點擊率 |
| 客戶端交易處理性能指標 | 并發用戶數指標 | 并發用戶數 |
| 交易處理指標 | 事物響應時間 | |
| 每秒事物數 | ||
| 交易通過率 | ||
| 交易請求指標 | 每秒點擊次數(點擊率) | |
| 吞吐量 | ||
| 連接數(SSL) | ||
| HTTP響應數 | ||
| 每秒下載頁面數 | ||
| 每秒重試次數 | ||
| WEB頁面組件指標 | ? | |
| 服務器操作系統資源占用監控指標 | CPU | 占用率 |
| 磁盤管理 | ? | |
| 內存 | 占用量 | |
| 交換器SWAP | ? | |
| 進程 | 每秒切換數 | |
| 安全控制 | ? | |
| 文件系統 | ? |
(9)基本安全防護系技術
| 防火墻 | 1、是否支持交換和路由兩種工作模式; 2、是否支持對HTTP、FTP、SMTP等服務類型訪問控制; 3、是否考慮數據庫的冗余設計; 4、是否支持對日志的統計分析功能,同時,日志是否可以存儲在本地或網絡數據庫上; 5、對防火墻本身和受保護網段的非法攻擊系統,是否提供多種告警方式和多種級別的告警。 記憶:功夫容易,日高墻 | 1、對數據包(源IP地址、目的IP地址、目的端口、IP協議號)過濾;(用在內部主機和外部主機之間) 2、審計和報警機制; 3、Proxy(代理); 4、流量控制(帶寬管理); 5、統計分析; 6、流量計費; |
| 入侵檢測 | 1、系統檢測到入侵后,能否自行切斷服務器,記錄入侵過程,郵件報警等動作; 2、是否支持攻擊特征信息的集中式發布和攻擊取證信息的分布式上載; 3、能否提供多種方式對監視引擎和檢測特征定期更新; 4、內置的網絡能否使用狀況監控和網絡監聽工具; 記憶:入侵動作,特技區分,漸漸更新,空停工具 | ? |
| 漏洞掃描 | 能否定期或不定期地使用安全分析軟件,對內容系統進行安全掃描,及時發現系統的安全漏洞、報警,并提出補救建議 記憶:分析掃描漏洞報警建議 (分騷露寶肩) | ? |
| 病毒防治 | 1、能否提供多種平臺的病毒防治; 2、能否提供對服務器的病毒防治; 3、能否提供對電子郵件附件的病毒防治; 4、能否提供對病毒特征信息和檢測引擎的定期在線更新服務; 5、防病毒范圍是否廣泛,是否包括UNIX、Windows、Linux等操作系統。 記憶: 病毒防治萍浮浮,在線更新特征引擎,范圍廣泛操作系統 (三病房,更特引,范圍廣) | ? |
| 安全審計 | 1、能否進行系統數據收集、統一存儲、集中進行安全審計; 2、是否支持基于PKI的應用審計; 3、是否支持基于XML的審計數據采集協議; 4、是否提供靈活的自定義審計規則; 記憶:數據收存集中,PKI應用,XML審數采,自定義規則 (數守村級,便宜,查蔬菜,自貴) | ? |
| web信息防篡改系統 | 1、是否支持多種操作系統; 2、是否具有集成發布與監控功能,使系統能夠區分合法更新和非法篡改; 3、是否可以實時發布和備份; 4、是否具備自動監控、自動恢復、自動報警的能力; 5、是否提供日志管理、掃描策略管理和更新管理; 記憶:多操,幾間分更改,時發唄,自動見匯報,日掃更。 | ? |
?
1漏4軟5防毒網
| 主動攻擊 | 重放、IP地址欺騙、拒絕服務 |
| 被動攻擊 | 流量分析 |
| ? | ? |
(10)測試模型
| 前置測試模型 | 1、測試和開發緊密結合 2、每一個交付內容需測試 3、設計階段測試計劃和測試設計 4、驗收測試和技術測試相互獨立 |
(11)文檔測試
| 開發文檔 | 需求說明、可行性研究報告、項目開發計劃 ? 軟件需求說明書 數據庫設計說明書 概要設計說明書 詳細設計說明書 可行性研究報告 |
| 用戶文檔 | 維護修改建議 ? 用戶手冊 安裝和設置指導 聯機幫助 指南、向導 樣例、示例、模板 授權/注冊登記表 最終用戶許可協議? |
| 管理文檔 | 項目開發計劃 測試計劃 測試報告 開發進度月報 開發總結報告 |
?(12)《測試程序說明》:日志、設置、啟動、程序
?
6、軟件工程
(1)極限編程:有一個使命作為指導,它設立了項目的目標,但并不描述如何達到這個目標(類似于極限登山運動,用什么方式或者走哪條路徑都隨你,只要登到山頂即可);
極限編程(XP)的十二個最佳實踐:計劃游戲、小型發布、隱喻、簡單設計、測試先行、重構、結對編程、集體代碼所有制、持續集成、每周工作40小時、現場客戶、編碼標準;
(2)系統可維護性評價:可理解性、可測試性、可修改性;
記憶:維護修理車
(3)可維護性
| 改正性維護 | 指在使用過程中發現了隱蔽錯誤后,為了診斷和改正這些隱蔽錯誤而修改軟件的活動 |
| 適應性維護 | 為了適用變化了的環境而修改軟件的活動(包括外部環境和數據環境) |
| 完善性維護 | 為了擴充或完善原有軟件的功能或性能而修改軟件的活動(不增加新功能,只改進老功能) |
| 預防性維護 | 為了提高軟件的可維護性和可靠性、為未來進一步該改進打下基礎而修改軟件的活動 |
?
(4) 需求分析說明書、概要設計說明書的評測內容
| 需求分析說明書 | 系統定義的目標是否與用戶的要求一致; 軟件的行為和它必須出來的信息、必須完成的功能是否一致; 設計的約束條件或限制條件是否符合實際; 是否考慮過軟件需求的其他方案; …… |
| 概要設計說明書 | 可追溯性:分析該軟件的系統構成、子系統構成,確認該軟件設計是否覆蓋了所有已確定的軟件需求,軟件每一成分是否可追溯到某一項需求; 接口 可維護性:從軟件維護的角度出發,確認該軟件設計是否考慮了方便未來的維護; 風險 實用性 質量 技術清晰度 各種選擇方案 限制 其他具體問題:對于文檔、可測試性、設計過程等進行評估; |
(5)評價過程文檔
| 評價需求 | 描述評價的目標,特別是描述了產品的質量需求; |
| 評價規格說明 | 確定對軟件及其部件實行的所有分析和測量,標識要分析和測量的軟件部件,按照評價需求驗證產生的規格說明 |
| 評價計劃 | 描述評價規格,說明需要實施的操作規程; 描述評價所需用到的方法和工具; |
| 評價記錄 | 評價執行計劃是詳細記載的動作組成,記錄由評價者保留; ? |
| 評價報告 | 執行測量和分析的結果,以及能被重復和重新評價的必要信息; 評價報告首先作為評審草案來發布,其最終版本將交給請求者; |
?記憶:需目標質量,評規說分析測量驗證,劃規程方法工具,錄執行計劃,報結果。
軟件評價過程特性:可重復性、可再現性、公正性、客觀性(記憶:蘋果,攻克蟲災)
通用評價過程:確定評價需求、規定評價、設計評價、執行評價。
(6)設計模式
| 結構型 | 裝飾器(Decorator) 組合(Composite) 橋接 適配器 外觀 享元 代理 |
| 創建型 | 構建器(Builder) 單例 抽象工廠 建造者 工廠 原型 |
| 行為型 | 觀察者 中介者 訪問者 職責鏈 解釋器(Interpreter) 策略 命令 迭代器 備忘錄 狀態 模板方法 |
?記憶:結構(組裝橋是外鄉代理的),創建(建工廠單元),行為(觀眾防者的職責是解釋策略,并命令爹裝備模板)
| 工廠 | 定義一個創建對象的接口,讓其子類自己決定實例化哪一個工廠類,工廠模式使其創建過程延遲到子類進行。 |
| 抽象工廠 | 提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。 |
| 單例 | 保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。 |
| 建造者 | 將一個復雜的構建與其表示相分離,使得同樣的構建過程可以創建不同的表示。 |
| 原型 | 用原型實例指定創建對象的種類,并且通過拷貝這些原型創建新的對象 |
| 適配器 Adapter | 將一個類的接口轉換成客戶希望的另外一個接口。使原本由于接口不兼容而不能一起工作的那些類可以一起工作 |
| 橋接 Bridge | 將抽象部分與實現部分分離,使它們都可以獨立的變化。 |
| 過濾器 | 我們將創建一個人對象,標準接口和實現了該接口的實體類,來過濾人對象的列表。CriteriaPatternDemo,我們的演示類使用標準對象,基于各種標準和它們的結合來過濾人對象的列表。 |
| 組合 | 將對象組合成樹形結構以表示"部分-整體"的層次結構。組合模式使得用戶對單個對象和組合對象的使用具有一致性。 |
| 裝飾 Decorator | 動態地給一個對象添加一些額外的職責,就增加功能來說,裝飾模式比生成子類更靈活 |
| 外觀 | 為子系統中的一組接口提供一個一致的界面,外觀模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。 |
| 享元 | 運用共享技術有效地支持大量細粒度的對象。 |
| 代理 Proxy Pattern? | 為其他對象提供一種代理以控制對這個對象的訪問。 |
| 責任鏈 | 避免請求發送者與接收者耦合在一起,讓多個對象都有可能接收請求,將這些對象連接成一條鏈,并且沿著這條鏈傳遞請求,直到有對象處理它為止。 |
| 命令 | 將一個請求封裝成一個對象,從而使您可以用不同的請求對客戶進行參數化。 |
| 解釋器 | 給定一個語言,定義它的文法表示,并定義一個解釋器,這個解釋器使用該標識來解釋語言中的句子。 |
| 迭代器 | 提供一種方法順序訪問一個聚合對象中各個元素, 而又無須暴露該對象的內部表示。 |
| 中介者 | 用一個中介對象來封裝一系列的對象交互,中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。 |
| 備忘錄 | 在不破壞封裝性的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態。 |
| 觀察者 | 定義對象間的一種一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴于它的對象都得到通知并被自動更新。 |
| 狀態 | 允許對象在內部狀態發生改變時改變它的行為,對象看起來好像修改了它的類。 |
| 空對象 | 我們將創建一個定義操作(在這里,是客戶的名稱)的?AbstractCustomer?抽象類,和擴展了?AbstractCustomer?類的實體類。工廠類?CustomerFactory?基于客戶傳遞的名字來返回?RealCustomer?或?NullCustomer?對象。 |
| 策略 | 定義一系列的算法,把它們一個個封裝起來, 并且使它們可相互替換。 |
| 模板 | 將步驟過程抽象,具體操作步驟的差異留給具體的子類去實現 |
| 訪問者 | 主要將數據結構與數據操作分離。 |
(7)各種圖
| 軟件分析圖(詳細設計):用于表示模塊的執行過程 | 程序流程圖(程序框圖) N-S圖(盒圖) PAD圖(問題分析圖) PDL(偽代碼) |
| 概念結構(概要設計) | 結構圖 層次圖 HIPO圖 E-R圖:數據建模 |
| UML | 結構圖:類圖:類與類之間的關系描述系統,靜態視圖; 組合結構圖 構件圖:軟件中的組件及其相互之間的關系; 部署圖:物理部署、實施,使用者(開發、測試、集成人員); 對象圖:對象間的關系; 包圖 行為圖:活動圖:系統中哪些地方存在功能,功能和系統中其他組件的功能如何共同滿足用例建模的商務需求; 交互圖(順序圖:以順序的步驟與系統的對象交互; 、通信圖、交互概覽圖、時序圖)、 用例圖:描述系統與外部系統及用戶間的交互。包含多個模型元素(系統、參與者、用例),并顯示了元素間的各種關系(泛化、關聯、依賴); 狀態圖:捕獲對象、子系統和系統的生命周期; |
| 數據流圖 | 功能建模 | 以圖形方式描繪數據在系統中流動和處理的過程(需求分析階段) |
| 實體-聯系圖 (E-R) | 數據建模 | 表示實體類型、屬性和聯系的方法,描述顯現實世界的概念模型 |
| 狀態-遷移圖(SDT) | 行為建模 | 描述系統或對象的狀態,以及導致系統或對象的狀態改變的事件 |
(8)數據流圖
- 反應了系統必須完成的邏輯功能,為系統進行接口設計提供依據;
- 基本成分:外部實體、數據流、數據存儲、加工
- 體現的是數據流,而不是控制流,所以不能表達加工處理的過程(加工細節隱藏);
- 父圖與子圖平衡:父圖的輸入/輸出數據流與子圖的輸入/輸出數據流一致;對于一個加工,應有輸入和輸出,缺一不可。
?結構化分析方法的輸出:數據流圖、數據字典、加工邏輯;
| 數據字典:數據的信息的集合 | 1、數據項條目:某個數據單項的定義 2、數據流條目:某個數據流的定義 3、文件條目:某個文件的定義 4、加工條目:每個不能分解的基本加工說明 |
| 加工常用方法 | 1、結構化語言:內層(接近自然語言)、外層(順序、選擇、重復) 2、判定樹、判定表:加工 一組動作依賴于多個邏輯條件的取值 3、決策樹:多分支判斷 |
過程設計:對數據結構和算法的設計
!!!算法設計:依據來自加工規格說明
(9)CMM分級
| 初始級 | 軟件過程無序、混亂 |
| 可重復級 | 建立基本的項目管理過程,用于對成本、進度和功能特性進行跟蹤和控制 |
| 定義級 | 用于管理和工程的軟件過程均已文檔化、標準化,并形成整個軟件組織的標準軟件過程 |
| 管理級 | 軟件過程和產品質量有詳細的度量標準 |
| 優化級 | 使用定量信息來不斷地進行改進和管理的軟件過程 |
?記憶:除蟲頂管有用
TMM分級?
| 初始級 |
| 階段定義級 |
| 集成級 |
| 管理級和度量級 |
| 優化、缺陷預防和質量控制級 |
(10)MVC(模型-視圖-控制器)模式:是一種業務邏輯、數據、界面顯示分離的方法組織代碼
| 模型 | 負責數據和邏輯業務 |
| 視圖 | 代表用戶交互界面 |
| 控制器 | 負責模型和視圖的交互 |
記憶:模型熟絡,使用空連接
優點:可重復性、可維護性、降低耦合;?
(11)風險分析
| 風險識別 | 要識別潛在的預算、進度、個體、資源、用戶和需求等方面的問題以及對整個項目的影響,并建立風險條目檢查表,列出所有可能的風險事項 記憶:識別潛在問題、影響,建立檢查表 |
| 風險預測 | 建立一個表示風險可能性大小的參考標準,描述風險條目的結果,估計風險對項目的影響 記憶:參考標準,描述結果,估計影響 |
| 風險評估 | 對已存在的或已規劃的安全管理措施進行鑒定 |
| 風險控制 | 方式:風險降低、風險管理計劃、風險化解 控制風險:降低、謎面、轉嫁、接受 ? |
?記憶:風始于憑空
?
(12)可靠性管理
| 需求分析階段 | 確定可靠性目標; 分析可能影響的可靠性因素; 確定可靠性的驗收標準; 制定可靠性管理框架; 制定可靠性文檔編寫規范; 制定可靠性活動初步計劃; 制定可靠性數據收集規范; 記憶:目標、因素、標準、框架、收集編寫規范、初步計劃 初步計劃,目標銀礦手邊貴 |
| 概要設計階段 | 確定可靠性度量; 制定詳細的可靠性驗收方案; 可靠性設計; 收集可靠性數據; 調整可靠性活動計劃; 明確后續階段的可靠性活動的詳細計劃; 編制可靠性文檔; 記憶:度量、驗收方案、設計、收集、調整計劃、詳細計劃、編寫文檔; 詳細計劃,毒蛇眼手邊跳 |
| 詳細設計階段 | 可靠性設計; 可靠性預測; 收集可靠性數據; 調整可靠性活動計劃; 明確后續階段的可靠性活動的詳細計劃; 編制可靠性文檔; |
| 編碼階段 | 可靠性測試; 排錯; 收集可靠性數據; 調整可靠性活動計劃; 明確后續階段的可靠性活動的詳細計劃; 編制可靠性文檔; |
| 測試階段 | 可靠性測試; 可靠性建模; 可靠性評價; 收集可靠性活動計劃; 收集可靠性數據; 調整可靠性活動計劃; 明確后續階段的可靠性活動的詳細計劃; 編制可靠性文檔; |
| 實施階段 | 可靠性測試; 排錯; 收集可靠性數據; 調整可靠性模型; 可靠性評價; 編制可靠性文檔; |
?
(13)敏捷開發方法:應對快速變化的需求,更強調程序員團隊與業務專家之間的緊密協作、面對面溝通、頻繁交付新的軟件版本、緊湊而自我組織的團隊、能夠很好地適應需求變化的代碼編寫和團隊組織方法,更注重軟件開發中人的作用。?
關鍵詞:需求快速變化、人的作用(緊密協作、面對面溝通、團隊)、頻繁交付版本
?
(14)質量特性(之前口訣都記很牢了,過了一個國慶又忘了)
| 外部質量和內部質量 | |
| 功能性 | 適合性 準確性 互操作性 保密安全性 功能依從性 |
| 可靠性 | 成熟性 容錯性 易恢復性 可靠依從性 |
| 易用性 | 易理解性 易學性 易操作性 吸引性 易用依從性 |
| 效率 | 時間特性 資源利用 效率依從性 |
| 維護性 | 易分析性 易改變性 穩定性 易測試性 維護依從性 |
| 可移植性 | 適應性 易安裝性 共存性 易替換下 可移植依從性 |
| 使用質量 | 有效性 生產率 安全性 滿意度 |
記憶:公失準打虎豹,可成龍傷易恢復,用穴里香草吸引,微風改溫度測試,疑是安裝共用梯,獅子有效率,每個都依從。
有效生產是安全的,使用起來很滿意。
- 使用質量的獲得依賴于取得必須的外部質量,而外部質量的獲得則依賴于取得必須的內部質量。
- ISO/IEC9126《軟件工程 產品質量》統一了多種質量模型,能測量用戶在特定環境中能達到其目標的程度,而不是測量軟件自身的屬性。
- 軟件質量是指軟件滿足規定或潛在用戶需求的能力
- 質量保證通過預防、檢查與改進來保證軟件質量,關心的是開發過程活動本身
(15)開發模型
| 螺旋模型 | 瀑布+演化; 加入風險分析; 周期:制定計劃、實施工程、風險分析、用戶評估 記憶:龍卷風,螺旋形的,像一個演化后的瀑布,充滿了風險 |
| 增量模型 | 漸增式,利于獲取需求; 快速開發第一交互產品; 多次交互、開發; 新的增量不得破壞已開發產品; |
| 瀑布模型 | 需求清晰定義 記憶:飛流直下,從開始到結束中間不更改 |
| 快速原型模型 | 動態定義需求,快速 |
| 演化模型 | 漸進式原型 |
| 噴泉模型 | 面向對象 迭代、無間隙 記憶:噴泉是給觀眾看的,會一次一次噴出來 |
(16)開發接口類標準:SQL標準、ODBC標準、JDBC標準
7、計算機組成
(1)CPU組成
| 控制器 | 程序計數器PC(存儲待執行指令地址) |
| 指令寄存器IR 1、位數與指令字長有關; 2、對用戶來說是完全透明的。 | |
| 指令譯碼器ID | |
| 時序部件 | |
| 程序狀態字寄存器PSW | |
| 中斷機構 | |
| 運算器 | 算數邏輯單元ALU |
| 累加寄存器AC | |
| 數據緩沖寄存器 | |
| 狀態條件寄存器 |
?
記憶:控制只記憶,獅子計數中
CPU內部的寄存器速度最快;?
| 字長 | 一次能處理多少二進制 字長越長,運算精度越高 |
| 數據總線 | 寬度和字長相等 影響系統的運算速度 |
| 地址總線 | 寬度和內存容量相等 |
| 取指令 | 將pc中的內容送到地址寄存器ar |
(2)RISC與CISC對比
| ? | RISC | CISC |
| 指令 | 數量少 | 數量多 |
| 使用頻率接近 | 使用頻率差別大 | |
| 定長格式 | 變長格式 | |
| 尋址方式 | 支持方式少 | 支持方式多 |
| 實現方式 | 增加通用寄存器、硬布線以邏輯控制為主、采用流水線 | 微程序控制技術 |
| 寄存器 | 多 | 少 |
?記憶:今日少訂幾朵花(RIsc,指令少/尋址方式少,指令定長,通用寄存器多)
?
(3)Windows操作系統支持FAT、FAT32、NTFS文件系統
文件級安全管理:通過系統管理員或文件主對文件屬性的設置,來控制用戶對文件的訪問。
文件屬性的設置:只執行、隱含、索引、修改、只讀、讀/寫、共享、系統。
(4)影響運算速度的因素:
| CPU主頻 | 計算機的時鐘頻率 |
| CPU字長 | 進行運算和數據處理的最基本、最有效的信息位長度 |
| 指令系統合理性 | ? |
?(5)外設訪問方式,數據傳送方式:
| 中斷 | 1、當I/O接口準備好接收數據或準備好向CPU傳送數據時,發送中斷信號通知CPU; 2、對中斷信號確認后,CPU保存正在執行的程序的現場,轉而執行提前設置好的I/O中斷服務程序; ? CPU無需主動查詢外設的狀態,可并行地工作,提高CPU利用率 |
| 程序查詢 | CPU通過執行程序查詢外設的狀態,判斷外設是否準備好接收數據或準備好向CPU輸入數據 |
| 直接內存存取 | 通過硬件控制實現主存與I/O設備間的直接數據傳送,數據的傳送過程由DMA控制器進行控制,不需要CPU干預。 |
| 信道 | ? |
(6)計算機三大核心部件:中央處理器、內部存儲器、輸入/輸出設備。?
8、數據結構
(1)內聚和耦合
| 偶然內聚 | 模塊內各成分之間毫無關系 |
| 邏輯內聚 | 邏輯相關的功能放在同一模塊中,通過參數決定用哪個功能。如:一個模塊讀取不同類型外設的輸入。 記憶:邏輯慘絕 |
| 時間內聚 | 模塊完成的功能必須在同一時間內執行。如:系統初始化 |
| 過程內聚 | 模塊內部的處理成分是相關的,以特定的次序執行。記憶:把大象裝入冰箱的過程? ? 不易于重用 |
| 通信內聚 | 模塊的所有成分都操作同一數據集(數據結構、報表)或生成同一數據集。(!!!同一報表上的操作) 記憶:通信草升級 |
| 順序內聚 | 一個模塊的各個成分和同一個功能密切相關,且一個成分的輸出作為另一個成分的輸入。 記憶:順序入座處 |
| 功能內聚 | 所有成分對于完成單一的功能都是必須的。 |
記憶:歐羅駛過通順宮去聚會。
| 非直接耦合 | 兩個模塊之間沒有直接關系,他們的聯系完全是通過主模塊的控制和調用來實現的。 記憶:非主流空調 |
| 數據耦合 | 兩個模塊彼此間通過數據參數交換信息。 記憶:數據慘叫 |
| 標記耦合 | 一組模塊通過參數表傳遞記錄信息,這個記錄時偶一個數據結構的子結構,而不是簡單變量。 記憶:標表 |
| 控制耦合 | 兩個模塊彼此間傳遞的信息中有控制信息。 記憶:空心 |
| 外部耦合 | 一組模塊都訪問同一全局簡單變量而不是同一全局數據結構,而且不是通過參數表傳遞該全局變量的信息。 記憶:外全變 |
| 公共耦合 | 兩個模塊之間通過一個公共的數據區域傳遞信息。 記憶:拱墅區 |
| 內容耦合 | 一個模塊需要涉及到另一個模塊拿到內部信息。 記憶:內內 |
記憶:飛鼠標空外公內吃藕
(2)排序算法
| 快速排序 | 通過一輪排序將序列分成獨立的兩部分,一部分比另一部分關鍵字小,繼續對一部分進行同樣分割,最后達到整體有序 記憶:快速分割 |
| 插入排序 | 1、從第一個元素開始,該元素被認為已排序; 2、去下一個元素,在已排序的元素序列中從后向前掃描; 3、若該元素大于新元素,將該元素移到下一位置; 4、重復3,知道找到小于或等于新元素的位置; 5、將新元素插入到下一位置中; 6、重復2-5; |
記憶:穩插雞毛貴(穩定:直接插入、基數排序、冒泡排序、歸并排序)
log鬼快對(時間復雜度是log的:歸并排序、快速排序、堆排序)
貓較差,選平方(時間復雜度是n的平方:冒泡、交換、插入、選擇)
序列基本有序,采用插入排序;
一層while循環,時間復雜度O(n)
(3)二叉樹
| 完全二叉樹 | n-1層是滿二叉樹,n層至少1個節點 |
| 滿二叉樹 | n層節點全滿 |
(4)基本圈復雜度EV(g)=1,模塊是結構化的(順序、循環、選擇)
總結
以上是生活随笔為你收集整理的软件评测师考试(总是记不住的知识点+错题小汇总+记忆方法小tips)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html如何制作滑块,网页制作html5
- 下一篇: Redis分布式锁解决抢购问题