軟體工程複習

2022-06-19 10:33:11 字數 3852 閱讀 5613

軟體包括哪些基本組成要素?

什麼是軟體危機?

軟體危機主要表現在哪些方面?(主要特徵,內容)

什麼是軟體工程?

軟體工程的目標

軟體工程主要包括哪幾個基本要素?(組成部份)

軟體開發方法的定義

好的軟體的一些主要衡量指標(重點):mccall的質量模型(各指標的含義)

軟體產品質量模型中有哪些指標?各個指標的基本含義分別是什麼?

什麼是軟體體系結構?

軟體體系結構不僅指定了系統的組織結構拓撲結構,並且顯示了系統需求和構成系統的元素之間的對應關係,提供了一些設計決策的基本原理

典型的軟體體系結構分哪幾類?其主要特徵和應用場景是什麼?(軟體體系結構的建模)

框架模型:

動態模型

過程模型

功能模型

什麼是里程碑?

什麼是軟體的生命週期,主要分為哪些階段。各個階段的主要任務及產生的主要製品(輸出)

典型的軟體開發過程(典型的軟體過程模型又哪幾種?)

瀑布:所有模型都是以它為基礎

什麼是v模型?

螺旋階段化開發

敏捷開發和極限程式設計的特點

軟體開發過程模型

定義/特點

優點缺點

應用瀑布模型

1. 階段間具有順序性依賴性

2.推遲實現的觀點

3.質量保證的觀點

1. 可強迫開發人員採用規範化的方法

2. 嚴格地規定了每個階段必須提交的文件|

3. 要求每個階段交出的所有產品都是經過驗證

1. 幾乎完全依賴於書面規格說明,很可能導致最終開發出的軟體產品不能真正滿足使用者的需要

2. 只適用於專案開始時需求已確定的情況

專案開始時需求已經確定

原型法1. 允許或設計反覆調查

2. 減少開發中的風險和不確定性

1. 使用者似乎看到的軟體的工作版本。軟體開發管理常常被放鬆了。

2. 開發者常常需要實現折中,以使原型能盡快工作

螺旋模型

明確地考慮了開發中的風險。

1. 對可選方案和約束條件的強調有利於已有軟體的重用,也有助於把軟體質量作為開發的乙個重要目標。

2. 減少了過多測試或測試不足所帶來的風險

3. 在螺旋模型中維護只是模型的另乙個週期,因而在維護和開發之間並沒有本質

螺旋模型是風險驅動的,因此要求軟體開發人員必須具有豐富的風險評估經驗和這方面的專門知識。

大規模的軟體專案

增量把軟體產品作為一系列的增量構件來設計、編碼、整合和測試

(先定義乙個小的功能子系統,再在每個新的發布中增加新功能)

1. 能在較短時間內向使用者提交一些有用的工作產品

2. 逐步增加產品的功能可以是使用者又較充裕的時間學習和適應新產品

3. 專案失敗的風險較低

4. 最重要的部份一般不會失敗

