國家開放大學《軟件工程》章節(jié)自測參考答案_第1頁
國家開放大學《軟件工程》章節(jié)自測參考答案_第2頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、國家開放大學軟件工程章節(jié)自測參考答案模塊一 軟件工程概述一、選擇題1軟件與程序的區(qū)別是()。A. 程序價格便宜、軟件價格昂貴。B. 程序是用戶自己編寫的,而軟件是由廠家提供的。C. 程序是用高級語言編寫的,而軟件是由機器語言編寫的。D. 軟件是程序以及開發(fā)、使用和維護所需要的所有文檔的總稱,而程序是軟件的一部分。2開發(fā)軟件所需高成本和產品的低質量之間有著尖銳的矛盾,這種現(xiàn)象稱做()。A. 軟件產生B. 軟件周期C. 軟件工程D. 軟件危機3瀑布模型本質上是一種( )模型。A. 線性順序B. 早期產品C. 順序迭代D. 線性迭代4瀑布模型存在的問題是( )。A. 缺乏靈活性B. 用戶容易參與開發(fā)

2、C. 適用可變需求D. 用戶與開發(fā)者易溝通5用戶要看到軟件產品的模樣,最早也要到()以后。A. 驗收B. 在單元測試之后C. 程序代碼編寫完成之后D. 用戶需求基本確定6螺旋模型是一種將瀑布模型和()結合起來的軟件開發(fā)模型。A. 增量模型B. 專家系統(tǒng)C. 噴泉模型D. 變換模型7原型化方法是用戶和設計者之間執(zhí)行的一種交互構成,適用于()系統(tǒng)。A. 需求不確定性高的B. 需求確定的C. 管理信息D. 實時8原型化方法是一種()型的設計過程。A. 自底向上B. 自頂向下C. 自外向內D. 自內向外9下列有關軟件工程的標準,屬于國際標準的是( )A. IEEEB. GBC. ISOD. DIN10

3、結構化方法是一種基于()的方法。A. 程序結構B. 數(shù)據結構C. 算法D. 數(shù)據流二、簡答題1什么是軟件危機?軟件危機表現(xiàn)在哪幾個方面?參考答案:由于軟件具有上述這些特點,長期以來一直沒有發(fā)明一種高效的開發(fā)方法,從而導致軟件生產效率非常低,交付期一拖再拖,最終交付的軟件產品在質量上很難保障。這種現(xiàn)象早在20世紀60年代被定義為“軟件危機”。它的具體表現(xiàn)如下:(1)“已完成”的軟件不滿足用戶的需求。(2)開發(fā)進度不能保障,交付時間一再拖延。(3)軟件開發(fā)成本難以準確估算,開發(fā)過程控制困難造成開發(fā)成本超出預算。(4)軟件產品的質量沒有保證,運算結果出錯、操作死機等現(xiàn)象屢屢出現(xiàn)。(5)軟件通常沒有適

4、當?shù)奈臋n資料,或文檔與最終交付的軟件產品不符,軟件的可維護程度非常低。2試述產生軟件危機的主要原因?參考答案:軟件的特點是導致軟件危機的客觀因素,而軟件開發(fā)和軟件維護過程中使用的不正確方法是主觀因素,主要表現(xiàn)為:忽視軟件開發(fā)前期的調研和分析工作,沒有統(tǒng)一的、規(guī)范的方法論指導,文檔資料不齊全,忽視人員之間的交流,忽視測試工作,輕視軟件的維護。3什么是軟件工程?軟件工程的目標是什么?參考答案:軟件工程是: 將系統(tǒng)化的、規(guī)范的、可度量的方法應用于軟件的開發(fā)、運行和維護過程,也就是說將工程化應用于軟件開發(fā)和管理之中; 對中所選方法的研究”。軟件工程旨在開發(fā)滿足用戶需要、及時交付、不超過預算和無故障的軟

5、件,其主要目標如下:(1)實現(xiàn)預期的軟件功能,達到較好的軟件性能,滿足用戶的需求。(2)增強軟件過程的可見性和可控性,保證軟件的質量。(3)提高所開發(fā)軟件的可維護性,降低維護費用。(4)提高軟件開發(fā)生產率,及時交付使用。(5)合理預算開發(fā)成本,付出較低的開發(fā)費用。4軟件工程為什么要強調規(guī)范化和文檔化?參考答案:軟件工程強調規(guī)范化和文檔化。規(guī)范化的目的是使眾多的開發(fā)者遵守相同的規(guī)范,使軟件生產擺脫個人生產方式,進入標準化、工程化的生產方式。文檔化是將軟件的設計思想、設計過程和實現(xiàn)過程完整地記錄下來,以便于后人的使用和維護,在開發(fā)過程中各類相關人員借助于文檔進行交流和溝通。另外,在開發(fā)過程中產生的

6、各類文檔使得軟件的生產過程由不可見變?yōu)榭梢?,便于管理者對軟件生產進度和開發(fā)過程進行管理。在用戶最終驗收時可以通過對提交的文檔進行技術審查和管理審查,保證軟件的質量。5軟件工程層次是如何劃分的?參考答案:軟件工程的研究內容具有層次化結構,它的最底層是質量保證層,中間是過程層和方法層,最上層是工具層。 全面的質量管理和質量需求是推動軟件工程過程不斷改進的動力,正是這種改進的動力導致了更加成熟的軟件工程方法不斷涌現(xiàn)。過程層定義了一組關鍵過程域,目的是保證軟件開發(fā)過程的規(guī)范性和可控性。方法層提供了軟件開發(fā)的各種方法,包括如何進行軟件需求分析和設計,如何實現(xiàn)設計,如何測試和維護等方法。工具層為軟件工程方

