南信大濱江軟體工程複習考點

2022-04-27 00:45:02 字數 5322 閱讀 7323

一.試卷構成:

選擇20題,每題1分;填空10題,每題1分;簡答5題,每題8分;設計題3題,每題10分(流程圖的設計、流圖(p124)和環形複雜度的計算(p136)、語句覆蓋和判定覆蓋測試用例的設計(p162))。

二.知識點:

1.詳細設計的工具中,n-s圖,pad圖及判定表和判定樹各有何特點和適用情況。

n-s圖(盒圖)特點:1、功能欲明確,可以從盒圖上一眼就看出來。2、不可能任意轉移控制。

3、很容易確定區域性和全程資料的作用欲。4、很容易表現巢狀關係,也可以表示模組的層次結構。pad:

1、使用表示結構化控制結構的pad符號所設計出來的程式必然是結構化程式。2、所描繪的程式十分清晰。3、表現程式邏輯,易讀、易懂、記憶。

4、易轉換成高階語言源程式。5、可表示程式邏輯,也可描繪資料結構。6圖符號支援自頂向下、逐步求精方法的使用。

判定表:能夠簡潔而又無歧義地描述處理規則,不適於作為一種通用的設計工具。判定樹:

是判定表的變種,清晰地表示複雜的條件組合與應做的動作之間的對應關係,形式簡單不需要任何說明,易掌握和使用。是一種常用的系統分析和設計的工具。

2.白盒測試和黑盒測試技術的區別。

黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。

白盒測試:已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。

軟體的黑盒測試意味著測試要在軟體的介面處進行。這種方法是把測試物件看做乙個黑盒子,測試人員完全不考慮程式內部的邏輯結構和內部特性,只依據程式的需求規格說明書,檢查程式的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或資料驅動測試。

黑盒測試主要是為了發現以下幾類錯誤:

1、是否有不正確或遺漏的功能?

2、在介面上,輸入是否能正確的接受?能否輸出正確的結果?

3、是否有資料結構錯誤或外部資訊(例如資料檔案)訪問錯誤?

4、效能上是否能夠滿足要求?

5、是否有初始化或終止性錯誤?

軟體的白盒測試是對軟體的過程性細節做細緻的檢查。這種方法是把測試物件看做乙個開啟的盒子,它允許測試人員利用程式內部的邏輯結構及有關資訊,設計或選擇測試用例,對程式所有邏輯路徑進行測試。通過在不同點檢查程式狀態,確定實際狀態是否與預期的狀態一致。

因此白盒測試又稱為結構測試或邏輯驅動測試。白盒測試主要是想對程式模組進行如下檢查:

1、對程式模組的所有獨立的執行路徑至少測試一遍。

2、對所有的邏輯判定,取「真」與取「假」的兩種情況都能至少測一遍。

3、在迴圈的邊界和執行的界限內執行迴圈體。

4、測試內部資料結構的有效性,等等。

3.白盒測試中的邏輯覆蓋測試包含哪幾種型別。

語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、點覆蓋、邊覆蓋、路徑覆蓋。

4.軟體維護的型別有哪些,及各自所佔比重。

完善性維護50%~60%、改正性維護17%~21%、適應性維護18%~25%、其他維護4%左右。

5.軟體專案的可行性研究的實質是什麼?

進行一次大大壓縮簡化了的系統分析和設計程式的過程,也就是在較高層次上以較抽象的方式進行的系統分析和設計工程。

6.可行性研究包括哪些內容。

技術可行性、經濟可行性、操作可行性

7.衡量模組獨立性的標準有哪些?

內聚和耦合。耦合衡量不同模組彼此間互相依賴的緊密聯絡;內聚衡量乙個模組內部各個元素彼此結合的緊密程度。

8.模組間的耦合有哪些型別,如何區分?

內容耦合:乙個模組引用或者修改另乙個模組內部的資料。

乙個模組修改另乙個模組的語句 (lisp 具有此種能力) 。

乙個模組不通過正常入口而跳轉到另乙個模組的內部。

公共耦合:兩個模組共享全域性的資料區域,稱他們為公共耦合。

控制耦合:乙個模組向另乙個模組傳遞控制資訊,接收資訊的模組的動作根據資訊值進行調整。

標記耦合:若兩個模組間傳遞的引數中至少有乙個是資料結構,如字串或記錄,並且在模組中僅用到該資料結構中的部分元素,則稱這兩個模組之間存在標記耦合。

