軟件工程復(fù)習(xí)題—選擇、判斷、填空、簡答_第1頁
軟件工程復(fù)習(xí)題—選擇、判斷、填空、簡答_第2頁
軟件工程復(fù)習(xí)題—選擇、判斷、填空、簡答_第3頁
軟件工程復(fù)習(xí)題—選擇、判斷、填空、簡答_第4頁
軟件工程復(fù)習(xí)題—選擇、判斷、填空、簡答_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

一 選擇題:1 軟件危機出現(xiàn)于_C_,為了解決軟件危機,人們提出了用_B_的原理來設(shè)計軟件,這是軟件工程誕生的基礎(chǔ)。 A50年代末 B60年代初 C60年代末 D70年代初 A運籌學(xué) B工程學(xué) C軟件學(xué) D軟件學(xué) E數(shù)字2開發(fā)軟件需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱作_B_。A.軟件投機 B軟件危機C軟件工程D軟件產(chǎn)生3產(chǎn)生軟件危機的原因有如下幾點,除了_D_。A、 軟件開發(fā)過程未經(jīng)審查 B、 軟件開發(fā)不分階段,開發(fā)人員沒有明確的分工C、 所開發(fā)的軟件,除了程序清單外,沒有其他文檔D、 采用工程設(shè)計的方法開發(fā)軟件,不符合軟件本身的特點4軟件工程學(xué)是應(yīng)用科學(xué)理論和工程上的技術(shù)指導(dǎo)軟件開發(fā)的學(xué)科,其目的是_B_。A引入新技術(shù)提高空間利用率B用較少的投資獲得高質(zhì)量的軟件C縮短研制周期擴大軟件功能D硬軟件結(jié)合使系統(tǒng)面向應(yīng)用5請按順序?qū)懗鲕浖诘膸讉€階段_F_,_D_ ,_C_,_E_,_B_,_A_。A維護 B測試 C詳細設(shè)計 D概要設(shè)計 E編碼 F需求分析6 瀑布模型把軟件生存周期劃分為軟件定義、軟件開發(fā)和_C_三個階段,而每一階段又可細分為若干個更小的階段。A詳細設(shè)計B可行性分析C運行及維護D測試與排錯7劃分軟件生存周期的階段時所應(yīng)遵循的基本原則是_B_。A、各階段的任務(wù)盡可能相關(guān)性 B、各階段的任務(wù)盡可能相對獨立C、各階段的任務(wù)在時間上連續(xù) D、各階段的任務(wù)在時間上相對獨立8一個軟件項目是否進行開發(fā)的結(jié)論是在_B_文檔中作出的。A、 軟件開發(fā)計劃B、可行性報告C、需求分析說明書D、測試報告9分析員是_B_。A 用戶中系統(tǒng)的直接使用者B用戶和軟件人員的中間人C軟件的編程人員 D。用戶和軟件人員的領(lǐng)導(dǎo) 10下列敘述中,_A_不屬于數(shù)據(jù)字典的作用。A、作為編碼階段的描述工具 B、為用戶與開發(fā)人員之間統(tǒng)一認識C、作為概要設(shè)計的依據(jù) D、為需求分析階段定義各類條目11使用結(jié)構(gòu)化分析方法時,采用的基本手段是_A_。A分解和抽象B分解和綜合C歸納與推導(dǎo)D試探與回溯12結(jié)構(gòu)化系統(tǒng)分析主要是通過_D_進行分析的。A算法分解B控制結(jié)構(gòu)分解C數(shù)據(jù)結(jié)構(gòu)分解D處理功能分解13分層數(shù)據(jù)流圖是一種比較嚴格又易于理解的描述方式,它的頂層描述了系統(tǒng)的_A_。A.總貌B細節(jié)C抽象D軟件的作者 13變換型和事務(wù)型是程序結(jié)構(gòu)的標(biāo)準形式。從某處獲得數(shù)據(jù),再對這些數(shù)據(jù)作處理,然后將結(jié)果送出是屬于_A_。 A變換型 B 事務(wù)型 14需求分析說明書不能作為_A_。A、 可行性研究的依據(jù)B、用戶和開發(fā)人員之間的合同C、 系統(tǒng)概要設(shè)計的依據(jù) D、軟件驗收測試的依據(jù)15結(jié)構(gòu)化分析方法以數(shù)據(jù)流圖、_D_和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟件系統(tǒng)模型。ADFD圖BPAD圖CIPO圖D數(shù)據(jù)字典16不適于作為數(shù)據(jù)流圖處理(加工)框名稱的是_B_。A人工校核工資數(shù)據(jù)B工資支票數(shù)據(jù)C打印工資支票D計算職工工資17系統(tǒng)開發(fā)人員使用系統(tǒng)流程圖或其他工具描述系統(tǒng),估計每種方案的成本和效益的工作是在_B_階段進行的。A、需求分析 B、總體設(shè)計 C、詳細設(shè)計 D、編碼階段18軟件的_A_設(shè)計又稱為總體設(shè)計,其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。A概要B抽象C邏輯D規(guī)劃19結(jié)構(gòu)化設(shè)計方法采用變換分析和事務(wù)分析技術(shù)實現(xiàn)_D_。A從數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)B從模塊結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)C從模塊結(jié)構(gòu)導(dǎo)出數(shù)據(jù)結(jié)構(gòu)D從數(shù)據(jù)流圖導(dǎo)出初始化結(jié)構(gòu)圖20結(jié)構(gòu)化設(shè)計方法是面向_C_的設(shè)計方法。A過程B對象C數(shù)據(jù)流D數(shù)據(jù)結(jié)構(gòu) 41Jackson程序設(shè)計方法是一種面向 _A_ 的設(shè)計方法。A、數(shù)據(jù)結(jié)構(gòu) B、數(shù)據(jù)流圖 C、IPO圖 D、系統(tǒng)流程圖20Jackson設(shè)計方法由英國的M. Jackson提出的,它是一種面向_C_的設(shè)計方法。A對象B數(shù)據(jù)流C數(shù)據(jù)結(jié)構(gòu)D控制結(jié)構(gòu)21結(jié)構(gòu)化設(shè)計采用模塊化方法的主要出發(fā)點是_D_。A、 增加內(nèi)聚性 B、減少耦合度 C、提高有效性 D、降低復(fù)雜度22下列_D_不是模塊化設(shè)計的目的。 A、可采用結(jié)構(gòu)化設(shè)計方法 B、降低復(fù)雜度C、有利于信息隱蔽 D、描述系統(tǒng)的功能與性能23一個模塊直接控制(調(diào)用)的下層模塊的數(shù)目稱為模塊的_B_。A、扇入數(shù) B、扇出數(shù) C、寬度 D、作用域24某個模塊的作用域是指_D_。 A、被該模塊調(diào)用的所用模塊 B、調(diào)用該模塊的所有模塊C、與該模塊相關(guān)聯(lián)的所有模塊 D、受該模塊內(nèi)的判定影響的所有模塊25模塊本身的內(nèi)聚是模塊獨立性的重要度量因素之一,在七類內(nèi)聚中,具有最強內(nèi)聚的一類是_D_。A順序性內(nèi)聚B過程性內(nèi)聚C邏輯性內(nèi)聚D功能性內(nèi)聚26如果模塊中所有成分引用共同的數(shù)據(jù),該模塊內(nèi)的聯(lián)系類型是_C_。A順序內(nèi)聚B功能內(nèi)聚C通信內(nèi)聚D過程內(nèi)聚27初始化模塊和結(jié)束模塊從塊內(nèi)聯(lián)系看,被稱為_C_模塊。A過程內(nèi)聚B功能內(nèi)聚C時間內(nèi)聚D邏輯內(nèi)聚28若一模塊內(nèi)部的處理動作為:成分A的輸出是成分B的輸入,則該模塊的聚合性稱為_A_。A、順序內(nèi)聚 B、功能內(nèi)聚 C、過程內(nèi)聚 D、通信內(nèi)聚29某模塊的功能是打印錄取通知書或不錄取通知書,調(diào)用模塊可通過向此模塊傳遞布爾標(biāo)志信息決定本次調(diào)用哪種通知書的打印,這種模塊之間的耦合稱為_D_。A數(shù)據(jù)耦合B混合耦合C公共耦合D控制耦合30要減少兩個模塊之間的耦合,則必須_D_。A兩個模塊間的調(diào)用次數(shù)要少B模塊間傳遞的參數(shù)要少C模塊間傳遞的參數(shù)要少且布傳遞開關(guān)型參數(shù)D模塊間傳遞的參數(shù)要少且不傳遞開關(guān)型參數(shù)以及兩模塊不引用同樣的全局變量31下列耦合度表示中,最弱的耦合形式是_C_。 A、特征耦合 B、公共耦合 C、數(shù)據(jù)耦合 D、數(shù)據(jù)結(jié)構(gòu)32一個模塊傳送給另一模塊的參數(shù)是由單個數(shù)據(jù)項組成的數(shù)組,它屬于_A_耦合。A、 數(shù)據(jù)型B、復(fù)合型C、內(nèi)容型D、公共型34PAD(Problem Analysis Diagram)圖是一種_B_工具。 A系統(tǒng)描述 B。詳細設(shè)計 C。測試 D。編程輔助35下列系統(tǒng)設(shè)計工具中,_B_不屬于詳細設(shè)計工具。 A、NS圖 B、數(shù)據(jù)流圖 C、程序流程圖 D、PAD36程序流程圖、N-S圖和PAD圖是_B_使用的表達工具。A設(shè)計階段的概要設(shè)計B設(shè)計階段的詳細設(shè)計C編碼階段D測試階段37模塊內(nèi)部的算法設(shè)計在結(jié)構(gòu)化方法的_C_階段進行。A、系統(tǒng)分析 B、概要設(shè)計 C、詳細設(shè)計 D 編碼(實現(xiàn))38源程序的版面文檔要求應(yīng)有變量說明、適當(dāng)注釋和_B_。A框圖B統(tǒng)一書寫格式C修改記錄D編程日期39提高程序可讀性的有力手段是_D_。A、 選好一種程序設(shè)計語言 B、顯式說明一切變量C、使用三種標(biāo)準控制語句 D、給程序加注釋40文檔是軟件開發(fā)人員.維護人員.用戶以及計算機之間的_B_, 軟件開發(fā)人員在各個階段以文檔作為前段工作成果的_E_和后段工作的_F_。A. 接口B.橋梁C.科學(xué)D.繼續(xù)E.體現(xiàn)F.基礎(chǔ)41軟件工程中_C_不屬于用戶文檔的內(nèi)容。A、 功能描述 B、安裝手冊C、系統(tǒng)設(shè)計D、使用手冊42在軟件工程中,高質(zhì)量的文檔標(biāo)準是完整性、一致性和_C_。A統(tǒng)一性B安全性C無二義性D組合性43一般來說,在管理軟件中,軟件生存周期各個階段的工作量以_D_所占的比例最大。 A、需求分析與設(shè)計階段 B、編碼實現(xiàn)階段 C、測試階段 D、維護階段44軟件的_B_一般由兩次故障平均間隔時間和故障平均恢復(fù)時間來度量;A可維護性 B可靠性 C效率 D可理解性45采用_D_且編寫程序,可提高程序的可移植性;A機器語言 B宏指令 C匯編語言 D高級語言46. 軟件工程學(xué)是應(yīng)用科學(xué)理論和工程上的技術(shù)指導(dǎo)軟件開發(fā)的學(xué)科,其目的是_B_。A引入新技術(shù)提高空間利用率B用較少的投資獲得高質(zhì)量的軟件C縮短研制周期擴大軟件功能D硬軟件結(jié)合使系統(tǒng)面向應(yīng)用47. 劃分軟件生存周期的階段時所應(yīng)遵循的基本原則是_B_。A各階段的任務(wù)盡可能相關(guān)性 B各階段的任務(wù)盡可能相對獨立C各階段的任務(wù)在時間上連續(xù) D各階段的任務(wù)在時間上相對獨立48. 結(jié)構(gòu)化設(shè)計方法采用變換分析和事務(wù)分析技術(shù)實現(xiàn)_D_。A從數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)B從模塊結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)C從模塊結(jié)構(gòu)導(dǎo)出數(shù)據(jù)結(jié)構(gòu)D從數(shù)據(jù)流圖導(dǎo)出初始化結(jié)構(gòu)圖49. 需求分析說明書不能作為_A_。A可行性研究的依據(jù) B用戶和開發(fā)人員之間的合同C系統(tǒng)概要設(shè)計的依據(jù) D軟件驗收測試的依據(jù)50. 瀑布模型把軟件生存周期劃分為軟件定義、軟件開發(fā)和_C_三個階段,而每一階段又可細分為若干個更小的階段。A詳細設(shè)計B可行性分析C運行及維護D測試與排錯51. Jackson設(shè)計方法由英國的M. Jackson提出的,它是一種面向_C_的設(shè)計方法。A對象 B數(shù)據(jù)流C數(shù)據(jù)結(jié)構(gòu) D控制結(jié)構(gòu)52. 一個模塊直接控制(調(diào)用)的下層模塊的數(shù)目稱為模塊的_B_。A扇入數(shù) B扇出數(shù) C寬度 D作用域53. 模塊本身的內(nèi)聚是模塊獨立性的重要度量因素之一,在七類內(nèi)聚中,具有最強內(nèi)聚的一類是_D_。A順序性內(nèi)聚 B過程性內(nèi)聚C邏輯性內(nèi)聚D功能性內(nèi)聚54. 某模塊的功能是打印錄取通知書或不錄取通知書,調(diào)用模塊可通過向此模塊傳遞布爾標(biāo)志信息決定本次調(diào)用哪種通知書的打印,這種模塊之間的耦合稱為_D_。A數(shù)據(jù)耦合 B混合耦合C公共耦合 D控制耦合55. 程序流程圖、N-S圖和PAD圖是_B_使用的表達工具。A設(shè)計階段的概要設(shè)計 B設(shè)計階段的詳細設(shè)計C編碼階段 D測試階段56. 分析員是_B_。A用戶中系統(tǒng)的直接使用者 B用戶和軟件人員的中間人C軟件的編程人員 D用戶和軟件人員的領(lǐng)導(dǎo)57. 下列_D_不是模塊化設(shè)計的目的。A可采用結(jié)構(gòu)化設(shè)計方法 B降低復(fù)雜度C有利于信息隱蔽 D描述系統(tǒng)的功能與性能58. 軟件工程中_C_不屬于用戶文檔的內(nèi)容。A功能描述 B安裝手冊C系統(tǒng)設(shè)計手冊D使用手冊59. 軟件的_B_一般由兩次故障平均間隔時間和故障平均恢復(fù)時間來度量。A可維護性 B可靠性 C效率 D可理解性60. 一般來說,在管理軟件中,軟件生存周期各個階段的工作量以_D_所占的比例最大。A需求分析與設(shè)計階段 B編碼實現(xiàn)階段C測試階段 D維護階段61在下列工具與環(huán)境中( )屬于較早期的CASE。A基于信息工程CASE B人工智能CASE C結(jié)構(gòu)的基于圖形CASE D集成的CASE環(huán)境62Putnam成本估算模型是一個( )模型。 A靜態(tài)單變量 B動態(tài)單變量 C靜態(tài)多變量 D動態(tài)多變量63在McCall軟件質(zhì)量度量模型中,( )屬于面向軟件產(chǎn)品修改。 A可靠性 B可重用性 C適應(yīng)性 D可移植性64ISO的軟件質(zhì)量評價模型由3層組成,其中用于評價設(shè)計質(zhì)量的準則是( ) ASQIC BSQMC CSQRC DSQDC65軟件復(fù)雜性度量的參數(shù)包括( ) A效率 B規(guī)模 C完整性 D容錯性66對象實現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作( )于對象的統(tǒng)一體中。 A結(jié)合 B隱藏 C封裝 D抽象67軟件調(diào)試技術(shù)包括( ) A邊界值分析 B演繹法 C循環(huán)覆蓋 D集成測試68瀑布模型的存在問題是( ) A用戶容易參與開發(fā) B缺乏靈活性 C用戶與開發(fā)者易溝通 D適用可變需求69軟件測試方法中的靜態(tài)測試方法之一為( ) A計算機輔助靜態(tài)分析 B黑盒法 C路徑覆蓋 D邊界值分析70軟件生命周期中所花費用最多的階段是( ) A詳細設(shè)計 B軟件編碼 C軟件測試 D軟件維護71第一個體現(xiàn)結(jié)構(gòu)化編程思想的程序設(shè)計語言是( ) AFORTRAN語言 BPascal語言 CC語言 DPL/1語言72程序的三種基本控制結(jié)構(gòu)是( ) A過程、子程序和分程序 B順序、選擇和重復(fù) C遞歸、堆棧和隊列 D調(diào)用、返回和轉(zhuǎn)移73在詳細設(shè)計階段,經(jīng)常采用的工具有( ) APAD BSA CSC DDFD74詳細設(shè)計的結(jié)果基本決定了最終程序的( ) A代碼的規(guī)模 B運行速度 C質(zhì)量 D可維護性75需求分析中開發(fā)人員要從用戶那里了解( ) A軟件做什么 B用戶使用界面 C輸入的信息 D軟件的規(guī)模76結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是( )A程序的規(guī)模 B程序的效率 C程序設(shè)計語言的先進性 D程序易讀性77IDEF。圖反映系統(tǒng)( )A怎么做 B對誰做 C何時做 D做什么78經(jīng)濟可行性研究的范圍包括( ) A資源有效性 B管理制度 C效益分析 D開發(fā)風(fēng)險79可行性分析是在系統(tǒng)開發(fā)的早期所做的一項重要的論證工作,它是決定該系統(tǒng)是否開 發(fā)的決策依據(jù),因必須給出( )的回答。 A確定 B行或不行 C正確 D無二義80需求分析階段的任務(wù)是確定( )A軟件開發(fā)方法 B. 軟件開發(fā)工具 C軟件開發(fā)費 D軟件系統(tǒng)的功能81. 面向?qū)ο蟪绦蛟O(shè)計中的數(shù)據(jù)隱藏指的是( D )。A輸入數(shù)據(jù)必須輸入保密口令B數(shù)據(jù)經(jīng)過加密處理C對象內(nèi)部數(shù)據(jù)結(jié)構(gòu)上建有防火墻D對象內(nèi)部數(shù)據(jù)結(jié)構(gòu)的不可訪問性82. 與設(shè)計測試數(shù)據(jù)無關(guān)的文檔是( D )。A需求說明書 B設(shè)計說明書 C源程序 D項目開發(fā)設(shè)計83. 結(jié)構(gòu)化分析SA 方法以數(shù)據(jù)流圖、( B )和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟系統(tǒng)模型。ADFD 圖 B數(shù)據(jù)字典 CIPO 圖 DPAD 圖84. ( D )引入了“風(fēng)險驅(qū)動”的思想,適用于大規(guī)模的內(nèi)部開發(fā)項目。A增量模型 B噴泉模型 C原型模型 D螺旋模型85. 瀑布模型把軟件生存周期劃分為軟件定義、軟件開發(fā)和( C )三個階段,而每一階段又可細分為若干個更小的階段。A詳細設(shè)計 B可行性分析 C運行及維護D測試與排錯86. 若有一個計算類型的程序,它的輸入量只有一個X,其范圍是-1.0, 1.0,現(xiàn)從輸入的角度考慮一組測試用例:-1.001, -1.0, 1.0, 1.001。設(shè)計這組測試用例的方法是( C )。A條件覆蓋法 B等價分類法 C邊界值分析法 D錯誤推測法87. 數(shù)據(jù)字典是軟件需求分析階段的最重要工具之一,其最基本的功能是( C )。A數(shù)據(jù)庫設(shè)計 B數(shù)據(jù)通信 C數(shù)據(jù)定義 D數(shù)據(jù)維護88. 模塊本身的內(nèi)聚是模塊獨立性的重要度量因素之一,在七類內(nèi)聚中,具有最強內(nèi)聚的一類是( D )。A順序性內(nèi)聚 B過程性內(nèi)聚 C邏輯性內(nèi)聚D功能性內(nèi)聚89. 下面幾種白箱測試技術(shù),( D )是最強的覆蓋準則。A語句覆蓋 B條件覆蓋 C判定覆蓋 D條件組合覆蓋90. 軟件需求規(guī)格說明的內(nèi)容不應(yīng)包括( B )。A主要功能 B算法的詳細描述C用戶界面及運行環(huán)境 D軟件的性能91. 面向?qū)ο蟮姆治龇椒ㄖ饕墙⑷惸P?,? D )。A系統(tǒng)模型、E-R 模型、應(yīng)用模型 B對象模型、動態(tài)模型、應(yīng)用模型CE-R模型、對象模型、功能模型 D對象模型、動態(tài)模型、功能模型92. 下列( D )不是模塊化設(shè)計的目的。A可采用結(jié)構(gòu)化設(shè)計方法 B降低復(fù)雜度C有利于信息隱蔽 D描述系統(tǒng)的功能與性能93. 面向數(shù)據(jù)流的設(shè)計方法把( A )映射成軟件結(jié)構(gòu)。A數(shù)據(jù)流 B系統(tǒng)結(jié)構(gòu)C控制結(jié)構(gòu) D信息流94. 下面關(guān)于面向?qū)ο蠓椒ㄖ邢⒌臄⑹?,不正確的是( B )。A鍵盤、鼠標(biāo)、通信端口、網(wǎng)絡(luò)等設(shè)備一有變化,就會產(chǎn)生消息B操作系統(tǒng)不斷向應(yīng)用程序發(fā)送消息,但應(yīng)用程序不能向操作系統(tǒng)發(fā)送消息C應(yīng)用程序之間可以相互發(fā)送消息D發(fā)送與接收消息的通信機制與傳統(tǒng)的子程序調(diào)用機制不同95. 提高測試的有效性非常重要,成功的測試是指( D ) 。A證明了被測試程序正確無誤 B說明了被測試程序符合相應(yīng)的要求C未發(fā)現(xiàn)被測程序的錯誤 D發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤二、填空題:1、 在結(jié)構(gòu)化分析中,_數(shù)據(jù)字典_用于詳細地定義數(shù)據(jù)流圖中的成分。2、 耦合性和內(nèi)聚性是衡量_模塊獨立性_的兩個定性的標(biāo)準。3、 結(jié)構(gòu)化程序設(shè)計是一種程序設(shè)計技術(shù),它采用_自頂向下、逐步求精_的設(shè)計方法和順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)構(gòu)造常態(tài)程序。4、 結(jié)構(gòu)化分析方法中,數(shù)據(jù)流圖的四種基本成分為:處理、源點或終點_數(shù)據(jù)存儲和數(shù)據(jù)流_。5、 從模塊內(nèi)外的聯(lián)系來看,結(jié)構(gòu)化設(shè)計的要求是_高內(nèi)聚低耦合_。6、 在需求分析中,可從有關(guān)問題的簡述中提取組成數(shù)據(jù)流圖的基本成分。通常問題簡述中的動詞短語將成為數(shù)據(jù)流圖中的_處理_成分。7、 如果兩模塊間的通信信息是若干個參數(shù),而每個參數(shù)是單一的數(shù)據(jù)項,則稱這種耦合性為_數(shù)據(jù)_耦合。8、 模塊內(nèi)部的算法設(shè)計在結(jié)構(gòu)化方法的_詳細設(shè)計_階段進行。9、 定性度量模塊獨立性的兩個標(biāo)準是內(nèi)聚性和_耦合性_。10、 在模塊結(jié)構(gòu)圖中,直接調(diào)用某一模塊的其他模塊數(shù)稱為該模塊的_扇入數(shù)_。11系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達了系統(tǒng)中各種元素之間的(信息流動)情況。12成本效益分析的目的是從(經(jīng)濟)角度評價開發(fā)一個項目是否可行。13自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略) 。14獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。15匯編語言是面向(機器) 的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。16在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。17詳細設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。18所有軟件維護申請報告要按規(guī)定方式提出,該報告也稱( 軟件問題)報告。19有兩類維護技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護性的面向維護的技術(shù);在維護階段用來提高維護的效率和質(zhì)量的(維護支援)技術(shù)。20科學(xué)工程計算需要大量的標(biāo)準庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。21在軟件開發(fā)過程中要產(chǎn)生大量的信息,要進行大量的修改, 軟件配置管理 能協(xié)調(diào)軟件開發(fā),并使混亂減到最低程度。22規(guī)定功能的軟件,在一定程度上對自身錯誤的作用(軟件錯誤)具有屏蔽能力,則稱此軟件具有 容錯功能 的軟件。23McCall提出的軟件質(zhì)量模型包括11 個軟件質(zhì)量特性。24軟件可維護性度量的七個質(zhì)量特性是可理解性、可測試性、可修改性、可靠性、可移植性、 可使用性和效率。25為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分組成。26程序設(shè)計語言的心理特性主要表現(xiàn)在 歧義性 、簡潔性、傳統(tǒng)性、局部性和順序性。27軟件結(jié)構(gòu)是以 模塊 為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。28在結(jié)構(gòu)化分析中,用于描述加工邏輯的主要工具有三種,即:結(jié)構(gòu)化語言、判定表、判定樹 。29結(jié)構(gòu)化語言是介于自然語言和形式語言之間的一種半形式語言。30若年利率為i,不計復(fù)利,n年后可得錢數(shù)為F,則現(xiàn)在的價值P=F/(1+(n*i)。31. 在結(jié)構(gòu)化分析中,( 數(shù)據(jù)字典 )用于詳細地定義數(shù)據(jù)流圖中的成分。32. 耦合性和內(nèi)聚性是衡量( 模塊獨立性 )的兩個定性的標(biāo)準。33. 結(jié)構(gòu)化程序設(shè)計是一種程序設(shè)計技術(shù),它采用(自頂向下、逐步求精 )的設(shè)計方法和順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)構(gòu)造常態(tài)程序。34. 結(jié)構(gòu)化分析方法中,數(shù)據(jù)流圖的四種基本成分為:處理、源點或終點、數(shù)據(jù)存儲和( 數(shù)據(jù)存儲和數(shù)據(jù)流 )。35. 從模塊內(nèi)外的聯(lián)系來看,結(jié)構(gòu)化設(shè)計的要求是( 高內(nèi)聚低耦合 )。36. 在需求分析中,可從有關(guān)問題的簡述中提取組成數(shù)據(jù)流圖的基本成分。通常問題簡述中的動詞短語將成為數(shù)據(jù)流圖中的( 處理 )成分。37. 如果兩模塊間的通信信息是若干個參數(shù),而每個參數(shù)是單一的數(shù)據(jù)項,則稱這種耦合性為( 數(shù)據(jù) )耦合。38. 模塊內(nèi)部的算法設(shè)計在結(jié)構(gòu)化方法的( 詳細設(shè)計 )階段進行。39. 系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達了系統(tǒng)中各種元素之間的(信息流動)情況。40. 在模塊結(jié)構(gòu)圖中,直接調(diào)用某一模塊的其他模塊數(shù)稱為該模塊的( 扇入數(shù) )。41. ( 數(shù)據(jù)流圖 )和數(shù)據(jù)字典共同構(gòu)成了系統(tǒng)的邏輯模型。42. ( 等價劃分 )是一種黑盒測試技術(shù),這種技術(shù)把程序的輸入域劃分為若干個數(shù)據(jù)類,據(jù)此導(dǎo)出測試用例。43. 成本效益分析的目的是從(經(jīng)濟 )角度評價開發(fā)一個項目是否可行。44. 為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的( 輸出結(jié)果 )兩部分組成。45. 在結(jié)構(gòu)化分析中,用于描述加工邏輯的主要工具有三種,即:結(jié)構(gòu)化語言、判定表、( 判定樹 ) 。46. 若年利率為i,不計復(fù)利,n年后可得錢數(shù)為F,則現(xiàn)在的價值P=( F/(1+(n*i) )。47. 定性度量模塊獨立性的兩個標(biāo)準是內(nèi)聚性和( 耦合性 )。48. 自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略) 。49. 獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑未有過 )的邊的路徑。50. 軟件工程中的結(jié)構(gòu)化分析SA是一種面向( 結(jié)構(gòu)化 )的分析方法。三判斷1軟件的開發(fā)與運行經(jīng)常受到硬件的限制和制約。()2模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合。( )3Jackson圖只能表達程序結(jié)構(gòu),不能表達數(shù)據(jù)結(jié)構(gòu)。(X)4. 上述數(shù)據(jù)流圖表示數(shù)據(jù)A和B同時輸入變換成C。(X )5軟件的質(zhì)量好壞主要由驗收人員負責(zé),其他開發(fā)人員不必關(guān)心。(X )6判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。() 7.應(yīng)該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)8UML只能應(yīng)用于軟件系統(tǒng)模型的建立。(X)9容錯就是每個程序采用兩種不同的算法編寫。(X)10軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)1軟件工程學(xué)只有理論意義,沒有實際用途。 ( X )2軟件工程的方法只適用于大型軟件的開發(fā),對小型軟件的開發(fā)沒有幫助。( X )3可行性研究進一步研究問題分析階段所確定的問題是否有可行的解。 ( )4代碼審查方法沒有計算機測試方法好。 ( X )5驗證軟件需求的方法主要靠人工審查的方法。 ( )6并發(fā)系統(tǒng)中遇到的一個主要問題是定時問題。 ( )7編碼風(fēng)格由個人喜好決定,沒有固定格式。 ( X )8面向?qū)ο蠼5玫降哪P桶到y(tǒng)的3個要素,即靜態(tài)結(jié)構(gòu)、交互次序和數(shù)據(jù)變換。( )9軟件重用是提高軟件開發(fā)生產(chǎn)率和目標(biāo)系統(tǒng)質(zhì)量的重要途徑。 ( )10判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。 ( )11Power Designer是一個CASE工具。 ( )12軟件是指用程序設(shè)計語言(如Pascal,C,Visual Basic等)編寫的程序,軟件開發(fā)實際上就是編寫程序代碼。( X )13在進行需求分析時需同時考慮維護問題。 ( X )14UML是一種面向?qū)ο蟮姆治鲈O(shè)計方法,即OOA/OOD方法。 (X )15在面向?qū)ο蟮能浖_發(fā)方法中,每個類都存在其相應(yīng)的對象,對象是類的實例,類是生成對象的模板。( X )16快速原型模型可以有效地適應(yīng)用戶需求的動態(tài)變化。 ( T )17統(tǒng)一的建模語言,是一種軟件工程設(shè)計語言。 ( F )18模塊化使程序設(shè)計比較方便,但比較難以維護。 ( F )19一個模塊實際上就是一個進程。 ( F )20過程描述語言可以用于描述軟件的系統(tǒng)結(jié)構(gòu)。 ( F )21編程語言應(yīng)該在軟件概要設(shè)計時選擇。 ( F )22如果通過軟件測試沒有發(fā)現(xiàn)錯誤,則說明軟件是正確的。 ( F )23在進行概要設(shè)計時應(yīng)加強模塊間聯(lián)系。 ( F )24一般人為,軟件開發(fā)階段是由設(shè)計、編碼和測試三個基本活動組成。( F )25軟件概要設(shè)計包括軟件系統(tǒng)結(jié)構(gòu)設(shè)計以及數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計。 ( T )26為了提高程序的易讀性,盡可能使用高級語言或4GL編寫程序。 ( T )27為了加強軟件維護作業(yè)的進度,應(yīng)盡可能增加維護人員的數(shù)目。( F )28模塊化,信息隱藏,抽象和逐步求精的軟件設(shè)計原則有助于得到高內(nèi)聚,低耦合度的軟件產(chǎn)品。( T )29確認測試計劃應(yīng)該在可行性研究階段制定。 ( F )30數(shù)據(jù)字典是對數(shù)據(jù)流圖中的數(shù)據(jù)流,處理過程、數(shù)據(jù)存儲、數(shù)據(jù)的源和終點進行詳細定義。( F )1. 軟件工程學(xué)只有理論意義,沒有實際用途。 ( F )2. 軟件工程的方法只適用于大型軟件的開發(fā),對小型軟件的開發(fā)沒有幫助。 ( F )3. 可行性研究進一步研究問題分析階段所確定的問題是否有可行的解。 ( T )4. 代碼審查方法沒有計算機測試方法好。 ( F )5. 編碼風(fēng)格由個人喜好決定,沒有固定格式。 ( F )6. 面向?qū)ο蠼5玫降哪P桶到y(tǒng)的3個要素,即靜態(tài)結(jié)構(gòu)、交互次序和數(shù)據(jù)變換。 ( T)7. 軟件重用是提高軟件開發(fā)生產(chǎn)率和目標(biāo)系統(tǒng)質(zhì)量的重要途徑。( T ) 8. 判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。( T )9. 軟件是指用程序設(shè)計語言編寫的程序,軟件開發(fā)實際上就是編寫程序代碼。( F )10.在面向?qū)ο蟮能浖_發(fā)方法中,每個類都存在其相應(yīng)的對象,對象是類的實例,類是生成對象的模板。( T)1 .螺旋模型是在瀑布模型和增量模型的基礎(chǔ)上增加了風(fēng)險分析活動。( T )2. 白盒測試無需考慮模塊內(nèi)部的執(zhí)行過程和程序結(jié)構(gòu),只要了解模塊的功能即可。( F )3. 軟件概要設(shè)計包括軟件系統(tǒng)結(jié)構(gòu)設(shè)計以及數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計。( T )4. 模塊化,信息隱藏,抽象和逐步求精的軟件設(shè)計原則有助于得到高內(nèi)聚,低耦合度的軟件產(chǎn)品。( T )5. 軟件模塊之間的耦合性越弱越好。( T )6. 數(shù)據(jù)庫設(shè)計說明書是一個軟件配置項。 ( T )7. 在面向?qū)ο蟮能浖_發(fā)方法中,每個類都存在其相應(yīng)的對象,類是對象的實例,對象是生成類的模板。 ( F)8. 過程描述語言可以用于描述軟件的系統(tǒng)結(jié)構(gòu)。 ( F )9. 如果通過軟件測試沒有發(fā)現(xiàn)錯誤,則說明軟件是正確的。( F )10.快速原型模型可以有效地適應(yīng)用戶需求的動態(tài)變化。 ( T )四、簡答題1. 什么是軟件危機?它的具體表現(xiàn)有哪些?解決途徑是什么?答:“軟件危機”是指計算機軟件的“開發(fā)”和“維護”過程中所遇到的一系列“嚴重問題”。這些問題決不僅僅是不能正常運行的軟件才具有的,實際上,幾乎“所有軟件”都不同程度地存在這些問題?!败浖C”包含兩方面的問題:(1)如何開發(fā)軟件,以滿足對軟件日益增長的需求;(2)如何維護數(shù)量不斷膨脹的已有軟件。它們有以下表現(xiàn):(1)對軟件開發(fā)成本和進度的估計常常很不準確;(2)用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;(3)軟件產(chǎn)品的質(zhì)量往往靠不??;(4)軟件常常是不可維護的;(5)軟件通常沒有適當(dāng)?shù)奈臋n資料;(6)軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升;(7)軟件開發(fā)生產(chǎn)率提高的速度,遠遠跟不上計算機應(yīng)用普及深入的趨勢。解決途徑:(1)正確的認識軟件,擯棄“軟件就是程序”的錯誤觀念。充分理解到軟件是程序、數(shù)據(jù)、文檔等的完整集合。(2)充分認識到軟件開發(fā)不是個別人的神秘勞動技巧,而應(yīng)該是一種組織良好、管理嚴密、各類人員協(xié)同配合、共同完成的工程項目。(3)推廣開發(fā)軟件成功的技術(shù)和方法,并且探索研究更好的技術(shù)和方法。(4)開發(fā)和使用更好的軟件工具提高軟件開發(fā)的效率。歸結(jié)上述各條,可以看到,克服軟件危機的途徑在于既要有技術(shù)措施(方法、工具),又要有組織管理措施。將兩者結(jié)合起來以現(xiàn)代工程的開發(fā)方法來開發(fā)軟件。2. 軟件工程的定義。答:軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的工程學(xué)科。(1) 它采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護軟件;(2) 它將管理技術(shù)與當(dāng)前經(jīng)過時間考驗的而證明是正確的技術(shù)方法結(jié)合起來;(3) 它強調(diào)使用生存周期方法學(xué)和結(jié)構(gòu)分析和結(jié)構(gòu)技術(shù);(4) 經(jīng)過人們長期的努力和探索,圍繞著實現(xiàn)軟件優(yōu)質(zhì)高產(chǎn)這個目標(biāo),從技術(shù)到管理兩個方面做了大量的努力,逐漸形成了軟件工程學(xué)這一新的學(xué)科。3. 軟件生命周期包括哪些階段?每一階段的具體任務(wù)是什么?答:軟件有孕育,誕生,成長,成熟,衰亡的生存過程,稱其為計算機的生存周期。(1)問題定義:必須回答的關(guān)鍵問題是:“要解決的問題是什么?”。通過對客戶的訪問調(diào)查,系統(tǒng)分析員扼要地寫出關(guān)于問題性質(zhì)、工程目標(biāo)和工程規(guī)模的書面報告,經(jīng)過討論和必要的修改之后這份報告應(yīng)該得到用戶的確認。(2)可行性研究:要回答的關(guān)鍵問題是:“對于上一個階段所確定的問題有行得通的解決辦法嗎?”。這個階段的任務(wù)不是具體解決問題,而是研究問題的范圍,探索這個問題是否值得去解,是否有可行的解決辦法。(3)需求分析:這個階段的任務(wù)仍然不是具體地解決問題,而是準確地確定“為了解決這個問題,目標(biāo)系統(tǒng)必須做什么”,主要是確定目標(biāo)系統(tǒng)必須具備哪些功能。(4)總體設(shè)計:必須回答的關(guān)鍵問題是:“概括地說,應(yīng)該怎樣實現(xiàn)目標(biāo)系統(tǒng)?”總體設(shè)計又稱為概要設(shè)計。首先,應(yīng)該設(shè)計出實現(xiàn)目標(biāo)系統(tǒng)的幾種可能的方案。此外,還應(yīng)該制定出實現(xiàn)最佳方案的詳細計劃。另一項主要任務(wù)就是設(shè)計程序的體系結(jié)構(gòu),也就是確定程序由哪些模塊組成以及模塊間的關(guān)系。(5)詳細設(shè)計:把解法具體化,也就是回答“應(yīng)該怎樣具體地實現(xiàn)這個系統(tǒng)呢?”,設(shè)計出程序的詳細規(guī)格說明。(6)編碼和單元測試:這個階段的關(guān)鍵任務(wù)是寫出正確的容易理解、容易維護的程序模塊。(7)綜合測試:關(guān)鍵任務(wù)是通過各種類型的測試(及相應(yīng)的調(diào)試)使軟件達到預(yù)定的要求。(8)軟件維護:關(guān)鍵任務(wù)是,通過各種必要的維護活動使系統(tǒng)持久地滿足用戶的需要。軟件生存期也可以分為三個大的階段:計劃階段。開發(fā)階段和維護階段。4. 簡述瀑布模型、快速原型模型、增量模型、螺旋模型和噴泉模型的特點(優(yōu)缺點)。答:傳統(tǒng)瀑布模型的特點:階段間具有順序性和依賴性;推遲實現(xiàn)的觀點;質(zhì)量保證的觀點。瀑布模型優(yōu)點:可強迫開發(fā)人員采用規(guī)范的方法(例如,結(jié)構(gòu)化技術(shù));嚴格地規(guī)定了每個階段必須提交的文檔;要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證??焖僭湍P停簝?yōu)點:不帶反饋環(huán)。增量模型:優(yōu)點:能在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品;逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個全新的軟件可能給客戶組織帶來的沖擊。螺旋模型:優(yōu)點:對可選方案和約束條件的強調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開放的一個重要目標(biāo);減少了過多測試(浪費資金)或測試不足(產(chǎn)品故障多)所 帶來的風(fēng)險;在螺旋模型中維護只是模型的另一個周期,在維護和開發(fā)之間并沒本質(zhì)區(qū)別。螺旋模型的主要優(yōu)勢在于,它是風(fēng)險驅(qū)動的,這也可能是它的一個弱點。噴泉模型,與傳統(tǒng)的結(jié)構(gòu)化生存期比較,具有更多的增量和迭代性質(zhì),生存周期的各個階段可以相互重疊和多次反復(fù),而且在項目的珍格格生存期中還可以嵌入子生存期。就像誰可以噴上去又可以落下來,可以落在中間,也可以落在最底部。5. 可行性研究過程的步驟。答:(1)復(fù)查系統(tǒng)的規(guī)模和目標(biāo);(2)研究目前正在使用的系統(tǒng);(3)導(dǎo)出新系統(tǒng)的高層邏輯模型;(4)進一步定義問題; (5)導(dǎo)出和評價供選擇的解法;(6)推薦行動方針; (7)草擬開發(fā)計劃;(8)書寫文檔提交審查。6. 常用的成本分析方法有哪些?答:答:三種成本估算技術(shù):代碼行技術(shù)、任務(wù)分解技術(shù)、自動估計成本技術(shù)。7. 需求分析的具體任務(wù)是什么?答:1、確定對系統(tǒng)的綜合要求;2、分析系統(tǒng)的數(shù)據(jù)要求;3、導(dǎo)出系統(tǒng)的邏輯模型;4、修正系統(tǒng)開發(fā)計劃。8. 怎樣與用戶有效地溝通以獲取用戶的真實需求?答:訪談;從可行性研究階段得到的數(shù)據(jù)流圖出發(fā),在用戶的協(xié)助下面向數(shù)據(jù)流自頂向下逐步求精;簡易的應(yīng)用規(guī)格說明技術(shù);快速建立軟件原型。9. 結(jié)構(gòu)化設(shè)計中的模塊化、逐步求精、模塊獨立等原理。答:模塊化:就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求。把復(fù)雜的問題分解成許多容易解決的小問題,原來的問題也就容易解決了,這就是模塊化的根據(jù)。采用模塊化原理可以使軟件結(jié)構(gòu)清晰,不僅容易設(shè)計也容易閱讀和理解。模塊化使軟件容易測試和調(diào)試,因而有助于提高軟件的可靠性。模塊化能提高軟件的可修改性,有助于軟件開發(fā)工程的組織管理。逐步求精:為了能集中精力解決主要問題而盡量推遲對問題細節(jié)的考慮。事實上,可以把逐步求精看作是一項把一個時期內(nèi)必須解決的種種問題按優(yōu)先級排序的技術(shù)。逐步求精方法確保每個問題都將被解決,而且每個問題都將在適當(dāng)?shù)臅r候被解決。模塊獨立:模塊獨立的概念是模塊化、抽象、信息隱藏和局部化概念的直接結(jié)果。模塊獨立性重要的理由:(1)有效的模塊化(即具有獨立的模塊)的軟件比較容易開發(fā)出來。(2)獨立的模塊比較容易測試和維護。度量模塊獨立程度的兩個定性標(biāo)準:內(nèi)聚和耦合。10. 耦合的概念,常見耦合的含義及其耦合度高低排序。答:耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。如果兩個模塊彼此間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù),那么這種耦合稱為數(shù)據(jù)耦合。如果傳遞的信息中有控制信息(盡管有時這種控制信息以數(shù)據(jù)的形式出現(xiàn)),則這種耦合稱為控制耦合。當(dāng)把整個數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而被調(diào)用的模塊只需要使用其中一部分數(shù)據(jù)元素時,就出現(xiàn)了特征耦合。當(dāng)兩個或多個模塊通過一個公共數(shù)據(jù)環(huán)境相互作用時,它們之間的耦合稱為公共環(huán)境耦合。最高程度的耦合是內(nèi)容耦合。應(yīng)堅決避免使用內(nèi)容耦合。如果出現(xiàn)下列情況之一,兩個模塊間就發(fā)生了內(nèi)容耦合:(1)一個模塊訪問另一個模塊的內(nèi)部數(shù)據(jù)(2)一個模塊不通過正常入口而轉(zhuǎn)到另一個模塊的內(nèi)部(3)兩個模塊有一部分程序代碼重疊(只可能出現(xiàn)在匯編程序中)(4)一個模塊有多個入口(這意味著一個模塊有幾種功能)。盡量使用數(shù)據(jù)耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。11. 內(nèi)聚的概念,常見內(nèi)聚的含義及其內(nèi)聚度高低排序。答:內(nèi)聚標(biāo)志著一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然擴展。低內(nèi)聚有如下幾類:如果一個模塊完成一組任務(wù),這些任務(wù)彼此間即使有關(guān)系,關(guān)系也是很松散的,就叫做偶然內(nèi)聚。如果一個模塊完成的任務(wù)在邏輯上屬于相同或相似的一類,稱為邏輯內(nèi)聚。如果一個模塊包含的任務(wù)必須在同一段時間內(nèi)執(zhí)行,就叫時間內(nèi)聚。中內(nèi)聚主要有兩類:如果一個模塊內(nèi)的處理元素是相關(guān)的,而且必須以特定次序執(zhí)行,則稱為過程內(nèi)聚。如果模塊中所有元素都使用同一個輸入數(shù)據(jù)和(或)產(chǎn)生同一個輸出數(shù)據(jù),則稱為通信內(nèi)聚。高內(nèi)聚也有兩類:如果一個模塊內(nèi)的處理元素和同一個功能密切相關(guān),而且這些處理必須順序執(zhí)行(通常一個處理元素的輸出數(shù)據(jù)作為下一個處理元素的輸入數(shù)據(jù)),則稱為順序內(nèi)聚。如果模塊內(nèi)所有處理元素屬于一個整體,完成一個單一的功能,則稱為功能內(nèi)聚,功能內(nèi)聚是最高程度的內(nèi)聚。12. 為提高軟件的質(zhì)量,常用的啟發(fā)規(guī)則有哪些?答:(1)改進軟件結(jié)構(gòu)提高模塊獨立性;(2)模塊規(guī)模應(yīng)該適中;(3)深度、寬度、扇出和扇入都應(yīng)適當(dāng);(4)模塊的作用域應(yīng)該在控制域之內(nèi);(5)力爭降低模塊接口的復(fù)雜程度;(6)設(shè)計單入口單出口的模塊;(7)模塊功能應(yīng)該可以預(yù)測。13. 人機界面設(shè)計一般指導(dǎo)原則有哪些?答:一般交互指南;信息顯示指南;數(shù)據(jù)輸入指南。14. PFD、N_S、PAD、PDL各有什么優(yōu)缺點?答:程序流程圖(程序框圖)優(yōu)點:對控制流程的描繪很直觀,便于初學(xué)者掌握。缺點:(1)程序流程圖本質(zhì)上不是逐步求精的好工具,它誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu)。(2)程序流程圖中用箭頭代表控制流,因此程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計的精神,隨意轉(zhuǎn)移控制。(3)程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。N_S圖又稱盒圖,特點:(1)功能域明確,可以從盒圖上一眼就看出來(2)不可能任意轉(zhuǎn)移控制(3)很容易滿足確定局部和全程數(shù)據(jù)的作用域(4)很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。PAD圖優(yōu)點:(1)使用表示結(jié)構(gòu)化控制結(jié)構(gòu)的PAD符號所設(shè)計出來的程序必然是結(jié)構(gòu)化程序(2)PAD圖所描繪的程序結(jié)構(gòu)十分清晰(3)用PAD圖表現(xiàn)程序邏輯,易讀,易懂,易記(4)容易將PAD圖轉(zhuǎn)換成高級語言源程序,這種轉(zhuǎn)換可用軟件工具自動完成,從而可省去人工編碼的工作,有利于提高軟件可靠性和軟件生產(chǎn)率(5)即可用于表示程序邏輯,也可用于描繪數(shù)據(jù)結(jié)構(gòu)(6)PAD圖的符

溫馨提示

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

評論

0/150

提交評論