《軟件工程》練習題_第1頁
《軟件工程》練習題_第2頁
《軟件工程》練習題_第3頁
《軟件工程》練習題_第4頁
《軟件工程》練習題_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程練習題一 一、單選題1可行性研究要進行一次( C )需求分析。A詳細的B全面的C簡化的、壓縮的D徹底的2系統(tǒng)流程圖用于可行性分析中的( A )的描述。A當前運行系統(tǒng)B當前邏輯模型C目標系統(tǒng)D新系統(tǒng)3系統(tǒng)流程圖是描述( C )的工具。A邏輯系統(tǒng)B程序系統(tǒng)C體系結構D物理系統(tǒng)4軟件的發(fā)展經歷了( D )個發(fā)展階段。A 一B二C三D四5需求分析的任務不包括( B )。A問題分析B系統(tǒng)設計C需求描述D 需求評審6一個軟件的寬度是指其控制的( C )。 A模塊數B層數C跨度D厚度7可行性研究的步驟中不包括( C )的內容。A復查初步分析結果B研究現(xiàn)有系統(tǒng)C導出新系統(tǒng)高層邏輯模型D建立新系統(tǒng)的物理

2、邏輯模型解法8技術可行性是可行性研究的關鍵,其主要內容一般不包括( C )。A風險分析B資源分析C人員分析D技術分析9提高軟件質量和可靠的技術大致可分為兩大類:其中一類就是避開錯誤技術,但避開錯誤技術無法做到完美無缺和絕無錯誤,這就需要( D )。A消除錯誤B檢測錯誤C避開錯誤D容錯10( D )是以提高軟件質量為目的的技術活動。A技術創(chuàng)新B創(chuàng)新C技術創(chuàng)造D技術評審11軟件開發(fā)過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫( D )。A軟件生存期B面向對象設計C面向對象程序設計D面向對象分析12軟件工程中的各種方法是完成軟件工程項目的技術手段,它們支持軟件工程的( A )階段。A各個B

3、前期C中期D后期13從事物的屬性側面來描述事物的方法就是( B )的方法。A面向對象B面向過程C面向數據D面向屬性14Jackson方法在需求分析階段的主要步驟不包括( A )。A了解實體行為B標識實體與行為C生成實體結構圖D創(chuàng)建軟件系統(tǒng)模型15原型化方法是用戶和設計者之間執(zhí)行的一種交互構成,適用于( A )系統(tǒng)。A需求不確定性高的B需求確定的C管理信息D實時16原型化方法是一種( A )型的設計過程。A自外向內B自頂向下C自內向外D自底向上17軟件總體設計是指軟件總體結構設計和數據設計,該階段的主要任務不包括( D )。A設計軟件的模塊結構B定義接口并建立數據結構C生成概要設計規(guī)格說明和組裝

4、測試計劃D模塊設計18軟件開發(fā)部分的任務是將系統(tǒng)對軟件的需求轉換成可操作的系統(tǒng)要素,即( A )。A軟件B硬件C文本D說明19下列關于瀑布模型的描述正確的是( D )。A利用瀑布模型,如果發(fā)現(xiàn)問題修改的代價很低B瀑布模型的核心是按照軟件開發(fā)的時間順序將問題簡化C瀑布模型具有良好的靈活性D瀑布模型采用結構化的分析與設計方法,將邏輯實現(xiàn)與物理實現(xiàn)分開20總體設計的目的是確定整個系統(tǒng)的( B )。A規(guī)模B功能及模塊結構C費用D測試方案21如果某種內聚要求一個模塊中包含的任務必須在同一段時間內執(zhí)行,則這種內聚為( A )。A時間內聚B邏輯內聚C通信內聚D信息內聚22軟件需求分析的任務不包括( C )。

5、A問題分析B信息域分析C結構化設計D確定邏輯結構23進行需求分析有的多種描述工具,但不包括( C )。A數據流圖B判定表CPAD圖D數據字典24在需求分析過程中,分析員要從用戶那里解決的最重要的問題是( A )。A要求軟件做什么B要給軟件提供什么信息C要求軟件工作效率如何D要求軟件具有什么樣的結構25以下軟件成本估算模型中,是動態(tài)多變量的模型有( C )。AHalstead 理論模型BDeiphi 專家估算模型CPutnam 估算模型DCOCOMO 模型26關于快速建立漸進原型(RCP 法)的論述不正確的是( C )。ARCP法建立的原型反映了系統(tǒng)的某些主要特征。BRCP法采用循環(huán)漸進的開發(fā)方

6、式,對系統(tǒng)模型作連續(xù)精化。CRCP法建立需求規(guī)格原型,當需求說明一旦確定原型被廢棄。DRCP法也稱為追加(add on)型的原型化方法。27面向對象的開發(fā)方法的工作模型是( B )。A瀑布模型B噴泉模型C智能模型D循環(huán)模型28中級結構性成本模型COCOMO是一個( C )。 A. 靜態(tài)單變量模型B. 動態(tài)單變量模型 C. 靜態(tài)多變量模型D. 動態(tài)多變量模型29研究開發(fā)所需要的成本和資源是屬于可行性研究中的( B )研究的一方面。 A. 技術可行性B. 經濟可行性C. 社會可行性D. 法律可行性30面向對象的開發(fā)方法中,( C )將是面向對象技術領域內占主導地位的標準建模語言。 A. Booch