資料耦合:模組彼此間通過引數交換資訊,交換的資訊僅僅是資料。

9.模組內的內聚有哪些型別,如何區分?

偶然內聚:如果乙個模組的各成分之間毫無關係,則稱為偶然內聚

邏輯內聚:幾個邏輯上相關的功能被放在同一模組中。

時間內聚:如果乙個模組完成的功能只是因為時間因素關聯在一起。

過程內聚:如果乙個模組內部的各個處理成分必須以特定的次序執行,則稱為過程內聚。

通訊內聚:如果乙個模組的所有成分都操作同一資料集或生成同一資料集,則稱為通訊內聚。

順序內聚:如果乙個模組的各個成分和同乙個功能密切相關,而且乙個成分的輸出作為另乙個成分的輸入,則稱為順序內聚。

功能內聚:模組的所有成分對於完成單一的功能都是基本的。

10. 結構化程式設計的定義及特點。

定義:主要觀點是採用自頂向下、逐步求精及模組化的程式設計方法;使用三種基本控制結構構造程式,任何程式都可由順序、選擇、迴圈三種基本控制結構構造。結構化程式設計主要強調的是程式的易讀性。

特點:結構化程式中的任意基本結構都具有唯一入口和唯一出口,並且程式不會出現死迴圈。在程式的靜態形式與動態執行流程之間具有良好的對應關係。

11.軟體測試的定義及目的。

定義:為了發現程式中的錯誤而執行程式的過程。

目的:(1)測試是為了發現程式中的錯誤而執行程式的過程;

