軟件工程習題及答案_第1頁
軟件工程習題及答案_第2頁
軟件工程習題及答案_第3頁
軟件工程習題及答案_第4頁
軟件工程習題及答案_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件工程習題及部分參考答案判斷題軟件也會磨損和老化。( X)完善性維護是提高或完善軟件的性能。(,)數據字典是對數據流圖中的數據流,加工、數據存儲、數據的源和終點進行詳細定義。( X)軟件是指用程序設計語言(如PASCAL ,C,VISUAL BASIC 等)編寫的程序,軟件開發(fā)實際上就是編寫程序代碼。(X)軟件模塊之間的耦合性越弱越好。(,)如果通過軟件測試沒有發(fā)現錯誤,則說明軟件是正確的。(X)快速原型模型可以有效地適應用戶需求的動態(tài)變化。(,)模塊化,信息隱藏,抽象和逐步求精的軟件設計原則有助于得到高內聚,低耦合度的軟件產品。(,)集成測試主要由用戶來完成。(X)確認測試計劃應該在可行性

2、研究階段制定(X)白盒測試無需考慮模塊內部的執(zhí)行過程和程序結構,只要了解模塊的功能即可。(X)軟件概要設計包括軟件系統(tǒng)結構設計以及數據結構和數據庫設計。(V)軟件工程采用的生存周期方法就是從時間角度對軟件的開發(fā)和維護這個復雜問題進行分解,將軟件生存的時期分為若干階段。(V )系統(tǒng)流程圖表達的是部件的信息流程,還表示對信息進行加工處理的控制過程。(X )模塊越多,開發(fā)成本越小。(X )軟件測試的目的就是證明軟件沒有錯。(X )PAD圖在設置了五種基本的控制結構后,還允許遞歸使用。 (V )在進行了可行性分析后,需求分析就只需要解決目標系統(tǒng)的設計方案。(X)S A法是面向數據流,建立在數據封閉原則

3、上的需求分析方法。(,)HIPO法既是需求分析方法,又是軟件設計方法。(,)在面向對象的需求分析方法中,建立動態(tài)模型是最主要的任務。(X)加工小說明是對系統(tǒng)流程圖中的加工進行說明。(X)判定表的優(yōu)點是容易轉換為計算機實現,缺點是不能夠描述組合條件。(X)需求分析的主要方法有 SD法、OOA法及HIPO法等。(X )分層的DFD圖可以用于可行性分析階段,描述系統(tǒng)的物理結構。(X )信息建模方法是從數據的角度來建立信息模型的,最常用的描述信息模型的方法是E-R 圖。(,)用于需求分析的軟件工具,應該能夠保證需求的正確性,即驗證需求的一致性、完整性、現實性和有效性。(,)PDL 經常表現為一種&qu

4、ot;混雜"的形式,他不允許自然語言如英語的詞匯與某種結構化程序設計語言(如Pascal,C,Ada等)的語法結構交織在一起.(X)設計階段的輸出是編碼階段的輸入.(V)通過軟件測試,可以發(fā)現軟件中所有潛伏的錯誤.(X)非結構化維護用于軟件的配置中只有源代碼維護.(V)系統(tǒng)規(guī)格說明是系統(tǒng)分析和定義階段生成的一種文檔.(V)數據流圖的分解速度應保持較高.通常一個加工每次可分解為1020 個子加工.(X)內聚度標志一個模塊內部各成分彼此結合的緊密程度,按其高低程度可分為七級,內聚度越低越好.(X)文檔記錄軟件開發(fā)活動和階段成果,具有永久性,可供人或機器閱讀.(V)生產高質量的軟件產品是軟

