title: 軟體工程
date: 2021-02-07 19:26:51
tags: exam
description: 軟考(五)
1.開發過程模型
瀑布、增量、原型、螺旋、噴泉、基于構件的開發模型、形式化方法模型、統一過程UP、靈活方法
- 瀑布模型(需求明确,二次開發)
-
演化模型(典型的有原型模型和螺旋模型)、增量模型(每一個增量均釋出一個可操作的産品,可以快速構造核心産品,容易邊做邊改)
原型模型(适用于使用者需求不清、需求經常變化的情況,系統規模不是很大,動态定義需求,有效地捕獲系統需求)
螺旋模型(強調風險分析,适用于龐大、複雜且具有高風險的系統)
- 螺旋模型(多個原型-需求可以不明确)
- V模型(盡早進行測試,并貫穿始終)
-
噴泉模型(适用于面向對象開發方法、疊代、無間隙)
疊代性:開發活動需要重複多次
無間隙:在開發活動(分析、設計、編碼)之間不存在明顯的邊界,開發人員可以同步進行,提升軟體項目的開發效率
- 快速開發模型(RAD)
- 建構組裝模型(CBSD),本質上是演化模型
- 靈活開發方法(盡可能早地、持續地對有價值的軟體的傳遞)
- 極限程式設計(XP)
- 水晶法(Crystal):每一個不同的項目都需要一套不同的政策、約定和方法論
- 并列争求法(Scrum):使用疊代的方法
- 自适應軟體開發(ASD)
- 靈活統一過程(AUP)
- 統一過程(UP)模型 ——用例和風險驅動,以架構為中心,疊代并且增量,由UML方法和工具支援
- 起始階段:生命周期目标
- 精化階段:生命周期架構
- 建構階段:初始運作功能
- 移交階段:産品釋出
- 産生階段
2.資訊系統的開發方法
結構化法、原型法、面向對象法、面向服務法
3.需求的分類與需求擷取
4.需求分析
5.結構化設計
6.資料流圖
- 組成部分(加工、資料流、資料存儲、外部實體): 雖然涉及的元素少,但資料流圖本身卻并不簡單。圖 “0層資料流圖示例” 便是一張資料流圖,該圖中包括:資料流(例如:非法使用者資訊、使用者資訊等)、外部實體(例如:前端應用、資料管理者等)、資料存儲(例如:使用者表、操作表、權限表)、加工(例如:使用者驗證、使用者管理等)。 0層資料流圖示例
-
分層資料流圖(DFD)——*自頂至下,逐漸精化***
具體過程:
-
畫系統的輸入輸出
把整個軟體系統看做一個大加工,确定與外部實體之間的輸入和輸出資料流,這個結果也稱為頂層圖。如圖 “頂層資料流圖示例” 所示,資料管理中間件是我們要開發的系統,但頂層圖将該系統看成了一個大加工,這種圖能很好的展現出系統與外部實體之間的互動關系。
頂層資料流圖示例 -
畫系統的内部
将頂層圖中的加工分解成若幹個加工,并用資料流連接配接這些加工。這張圖稱為0層圖。而從一個加工畫出一張資料流圖的過程就是對該加工的分解過程。在該圖中,展示出資料管理中間件擁有一系列的加工:使用者驗證、使用者管理、操作管理、權限管理、格式檢查、權限驗證、連接配接管理,以及這些加工之間的關系。
-
畫加工的内部
把每個加工看做一個小系統,以畫0層圖的方式畫出每個加工的DFD子圖
- 資料平衡原則
分層資料流圖之間需要平衡 每張資料流圖的資料需要平衡
(1)分層資料流圖的資料平衡原則
父圖 = 頂層資料流圖 子圖 = 0層資料流圖
保持父圖與子圖平衡。父圖中某加工的輸入輸出資料流必須與它的子圖的輸入輸出資料流在數量和名字上相同。如果父圖的一個輸入(或輸出)資料流對應于子圖中幾個輸入(或輸出)資料流,而子圖中組成這些資料流的資料項全體正好是父圖中的這一個資料流,那麼它們仍然算是平衡的。
(2)每張資料流圖的資料平衡原則
加工的輸入資料流和輸出資料流要平衡,即保證加工的輸出資料流都有其對應的輸入資料流與 輸出資料流。以下屬于打破了資料平衡原則,會産生錯誤的情況。
若一個加工隻有輸入資料流而無輸出資料流,則稱為黑洞。如圖(a)所示。
若一個加工隻有輸出資料流而無輸入資料流,則稱為奇迹。如圖11-3(b)所示。 若一個加工的輸入資料流無法通過加工産生輸出流,則稱為灰洞。
-
(a)黑洞 (b)奇迹
此外需要注意的是:一個資料流圖中,不允許資料流同名。
7.測試原型與類型
8.測試用例設計
白盒測試:
(1)基本路徑測試
(2)循環覆寫測試
(3)邏輯覆寫測試
1語句覆寫
2判定覆寫
3條件覆寫
4條件判定覆寫
5修正的條件判斷覆寫
6條件組合覆寫
7點覆寫
8邊覆寫
9路徑覆寫
個别測試法:
黑盒測試:
等價類劃分測試
9.測試階段
- 單元測試
- 內建測試
- 系統測試階段的測試目标來自于需求分析階段
10.McCabe度量法的環路複雜性(V=m-n+2) 以節點開頭和結尾
11.軟體運作與維護
在判斷維護類型的時候,經常把适應性維護與完善性維護搞混淆,一般題目明确指出了
環境的改變,否則基本上都是完善性維護
軟體維護工具主要有:版本控制工具、文檔分析工具、開發資訊庫工具、逆向工程工具、再工程工具、配置管理支援工具
12.軟體成熟度模型CMM
- 1.初始級
- 2.可重複級-有經驗但未形成文檔:要求建立基本的管理制度和規程,管理工作有章可循,初步實作開發過程标準化
- 3.定義級-文檔化:要求整個軟體生命周期的管理和Z技術工作均已實作标準化、文檔化
- 4.管理級-量化:軟體過程和産品已經建立定量的品質标準,并通過一緻的度量标準來指導軟體過程
- 5.優化級-優化:企業可集中精力改進軟體過程,并擁有防止出現缺陷并進行改進的手段
13.軟體調試
歸納法、試探法、回溯法、對分查找法、演繹法