久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

軟件工程答案

時間:2019-05-13 12:42:57下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《軟件工程答案》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《軟件工程答案》。

第一篇:軟件工程答案

第一次作業

1.什么是軟件?

答:計算機程序和相關文檔。

2.什么是軟件危機?

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

3.什么是軟件工程?

答:軟件工程是關于軟件生產的各個方面的工程學科。或者說:采用工程的概念、原理、技術和方法來開發與維護軟件,或者說把經過時間考驗而證明是正確的管理技術和當前能夠得到的合適的開發工具結合起來開發與維護軟件,這就是“軟件工程”。

第二次作業

說明:以下題目在考試時,可能變成填空題、也可能變成選擇題、還有可能變成名詞解釋。

1.軟件工程方法學包括了幾個關鍵要素?

答:包括了3個關鍵要素,即方法、工具和過程。

2.軟件過程包含了那幾項基本活動?

答:軟件過程包含了4項基本活動:(1)軟件描述;(2)軟件開發;(3)軟件有效性驗證;

例如:填空題

軟件過程包含了4項基本活動:(1)軟件描述;(2)軟件開發;(3)軟件有效性驗證;

(4)軟件維護或進化。

例如:選擇題

軟件過程包含了4項基本活動:(1)軟件描述;(2)軟件開發;(3)軟件有效性驗證;

(4)軟件維護或進化。

A.驗證B.檢查C.軟件有效性驗證D.軟件有效性檢查

3.什么是模型?

答:模型是人們認識客觀事物時,用文字、符號或者圖表等進行簡化問題描述的一種方式。

第三次作業

1.可行性研究包含哪幾個方面?

答:(1)技術可行性、(2)經濟可行性、(3)操作可行性。

2.軟件維護分為哪幾類?

答:根據軟件維護的任務與性質不同,通常可將軟件維護分為糾錯性維護、適應性維護、完善性維護、預防性維護四類活動。

3.軟件可維護性的定義是什么?

答:指維護人員理解、改正軟件的難易程度。決定軟件可維護性的因素有:指整個軟件文檔和程序的可理解性、可測試性、可修改性。

第四次作業

1.原型法的基本概念是什么?

答:原型法的基本概念有如下三點:(1)原型法不僅可以幫助系統分析員盡早獲得更完整更準確的需求,還可以幫助設計人員驗證設計方案或演進目標系統。(2)原型法適用于需求非常不明確的系統開發。(3)快速原型法如果使用得當,可以減少軟件的總成本。

2.快速原型模型的主要優點是什么?

答:快速原型的本質是用原型系統獲取用戶的真正需求,開發人員便可依據原型系統書寫規格說明文檔,根據這份文檔開發出的軟件可以滿足用戶的真實需求。

3.什么是面向數據結構方法?

答:面向數據結構方法是結構化方法的變形,它著重數據結構而不是數據流。根據需求基本上都采用順序、選擇和重復構造成分表示數據結構。

第五次作業

1.面向對象分析模型的五個層次是什么?

答:面向對象分析模型的五個層次是主題層、類及對象層、結構層、屬性層和服務層,因此其分析步驟也是按五個層次逐步展開。

2.對象的五個特點是什么?

答:對象的五個特點是:自治性;封裝性;通信性;被動性(除主動對象外);暫存性。

3.為什么說對象是動態的?

答:面向對象的程序由一組相關類組成,所以類是靜態的,程序的執行體現為一組相互通信的對象的活動,所以對象是動態的。

第六次作業

1.需求分析階段的工作成果是產生大量的系統文檔,那么文檔的作用有哪些? 答:文檔的作用有(1)提高軟件的可理解性,便于開發人員之間的溝通與交流;(2)變可見性的軟件為部分可見性的文檔資料,階段性的工作成果,便于實施工程管理;(3)階段性的審查依據;(4)便于用戶或其他非開發人員熟悉該軟件。

2.需求分析有哪三種方法?

答:需求分析有面向功能分析、面向數據分析、面向對象分析方法。

3.需求分析階段主要綜合考慮的因素有哪些?

答:需求分析階段主要綜合考慮的因素有(1)功能、(2)性能、(3)運行、(4)將來可能提出的要求。

第七次作業

1.軟件系統的非功能需求是什么?

答:非功能需求是指那些不直接與系統具體業務功能相關的一類需求。它們與系統的總體特性相關,如可靠性、信息安全性、響應時間和存儲空間等。

2.為什么對系統來說非功能需求比功能需求更關鍵?

答:許多非功能需求關心的是系統整體特性而不是個別的系統特性,因此,非功能需求比功能需求對系統來說更關鍵。一個功能需求沒有滿足可能降低系統的能力,而一個非功能系統需求沒有滿足則可能使整個系統無法使用或者說系統的靈活性、應變能力達不到要求。

3.數據流圖的作用是什么?

答:數據流圖的作用是用來描述系統的邏輯模型,表示信息在系統中的流動和處理情況。

4.畫數據流圖可采用的步驟是什么?

答:畫數據流圖時:首先考慮數據的源點和終點(人或者作為輸入/輸出對象);接下來考慮處理(動詞);最后考慮數據流和數據存儲(名詞)。

第八次作業

1.什么是執行者?

答:執行者是與系統交互的人或物,它代表外部實體,是一個群體概念,代表的是一類能夠使用某個功能的人或物,而不是某個個體。

2.數據字典的定義是什么?

答:數據字典的定義是指對數據流、數據流分量即數據元素、數據存儲和處理四類元素進行定義。

3.數據字典的作用是什么?

答:數據字典的作用是:(1)與數據流圖配合、描述軟件系統的邏輯模型;(2)階段性文檔;(3)對數據流圖中除源、終點外的其余成分均進行嚴格的無二義的、詳盡的定義。

第九次作業

1.軟件設計階段的任務是什么?

答:軟件設計階段的任務是對軟件需求有了完整、準確、具體的理解之后,接下來的工作任務就是用軟件正確地實現這些需求。這個階段的工作目標是產生概要設計和詳細設計文檔。

2.結構程序設計常見的三種結構是什么?

答:結構程序設計常見的三種基本結構:順序、循環、選擇。

3.面向對象建模有哪幾種?

答:面向對象建模有3種:(1)描述系統功能的功能模型;(2)描述系統數據結構的對象模型;(3)描述系統控制結構的動態模型。即功能模型;對象模型、動態模型。

第十次作業

1.對象的定義是什么?

答:對象的定義是(1)從面向對象程序設計角度看對象定義:對象是具有相同狀態的一組操作的集合;(2)從信息的模擬角度看對象定義:對象是對問題域某個東西的抽象,這種抽象反映了系統保存有關這個東西的信息或與它交互的能力。也就是說,對象是對屬性值和操作的封裝。(3)形式化定義:對象::=,其中:ID是對象的標識或名字;MS是對象中的操作集合;DS是對象的數據結構;MI是對象受理的消息名集合(即對外接口)

2.面向對象方法學的主要優點是什么?

答:1.與人類習慣的思維方法一致;2.穩定性好;3.可重用性好;4.較易開發大型軟件產品;5.可維護性好。

3.什么是類(Class)?

答: 類就是對相同數據和相同操作的一組相似對象的定義,或者說,類是對具有相同屬性和行為的一個或多個相似對象的描述。

第十一次作業

1.提高軟件可重用性的主要準則是什么?

答:提高軟件可重用性的主要準則是:(1)提高方法內聚;(2)減小方法的規模;(3)保持方法的一致性;(4)把策略與實現分開;(5)全面覆蓋;(6)盡量不使用全局信息;(7)利用繼承機制

2.為什么說在軟件開發工作臨近結束時才補寫有關的一系列文檔是不符合軟件工程思想的?

答:文檔作為軟件產品的有形部分,既可作為各開發階段的成果,又可作為評價、審查工作的主要對象,還可作為前后階段交接的重要文字資料,這樣有助于軟件工程管理工作的開展,對于規范化的工作有助于保證軟件各階段的工作質量。若最后才補文檔就失去了上述的價值。

3.假設你的任務是對一個已有的軟件做重大修改,而且只允許你從下述文檔中選取兩份:(a)程序的規格說明;(b)程序的詳細設計結果(自然語言描述加上某種設計工具表示);(c)源程序清單(其中有適當數量的注釋)。你將選取哪兩份文檔?為什么這樣選取?

答:選擇(a)和(b)重大修改可能追加到改動系統的需求約定和設計方案,而源程序的改動,甚至程序編制,在詳細設計完成后才可進行,比起修改需求或設計方案而言要容易得多。

第十二次作業

1.測試的正確定義是什么?

答:測試的正確定義是“為了發現程序中的錯誤而執行程序的過程”。這和某些人通常想象的“測試是為了表明程序是正確的”,“成功的測試是沒有發現錯誤的測試’等是完全相反的。

2.什么是黑盒測試?

答:黑盒測試把程序看成一個黑盒子,完全不考慮程序的內部結構和處理過程。即只測試程序的接口信息。適用于黑盒測試方法有:邊界值分析、等價劃分、錯誤推理。

3.計算環形復雜度。

答:流圖中的區域數等于環形復雜度;流圖G的環形復雜度V(G)=E-N+2,其中E是流圖中邊的條數,N是流圖中節點數;流圖G的環形復雜度V(G)=P + 1,其中P是流圖中判定節點的數目。

4.調試的目標是什么?它有幾種途徑?

答:無論采用什么方法,調試的根本目標都是尋找軟件錯誤的原因并改正之。這個目標是通過把系統地評估、直覺和運氣組合起來實現的。一般來說,有下列三種調試途徑可以采用:·蠻干法;·回溯法;·原因排除法。

第十三次

1.主程序員組的核心有幾個人?其角色名稱與分工是什么?

答:主程序員:全面負責系統定義、設計、編碼、調試、安裝。輔助程序員:協助主程序員,必要時替代主程序員(平時側重于測試方案,分析測試結果)。程序管理員:全部事務性工作(提交上機程序、保存運行語言、進行軟件配置)。

2.什么是基線?

答:在軟件工程范圍內,基線是軟件開發的里程碑,它的標志是交付一個或多個軟件配置項,這些軟件配置項已經通過正式的技術復審而獲得認可。或者說,基線是軟件生存期中各開發階段的一個特定點,它標志著一個階段的結束。

3.能力成熟度模型的組成成分是什么?

答:能力成熟度模型的組成包括以下成分。·成熟度等級(Maturity levels);·過程能力(Process Capability);·關鍵過程域(Key Process Areas,KPA);·目標(Goals);·公共特性(Common Features);·關鍵實踐(Key Practices)。

4.能力成熟度的五個等級是什么?

答:能力成熟度的五個等級從低到高是:初始級、可重復級、已定義級、已管理級和優化級。

第十四次

1.軟件重用的基本要求是什么?

答:為使軟構件也像硬件集成電路那樣,能在構造各種各樣的軟件系統時方便地重復使用,就必須使它們滿足下列要求。(l)模塊獨立性強;(2)具有高度可塑性;(3)接口清晰、簡明、可靠。

2.類構件的重用方式有哪些?

答:類構件的重用方式有:(1)實例重用;(2)繼承重用;(3)多態重用。

3.什么是3C模型?

答:描述可重用的軟件構件一種理想的方式是3C模型——概念(concept)、內容(content)和語境(context)。

第二篇:軟件工程試題及答案

1、瀑布模型把軟件生命周期劃分為8個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發階段和(運行階段)。

2、從結構化的瀑布模型看,在它的生命周期中的八個階段中,(需求分析階段)出錯,對軟件的影響最大。

3、在結構化的瀑布模型中,(需求分析階段)定義的標準將成為軟件測試中的系統測試階段的目標。

4、軟件工程的出現主要是由于(軟件危機的出現)。

5軟件工程方法學的目的:使軟件生產規范化和工程化,而軟件工程方法得以實施的主要保證是軟件開發工具和軟件開發的環境。