7、法和過程提供了自動或半自動的支撐環(huán)境。目前市場上已經有許多不錯的軟件工程工具,應用效果良好。6什么是軟件生存周期模型?參考答案:軟件生命周期模型反映的是軟件開發(fā)過程、活動和任務的結構框架。它能夠清晰、直觀地表達軟件開發(fā)全過程,明確規(guī)定要完成的主要活動和任務。對于不同的軟件系統(tǒng),可能采用不同的開發(fā)方法,使用不同的程序設計語言、不同的管理方法和手段、以及各種具有不同技能的人員參與工作,但是對于軟件生命周期模型來說都應該是穩(wěn)定有效和普遍適用的。到目前為止,已經提出了多種模型,主要有瀑布模型、演化模型、噴泉模型、螺旋模型、智能模型。模型的選擇是基于軟件的特點和應用領域。7軟件工程的發(fā)展至今為止經歷了哪

8、幾個階段?各階段的特征是什么?參考答案:在20世紀70年代基本形成了軟件工程的概念、框架、方法和手段,被稱之為第一代軟件工程,即傳統(tǒng)軟件工程。結構化分析、結構化設計和結構化編程方法是這個時期的代表。80年代出現(xiàn)的Smalltalk 80程序設計語言標志著面向對象程序設計進入了實用階段,從80年代中到90年代中,研究的重點轉移到面向對象分析和設計上來,從而演化成軟件工程的第二代,稱之為對象工程。90年代后期,軟件工程的一個重要進展就是基于組件的開發(fā)方法。為了提高軟件生產力,避免草率地開發(fā)應用程序,盡可能地利用可復用組件來組裝成新的應用軟件系統(tǒng)。到目前為止,組件技術的研究和發(fā)展形成了新一代軟件工程

9、,即第三代軟件工程,也有不少人稱之為組件工程。軟件工程至今還在不斷發(fā)展,無論是組件工程還是對象工程都在不斷發(fā)展,即使是傳統(tǒng)軟件工程的一些基本概念、框架,也隨著技術的進步在發(fā)生變化。總之,軟件工程代與代之間并沒有鴻溝,它們不僅交叉重疊,也攜手并進。8指出瀑布模型中下列任務的順序:驗收測試,項目計劃,單元測試,需求評審,成本估計,概要設計,詳細設計,系統(tǒng)測試,設計評審,編碼,需求規(guī)格說明書。參考答案:項目計劃->成本估計->需求規(guī)格說明書->需求評審->概要設計->詳細設計->設計評審->編碼->單元測試->系統(tǒng)測試->驗收測試9請比較軟

10、件生命周期瀑布模型和螺旋模型的特點。參考答案:瀑布模型最重要的特點:只有當一個階段的任務完成、交付相應的文檔、通過審查小組的審查合格后,才能開始下一個階段的工作。瀑布模型的優(yōu)點:有利于大型軟件開發(fā)過程中人員的組織、管理,有利于軟件開發(fā)方法和工具的研究,從而提高了大型軟件項目開發(fā)的質量和效率。瀑布模型的缺點:(1)開發(fā)過程一般不能逆轉,否則代價太大;(2)實際的項目開發(fā)很難嚴格按該模型進行;(3)客戶往往很難清楚地給出所有的需求,而該模型卻要求如此。(4)軟件的實際情況必須到項目開發(fā)的后期客戶才能看到,這要求客戶有足夠的耐心。螺旋模型的主要優(yōu)勢在于它是風險驅動的,每個方案在實施前都要經過風險分析

11、。如果風險過大,則項目應該停止,或改變方案。螺旋模型的優(yōu)點:(1)設計上的靈活性,可以在項目的各個階段進行變更;(2)以小的分段來構建大型系統(tǒng),使成本計算變得簡單容易;(3)客戶始終參與每個階段的開發(fā),保證了項目不偏離正確方向以及項目的可控性;(4) 隨著項目推進,客戶始終掌握項目的最新信息 , 從而他或她能夠和管理層有效地交互。 螺旋模型的缺點:(1)采用螺旋模型需要具有相當豐富的風險評估經驗和專門知識,在風險較大的項目開發(fā)中,如果未能夠及時標識風險,勢必造成重大損失;(2)過多的迭代次數(shù)會增加開發(fā)成本,延遲提交時間。10什么叫職業(yè)化?職業(yè)化軟件工程師的必備條件是什么?參考答案:所謂職業(yè)化,

12、簡單說就是能勝任工作,讓人放心?!澳軇偃喂ぷ鳌?,就需要具備相應的專業(yè)技能、知識和經驗;“讓人放心”意味著很多,包括遵守行業(yè)成文的或未成文的規(guī)則和規(guī)范,積極有效地和同事溝通,確保自己的工作產品是大家所期望的,盡可能地向客戶提供最專業(yè)的服務和產品。自律、溝通和技能是成為職業(yè)化軟件工程師的必要條件。自律:軟件區(qū)別于其它傳統(tǒng)產品,軟件只有安裝運行后,人們才看見它的界面;開發(fā)進度也是肉眼看不見的,很難準確判斷開發(fā)任務完成了80%還是30%;質量更是不可見的,只有通過非常認真、全面的測試和度量,才能了解代碼的質量。一個程序員認真思考問題時的模樣和他發(fā)呆時的表現(xiàn)一樣,外人很難判斷。因此說,“自律”對軟件工程

