
軟件工程導(dǎo)論期末題庫完整版.docx
16頁1.填空題1.一般來說,可以從__一致性__、_完整性___、_現(xiàn)實性____和_有效性___四個方面驗證軟件需求的正確性2.IPO圖是_輸入、處理和輸出圖_的簡稱,它是美國IBM公司發(fā)展完善起來的一種圖形工具3.系統(tǒng)流程圖是描述__物理模型__的傳統(tǒng)工具,用圖形符號表達(dá)了系統(tǒng)中各種元素之間的_____信息流動_____情況4.?dāng)?shù)據(jù)流圖中的箭頭表示 數(shù)據(jù)流 ,橢圓或圓形表示 數(shù)據(jù)處理 ,矩形表示 數(shù)據(jù)的源點(diǎn)/終點(diǎn) 5. 軟件測試的步驟按順序分別是:___單元測試_____、子系統(tǒng)測試、系統(tǒng)測試(子系統(tǒng)和系統(tǒng)測試通常稱為集成測試)、__確認(rèn)測試__和_____系統(tǒng)測試(集成測試)____6. 軟件生命周期一般可分為_問題定義_、可行性研究、_需求分析_、設(shè)計編碼、_測試_、運(yùn)行與維護(hù)階段7. 可行性研究主要集中在以下四個方面_經(jīng)濟(jì)可行性_、__技術(shù)可行性____、__法律可行性___和抉擇8. 在結(jié)構(gòu)化設(shè)計中,HIPO圖應(yīng)用在 總體設(shè)計 階段,由IPO圖和_層次圖_兩部分組成9. 復(fù)雜問題的對象模型通常由下述五個層次組成:主題層、___類與對象_層、__結(jié)構(gòu)___層、_屬性_層和__服務(wù)_層。
10. 實施精化設(shè)計的目標(biāo)是基于模塊的“高內(nèi)聚低耦合”的原則,提高模塊的_獨(dú)立性11. 軟件生命周期一般可分為___問題定義_、可行性研究、__需求分析__、概要設(shè)計__、詳細(xì)設(shè)計、編碼、__軟件測試_、運(yùn)行與維護(hù)階段12. 面向?qū)ο蟮臄?shù)據(jù)存儲管理模式分為__文件__、_關(guān)系數(shù)據(jù)庫__和__面向?qū)ο髷?shù)據(jù)庫___三種13. 單元測試一般以_白盒_測試為主,__黑盒__測試為輔14. 軟件工程三要素包括_方法_、__工具_(dá)__和__過程___,其中, _過程_支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理15. 類構(gòu)件的重用方式有_實力重用__、__繼承重用______和_ 多態(tài)重用__三種16. 能力成熟度模型分為5個等級:初始級、____可重復(fù)____級、__已定義___級、____已管理__級和__優(yōu)化____級2.判斷題1. 向滯后的項目中增加人手會使得項目更加滯后T) 2. 過程描述語言可以用于描述軟件的系統(tǒng)結(jié)構(gòu)F) 3. 按照瀑布模型開發(fā)軟件的一條指導(dǎo)思想是清楚地區(qū)分邏輯設(shè)計與物理設(shè)計,以便盡早開始程序的物理實現(xiàn)F ) 5. 只有質(zhì)量差的軟件產(chǎn)品才需要維護(hù) F) 6.層次圖用來描述軟件的層次結(jié)構(gòu)。
層次圖中的一個矩形框代表一個模塊,方框間的連線表示模塊的組成關(guān)系在層次圖中除最頂層的方框之外,給每個方框都加編號,即成為帶有編號的層次圖 F )7.建立動態(tài)模型的第一步,是編寫典型交互行為的腳本 T)8.軟件錯誤可能出現(xiàn)在開發(fā)過程的早期,越早修改越好T)9.軟件模塊的耦合是越低越好 T) 10.一個好的測試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤 T ) 11.面向?qū)ο笤O(shè)計的結(jié)果只能采用面向?qū)ο笳Z言來實現(xiàn)( F ) 12. 一個成功的項目唯一提交的就是運(yùn)行程序F ) 13.用例之間的關(guān)系有3種 T )14.面向?qū)ο笤O(shè)計準(zhǔn)則也要遵循弱耦合的原則,但是繼承耦合則應(yīng)該提高,緊密地繼承耦合與高度的一般-特殊內(nèi)聚是一致的 ( T )15.軟件工作的考慮范圍主要是程序設(shè)計和實現(xiàn)F )16.環(huán)形復(fù)雜度定量度量程序的邏輯復(fù)雜度,可以用這個公式來計算環(huán)形復(fù)雜度:流圖G的環(huán)形復(fù)雜度V(G) = N– E + 2改成E-N+2)( F )17.等價類劃分方法將所有可能的輸入數(shù)據(jù)劃分成若干部分,然后從每一部分中選取少數(shù)有代表性的數(shù)據(jù)作為測試用例 T ) 18.在進(jìn)行總體(改成概要)設(shè)計時應(yīng)加強(qiáng)模塊間的聯(lián)系 F )19.系統(tǒng)結(jié)構(gòu)圖是精確表達(dá)程序結(jié)構(gòu)的圖形表示法。
因此,有時也可以將系統(tǒng)結(jié)構(gòu)圖當(dāng)作系統(tǒng)流程圖使用 T )20.建立動態(tài)模型的第一步,是編寫典型交互行為的腳本 T )21.在程序調(diào)試時,找出錯誤的位置和性質(zhì)比改正該錯誤更難 F )22.如果通過軟件測試沒有發(fā)現(xiàn)錯誤,則說明軟件是正確的 F ) 23.快速原型模型可以有效地適應(yīng)用戶需求的動態(tài)變化 T )24.模塊化,信息隱藏,抽象和逐步求精的軟件設(shè)計原則有助于得到高內(nèi)聚,低耦合度的軟件產(chǎn)品 T )25.集成測試主要由用戶來完成 F )26.面向?qū)ο?= 對象 + 類 + 繼承 + 消息傳遞 T )27.面向?qū)ο蟮姆治鍪敲嫦蛴嬎銠C(jī)系統(tǒng)建立軟件系統(tǒng)的對象模型 F )3.選擇題1.具有風(fēng)險分析的軟件生命周期模型是( ) A.瀑布模型 B.噴泉模型 C.螺旋模型 D.增量模型2.軟件工程的基本要素包括方法、工具和( ) A. 過程 B. 軟件系統(tǒng) C. 硬件環(huán)境 D. 人員 3.軟件的復(fù)雜性是( ),它引起人員通信困難、開發(fā)費(fèi)用超支、開發(fā)時間超時等問題。
A. 固有的 B. 人為的 C. 可消除的 D. 不可降低的 4.在結(jié)構(gòu)化分析方法中,( )表達(dá)系統(tǒng)內(nèi)部數(shù)據(jù)運(yùn)動的圖形化技術(shù) A. 數(shù)據(jù)字典 B. 實體關(guān)系圖 C. 數(shù)據(jù)流圖 D. 狀態(tài)轉(zhuǎn)換圖 5.“軟件危機(jī)”是指( )A.計算機(jī)病毒的出現(xiàn) B.利用計算機(jī)進(jìn)行經(jīng)濟(jì)犯罪活動 C.軟件開發(fā)和維護(hù)中出現(xiàn)的一系列問題 D.人們過分迷戀計算機(jī)系統(tǒng)6.隨著軟硬件環(huán)境變化而修改軟件的過程是( ) A.校正性維護(hù) B.適應(yīng)性維護(hù) C.完善性維護(hù) D.預(yù)防性維護(hù)7. 需求分析中開發(fā)人員要從用戶那里了解( ) A.軟件做什么 B.用戶使用界面 C.輸入的信息 D.軟件的規(guī)模 8.軟件詳細(xì)設(shè)計的主要任務(wù)是確定每個模塊的( ) A.算法和使用的數(shù)據(jù)結(jié)構(gòu) B.外部接口 C.功能 D.編程 9.為了提高模塊的獨(dú)立性,模塊內(nèi)部最好是( )//外部耦合,功能內(nèi)聚 A.邏輯內(nèi)聚 B.時間內(nèi)聚 C.功能內(nèi)聚 D.通信內(nèi)聚10.一個模塊的( )太大一般是因為缺乏中間層次,應(yīng)當(dāng)適當(dāng)增加中間層次的控制模塊。
A.深度 B. 寬度C. 扇出 D. 扇入11.模塊的內(nèi)聚性最高的是( ) A.邏輯內(nèi)聚 B.時間內(nèi)聚C. 偶然內(nèi)聚 D.功能內(nèi)聚12. 需求分析是( ) ? A. 軟件開發(fā)工作的基礎(chǔ)????????? B. 軟件生存周期的開始 ? C. 由系統(tǒng)分析員單獨(dú)完成的????? D. 由用戶自己單獨(dú)完成的13. 在白盒測試技術(shù)測試用例的設(shè)計中,( )是最強(qiáng)的覆蓋標(biāo)準(zhǔn)A.語句覆蓋 B.路徑覆蓋C. 條件組合覆蓋 D.判定覆蓋14. 軟件維護(hù)時,對測試階段未發(fā)現(xiàn)的錯誤進(jìn)行測試、診斷、定位、糾錯,直至修改的回歸測試過程稱為( ) A. 改正性維護(hù)??????????? B. 適應(yīng)性維護(hù)?C. 完善性維護(hù)???????????? D. 預(yù)防性維護(hù)15. ( )是把對象的屬性和操作結(jié)合在一起,構(gòu)成一個獨(dú)立的對象,其內(nèi)部信息對外界是隱蔽的,外界只能通過有限的接口與對象發(fā)生聯(lián)系 A. 多態(tài)性 B. 繼承 C. 封裝 D. 消息 16.對象實現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作( )于對象的統(tǒng)一體中。
A.結(jié)合 B.隱藏 C.封裝 D.抽象17.面向?qū)ο蟮拈_發(fā)方法中,( )將是面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)占主導(dǎo)地位的標(biāo)準(zhǔn)建模語言A.Booch方法 B.Coad方法 C.UML語言 D.OMT方法18.( )意味著一個操作在不同的類中可以有不同的實現(xiàn)方式A.多態(tài)性 B.多繼承 C.類的可復(fù)用 D.信息隱藏19.單元測試的測試用例主要根據(jù)( )的結(jié)果來設(shè)計A.需求分析 B.源程序 C.概要設(shè)計 D.詳細(xì)設(shè)計20. 軟件測試是為了( )而執(zhí)行程序的過程 A. 糾正錯誤 B. 發(fā)現(xiàn)錯誤 C. 避免錯誤 D. 證明正確 21.類構(gòu)件的重用方式有多態(tài)重用、繼承重用和( )A.實例重用 B.重載重用 C. 代碼重用 D. 方法重用22. 支持面向?qū)ο蠹夹g(shù)的軟件生存周期模型是( ) ? A. 噴泉模型????????? B. 螺旋模型 ? C. 增量模型????? D. 瀑布模型23. 在白盒測試技術(shù)測試用例的設(shè)計中,( )是最弱的覆蓋標(biāo)準(zhǔn)。
A.語句覆蓋 B.路徑覆蓋 C.條件組合覆蓋 D.判定覆蓋1. 下面哪些測試方法屬于白盒測試( )//BCD是黑盒測試A、基本路徑測試 B、等價類劃分 C、邊界值分析 D、錯誤推測 E、邏輯覆蓋測試2. 下列哪些選項是屬于內(nèi)容耦合( )A、 一個模塊直接訪問另一個模塊的內(nèi)部數(shù)據(jù)B、 一個模塊有多個入口C、 一個模塊不通過正常入口轉(zhuǎn)到另一模塊內(nèi)部D、 一個模塊只有一個入口3. 下列屬于度量效益方法的是( )A、貨幣的時間價值 B、投資回收期C、收入 D、投資回報率4. 數(shù)據(jù)流圖是用于表示軟件模型的一種圖示方法,在下列可采用的繪制方法中,哪些是常采用的( )A、自頂向下 B、自底向上 C、分層繪制 D、逐步求精5. 軟件設(shè)計中一般將用到圖形工具,下列哪種些可用作設(shè)計的圖形工具( )?A、結(jié)構(gòu)圖?B、實體聯(lián)系圖?C、IPO圖?D、層次圖 4.簡答題:1. 簡述增量模型的優(yōu)點(diǎn)和缺點(diǎn)答:優(yōu)點(diǎn) :采用增量模型的優(yōu)點(diǎn)是人員分配靈活,剛開始不用投入大量人力資源。
如果核心產(chǎn)品很受歡迎,則可增加人力實現(xiàn)下一個增量當(dāng)配備的人員不能在設(shè)定的期限內(nèi)完成產(chǎn)品時,它提供了一種先推出核心產(chǎn)品的途徑這樣即可先發(fā)布部分功能給客戶,對客戶起到鎮(zhèn)靜劑的作用此外,增量能夠有計劃地管理技術(shù)風(fēng)險 缺點(diǎn) : 1) 由于各個構(gòu)件是逐漸并入已有的軟件體系結(jié)構(gòu)中的,所以加入構(gòu)件必須不破壞已構(gòu)造好的系統(tǒng)部分,這需要軟件具備開放式的體系結(jié)構(gòu) 2) 在開發(fā)過程中,需求的變化是不可避免的增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟件過程的控制失去整體性 3)如果增量包之間存在相交的情況且未很好處理,則必須做全盤系統(tǒng)分析,這種模型將功能細(xì)化后分別開發(fā)的方法較適應(yīng)于需求經(jīng)常改變的軟件開發(fā)過程2. 簡述軟件設(shè)計的過程答:軟件設(shè)計是把許多事物和問題抽象起來,并且抽象它們不同層次和角度,是將需求轉(zhuǎn)變。