5、件工程的首要目標.(V)軟件開發(fā)人員對用戶需求的理解有偏差,這將導致軟件產品與用戶的需求不一致,是產生軟件危機的唯一原因.(X)開發(fā)一個軟件項目總存在某些不確定性,即存在風險.有些風險如果控制得不好,可能導致災難性的后果.(V)結構化維護用于待維護的軟件的配置是完整的維護.(V)用戶本身的技能,個性上的差異,行為方式的不同,不會對人機界面使用造成影響.(X程序的可靠性,可維護性和效率通常由程序設計語言,源代碼的質量,和語言的實現機制決定的.(V)程序文檔一般指以注釋的形式嵌入程序中的代碼描述.(V)為提高可交互性一般應提高用戶對話, 移動和思考的效率,即最大可能地減少擊鍵次數縮短鼠標移動的距離

6、,避免使用戶產生無所適從的感覺.(V)一般單元測試不可以并行進行.(X)螺旋模型是在瀑布模型和增量模型的基礎上增加了風險分析活動。(V)數據字典是對數據流圖中的數據流,加工、數據存儲、數據的源和終點進行詳細定義。( X)軟件模塊之間的耦合性越弱越好。(,)如果通過軟件測試沒有發(fā)現錯誤,則說明軟件是正確的。( X)快速原型模型可以有效地適應用戶需求的動態(tài)變化。(,)模塊化,信息隱藏,抽象和逐步求精的軟件設計原則有助于得到高內聚,低耦合度的軟件產品。(,)集成測試主要由用戶來完成。( X)確認測試計劃應該在可行性研究階段制定(X)白盒測試無需考慮模塊內部的執(zhí)行過程和程序結構,只要了解模塊的功能即可

7、。( X)軟件概要設計包括軟件系統(tǒng)結構設計以及數據結構和數據庫設計。(,)一個好的開發(fā)人員應具備的素質和能力包括善于與周圍人員團結協(xié)作,建立良好的人際關系,善于聽取別人的意見。(,)目前的絕大多數軟件都不適合于快速原型技術。( X)缺乏處理大型軟件項目的經驗。是產生軟件危機的唯一原因。( X)通常緊致性好的語言一致性就好。( X)測試計劃、測試用例、出錯統(tǒng)計和有關的分析報告一般不用長期保存。( X)理想的人機界面應針對具有典型個性的特定的一類用戶設計。(V)數據輸入的一般準則中包括盡量(增加)用戶輸入的動作。( X)用窮舉測試是較現實的測試方法。( X)編碼時應盡可能使用全局變量(X)重視程序

8、結構的設計,能使程序具有較好的層次結構(,)程序中的注解越少越好(X ) 。缺乏有力的方法學的指導和有效的開發(fā)工具的支持,這往往是產生軟件危機的原因之一。(,)一個好的開發(fā)人員應具備的素質和能力不包括具有良好的書面和口頭表達能力。( X)在用戶需求分析時觀察用戶手工操作過程不是為了模擬手工操作過程,而是為了獲取第一手資料,并從中提取出有價值的需求。(,)快速原型技術適用于軟件產品要求大量的用戶交互、或產生大量的可視輸出、或設計一些復雜的算法等場合。(,)流程圖也稱為程序(框圖)是最常用的一種表示法。(,)文檔可用于專業(yè)人員和用戶之間的通信和交流;軟件開發(fā)過程的管理;運行階段的維護。(,)軟件開

9、發(fā)、設計幾乎都是從頭開始,成本和進度很難估計。(,)適應性維護是改進軟件未來的可維護性和可靠性。( X)由于軟件是邏輯產品,軟件質量較容易直接度量。( X)目前我國還沒有頒布軟件開發(fā)標準。( X)按照功能,軟部件可劃分為系統(tǒng)軟件和應用軟件兩類。(,)如果某子功能可以用一段簡潔、精確的文字描述清楚,就無需進一步分解,是創(chuàng)建用戶需求的數據流模型應遵循的規(guī)則。(,)耦合度是對軟件結構中模塊間關聯程度的一種度量。在設計軟件時應追求盡可能緊密的耦合的系統(tǒng)。( X)隨著軟件復雜性的不斷提高,軟件的維護難度越來越大。(,)軟件的可維護性差是軟件維護工作量和費用激增的直接原因。(,)糾錯性維護是改正運行期間發(fā)

10、現的潛伏錯誤。(,)軟件復雜性不能反映出軟件的可理解性、模塊化、簡單性等屬性。( X)一般來說,設計軟件時應盡量使用數據耦合,減少控制耦合,限制外部環(huán)境耦合和公共數據耦合,杜絕內容耦合。(,)不同程序設計語言在程序的效率上的差異不大。( X)編碼的依據是詳細設計說明書。(,)程序文檔應該包括代碼的功能、代碼的完成者等內容。(,)軟件項目定義部分由制定軟件項目開發(fā)計劃、需求分析2個階段組成。(,)預防性維護是修改軟件,以適應軟硬件環(huán)境的變化。( X)開發(fā)大型軟件易產生疏漏和錯誤,往往是產生軟件危機的原因之一。(,)數據流圖中各構成元素的名稱不一定必須具有明確的含義以代表對應元素的內容或功能。 (

11、 X)編程中應采用統(tǒng)一的標準和約定,降低程序的復雜性。(,)對于軟件項目,投資回收期越長,越快獲得利潤。( X )一個實時系統(tǒng)必須在嚴格的時間范圍內響應。如果響應時間被過分延遲,將帶來災難性的后果。(,)模塊接口簡單是軟件發(fā)生錯誤的一個主要原因。( X )軟件的質量保證工作一般在編碼工作結束后才開始。( X )現在人們普遍認為優(yōu)秀的程序除了功能正確,性能優(yōu)良之外,還應該容易看懂、容易使用、容易修改和擴充。(V )單項選擇題B)B、缺乏靈活性D 、適用可變需求1 、瀑布模型的存在問題是(A、用戶容易參與開發(fā)C、用戶與開發(fā)者易溝通2、軟件測試方法中的靜態(tài)測試方法之一為(A )A 、計算機輔助靜態(tài)分

12、析B 、黑盒法C、路徑覆蓋D、邊界值分析3、開發(fā)軟件所需高成本和產品的低質量之間有著尖銳的矛盾,這種現象稱做( C )A、軟件工程B、軟件周期 C、軟件危機D、軟件產生4、研究開發(fā)所需要的成本和資源是屬于可行性研究中的( B)研究的一方面。A、技術可行性B、經濟可行性C、社會可行性D、法律可行性5、模塊的內聚性最高的是( D )A、邏輯內聚B、時間內聚C、偶然內聚D、功能內聚6、在SD 方法中全面指導模塊劃分的最重要的原則是( D )A、程序模塊化B、模塊高內聚C、模塊低耦合D、模塊獨立性7、程序的三種基本控制結構是(B )A 、過程、子程序和分程序B 、順序、選擇和重復/循環(huán)C、遞歸、堆棧和

13、隊列D 、調用、返回和轉移6、黑盒測試在設計測試用例時,主要需要研究( D )A 、需求規(guī)格說明與概要設計說明B 、詳細設計說明C、項目開發(fā)計劃D、概要設計說明與詳細設計說明7、若有一個計算類型的程序,它的輸入量只有一個X,其范圍是-1.0, 1.0,現從輸入的角度考慮一組測試用例:-1.001 , -1.0, 1.0, 1.001。設計這組測試用例的方法是( C )A 、條件覆蓋法B 、等價分類法C、邊界值分析法D、錯誤推測法8、軟件生命周期中所花費用最多的階段是(D )A 、詳細設計B 、軟件編碼C、軟件測試D、軟件維護9、下列屬于維護階段的文檔是( C )A 、軟件規(guī)格說明B 、用戶操作

14、手冊C、軟件問題報告D、軟件測試分析報告10、下列文檔與維護人員有關的有( C )A 、軟件需求說明書B 、項目開發(fā)計劃C、概要設計說明書D、操作手冊11、維護中,因誤刪除一個標識符而引起的錯誤是( C) 副作用。A、文檔 B、數據C、編碼 D、設計12、產生軟件維護的副作用,是指(C)A、開發(fā)時的錯誤B、隱含的錯誤C、因修改軟件而造成的錯誤D、運行時誤操作13、程序的三種基本控制結構是( B)A、過程、子程序和分程序B、順序、選擇和重復C、遞歸、堆棧和隊列D、調用、返回和轉移14、系統(tǒng)流程圖是描述(C)的工具。A、邏輯系統(tǒng) B、程序系統(tǒng)C、體系結構D、物理系統(tǒng)15、可維護性的特性中相互促進的

15、是(A)A、可理解性和可測試性B、效率和可移植性C、效率和可修改性D、效率和結構好16、 提高軟件質量和可靠的技術大致可分為兩大類:其中一類就是避開錯誤技術,但避開錯誤技術無法做到完美無缺和絕無錯誤,這就需要(D)A、消除錯誤B、檢測錯誤C、避開錯誤D、容錯15、 (D )是以提高軟件質量為目的的技術活動。A、技術創(chuàng)新 B、測試 C、技術創(chuàng)造D、技術評審16、原型化方法是一種(A)型的設計過程。A、自外向內 B、自頂向下 C、自內向外 D、自底向上17、為了提高測試的效率,應該(D)A 、隨機地選取測試數據B 、取一切可能的輸入數據作為測試數據C、在完成編碼以后制定軟件的測試計劃D 、選擇發(fā)現

16、錯誤可能性大的數據作為測試數據18、使用白盒測試方法時,確定測試數據應根據( A)和指定的覆蓋標準。A 、程序的內部邏輯B 、程序的復雜結構C、使用說明書D、程序的功能19、瀑布模型本質上是一種( A )。A 、 線性順序模型B 、順序迭代模型C、 線性迭代模型D、 及早見產品模型20、在SD 方法中全面指導模塊劃分的最重要的原則是( D )。A、 程序模塊化B、 模塊高內聚C、模塊低耦合D 、 模塊獨立性21、 軟件可維護性的特性中相互矛盾的是( C )。A 、 可修改性和可理解性C、 效率和可修改性22、軟件維護產生的副作用,是指A 、 開發(fā)時的錯誤C、 因修改軟件而造成的錯誤B、 可測試

17、性和可理解性D、 可理解性和可讀性( C )。B 、隱含的錯誤D 、運行時誤操作23、 用黑盒技術設計測試用例的方法之一為( A )。A 、 邊界值分析B、 邏輯覆蓋C、循環(huán)覆蓋D、基本路徑測試24、軟件測試方法中的( D )屬于靜態(tài)測試方法。A 、 黑盒法B、 路徑覆蓋C、 錯誤推測D、 人工檢測25、 Ada語言是在Pascal語言基礎上開發(fā)出來的,適用于 (C)項目的應用領域。A 、 科學工程計算B 、數據庫應用C 、 實時處理D 、 人工智能26、程序設計語言的工程特性之一為( A )。A 、軟件的可重用性B、數據結構的描述性C、抽象類型的描述性D、數據庫的易操作性27、軟件詳細設計的

18、主要任務是確定每個模塊的( A )。A 、算法和使用的數據結構B、外部接口C、功能 D 、 編程28、 PAD 圖為 ( B )提供了有力的工具。D 、測試軟件A 、 系統(tǒng)分析B 、軟件的自動化生成C、 自動分析數據29、軟件結構圖的形態(tài)特征能反映程序復用率的是(C )。A 、 深度B、 寬度C、 扇入D、 扇出30、 軟件按照設計的要求,在規(guī)定時間和條件下達到不出故障,持續(xù)運行的要求的質量特性稱為 ( B )。A 、 可用性B 、 可靠性C、 正確性D 、 完整性31、為了提高模塊的獨立性,模塊內部最好是( C )。A 、 邏輯內聚B 、 時間內聚C、功能內聚D 、 通信內聚32、 軟件結構

19、圖中,模塊框之間若有直線連接,表示它們之間存在( A ) 。A 、 調用關系B 、 組成關系33、 需求分析最終結果是產生( BA 、 項目開發(fā)計劃C、 設計說明書C、鏈接關系D 、 順序執(zhí)行關系)。B、需求規(guī)格說明書D、可行性分析報告)需求分析。A 、深入的B 、詳盡的35、軟件是一種( C )。A 、程序B 、數據C、 徹底的C、邏輯產品D、簡化的、壓縮了的D 、 物理產品34、可行性研究要進行一次( D36、單元測試的測試對象是(B).A 、系統(tǒng)B、程序模塊. C、模塊接口D、系統(tǒng)功能37、軟件總體設計是指軟件總體結構設計和數據設計,該階段的主要任務不包括( D ).A 、設計軟件的模塊

20、結構B 、定義接口并建立數據結構C、生成概要設計規(guī)格說明和組裝測試計劃D、模塊設計38、軟件工程的原則有抽象,信息隱藏,模塊化和其他哪些內容?(ABCD)A、局部化 B、一致性C、完全TD、可驗證性39、常用的軟件項目的估算方法主要有哪4 種 ( ABCD)A 、自頂向下的估算方法B 、自底向上的估算方法C、差別估算法D、根據經驗估算公式40、軟件可行性研究一般不考慮(D )A 、是否有足夠的人員和相關的技術來支持系統(tǒng)開發(fā)B 、是否有足夠的工具和相關的技術來支持系統(tǒng)開發(fā)C、待開發(fā)軟件是否有市場、經濟上是否合算D 、待開發(fā)的軟件是否會有質量問題41、軟件維護的副作用主要有以下哪幾種(C )A 、

21、編碼副作用、數據副作用、測試副作用B 、編碼副作用、數據副作用、調試副作用C、編碼副作用、數據副作用、文檔副作用D 、編碼副作用、文檔副作用、測試副作用42、軟件項目計劃一般不包括以下哪項內容(D )A、培訓計劃B、人員安排C、進度安排D、軟件開發(fā)標準的選擇和制定43、以下哪種測試方法不屬于白盒測試技術(B )A、基本路徑測試B、邊界值分析測試C、循環(huán)覆蓋測試D、邏輯覆蓋測試43、 (D )是以提高軟件質量為目的的技術活動。A、技術創(chuàng)新B、測試C、技術創(chuàng)造D、技術評審44、使用白盒測試方法時,確定測試數據應根據( A )和指定的覆蓋標準。A、程序的內部邏輯B、程序的復雜結構C、使用說明書D、程

22、序的功能 45、對在數據流圖中每一個命令的圖形元素均給以定義是(A、條目定義 B、數據字典C、數據定義D、數據說明46、軟件的可行性研究中不包括(D )A、法律可行性B、技術可行性 C、經濟可行性D、政治可行性47、根據用戶在軟件使用過程中提出的建設性意見而進行的維護活動稱為(C ) 。A、糾錯性維護 B、適應性維護C、改善性維護D、預防性維護48、人機界面的風格大致經過了(B )代的演變。A、三B、四C、五 D、六49、以下不屬于白盒測試技術的是(D )A、邏輯覆蓋B、基本路徑測試C、循環(huán)覆蓋測試D、等價類劃分50、為改正軟件系統(tǒng)中潛藏的錯誤而進行的維護活動稱為(A ) 。A、糾錯性維護 B

23、、適應性維護 C、改善性維護D、預防性維護51、在設計測試用例時,應當包括(C )A、合理的輸入條件B、不合理的輸入條件C、合理的和不合理的輸入條件D、部分條件52、下列各項中不屬于邏輯覆蓋的是(D )A、語句覆蓋B、判定覆蓋C、判定一條件覆蓋D、全部覆蓋53、高級語言通常被分成三類,其中不包括(D )A、通用高級語言 B、面向對象的語言C、專用語言 D、自然語言54、耦合度也可以分為七級:其中最松散的耦合是(A) 。A、非直接耦合B、數據耦合C、特征耦合D、控制耦合55、判定表由四部分組成:左上部列出(B ) 。A、條件組合與動作之間的對應關系B、所有條件C、所有可能的動作D、可能的條件組合

24、填空題軟件=(程序)+ (文檔)。軟件工程的基本原則包括(分解 ) 、 ( 獨立性 ) 、 一致性 和( 確定性 ) 。需求分析的基本任務是準確的回答(系統(tǒng)必須做什么) 。數據字典的內容包括六項:數據流 、 ( 數據項 ) 、 數據結構、 ( 數據存儲) 、 ( 處理邏輯) 、外部實體。模塊獨立的概念是(模塊化 ) 、 ( 抽象 ) 、 ( 信息隱蔽)和 局部化概念的直接結果。設計出軟件的初步結構以后應該進一步分解或合并模塊,力求降低 ( 耦合 ) 提高 ( 內聚 ) 。軟件的維護一般經過(分析和理解程序) 、 ( 修改程序) 、 (重新驗證程序)三個步驟。假設使用代碼行技術進行費用估計,某軟

25、件中共3000 行程序,每行平均成本25 元, 則該軟件的成本為(75000 元 ) 。軟件開發(fā)需要的資源包括(軟件工具)、 (硬件工具)和 (人), 其中 (人) 是 最基本 的資源。程序的效率是指(程序的執(zhí)行速度)和( 程序占用的存儲空間) 。軟件定義的基本任務是確定軟件系統(tǒng)的工程( 需求 ), 也就是要搞清" 做什么”。成本效益分析的目的是從( 經濟 ) 角度評價開發(fā)一個項目是否可行。匯編語言是面向( 機器 ) 的,可以完成高級語言無法完成的特殊功能,如與外部設備之間的一些接口工作。詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、( 使用的數據) 。軟件工程由( 方法 )

26、, 工具 和 過程 三部分組成,稱為軟件工程的三要素.基于計算機系統(tǒng)的軟件要素中的軟部件由程序,數據和 (文檔)組成.數據流圖就是用來刻畫數據流和轉換的信息系統(tǒng)建模技術.它用簡單的圖形記號分別表示 數據流 , 轉換 , ( 數據源 ) 以及 外部實體.流程圖也稱為程序框圖,是最常用的一種表示法,它有 順序 ,分支 和 (循環(huán) )三個基本控制構件 .機器語言和匯編語言,也稱為(低級語)言 .軟件測試是執(zhí)行程序發(fā)現并排除程序中潛伏的( 錯誤 ) 的過程 .動態(tài)測試有兩種測試方法:黑盒 測試和 (白盒 )測試 .軟件可維護性,是指軟件產品交付使用后,在實現改正潛伏的錯誤,改進性能等屬性,適應環(huán)境變化

27、等方面工作的( 難易 ) 程度第三代語言也稱為(高級 )語言。軟件測試是軟件投入運行(前 ) ,對軟件需求分析、設計、實現的強有力的最終審查。黑盒測試主要是測試軟件是否滿足(功能) 需求。( 調試) 的目的是確定錯誤的位置和引起錯誤的原因,并加以改正。因此,又稱為排錯或糾錯。軟件工程由方法、 工具 和( 過程 )三部分組成,稱軟件工程的三要素。可行性研究的目的是用最小的代價在盡可能短的時間內,確定該項目是否能夠開發(fā)。程序設計時代的生產方式是個體手工,程序系統(tǒng)時代的生產方式是作坊式小團體,軟件工程時代的生產方式是(工程化)。噴泉模型是一種以需求分析為動力,以對象為驅動的模型。需求分析階段,分析人

28、員要確定對問題的綜合需求,其中最主要的是功能需求??尚行匝芯啃枰獜囊韵氯齻€方面分析研究每種解決方法的可行性:技術可行性、經濟可行性、社會可行性??尚行匝芯康哪康牟皇侨ラ_發(fā)一個軟件項目,而是研究這個軟件項目是否值得開發(fā),其中的問題能否解決。判定樹 較判定表直觀易讀,判定表 進行邏輯驗證較嚴格,能把所有的可能性全部都考慮到??蓪煞N工具結合起來,先用判定表做底稿,在此基礎上產生判定樹。環(huán)境集成主要有 數據集成、界面集成、控制集成、平臺集成、過程集成??尚行匝芯繉嵸|上是進行一項簡化、壓縮了的需求分析、設計過程。結構化方法有結構化分析、結構化設計、結構化程序設計構成, 它是一種面向數據流的開發(fā)方法。投

29、資回收期就是累計的經濟 效益等于最初的項目投資所需的時間。詳細描述處理過程常用三種描述工具:圖形、表格和 語言 。數據流圖中,每個加工至少有一個輸入流和 一個輸出流。結構化設計以數據流 為基礎映射成軟件結構。當數據流圖中某個加工的一組動作存在著多個條件復雜組合的判斷時,使用 判定表 或 判定樹 較好。由于運用原型的目的和方式不同,在使用原型時也采取不同的策略,有 拋棄策略和附加策略。有兩類維護技術:在開發(fā)階段是用來減少錯誤、提高軟件可維護性的面向維護的技術,在維護階段用來提高維護的效率和質量的維護支援技術。軟件開發(fā)中原型 是軟件的一個早期可運行的版本,它反映了最終系統(tǒng)的重要特性。產品管理包括版

30、本管理和 配置管理。任何程序都可由順序、選擇、循壞三種基本控制結構構造。測試用例應由輸入數據和預期的輸出數據兩部分組成。這樣便于對照檢查。需求分析階段產生的最重要的文檔之一是需求規(guī)格說明書。項目開發(fā)計劃是一個管理性文檔 。軟件配置管理,簡稱SCM ,軟件配置項簡稱SCI。在算法描述工具中,PAD 圖可自動生成程序。由機器自動通過走樹的辦法生成相應的源代碼,大大提高軟件的生產率。在 CASE 集成中,控制集成支持工作臺或環(huán)境中一個工具對系統(tǒng)中其它工具的訪問。過程集成是指 CASE 系統(tǒng)嵌入了關于過程活動、階段、約束和支持這些活動所需的工具的知識。解決一個復雜問題,往往采取的策略是分解 。效益分析

31、有有形效益和無形效益兩種。兩個模塊都是用同一張表,這種耦合稱為公共耦合。一個模塊把數值作為參數傳送給另一個模塊,這種耦合方式稱為數據耦合。一個模塊內部各程序段都在同一張表上操作,這個模塊的內聚性稱為通信內聚。在 SA 方法的需求描述工具中,數據流圖描述系統(tǒng)的分解,即描述系統(tǒng)有哪幾部分組成,各部分之間有什么聯系等等。數據字典定義了數據流圖中每一個圖形元素;結構化語言、判定表或判定樹則詳細描述數據流圖中不能被再分解的每一個加工。IDEF 圖 是一種功能模型,表示系統(tǒng)功能的圖形稱為活動圖形,連方框上的箭頭有四種類型,他們分別是輸入、輸出、控制、機制。軟件項目計劃是可行性研究階段的結果產品。但由于可行

32、性研究是在高層次進行系統(tǒng)分析, 未能考慮軟件系統(tǒng)開發(fā)的細節(jié)情節(jié),因此軟件項目計劃一般在需求分析階段完成后才定稿的。信息隱蔽指在設計和確定模塊時,使得一個模塊內包含的信息(過程或數據),對于不需要這些信息的其它模塊來說,是不能訪問的。同一個類中的共享是指同一個類中的對象有著相同的數據結構和相同的行為特征。通過 抽象 , 可以確定組成軟件的過程實體。通過 信息隱蔽, 可以定義和實施對模塊的過程細節(jié)和局部數據結構的存取限制。IPO 圖 描述分層圖中一個模塊的輸入、輸出和處理內容。軟件是一種邏輯產品,它與物質產品有很大區(qū)別。數據流圖中的箭頭表示數據流 。軟件測試時需要三類信息:軟件配置、測試配置、測試

33、工具。基于 IDEF0 圖 的設計也是結構化設計技術之一,它以系統(tǒng)的功能模型和信息結構為基礎設計軟件結構。系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素,表達了系統(tǒng)中各種元素之間的信息流動情況。樁模塊 是用來代替被測試模塊所調用的模塊,它的作用是返回被測模塊所需的信息。建立數據字典一般的兩種形式是手工建立和利用計算機輔助建立并維護。匯編語言是面向機器 的, 可以完成高級語言無法滿足要求的特殊功能,如與外部設備之間的一些接口操作。黑盒測試是功能測試, 因此設計測試用例時,需要研究需求規(guī)格說明書和概要設計說明書中有關程序功能或輸入、輸出之間的關系等信息,從而與測試后的結果進行分析

34、比較。在類層次中,子類只繼承一個父類的數據結構和方法,則稱為 單重繼承。 子類繼承了多個父類的數據結構和方法,則稱為多重繼承。由于數據流是流動中的數據,所以必須有流向。除了與數據存儲之間的數據流不用命名外,數據流應該用名詞或名詞短語命名。投資回收期就是使累計的經濟效益等于最初的投資費用所需的時間。項目的 純收入 是指在整個生存周期之內的累計經濟效益(折合成現在值)與投資之差。程序設計語言的簡潔性 是指人們必須記住的語言成分的數量。人們要掌握一種語言,需要記住的成分數量越多,簡潔性越差。不同對象的同一屬性可以具有相同或不同的屬性值。軟件開發(fā)劃分的各階段任務盡可能相對獨立,同一階段任務性質盡可能相

35、同 。瀑布模型是將生存周期各活動規(guī)定為線性順序聯接的若干階段的模型。成本效益分析的目的是從經濟角度評價開發(fā)一個軟件項目是否可行。在需求分析階段要進行以下幾方面的工作:問題識別、分析與綜合、導出軟件的邏輯模型、編寫文檔。靜態(tài)冗余常用的有:三模冗余TMR 和多模冗余。McCabe 質量度量模型,針對面向軟件產品的運行、修正、轉移。程序設計語言的局部性 是指語言的聯想性。在編碼過程中,由語句組合成模塊,由模塊組裝成系統(tǒng)結構,并在組裝過程中實現模塊的高內聚,低耦合,使局部性得到加強。軟件復雜性度量的參數主要有規(guī)模、難度、結構和 職能度 。項目開發(fā)計劃的主要內容有:項目概述、實施計劃、人員組織及分工、交

36、付期限??尚行匝芯恳谳^高層次上以較抽象方式進行需求分析和設計。軟件工程是一門綜合性交叉學科,計算機科學著重于原理和理論,軟件工程著重于建造軟件系統(tǒng)。維護的副作用有編碼副作用、數據副作用、文檔副作用三種。若年利率為I,不計復利,P元在n年后的價值F=P*(1+n*i)軟件結構是以模塊為基礎而組成的一種控制層次結構。軟件設計階段產生的最重要的文檔之一是概要設計說明書。獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其它獨立路徑中未有過的邊的路徑。各模塊經過單元測試后, 將各模塊組裝起來進行集成測試, 以檢查與設計相關的軟件系統(tǒng)結構的有關問題。開

37、發(fā)過程管理包括項目計劃和控制和任務管理等。臨時維護小組采用 “同事復審”或 “同行復審”等方法來提高維護工作的效率。數據字典中的加工邏輯主要描述該加工做什么,即實現加工的策略 , 而不是實現加工的細節(jié),它描述如何把輸入數據流變換為輸出數據流的加式規(guī)則。為了較完整的描述用戶對系統(tǒng)的需求,DFD 應與數據庫中的ER 圖 結合起來。純收入 是軟件生存周期內累計經濟效益與投資之差。反映軟件結構的基本形態(tài)特征是深度、寬度、扇入和 扇出 。若年利率為I,不計復利,n年后能收入F元的現在價值p=F/(1+n*i)。在一個模塊中,功能狀態(tài)與接口反映模塊的外部 特性,邏輯反映它的內部 特性。硬件與軟件一起構成完

38、整 的計算機系統(tǒng)。SA 方法中主要描述工具是DFD 與 DD 。軟件生存周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。結構化設計對數據流有兩種分析方法,他們是變換分析設計和 事務分析設計。數據字典中有四類條目:數據流、數據項、數據存儲、加工。常借用硬件可靠性的定量度量方法來度量軟件的可靠性與可用性。常用指標有平均失效等待時間MTTF 和 平均失效間隔時間MTBF 。Lisp 是一種 函數型 語言, Prolog 是一種 邏輯性 語言。Jackson 結構圖能對結構進行自頂向下分解,因此可以表示層次 結構。變換模型是一種適合于形式化開發(fā)方法的模型,從軟件需求形式化說明開始,經過一系列變換,

39、最終得到系統(tǒng)的目標程序。軟件開發(fā)環(huán)境的主要目標是提高軟件開發(fā)的生產率,改善軟件質量和降低軟件成本。“軟件 ”包含計算機程序及其說明程序的各種文檔。開發(fā)過程依序包括需求分析、設計、編碼、集成、軟件安裝和驗收等活動。社會可行性研究包括合同、責任、侵權、用戶組織的管理模式及規(guī)范,其他一些技術人員常常不了解的陷阱等。IDEF0 方法中,將系統(tǒng)功能稱為活動 ,將表示系統(tǒng)功能的圖形稱為活動圖形。數據庫的設計指數據存儲文件的設計,主要進行的設計方面有:概念設計、 邏輯設計、物理設計。如果只有兩個模塊之間有公共數據環(huán)境,這種公共耦合有兩種情況:一是一個模塊只是給公共數據環(huán)境送數據,另一個模塊是只從公共環(huán)境中去

40、數據,這是 比較松散的公共耦合;二是兩個模塊都往公共環(huán)境中送數據又從里面取數據,這是緊密的 數據耦合。Jackson 方法是面向數據結構的設計方法。早期的Jackson 方法用于開發(fā)模型較少的數據處理系統(tǒng)的設計,簡稱JSP。工程網絡圖只有一個開始點和一個終止點,開始點沒有流入箭頭,稱為 入度為零; 終止點沒有流出箭頭,稱為出度為零。為了確保每個開發(fā)過程的質量,防止把軟件差錯傳遞到下一個過程,必須進行質量檢驗,檢驗的實施有實際運行檢驗(即白盒測試和黑盒測試)和 鑒定 兩種形式。瀑布模型是由 W. Royce 于 1970 年提出來的。又稱為軟件(生存周期)模型。程序設計語言的( 可維護 ) 性通

41、常指這種語言編寫的程序被理解,被修改及調整和改進的難易程度。名詞解釋經濟可行性進行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。社會可行性要開發(fā)的項目是否存在任何侵犯、妨礙等責任問題,要開發(fā)項目目的運行方式在用戶組織內是否行得通,現有管理制度、人員素質、操作方式是否可行。投資回收期投資回收期就是使累計的經濟效益等于最初的投資費用所需的時間。需求分析需求分析是指開發(fā)人員要準確理解用戶的需求,進行細致的調查分析,將用戶非形式的需求陳述轉化成完整的需求定義,再由需求定義轉換到相應的形式功能規(guī)約(需求規(guī)格說明)的過程。白盒法該方法把測試對象看作一個打開的盒子,測試人員須了解程

42、序的內部結構和處理過程,以檢查處理過程的細節(jié)為基礎,對程序中盡可能多的邏輯路徑進行測試,檢查內部控制結構和數據結構是否有錯,實際的運行狀態(tài)與預期的狀態(tài)是否一致。白盒法也不可能進行窮舉測試。黑盒法該方法把被測試對象看成一個黑盒子,測試人員完全不考慮程序的內部結構和處理過程,只在軟件接口處進行測試,依照需求規(guī)格說明書,檢查程序是否滿足功能要求。因此,黑盒測試又稱為功能測試或數據驅動測試。結構化分析是根據分解與抽象的原則,按照系統(tǒng)中數據處理的流程,用數據圖來建立系統(tǒng)的功能模型,從而完成需求分析工作。原型是指模擬某種產品的原型模型。軟件開發(fā)中的原型是軟件的一個早期可運行的版本,它反映了最終系統(tǒng)的重要特

43、征模塊化是指解決一個復雜問題是自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程,每個模塊完成一個特定的子功能,所有的模塊按某種方法組裝起來,成為一個整體,完成整個系統(tǒng)所要求的功能。路徑覆蓋指設計足夠的測試用例,覆蓋被測程序中所有可能的路徑。判定/條件覆蓋指設計足夠的測試用例,使得判定表達式中的每個條件的所有可能取值至少出現一次,并使每個判定表達式所有可能的結果也至少出現一次。條件覆蓋是指設計足夠的測試用例,使得判定表達式中每個條件的各種可能的值至少出現一次。滿足條件覆蓋并不一定滿足判定覆蓋。條件組合覆蓋是指設計足夠的測試用例,使的每個判定表達式中條件的各種可能的值的組合都至少出現一次,條件組合覆蓋是

44、比較強的覆蓋標準。原型模型又稱快速原型模型,它是在開發(fā)真實系統(tǒng)之前,構造一個原型,在該原型的基礎上,逐漸完成整個系統(tǒng)的開發(fā)工作。軟件工程環(huán)境美國國防部在STARS 計劃中定義如下:“軟件工程環(huán)境是一組方法、過程及計算機程序(計算機化的工具)的整體化構件,他支持從需求定義、程序生成知道維護的整個軟件生存期”。程序圖是退化的程序流程圖。也就是說,把程序流程圖中每個處理符號都退化成一個結點,原來連接不同處理符號的流線變成連接不同結點的有向弧,這樣得到的有向圖就叫程序圖。流程圖是描繪物理系統(tǒng)的工具,它用圖形符號來表示系統(tǒng)中的各元素。它表達了系統(tǒng)中各個元素之間的信息流動的情況。結構化分析方法(SA)是需

45、求分析中使用最多的方法之一,適用于數據處理類型軟件的需求分析?;舅枷胧遣捎米皂斚蛳?,逐步分解的方法分析整個系統(tǒng),有效地控制系統(tǒng)開發(fā)的復雜性。軟件生存周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。數據字典(DD )數據字典是用來定義數據流圖中的各個成分的具體含義的。它以一種準確的、無二義性的說明方式為系統(tǒng)的分析、設計及維護提供了有關元素的一致的定義和詳細的描述。內聚性內聚性是模塊獨立性的衡量標準之一,它是指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量。問答題1、什么是軟件危機?軟件危機有哪幾種表現?答:軟件開發(fā)和維護的過程中所遇到的一系列嚴重的問題。具體表現在:(

46、 1 )產品不能符合用戶的實際需求;( 2)軟件開發(fā)的效率較低;( 3)軟件產品的質量差;( 4)軟件開發(fā)成本和進度的估算不準確;( 5)軟件可維護性差;( 6)軟件開發(fā)文檔資料不完整也不合格;( 7)軟件的價格昂貴。2、什么是數據流圖?為什么數據流圖要分層?答: 數據流圖從數據傳遞和加工的角度,以圖形的方式描述數據流從輸入到輸出的傳輸變換過程。 數據流圖是結構化系統(tǒng)分析的主要工具,它表示了系統(tǒng)內部信息的流向,并表示了系統(tǒng)的邏輯處理的功能。為了表達數據處理過程的數據加工情況,用一個數據流圖是不夠的。為表達稍為復雜的實際問題,需要按照問題的層次結構進行逐步分解,并以分層的數據流圖反映這種結構關系

47、。描述一個復雜的系統(tǒng),不可能一下子引進太多的細節(jié)。否則用一張數據流圖畫出所有的數據流和處理邏輯,這張圖將及其龐大、復雜,難以繪制,難以理解。因此數據流圖需要進行分解,用幾個數據流圖來表示。3、軟件的質量反應在哪些方面?答: 軟件質量反映了以下三方面的問題。( 1 )軟件需求是度量軟件質量的基礎,不符合需求的軟件就不具備質量。( 2)在各種標準中定義了一些開發(fā)準則,用來指導軟件人員用工程化的方法來開發(fā)軟件。如果不遵守這些開發(fā)準則,軟件質量就得不到保證。( 3)往往會有一些隱含的需求沒有明確地提出來。例如,軟件應具備良好的可維護性。如果軟件只滿足那些精確定義了的需求而沒有滿足這些隱含的需求,軟件質

48、量也不能保證。4、什么是編碼風格?為什么要強調編碼風格?答:編碼風格又稱程序設計風格或編程風格。隨著軟件技術的發(fā)展,編碼的目標已經從強調效率轉變?yōu)閺娬{清晰。良好的編碼風格能在一定程度上彌補語言存在的缺陷,而如果不注意風格就很難寫出高質量的程序。尤其當多個程序員合作編寫一個很大的程序時,需要強調良好而一致的編碼風格,以便相互通訊,減少因不協(xié)調而引起的問題。總之,良好的編碼風格有助于編寫出可靠而又容易維護的程序,編碼的風格在很大程度上決定著程序的質量。5、什么是需求分析?需求分析階段的基本任務是什么?答:需求分析是當前軟件工程中的關鍵問題,需求分析階段的任務是:在可行性分析的基礎上,進一步了解、確

49、定用戶需求。準確地回答 “系統(tǒng)必須做什么?”的問題。獲得需求規(guī)格說明書。還涉及到軟件系統(tǒng)的目標、軟件系統(tǒng)提供的服務、軟件系統(tǒng)的約束和軟件系統(tǒng)運行的環(huán)境。它還涉及到這些因素和系統(tǒng)的精確規(guī)格說明,以及系統(tǒng)進化之間的關系。需求分析的基本任務包括:(1) 抽取需求:分析現行系統(tǒng)存在需要解決的問題。獲取足夠多的問題領域的知識,需求抽取的方法一般有問卷法、面談法、數據采集法、用例法、情景實例法以及基于目標的方法等;還有知識工程方法,例如,場記分析法、卡片分類法、分類表格技術和基于模型的知識獲取等。(2) 模擬和分析需求:需求分析和模擬又包含三個層次的工作。首先是需求建模。需求模型的表現形式有自然語言、半形

50、式化( 如圖、表、結構化英語等) 和形式化表示等三種。需求概念模型的要求包括實現的獨立性: 不模擬數據的表示和內部組織等;需求模擬技術又分為企業(yè)模擬、功能需求模擬和非功能需求模擬等。(3) 傳遞需求:傳遞需求的主要任務是書寫軟件需求規(guī)格說明。(4) 認可需求:就是對需求規(guī)格說明達成一致,其主要任務是沖突求解,包括定義沖突和沖突求解兩方面。常用的沖突求解方法有:協(xié)商、競爭、仲裁、強制、教育等,其中有些只能用人的因素去控制。(5) 進化需求:客戶的需要總是不斷( 連續(xù) ) 地增長,但是一般的軟件開發(fā)又總是落后于客戶需求的增長,如何管理需求的進化( 變化 ) 就成為軟件進化的首要問題。對于傳統(tǒng)的變化

51、管理過程來說,其基本成分包括軟件配置、軟件基線和變化審查小組。當前的發(fā)展是軟件家族法,即產品線方法。多視點方法也是管理需求變化的一種新方法,它可以用于管理不一致性,并進行關于變化的推理。6、等價分類法的基本思想是什么?答:根據程序的輸入特性,將程序的定義域劃分為有限個等價區(qū)段“等價類”,從等價類中選擇出的用例具有“代表性”,即測試某個等價類的代表值就等價于對這一類其他值的測試。如果某個等價類的一個輸入數據( 代表值 ) 測試中查出了錯誤,說明該類中其他測試用例也會有錯誤。7、模塊的內聚性包括哪些類型?模塊的內聚性包括:(1 )偶然內聚(2) 邏輯內聚(3) 時間內聚(4) 過程內聚(5) 通信

52、內聚(6) 順序內聚(7) 功能內聚8、分析軟件危機產生的主要原因有哪些?答:(1)軟件日益復雜和龐大(2)軟件開發(fā)管理困難和復雜(3)軟件開發(fā)技術落后( 4)生產方式落后( 5)開發(fā)工具落后( 6)軟件開發(fā)費用不斷增加9、說明結構化程序設計的主要思想是什么?答:(1)自頂向下、逐步求精的程序設計方法( 2)使用3種基本控制結構、單入口、單出口來構造程序。10、軟件測試包括哪些步驟?說明這些步驟的測試對象是什么? 答:(1)單元測試,測試對象為單元模塊(2)集成測試,測試對象為組裝后的程序模塊(3)確認測試,測試對象為可運行的目標軟件系統(tǒng)(1分)11、需求分析與軟件設計二個階段任務的主要區(qū)別是

53、什么? 答:需求分析定義軟件的用戶需求,即定義待開發(fā)軟件能做什么軟件設計定義軟件的實現細節(jié)以滿足用戶需求,即研究如何實現軟件。12、說明軟件測試和調試的目的有何區(qū)別? 答:測試的目的是判斷和發(fā)現軟件是否有錯誤 調試的目的是定位軟件錯誤并糾正錯誤。13、原型法模型一般適應哪些場合?答:它適合于那些不能預先確切定義需求的軟件系統(tǒng)的開發(fā),更適合于那些項目組成員(包括分析員,設計員,程序員和用戶)不能很好交流或通信有困難的情況。14、軟件工程的目標是什么?答:在給定成本和進度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維 護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性并滿足用戶需求的軟件產品。 15、什么是數據流圖?其作用是什么?其中的基本符號各表示什么含義? 答:數據流圖簡稱 DFD ,是SA方法中用于表示系統(tǒng)邏輯模型的一種工具。它以圖形的方式描述數據在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。:'數據流圖有四種基本圖形符區(qū)二I “一箭頭表示數據流;“ ”圓或橢圓表述加工;“二雙杠表示數據存儲;“ ”方框表示數據的源點或終點。16、什么是確認測試?該階段有哪些工作?

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論