6、軟件開發常使用的兩種基本方法是結構化和原型化方法,在實際的應用中,它們之間的關系表現為相互補充。

7、UML是軟件開發中的一個重要工具,它主要應用于基于對象的(面向對象)的方法。

8、在下面的軟件開發方法中,哪一個對軟件設計和開發人員的開發要求最高(原型化方法)。

9、結構化分析方法是一種預先嚴格定義需求的方法,它在實施時強調的是分析對象的(數據流)。

10、軟件開發的瀑布模型,一般都將開發過程劃分為:分析、設計、編碼和測試等階段,一般認為可能占用人員最多的階段是(編碼階

段)。

11、軟件開發模型是指軟件開發的全部過程、活動和任務的結構框架。主要的開發模型有瀑布模型、演化模型、螺旋模型、噴泉模型和智能模型。螺旋模型將瀑布模型和演化模型相結合,并增加了(風險分析),它建立在()的基礎上,沿著螺線自內向外每旋轉一圈,就得到(原型)的一個新版本。噴泉模型描述了(面向對象)的開發模型,它體現了這種開發方法創建軟件的過程所固有的(遞歸)和(開發各階段之間無“間隙”)的特征。

12、以下不屬于白盒測試技術的是(等價類劃分)。

13、為改正軟件系統中潛藏的錯誤而進行的維護活動稱為(糾錯性維護)。

14、保證軟件質量的手段有復審、復查、管理復審和測試等。其中復審發生在軟件生命周期的(每個階段結束之前)。

15、完整的系統設計應包括(計算機系統設計、應用軟件設計、數據庫設計和網絡設計)。

16、在信息系統的物理模型中,表示系統各個物理組成部分之間的數據流動情況的工具是(系統流程圖)。

二、填空題(每題1分,共10分)

1、系統流程圖是描述物理模型的傳統工具,用圖形符號表示系統中各個元素表達了系統中各種元素之間的(信息流動)情況。

2、成本效益分析的目的是從(經濟)角度評價開發一個項目是否可行。

3、自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度

優先策略和(寬度優先策略)。

4、在JSP方法中解決結構沖突的具體辦法是(中間數據結構或中間文件)。

5、詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、(使用的數據)。

6、所有軟件維護申請報告要按規定方式提出,該報告也稱(軟件問題)報告。

7、獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。

8、設計任何一個人機界面,一般必須考慮(系統響應時間)、用戶幫助機制、錯誤信息處理和命令方式四個方面。

9、在軟件測試中,已知產品內部工作過程,通過測試檢驗產品內部動作是否按照產品規格說明的規定正常進行的方法稱為(白盒)測試法。

10、(耦合度)是對軟件結構中模快間關聯程度的一種度量。

三、判斷題(每題1分,共10分)

1.缺乏有力的方法學的指導和有效的開發工具的支持,這往往是產生軟件危機的原因之一。(T)

2.一個好的開發人員應具備的素質和能力不包括具有良好的書面和口頭表達能力。(F)

3.在用戶需求分析時觀察用戶手工操作過程不是為了模擬手工操作過程,而是為了獲取第一手資料,并從中提取出有價值的需求。(F)4.快速原型技術的適用于軟件產品要求大量的用戶交互、或產生大量的

可視輸出、或設計一些復雜的算法等場合。(T)5.流程圖也稱為程序框圖是最常用的一種表示法。(T)6.面向數據設計方法一般都包括下列任務: 確定數據結構特征;用順序、選擇和重復三種基本形式表示數據等步驟。(T)

7.理想的人機界面應針對具有典型個性的特定的一類用戶設計。(T)

8.數據輸入的一般準則中包括盡量增加用戶輸入的動作。(F)9.用窮舉測試是較現實的測試方法。(F)

10、在軟件維護過程中改善性維護是為適應環境的變化而修改軟件的活動。(T)

四、論述題

1、軟件維護是軟件生命周期的重要組成,而影響維護的因素較多,除了人員因素、技術因素和管理因素外,還有程序自身的因素,具體影響因素可歸納為:a)軟件系統的規模; b)軟件系統的年齡;c)軟件系統的結構。試回答以下問題:

1)給出上述三項因素的解釋,闡述“規模”、“年齡”和“結構”的具體含義。(5分)

答:系統的規模。指軟件系統規模的大小,系統規模越大,維護困難越大。

系統的年齡。系統運行時間越長,可能經過多次修改,從而造成維護的困難。

系統的結構。系統結構合理與否,會給維護帶來困難。2)扼要分析影響維護工作量的因素,即分析可能增加維護工作量的因素和可能減少維護工作量的因素。(5分)

答:(1)增加維護工作量的因素有:軟件系統的年齡和規模、結構合理性、程序復雜性、用戶的數量、應用的變化和文檔的質量。(2)減少維護工作量的因素有:結構化技術的使用、自動化工具的使用、數據庫技術應用、高性能軟件使用、新的軟件技術的應用。3)簡單傳述軟件可維護性度量的含義。(5分)

答:可維護性度量表示軟件系統維護工作的強度或維護工作量的大小。人們為了度量可維護性,常將可維護性度量問題分解為對:可測試性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。

2、可行性研究報告的主要內容有哪些?(5分)

3、系統設計的內容是什么?(10分)

五、綜合題(10分)某電器集團公司下屬的廠包括技術科、生產科等基層單位。現在想建立一個計算機輔助企業管理系統,其中:

生產科的任務是:

(1)根據銷售公司轉來的內部合同(產品型號、規格、數量、交獲日期)制定車間月生產計劃。

(2)根據車間實際生產日報表、周報表調整月生產計劃

(3)以月生產計劃為以及,制定產品設計(結構、工藝)及產品組裝月計劃。

(4)將產品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下

達給車間

技術科的任務是:

(1)根據生產科轉來的組裝計劃進行產品結構設計,產生產品裝配圖給生產科,產生外購需求計劃給供應科,并產生產品自制物料清單。

(2)根據組裝計劃進行產品工藝設計,根據產品自制物料清單產生工藝流程圖給零件廠。

試寫出以上系統中生產科和技術科處理的軟件結構圖。

軟件工程試題A答案

一、選擇題

1.C 2.C 3.A 4.C 5.C 6.B 7.C 8.B 9.B 10.C 11.⑴B⑵D⑶A⑷D⑸A

12、D

13、A

14、A

15、C

16、D

二、填空題

1、信息流動

2、經濟

3、寬度優先策略

4、中間數據結構或中間文件

5、使用的數據

6、軟件問題

7、在其他獨立路徑中未有過

8、系統響應時間

9、白盒測試法

10、耦合度

三、判斷題

1、√

2、X

3、√

4、√

5、√

6、√

7、√

8、X

9、X

10、X

四、論述題

1、系統的規模。指軟件系統規模的大小,系統規模越大,維護困難越大。

系統的年齡。系統運行時間越長,可能經過多次修改,從而造成維護的困難。

系統的結構。系統結構合理與否,會給維護帶來困難。

2、增加維護工作量的因素有:

軟件系統的年齡和規模、結構合理性、程序復雜性、用戶的數量、應用的變化和文檔的質量。減少維護工作量的因素有:

結構化技術的使用、自動化工具的使用、數據庫技術應用、高性能軟件使用、新的軟件技術的應用。



3、可維護性度量表示軟件系統維護工作的強度或維護工作量的大

小。人們為了度量可維護性,常將可維護性度量問題分解為對:可測試性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。

2、個可行性研究報告的主要內容如下:

(1)引言:說明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術語和參考資料。

(2)可行性研究前提:可行性研究前提。說明開發項目的功能、性能和基本要求;達到的目標;各種限制條件;可行性研究方法和決定可行性的主要因素。

(3)對現有系統的分析:說明現有系統的處理流程和數據流程;工作負荷;各項費用支出;所需要各類專業技術人員的數量;所需要各種設備;現有系統存在什么問題。

(4)所建議系統的技術可行性分析:所建議系統的簡要說明;處理流程和數據流程;與現有的系統比較的優越性;采用所建議系統對用戶的影響;對各種設備、現有軟件、開發環境、運行環境的影響;對經費支出的影響;對技術可行性的評價。

(5)所建議系統的經濟可行性分析:說明所建議系統的各種支出,各種效益;收益投資比;投資回收周期。

(6)社會因素可行性分析:說明法律因素,對合同責任、侵犯專利權、侵犯版權等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質的要求。