1. 增量模型本身是自相矛盾的。(把軟體看作以乙個整體又要看作乙個增量構件。

2. 要注意增加構件時不能破壞已開發的產品。

3. 軟體體系結構必須是開放的

1. 進行已有產品公升級或版本開發

2. 產品完成期限嚴格要求

迭代一開始就提交完整的系統,再在每個新發布中改變每個子系統的功能

快速原型法主要應用的目的是什麼?原型發包括哪幾種基本型別?

資料詞典精確地、嚴格地定義了每乙個與系統相關的資料元素,並以字典式順序將它們組織起來,使得使用者和分析員對所有的輸入、輸出、儲存成分和中間計算有共同的理解

了解需求的重要性以及需求分析階段的目標及主要產物

需求分析的定義。

需求分析的基本任務?

需求分析過程中主要面臨的問題,針對這些問題採用哪些解決方法?

需求工程包括哪些方面?

需求的型別(使用者需求,需求獲取方面)

設計約束、過程約束

兩種需求文件

需求定義文件

幾個圖:常用的需求建模表示方法

資料流圖dfd(data flow diagram):(描述邏輯模型的工具,表示資料在系統內的變化)指明資料在系統中移動時如何被變換;描述對資料流進行變換的功能

事件跟蹤

狀態機(std,狀態變遷圖):指明作為外部事件的結果,系統將如何動作

petri網

用例圖

原型法ooa有哪幾種基本模型?各種模型分別對應哪些uml圖

基本模型(類圖)

輔助模型

主要包括哪些圖形?它們分別應用在軟體生存週期的哪些階段?

什麼叫4+1檢視

什麼是uml? uml動態模型包括哪幾種圖? uml靜態建模包括哪幾種圖?

uml靜態模型圖:類圖、物件圖、用例圖、部署圖、構件圖

uml中的9種圖,主要是會用

類圖互動圖

狀態圖活**

uml中的主要檢視包括哪些圖形?它們分別應用在軟體生存週期的哪些階段?

主要的物件導向設計原則及各自的原理

常用的內聚和耦合型別

耦合度的型別 :

耦合度的範圍

內聚:乙個模組內部各個元素彼此結合的緊密程度的度量

內聚的型別

至少要知道有哪幾個

模組化設計的基本原則是什麼?

什麼是分治原則?

使用分治原則有哪些注意事項?

什麼是結構化分析?結構化分析包括哪幾種圖,各個圖的主要作用是什麼?

判定表、資料字典、ipo圖、pdl、dfd圖、甘特圖等常用的圖形的主要作用是什麼?哪些經常在結構化方法中使用

什麼是環路複雜度?環路複雜度主要應用在軟體開發的哪個方面?環路複雜度如何計算?什麼是獨立路徑,如何找出獨立路徑?

什麼是單元測試?單元測試有哪些基本方式?

什麼是整合測試?整合測試的型別及主要的測試策略(整合測試有哪些基本方法)

確認(驗收)測試的內容

了解測試

黑盒測試和白盒測試的基本概念。黑盒測試和白盒測試的主要不同點是什麼?

白盒測試主要包括哪幾種?各自的測試內容是什麼?

誰來維護

各種維護活動的主要內容和目標

軟體再生:

軟體再生

含義文件重構

對源**進行靜態分析,給出更多的資訊

重組改變**結構

逆向工程

根據**重新建立設計和規格說明資訊

再工程對現有工程進行逆向工程,接著再改變規格說明和設計以完成邏輯模型,然後,根據修改的規格說明和設計生成新的模型

介面和抽象類之間的相同點和不同點分別是什麼?如何在時間重理解和應用它們?

有可能會有一些名詞解釋

功能度:克服了專案開始時無法準確得知源程式行數的實際困難

軟體工程複習

1.1.1軟體產品的概念與分類 軟體 軟體是計算機系統中與硬體相互依存的另一部分,它是包括程式 資料及其相關文件的完整合集 軟體產品 軟體產品是乙個資訊轉換器 功能為產生 管理 獲取 修改 顯示或轉換資訊 角色 1 產品 表達了由計算機硬體體現的計算潛能 2 開發和執行產品的載體 計算機控制 資訊通...

軟體工程複習筆記(一)

一 軟體工程的概念 軟體 和計算機硬體相輔相成的,包括程式。文件 資料集合 軟體的分類 系統軟體 應用軟體 可復用軟體 支撐軟體 軟體工程 為了指導軟體的開發和維護而產生的乙個學科 軟體生存期 軟體定義 軟體開發 軟體執行和維護 軟體工程方法概論 三要素 方法 工具 過程 方法 物件導向 結構化 傳...

軟體工程 複習資料(2)

主要內容 可行性 可行性研究的含義 可行性研究的目的 可行性研究的任務 可行性研究的步驟 可行性分析的描述手段 成本 效益分析 要求 1 識記 可行性研究的任務及步驟,資料流圖及資料字典的描述方法 2 領會 成本效益分析的方法。一 可行性研究 含義 可行性研究又稱為可行性分析,可行性分析的物件是系統...