13、師來說更為重要。溝通:軟件的規(guī)模越來越大,而且處在不斷的變化過程中。因此需要軟件工程師進行大量書面的、口頭的、或面對面的溝通。大到產品的整體功能和性能要求,小到程序的結構,甚至一個函數(shù)、一個變量的含義都需要溝通。溝通有標準化的、可視化的工具語言,如UML。軟件工程強調文檔的重要性就是以文檔作為溝通的工具,與客戶溝通明確用戶需求;工程師之間溝通明確設計方案,市場人員和工程師溝通確定產品特征。軟件工程的實踐表明,缺乏主動溝通,往往導致整個團隊的技術方案出現(xiàn)偏差,使整個項目的進度受到影響。技能:軟件工程師常常強調自己掌握的編碼技術,往往忽視用戶需求和軟件開發(fā)的規(guī)范。作為職業(yè)化軟件工程師,需求分析、軟

14、件設計、軟件構造、軟件測試、軟件維護、配置管理、軟件項目管理、軟件過程改進、軟件工具和方法以及軟件質量保證等是更為重要的技能。11職業(yè)化軟件工程師十大忌諱是哪些?參考答案:行為一:對外交付半成品。行為二:不遵守標準和規(guī)范。行為三:不積極幫助他人。行為四:版權意識不敏感。行為五:對待計劃不嚴肅。行為六:公事私事相混淆。行為七:不注意知識更新。行為八:不主動與人溝通。行為九:不遵守職業(yè)規(guī)則。行為十:不夠誠實和正直。12根據相關的法律,對于侵犯軟件著作權的行為,根據情節(jié)應當給予什么處罰?參考答案:對于侵犯軟件著作權的行為,要根據情況承擔停止侵害、消除影響、賠禮道歉、賠償損失等民事責任;損害社會公共利

15、益的,由著作權行政管理部門責令停止侵權行為,沒收違法所得,沒收、銷毀侵權復制品,并處罰款;情節(jié)嚴重的,著作權行政管理部門可以沒收用于制作侵權復制品的材料、工具、設備等;觸犯刑律的,依法追究刑事責任。13職業(yè)化軟件工程師要注意的問題是什么?參考答案:職業(yè)化軟件工程師要注意的十大問題:高質量地完成任務遵守行業(yè)標準,不能肆意按照自己的想象來發(fā)揮積極幫助他人版權意識敏感嚴格遵守計劃公私分明注意知識更新善于溝通遵守職業(yè)規(guī)則誠實和正直。模塊二 可行性研究一、選擇題1可行性研究的主要任務是()。A. 確定性能B. 確定功能C. 進行一次簡要的需求分析D. 確定系統(tǒng)做什么2可行性分析研究的費用大約是項目總經費

16、的()。A. 20%B. 5C. 2%D. 6%3可行性研究包括(1)研究目前正在使用的系統(tǒng)(2)復查系統(tǒng)地規(guī)模和目標 (3)進一步定義問題(4)導出新系統(tǒng)地高層邏輯模型,具體步驟順序是()A. (3)(2)(1)(4)B. (2)(1)(4)(3)C. (3)(1)(2)(4)D. (1)(2)(3)(4)4可行性研究的各個步驟的工作結果寫成清晰的文檔,下列哪個人員不必參加審查。A. 分析人員B. 客戶組織的負責人C. 用戶D. 評審組專家5可行性研究的四大要素是()。A. 經濟、技術、計算機硬件環(huán)境和網絡帶寬B. 經濟、技術、開發(fā)組織能力和領導者水平C. 經濟、技術、軟件開發(fā)工具和人員的穩(wěn)

17、定性D. 經濟、技術、法律和社會環(huán)境6經濟可行分析中()是分析投入的成本和產出的效益。A. 投入成本分析B. 產出效益分析C. 成本-收益分析D. 短期-長遠利益分析7()容易把握,風險較低。A. 短期利益B. 投入成本C. 長期利益D. 產出利益8技術可行性考慮的方面( )A. 提高軟件生產率的技術B. 以上全部C. 完成需求說明中功能需要的技術D. 保障軟件治療的技術9計算機病毒是指()。A. 一組自我復制和自動執(zhí)行的具有破壞能力的代碼B. 計算機系統(tǒng)的漏洞C. 程序中的BUGD. 一種細菌10我國正式頒布實施的()對計算機病毒的定義具有法律性,權威性。A. 中華人民共和國計算機信息系統(tǒng)安

18、全保護條例B. 計算機軟件保護條例C. 計算機病毒防治辦法D. 中華人民共和國著作權法11社會環(huán)境的可行性至少包括()A. 政策B. 市場C. 市場和政策D. 社會安定性12假定銀行的存款年利率是2%,請問現(xiàn)在存5000元,兩年后的價值應為()元。A. 5100B. 5202C. 4712D. 450013無形的效益是()A. 投資回收期B. 社會影響力C. 貨幣的時間價值D. 純收入模塊三 需求分析1.面向對象分析任務的核心在于建立( )模型。a. 建立正確的模型b. 識別問題域對象c. 識別對象之間的關系d. 上面所有2.( )不是分析建模的目的。a. 定義可驗證的軟件需求b. 開發(fā)一個簡

19、單的問題解決方案c. 描述客戶需求d. 建立軟件設計的基礎3.面向對象開發(fā)方法主要分為分析、設計和實現(xiàn)三個階段,下面屬于分析階段主要工作的是( )。a. 建立用例模型b. 改進系統(tǒng)的性能c. 定義子系統(tǒng)接口參數(shù)d. 編寫代碼4.面向對象分析過程中建立的模型有( )。a. 屬性模型、功能模型、對象模型b. 對象模型、功能模型、測試模型c. 數(shù)據模型、功能模型、活動模型d. 對象模型、功能模型、動態(tài)模型5.功能模型用于表達系統(tǒng)的需求,為軟件的進一步分析和設計打下基礎。在面向對象方法中,由( )實現(xiàn)。a. 用例圖和場景描述b. 交互圖和場景描述c. 活動圖和場景描述d. 場景描述6.用( )模型分析