(7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。

(8)結論意見:說明項目是否能開發;還需要什么條件才能開發;對項目目標有什么變動等。

3、系統設計階段先從高層入手,然后細化。系統設計要決定整個結構及風格,這種結構為后面設計階段的更詳細策略的設計提供了基礎。

(1)系統分解。系統中主要的組成部分稱為子系統,子系統既不是一個對象也不是一個功能,而是類、關聯、操作、時間和約束的集合。每次分解的各子系統數目不能太多,最底層子系統稱為模塊。

(2)確定并發性。分析模型、現實世界及硬件中不少對象均是并發的。系統設計的一個重要目標就是確定哪些是必須同時動作的對象,哪些不是同時動作的對象。后者可以放在一起,而綜合成單個控制線或任務。

(3)處理器及任務分配。各并發子系統必須分配給單個硬件單元,要么是一個一般的處理器,要么是一個具體的功能單元,必須 9

完成下面的工作:估計性能要求和資源需求,選擇實現子系統的硬軟件,將軟件子系統分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實現各子系統的各物理單元的連接。

(4)數據存儲管理。系統中的內部數據和外部數據的存儲管理是一項重要的任務。通常各數據存儲可以將數據結構、文件、數據庫組合在一起,不同數據存儲要在費用、訪問時間、容量以及可靠性之間做折中考慮。

(5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源,如處理器、驅動器等;空間,如盤空間、工作站屏等;邏輯名字,如對象標識符、類名、文件名等。

如果資源是物理對象,則可以通過建立協議實現對并發系統的訪問,以達到自身控制;如果資源是邏輯實體,如對象標識符,那么在共享環境中有沖突訪問的可能,如獨立的事務可能同時使用同一個對象標識符,則各個全局資源都必須有一個保護對象,由保護對象來控制對該資源的訪問。

(6)選擇軟件控制機制。分析模型中所有交互行為都表示為對象之間的事件。系統設計必須從多種方法中選擇某種方法來實現軟件的控制。

(7)人機交互接口設計。設計中的大部分工作都與穩定的狀態行為有關,但必須考慮用戶使用系統的交互接口。

五、綜合題

第三篇:軟件工程試題及答案

軟件工程試題及解答

一,單項選擇題(本大題共20小題,每小題1分,共20分)

在每小題列出的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的橫線上。

1.可行性研究要進行一次_____需求分析。

參考答案為:C

A.詳細的B.全面的

C.簡化的、壓縮的D.徹底的

[解析]軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發,是否值得去開發。其實質是要進行一次簡化、壓縮了的需求分析、設計過程,要在較高層次上以較抽象的方式進行需求分析和設計過程。因此答案為C。

2.系統流程圖用于可行性分析中的_____的描述。

參考答案為:A

A.當前運行系統

B.當前邏輯模型

C.目標系統

D.新系統

[解析]可行性研究首先要確定項目的規模和目標,然后就需要對當前運行的系統進行研究了,在考察系統的基礎上,通過描繪現有系統的高層系統流程圖,與有關人員一起審查該系統流程圖是否正確。描述的對象是當前正在運行的系統,因此選擇A。

3.系統流程圖是描述_____的工具。

參考答案為:C

A.邏輯系統

B.程序系統

C.體系結構

D.物理系統

[解析]系統流程圖是用圖形符號來表示系統中的各個元素,例如人工處理、數據庫、設備等,流程圖表達了系統中各個元素之間的信息流動情況。是描繪物理系統的傳統工具。

4._______工具在軟件詳細設計過程中不采用。

參考答案為:D

A.判定表

B.IPO圖

C.PDL

D.DFD圖

[解析]詳細描述處理過程常用三種工具:圖形、表格和語言。其中圖形工具有結構化流程圖、盒圖和問題分析圖三種,答案中的判定表是用來表示復雜的條件組合與應做的動作之間的對應關系。IPO圖用來描述每個模塊輸入/輸出數據、處理功能及模塊調用的詳細情況。PDL是過程設計語言的縮寫,也稱程序描述語言,用于描述模塊算法設計和處理細節的語言,這三種都可以在軟件詳細設計過程中使用,而DFD圖則是數據流圖,是以圖形的方式描繪數據在系統中流動和處理的過程,只反映系統必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細設計過程中使用。

5.程序的三種基本控制結構是

參考答案為:B

A.過程、子程序和分程序

B.順序、選擇和重復

C.遞歸、堆棧和隊列

D.調用、返回和轉移

[解析]程序的三種基本控制結構是順序、選擇和循環(重復)。子程序只是程序設計一種方法,遞歸則是一種算法,都算不上是控制結構。

6.程序的三種基本控制結構的共同特點是

參考答案為:D

A.不能嵌套使用

B.只能用來寫簡單程序

C.已經用硬件實現

D.只有一個入口和一個出口

[解析]程序的特點就是從一個入口開始,最終以一個出口結束,其間可以用順序,選擇和循環方式對程序的流向進行控制。三種結構可以寫出非常復雜的程序,而且選擇和循環都可以嵌套設計。

7.產生軟件維護的副作用,是指

參考答案為:C

A.開發時的錯誤

B.隱含的錯誤

C.因修改軟件而造成的錯誤

D.運行時誤操作

[解析]因修改軟件而造成的錯誤或其他不希望出現的情況稱為維護的副作用,包括編碼副作用、數據副作用、文檔副作用三種。只有答案C是正確的表述。

8.維護中,因誤刪除一個標識符而引起的錯誤是_________副作用。

參考答案為:C

A.文檔

B.數據

C.編碼

D.設計

[解析]編碼副作用指的是在使用程序設計語言修改源代碼時可能引入錯誤,比如刪除或修改一個子程序、一個標號、一個標識符,改變程序代碼的時序關系,修改文件的打開或關閉等。因此本題答案為C。

9.可維護性的特性中相互促進的是

參考答案為:A

A.可理解性和可測試性

B.效率和可移植性

C.效率和可修改性

D.效率和結構好

[解析]軟件的可維護性可用七個質量特性來衡量,分別是:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。對于不同類型的維護,這些特性的側重點也不相同,有一些可維護特性是可以相互促進的,比如可理解性和可測試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結構好則不屬于可維護性的特征。

10.汽車有一個發動機。汽車和發動機之間的關系是_____關系。

參考答案為:B

A.一般具體

B.整體部分

C.分類關系

D.主從關系

[解析]類有兩種主要的結構關系,即一般——具體結構關系和整體——部分結構關系。前者稱為分類結構,用來描述現實世界中的一般化的抽象關系。后者稱為組裝結構,用來描述現實世界中的類的組成的抽象關系。汽車和發動機的關系很明顯,應該屬于整體——部分關系。

11.在變更控制中,______可以用來確保由不同用戶所執行的并發變更。

參考答案為:B

A.異步控制

B.同步控制

C.存取控制

D.基線控制

[解析]變更控制包括建立控制點和建立報告與審查制度,其過程中的“檢出”和“登入”處理實現了存取控制和同步控制,存取控制管理各個用戶存取和修改一個特定軟件配置對象的權限,同步控制可用來確保由不同用戶所執行任務的并發變更。

12.變更控制是一項最重要的軟件配置任務,其中“檢出”和______處理實現了兩個重要的變更控制要素,即存取控制和同步控制。

參考答案為:A

A.登入

B.管理

C.填寫變更要求

D.審查

[解析]“檢出”和“登入”處理實現了兩個重要的變更控制要素。具體說明見上題。

13.提高軟件質量和可靠的技術大致可分為兩大類:其中一類就是避開錯誤技術,但避開錯誤技術無法做到完美無缺和絕無錯誤,這就需要

參考答案為:D

A.消除錯誤

B.檢測錯誤

C.避開錯誤

D.容錯

[解析]提高軟件質量和可靠性的技術大致可分為兩類,一類是避開錯誤技術,即在開發的過程中不讓差錯潛入軟件的技術,另一類是容錯技術,即對某些無法避開的差錯,使其影響減至最小的技術。

14._____是以提高軟件質量為目的的技術活動。

參考答案為:D

A.技術創新

B.測試

C.技術創造

D.技術評審

[解析]技術評審是以提高軟件質量為目的的技術活動,是對軟件本身的結構、與運行環境的接口、變更帶來的影響等方面進行的評審活動。

15.面向對象方法學的出發點和基本原則是盡可能模擬人類習慣的思維方式,分析、設計和實現一個軟件系統的方法和過程,盡可能接近于人類認識世界解決問題的方法和過程。因此面向對象方法有許多特征,如軟件系統是由對象組成的;________;對象彼此之間僅能通過傳遞消息互相聯系;層次結構的繼承。

參考答案為:C

A.開發過程基于功能分析和功能分解

B.強調需求分析重要性

C.把對象劃分成類,每個對象類都定義一組數據和方法

D.對既存類進行調整

[解析]面向對象方法有四個特征,分別是對象唯一性、分類性、繼承性和多態性。其中分類性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類,每個類是具有相同性質的個體集合,而每個對象相關類的實例,對象彼此之間通過傳遞消息互相聯系。

16.軟件開發過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫

參考答案為:D

A.生存期

B.面向對象設計

C.面向對象程序設計

D.面向對象分析

[解析]面向對象的分析的過程就是認識客觀世界的過程,其目的就是建立對客觀世界的精確、簡潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。

17.原型化方法是用戶和設計者之間執行的一種交互構成,適用于______系統。

參考答案為:A

A.需求不確定性高的 B.需求確定的 C.管理信息

D.實時

[解析]原型不同于最終系統,它只實現所選擇的部分功能,僅是為了試驗或是演示而用,部分功能需求可以忽略或者模擬實現,因此適用于需求不確定性高的系統。

18.原型化方法是一種_______型的設計過程。

參考答案為:A

A.自外向內

B.自頂向下

C.自內向外

D.自底向上

[解析]原型化方法的基本思想是根據用戶給出的基本需求,通過快速實現構造出一個小型的、可執行的模型,用戶在計算機上實際運行這個用戶界面原型,在試用過程中提出意見或建議,然后開發者再對原型進行改進。如此周而復始,逐步彌補不足之處,從而提高了最終產品的質量。它是一種自外向內的設計過程。

19.為了提高測試的效率,應該

參考答案為:D

A.隨機地選取測試數據

B.取一切可能的輸入數據作為測試數據

C.在完成編碼以后制定軟件的測試計劃

D.選擇發現錯誤可能性大的數據作為測試數據

[解析]軟件測試是為了盡可能多的發現程序中的錯誤,尤其是發現至今尚未發現的錯誤。在選取測試用例時,不可能進行窮舉測試,在每一個細節進行測試,也不能無目的地隨機選取測試數據,為了提高測試的效率,測試用例應該選擇發現錯誤可能性大的部分,這樣的測試結果才符合軟件測試的目的。

20.使用白盒測試方法時,確定測試數據應根據_______和指定的覆蓋標準。

參考答案為:A

A.程序的內部邏輯

B.程序的復雜結構

C.使用說明書

D.程序的功能

[解析]白盒測試是把測試對象看作一個打開的盒子,測試人員須了解程序的內部結構和處理過程,由于白盒測試是一種結構測試,所以被測對象基本上是源程序,以程序的內部邏輯和指定的覆蓋標準確定測試數據。

二,填空題(本大題共10小題,每小題2分,共20分)

21.系統流程圖是描述物理模型的傳統工具,用圖形符號表示系統中各個元素表達了系統中各種元素之間的()情況。

解:信息流動

[解析]系統流程圖是描述物理系統的傳統工具,用圖形符號表示系統中的各個元素,如人工處理、數據處理、數據庫、文件、設備等,表達了元素之間的信息流動的情況。

22.成本效益分析的目的是從()角度評價開發一個項目是否可行。

解:經濟

[解析]成本效益分析首先是估算將要開發的系統的開發成本,然后與可能取得的效益進行比較和權衡,其目的是從經濟角度評價開發一個新的軟件項目是否可行。

23.自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優先策略和()。

解:寬度優先策略

[解析]漸增式測試法有自頂向下結合和自底向上結合兩種組裝模塊的方法,其中自頂向下集成是構造程序結構的一種增量式方式,不需要編寫驅動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結構,以深度優先或寬度優先的策略,逐步把各個模塊集成在一起。

24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條()的邊的路徑。

解:在其他獨立路徑中未有過

[解析]在基本路徑測試中,以詳細設計或源程序為基礎,導出控制流程圖的拓撲結構——程序圖,在計算了程序圖的環路復雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。

25.匯編語言是面向()的,可以完成高級語言無法完成的特殊功能,如與外部設備之間的一些接口工作。

解:機器

[解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設備的唯一語言。

26.在JSP方法中解決結構沖突的具體辦法是()。

解:中間數據結構或中間文件

[解析]JSP方法是面向數據結構的設計方法。它定義了一組以數據結構為指導的映射過程,根據輸入、輸出的數據結構,按一定的規則映射成軟件的過程描述,在JSP方法中解決結構沖突的具體辦法是引入中間數據結構或中間文件,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統的整體。

27.詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、()。

解:使用的數據

[解析]詳細設計的基本任務是為每個模塊進行詳細的算法設計,為模塊內的數據結構進行設計,確定每個模塊的內部特性,包括模塊的算法和使用的數據。對數據庫進行物理設計等。

28.所有軟件維護申請報告要按規定方式提出,該報告也稱()報告。

解:軟件問題

[解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。

29.有兩類維護技術:在開發階段使用來減少錯誤、提高軟件可維護性的面向維護的技術;在維護階段用來提高維護的效率和質量的()技術。

解:維護支援

[解析]面向維護的技術涉及軟件開發的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質量的技術。

30.科學工程計算需要大量的標準庫函數,以便處理復雜的數值計算,可供選擇的語言有:()、PASCAL語言、C語言和PL/1語言。

解:FORTRAN語言

[解析]計算機語言根據不同行業的需求,使用的側重點也不盡相同,在辦公管理方面,一些數據庫語言如FOXPRO、ORICAL有很多的應用,在工程行業,計算機語言的科學計算能力就顯得格外重要,如MATLAB、PL/

1、FORTRAN語言都是工程計算中常用的語言。

三,名詞解釋(本大題共5小題,每小題3分,共15分)

31.經濟可行性

解:進行開發成本的估算以及了解取得效益的評估,確定要開發的項目是否值得投資開發。

[解析]對于一個系統所必須要衡量的是經濟上是否合算,經濟可行性的范圍很廣,包括效益分析、潛在市場前景等。

32.社會可行性

解:要開發的項目是否存在任何侵犯、妨礙等責任問題,要開發項目目的運行方式在用戶組織內是否行得通,現有管理制度、人員素質、操作方式是否可行。

[解析]社會可行性包括合同、責任、侵權等技術人員不甚了解的諸多問題。

33.投資回收期

解:投資回收期就是使累計的經濟效益等于最初的投資費用所需的時間。

[解析]通常我們用投資回收期來衡量一個開發項目的價值,投資回收期越短,就越快獲得利潤。

34.對應關系

解:即有直接因果關系在程序中可以同時處理。

[解析]對應關系是指數據單元在數據內容上、數量上和順序上有直接的因果關系,對于重復的數據單元,重復的次序和次數都相同才有對應關系。

35.結構沖突

解:輸入數據與輸出數據結構找不到對應關系的情況,稱為結構沖突。

[解析]使用JSP方法時會遇到此類結構沖突問題,對此,Jackson提出了引入中間數據結構或中間文件的辦法,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統的整體。

第四篇:軟件工程課后答案

第七章價類, 重復這一步驟,直到所第十三章

1.軟件測試的方法:黑盒測試,白盒測試

(1)黑盒測試:如果已經知道了產品應具有的功能,可以通過測試來檢驗是否每個功能

都能正常使用,這就是黑盒測試:

(2)白盒測試:如果知道產品的內部工作過

程,可以通過測試來檢驗產品內部動作是否

按照規格說明書的規定正常進行。

2.測試步驟;(1)模塊測試(2)子系統測試(3)

系統測試(4)驗收測試(5)平行運行

3.測試重點:(1)模塊接口(2)局部數據結

構(3)重要的執行通路(4)出錯處理通路

(5)邊界條件

4.(1)主程序:驅動程序也就是一個主程序,他接受測試數據,把這些數據傳送給

被測試的模塊,并且印出有關的結

果,(2)虛擬子程序:存根程序也可以稱為

虛擬子程序,他使用被他代替的模

塊的接口,可能做最少量的數據操

作,印出對入口的檢驗或操作結

果,并且把控制歸還給調用它的模

塊。

5.模塊組裝成程序時有兩種方法:(1)非漸

增式(2)漸增式{自頂向下集成,自底向上

集成}

6.混合法:對軟件結構中較上層使用的自頂

向下方法與軟件結構中較下層使用的自底向

上方法相結合。

7.回歸測試:在集成測試的范疇中,所謂的回

歸測試是指重新執行已經做過的測試的某個

子集,以保證上述的這些變化沒有帶來非預

期的副作用。

8.確認測試:也稱為驗收測試,他的目標是

驗證軟件的有效性。

驗證:指的是保證軟件正確的實現了

某個特定要求的一系列活動。

確認:指的是為了保證軟件確實滿足

了用戶需求而進行的一系列活動。

9.確認測試的范圍:確認測試必須由用戶積

極參與,或者以用戶為主進行。確認測試通

常使用黑盒測試法

10.Alpha和Beta測試

(1)Alpha:有用戶在開發者的場所進行,并且在開發者對用戶的指導下進行測試。開

發者負責記錄發現的錯誤和使用中遇到的問

題。Alpha測試是在受控的環境中進行的。

(2)Beta:油軟件的最終用戶們在一個

或多個客戶場所進行,開發者通常不在測試的現場用戶記錄在測試過程中遇到的問題,并定期把這些問題報告給開發者。

11.什么是白盒測試?

測試者了解被測程序的內部結構和

處理過程,對程序的所有邏輯路徑進

行測試,在不同點檢查程序狀態,確

定實際狀態與預期狀態是否一致。白盒測試主要采用的技術有:路徑測試技術

和事務處理流程技術,對包含有大量邏輯判

斷或條件組合的程序采用基于邏輯的測試技

術。邏輯覆蓋:所謂的邏輯覆蓋是對一系列測試

過程的總稱,這組測試過程逐漸進行越來越

完整的通路測試。

12.黑盒測試:也稱為功能測試,它著眼于程

序的外部特征,而不考慮程序的內部邏輯結

構。測試者把被測程序看成一個黑盒,不用關

心程序的內部結構。黑盒測試是在程序接口

處進行測試,它只檢查程序功能是否能按照

規格說明書的規定正常使用,程序是否能適

當地接收輸入數據產生正確的輸出信息,并

且保持外部信息(如數據庫或文件)的完整

性。黑盒測試主要采用的技術有:等價分類

法、邊沿值分析法、錯誤推測法和因果圖等

技術。

13.等價劃分:是一種黑盒測試技術,這種技

術把程序的輸入域劃分成若干個數據類,據

此導出數據用例。

等價分類法的測試技術采用的一般方法?

(1)為每個等價類編號;

(2)設計一個新的測試方案,以盡

可能多的覆蓋尚未被覆蓋的有

效等價類,重復這一步驟,直到

所有有效等價類被覆

(3)設計一個新的測試方案,使它

覆蓋一個尚未被覆蓋的無效等有無效等價類被覆蓋為止。1.管理:就是通過計劃、組織和控制等 14.邊界值分析: 一系列活動,合理的配置和使用各種15.調試:也稱為糾錯,作為成功測試的后果資源,以達到既定目標的過程 出現,調試是在測試發現錯誤之后排除2.軟件的質量:就是軟件與明確地和隱錯誤的過程。調試就是把癥狀和原因聯含地定義的需求相一致的程度,軟件系起來的尚未被人認識的智力過程。的質量是軟件與明確的敘述的開發標16.軟件測試的一般步驟:單元測試、子系準以及任何專業開發的軟件產品都應統測試、系統測試、驗收測試、平行測試。該具有的隱含特征相一致的程度。調試途徑:(1)蠻干法(2)回溯法(3)3.工作量估算:(1)靜態單變量模型(2)原因排除法 動太多變量模型(3)COCOMO2模型回溯法:從發現癥狀的地方開始,人工4.軟件配置管理主要有五項任務:標示,沿程序的控制流往回追蹤分版本控制,變化控制,配置審計,報析源程序代碼,直到找到錯誤告 原因為止。5.能力成熟度的五個等級:初始級,可原因排除法:(1)對分查找法(2)歸重復級,已定義級,已管理級,優化納法(3)演繹法 級 17.軟件可靠性的定義:軟件可靠性是程序在給定的時間間隔內,按照規格說明書的規定成功地運行的概率軟件可用性的一個定義: 軟件可用性是程序在給定的時間點,按照規格說明書的規定,成功地運行的概率。18.選擇程序設計語言:(主要的實用標準)(1)系統用戶要求(2)可以使用的編譯程序(3)可以得到的軟件工具(4)工程規模(5)程序員的知識(6)軟件可移植性要求(7)軟件的應用領域 19.編碼風格(1)程序內部的文檔(2)數據說明,應易于理解便于查閱(3)語句結構,盡可能簡單直觀(4)輸入輸出,遵守人機界面準則(5)效率,能媽祖用戶要求即可 19.軟件測試目標:為了發現程序中的錯誤代碼審查:人工測試源程序可以由審查小組正式進行,即稱為審查。審查小組組成:組長,程序的設計者,程序的編寫者,程序的測試者 第八章 1.四種軟件維護類型:(1)改正性維護:滿足用戶對已開發產品的性能與運行環境不斷提高的要求,進而達到延長軟件壽命的目的。(2)適應性維護:對程序使用期間發現的程序錯誤進行診斷和改正的過程,配合變化了的環境進行修改軟件的活動;(3)完善性維護:滿足用戶在使用過程中提出增加新的功能或修改已有功能的建議而進行的工作;(4)預防性維護:為了改善未來的可維護性或可靠性而修改軟件的工作。2.決定軟件可維護性的因素:可理解性,可測試性,可修改性,可移植性,可重用性 3.軟件系統的文檔:可以分為用戶文檔和系統文檔用戶文檔:主要描述系統功能和使用方法,并不關心這些功能怎樣實現 用戶文檔包括:功能描述,安裝文檔,使用手冊,參考手冊,操作員指南 系統文檔:描述系統設計、實現和測試等各方面的內容。4.軟件維護:所謂的軟件維護就是在軟件已經交付使用之后,為了改正錯誤而滿足心得需要而修改軟件的過程。1.面向對象方法學的優點:(1)與人類的思維方法一致(2)穩定性好(3)可重用性好(4)較易開發大型軟件產品(5)可維護性好 2.對象的特點:以數據為中心;對象時主動的;實現了數據封裝;實質上具有并行性;模塊獨立性好 3.其他概念:(1)類:具有相同數據相同操作的一組相似對象的定義(2)實例(3)消息:就是要求某個對象執行在定義它的那個類中所定義的某個操作的規格說明(4)方法(5)屬性(6)封裝(7)繼承:是指能夠直接獲得已有的性質和特征,而不必重復定義他們

第五篇:軟件工程課后習題答案

第一章習題參考答案

1﹑軟件產品的特性是什么? 答:軟件產品特性:

⑴是一種邏輯產品,與物質產品有很大的區別。

⑵軟件產品的生產主要是研制,生產成本主要在開發和研制,開發研制完成后,通過復制就產生了大量軟件產品。⑶軟件產品不會用壞,不存在磨損,消耗。

⑷生產主要是腦力勞動,還末完全擺脫手工開發方式,大部分產品是“定做”的⑸開發軟件的費用不斷增加,致使生產成本相當昂貴。2﹑軟件生產有幾個階段?各有何特征?

答:⑴程序設計時代:這個階段生產方式是個體勞動,使用的生產工具是機器語言,匯編語言。

⑵程序系統時代:這個階段生產方式是小集團合作生產,使用的生產工具是高級語言,開發方法仍依靠個人技巧,但開始提出結構化方法。

⑶軟件工程時代:這個階段生產方式是工程化的生產,使用數據庫﹑開發工具﹑開發環境﹑網絡﹑分布式﹑面向對象技術來開發軟件。

3﹑什么是軟件危機?產生原因是什么?答:軟件開發技術的進步未能滿足發展的要求。在軟件開發中遇到的問題找不到解決的辦法,問題積累起來,形態尖銳的矛盾,導致了軟件危機。產生原因:⑴ 軟件規模越來越大,結構越來越復雜。⑵ 軟件開發管理困難而復雜。⑶ 軟件包開發費用不斷增加。⑷ 軟件開發技術落后。⑸ 生產方式落后,仍采用手工方式。⑹ 開發工具落后,生產率提高緩慢。

4﹑什么是軟件工程?它目標和內容是什么?

答:軟件工程就是用科學的知識程和技術原理來定義,開發,維護軟件的一門學科。軟件工程目標:付出較低開發成本;達到要求的功能;取得較好的性能;開發的軟件易于移植;只需較低的維護費用;能按時完成開發任務,及時交付使用;開發的軟件可靠性高。軟件工程內容:研究內容包括開發技術和開發管理兩個方面。開發技術主要研究:軟件開發方法,開發過程,開發工具和環境。開發管理主要研究:軟件管理學,軟件經濟學,軟件心理學。

5﹑軟件工程面臨的問題是什么?

答:軟件工程需要解決的問題:軟件的費用,可靠性,可維護性,軟件生產率和軟件的重用。

6﹑什么是軟件生存周期?它有哪幾個活動?

答:軟件生存周期:一個軟件從提出開發要求開始直到該軟件報廢為止的整個時期。包括:可行性分析和項目開發計劃,需求分析,概要設計,詳細設計,編碼,測試,維護。7﹑什么是軟件生存周期模型?有哪些主要模型?

答:生存周期模型:描述軟件開發過程中各種活動如何執行的模型。對軟件開發提供強有力的支持,為開發過程中的活動提供統一的政策保證,為參與開發的人員提供幫助和指導,是軟件生存周期模型化技術的基礎,也是建立軟件開發環境的核心。主要有:瀑布模型,增量模型,螺旋模型,噴泉模型,基于知識的模型,變換模型。

8﹑什么是軟件開發方法?有哪些主要方法?

答:使用早已定義好的技術集及符號表示習慣來組織軟件生產的過程。通過使用成功的軟件開發方法,在規定的投資和時間內,開發出符合用戶需求的高質量的軟件。軟件開發方法是克服軟件危機的重要方面之一,對軟件工程及軟件包產業的發展起了不可估量的作用。

主要有:結構化方法,JACKSON方法,維也納開發方法﹙VDM﹚,面向對象開發方法。第二章習題參考答案

1.可行性研究的任務是什么?

答:可行研究的任務:首先需要進行概要的分析研究,初步確定項目的規模,目標,約束和限制。分析員再進行簡要的需求分析,抽象出項目的邏輯結構,建立邏輯模型。從邏輯模型出發,經過壓縮的設計,探索出若干種可供選擇的解決方法,對每種解決方法都要研究它的可行性。

主要從三個方面考慮:⑴技術可行性:一般要考慮的情況包括 開發的風險即設計出的系統能否達到要求的功能和性能;資源的有效性;相關技術的發展是否支持;⑵經濟可行性:進行開發成本的估算以及了解取得效益的評估,確定要開發的項目是否值得投資。⑶社會可行性:要開發的項目是否存在任何侵權問題,運行方式在用戶組織內是否可行,現有管理制度﹑人員素質﹑操作方式是否可行。2.可行性研究有哪些步驟?

答:⑴確定項目規模和目標;⑵研究正在運行的系統;收集﹑研究﹑分析現有系統的文檔資料,實地考察系統訪問有關人員,然后描繪現有系統的高層系統流程圖。⑶建立新系統的高層邏輯模型;使用數據流圖和數據字典描述數據在系統中的流動和處理情況。⑷導出和評價各種方案;導出若干較高層次的物理解決方法,根據技術可行性﹑經濟可行性﹑社會可行性進行評估,得到可行的解決方法。⑸推薦可行方案;進行成本~效益分析,決定該項目是否值得開發,若值得開發那么解決方案是什么,并且說明該方案可行的原因和理由。⑹編寫可行性研究報告;將上述可行性過程的結果寫成相應文檔,即可行性研究報告。

3.可行性研究報告有哪些主要內容?

答:⑴引言:編寫本文檔的目的;項目名稱﹑背景;本文檔用到的專門術語和參考資料。⑵可行性研究前提:說明開發項目的功能﹑性能和基本要求;達到的目標;各種限制條件;可行性研究方法和決定可行性的主要因素。⑶對現有系統的分析:說明現有系統的處理流程和數據流程;工作負荷;各項費用支出;所需各類專業技術人吧和數量;所需各種設備;向有系統存在什么問題。⑷所建議的技術可行性分析:所建議系統的簡要說明;處理流程和數據流程;與現有系統比較的優越性;采用所建議系統對用戶的影響;對各種設備﹑現有軟件﹑開發環境﹑運行環境的影響;對經費支出的影響;對技術可行性的評價。⑸所建議系統的經濟可行性分析:說明建議系統的確良各種支出,各種效益;收益投資比;投資順收周期。⑹社會因素可行性分析:說明法律因素,對合同責任﹑侵犯專利權﹑侵犯版權等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理﹑工作制度﹑人吧素質的要求。⑺其它可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。⑻結論意見:說明項目是否能開發;還需什么條件才能開發;對項目目標有何變動等。

4.成本--效益分析可用哪些指標進行度量?

答:⑴投資回收率:通常把建立系統若干年后能取得的收益折算成現在的價值和開發系統所需的費用進行比較得出投資回收率。⑵投資回收期:就是使累計的經濟效益等于最初的投資費用所需的時間。⑶純收入:整個生存周期之內的累計經濟效益(折成現在值)與投資之差。5.項目開發計劃有哪些內容?

答:⑴項目概述:說明項目的各項主要工作;說明軟件的功能﹑性能;為完成項目應具有的條件;用戶及合同承包者承擔的工作完成的期限及其他條件限制;應交付的程序名稱;所使用的語言及程儲形式;應交付的文檔。⑵實施計劃:說明任務的劃分,各任務責任人,項目開發進度,項目的預算,各階段的費用支出,各階段應完成的任務,用圖表說明每項任務的開始和完成時間。⑶人員組織及分工:所需人員類型﹑數量﹑組成結構。⑷交付期限:最后完工日期。

第三章習題參考答案

⒈什么是需求分析?需求分析階段的基本任務是什么?

答:需求分析:開發人員準確地理解用戶的要求,進行細致的調查分析,將用戶非形式的需求陳述轉化為完整的需求定義,再由需求定義轉換到相應的需求規格說明的過程。

基本任務:⑴問題識別:雙方確定對問題的綜合需求,這些需求包括功能需求,性能需求,環境需求,用戶界面需求。⑵分析與綜合,導出軟件的邏輯模型⑶編寫文檔:包括編寫“需求規格說明書”,“初步用戶使用手冊”,“確認測試計劃”,“修改完善軟件開發計劃”

⒉什么是結構分析方法?該方法使用什么描述工具?

答:結構化分析:簡稱SA,面向數據流進行數據分析的方法。采用自頂向下逐層分解的分析策略。頂層抽象地描述整個系統,底層具體地畫出系統工程的每個細節。中間層則是從抽象到具體的過渡。使用數據流圖,數據字典,作為描述工具,使用結構化語言,判定表,判定樹描述加工邏輯。⒊結構化分析方法通過哪些步驟來實現? 答:⑴了解當前系統的工作流程,獲得當前系統的物理模型。⑵抽象出當前系統的邏輯模型。⑶建立目標系統的邏輯模型。⑷作進一步補充和優化。

⒌畫數據流圖應注意什么事項?

答:命名: 不能使用缺乏具體含義的名字,加工名應能反映出處理的功能。1.畫數據流而不是控制流。數據流名稱只能是名詞或名詞短語,整個圖中不反映加工的執行順序。

一般不畫物質流。2.每個加工至少有一個輸入數據流和一個輸出數據流,反映出此加工數據的來源與加工的結果。

編號: 某個加工分解成加一張數據流圖時,上層圖為父圖,下

層圖為子圖。子圖應編號子圖上的所有加工也應編號,子圖的編號應與父圖的編號相對應。3.父圖與子圖的平衡:子圖的輸入輸出 數據流同父圖相應加工的輸入輸出數據流必須一致⑵抽象:認識復雜現象過程所使用權的工具,只考慮事物本質的共同特性,忽略細節和其它因素。通過抽象確定組成軟件的過程實體。⑶信息隱蔽:將模塊實現自身功能的細節與數據“局部數據存儲:當某慨數據流圖中的數據存儲不是父圖中相應加工的外部接口,而只是本圖中某些加工之間的數據接口,則稱這些數據存儲為局部數據存儲。注意數據流圖的易理解性。

⒍什么是數據字典?其作用是什么?共有哪些條目?

答:數據字典(DD)用來定義數據庫流圖中的各個成分的具體含義。有以下四類條目:數據流,數據項,數據存儲,基本加工。

⒎描述加工邏輯有哪些工具?

答:加工邏輯的描述:一般用結構化語言,判定表,判定樹 結構化語言是介于自然語言和形式語言之間的一種半形式化語言。它的結構可分里層和內層

⑴外層:用來描述控制結構,采用順序,選擇,重復三種基本結構。

順序結構:是一組祈使語句,選擇語句,重復語句的順序排列 ②選擇結構:一般用IF-THEN-ELASE-ENDIF,CASE-OF-ENDCASE等關鍵詞。

③重復結構:一般用DO-WHILE-ENDDO,REPEAT-UNTIL等關鍵詞。⑵內層:一般采用祈使語句的自然語言短語,使用數據字典中的名詞和有限的自定義詞,其 動詞含義要具體,盡量不使用形容詞和副詞來修飾。

⒏什么是IDEF方法?IDEF0方法有哪些特點?答:IDEF方法是美國空軍針對計算機輔助制造工程項目中用于進行復雜系統分析和設計的方法,是在結構化分析方法基礎上提出來的。

包括: IDEF0描述系統的功能活動及聯系,建立系統的功能模型。即反映系統”做什么“折功能。IDEF1描述系統的信息及聯系,建立系統的信息模型。IDEF2進行系統模擬,建立系統的動態模型。IDEF0特點:

⑴采用方框和箭頭等簡單圖形符號描述系統的活動和數據流,描述活動所受的約束條件及實現機制。

如下圖描述,其中輸入為完成某活動時所需的數據,輸出指執行活動產生時的數據,控制活動指所受到的約束條件,機制是指活動由誰來完成。⑵采用嚴格的自頂向下﹑逐層分解的方式建立系統功能模型。

⒐簡述SA方法的優缺點。答:SA方法是軟件需求分析中公認的,有成效的,技術成熟,使用廣泛的一種結構化分析方法。較適用于開發數據處理類型軟件的需求分析。利用圖形等半形式化工具表達需求,簡明,易讀,也易于使用。但也存在一些弱點,表現如下:⑴SA方法僅是一個靜態模型,沒有反映處理的順序,即控制流程。⑵SA方法使用DFD在分析與描述”數據要求“方面是有局限的,只有與數據庫技術中的實體聯系圖(ER圖)結合起來,才能較完整地描述用戶對系統的需求。⑶DFD不適合描述人機界面系統的要求,一些人機交互較頻繁的軟件系統。⑷SA方法要與形式化方法結合起來,才能更精確地描述軟件需求。⑸要借助需求分析工具,提高需求分析的質量及效率。

第四章習題參考答案

1、什么是軟件概要設計?該階段的基本任務是什么?

答:把一個軟件需求轉換為軟件表示時,首先設計出軟件總的體系結構。稱為概要設計或結構設計。基本任務:⑴設計軟件系統結構,具體為:1.采用某種設計方法,將一個復雜的系統按功能劃分為模塊。2.確定每個模塊的功能。3.確定模塊之間的調用關系。4.確定模塊之間的接口(模塊之間傳遞的信息)評價模塊的結構質量⑵進行數據結構及數據庫的設計⑶編寫概要設計的文檔 主要內容有:概要設計說明書,數據庫說明書(DBMS的簡介,概念模型,邏輯設計,結果)用戶手冊,修訂測試計劃(測試的策略﹑方法﹑步驟)⑷評審:是否完整地實現了規定的功能﹑性能要求。設計方案是否可行。關鍵的處理及內部接口定義的正確性,有效性,各部分的一致性。

2、軟件設計的基本原理包括哪些內容?

答:⑴模塊化:模塊是軟件的組成部分,是具有獨立功能且可命名的一段程序,所有模塊組成整體,可以滿足問題的要求。模塊化即按照一定的原則,將軟件劃分成若干個模塊,每個模塊完成一個特定的功能,然后把這些模塊按照某種方法組裝成一個軟件系統。(可降低復雜度、減少工作量)

模塊具有以下幾種特性:接口:模塊的輸入輸出。功能:指模塊實現什么功能。邏輯:描述模塊內部如何實現要求及所需的數據。狀態:該模塊的運行環境,模塊間調用與被調用關系。

隱蔽”起來。模塊間僅交換為完成系統功能所必須的信息。⑷模塊獨立性:每個模塊只完成系統要求的獨立的子功能。

3、衡量模塊獨立性的兩個標準是什么?各表示什么含義? 答:內聚:又稱為塊內聯系,指模塊內部各成分之間相互關聯的程度,以高內聚為設計目標。耦合:也稱塊間聯系,模塊之間相互聯系程度的度量,聯系越緊密,耦合性越強,獨立性越差,以低耦合為設計目標。

4、模塊的耦合性有哪幾種?各表示什么含義?

答:⑴內容耦合:一個模塊直接操作或修改另一模塊的數據,或者不通過正常入口直接轉入另一模塊⑵公共耦合:兩個或多個模塊通過共同引用一個全局數據環境相互作用⑶控制耦合:模塊之間通過傳遞控制信息相互作用⑷標記耦合:兩個模塊之間通過傳遞公共指針或地址相互作用的耦合⑸數據耦合:模塊之間通過傳遞數據交換信息⑹無耦合:模塊間無任何關系,獨立工作

5、模塊的內聚性有哪幾種?各表示什么含義?答:⑴偶然內聚:一個模塊各個成分之間毫無關系⑵邏輯內聚:將幾個邏輯上相關的功能放在同一個模塊中⑶時間內聚:一個模塊完成的功能在同一時間執行⑷過程內聚:一個模塊內部的處理成分是相關的,而且必須以特定的次序執行⑸通信內聚:一個模塊的所有成分都集中在同一個數據結構上⑹順序內聚:一個模塊的各個成分同一個功能密切相關,而且一個成分的輸出,作為另外一個成分的輸入⑺功能內聚:模塊內的所有成分屬于一個整體,完成單一的功能。(內聚最高)

6、什么是軟件結構?簡述軟件結構設計的優化準則。

答:⑴改進軟件結構,提高模塊獨立性 首先設計出軟件初始結構,評價該結構,通過模塊分解或合并,力求降低耦合提高內聚。⑵模塊的規模應該適中⑶模塊結構的深度、寬度、扇出和扇入應適中。深度:軟件結構中控制的層數 寬度:軟件結構中同一層次上最大模塊總數 扇入:某一模塊有多少直接調用它的上級模塊數目(越大越好)扇出:一個模塊直接控制(調用)下級模塊的數目。(越少越好,3,4個為宜,不超過9個,“頂層扇出較高,中間扇出較少,底層模塊高扇入多”⑷一個模塊的作用域(范圍),應處在這個模塊的控制域(范圍)之內 模塊的作用域:受該模塊內一個判定影響的所有模塊的集合模塊的控制域:這個模塊本身以及所有直接或間接從屬于它的模塊的集合一個模塊的影響范圍(作用域),應處在這個模塊的模塊的控制范圍(控制域)內。

8、什么樣是“事物流”?什么是“變換流”?試將相應形式的數據流圖轉換為軟件結構圖

答:數據流圖(DFD)一般可分為“變換流”,“事物流”兩種。“變換流”:由輸入﹑輸出﹑變換(或稱處理)三部分組成,是一順序結構。“事物流”:它的某個加工,分離成許多發散的數據流,形成許多加工路徑,并且根據輸入值選擇其中一個路徑來執行。(這人加工稱為事務處理中心)

9.試述“變換分析”﹑“事務分析”設計步驟。

答:變換分析設計步驟:⑴確定變換中心,邏輯輸入和輸出。⑵設計軟件結構的頂層和第一層--變換結構:頂層的功能是完成所有模塊的控制(名稱應是系統名,以體現完成整個系統功能)第一層至少有三種功能模塊:輸入﹑輸出和變換模塊⑶設計中﹑下層模塊,對第一層的模塊自頂向下分解。輸入模塊由兩部分組成:接收數據﹑轉換成調用模塊所需信息。輸出模塊由兩部分組成:將數據轉換成下屬模塊所需的形式﹑ 發送數據 變換模塊:對每個基本加工建立一功能模塊、⑷設計的優化 :輸入部分求精,每個物理輸入設置專門模塊,以體現系統的外部接口。其它輸入模塊與轉換數據模塊都很簡單時,可將它們合并。輸出部分求精:每個物理輸出設置專門模塊,其它也可適當合并。變換部分求精:根據設計準則,對模塊適當合并。事務分析的設計步驟:⑴確定事務中心和加工路徑⑵設計頂層(事務機構)和第一層 頂層模塊有兩個功能:接收數據和根據事務類型調動相應處理模塊。⑶中下層模塊的設計﹑優化工作與變換結構相同。事務型軟件結構包括兩部分: 接收分支 發送分支出 通常包括一調度模塊,當事務類型不多時,可與主模塊合并。

第五章習題參考答案

1、詳細設計的基本任務是什么,有哪幾種描述方法?答:詳細設計的基本任務包括:(1)為每個模塊進行詳細的算法設計(2)為模塊內的數據結構進行設計(3)對數據庫進行物理設計(4)其他設計(5)編寫詳細設計說明書(6)評審 詳細設計的描述

方法有圖形、表格和語言,其中圖形常用結構化程序流程圖、盒圖和PAD(問題分析圖)為描述工具,語言常用過程設計語言(PDL)來作為工具。

2、結構化程序設計的基本要點是什么?答:主要有三個:(1)采用自頂向下、逐步求精的程序設計方法(2)使用三種基本控制結構構造程序。任何程序都可以由順序、選擇、重復(循環)三種基本控制結構構造,這三種基本結構的共同點是單入口、單出口。(3)主程序員組的組織形式。

3、簡述Jackson方法的設計步驟。答:Jackson方法的設計步驟如下:1.分析并確定輸入數據和輸出數據的邏輯結構,并用Jackson結構圖表示這些數據結構。(2)找出輸入數據結構和輸出數據結構中有對應關系的數據單元。3.按一定的規則由輸入、輸出的數據結構導出程序結構。4.列出基本操作與條件,并把它們分配到程序結構圖的適當位置。(5)用偽碼寫出程序。比較?

答:白盒法測試法把測試對象看作一個打開的盒子,測試人員須了解程序內部結構和處理過程,以檢查處理過程的細節為基礎,對程序中盡可能多的邏輯路徑進行測試,檢驗內部控制結構和數據結構是否有錯,實際的運行狀態與預期的狀態是否一致。

白盒法有下列幾種覆蓋標準:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋

從上到下的覆蓋標準其檢錯能力也從弱到強,其中條件組合發現錯誤的能力較強,凡滿足其標準的測試用例,也必然滿足前四種覆蓋標準。在實際的邏輯測試中,一般以條件組合覆蓋為主設計測試用例,然后再補充部分用例來達到路徑覆蓋的測試標準。

什么是黑盒測試法?采用黑盒技術測試用例有哪幾種方法?這些第六章習題參考答案

程序語言有哪些共同特征?

答:程序語言的共同特征(似為特性更符合題意)是指程序設計語言的語言特性,包括心理特性、工程特性和技術特性三個方面。語言的心理特性對人機通信的質量有主要的影響;語言的工程特性對軟件開發成功一否有重要的影響,此外,語言的技術特性也會影響軟件設計的質量。

在項目開發時選擇程序設計語言通常考慮哪些因素?

答:通常要考慮的因素有:項目的應用領域、軟件開發的方法、軟件執行的環境、算法和數據結構的復雜性以及軟件開發人員的知識等。

第4代語言(4GL)有哪些主要特征?答:4GL的主要特征是:1.友好的用戶界面2.兼有過程性和非過程性雙重特性3.高效的程序代碼4.完備的數據庫(5)應用程序生成器舉例說明各種程序設計語言的特點及適用范圍?

答:以常見的一些編程語言為例:FORTRAN語言,它不僅面向科學計算,數據處理能力也極強。適用于科學工程計算;Pascal語言,具有很強的數據和過程結構化能力,它語言簡明,數據類型豐富,程序結構嚴謹。它是第一個體現結構化編程思想的語言。用于描述結構化算法和科學計算,操作系統的編寫 ;C語言:功能強大,支持復雜的數據結構,可大量運用指針,具有豐富靈活的操作運算符及數據處理操作符,它還具有匯編語言的某些特征,使程序運行效率高。可用于許多領域,特別是在操作系統等方面有較大優勢。Coble語言,它具有極強的數據定義能力,程序說明與硬件環境說明分開、數據描述與算法描述分開。結構嚴謹層次分明,廣泛用于商業數據處理。SQL:結構化查詢語言,用于對數據庫進行存取管理。

匯編語言和Ada語言,主要用于實時處理和編寫系統軟件。Prolog、Lisp語言。Lisp是一種函數型語言,特別適用于組合問題中符號運算和表處理,用于定理證明、樹的搜索和其他問題的求解。Prolog是一種邏輯型語言,它提供了支持知識表示的特性,每一個程序由一組表示事實、規則和推理的句子組成,比較接近與自然語言。這兩種語言主要用于人工智能系統開發。C++、Java語言,是面向對象的設計語言,用于面向對象的方開發軟件。

什么是程序設計風格?為了具有良好的設計風格,應注意哪些方面的問題?

答:程序設計風格是指一個人編制程序時所表現出來的特點、習慣、邏輯思路等。

要形成良好的程序設計風格,應從源程序文檔化、數據說明、語句構造、輸入輸出和追求效率幾個方面加以注意。第七章習題參考答案

軟件測試的目的是什么?軟件測試中,應注意哪些原則?

答:軟件測試的目的是為了發現軟件的錯誤。軟件測試中應注意的原則有:

測試用例應由輸入數據和預期的輸出數據兩部分組成。這樣便 于對照檢查,做到有的放矢。測試且例不僅選用合理輸入數據,還要選擇不合理的輸入數據。這樣能更多地發現錯誤,提高程序的可靠性。對于不合理的輸入數據,程序應拒絕接受,并給出相應的提示。

除了檢查程序是否做了它應該做的事,還應該檢查程序是否做了它不應該做的事。

應制定測試計劃并嚴格執行,排除隨意性。長期保留測試用例。

對發現錯誤較多的程序段,應進行更深入的測試。(7)程序員應避免測試自己的程序。測試是一種“挑剔性”的行為,心理狀態是測試自己程序的障礙。

什么是白盒測試法?有哪些覆蓋標準?試對他們的檢錯能力進行

方法各有什么特點?

答:黑盒測試法把被測試對象看成是一相黑盒子,測試人員完全不考慮程序的內部結構和處理過程,只在軟件接口處進行測試,依據需求規格說明書,檢查程序是否滿足功能要求。

采用黑盒技術測試用例的方法有:等價類的劃分、邊界值分析、錯誤推測和因果圖。

軟件測試要經過哪些步驟?這些測試與軟件開發各階段之間有什么關系?

答:軟件測試要經過的步驟是:單元測試→集成測試→確認測試→系統測試。

單元測試對源程序中每一個程序單元進行測試,檢查各個模塊是否正確實現規定的功能,從而發現模塊在編碼中或算法中的錯誤。該階段涉及編碼和詳細設計文檔。

集成測試是為了檢查與設計相關的軟件體系結構的有關問題,也就是檢查概要設計是否合理有效。

確認測試主要是檢查已實現的軟件是否滿足需求規格說明書中確定了的各種需求。

系統測試是把已確認的軟件與其他系統元素(如硬件、其他支持軟件、數據、人工等)結合在一起進行測試。以確定軟件是否可以支付使用。

單元測試有哪些內容?測試中采用什么方法?答:單元測試主要針對模塊的以下五個基本特征進行測試:1.模塊接口 2.局部數據結構 3.重要的執行路徑4.錯誤處理 5.邊界條件6.測試的方法是為被測試模塊編寫驅動模塊和樁模塊來實現被測試單元的可運行。通過驅動模塊來模擬被測試模塊的上級調用模塊,以上級模塊調用被測模塊的格式驅動被測模塊,接收被測模塊的測試結構并輸出。樁模塊則用來代替被測試模塊所調用的模塊。它的作用是返回被測模塊所需的信息。

什么是集成測試?非漸增式測試與漸增式測試有什么區別? 漸增式測試如何組裝模塊?

答:集成測試是指在單元測試的基礎上,將所有模塊按照設計要求組裝成一個完整的系統進行的測試。

非漸增式測試是指首先對每個模塊分別進行單元測試,再把所有模塊組裝成一個完整的系統進行的測試。而漸增式測試就是逐個把未經測試的模塊組裝到已經過測試的模塊上去進行集成測試,每加入一個新模塊進行一次集成測試,重復此過程直到程序組裝完畢。漸增式測試有兩種不同的組裝方法:自頂向下和自底向上結合。兩者區別是:(1)非漸增式方法把單元測試和集成測試分成兩個不同的階段,前一階段完成模塊的單元測試,后一階段完成集成測試。而漸增式測試往往把單元測試和集成測試合在一起,同時完成。(2)非漸增式需要更多的工作量,因為每個模塊都需要驅動模塊和樁模塊,而漸增式利用已測試過的模塊作為驅動模塊或樁模塊,因此工作量少。漸增式可以較早地發現接口之間的錯誤,非漸增式最后組裝時才發現。(3)漸增式有利于排錯,發生錯誤往往和最近新加入的模塊有關,而非漸增式發現接口錯誤推遲到最后,很難判斷是哪一部分接口出錯。(4)漸增式比較徹底,已測試的模塊和新的模塊再測試。(5)漸增式點用時間較多,但非漸增式所需更多的驅動模塊和樁模塊也占用一些時間。(6)非漸增式開始可并行測試所有模塊,能充分利用人力,對測試大型軟件很有意義。什么是確認測試?該階段有哪些工作?

答:確認測試又稱有效性測試。它的任務是檢查軟件的功能與性能是否與需求規格說明書中確定的指標相符合。因而需求說明是確認測試的基礎。確認測試階段有兩項工作:進行確認測試與軟件配置審查。

調試的目的是什么?調試有哪些技術手段?

答:調試則是在進行了成功的測試之后才開始的工作。調試的目的是確定錯誤的原因和位置,并改正錯誤,因此調試也稱為

糾錯(Debug)。調試的技術手段有簡單的調試方法、歸納法、演繹法和回溯法等。第八章習題參考答案 軟件維護有哪些內容? 答:(1)校正性維護。在軟件交付使用后,一些隱含的錯誤在某些特定的使用環境下會暴露出來。為了識別和糾正錯誤,修改軟件性能上的缺陷,應進行確定和修改錯誤的過程,這個過程就稱為校正性維護。

(2)適應性維護。為了使應用軟件適應計算機硬件、軟件環境及數據環境的不斷發生的變化而修改軟件的過程稱為適應性維護。

(3)完善性維護。為增加軟件功能、增強軟件性能、提高軟件運行效率而進行的維護活動稱為完善性維護。

(4)預防性維護。為了提高軟件的可維護性和可靠性而對軟件進行的修改稱為預防性維護。軟件維護的特點是什么? 答:主要體現在三個方面:

(1)非結構化維護和結構化維護。軟件的開發過程對軟件的維護有很大的影響。若不采用軟件工程的方法開發軟件,則軟件只有程序而無文檔,維護工作非常困難,這是一種非結構化的維護。若采用軟件工程的方法開發軟件,則各階段都有相應的文檔,容易進行維護工作,這是一種結構化的維護。

(2)維護的困難性。軟件維護的困難性是由于軟件需求分析和開發方法的缺陷。軟件生存周期中的開發階段沒有嚴格而又科學的管理和規劃,就會引起軟件運行時的維護困難。

(3)軟件維護的費用。軟件維護的費用在總費用中的比重是在不斷增加的,這是軟件維護有形的代價。另外還有無形的代價,即要占有更多的資源。軟件維護費用增加的占有原因是軟件維護的生產率非常低。軟件維護的流程是什么?

答:軟件維護的流程如下:知道維護申請報告、審查申請報告并批準、運行維護并做詳細記錄、復審。軟件維護的副作用有哪些? 答:維護的副作用有以下三種:

(1)編碼副作用。在使用程序設計語言修改源代碼時可能引入的錯誤。

(2)數據副作用。在修改數據結構時,有可能造成軟件設計與數據結構不匹配,因而導致軟件錯誤。數據副作用是修改軟件信息結構導致的結果。但它可以通過詳細的設計文檔加以控制。(3)文檔副作用。如果對可執行軟件的修改沒有反映在文檔中,就會產生文檔副作用。

什么是軟件可維護性?可維護性度量的特性是什么?

答:軟件可維護性的定義:軟件能夠被理解、校正、適應及增強功能的容易程度。軟件的可維護性可用以下七個質量特性來衡量,即可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。

提高可維護性的方法有哪些? 答:(1)建立明確的軟件質量目標。(2)使用先進的軟件開發技術和工具。(3)建立明確的質量保證。(4)選擇可維護性的程序設計語言。(5)改進程序的文檔。第九章習題參考答案

漸增模型有幾種?各有何特點?

答:漸增模型有兩種類型,一是增量構造模型,二是演化提交模型。增量構造模型是在瀑布模型基礎上,對一些階段進行整體開發,對另一些階段進行增量開發。演化提交模型則是在瀑布模型的基礎上,所有階段都進行增量開發,不僅是增量開發,也是增量提交。

2、快速原型模型有幾種,各有什么特點?

答:快速原形模型根據原型的不同作用,有三類原型模型: 探索型原型:把原型用于開發的需求分析階段,目的是要弄清用戶的需求,確定所期望的特性,并探索各種方案的可行性。它主要針對開發目標模糊,用戶與開發者對項目都缺乏經驗的情況,通過對原型的開發來明確用戶的需求。

實驗型原型:主要用于設計階段,考核實現方安是否合適,能否實現。對于一個大型系統,若對設計方案心中沒有把握時,可通過這種原型的開發來證實設計方案的正確性。

(3)演化型原型:它將原型思想擴展到軟件開發的全過程,就是及早向用戶提交一個原型系統,在得到用戶認可后,將原型系統不斷擴充演化為最終的軟件系統。快速原型的開發步驟是什么? 答:快速原型的開發步驟是:(1)快速分析:在分析人員與用戶的配合下,迅速確定系統基本需求并開始構造原型。(2)構

造原型:在快速分析的基礎上,根據基本需求說明盡快實現一

個可運行的系統。(3)運行原型:通過運行快速原型,發現問題,消除誤解,達到開發者也用戶的充分協調。(4)評價原型:在運行的基礎上,評價原型的特性,分析運行效果是否滿足用戶的需求,提出全面的修改意見。(5)修改:根據評價原型的活動結果進行修改,修改過程代替初始的快速分析,從而實現原型開發的循環過程。用戶與開發者在這種循環過程中不斷接近系統的最終要求。上述步驟在軟件工具的支持下往往是互相交融在一起的,而不再象瀑布模型那樣嚴格的階段劃分,線性推進。

評價快速原型模型的優缺點。答:快速原型的優點是:(1)可及早為用戶提供有用的產品。(2)可及早發現問題,隨時糾正錯誤。(3)減少技術、應用風險,縮短開發時間,減少費用、提高生產率。(4)通過實際運行原型,提供直接評價系統的方法,促使用戶主動參與開發活動,加強了信息反饋,促進各類人員的協調,減少誤解,適應需求變化,能有效提高系統質量。快速原型的缺點是:1.缺乏豐富而強有力的軟件工具和開發環境。2.缺乏有效的管理機制,還未建立起自己的開發標準。3.對設計開發環境要求較高。(4)在多次重復改變原型的過程中,程序員會感到厭倦。(5)系統的易變性對測試有一定影響,難于做到徹底測試,更新文檔較為困難。

4、比瀑布模型與增量模型,指出增量模型的新思路。答:瀑布模型屬于整體開發模型,它規定在開始下一個階段的工作之前,必須完成前一階段的所有細節。瀑布模型很難適應需求可變、模糊不定的軟件系統的開發,而且在開發過程中用戶很難參與進去,只有到開發結束才能看到整個軟件系統。這種理想的、線性的開發過程缺乏靈活性,不適應實際的開發過程。增量模型是在瀑布模型的基礎上加以修改而形成的。屬于非整體開發模型。

它的基本思路是為了使開發過程具有一定的靈活性和可修改性,在開發過程中推遲某些階段或所有階段中的細節,從而較早的產生工作軟件。第十章習題參考答案

說明對象、類、類結構、消息的基本概念。

答:(1)對象:對象是人們要進行研究的任何事物,它不僅能表示具體的事物,還能表示抽象的規則、計劃或事件。對象包括有形實體、作用、事件、性能說明等類型。對象具有狀態和行為。一個對象用數據值來描述它的狀態,對象的操作則用于改變狀態,對象及其操作就是對象的行為。對象實現了數據和操作的結合,使數據和操作封裝于對象的統一體中。對象內的數據具有自己的操作,從而可靈活地專門描述對象的獨特行為,具有較強的獨立性和自治性,其內部狀態不受或很少受外界的影響,具有很好的模塊化特點。為軟件重用奠定了堅實的基礎。(2)類:具有相同或相似性質的對象的抽象就是類。因此,對象的抽象就是類,類的具體化就是對象,也可以說類的實例是對象。(3)類結構:類與類之間的結構關系,包括一般-具體結構關系和整體-部分結構關系。一般-具體關系結構稱為分類結構,也可以說是“或”關系或“is a”關系,類的這種層次結構可用來描述現實世界中的一般化的抽象關系,通常越在上層的類越具有一般性和共性,越在下層的類越具體、越細化。整體-部分結構稱為組裝結構,它們之間的關系是一種“與”關系,或者是“has a”關系。類的這種層次關系可用來描述現實世界中的類的組成的抽象關系。上層的類具有整體性,下層的類具有成員性。在類的層次結構中,通常上層的類稱為父類或超類,下層類稱為子類。(4)消息:對象之間進行通信的構造叫做消息。在對旬的操作中,當一個消息發送給某個對象時,消息包含接收對象去執行某種操作的信息。接收消息的對象經過解釋,然后給予響應。這種通信機制稱為消息傳遞。發送一條消息的格式是“對象名.方法名(參數)”。

說明面向對象的特征和要素。答:面向對象的特征是:(1)對象唯一性。每個對象都有自身唯一的標識,在對象生存期中,其標識不變,不同的對象不能有不同的標識。(2)分類性。是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類(3)繼承性。是子類自動共享父類數據結構和方法的機制,這是類之間的一種關系。(4)多態性。是指相同的操作或函數過程可以作用于多種類型的對象上并獲得不同的結果。面向對象的要素是:1.抽象。2.封裝性(信息隱蔽)(3)共享性。說明動態模型的特征,說明事件,腳本、狀態的含義。

答:動態模型是與時間和變化有關的系統性質,該模型描述了系統的控制結構,它表示了瞬時的、行為化的系統控制性質,它關心的是系統的控制,操作的執行順序,它從對象的事件和狀態的角度出發,表現了相互行為。事件是指特定時刻發生的某件事情,它是某事情發生的信號,它沒有持續時間,它是一種相對性的快速事件。腳本是完成系統某個功能事件序列,側重于表達說明發生于系統執行過程中的一個特定場景,用事件跟蹤圖表達。狀態是對象屬性值的抽象。狀態指明了對象對輸入事件的響應。

說明功能模型的特征,比較功能模型的DFD和結構化方法的DFD異同。

答:功能模型描述了系統的所有計算。功能模型指出發生了什么,動態模型確定什么時候發生,而對象模型確定發生的客體。功能模型表明一個計算如何從輸入值得到輸出值,它不考慮所計算的次序。功能模型由多張數據流圖組成。數據流圖說明數據流是如何從外部輸入、經過操作和內部存儲輸出到外部的。功能模型也包括對象模型中值的約束條件。

說明三種分析模型的關系。答:三種分析模型之間關系是這樣的:功能模型指出發生了什么,動態模型確定什么時候發生,而對象模型確定發生的客體。說明對象建模的過程。

答:對象建模的過程如下:首先標識類和關聯,因為它們影響了整體結構和解決問題的方法,其次是增加屬性,進一步描述類和關聯的基本網絡,使用繼承合并和組織類,最后將操作增加到類中去作為構造動態模型和功能模型的副產品。(1)確定類。構造對象模型的第一步是標出來自問題域的相關對象類,包括物理實體和概念。所有類在應用中都必須有意義。檢查問題陳述中的所有名詞,產生暫定類。然后去掉不必要的類和不正確的類。(2)準備數據字典。為所有建模實體準備一個數據詞典。準確描述各個類的精確含義,描述當前問題中的類的范圍,包括對類的成員、用法方面的假設或限制。1.確定關聯。兩個或多個類之間的相互依賴就是關聯。從問題中抽取所有可能的關聯表示,把它們記下來,但不要過早去細化這些表述。2.確定屬性。屬性是個體對象的性質,通常用修飾性的名詞詞組來表示。只考慮與具體應用直接相關的屬性,不考慮那些超出問題范圍的屬性,首先找出重要屬性,避免那些只用于實現的屬性,要為各個屬性取有意義的名字。3使用繼承來細化類。4.完善對象模型。

說明功能建模的過程。答:功能建模的過程如下:(1)確定輸入、輸出值(2)建立數據流圖

10、說明對象設計的步驟。

答:對象設計要確定實現用到的類、關聯的完整定義,接口的形式以及實現操作方法的算法,可以增加實現必須的內部對象,對數據結構和算法進行優化。1.獲得操作 2確定操作的目標對象 3.算法設計 4.優化設計 5.控制的實現 6調整繼承(7)關聯的設計

第十一章習題參考答案

軟件質量與軟件質量保證的含義是什么?

答:從實際應用來說,軟件質量定義包括三個一致性:1.與所確定的功能和性能需求的一致性;(2)與所成文的開發標準的一致性; 3.與所有專業開發的軟件所期望的隱含特性的一致性。4.軟件質量保證是指確定、達到和維護所需要的軟件質量而進行的所有有計劃、有系統的管理活動。影響軟件質量的因素有哪些? 答:影響軟件質量的因素分為可以直接度量的因素(如單位時間內千行代碼中所產生的錯誤)和只能間接度量的因素(如可用性和可維護性)。

什么是軟件質量保證策略?軟件質量保證的主要任務是什么? 答:軟件質量保證策略是指軟件質量保證工作的過程和側重點。質量保證的主要任務包括以下幾點:1.正確定義用戶的要求。2.技術方法的應用。3.提高軟件開發的工程能力。4.軟件的復用。5.發揮每個開發者的能力。6.組織外部力量協作。7.排除無效勞動。(8)提高計劃和管理質量。程序復雜性的度量方法有哪些?

答:軟件復雜性的度量方法有:1.代碼行度量法:以源代碼行數作為程序復雜性的度量。

2、McCabe度量法:一種基于程序控制流的復雜性度量方法。

什么是軟件的可靠性?它們能否定量計算?

答:軟件可靠性是指在給定的時間內,在規定的環境條件下系統完成所指定功能的概率。衡量軟件可靠性的兩個常用指標是平均失效等待時間MTTF和平均失效間隔時間MTBF。就是說可以定量計算。

7、說明容錯軟件的定義與容錯的一般方法。

答:容錯軟件的定義有四種,指規定功能的軟件,(1)在一定程度上對自身錯誤的作用具有屏蔽能力的軟件。(2)在一定程度上能從錯誤狀態自動恢復到正常狀態的軟件。(3)在因錯誤而發生錯誤時,仍然能在一定程度上完成預期的功能的軟件。(4)在一定程度上具有容錯能力的軟件。

實現容錯技術的主要手段是冗余。冗余通常分為四類:1.結構冗余,又分為靜態、動態和混合冗余三種。2.信息冗余 3.時間冗余(4)冗余附加技術第十二章習題參考答案

軟件工程管理包括哪些內容?

答:軟件工程管理的具體內容包括對開發人員、組織機構、用戶、文檔資料等方面的管理。

2、軟件項目計劃中包括哪些內容?

答:軟件項目計劃內容包括:1.范圍 2.資源 3.進度安排 4成本估算(5)培訓計劃

3、軟件開發成本估算方法有哪幾種? 答:軟件開發成本估算的方法主要有:(1)自頂向下估算方法(2)自底向上估算方法(3)差別估算方法

以及專家估算法、類推估算法、算式估算法等幾類方法。

4、什么是軟件配置管理?什么是基線?

答:軟件配置管理,簡稱SCM(Software Configuration Management),是指一組管理整個軟件生存期各階段中變更的活動。軟件配置管理技術可以使軟件變更所產生的錯誤達到最小并最有效地提高生產率。

基線:是軟件生存期中各開發階段的一個特定點,它的作用是把開發各階段工作的劃分更加明確化,使本來連續的工作在這些點上斷開,以便于檢查與肯定階段成果。

5、軟件工程標準化的意義是什么?都有哪些軟件工程標準? 答:軟件工程標準化可以為軟件工程各個階段的活動提供統一的行動規范和衡量準則,使得各種工作都能有章可循。軟件工程標準根據其制定機構與適用范圍,可分為:1.國際標準2.國家標準 3.行業標準 4.企業規范

5、項目(課題)規范

6、請說明軟件文檔的作用?

答:軟件文檔的作用是:1.提高軟件開發過程的能見度;2.提高開發效率;3.作為開發人員階段工作成果和結束標志;4.記錄開發過程的有關信息便于使用與維護;5.提供軟件運行、維護和培訓有關資料;6.便于用戶了解軟件功能、性能。第十三章習題參考答案

1、什么是軟件開發環境?請列出其發展情況。

答:軟件開發環境是指在計算機的基本軟件的基礎上,為支持軟件的開發而提供的一組工具軟件系統。具體地說,軟件開發環境是一組相關工具的集合。這些相關工具按一定的開發方法或一定開發處理模型組織起來的,這些相關工具支持整個軟件生存期的各階段或部分階段。軟件開發環境的發展階段:

(1)70年代,軟件開發與設計方法出現了結構化分析技術的一整套相互銜接的SA-SD的方法學。與此相適應的計算機輔助軟件工程技術則主要由開發孤立的軟件工具而逐步向程序設計環境的開發和使用方向發展,出現了第一代的基于正文的CASE工具。

(2)80年代中期與后期,主要是實時系統設計方法,以及面向對象的分析和設計方法的發展,它克服了結構化技術的缺點。在這期間開發了第二代的CASE工具,其特點是支持使用圖形表示的結構化方法,如數據流圖與結構圖。其開發環境表現在提高環境中工具的集成性方面,如“集成的項目支持環境”。(3)80年代后期和90年代初期出現了“基于信息工程CASE”技術,這種環境集成了用于項目計劃、分析、設計、編程、測試和維護的一個工具箱的集合。

(4)90年代出現一系列集成的CASE軟件產品,用以實現需求管理、應用程序分析設計和建模、編碼、軟件質量保證和測試、過程和項目管理及文檔生成管理等軟件開發工作的規范化、工程化和自動化。

2、請敘述軟件開發環境的分類。答:軟件開發環境可按解決的問題、軟件開發環境的演變趨向和集成化程度進行分類:(1)按解決的問題可分為:程序設計環境、系統合成環境、項目管理環境三類。(2)按軟件開發環境的演變趨向可分為:以語言為中心的環境、工具箱環境和基于方法的環境三類。(3)按集成化程度有第一代、第二代、第三代的開發環境。

3、何謂軟件工具?通常包含哪幾部分?答:軟件工具的定義是:可用來幫助和支持軟件需求分析、軟件開發、測試、維護、模擬、移植或管理而編制的計算機程序或軟件。軟件工具是一個程序系統。軟件工具通常由工具、工具接口和工具用戶接口三

部分構成。

4、當今軟件工具發展有何特點?

答:軟件工具的發展有以下特點:(1)軟件工具由單個工具向多個工具集成化方向發展。(2)重視用戶界面設計。(3)不斷地采用新理論和新技術。(4)軟件工具的商品化與軟件產業的發展形成良性互動。

5、什么是CASE?CASE工具有哪些分類?答:CASE是一組工具和方法的集合,可以輔助軟件開發生命周期各階段進行軟件開發。CASE把軟件開發技術、軟件工具和軟件開發方法集成到一個統一而一致的架中,并且吸收了CAD(計算機輔助設計)、軟件工程、操作系統、數據庫、網絡和許多其他計算機領域的原理和技術。因而,CASE領域是一個應用、集成和綜合的領域。根據CASE系統對軟件過程的支持范圍,CASE可分為三類:(1)支持單個過程任務的工具。(2)支持某一過程所有活動或某些活動的工作臺。(3)環境支持軟件過程大部分乃至所有活動,一般包括幾個不同工作臺的集合。

6、請敘述集成化CASE的五級模型。答:集成化CASE的五級模型包括(1)平臺集成:工具運行在相同的硬件/操作系統平臺上(2)數據集成:工具使用共享數據模型來操作(3)表示集成:工具使用相同的用戶界面(4)控制集成:工具激活后能控制其他操作(5)過程集成:工具在一個過程模型和“過程機”的指導下使用

7、CASE工作臺有哪些分類?

答:CASE工具臺是一組工具集,支持像設計、實現或測試等特定的軟件開發階段。CASE工具組裝成一個工具臺后工具能協同工作,可提供比單一工具更好的支持。CASE工作臺包括:(1)程序設計工作臺。由支持程序設計的一組工具組成。(2)分析和設計工作臺。支持軟件過程的分析和設計階段。(3)測試工作臺。(4)交叉開發工作臺。這些工作臺支持在一種機器上開發軟件,而在其他的系統上運行所開發的軟件。(5)配置管理(CM)工作臺。這些工作臺支持配置管理。(6)文檔工作臺。這些工具支持高質量文檔的制作。(7)項目管理工作臺。支持項目管理活動。

下載軟件工程答案word格式文檔
下載軟件工程答案.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    軟件工程試卷及答案課件

    軟件工程試卷及答案 一、單項選擇題(本大題共20小題,每小題1分,共20分) 在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未......

    廣工2010軟件工程答案

    一、說明軟件生命周期的組成并簡單說明每個組成的主要任務 答:軟件生命周期可以有四部分組成,它們分別是: 1,軟件分析時期。這個時期的根本任務是確定軟件項目的目標,軟件應具備......

    軟件工程答案(共五則范文)

    軟件工程課后習題答案 殷鋒主編·天津科學技術出版社 注:有些可能錯誤,讀者自己注意 第一章一、 填空題:1、 軟件是計算機系統中與硬件相互依存的另一部分,是包括、、及相關文檔......

    軟件工程試卷及答案(易考題_)

    1.在下列工具與環境中( )屬于較早期的CASE。 A.基于信息工程CASE B.人工智能CASE C.結構的基于圖形CASE D.集成的CASE環境 2.Putnam成本估算模型是一個( )模型。 A.靜態單變量 B.動......

    軟件工程試題及答案(A)(共5篇)

    A卷1、瀑布模型把軟件生命周期劃分為8個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計......

    軟件工程模擬試題及答案2[推薦]

    《軟件工程》模擬B卷 專業年級姓名得分 一.名詞解釋(每個2分) 1. 軟件危機 3.數據字典 4.模塊 5.PDL 一、 填空題(每題2分) 1.————是計算機程序及其說明程序的各種文檔。——......

    軟件工程

    1.軟件危機的概念 系統的數據要求,功能需求,性能需求,顯示出程序的輪廓。 軟件危機是指在計算機軟件開發、使用與可靠性需求,可用性需求,出錯處理需求,混合方式 維護過程中遇到的......

    《軟件工程》

    《軟件工程》課程分析 本課程是軟件技術專業學生必修的一門專業必修課。根據培養軟件開發人員的需要,本課程的任務是使學生通過本課程的學習,了解軟件項目開發和維護的一般過......

主站蜘蛛池模板: 国产成人无码精品久久二区三区| 国产女人乱子对白av片| 青草精品国产福利在线视频| 亚洲成av人片在线观看天堂无码| 亚洲区激情区无码区日韩区| 午夜精品久久久久久| 热99re久久国超精品首页| 高h猛烈失禁潮喷无码视频| 亚洲欧美日韩另类精品一区| 亚洲成在人网站av天堂| 免费国精产品wnw2544| 日本不卡在线视频二区三区| 伊人久久精品久久亚洲一区| 无码人妻丰满熟妇啪啪网站| 国产无遮挡aaa片爽爽| 国产精品毛片va一区二区三区| 亚洲第一无码精品一区| 真人作爱免费视频| 精品日韩欧美一区二区在线播放| 国产成年无码久久久久毛片| 成人亚洲一区无码久久| 97超级碰碰碰碰久久久久| 国产香线蕉手机视频在线观看| 亚洲人成亚洲人成在线观看| 中文字幕乱码亚洲∧v日本| 337p日本欧洲亚洲大胆裸体艺术| 久久精品无码一区二区三区| 亚洲熟妇无码乱子av电影| 亚洲熟妇色自偷自拍另类| 亚洲va欧美va国产综合| 波多野av一区二区无码| 中文字幕乱码人妻二区三区| 亚洲日本一区二区三区在线| 看曰本女人大战黑人视频| 亚洲国产精品无码专区影院| 中文字幕人妻熟在线影院| 欧美顶级少妇做爰hd| 欧美日韩中文字幕视频不卡一二区| 精品少妇无码av在线播放| 国产超碰人人做人人爽av大片| 亚洲无线码中文字幕在线|