天天看點

軟體工程 期末複習

                                                             軟體工程書為第三版

         以下是整理的一些定義和問題,這本書主要要會畫用例圖、類圖、順序圖、資料流圖,懂了這些基本OK的

軟體工程的定義:    将系統的,規範的,可量化的方法應用于軟體的開發、運作和維護的過程;

軟體的定義:     在計算機支援下,能完成特定的功能和性能的程式、資料和相關文檔;

軟體生命周期:   需求-----設計-----編碼-----運作維護-----退役;

軟體開發的主要方法:   結構化方法、面向對象方法、形式化方法;

軟體過程模型:   瀑布模型、增量過程模型、原型建造模型、螺旋模型;

面向對象 = 對象 + 類 + 繼承 + 聚合 + 多态 + 消息;

黑盒測試又稱    功能測試,白盒測試又稱為   結構測試;

用例圖、類圖、順序圖、資料流圖的畫法;

一、耦合性和内聚性有幾種類型? 其耦合度、内聚強度的順序如何?

内聚度表示一個子產品内部各成分彼此關聯的緊密程度。

耦合度是指軟體結構中多個子產品之間的關聯程度。

答:低:非直接耦合®資料耦合®标記耦合®控制耦合®外部耦合®公共耦合®内容耦合:高

 強:功能内聚®資訊内聚®通信内聚®過程内聚®時間内聚®邏輯内聚®巧合内聚:弱

二、為什麼要追求高内聚,低耦合?

1.高内聚低耦合有利于促進軟體系統的結構簡單化、清晰化。

2.強内聚有利于軟體子產品的可複用性;

3.低耦合有利于軟體系統的可修改性、可維護性;

4.能夠更好的支援子產品的并行開發

三、什麼是軟體工程?

軟體工程是指導計算機軟體開發和維護的工程學科。采用工程的概念、原理、技術和方法來開發與維護軟體,把經過時間考驗而證明正确的管理技術和目前能夠得到的最好的技術方法結合起來。

書上的定義:将系統的、規範的、可量化的方法應用于軟體的開發、運作和維護的過程,及以上方法的研究。

 四、簡述你對子產品獨立性的了解。

     子產品獨立性指每個子產品隻完成系統要求的獨立的子功能,并且與其他子產品的聯系最少且接口簡單,子產品内部各部分及子產品間的關系的一種衡量标準,由内聚和耦合來度量。子產品獨立性的重要性:具有獨立的子產品的軟體比較容易開發出來。這是由于能夠分割功能而且接口可以簡化;獨立的子產品比較容易測試和維護。這是因為相對說來,修改設計和程式需要的工作量比較小,錯誤傳播範圍小,需要擴充功能時能夠"插入"子產品。總之,子產品獨立是優秀設計的關鍵,而設計又是決定軟體品質的關鍵環節。

五、簡述需求分析工作可以分成哪四個方面?軟體需求分析的有哪三個基本原則?

     答:需求分析階段分成四個方面:對問題的識别、分析與綜合、制定規格說明和評審。三個基本原則:必須能夠表達和了解問題的資料域和功能域;必須按自頂向下、逐漸分解的方式對問題進行分解和不斷細化;要給出系統的邏輯視圖和實體視圖。

六、什麼是黑盒測試法?

     答:黑盒測試法把程式看成一個黑盒子,完全不考慮程式的内部結構和處理過程,它隻檢查程式功能是否能按照規格說明書的規定正常使用,程式是否能适當地接收輸入資料,産生正确地輸出資訊。

 軟體生命期各階段的任務是什麼?  軟體定義、軟體開發、軟體運作      答:軟體生命期分為7個階段: 1、問題定義:要解決的問題是什麼2、可行性研究:确定問題是否值得解,技術可行性、經濟可行性、操作可行性3、需求分析:系統必須做什麼4、總體設計:系統如何實作,包括系統設計和結構設計5、詳細設計:具體實作設計的系統6、實作:編碼和測試7、運作維護:保證軟體正常運作。

書上的:需求、設計、編碼調試、軟體測試、運作維護、退役

七、采用黑盒技術設計測試用例有哪幾種方法?這些方法各有什麼特點?

1、等價類劃分。等價類劃分是将輸入資料域按有效的或無效的(也稱合理的或不合理的)劃分成若幹個等價類,測試每個等價類的代表值就等于對該類其它值的測試。

2、界值分析。該方法是将測試邊界情況作為重點目标,選取正好等于,剛剛大于或剛剛小于邊界值的情況,根據這些情況選擇測試用例。

3、錯誤推測。錯誤推測法沒有确定的步驟,憑檢驗進行。它的基本思想是列出程式中可能發生錯誤的情況,根據這些情況選擇測試用例。

八、對象模型有哪5個層次?建立對象模型有哪幾個步驟?

答:主題層、類&對象層、結構層、屬性層、服務層。(1分)

1、确定類與對象:

第1步:列出所有候選對象第2步:去粗取精

2、确定關聯 ( 結構層

第1步:收集 第2步:篩選删除 第3步:完善3、劃分主題4、确立屬性5、識别繼承關系及其它修改

2、軟體重用的效益是什麼?      答:1、軟體重用可以顯著地改善軟體的品質和可靠性。2、軟體重用可以極大地提高軟體開發的效率。

3、節省軟體開發的成本,避免不必要的重複勞動和人力、财力的浪費。

九、 自頂而下漸增測試與自底而上漸增測試各有何優、缺點?      

答:① 自頂而下漸增測試。優點:不需要測試驅動程式,能夠在測試階段的早期實作并驗證系統的主要功能,而且能夠盡早發現上層子產品的接口錯誤。 缺點:需要存根程式,底層錯誤發現較晚。②自底而上漸增測試。優點與缺點和自頂而下漸增測試相反。

   十 、 提高可維護性的方法有哪些?      

答:(1)在軟體工程的每一階段都應該努力提高系統的可維護性,在每個階段結束前的審查和複審中,應着重對可維護性進行複審。(2)在需求分析階段的複審中,應對将來要擴充和修改的部分加以注明。(3)在讨論軟體可移植性問題時,要考慮可能要影響軟體維護的系統界面。(4)在軟體設計的複審中,因從便于修改、子產品化和功能獨立的目标出發,評價軟體的結構和過程,還應對将來可能修改的部分預先做準備。(5)在軟體代碼複審中,應強調編碼風格和内部說明這兩個影響可維護性的因素。(6) 在軟體系統傳遞使用前的每一測試步驟中都應給出需要進行預防性維護部分的提示。(7)在完成每項維護工作後,都應對軟體維護本身進行仔細認真的複審。  (8) 為了從根本上提高軟體系統的可維護性,人們正試圖通過直接維護軟體規格說明來維護軟體 ,同時也在大力發展軟體重用技術。

十一、簡述軟體測試要經過哪幾個步驟,每個步驟與什麼文檔有關。

測試過程按 4 個步驟進行,即單元測試、內建測試、确認測試和系統測試。

單元測試集中對用源代碼實作的每一個程式單元進行測試,與其相關的文檔是單元測試計劃和詳細設計說明書。

內建測試把已測試過的子產品組裝起來,主要對與設計相關的軟體體系結構的構造進行測試。與其相關的文檔是內建測試計劃和軟體需求說明書。

确認測試則是要檢查已實作的軟體是否滿足了需求規格說明中确定了的各種需求,以及軟體配置是否完全、正确。與其相關的文檔是确認測試計劃和軟體需求說明書。

系統測試把已經經過确認的軟體納入實際運作環境中,與其他系統成份組合在一起進行測試。與其相關的文檔:使用者指南、使用手冊等。