20、和定義用戶的需求。a. 用例b. 靜態(tài)c. 動態(tài)d. 數(shù)據7.用( )模型描述和分析業(yè)務流程。a. 數(shù)據b. 交互c. 業(yè)務d. 動態(tài)8.下面建立功能模型的步驟哪個順序是正確的( )。a. 確定用例模型/確定角色/確定用例b. 確定角色/確定用例/確定用例模型c. 確定角色/確定用例模型/確定用例d. 確定用例/確定用例模型/確定角色9.建立用例(功能)模型中第一步是( )。a. 創(chuàng)建機構組織結構及角色職能圖b. 確定用例c. 確定用例模型d. 確定角色10.確定角色是( )的任務。a. 對象模型b. 動態(tài)模型c. 用例模型d. 交互模型11.( )用于描述系統(tǒng)中概念層次的對象。a. 界面類b

21、. 控制類c. 實體類d. 分析類12.分析模型的類有三種即( )。a. 界面類、控制類、公共類b. 實體類、數(shù)據類、界面類c. 邊界類、實體類、控制類d. 控制類、實體類、數(shù)據類13.建立對象模型的步驟為( )。a. 構建類圖/識別分析類b. 識別分析類/構建類圖c. 確定用例/確定角色d. 確定角色/確定用例模型14.在基于用例的面向對象分析過程中,定義交互行為的關鍵在于通過描述分析類實例之間的( )將用例的職責分配到分析類中。a. 上下文關系b. 消息傳遞c. 關聯(lián)關系d. 繼承關系15.動態(tài)模型描述系統(tǒng)的動態(tài)結構和對象之間的交互,表示瞬時的、行為化的系統(tǒng)“控制”特性。面向對象方法中,常

22、用( )實現(xiàn)。a. 狀態(tài)圖b. 交互圖c. 活動圖d. 以上全部16.需求評審問題清單應該包括( )。a. 檢查正確性的問題列表b. 檢查完整性的問題列表c. 檢查一致性的問題列表d. 以上全部17.是否描述了系統(tǒng)功能的管理屬于( )問題列表中的內容。a. 檢查完整性b. 檢查一致性c. 檢查正確性d. 檢查可靠性18.面向對象的需求分析規(guī)格說明書的分析模型中可以省略的有( )。a. 性能需求b. 數(shù)據要求c.對象模型d. 運行環(huán)境19.軟件需求分析規(guī)格說明書中的分析模型應該包括( )a. 對象模型b. 動態(tài)模型c. 用例模型d. 以上全部模塊四 軟件設計一、選擇題1.隨著模塊規(guī)模減小,模塊開

23、發(fā)成本(),模塊集成成本()。A. 增加/減小B. 增加/增加C. 減小/減小D. 減小/增加2.反映模塊獨立性的指標是()。A. 模塊的大小B. 模塊的參數(shù)C. 內聚和耦合D. 模塊的復雜性3.非直接耦合的模塊獨立性最強,()的模塊獨立性最弱。A. 數(shù)據耦合B. 控制耦合C. 外部耦合D. 內容耦合4.內容耦合是模塊間最緊密的耦合,()是模塊間最松散的耦合。A. 控制耦合B. 外部耦合C. 數(shù)據耦合D. 非直接耦合5.在對軟件系統(tǒng)進行模塊設計的時候,可以有不同的抽象層次,可以用(),配合面向問題的專業(yè)術語,概括地描述問題的解法。A. 流程圖B. 自然語言C. 直接實現(xiàn)的方式D. 過程化的描述

24、方法6.人們在認識復雜問題的過程中,使用最強有力的思維工具就是()A. 抽象B. 信息隱蔽C. 模塊化D. 內聚和耦合7.信息隱藏的核心內容是()。A. 數(shù)據不能被其他模塊訪問B. 一個模塊的內部信息不允許其他模塊直接訪問C. 把數(shù)據都放在公共的區(qū)域D. 把信息加密,只能讓有密鑰的模塊訪問8.每個子系統(tǒng)的接口定義了若干(),體現(xiàn)了子系統(tǒng)的功能,而功能的具體實現(xiàn)方法應該是隱藏的。 A. 參數(shù)B. 操作C. 控制D. 算法9.為高質量地開發(fā)軟件項目,在軟件結構設計時,必須遵循()原則。A. 數(shù)據共享B. 質量控制C. 信息隱蔽D. 程序優(yōu)化10.軟件結構圖中沒有()元素。A. 模塊B. 調用參數(shù)C

25、. 返回結果D. 判斷11.在實際的軟件設計中,通常采用樹狀結構,限制使用()。A. 層次結構B. 模塊結構C. 線性結構D. 網狀結構12.軟件結構使用的圖形工具,一般采用()圖。A. ERB. DFDC. SCD. PAD13.軟件設計的目標是()。A. 為軟件編碼設計模塊結構。B. 確定軟件的實現(xiàn)算法。C. 確定軟件要做什么。D. 在最短的時間內,生產出可靠性、可維護性俱佳的軟件方案。14.軟件設計時中一個基本原則()。A. 低耦合,高內聚 和信息隱蔽的設計原則B. 模塊扇出小于5C. 模塊深度小于7D. 模塊扇入小于515.為高質量地開發(fā)軟件項目,在軟件結構設計時,必須遵循()原則。A