(2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案;

(3)成功的測試是發現了至今為止尚未發現的錯誤的測試。

12.軟體生命週期的階段劃分及每個階段的任務。

軟體生命週期:由軟體定義、軟體開發和執行維護,直到最終被廢棄所經歷的時期。

軟體定義時期的任務是:問題定義、可行性研究和需求分析。

開發時期的任務是:總體設計,詳細設計,編碼和單元測試,綜合測試。

維護時期的主要任務是:使軟體持久地滿足使用者的需要。(具體地說:

當軟體在使用過程中發現錯誤時應該加以改正;當環境改變時應該修改軟體以適應新的環境;當使用者有新要求時應該及時改進軟體以滿足使用者的新需要。)

13.物件導向方法的特點、特徵。

(1)物件唯一性。(2)抽象性。(3)繼承性。(4)多型性(多形性)

14.類、物件的概念,多型、過載、封裝的含義。

類:類是具有相同操作功能和相同的資料格式(屬性)的物件的集合。

物件:**和資料的結合。

類為物件集合的抽象,它規定了這些物件的公共屬性和方法;物件為類的乙個例項。

多型:指允許不同類的物件對同一訊息作出響應。

過載:一般是用於在乙個類內實現若干過載的方法,這些方法的名稱相同而引數形式不同。

封裝:把過程和資料報圍起來,對資料的訪問只能通過已定義的介面

15.總體設計階段使用的軟體結構圖,模組及模組間的呼叫關係如何表示。

結構圖基本符號:

方框——模組

方框間連線——模組呼叫關係(上方的模組呼叫下方的模組)

帶注釋的箭頭——模組間傳遞的資訊

箭頭尾部空心圓——資料資訊

箭頭尾部實心圓——控制資訊

結構圖用帶注釋的箭頭表示模組呼叫過程中來回傳遞的資訊。

16.什麼是變換流、什麼是事務流,如何區分。p104

變換流:具有較明顯的輸入、變換(或稱主加工)和輸出介面的資料流圖。

事務流:資料沿輸入通路到達乙個處理t,這個處理根據輸入資料的型別在若干個動作序列中選出乙個來執行。

變換流:

資訊沿輸入通路進入系統,同時由外部形式變換成內部形式,進入系統的資訊通過變換中心,經加工處理以後再沿輸出通路變換成外部形式離開軟體系統。

事物流:

(1) 接收輸入資料(輸入資料又稱為事務);

(2) 分析每個事務以確定它的型別;

(3) 根據事務型別選取一條活動通路。

質量模型中的質量因素有哪些。

mccall等認為,特性是軟體質量的反映,軟體屬性可用做評價準則,定量化地度量軟體屬性可知軟體質量的優劣。

mccall認為軟體的質量模型應該包括產品的修正、產品的轉移,產品的執行。

而產品的修正又包括可維護性、可測試性、靈活性等子特點。

產品的轉移包括可移植性、可復用性、互連性等。

產品的執行包括正確性、可靠性、效率、可使用性和完整性。

圖中包含哪些圖形元素,如何表示。p64

菱形框,表示實體間的聯絡;矩形框是表示實體;橢圓框表示實體的屬性。

19.軟體的可靠性與可用性。p179

軟體可靠性:是程式在給定的時間間隔內,按照規格說明書的規定成功地執行的概率。隨著執行時間的增加,執行時出現程式故障的概率也將增加,可靠性隨著給定的時間間隔的加大而減少。

軟體可用性:是程式在給定的時間點,按照規格說明書的規定,成功地執行的概率。

可靠性和可用性之間的主要差別是:

1、可靠性意味著在0到t這段時間間隔內系統沒有失效,

2、可用性只意味著在時刻t,系統是正常執行的。

20.什麼是軟體的除錯。p176

除錯也稱排錯,作為成功測試的後果的出現,也就是說,除錯是在測試發現錯誤之後排除錯誤的過程。

(詳細講解:除錯與測試的關係主要體現在以下幾個方面:

(1)測試的目的是暴露錯誤;而除錯的目的是發現錯誤,改正錯誤。

(2)測試是揭示設計人員的過失,通常應由非設計人員來承擔;而除錯是幫助設計人員糾正錯誤,可以由設計人員自己承擔。

(3)測試發現錯誤後,立即進行除錯並改正錯誤,然後進行再測試(回歸測試)。

(4)除錯用例與測試用例可以一致,也可以不一致。

除錯過程從執行乙個測試用例開始,評估測試結果,如果發現實際結果與預期結果不一致,表明在軟體中存在隱藏的問題。除錯過程試圖找出問題的原因,以便改正錯誤。

除錯過程總會有以下兩種結果之一:

①找到了問題的原因並把問題改正和排除掉了;

②沒找出問題的原因。此時,除錯人員可以猜想乙個原因,並設計測試用例附加測試,重複此過程直至找到原因並改正了錯誤。)

21.常用軟體除錯技術有哪些?

除錯途徑:試探法、回溯法、對分查詢法、歸納法、演繹法。

22.軟體工程方法學主要包括哪幾部分的研究內容。p9

基本內容包括:(1)結構化理論和方法。(2)模組技術與資料抽象。(3)軟體測試與程式正確性證明。(4)軟體分析與設計方法、工具和環境。(5)軟體工程管理與質量評價。

23.物件導向的軟體工程包含哪幾個號階段。

問題域、物件導向分析、物件導向設計、物件導向程式設計、物件導向測試、計算機

24.什麼是軟體,什麼是軟體工程,什麼是軟體危機。p1

軟體:軟體是電腦程式、程式所用的資料以及有關文件資料的集合。

軟體工程:是指導計算機軟體開發和維護的一門工程學科。

軟體工程是:①把系統的、規範的、可度量的途徑應用於軟體開發、執行和維護過程,也就是把工程應用於軟體;②研究①中提到的途徑。

軟體危機:是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。

軟體工程複習考點小結

1 軟體工程的定義及軟體工程的研究內容?軟體工程研究的內容包括軟體開發方法 軟體開發模型 軟體支援過程和軟體管理過程。軟體工程是研究軟體開發和軟體管理的一門工程學科。2 軟體工程五個面向實施理論?五個面向理論 是指 面向流程分析 面向資料設計 物件導向實現 面向功能測試 面向過程管理 它是在綜合 四...

軟體工程複習

一 考試複習範圍 1 軟體工程基本概念 基本原理 2 需求分析,結構化分析 物件導向分析,結構化分析建模 物件導向分析建模 3 軟體設計,結構化程式設計,概要設計 詳細設計 4 軟體測試 二 考試題型 單項選擇題 簡答題 綜合應用題 要求會畫 資料流圖 軟體結構圖 用例圖 類圖 n s盒圖 pad圖...

軟體工程複習

第1章軟體工程概述 1 軟體危機的典型表現 軟體危機是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。概括地說,軟體危機包含下述兩方面的問題 如何開發軟體,以滿足對軟體日益增長的需求 如何維護數量不斷膨脹的已有軟體。軟體危機典型表現 對軟體開發成本和進度的估計常常很不準確。使用者對 已完成的...