《軟件工程》形成性考核答案_第1頁
《軟件工程》形成性考核答案_第2頁
《軟件工程》形成性考核答案_第3頁
《軟件工程》形成性考核答案_第4頁
《軟件工程》形成性考核答案_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《軟件工程》形成性考核答案第一、二章一、填空題1.軟件工程學的內(nèi)容可包括(理論)、結(jié)構(gòu)、(方法)、(工具)、環(huán)境、管理、規(guī)范等。2.軟件生存周期一般可分為問題定義、(可行性研究)、(需求分析)、設計、(編碼)、測試、運行與維護階段。3.可行性研究的目的是(用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決)。4.系統(tǒng)流程圖是(描繪物理系統(tǒng))的傳統(tǒng)工具。5.在可行性研究中,(技術(shù)可行性)是系統(tǒng)開發(fā)過程中難度最大,最重要的一個環(huán)節(jié)。二、判斷題1.軟件工程采用的生存周期方法就是從時間角度對軟件的開發(fā)和維護這個復雜問題進行分解,將軟件生存的時期分為若干階段。(√)2.螺旋模型是利用笛卡爾坐標的四個象限上分別代表四個方面的活動來表示。(√)3.原型模型適用于嵌入式軟件。(╳)4.面向?qū)ο蠹夹g(shù)是構(gòu)件組裝模型的基礎。(√)5.在可行性研究中最難決斷和最關鍵的問題是經(jīng)濟可行性。(╳)6.系統(tǒng)流程圖表達的是部件的信息流程,還表示對信息進行加工處理的控制過程。(╳)7.自底向上成本估計不是從整體開始,而是從任務單元開始。(√)三、單項選擇題1.下列哪個階段不是軟件生存期三個階段中的內(nèi)容(C)。A.計劃階段B.開發(fā)階段C.編碼階段D.維護階段2.下列關于瀑布模型的描述正確的是(C)。A.瀑布模型的核心是按照軟件開發(fā)的時間順序?qū)栴}簡化。B.瀑布模型具有良好的靈活性。C.瀑布模型采用結(jié)構(gòu)化的分析與設計方法,將邏輯實現(xiàn)與物理實現(xiàn)分開。D.利用瀑布模型,如果發(fā)現(xiàn)問題修改的代價很低。四、簡答題1.軟件的定義與特點。參考答案:軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)結(jié)構(gòu)及其相關文檔的完整集合。它包括三個方面的內(nèi)容:⑴程序:在運行時,能提供所希望的功能和性能的指令集。⑵數(shù)據(jù)結(jié)構(gòu):使程序能夠正確運行的數(shù)據(jù)結(jié)構(gòu)。⑶文檔:描述程序研制過程、方法及使用的圖文材料。軟件產(chǎn)品具有以下一些特性:①軟件是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性。②軟件是通過人們的智力活動,把知識與技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品,是在研制、開發(fā)中被創(chuàng)造出來的。③在軟件的運行和使用期間,沒有硬件那樣的機械磨損、老化問題。④軟件的開發(fā)和運行經(jīng)常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有著不同程度的依賴性。⑤軟件的開發(fā)至今尚未完全擺脫手工的開發(fā)方式。⑥軟件的開發(fā)費用越來越高,成本相當昂貴。也可概括為:⑴抽象性:邏輯實體,可記錄,但看不到。⑵可復制性:與開發(fā)成本相比,復制成本很低。⑶無折舊。⑷受硬件制約。⑸未完全擺脫手工工藝。⑹開發(fā)費用高。2.什么是軟件工程。參考答案:軟件工程是指導計算機軟件開發(fā)和維護的工程學科。它采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來開發(fā)和維護軟件。軟件工程是從管理和技術(shù)兩個方面研究如何運用工程學的基本原理和方法來更好地開發(fā)和維護計算機軟件的一門學科。3.什么是軟件生存周期。參考答案:一個軟件從定義到開發(fā)、使用和維護,直到最終被棄用,要經(jīng)歷一個漫長的時期,通常把軟件經(jīng)歷的這個漫長的時期稱為生存周期。軟件生存周期一般可分為以下階段:問題定義需求分析與可行性研究設計編碼測試運行與維護軟件生存期也可以分為三個大的階段:計劃階段。開發(fā)階段和維護階段。4.什么是軟件危機,軟件危機有哪幾種表現(xiàn)?參考答案:答:軟件開發(fā)和維護的過程中所遇到的一系列嚴重的問題。具體表現(xiàn)在:(1)產(chǎn)品不能符合用戶的實際需求;(2)軟件開發(fā)的效率較低;(3)軟件產(chǎn)品的質(zhì)量差;(4)軟件開發(fā)成本和進度的估算不準確;(5)軟件可維護性差;(6)軟件開發(fā)文檔資料不完整;(7)軟件的價格昂貴;5.簡述可行性研究的任務。參考答案:可行性研究的目的:就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決,是否有必要去解決??尚行匝芯康哪康牟皇墙鉀Q問題,而是確定問題是否值得去解決。研究在當前的具體條件下,開發(fā)新系統(tǒng)是否具備必要的資源和其它條件。可行性研究是要進行一次壓縮簡化了的系統(tǒng)分析和設計的過程,也就是說在較高層次上以較抽象的方式進行設計的過程。6.簡述可行性研究的步驟。參考答案:1.復查系統(tǒng)規(guī)模和目標2.研究目前正在使用的系統(tǒng)3.導出新系統(tǒng)的高層邏輯模型4.重新定義問題5.導出和評價供選擇的方案6.推薦一個方案并說明理由7.推薦行動方針8.書寫計劃任務書9.提交審查7.簡述系統(tǒng)流程圖的作用。參考答案:1.制作系統(tǒng)流程圖的過程是系統(tǒng)分析員全面了解系統(tǒng)業(yè)務處理概況的過程,它是系統(tǒng)分析員作進一步分析的依據(jù)。2.系統(tǒng)流程圖是系統(tǒng)分析員、管理人員、業(yè)務操作人員相互交流的工具。3.系統(tǒng)分析員可直接在系統(tǒng)流程圖上擬出可以實現(xiàn)計算機處理的部分。4.可利用系統(tǒng)流程圖來分析業(yè)務流程的合理性。《軟件工程》形成性考核答案第三、四章一、填空題需求分析的基本任務是準確的回答(系統(tǒng)必須做什么)。需求分析階段研究的對象是軟件項目的(用戶要求)。結(jié)構(gòu)化分析方法就是(面向數(shù)據(jù)流)自頂向下逐步求精進行需求分析的方法。需求分析的目的之一就是把數(shù)據(jù)流和數(shù)據(jù)存儲定義到(元素級)。數(shù)據(jù)流圖的基本符號包括(數(shù)據(jù)輸入的源點和數(shù)據(jù)輸出的匯點)、(加工)、(數(shù)據(jù)流)、(數(shù)據(jù)存儲文件)。數(shù)據(jù)流圖和(數(shù)據(jù)字典)共同構(gòu)成系統(tǒng)的邏輯模型。數(shù)據(jù)字典的內(nèi)容包括六項:(數(shù)據(jù)流)、(數(shù)據(jù)項)、(數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)存儲、處理邏輯、外部實體。在需求分析階段常用的圖形工具有(層次方框圖)、(Warnier圖)、(IPO圖)。需求分析應交付的主要文檔是(需求規(guī)格說明書)。概要設計過程中要先進行系統(tǒng)設計、(復審系統(tǒng)計劃)與(需求分析),確定系統(tǒng)具體的實施方案;然后進行(結(jié)構(gòu)設計),確定軟件結(jié)構(gòu)。層次結(jié)構(gòu)的上一層是下一層的(抽象),下一層是上一層的(求精)。模塊獨立的概念是(模塊化)、(抽象)、(信息隱蔽)和局部化概念的直接結(jié)果。模塊耦合的強弱取決于(模塊間接口的復雜程度)、(調(diào)用模塊的方式)和通過接口的信息。設計出軟件的初步結(jié)構(gòu)以后,應該進一步分解或合并模塊,力求降低(耦合)提高(內(nèi)聚)。在一段程序中,將多次出現(xiàn)的一組語句設計為一個子程序,供多個部分調(diào)用,這種情況出現(xiàn)的內(nèi)聚稱為(偶然內(nèi)聚)。一個模塊直接調(diào)用的模塊數(shù)目稱為模塊的(扇出),一個模塊被多少上級模塊直接調(diào)用稱為模塊的(扇入)。JSD是一種典型的(面向數(shù)據(jù)結(jié)構(gòu))的分析設計方法。Jackson圖除了可以表達(程序結(jié)構(gòu)外)外,還可以表達數(shù)據(jù)結(jié)構(gòu)。對于下列偽碼,畫出改進的Jackson圖()AseqBCDAendAADCBDCB二、判斷題在軟件開發(fā)中,采用原型系統(tǒng)策略的主要困難是時間問題。(╳)數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式描述數(shù)據(jù)流從輸入到輸出的傳輸變換過程。(√)模塊越多,開發(fā)成本越小。(╳)耦合是指一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度。(╳)內(nèi)聚是指一個軟件結(jié)構(gòu)內(nèi)各個模塊之間互連程度的度量。(╳)在軟件設計中應該盡量設計緊密耦合的系統(tǒng)。(╳)控制耦合往往可以通過分解由數(shù)據(jù)耦合來代替。(√)內(nèi)容耦合又稱為病態(tài)耦合,在很多高級程序設計語言中不允許出現(xiàn)任何形式的內(nèi)容耦合。(√)對于DFD圖的劃分,主要依賴設計人員的經(jīng)驗,一切都應根據(jù)設計人員的經(jīng)驗確定。(╳)一筆交易、一個動作、甚至操作人員按一個按鈕都可以看做是一次事物。(√)如果一個模塊內(nèi)的處理元素是彼此相關的,并且以一個特定的次序執(zhí)行,則這種內(nèi)聚稱為時間內(nèi)聚。(╳)概要設計階段完成的主要文檔是概要設計說明書。(√)三、多項選擇題需求分析階段結(jié)束后,應交出的文檔中應該包括(ABC)。數(shù)據(jù)流圖數(shù)據(jù)字典簡明的算法描述項目的經(jīng)費預算關于數(shù)據(jù)流圖正確的描述是(ACD)。數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的主要工具。在數(shù)據(jù)流圖中,*號標識相鄰的數(shù)據(jù)流只取其一。加工是以數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)內(nèi)容作為加工對象的。數(shù)據(jù)流圖的主圖中必須包括全部四種基本元素。關于數(shù)據(jù)字典正確的描述是(ABCD)。數(shù)據(jù)字典最重要的用途是作為分析階段的工具。實現(xiàn)數(shù)據(jù)字典三種常見的方法有全人工過程、全自動過程、混合過程。數(shù)據(jù)字典應該容易更新和修改??梢圆捎每ㄆ问綍鴮憯?shù)據(jù)字典。(ABCD)可以作為模塊。過程子程序函數(shù)宏下列關于模塊的描述,正確的是(ABCD)。具有獨立的模塊軟件比較容易開發(fā)出來。獨立的模塊比較容易測試和維護。模塊的獨立程度可以通過內(nèi)聚和耦合標定。獨立的模塊可以完成一個相對獨立的特定子功能。耦合的強弱取決于(ABC)。模塊間接口的復雜程度。調(diào)用模塊的方式。通過接口的信息。模塊內(nèi)部各個元素彼此之間的緊密結(jié)合程度。在公共環(huán)境耦合中,公共環(huán)境可以是(ABCD)。全程變量。共享的通信區(qū)。內(nèi)存的公共覆蓋區(qū)。存儲介質(zhì)上的文件。下列(AD)屬于內(nèi)容耦合。一個模塊有多個入口。兩個模塊彼此之間只通過傳遞參數(shù)交換信息。兩個模塊之間存在全程變量,并通過全程變量傳遞信息。兩個模塊有部分代碼重疊。在軟件設計中,(CD)耦合應盡量避免。控制數(shù)據(jù)內(nèi)容標記四、簡答題需求分析的任務是什么?參考答案:見書31頁怎樣建立目標系統(tǒng)的邏輯模型?參考答案:在理解當前系統(tǒng)“怎樣做”的基礎上,抽取其“做什么”的本質(zhì)。在物理模型中有許多物理因素,但隨著分析工作的深入,有些非本質(zhì)因素就顯得不必要了,因而需要對物理模型進行分析,區(qū)分本質(zhì)和非本質(zhì)因素,去掉那些非本質(zhì)因素就可獲得反應系統(tǒng)本質(zhì)的邏輯模型。做法是:⑴確定目標系統(tǒng)與當前系統(tǒng)的邏輯差別;⑵將變化部分看作是新的處理步驟,對功能圖及對象圖進行調(diào)整;⑶由外及里對變化的部分進行分析,推斷其結(jié)構(gòu),獲得目標系統(tǒng)的邏輯模型。什么是結(jié)構(gòu)化分析?“結(jié)構(gòu)化”體現(xiàn)在哪里?參考答案:結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進行需求分析的方法。結(jié)構(gòu)化分析方法使用數(shù)據(jù)流圖DFD與數(shù)據(jù)字典DD來描述,面向數(shù)據(jù)流問題的需求分析適合于數(shù)據(jù)處理類型軟件的需求描述。其核心思想是分解化簡問題,將物理與邏輯表示分開,對系統(tǒng)進行數(shù)據(jù)與邏輯的抽象。結(jié)構(gòu)化分析方法體現(xiàn)在用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關系,自頂向下逐層分解,直到找到滿足功能要求的所有可實現(xiàn)的軟件為止。需求說明書由哪些部分組成?各部分之間的關系是什么?參考答案:軟件需求說明書一般包括如下內(nèi)容:1.引言部分編寫目的;項目背景(應包括:a.項目的委托單位、開發(fā)單位和主管部門;b.該軟件系統(tǒng)與其他系統(tǒng)的關系。);定義;(列出文檔中所用到的專門術(shù)語的定義和縮寫詞的原文。)參考資料。2.任務概述目標;運行環(huán)境;條件與限制。3.數(shù)據(jù)描述靜態(tài)數(shù)據(jù);動態(tài)數(shù)據(jù)(包括輸入數(shù)據(jù)和輸出數(shù)據(jù));數(shù)據(jù)庫描述(給出使用數(shù)據(jù)庫的名稱和類型);數(shù)據(jù)詞典;數(shù)據(jù)采集。4.功能要求功能劃分;功能描述。5.性能需求數(shù)據(jù)精確度;時間特性(如響應時間、更新處理時間、數(shù)據(jù)轉(zhuǎn)換與傳輸時間、運行時間等);適應性(在操作方式、運行環(huán)境、與其他軟件的接口以及開發(fā)計劃等發(fā)生變化時,應具有的適應能力。)6.運行需求用戶界面(如屏幕格式、報表格式、菜單格式、輸入輸出時間等);硬件接口;軟件接口;故障處理。7.其他要求如可使用性、安全保密、可維護性、可移植性等。8.附錄為什么數(shù)據(jù)流圖要分層?參考答案:為了表達數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,用一個數(shù)據(jù)流圖是不夠的。為表達稍為復雜的實際問題,需要按照問題的層次結(jié)構(gòu)進行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關系。什么是加工邏輯?參考答案:加工邏輯就是處理邏輯,加工邏輯是對加工過程的抽象描述。加工邏輯的具體實現(xiàn)就是加工過程。加工邏輯是指用戶對這個加工的邏輯要求,即加工的輸入數(shù)據(jù)流與輸出數(shù)據(jù)流之間的邏輯關系。加工邏輯主要是說明加工做什么,而不是描述具體的加工過程,如采用哪些加工單元、如何控制執(zhí)行等實現(xiàn)細節(jié)。根據(jù)下列描述,畫出教材征訂系統(tǒng)的第一層數(shù)據(jù)流圖。學生入學后到教材科訂書,教材科根據(jù)教材庫存情況分析是否需要買書,如需購買,則向書店購買。各種資金往來通過學校的會計科辦理。參考答案:結(jié)構(gòu)化設計方法的基本思想是什么?它如何與SA方法相銜接?參考答案:結(jié)構(gòu)化設計方法的基本思想是SA是結(jié)構(gòu)化分析方法的簡稱。結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進行需求分析的方法。其核心思想是分解化簡問題,將物理與邏輯表示分開,對系統(tǒng)進行數(shù)據(jù)與邏輯的抽象。結(jié)構(gòu)化分析方法體現(xiàn)在用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關系,自頂向下逐層分解,直到找到滿足功能要求的所有可實現(xiàn)的軟件為止。結(jié)構(gòu)化設計是在結(jié)構(gòu)化分析的基礎上完成的。結(jié)構(gòu)化設計屬于面向數(shù)據(jù)流的設計方法。在需求分析階段,通過SA方法,解決了一個關鍵問題:信息流。數(shù)據(jù)流是軟件開發(fā)人員考慮問題的出發(fā)點和基礎。數(shù)據(jù)流從系統(tǒng)的輸入端向輸出端流動,要經(jīng)歷一系列的變換或處理。用來表現(xiàn)這個過程的數(shù)據(jù)流圖(DFD):實際上就是軟件系統(tǒng)的邏輯模型。結(jié)構(gòu)化設計要解決的任務,就是在上述需求分析的基礎上,將DFD圖映射為軟件系統(tǒng)的結(jié)構(gòu)。換句話說,這類設計方法允許把用DFD圖表示的系統(tǒng)邏輯模型方便地轉(zhuǎn)換成對于軟件結(jié)構(gòu)的初始設計描述。結(jié)構(gòu)化設計方法的基本思想是將系統(tǒng)劃分成一些獨立的功能模塊,這些模塊按照一定的組織層次構(gòu)造起來形成軟件結(jié)構(gòu),通過自頂向下逐步細化的方法將用數(shù)據(jù)流圖表示的信息轉(zhuǎn)換成程序結(jié)構(gòu)的設計描述。從結(jié)構(gòu)化分析到結(jié)構(gòu)化設計工具的轉(zhuǎn)變:結(jié)構(gòu)化分析結(jié)果結(jié)構(gòu)化設計結(jié)果數(shù)據(jù)流圖初始結(jié)構(gòu)圖生存周期字典的數(shù)據(jù)部分設計數(shù)據(jù)字典偽碼+實現(xiàn)方面?zhèn)未a實體關系圖+數(shù)據(jù)庫性數(shù)據(jù)庫設計事務框圖分層/細化事務模型什么是模塊、模塊化?參考答案:模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,模塊可以單獨被命名的而且可通過名字來訪問,例如,過程、函數(shù)、子程序、宏等等都可作為模塊。模塊化就是把程序劃分成若干個模塊,每個模塊具有一個子功能,把這些模塊集總起來組成一個整體,可以完成指定的功能,實現(xiàn)問題的要求。模塊化設計這一概念取消。說明并比較概要設計說明書與需求分析說明書的內(nèi)容。參考答案:P54P98(1)兩個說明書都包括引言,內(nèi)容基本相同;(2)任務概述部分概要設計說明比需求說明增加了需求概述;(3)需求說明主要通過靜態(tài)、動態(tài)數(shù)據(jù),數(shù)據(jù)庫描述,數(shù)據(jù)字典和數(shù)據(jù)采集等內(nèi)容進行數(shù)據(jù)描述;(4)需求說明中的主要部分是功能要求、性能要求、運行需求以及其他要求,它的目的是全面地、精確地描述了系統(tǒng)要“做什么”。需求說明書中還可能包括數(shù)據(jù)流圖、數(shù)據(jù)字典、IPO圖等描述的系統(tǒng)邏輯模型。(5)概要設計說明則對系統(tǒng)的總體結(jié)構(gòu)、各個接口、數(shù)據(jù)結(jié)構(gòu)、運行、出錯、安全、維護進行具體設計,它的目的是描述系統(tǒng)“怎樣做”,往往包含了各模塊的處理說明和接口說明以及系統(tǒng)結(jié)構(gòu)圖。(6)概要設計說明是建立在需求說明的基礎上的。用Jackson圖表示下圖所示的二維表格:學生名冊表頭姓名表頭性別年齡學號……表體表體該學生名冊由表頭和表體兩部分組成。其中表頭又順序包括表名和字段名。表體可由任意行組成,每行包括學生的姓名、性別、年齡和學號。參考答案:學生名冊學生名冊行*學號年齡性別姓名字段名表名表體表頭行*學號年齡性別姓名字段名表名表體表頭指出下列數(shù)據(jù)流圖中存在的問題。OF3.2FB2OF3.2FB2PB3.1PB3.1QD3.3D1QD3.3D13.4CE33.4CE3EE父圖子圖參考答案:1、父圖沒有輸入數(shù)據(jù)流;2、子圖的輸入數(shù)據(jù)流應該是C,而不是B;3、子圖的輸出數(shù)據(jù)流應該只有D和E,而不應有F。《軟件工程》形成性考核答案第五、六章一、填空題詳細設計的工具有(圖形工具)、表格工具和語言工具。為使用流程圖描述結(jié)構(gòu)華程序,限制流程圖有五種基本的控制結(jié)構(gòu)(順序型)、(選擇型)、(while型循環(huán))、until循環(huán)、多情況型選擇。HIPO圖是由一組(IPO)圖和一張(HC)圖組成。IPO圖由(輸入)、處理和(輸出)三個框組成。這個圖的特點是能夠直觀的顯示三者之間的關系。面向?qū)ο蠹夹g(shù)是一整套關于如何看待(軟件系統(tǒng))和(現(xiàn)實世界)的關系,以什么觀點來研究問題并進行分析求解,以及如何進行系統(tǒng)構(gòu)造的軟件方法學。面向?qū)ο蠓椒ㄊ且环N運用(對象)、(類)、(封裝)、(聚合)、消息傳送、多態(tài)性等概念來構(gòu)造系統(tǒng)的軟件開發(fā)方法。面向?qū)ο蟮能浖こ谭椒ㄊ敲嫦驅(qū)ο蠓椒ㄔ冢ㄜ浖こ蹋╊I域的全面應用。UML的定義包括(UML語義)和(UML表示法)兩個部分。二、判斷題詳細設計是在概要設計之后進行的。它利用概要設計的結(jié)果,對系統(tǒng)中的每個模塊給出足夠的過程性描述。(√)程序設計語言中應絕對禁止使用GOTO語句。(╳)PAD圖在設置了五種基本的控制結(jié)構(gòu)后,還允許遞歸調(diào)用。(√)UML設定的目標之一是運用面向?qū)ο蟾拍顏順?gòu)造系統(tǒng)模型。(√)類是關于對象性質(zhì)的描述,由方法和數(shù)據(jù)集成。(√)三、簡答題詳細設計的任務是什么?參考答案:1.為每個模塊確定采用的算法,選擇某種適當?shù)墓ぞ弑磉_算法的過程,寫出模塊的詳細過程性描述;2.確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu);3.確定模塊接口的細節(jié),包括對系統(tǒng)外部的接口和用戶界面,對系統(tǒng)內(nèi)部其它模塊的接口,以及模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細節(jié)。4.要為每一個模塊設計出一組測試用例,以便在編碼階段對模塊代碼(即程序)進行預定的測試,模塊的測試用例是軟件測試計劃的重要組成部分,通常應包括輸入數(shù)據(jù),期望輸出等內(nèi)容。根據(jù)偽碼畫出N-S圖。STARTIFATHEN BLOCK B C ENDBLOCKENDIFSTOP根據(jù)偽碼畫出N-S圖。STARTIFATHENX1DOUNTILBELSEX2YENDIFZSTOP參考答案:ATFATFX2X1UNTILBX2X1UNTILBYYZZ根據(jù)偽碼畫出PAD圖。STARTSWITCHPCASE1:A;break;CASE2:B;break;CASE3:C;break;Default;STOP參考答案:

=1A=1AP=2BP=2B=3C=3C簡述什么是“對象”,什么是“類”。參考答案:人們要進行研究的任何事物均可看作對象,例如具體的事物、抽象的規(guī)則、計劃和事件。類的定義是具有相同屬性和服務的一組對象的集合,它為屬于該類的全部對象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和服務兩個主要部分。(類是具有相同屬性、操作、關系的對象集合的總稱。)UML的內(nèi)容包括哪些部分?參考答案:標準建模語言UML的重要內(nèi)容可以由下列五類圖來定義.①用例圖。②是靜態(tài)圖。③行為圖。④交互圖。⑤實現(xiàn)圖?!盾浖こ獭沸纬尚钥己舜鸢浮谄摺?、九章一、填空題1.軟件=(程序)+(文檔)。2.程序的效率是指程序的執(zhí)行速度和(程序占用的存儲空間)。3.軟件測試的方法有(分析方法)和(非分析方法)又稱黑盒法。4.實現(xiàn)容錯的主要手段是(冗余)和(防錯程序設計)。5.軟件測試的配置主要包括(測試計劃)、(測試用例)和測試程序等。6.軟件測試的步驟主要包括(單元測試)、集成測試、確認測試和(系統(tǒng)測試)。二、判斷題1.獨立編譯是指將一個大程序的不同程序單元分別編譯,然后重新連接整個程序段。(√)2.為保證程序的安全,必須做到程序中沒有任何錯誤存在,即容錯。(╳)3.如果把軟件開發(fā)所需的資源畫成一個金字塔,人是最基本的資源。(√)4.軟件測試只對軟件的編碼進行查錯和糾錯工作,不需對軟件計劃和軟件設計進行查錯。(╳)5.軟件測試的目的是為了證明一個軟件的設計沒有錯誤,只有沒有任何錯誤的軟件才能使用。(╳)6.在進行軟件測試之前,首先應該假設軟件是沒有錯誤的。(╳)7.軟件測試中,應該盡量窮盡所有的數(shù)據(jù),以便保證測試的質(zhì)量。(╳)8.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋,判定/條件覆蓋是同時滿足這兩種覆蓋標準的邏輯覆蓋。(√)三、多項選擇題1.程序設計語言的特點包括(ABCD)。A.名字說明B.類型說明C.初始化D.循環(huán)和分支控制結(jié)構(gòu)2.編碼風格包括(ABCD)。A.源程序文檔化B.數(shù)據(jù)說明方法C.語句結(jié)構(gòu)D.輸入/輸出方法3.被動式防錯的檢查項目包括(BD)。A.周期性的進行標志檢查B.表達式中是否有分母為0的情況C.周期性的進行鏈表連接情況的檢查D.棧的深度是否正確4.軟件測試主要包括(ABC)方面的差錯和糾錯。A.軟件計劃B.軟件設計C.軟件編碼D.軟件價格5.軟件維護的步驟主要包括(ABC)。A.分析和理解程序B.修改程序C.重新驗證程序D.維護組織四、簡答題1.什么是編碼風格?為什么要強調(diào)編碼風格?參考答案:編碼風格又稱程序設計風格或編程風格。編碼的目標從強調(diào)效率轉(zhuǎn)變?yōu)閺娬{(diào)清晰。良好的編碼風格能在一定程度上彌補語言存在的缺陷,而如果不注意風格就很難寫出高質(zhì)量的程序。尤其當多個程序員合作編寫一個很大的程序時,需要強調(diào)良好而一致的編碼風格,以便相互通訊,減少因不協(xié)調(diào)而引起的問題。總之,良好的編碼風格有助于編寫出可靠而又容易維護的程序,編碼的風格在很大程度上決定著程序的質(zhì)量。2.編碼風格有哪幾個方面的問題?分別需要注意什么?參考答案:編碼風格包括四個方面,即源程序文檔化,數(shù)據(jù)說明的方法,語句結(jié)構(gòu)和輸入/輸出方法。源程序文檔化主要包括選擇標識符(變量和標號)的名字、安排注釋以及程序的視覺組織等。在編寫程序時,要注意數(shù)據(jù)說明的風格。為了數(shù)據(jù)說明便于理解和維護,必須注意下述幾點。1.數(shù)據(jù)說明的次序應規(guī)范。進而有利于測試,排錯和維護。2.說明的先后次序固定。例如,按常量說明、簡單變量類型說明、數(shù)組說明、公用數(shù)據(jù)塊說明、所有的文件說明的順序說明。在類型說明中還可進一步要求。例如,可按如下順序排列:整型量說明、實型量說明、字符量說明、邏輯量說明。3.當用一個語句說明多個變量名時,應當對這些變量按字母的順序排列。4.對于復雜數(shù)據(jù)結(jié)構(gòu),應利用注釋說明實現(xiàn)這個數(shù)據(jù)結(jié)構(gòu)的特點。在設計階段確定軟件的邏輯結(jié)構(gòu),但編碼階段的任務是構(gòu)造單個語句。構(gòu)造的語句要簡單、直接,不要為了提高效率而使語句更為復雜。1.使用標準的控制結(jié)構(gòu)2.盡可能使用庫函數(shù)3.首先應當考慮可讀性4.注意GOTO語句的使用5.其他須注意的問題(1)避免使用ELSEGOTO和ELSERETURN結(jié)構(gòu)。(2)避免過多的循環(huán)嵌套和條件嵌套;(3)數(shù)據(jù)結(jié)構(gòu)要有利于程序的簡化。(4)要模塊化,使模塊功能盡可能單一化,模塊間的耦合能夠清晰可見。(5)對遞歸定義的數(shù)據(jù)結(jié)構(gòu)盡量使用遞歸過程。(6)不要修補不好的程序,要重新編寫,也不要一味地追求代碼的復用,要重新組織。(7)利用信息隱蔽,確保每一個模塊的獨立性。(8)對太大的程序,要分塊編寫、測試,然后再集成。(9)注意計算機浮點數(shù)運算的特點。尾數(shù)位數(shù)一定,則浮點數(shù)的精度受到限制。(10)避免不恰當?shù)刈非蟪绦蛐?,在改進效率前,要作出有關效率的定量估計。(11)確保所有變量在使用前都進行初始化。(12)遵循國家標準。輸入/輸出信息是與用戶的使用直接相關的。輸入/輸出的方式和格式應當盡量作到對用戶友好,盡可能方便用戶的使用。一定要避免因設計不當給用戶帶來的麻煩。這就要求,源程序的輸入/輸出風格必須滿足人體工程學的需要和系統(tǒng)能否為用戶接受。因此,在軟件需求分析階段和設計階段,就應基本確定輸入/輸出的風格。3.比較下列兩段語句,從編碼風格的角度分析其優(yōu)、劣。程序段一:ifa>bthenifx>ythenb=yelsea=xendifelsea=bendif程序段二:/position_xisthepositionxofobject;position_yisthepositionyofobject;/ifa>bthena=belseifposition_x>position_ythenb=position_yelsea=position_xendifendif參考答案:第二段程序優(yōu)于第一段。注釋起到提示的作用,利于程序閱讀者對程序段全貌的理解縮進格式清晰的顯示程序中邏輯判斷的結(jié)構(gòu)。變量命名方式表明變量的含義。4.軟件的質(zhì)量反應在哪些方面?參考答案:軟件質(zhì)量反映了以下三方面的問題。1.軟件需求是度量軟件質(zhì)量的基礎,不符合需求的軟件就不具備質(zhì)量。2.在各種標準中定義了一些開發(fā)準則,用來指導軟件人員用工程化的方法來開發(fā)軟件。如果不遵守這些開發(fā)準則,軟件質(zhì)量就得不到保證。3.往往會有一些隱含的需求沒有明確地提出來。例如,軟件應具備良好的可維護性。如果軟件只滿足那些精確定義了的需求而沒有滿足這些隱含的需求,軟件質(zhì)量也不能保證。5.什么是黑盒測試法?什么是白盒測試法?參考答案:黑盒測試法把程序看成一個黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。黑盒測試是在程序接口進行的測試,它只檢查程

溫馨提示

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

評論

0/150

提交評論