26、. 質量控制B. 數(shù)據共享C. 信息隱蔽D. 程序優(yōu)化16.影響軟件設計的因素有()。A. 軟件使用者的文化背景B. 以上所有C. 設計人員的理解力D. 設計人員的個人經驗17.結構化設計方法具體流程中首先要()。A. 定義軟件的層次結構B. 分析數(shù)據流類型C. 以上所有D. 繪制軟件結構圖18.變換分析方法中應在數(shù)據流程圖上區(qū)分系統(tǒng)的邏輯輸入,()和中心變換部分。A. 格式轉換B. 邏輯輸出C. 物理輸入D. 物理輸出19.在任何情況下的都可以使用變換分析方法設計軟件結構,但在數(shù)據流程圖中明顯的()時,還是采用事務分析方法更好。A. 中心變換B. 發(fā)射路徑C. 接收路徑D. 事務中心20.在

27、優(yōu)化軟件結構時要注意保持簡單,在滿足模塊化要求的前提下盡量()。A. 增加模塊耦合度B. 增加復雜數(shù)據結構C. 減少模塊數(shù)量D. 增加模塊數(shù)量21.概要設計復查不需要()人員參加。A. 系統(tǒng)維護人員B. 系統(tǒng)設計員C. 用戶D. 系統(tǒng)分析員22.在概要設計復查過程中,設計人員詳細講述()。A. 需求規(guī)格說明書B. 程序編碼C. 總體設計方案D. 程序流程圖23.關鍵設計復查的參與者不需要()。A. 系統(tǒng)測試人員B. 系統(tǒng)分析員C. 用戶D. 系統(tǒng)設計員24.下列哪些屬于復審的問題設計?A. 設計算法合適否B. 設計文檔是否完備C. 設計容易實現(xiàn)否D. 以上所有25.數(shù)據結構設計中在確定數(shù)據結構

28、時應先考慮()。A. 動態(tài)結構B. 靜態(tài)結構C. 簡單結構D. 特殊結構26.為了加強數(shù)據設計的的(),應該針對常用的數(shù)據結構和復雜的數(shù)據結構設計抽象類型,并且將數(shù)據結構和操縱數(shù)據結構的操作封裝在一起。A. 可靠性B. 可移植性C. 可復用性D. 可維護性27.文件設計過程包括文件的邏輯設計和物理設計階段。其中文件的邏輯設計在()階段進行。A. 詳細設計B. 程序編碼C. 需求分析D. 概要設計28.下面哪項屬于文件邏輯設計的任務?A. 理解文件的特性B. 估算文件的存取時間C. 分析數(shù)據間的關系D. 確定文件的記錄格式29.()的目的是確定物理數(shù)據庫結構。A. 完整性設計B. 安全性設計C.

29、 子模式設計D. 模式設計30.程序流程圖是使用最為廣泛的詳細設計方法,其中方框代表:A. 結束B. 控制C. 注釋D. 處理步驟31.程序流程圖屬于( )階段的工具A. 編碼B. 總體設計C. 詳細設計D. 分析32.判定表由4個部分組成,其中()列出了所有的條件。A. 右半部B. 左上部C. 左下部D. 右下部33.PDL是一種()語言。A. 高級程序設計語言B. 建模語言C. 低級程序設計語言D. 過程設計語言34.PDL屬于( )階段的工具A. 編碼B. 總體設計C. 詳細設計D. 分析35.面向對象設計強調定義(),并且使它們相互協(xié)作來滿足用戶需求。A. E-R模型B. 軟件對象C.

30、 物理模型D. 接口36.面向對象設計的步驟中,正確的順序是()。A. 用例設計、構架設計、類設計B. 系統(tǒng)構架設計、用例設計、類設計C. 系統(tǒng)構架設計、數(shù)據庫設計和用戶界面設計D. 類設計、用例設計、構架設計37.通常將具有共性的非功能要求設計在(),以減少重新開發(fā)的工作量。A. 最低層B. 最高層C. 接口層D. 中間層38.下面那個選項不是正確的面向對象設計思想。A. 發(fā)現(xiàn)變化并且封裝它B. 先組合后繼承C. 先繼承后組合D. 對接口進行設計39.一個設計得好的OO系統(tǒng)具有()A. 弱內聚、強耦合的特征B. 弱內聚、弱耦合的特征C. 強內聚、弱耦合的特征D. 強內聚、強耦合的特征40.在

31、面向對象的設計中,我們應遵循的設計準則除了模塊化、抽象、低耦合、強內聚以外,還有( ) A. 類的開發(fā)B. 信息隱蔽C. 經常類的復用D. 隱藏復雜性41.( )是設計稿質量軟件的一個重要原則,因為它有助于隔離變化對系統(tǒng)其他元素的影響。A. 服務內聚B. 可重用C. 弱耦合D. 框架42.耦合主要是指不同對象之間相互關聯(lián)的程度,如果關聯(lián)程度高,則會()A. 增加測試修改難度B. 降低類的可移植性C. 以上全部D. 降低類的可重用性43.如果對象之間的耦合是通過()來實現(xiàn)的,則這種耦合就是交互耦合。A. 方法B. 參數(shù)C. 公共數(shù)據區(qū)D. 消息機制44.在面向對象設計中應盡量()A. 減少對象之