7、方法B. Coad方法C. UML語言D. OMT方法31瀑布模型本質上是一種( A )。 A. 線性順序模型B. 順序迭代模型C. 線性迭代模型D. 及早見產品模型32在SD方法中全面指導模塊劃分的最重要的原則是( D )。 A. 程序模塊化B. 模塊高內聚 C. 模塊低耦合 D. 模塊獨立性33軟件結構圖的形態(tài)特征能反映程序復用率的是( C )。 A. 深度B. 寬度C. 扇入D. 扇出34軟件按照設計的要求,在規(guī)定時間和條件下達到不出故障,持續(xù)運行的要求的質量特性稱為( B )。 A. 可用性B. 可靠性C. 正確性D. 完整性35為了提高模塊的獨立性,模塊內部最好是( C )。 A.

8、邏輯內聚B. 時間內聚C. 功能內聚D. 通信內聚36軟件結構圖中,模塊框之間若有直線連接,表示它們之間存在( A )。 A. 調用關系B. 組成關系C. 鏈接關系D. 順序執(zhí)行關系37需求分析最終結果是產生( B )。 A. 項目開發(fā)計劃B. 需求規(guī)格說明書 C. 設計說明書D. 可行性分析報告38軟件是一種( C )。 A. 程序B. 數據C. 邏輯產品D. 物理產品39開發(fā)軟件所需高成本和產品的低質量之間有著尖銳的矛盾,這種現(xiàn)象稱為( C )。 A. 軟件工程B. 軟件周期C. 軟件危機D. 軟件產生40Putnam成本估算模型是一個( D )模型。A. 靜態(tài)單變量B. 動態(tài)單變量C.

9、靜態(tài)多變量D. 動態(tài)多變量41IDEF0圖不反映( B )。 A. 系統(tǒng)做什么B. 系統(tǒng)功能如何實現(xiàn) C. 系統(tǒng)由誰來做D. 系統(tǒng)實現(xiàn)的約束條件42模塊的內聚性最高的是( D )。 A. 邏輯內聚B. 時間內聚C. 偶然內聚D. 功能內聚43軟件復雜性度量的參數包括( B )。A效率B規(guī)模C完整性D容錯性44需求分析中開發(fā)人員要從用戶那里了解( A )。A. 軟件做什么B. 用戶使用界面C. 輸入的信息D. 軟件的規(guī)模45IDEF0圖反映系統(tǒng)( D )。A. 怎么做B. 對誰做C. 何時做D. 做什么46經濟可行性研究的范圍包括( C )。A. 資源有效性B. 管理制度C. 效益分析D. 開發(fā)

10、風險47可行性分析是在系統(tǒng)開發(fā)的早期所做的一項重要的論證工作,它是該系統(tǒng)是否開發(fā)的決策依據,因此必須給出( B )的回答。A. 確定B. 行或不行C. 正確D. 無二義48需求分析階段的任務是確定( D )。A. 軟件開發(fā)方法B. 軟件開發(fā)工具C. 軟件開發(fā)費D. 軟件系統(tǒng)的功能49在屏蔽硬件錯誤的容錯技術中,冗余附加技術有( D )。A. 三模冗余B. 信息冗余C. 冗余備份程序的存儲及調用D. 關鍵程序和數據的冗余存儲和調用50軟件按照設計的要求,在規(guī)定時間和條件下達到不出故障,持續(xù)運行的要求的質量特性稱為( B )。A. 可用性B. 可靠性C. 正確性D. 完整性51下列模型屬于成本估算