32、間發(fā)送的消息數(shù)B. 以上全部C. 增加消息中的參數(shù)個數(shù)D. 提高消息的連接程度45.繼承耦合是()之間的一種關聯(lián)形式,設計時應該適當使用這種耦合。A. 虛類與實體類B. 數(shù)據類與處理類C. 一般化類與特殊化類D. 控制類與界面類46.在設計時要特別分析一般化類與特殊化類之間的繼承關系,如果抽象層次不合理,會降低系統(tǒng)的()A. 安全性B. 可重用性C. 穩(wěn)定性D. 可移植性47.軟件重用在面向對象軟件開發(fā)方法中是從()開始的A. 維護階段B. 需求分析C. 設計階段D. 繪制模型48.為了提高工作效率,減少錯誤,降低成本,就要充分考慮軟件元素的()A. 可重用性B. 可讀性C. 可移植性D. 穩(wěn)

33、定性49.框架是一組可用于不同應用的()的集合。A. 類B. 過程C. 函數(shù)D. 數(shù)據結構50.當面向對象設計進行底層設計時,對每個類進行詳細設計,設計類的屬性和操作,優(yōu)化類之間的關系,就可以設計成( )來對類的設計進行構架和優(yōu)化。A. 過程B. 屬性C. 框架D. 方法51.面向對象設計首先要進行高層設計:確定系統(tǒng)的總體結構和風格,構造系統(tǒng)的(),將系統(tǒng)劃分成不同的子系統(tǒng)。A. 物理模型B. 邏輯模型C. 數(shù)據模型D. 用例模型52.構架設計的主要目的是(),這項工作由經驗豐富的構架設計師主持完成。A. 處理流程B. 確定系統(tǒng)總體結構C. 類圖D. 確定系統(tǒng)數(shù)據結構53.每個子系統(tǒng)的接口上定

34、義了若干(),其他子系統(tǒng)只能通過接口享受這個子系統(tǒng)提供的服務。A. 命令B. 屬性C. 數(shù)據D. 操作54.在分析模型內表示協(xié)調、順序、事務處理以及控制其他對象的類是()。A. 主函數(shù)B. 控制類C. 事務類D. 組件類55.用( )描述系統(tǒng)與角色之間的接口。A. 窗體B. 表單C. 界面類D. 對話框56.通常將具有共性的非功能需求設計在( ),以減少重新開發(fā)的工作量。A. 引用B. 調用C. 接口D. 復用57.非功能需求設計需要考慮的因素有()A. 故障恢復B. 以上全部C. 錯誤檢測D. 系統(tǒng)的安全性58.對用例進行設計,發(fā)現(xiàn)實現(xiàn)用例功能的(),確定類之間的關系。A. 算法B. 數(shù)據結

35、構C. 關鍵類D. 業(yè)務流程59.每個用例至少應該有一個(),它通常沒有屬性而只有方法,只是起協(xié)調和控制作用。A. 接口類B. 控制類C. 界面類D. 實體類60.定義類的屬性類型時盡量使用已有類型,太多自定義類型會降低系統(tǒng)的()指標。A. 安全性B. 有效性C. 開發(fā)效率D. 可維護性61.定義類的屬性結構,盡量不要使用復雜的()A. 數(shù)據結構B. 對象C. 類D. 方法62.設計類的操作就是為每個類的方法設計必須實現(xiàn)的操作,并用自然語言或偽代碼描述操作的()A. 對象B. 服務C. 算法D. 方法63.設計類的操作中不需要定義的內容()A. 操作返回的類型B. 定義操作的參數(shù)C. 對象的屬

36、性D. 操作描述64.對類進行詳細設計,主要是設計類的(),優(yōu)化類之間的關系。A. 屬性和方法、關系B. 處理流程C. 數(shù)據結構D. 算法65.在概要設計階段定義了類的關系,在()要細化這些關系A. 數(shù)據庫設計B. 測試C. 分析D. 詳細設計66.在圖書館系統(tǒng)中,假如已經構造了一個一般借書者類,后來發(fā)現(xiàn)圖書館的學生和教師在借書中有不同要求。請問在面向對象設計中用()方法可以方便地設計這兩個類? A. 動態(tài)聯(lián)編B. 繼承C. 信息隱藏D. 代碼復制67.系統(tǒng)設計規(guī)格說明書中不可缺少的內容有()A. 項目的背景B. 設計的目的C. 設計約束和專業(yè)詞匯D. 以上全部模塊五 編碼1.所有程序設計語言

37、的基本成分都可歸納為:數(shù)據成分、()、控制成分和傳輸成分。A. 運算成分B. 輸入成分C. 說明成分D. 循環(huán)成分2.()程序設計語言能接受的數(shù)據,如各種類型的變量、數(shù)組等,作為程序操作的對象,具有名稱、類型和作用域等特征。A. 說明成分B. 數(shù)據成分C. 控制成分D. 傳輸成分3.按照(),有通用語言和專用語言之分。A. 語言級別B. 用戶要求C. 應用范圍D. 使用方式4.結構化語言是介于自然語言和形式語言之間的一種()。A. 高級語言B. 計算機語言C. 半形式語言D. 低級語言5.下列敘述中錯誤的是( )。A. 給定算法的時間復雜性與實現(xiàn)該算法所采用的程序設計語言無關B. 面向對象程序

38、設計語言不支持對一個對象的成員變量進行直接訪問C. 面向對象程序設計語言可支持過程化的程序設計D. 與匯編語言相比,采用腳本語言編程可獲得更高的運行效率6.程序設計語言的技術特性不應包括()。A. 數(shù)據結構的描述性B. 數(shù)據庫的易操作性C. 抽象類型的描述性D. 軟件的可移植性7.科學計算領域一般選擇()語言。A. 匯編語言B. HTMLC. XMLD. C8.程序結構清晰且簡單易懂,一個函數(shù)的規(guī)模一般( )行。A. 不超過30B. 等于300C. 100左右D. 大于5009.最好使用( )避免二義性。A. 回車符號B. “”C. ;D. 括號10.如果程序代碼的( )好,則調試的成本就可以

39、大幅度降低。A. 可讀性B. 性能比C. 可擴充性D. 可移植性11.對于嵌套的循環(huán)和分支程序,層次不要超過( )層。A. 2B. 3C. 1D. 512.程序設計風格首先要考慮()。A. 效率B. 節(jié)省存儲空間C. 代碼書寫優(yōu)美D. 正確13.下面()屬于容錯處理。A. 變量使用前初始化B. 不要單獨進行浮點數(shù)比較C. 異常捕捉處理D. 用戶輸入進行有效行檢查14.以下()不符合可移植性要求。A. 對于JAVA程序可以使用第三方提供的接口B. 對于JAVA程序來說盡量使用標準的JDK提供的類C. 對數(shù)據庫的操作,使用符合JAVA怨言規(guī)范的標準的接口類D. 盡量使用標準的SQL數(shù)據類型和SQL

40、語句15.為獲得較高的(),在設計過程中常采用通用的程序設計語言和運行支撐環(huán)境。盡量不用與系統(tǒng)的底層相關性強的語言。A. 可維護性B. 可讀性C. 可靠性D. 可移植性16.在設計程序編碼的輸入輸出時,下面()不符合設計原則。A. 按照用戶的要求設計輸出報表形式B. 對所有的輸入數(shù)據進行檢驗C. 輸入一批數(shù)據時由用戶指定輸入數(shù)據數(shù)目D. 有些輸入信息應提供缺省值17.輸入輸出風格受到()因素影響。A. 工作環(huán)境B. 以上全部C. 用戶操作的的熟練程度D. 輸入輸出設備18.可重復使用的、功能相對獨立的算法或接口應該考慮封裝成公共的控件或類,下面()不屬于這部分。A. 數(shù)據庫連接B. 文件讀寫C

41、. 日期處理D. 程序模版19.相對固定和獨立的程序實現(xiàn)方式和過程,應考慮做成程序模版,如()。A. 符合一定規(guī)范的XML數(shù)據的解析過程B. 時間處理C. 字符串格式處理D. 文件讀寫20.代碼檢查是由()組成一個走查小組,通過閱讀代碼,并進行提問和討論,從而發(fā)現(xiàn)可能存在的缺陷、遺漏和矛盾的地方。A. 設計人員B. 分析人員C. 測試人員D. 編程人員21.java語言代碼審查表中檢查類的命名是否和設計相符屬于代碼檢查的()的檢查。A. 構造函數(shù)B. 類C. 屬性D. 方法22.下列關于功能性注釋不正確的說法是( )。A. 可使用空行或縮進,以便很容易區(qū)分注釋和程序B. 修改程序也應修改注釋C

42、. 注釋用來說明程序段,需要在每一行都要加注釋D. 功能性注釋嵌在源程序中,用于說明程序段或語句的功能以及數(shù)據的狀態(tài)23.下面( )不符合編程規(guī)范。A. 盡量減小代碼量B. 盡量使用全局變量C. 避免功能冗余的模塊D. 不使用不必要的變量和函數(shù)模塊六 軟件測試1、從狹義上講,軟件測試是()的過程。A. 區(qū)分程序員水平B. 用不同的數(shù)據驗證程序正確性C. 為發(fā)現(xiàn)錯誤而執(zhí)行程序D. 為了驗證程序正確2、經驗表明,在程序設計中,某模塊與其他模塊相比,若該模塊已發(fā)現(xiàn)并改正的錯誤數(shù)目較多,則該模塊中殘留的錯誤與其他模塊相比,通常應該()。A. 不確定B. 較少C. 較多D. 相似3、下面有關測試原則的說

43、法正確的是( )。A. 程序最好由編寫該程序的程序員自己來測試B. 使用測試用例進行測試是為了檢查程序員是否做錯了他該做的事C. 測試用例應由測試的輸入數(shù)據和預期的輸出結果兩部分組成D. 測試用例自詡選取合理的輸入數(shù)據4、軟件測試的目標是設計優(yōu)秀的測試用例,()。A. 保障程序的正確性B. 以最小的代價、在最短的時間內盡可能多地發(fā)現(xiàn)軟件中的錯誤C. 區(qū)分出程序員的編程水平D. 最快速地找出程序中的問題5、()不符合軟件測試原則。A. 程序員應該仔細測試自己編寫的程序代碼B. 對每個測試結果進行檢查,不漏掉已經出現(xiàn)的錯誤跡象C. 測試工作越早開始越好D. 程序員要避免測試自己編寫的程序代碼6、測

44、試最早的開始時間是()。A. 從詳細設計階段開始B. 以上都對C. 從編碼階段開始D. 從需求分析階段開始7、從測試對象的粒度上劃分測試為()。A. 單元測試、集成測試、系統(tǒng)測試和驗收測試B. 壓力測試、功能測試、性能測試和系統(tǒng)測試C. 單元測試、集成測試D. 黑盒測試、白盒測試、功能測試和性能測試8、()時,測試人員必須接觸到程序源代碼。A. 壓力測試B. 外觀測試C. 黑盒測試D. 白盒測試9、在設計黑盒測試用例時,主要研究()。A. 項目開發(fā)計劃B. 詳細設計說明C. 概要設計說明書D. 需求規(guī)格說明10、在設計測試用例時,應該包括()測試用例。A. 可能產生無效輸出的輸入情況B. 無效