11、方法的有( A )。A. COCOMO模型B. McCall模型C. McCabe度量法D. 時間估算法二、填空題1在軟件開發(fā)過程中要產生大量的信息,要進行大量的修改,(軟件配置管理)能協(xié)調軟件開發(fā),并使混亂減到最低程度。2規(guī)定功能的軟件,在一定程度上對自身錯誤的作用具有屏蔽能力,則稱此軟件具有(容錯功能)的軟件。3McCall提出的軟件質量模型包括(11 )個軟件質量特性。4軟件結構是以(模塊)為基礎而組成的一種控制層次結構。5若年利率為i,不計復利,n年后可得錢數為F,則現(xiàn)在的價值P=( F/(1+(n*i) )。6軟件工程是從(管理)和(技術)兩個方面研究如何更好的開發(fā)和維護計算機軟件的

12、一門學科。7軟件開發(fā)技術包括軟件開發(fā)方法學、(軟件工具)和(軟件開發(fā)環(huán)境)。8結構化分析方法使用數據流圖DFD和(數據字典DD )來描述。9模塊間的耦合程度強烈影響系統(tǒng)的可理解性、可測試性、可靠性和(可測試性)。10在分層的數據流圖中,稱上層圖為下層圖的(父圖),下層圖為上層圖的(子圖)。11Jackson圖既可用表達程序結構,也可用表達(數據結構)。12實現(xiàn)容錯的主要手段是冗余和(防錯程序設計)。13軟件有效性,指軟件系統(tǒng)的時間和(空間)效率。14軟件定義過程可通過軟件系統(tǒng)的(可行性研究)和需求分析兩個階段來完成。15軟件定義的基本任務是確定軟件系統(tǒng)的工程(需求),也就是要搞清“做什么”。1

13、6為了使用戶需求逐步精細化、完全化、一致化,通常采用(需求建模技術)。17一個軟件的深度是指其控制的(層數)。18成本效益分析的目的是從(經濟)角度評價開發(fā)一個項目是否可行。19軟件可靠性是指在給定的時間間隔內,程序成功運行的(概率)。20軟件項目管理的范圍主要集中于3個P上,即:People人員、Problem問題和(過程)。21任何一個基于計算機系統(tǒng)都可以用輸入-處理-輸出(IPO)圖來描述,它將該系統(tǒng)轉換成一個信息變換模型。22軟件項目管理的對象主要包括產品、過程和(資源)等。23計算機系統(tǒng)工程是用工程、科學和(數學)的原則與方法研制基于計算機的系統(tǒng)的有關技術、方法和過程。24在Jack

14、son方法中,實體結構是指實體在時間坐標系中的行為序列。這種序列以(重復)、 順序和選擇三種結構進行復合。25一個模塊的“扇出數”是指該模塊直接控制的其他(模塊數)。26軟件可適應性,是指軟件在不同的(系統(tǒng)約束)條件下,使用戶需求得到滿足的難易程度。27如果一個模塊控制另一個模塊,稱前者為主控模塊,后者為(從屬)模塊。28軟件工程由方法、工具和過程三部分組成,稱為(軟件工程)的三要素。29軟件可修改性,是指允許對軟件系統(tǒng)進行修改而不增加其(復雜)性。30一般來說,產品、過程、資源等對象都具有內部屬性和(外部)屬性。31軟件開發(fā)風險分析實際上就是貫穿于軟件工程過程中的一系列風險管理步驟,包括(風

15、險估算)、風險標識、風險評價、風險駕馭和監(jiān)控。32基于計算機系統(tǒng)的軟件要素中的軟部件由程序、數據和(文檔)組成。33數據流圖就是用來刻畫數據流和轉換的信息系統(tǒng)建模技術。它用簡單的圖形記號分別表示數據流、轉換、(數據源)以及外部實體。34成本估算模型中,Putnam估算模型是一種(動態(tài)多變量)模型。35功能模型描述子系統(tǒng)的所有計算,它由多張(數據流圖)組成。36結構化程序設計方法是使用(三種基本控制結構)構造程序。37按數據流的類型,結構化設計方法有兩種設計策略,它們是變換分析設計和(事務分析設計)。38數據流圖僅反映系統(tǒng)必須完成的邏輯功能,所以它是一種(功能)模型。39在建立對象的功能模型時,

16、使用的數據流圖中包含有處理、數據流、動作對象和(用戶組織的管理模式及規(guī)范)。40軟件開發(fā)方法是一種使用早已定義好的技術集及(符號表示習慣)來組織軟件生產的過程。41數據項是指(不可再分解的)數據單元。42瀑布模型是以文檔為驅動、適合于(軟件需求明確)的軟件項目的模型。43純收入是指在整個生存周期之內的(累計經濟效益(折合成現(xiàn)在值)與投資之差。44CASE工具的平臺集成指工具運行在相同的(硬件/操作系統(tǒng))平臺上。45將開發(fā)項目與一個或多個已完成的類似項目進行比較,找出與某個相類似項目的若干不同之處,并估算每個不同之處對成本的影響,得出開發(fā)項目的總成本。這種成本估算方法稱為(差別估算法)。三、判斷

17、題1在進行了可行性分析后,需求分析就只需要解決目標系統(tǒng)的設計方案。(錯)2SA法是面向數據流,建立在數據封閉原則上的需求分析方法。(對)3HIPO 法既是需求分析方法,又是軟件設計方法。(對)4在面向對象的需求分析方法中,建立動態(tài)模型是最主要的任務。(錯)5需求分析的主要方法有SD法、OOA法及HIPO法等。(錯)6分層的DFD圖可以用于可行性分析階段,描述系統(tǒng)的物理結構。(錯)7用于需求分析的軟件工具,應該能夠保證需求的正確性,即驗證需求的一致性、完整性、現(xiàn)實性和有效性。(對)四、名詞解釋1. 軟件生存周期模型 軟件生存周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。2數據字典DD 數據

18、字典是用來定義數據流圖中的各個成分的具體含義的。它以一種準確的、無二義性的說明方式為系統(tǒng)的分析、設計及維護提供了有關元素的一致的定義和詳細的描述。3內聚性 內聚性是模塊獨立性的衡量標準之一,它是指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量。4JSP方法 JSP方法是面向數據結構的設計方法,其定義了一組以數據結構為指導的映射過程,它根據輸入、輸出的數據結構,按一定的規(guī)則映射成軟件的過程描述,即程序結構。5軟件生存周期 軟件生存周期包括一個軟件從提出開發(fā)要求開始直到該軟件報廢為止的整個時期。包括:可行性分析和項目開發(fā)計劃、需求分析、概要設計、詳細設計、編碼、測試、維護等。

19、6概要設計 概要設計是在需求分析的基礎上通過抽象和分解將系統(tǒng)分解成模塊,確定系統(tǒng)功能實現(xiàn)。7耦合性 也稱塊間聯(lián)系。指軟件系統(tǒng)結構中各模塊間相互聯(lián)系緊密程度的一種度量。模塊之間聯(lián)系越緊密,其耦合性就越強,模塊的獨立性則越差。8信息隱蔽 信息隱蔽是指在設計和確定模塊時,使得一個模塊內包含的信息(過程或數據),對于不需要這些信息的其他模塊來說是不能訪問的。9模塊的作用范圍 一個模塊的作用范圍是指受該模塊內一個判定影響的所有模塊的集合。 10SA 結構化分析方法(SA)是需求分析中使用最多的方法之一,適用于數據處理類型軟件的需求分析?;舅枷胧遣捎米皂斚蛳?,逐步分解的方法分析整個系統(tǒng),有效地控制系統(tǒng)開

20、發(fā)的復雜性。11CASE CASE是一組工具和方法的集合,可以輔助軟件開發(fā)生命周期各階段進行軟件開發(fā)。CASE把軟件開發(fā)技術、軟件工具和軟件開發(fā)方法集成到一個統(tǒng)一而一致的框架中,并且吸收了CAD(計算機輔助設計)、軟件工程、操作系統(tǒng)、數據庫、網絡和許多其他計算機領域的原理和技術。因而,CASE領域是一個應用、繼承和綜合的領域。12. .結構化分析方法 結構化分析方法是需求分析中使用最多的方法之一,適用于數據處理類型軟件的需求分析?;舅枷胧遣捎米皂斚蛳隆⒅鸩椒纸獾姆椒ǚ治稣麄€系統(tǒng),有效地控制系統(tǒng)開發(fā)的復雜性。五、簡答題1模塊的內聚性包括哪些類型? 模塊的內聚性包括:(1)偶然內聚(2)邏輯內聚

21、(3)時間內聚(4)通信內聚(5)順序內聚(6)功能內聚2軟件產品具有哪些特性?(1)軟件是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性。(2)軟件是通過人們的智力活動,把知識與技術轉化成信息的一種產品,是在研制、開發(fā)中被創(chuàng)造出來的。(3)在軟件的運行和使用期間,沒有硬件那樣的機械磨損、老化問題。(4)軟件的開發(fā)和運行經常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有著不同程度的依賴性。(5)軟件的開發(fā)至今尚未完全擺脫手工的開發(fā)方式。(6)軟件的開發(fā)費用越來越高,成本相當昂貴。3什么是耦合?什么是內聚?耦合是對一個軟件結構內各個模塊之間互連程度的度量。內聚標志一個模塊內各個元素彼此結合的緊密程度

22、,它是信息隱蔽和局部化概念的自然擴展。4什么是計算機軟件? 計算機軟件包括與計算機系統(tǒng)操作有關的程序、規(guī)程、規(guī)則及任何與之有關的文檔和數據。5需求分析的任務是什么?需求分析的任務是確定待開發(fā)的軟件系統(tǒng)“做什么”。具體任務包括確定軟件系統(tǒng)的功能需求、性能需求和運行環(huán)境約束,編制軟件需求規(guī)格說明書、軟件系統(tǒng)的驗收測試準則和初步的用戶手冊。6如何對軟件項目進行成本管理?項目的成本,作為立項和簽合同的依據之一,并在軟件開發(fā)過程中按計劃管理經費的使用估算軟件。7快速原型技術的基本思路是什么?在軟件開發(fā)的早期,快速開發(fā)一個目標軟件系統(tǒng)的原型,讓用戶對其進行評價并提出修改意見,然后開發(fā)人員根據用戶的意見對原

23、型進行改進。8什么是軟件危機?軟件危機是指在計算機軟件開發(fā)、使用與維護過程中遇到的一系列嚴重問題和難題。9軟件項目的質量管理包含哪幾方面?(1)制定軟件質量保證計劃。(2)按照質量評價體系控制軟件質量要素。(3)對階段性的軟件產品進行評審。(4)對最終軟件產品進行確認,確保軟件質量。10螺旋模型的適應場合有哪些?支持需求不明確、特別是大型軟件系統(tǒng)的開發(fā),并支持面向規(guī)格說明、面向過程、面向對象等多種軟件開發(fā)方法,是一種具有廣闊前景的模型。11簡述軟件生存周期的五個階段?軟件從定義開始,經過開發(fā)、使用和維護,直到最終退役的全過程稱為軟件生存周期。12軟件開發(fā)風險分析實際上就是貫穿于軟件工程過程中的

24、一系列風險管理步驟,它包括哪些主要內容?(1)風險標識(2)風險估算(3)風險評價(4)風險駕馭和監(jiān)控。13需求評審標準(按照重要性的次序)包括正確性、無歧義性、完全性、可驗證性和其它那些內容?(1)一致性(2)可理解性(3)可修改性(4)可追蹤性14可行性研究報告的主要內容有哪些?(1)引言。(2)可行性研究前提。(3)對現(xiàn)有系統(tǒng)的分析。(4)所建議系統(tǒng)的技術可行性分析。(5)所建議系統(tǒng)的經濟可行性分析。(6)社會因素可行性分析。(7)其他可供選擇方案。(8)結論意見。15軟件危機的表現(xiàn)是什么?(1)經費預算經常突破,完成時間一再拖延。(2)開發(fā)的軟件不能滿足用戶要求。(3)開發(fā)的軟件可維護

25、性差。(4)開發(fā)的軟件可靠性差。16原型法模型一般適應哪些場合?它適合于那些不能預先確切定義需求的軟件系統(tǒng)的開發(fā),更適合于那些項目組成員(包括分析員、設計員、程序員和用戶)不能很好交流或通信有困難的情況。17簡答軟件工程的目標是什么?在給定成本、進度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性并滿足用戶需求的軟件產品。18常用的軟件項目的估算方法主要有哪4種?(1)自頂向下的估算方法(2)自底向上的估算方法(3)差別估算法(4)根據經驗估算公式19軟件危機產生的原因是什么?(1)軟件的規(guī)模越來越大,結構越來越復雜。(2)軟

26、件開發(fā)管理困難而復雜。(3)軟件開發(fā)費用不斷增加。(4)軟件開發(fā)技術落后。(5)生產方式落后。(6)開發(fā)工具落后,生產率提高緩慢。20什么是經濟可行性?進行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。21為什么說“CASE領域是一個應用、集成和綜合的領域”?CASE是一組工具和方法的集合,可以輔助軟件開發(fā)生命周期各階段進行軟件開發(fā)。CASE把軟件開發(fā)技術、軟件工具和軟件開發(fā)方法集成到一個統(tǒng)一而一致的框架中,并且吸收了CAD、軟件工程、操作系統(tǒng)、數據庫、網絡和許多其他計算機領域的原理和技術。22軟件復雜性度量的主要參數有哪些?簡單說明其含義。(1)規(guī)模:總共的指令數或

27、源程序行數。(2)難度:通常由程序中出現(xiàn)的操作數的數目所決定的量來表示。(3)結構:通常用與程序結構有關的度量來表示。(4)智能度:即算法的難易程度。23試畫出Jackson方法所用的結構圖的三種基本結構及對應的圖解邏輯。(1)三種基本結構為: 順序結構 選擇結構重復結構(2)順序結構的圖解邏輯 選擇結構的圖解邏輯 重復結構的圖解邏輯Aseq Aselect(條件1) Aiterwhile(條件)B B BC Aor(條件2) AendD CAend Aend24簡述軟件工程目標和面臨的主要問題。軟件工程是一門工程性的學科,其目標主要是成功地建造一個大型軟件系統(tǒng)。包括:付出較低的開發(fā)成本;達到

28、要求的軟件功能;取得較好的軟件性能;開發(fā)的軟件易于移植;需要較低的維護費用;能按時完成開發(fā)任務,及時交付使用;開發(fā)的軟件可靠性高。面臨的主要問題是:軟件費用、軟件可靠性、軟件維護、軟件生產率、軟件重用。25簡述結構化程序設計方法的基本要點。 (1)采用自頂向下,逐步求精的程序設計方法。(2)使用三種基本控制結構構造程序,分別是順序,選擇和循環(huán)(3)采用主程序員組的組織形式。六、理論應用題1某電器集團公司下屬的廠包括技術科、生產科等基層單位?,F(xiàn)在想建立一個計算機輔助企業(yè)管理系統(tǒng),其中:生產科的任務是:(1)根據銷售公司轉來的內部合同(產品型號、規(guī)格、數量、交獲日期)制定車間月生產計劃。(2)根據

29、車間實際生產日報表、周報表調整月生產計劃。(3)以月生產計劃為以及,制定產品設計(結構、工藝)及產品組裝月計劃。(4)將產品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下達給車間。技術科的任務是:(1)根據生產科轉來的組裝計劃進行產品結構設計,產生產品裝配圖給生產科,產生外購需求計劃給供應科,并產生產品自制物料清單。(2)根據組裝計劃進行產品工藝設計,根據產品自制物料清單產生工藝流程圖給零件廠。試寫出以上系統(tǒng)中生產科和技術科處理的軟件結構圖。答:2根據下列描述,畫出教材征訂系統(tǒng)的第一層數據流圖。學生入學后到教材科訂書,教材科根據教材庫存情況分析是否需要買書,如需購買,則向書店購買。各種資金

30、往來通過學校的會計科辦理。答:3可將軟件生存周期劃分為哪3個過程和哪9個階段。答:(1)3個過程是:軟件定義過程、軟件開發(fā)過程、軟件使用與維護過程。(2)9個階段有:可行性研究、需求分析、概要設計、詳細設計、實現(xiàn)、組裝測試、驗收測試、使用與維護、退役。4已知一個軟件項目的記錄,開發(fā)人員M=3人,其代碼行數=12.1KLOC,工作量E=24PM,成本S=美元,錯誤數N=29,文檔頁數Pd=365頁。試計算開發(fā)該軟件項目的生產率P、平均成本C、代碼出錯率EQR和文檔率D。答:(1)軟件開發(fā)的生產率P為:P = L / E = 12.1103LOC / 24PM = 504 LOC/PM(2)開發(fā)每

31、行代碼的平均成本C為:C = S / L = 美元 / 12100LOC=13.9美元/LOC(3)代碼出錯率EQR為:EQR = N / L = 29個/12.1KLOC=2.4個/KLOC(4)軟件的文檔率D為:D = Pd / L = 365頁 / 12.1KLOC = 30頁/ KLOC5銀行計算機儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫的存款單或取款單由業(yè)務員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號碼)、身份證號碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存款存單給儲戶;如果是取款而且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時未留密碼

32、,則系統(tǒng)計算利息并印出利息清單給儲戶。請用數據流圖描繪本系統(tǒng)的功能,并用實體-聯(lián)系圖描繪系統(tǒng)中的數據對象。答:(1)描述本系統(tǒng)功能的數據流圖如下所示:儲戶1記錄存款信息2打印存款單3核對密碼4計算利息4打印利息清單儲戶存款單取款單存款信息存款存單存款信息存款信息存款信息D1存款信息利息值(2)描繪計算機儲蓄系統(tǒng)中數據對象的實體-聯(lián)系圖。儲戶儲戶所存取款MN姓名住址身份證號碼電話號碼名稱地址電話號碼數額類型利率到期日期密碼6畫出銀行取款過程的DFD 圖。問題描述為:儲戶用存折取款,首先填寫取款單,根據“ 賬卡”中的信息檢驗取款單與存折,如有問題,將問題反饋給儲戶,否則,登錄“儲戶存款 數據庫”,

33、修改相應數據,并更新“賬卡”,同時發(fā)出付款通知,出納向儲戶付款。答:7圖a中,模塊G為判定,判斷涉及到模塊B、F、G,請指出設計中的錯誤,再根據改進模塊圖的基本原則,畫出12個改進方案(不改變模塊G 的判斷關系),并說明是按照哪條基本原則進行改進的。答:下圖為一個改進方案,將模塊G的位置提高,使其作用范圍為控制范圍的子集,減少模塊之間的聯(lián)系。8圖書館的預定圖書子系統(tǒng)有如下功能:(1)由供書部門提供書目給訂購組。(2)訂書組從各單位取得要訂的書目。(3)根據供書目錄和訂書書目產生訂書文檔留底。(4)將訂書信息(包括數目,數量等)反饋給供書單位。(5)將未訂書目通知訂書者。(6)對于重復訂購的書目

34、由系統(tǒng)自動檢查,并把結果反饋給訂書者。試根據要求畫出該問題的數據流程圖,并把其轉換為軟件結構圖。答:(1)數據流圖:(2)軟件結構圖:9根據下列描述,畫出學生申請IC借書卡的第一層數據流圖。學生入學后到圖書館申請IC借書卡,圖書館管理人員根據IC借書卡庫存情況分析是否需要購買新的IC借書卡,如需購買,則向IC借書卡提供商購買。各種資金往來通過學校的會計科辦理。答:軟件工程練習題二 一、單選題1面向對象(Object Oriented)方法是將現(xiàn)實世界的事物以對象的方式( B )到計算機世界的方法。A對應B映射C反映D反射2盒圖也稱為( D)或Chapin圖。這種表達方式取消了流程線,它強迫程序

35、員以結構化方式思考和解決問題。A流程圖B框圖C判定表DN-S圖3面向數據的設計方法就是根據問題的數據結構定義一組映射,把問題的數據結構轉換為問題解的( A )結構。 A程序B數據C邏輯D物理4人機界面的風格大致經過了(B)代的演變。A三B四C五D六5以下不屬于白盒測試技術的是( D )。A邏輯覆蓋B基本路徑測試C循環(huán)覆蓋測試D等價類劃分6為改正軟件系統(tǒng)中潛藏的錯誤而進行的維護活動稱為( A )。 A糾錯性維護B適應性維護C改善性維護D預防性維護7( D )工具在軟件詳細設計過程中不采用。A判定表BIPO圖CPDLDDFD圖8當模塊中包含復雜的條件組合,只有( D )能夠清晰地表達出各種動作之間

36、的對應關系。A關系圖B盒圖C流程圖D判定樹和判定表9以下不屬于邏輯覆蓋的是( D )。A語句覆蓋B判定覆蓋C條件覆蓋D基本路徑10為適應軟件運行環(huán)境的變化而修改軟件的活動稱為( B )。A糾錯性維護B適應性維護C改善性維護D預防性維護11程序的三種基本控制結構的共同特點是( D )。A不能嵌套使用B只能用來寫簡單程序C應該用硬件實現(xiàn)D只有一個入口和一個出口12產生軟件維護的副作用,是指( C )。A開發(fā)時的錯誤B隱含的錯誤C因修改軟件而造成的錯誤D運行時誤操作13維護中,因誤刪除一個標識符而引起的錯誤是( C )副作用。A文檔B數據C編碼D設計14可維護性的特性中相互促進的是( A)。A可理解

37、性和可測試性B效率和可移植性C效率和可修改性D效率和結構好15從事物的組成部件及每個部件的屬性、功能來認識事物。這種方法被稱為( A )的方法。A面向對象B面向數據C面向過程D面向屬性16判定表由四部分組成:左上部列出( B )。A條件組合與動作之間的對應關系B所有條件C所有可能的動作D可能的條件組合17根據用戶在軟件使用過程中提出的建設性意見而進行的維護活動稱為( C )。A糾錯性維護B適應性維護C改善性維護D預防性維護18將軟件組裝成系統(tǒng)的一種測試技術叫( A )。A集成測試B單元測試C集合測試D系統(tǒng)測試19汽車有一個發(fā)動機。汽車和發(fā)動機之間的關系是( B )關系。A一般具體B整體部分C分

38、類關系D主從關系20實踐表明,確定發(fā)生錯誤的位置和內在原因所需的工作量幾乎占整個調試工作量的( D )%。A30B50C70D9021為了進一步改善軟件系統(tǒng)的可維護性和可靠性,并為以后的改進奠定基礎的軟件維護稱為( D )。A糾錯性維護B適用性維護C改善性維護D預防性維護22為了提高測試的效率,應該( D )。A隨機地選取測試數據B取一切可能的輸入數據作為測試數據C在完成編碼以后制定軟件的測試計劃D選擇發(fā)現(xiàn)錯誤可能性大的數據作為測試數據23使用白盒測試方法時,確定測試數據應根據( A )和指定的覆蓋標準。A程序的內部邏輯B程序的復雜結構C使用說明書D程序的功能24統(tǒng)計表明,軟件測試工作往往占軟

39、件開發(fā)總工作量的( B )%以上。A20B40C60D8025單元測試的測試對象是( B )。A系統(tǒng)B程序模塊C模塊接口D系統(tǒng)功能26維護工作量的估算模型為:MP+Ke(c-d)其中:M代表( A )。A維護所用工作量B生產性工作量C助動性工作量D經驗常數27維護的副作用可分三類,不包括( D )。A代碼副作用B數據副作用C文檔副作用D人員副作用28下列各方法中( D )不是軟件測試方法。A白盒法B黑盒法C動態(tài)測試D盒法29軟件測試的目的是( B )。A評價軟件的質量B發(fā)現(xiàn)軟件的錯誤C找出軟件中的所有錯誤D證明軟件是正確的30白盒法又稱為邏輯覆蓋法,主要用于( D )。A功能測試B系統(tǒng)測試C測

40、試D單元測試31結構化分析方法(SA 法)使用的主要描述工具有( D )。A數據庫B模塊結構圖CPAD圖D分層的DFD圖32UML 中,包圖是一種( C )。A集合B數據結構C分組機制D對系統(tǒng)的動態(tài)描述33軟件可維護性的特性中相互矛盾的是( C )。 A. 可修改性和可理解性B. 可測試性和可理解性 C. 效率和可修改性D. 可理解性和可讀性34用黑盒技術設計測試用例的方法之一為( A )。 A. 邊界值分析B. 邏輯覆蓋C. 循環(huán)覆蓋D. 基本路徑測試35軟件測試方法中的( D )屬于靜態(tài)測試方法。 A. 黑盒法B. 路徑覆蓋C. 錯誤推測D. 人工檢測36Ada語言是在Pascal語言基礎

41、上開發(fā)出來的,適用于( C)項目的應用領域。 A. 科學工程計算B. 數據庫應用C. 實時處理D. 人工智能37程序設計語言的工程特性之一為( A )。 A. 軟件的可重用性B. 數據結構的描述性C. 抽象類型的描述性D. 數據庫的易操作性38軟件詳細設計的主要任務是確定每個模塊的( A )。 A. 算法和使用的數據結構B. 外部接口C. 功能D. 編程39PAD圖為( B )提供了有力的工具。 A. 系統(tǒng)分析B. 軟件的自動化生成C. 自動分析數據D. 測試軟件40對象實現(xiàn)了數據和操作的結合,使數據和操作( C )于對象的統(tǒng)一體中。A. 結合B. 隱藏C. 封裝D. 抽象41軟件調試技術包括

42、( B )。A. 邊界值分析B. 演繹法C. 循環(huán)覆蓋D. 集成測試42瀑布模型的存在問題是( B )。A. 用戶容易參與開發(fā)B. 缺乏靈活性C. 用戶與開發(fā)者易溝通D. 適用可變需求43軟件測試方法中的靜態(tài)測試方法之一為( A )。A. 計算機輔助靜態(tài)分析B. 黑盒法C. 路徑覆蓋D. 邊界值分析44軟件生命周期中所花費用最多的階段是( D )。A. 詳細設計B. 軟件編碼C. 軟件測試D. 軟件維護45第一個體現(xiàn)結構化編程思想的程序設計語言是( B )。A. Fortran語言B. Pascal語言C. C語言D. PL/1語言46程序的三種基本控制結構是( B )。A. 過程、子程序和分

43、程序B. 順序、選擇和重復C. 遞歸、堆棧和隊列D. 調用、返回和轉移47在詳細設計階段,經常采用的工具有( A )。A. PADB. SAC. SCD. DFD48詳細設計的結果基本決定了最終程序的( C )。A. 代碼的規(guī)模B. 運行速度C. 質量D. 可維護性49結構化程序設計主要強調的是( D )。A. 程序的規(guī)模B. 程序的效率C. 程序設計語言的先進性D. 程序易讀性50軟件詳細設計主要采用的方法是( D )。A. 模塊設計B. 結構化設計C. PDL語言D. 結構化程序設計51下列關于JSP方法不正確的說法是( D )。A. JSP方法主要用于規(guī)模不大的數據處理系統(tǒng)B. JSP方

44、法不明確的劃分軟件概要設計和詳細設計的兩個階段C. JSP方法適用于輸入數據和輸出數據之間有對應關系的問題求解D. JSP方法根據輸入、輸出的數據結構,按一定的規(guī)則映射成軟件的體系結構。因此它只適用于詳細設計階段52不適合作為科學工程計算的語言是( D )。A. PascalB. CC. FortranD. Prolog53黑盒測試在設計測試用例時,主要需要研究( A )。A. 需求規(guī)格說明與概要設計說明B. 詳細設計說明C. 項目開發(fā)計劃D. 概要設計說明與詳細設計說明54若有一個計算類型的程序,它的輸入量只有一個X,其范圍是-1.0,1.0,現(xiàn)從輸入的角度考慮一組測試用例:-1.001,-

45、1.0,1.0,1.001。設計這組測試用例的方法是( C )。A. 條件覆蓋法B. 等價分類法C. 邊界值分析法D. 錯誤推測法55下列屬于維護階段的文檔是( C )。A. 軟件規(guī)格說明B. 用戶操作手冊C. 軟件問題報告D. 軟件測試分析報告56因計算機硬件和軟件環(huán)境的變化而作出的修改軟件的過程稱為( B )。A. 校正性維護B. 適應性維護C. 完善性維護D. 預防性維護57類庫這種機制是( D )級別的信息共享。A. 同一類B. 不同類C. 同一應用D. 不同應用58只有單重繼承的類層次結構是( C )層次結構。A. 網狀型B. 星型C. 樹型D. 環(huán)型59下列文檔與維護人員有關的有(

46、 C )。A. 軟件需求說明書B. 項目開發(fā)計劃C. 概要設計說明書D. 操作手冊60采用Gantt圖表示軟件項目進度安排,下列說法中正確的是( D )。A. 能夠反映多個任務之間的復雜關系B. 能夠直觀表示任務之間相互依賴制約關系C. 能夠表示哪些任務是關鍵任務D. 能夠表示子任務之間的并行和串行關系二、填空題1軟件可維護性度量的七個質量特性是可理解性、可測試性、可修改性、可靠性、(可移植性)、可使用性和效率。2為了便于對照檢查,測試用例應由輸入數據和預期的(輸出結果)兩部分組成。3程序設計語言的心理特性主要表現(xiàn)在(歧義性)、簡潔性、傳統(tǒng)性、局部性和順序性。4在結構化分析中,用于描述加工邏輯

47、的主要工具有三種,即:結構化語言、判定表和(判定樹)。5結構化語言是介于自然語言和(形式語言)之間的一種半形式語言。6程序的控制結構一般采用(順序)、(選擇)、(循環(huán))三種構成,這樣可確保結構比較簡單。7程序的效率是指程序的執(zhí)行速度和(程序占用的存儲空間)。8文檔是一種數據媒體和其上所記錄的(數據)。9機器語言、匯編語言:依賴于機器,面向(機器)。10以詳細設計說明書為輸入,將該輸入用某種程序設計語言翻譯成計算機可以理解并最終可運行的代碼的過程叫(編碼)過程。11軟件維護是軟件生命周期的(最后)一個階段。12高級語言:獨立于機器,面向過程或面向(對象)。13人機界面的風格第一代界面是命令和(詢

48、問)方式。14由于維護或在維護過程中其他一些不期望的行為引入的錯誤稱為維護的(副作用)。15在公式V(G)=E-N+2中:E為程序圖G中邊的總數;N為程序圖中結點的總數。V(G)又稱為圖G的環(huán)形(復雜度)。16為提高可交互性一般對所有可能造成損害的用戶操作動作,應堅持要求用戶(確認),例如,提問“你確實要刪除?”。17自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。18面向問題語言:是獨立于(機器),非過程式語言4GL。19第二代界面是簡單的(菜單)式。20使用類創(chuàng)建對象的過程實際上是類的(實例化)過程。21第三代界面是面向(窗口)的點選界面。22在編碼

49、階段對代碼的可測試性進行考慮可以(減少)測試階段的工作量。23測試用例的設計應有第(三)方參與。24調試的目的是確定錯誤的位置和引起錯誤的原因,并加以(改正)。25匯編語言是面向(機器)的,可以完成高級語言無法完成的特殊功能,如與外部設備之間的一些接口工作。26被繼承的類我們稱之為基類(父類),在基類的基礎上新建立的類我們稱之為派生類子類。27流程圖也稱為程序框圖是最常用的一種表示法,它有順序、分支和(循環(huán))三個基本控制構件。28軟件測試是執(zhí)行程序發(fā)現(xiàn)并排除程序中潛伏的(錯誤)的過程。29動態(tài)測試有兩種測試方法:黑盒測試和(白盒)測試。30軟件可維護性,是指軟件產品交付使用后,在實現(xiàn)改正潛伏的

50、錯誤、改進性能等屬性、適應環(huán)境變化等方面工作的(難易)程度。31在軟件開發(fā)階段用來減少錯誤,提高軟件可維護性的技術稱為(面向維護)的技術。32軟件開發(fā)是一個自頂向下逐步細化和求精過程,而軟件測試是一個(自底向上或相反順序)集成的過程。33JSP方法主要體現(xiàn)程序結構的設計,不明確地劃分(軟件概要設計)和詳細設計的兩個階段。三、判斷題1加工小說明是對系統(tǒng)流程圖中的加工進行說明。( 錯 )2判定表的優(yōu)點是容易轉換為計算機實現(xiàn),缺點是不能夠描述組合條件。( 錯 )3信息建模方法是從數據的角度來建立信息模型的,最常用的描述信息模型的方法是 E-R 圖。( 對 )四、名詞解釋1多態(tài)性指相同的操作或函數、過

51、程可作用于多種類型的對象上并獲得不同結果。或(不同的對象,收到同一消息可以產生不同的結果。)2類具有相似或相同性質的對象的抽象就是類。3對象對象是客觀實體在問題域中的抽象。4程序的可移植性程序的可移植性指把一個軟件(或程序)從一個計算機環(huán)境移植到另一個計算機環(huán)境的容易程度。5系統(tǒng)流程圖系統(tǒng)流程圖是描繪物理系統(tǒng)的工具,它用圖形符號來表示系統(tǒng)中的各元素。它表達了系統(tǒng)中各個元素之間的信息流動的情況。6集成測試集成測試也稱組裝測試或聯(lián)合測試。是指在單元測試的基礎上,將所有模塊按照設計要求組裝成一個完整的系統(tǒng)進行的測試。組裝模塊的方式有兩種:漸增式測試和非漸增式測試。五、簡答題1簡述容錯技術的四種主要手段,并解釋。結構冗余:包括靜態(tài)冗余、動態(tài)冗余和混合冗余。信息冗余:為檢測或糾正信息在運算或傳輸中的錯誤,須外加一部分信息。時間冗余:指重復執(zhí)行指令或程序來消除瞬時錯誤帶來的影響。冗余附加技術:指為實現(xiàn)上述冗余技術所需的資源和技術。2以G.J.Myers的觀點,簡述對軟件測試的目的。軟件測試是(1)為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;(2)一個好的用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試

溫馨提示

  • 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

提交評論