45、的和不期望的輸入情況C. 上面所有情況D. 有效的和期望的輸入情況11、測試用例是一組()。A. 測試數(shù)據B. 測試驅動程序C. 測試用的輸入數(shù)據以及對應的預期結果D. 測試程序及數(shù)據12、用足夠多的測試用例使程序的每條語句至少執(zhí)行一次,這是()。A. 條件覆蓋B. 語句覆蓋C. 路徑覆蓋D. 判定覆蓋13、設計足夠多的測試用例不僅使程序的每條語句至少執(zhí)行一次,還要使每個判定分支都至少執(zhí)行一次。A. 路徑覆蓋B. 條件組合覆蓋C. 語句覆蓋D. 判定覆蓋14、設計足夠多的測試用例不僅使程序的每條語句至少執(zhí)行一次,還要使每個判定表達式中條件的各種組合都至少出現(xiàn)一次。A. 條件組合覆蓋B. 語句覆

46、蓋C. 路徑覆蓋D. 判定覆蓋15、下面哪些測試屬于黑盒測試( )。A. 路徑測試B. 條件判斷C. 等價類劃分D. 循環(huán)測試16、等價類劃分法是把程序的輸入域劃分為若干部分,然后從每個部分中選取( ) 代表性數(shù)據當作測試用例。A. 少數(shù)B. 一個C. 二個D. 多數(shù)17、()屬于功能測試方法。A. 邊值分析和等價類劃分B. 判定覆蓋和回歸測試C. 等價類劃分和判定覆蓋D. 邊值分析和判定覆蓋18、( )能夠有效地檢測輸入條件的各種組合可能會引起的錯誤。A. 錯誤推測B. 邊界值分析C. 因果圖D. 等價類劃分19、以下哪種測試方法不屬于白盒測試技術()。A. 循環(huán)覆蓋測試B. 邊界值分析測試

47、C. 邏輯覆蓋測試D. 基本路徑測試20、下列關于軟件測試策略的敘述中不正確的是()。A. 軟件性能測試的目標之一是為了提高性能B. Myers認為自底向上測試方法要優(yōu)于自頂向下測試的方法C. 增量測試的主要問題在于需要額外編寫很多特殊的測試程序D. 靜態(tài)測試與動態(tài)測試都要執(zhí)行程序21、軟件測試計劃的內容應包括()。A. 測試內容和評價標準B. 以上全部C. 被測軟件的功能、輸入和輸出D. 測試目的、背景22、軟件測試方法中的( )屬于靜態(tài)測試方法。A. 黑盒法B. 人工檢測C. 路徑覆蓋D. 錯誤推測23、不用執(zhí)行程序,目的是收集有關程序代碼的結構信息,這一過程是( )A. 增量測試B. 靜

48、態(tài)分析C. 性能測試D. 大突擊測試24、測試程序時不在機器上直接運行程序,而是采用人工檢查或計算機輔助靜態(tài)分析的手段檢查程序。這種測試稱為( )。A. 靜態(tài)測試B. 白盒測試C. 動態(tài)測試D. 黑盒測試25、 在動態(tài)執(zhí)行跟蹤測試中,測試環(huán)境指的是()。A. 以上全部B. 樁程序C. 驅動程序D. 被測單元26、()用于代替所測單元調用的子模塊,它只做少量的數(shù)據操作,主要是返回被測單元需要的數(shù)據。A. 子程序B. 驅動程序C. 子函數(shù)D. 樁程序27、軟件的集成測試工作最好由( )承擔,以提高集成測試的效果。A. 該軟件的編程人員B. 該軟件開發(fā)組的負責人C. 該軟件的設計人員D. 不屬于該軟

49、件開發(fā)組的軟件設計人員28、()是組裝軟件的測試技術,按設計要求把通過單元測試的各個模塊組裝在一起進行測試,以便發(fā)現(xiàn)與接口有關的各種錯誤。A. 集成測試B. 類測試C. 驗收測試D. 系統(tǒng)測試29、下列測試中不屬于系統(tǒng)測試的是()。A. 壓力測試B. 性能測試C. 集成測試D. 可靠性測試30、下面說法中屬于系統(tǒng)測試的目標的是()。1)找出軟件中存在的缺陷與錯誤2)確認軟件所實現(xiàn)的功能是否符合規(guī)格說明3)確認軟件的性能是否滿足要求A. 1)、2)和3)B. 僅1)C. 2)和3)D. 1)和2)31、檢查軟件產品是否符合需求定義的過程稱為( )。A. 集成測試B. 驗證測試C. 確認測試D.

50、驗收測試32、下列關于軟件驗收測試的合格通過準則是( )。1)軟件需求分析說明書中定義的所有功能已全部實現(xiàn),性能指標全部達到要求2)所有測試項沒有殘余一級、二級和三級錯誤3)立項審批表、需求分析文檔、設計文檔和編碼實現(xiàn)一致4)驗收測試工件齊全A. 1)和3)B. 1)和3) 和4)C. 1)D. 所有都對33、忽略類功能實現(xiàn)的細則,將測試的目光集中在類功能的實現(xiàn)和相應的面向對象程序風格上屬于()A. 面向對象編程測試(OOP測試)B. 面向對象單元測試C. 面向對象分析測試(OOA測試)D. 面向對象設計測試(OOD測試)34、OO軟件測試的方法包括()A. 由行為模型(狀態(tài)、活動、順序和合作圖)導出的測試B. OO類的隨機測試和類層次的分割測試C. 基于故障、場景的測試D. D 以上全部35、在面向對象的測試中,()用于代替?zhèn)鹘y(tǒng)測試方法中的單元測試。A. 類測試B. 系統(tǒng)測試C. 壓力測試D. 驗收測試36、類測試包括()A. 以上全部B. 類屬性

溫馨提示

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

評論

0/150

提交評論