版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《軟件工程》形成性考核答案第一、二章一、填空題1.軟件工程學(xué)的內(nèi)容可包括(理論)、結(jié)構(gòu)、(方法)、(工具)、環(huán)境、管理、規(guī)范等。2.軟件生存周期一般可分為問題定義、(可行性研究)、(需求分析)、設(shè)計(jì)、(編碼)、測試、運(yùn)行與維護(hù)階段。3.可行性研究的目的是(用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決)。4.系統(tǒng)流程圖是(描繪物理系統(tǒng))的傳統(tǒng)工具。5.在可行性研究中,(技術(shù)可行性)是系統(tǒng)開發(fā)過程中難度最大,最重要的一個(gè)環(huán)節(jié)。二、判斷題1.軟件工程采用的生存周期方法就是從時(shí)間角度對(duì)軟件的開發(fā)和維護(hù)這個(gè)復(fù)雜問題進(jìn)行分解,將軟件生存的時(shí)期分為若干階段。(√)2.螺旋模型是利用笛卡爾坐標(biāo)的四個(gè)象限上分別代表四個(gè)方面的活動(dòng)來表示。(√)3.原型模型適用于嵌入式軟件。(╳)4.面向?qū)ο蠹夹g(shù)是構(gòu)件組裝模型的基礎(chǔ)。(√)5.在可行性研究中最難決斷和最關(guān)鍵的問題是經(jīng)濟(jì)可行性。(╳)6.系統(tǒng)流程圖表達(dá)的是部件的信息流程,還表示對(duì)信息進(jìn)行加工處理的控制過程。(╳)7.自底向上成本估計(jì)不是從整體開始,而是從任務(wù)單元開始。(√)三、單項(xiàng)選擇題1.下列哪個(gè)階段不是軟件生存期三個(gè)階段中的內(nèi)容(C)。A.計(jì)劃階段B.開發(fā)階段C.編碼階段D.維護(hù)階段2.下列關(guān)于瀑布模型的描述正確的是(C)。A.瀑布模型的核心是按照軟件開發(fā)的時(shí)間順序?qū)栴}簡化。B.瀑布模型具有良好的靈活性。C.瀑布模型采用結(jié)構(gòu)化的分析與設(shè)計(jì)方法,將邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)分開。D.利用瀑布模型,如果發(fā)現(xiàn)問題修改的代價(jià)很低。四、簡答題1.軟件的定義與特點(diǎn)。參考答案:軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)結(jié)構(gòu)及其相關(guān)文檔的完整集合。它包括三個(gè)方面的內(nèi)容:⑴程序:在運(yùn)行時(shí),能提供所希望的功能和性能的指令集。⑵數(shù)據(jù)結(jié)構(gòu):使程序能夠正確運(yùn)行的數(shù)據(jù)結(jié)構(gòu)。⑶文檔:描述程序研制過程、方法及使用的圖文材料。軟件產(chǎn)品具有以下一些特性:①軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,因而它具有抽象性。②軟件是通過人們的智力活動(dòng),把知識(shí)與技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品,是在研制、開發(fā)中被創(chuàng)造出來的。③在軟件的運(yùn)行和使用期間,沒有硬件那樣的機(jī)械磨損、老化問題。④軟件的開發(fā)和運(yùn)行經(jīng)常受到計(jì)算機(jī)系統(tǒng)的限制,對(duì)計(jì)算機(jī)系統(tǒng)有著不同程度的依賴性。⑤軟件的開發(fā)至今尚未完全擺脫手工的開發(fā)方式。⑥軟件的開發(fā)費(fèi)用越來越高,成本相當(dāng)昂貴。也可概括為:⑴抽象性:邏輯實(shí)體,可記錄,但看不到。⑵可復(fù)制性:與開發(fā)成本相比,復(fù)制成本很低。⑶無折舊。⑷受硬件制約。⑸未完全擺脫手工工藝。⑹開發(fā)費(fèi)用高。2.什么是軟件工程。參考答案:軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。它采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來開發(fā)和維護(hù)軟件。軟件工程是從管理和技術(shù)兩個(gè)方面研究如何運(yùn)用工程學(xué)的基本原理和方法來更好地開發(fā)和維護(hù)計(jì)算機(jī)軟件的一門學(xué)科。3.什么是軟件生存周期。參考答案:一個(gè)軟件從定義到開發(fā)、使用和維護(hù),直到最終被棄用,要經(jīng)歷一個(gè)漫長的時(shí)期,通常把軟件經(jīng)歷的這個(gè)漫長的時(shí)期稱為生存周期。軟件生存周期一般可分為以下階段:問題定義需求分析與可行性研究設(shè)計(jì)編碼測試運(yùn)行與維護(hù)軟件生存期也可以分為三個(gè)大的階段:計(jì)劃階段。開發(fā)階段和維護(hù)階段。4.什么是軟件危機(jī),軟件危機(jī)有哪幾種表現(xiàn)?參考答案:答:軟件開發(fā)和維護(hù)的過程中所遇到的一系列嚴(yán)重的問題。具體表現(xiàn)在:(1)產(chǎn)品不能符合用戶的實(shí)際需求;(2)軟件開發(fā)的效率較低;(3)軟件產(chǎn)品的質(zhì)量差;(4)軟件開發(fā)成本和進(jìn)度的估算不準(zhǔn)確;(5)軟件可維護(hù)性差;(6)軟件開發(fā)文檔資料不完整;(7)軟件的價(jià)格昂貴;5.簡述可行性研究的任務(wù)。參考答案:可行性研究的目的:就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決,是否有必要去解決。可行性研究的目的不是解決問題,而是確定問題是否值得去解決。研究在當(dāng)前的具體條件下,開發(fā)新系統(tǒng)是否具備必要的資源和其它條件。可行性研究是要進(jìn)行一次壓縮簡化了的系統(tǒng)分析和設(shè)計(jì)的過程,也就是說在較高層次上以較抽象的方式進(jìn)行設(shè)計(jì)的過程。6.簡述可行性研究的步驟。參考答案:1.復(fù)查系統(tǒng)規(guī)模和目標(biāo)2.研究目前正在使用的系統(tǒng)3.導(dǎo)出新系統(tǒng)的高層邏輯模型4.重新定義問題5.導(dǎo)出和評(píng)價(jià)供選擇的方案6.推薦一個(gè)方案并說明理由7.推薦行動(dòng)方針8.書寫計(jì)劃任務(wù)書9.提交審查7.簡述系統(tǒng)流程圖的作用。參考答案:1.制作系統(tǒng)流程圖的過程是系統(tǒng)分析員全面了解系統(tǒng)業(yè)務(wù)處理概況的過程,它是系統(tǒng)分析員作進(jìn)一步分析的依據(jù)。2.系統(tǒng)流程圖是系統(tǒng)分析員、管理人員、業(yè)務(wù)操作人員相互交流的工具。3.系統(tǒng)分析員可直接在系統(tǒng)流程圖上擬出可以實(shí)現(xiàn)計(jì)算機(jī)處理的部分。4.可利用系統(tǒng)流程圖來分析業(yè)務(wù)流程的合理性?!盾浖こ獭沸纬尚钥己舜鸢傅谌⑺恼乱?、填空題需求分析的基本任務(wù)是準(zhǔn)確的回答(系統(tǒng)必須做什么)。需求分析階段研究的對(duì)象是軟件項(xiàng)目的(用戶要求)。結(jié)構(gòu)化分析方法就是(面向數(shù)據(jù)流)自頂向下逐步求精進(jìn)行需求分析的方法。需求分析的目的之一就是把數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)定義到(元素級(jí))。數(shù)據(jù)流圖的基本符號(hào)包括(數(shù)據(jù)輸入的源點(diǎn)和數(shù)據(jù)輸出的匯點(diǎn))、(加工)、(數(shù)據(jù)流)、(數(shù)據(jù)存儲(chǔ)文件)。數(shù)據(jù)流圖和(數(shù)據(jù)字典)共同構(gòu)成系統(tǒng)的邏輯模型。數(shù)據(jù)字典的內(nèi)容包括六項(xiàng):(數(shù)據(jù)流)、(數(shù)據(jù)項(xiàng))、(數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體。在需求分析階段常用的圖形工具有(層次方框圖)、(Warnier圖)、(IPO圖)。需求分析應(yīng)交付的主要文檔是(需求規(guī)格說明書)。概要設(shè)計(jì)過程中要先進(jìn)行系統(tǒng)設(shè)計(jì)、(復(fù)審系統(tǒng)計(jì)劃)與(需求分析),確定系統(tǒng)具體的實(shí)施方案;然后進(jìn)行(結(jié)構(gòu)設(shè)計(jì)),確定軟件結(jié)構(gòu)。層次結(jié)構(gòu)的上一層是下一層的(抽象),下一層是上一層的(求精)。模塊獨(dú)立的概念是(模塊化)、(抽象)、(信息隱蔽)和局部化概念的直接結(jié)果。模塊耦合的強(qiáng)弱取決于(模塊間接口的復(fù)雜程度)、(調(diào)用模塊的方式)和通過接口的信息。設(shè)計(jì)出軟件的初步結(jié)構(gòu)以后,應(yīng)該進(jìn)一步分解或合并模塊,力求降低(耦合)提高(內(nèi)聚)。在一段程序中,將多次出現(xiàn)的一組語句設(shè)計(jì)為一個(gè)子程序,供多個(gè)部分調(diào)用,這種情況出現(xiàn)的內(nèi)聚稱為(偶然內(nèi)聚)。一個(gè)模塊直接調(diào)用的模塊數(shù)目稱為模塊的(扇出),一個(gè)模塊被多少上級(jí)模塊直接調(diào)用稱為模塊的(扇入)。JSD是一種典型的(面向數(shù)據(jù)結(jié)構(gòu))的分析設(shè)計(jì)方法。Jackson圖除了可以表達(dá)(程序結(jié)構(gòu)外)外,還可以表達(dá)數(shù)據(jù)結(jié)構(gòu)。對(duì)于下列偽碼,畫出改進(jìn)的Jackson圖()AseqBCDAendAADCBDCB二、判斷題在軟件開發(fā)中,采用原型系統(tǒng)策略的主要困難是時(shí)間問題。(╳)數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式描述數(shù)據(jù)流從輸入到輸出的傳輸變換過程。(√)模塊越多,開發(fā)成本越小。(╳)耦合是指一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度。(╳)內(nèi)聚是指一個(gè)軟件結(jié)構(gòu)內(nèi)各個(gè)模塊之間互連程度的度量。(╳)在軟件設(shè)計(jì)中應(yīng)該盡量設(shè)計(jì)緊密耦合的系統(tǒng)。(╳)控制耦合往往可以通過分解由數(shù)據(jù)耦合來代替。(√)內(nèi)容耦合又稱為病態(tài)耦合,在很多高級(jí)程序設(shè)計(jì)語言中不允許出現(xiàn)任何形式的內(nèi)容耦合。(√)對(duì)于DFD圖的劃分,主要依賴設(shè)計(jì)人員的經(jīng)驗(yàn),一切都應(yīng)根據(jù)設(shè)計(jì)人員的經(jīng)驗(yàn)確定。(╳)一筆交易、一個(gè)動(dòng)作、甚至操作人員按一個(gè)按鈕都可以看做是一次事物。(√)如果一個(gè)模塊內(nèi)的處理元素是彼此相關(guān)的,并且以一個(gè)特定的次序執(zhí)行,則這種內(nèi)聚稱為時(shí)間內(nèi)聚。(╳)概要設(shè)計(jì)階段完成的主要文檔是概要設(shè)計(jì)說明書。(√)三、多項(xiàng)選擇題需求分析階段結(jié)束后,應(yīng)交出的文檔中應(yīng)該包括(ABC)。數(shù)據(jù)流圖數(shù)據(jù)字典簡明的算法描述項(xiàng)目的經(jīng)費(fèi)預(yù)算關(guān)于數(shù)據(jù)流圖正確的描述是(ACD)。數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的主要工具。在數(shù)據(jù)流圖中,*號(hào)標(biāo)識(shí)相鄰的數(shù)據(jù)流只取其一。加工是以數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)內(nèi)容作為加工對(duì)象的。數(shù)據(jù)流圖的主圖中必須包括全部四種基本元素。關(guān)于數(shù)據(jù)字典正確的描述是(ABCD)。數(shù)據(jù)字典最重要的用途是作為分析階段的工具。實(shí)現(xiàn)數(shù)據(jù)字典三種常見的方法有全人工過程、全自動(dòng)過程、混合過程。數(shù)據(jù)字典應(yīng)該容易更新和修改。可以采用卡片形式書寫數(shù)據(jù)字典。(ABCD)可以作為模塊。過程子程序函數(shù)宏下列關(guān)于模塊的描述,正確的是(ABCD)。具有獨(dú)立的模塊軟件比較容易開發(fā)出來。獨(dú)立的模塊比較容易測試和維護(hù)。模塊的獨(dú)立程度可以通過內(nèi)聚和耦合標(biāo)定。獨(dú)立的模塊可以完成一個(gè)相對(duì)獨(dú)立的特定子功能。耦合的強(qiáng)弱取決于(ABC)。模塊間接口的復(fù)雜程度。調(diào)用模塊的方式。通過接口的信息。模塊內(nèi)部各個(gè)元素彼此之間的緊密結(jié)合程度。在公共環(huán)境耦合中,公共環(huán)境可以是(ABCD)。全程變量。共享的通信區(qū)。內(nèi)存的公共覆蓋區(qū)。存儲(chǔ)介質(zhì)上的文件。下列(AD)屬于內(nèi)容耦合。一個(gè)模塊有多個(gè)入口。兩個(gè)模塊彼此之間只通過傳遞參數(shù)交換信息。兩個(gè)模塊之間存在全程變量,并通過全程變量傳遞信息。兩個(gè)模塊有部分代碼重疊。在軟件設(shè)計(jì)中,(CD)耦合應(yīng)盡量避免。控制數(shù)據(jù)內(nèi)容標(biāo)記四、簡答題需求分析的任務(wù)是什么?參考答案:見書31頁怎樣建立目標(biāo)系統(tǒng)的邏輯模型?參考答案:在理解當(dāng)前系統(tǒng)“怎樣做”的基礎(chǔ)上,抽取其“做什么”的本質(zhì)。在物理模型中有許多物理因素,但隨著分析工作的深入,有些非本質(zhì)因素就顯得不必要了,因而需要對(duì)物理模型進(jìn)行分析,區(qū)分本質(zhì)和非本質(zhì)因素,去掉那些非本質(zhì)因素就可獲得反應(yīng)系統(tǒng)本質(zhì)的邏輯模型。做法是:⑴確定目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)的邏輯差別;⑵將變化部分看作是新的處理步驟,對(duì)功能圖及對(duì)象圖進(jìn)行調(diào)整;⑶由外及里對(duì)變化的部分進(jìn)行分析,推斷其結(jié)構(gòu),獲得目標(biāo)系統(tǒng)的邏輯模型。什么是結(jié)構(gòu)化分析?“結(jié)構(gòu)化”體現(xiàn)在哪里?參考答案:結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法。結(jié)構(gòu)化分析方法使用數(shù)據(jù)流圖DFD與數(shù)據(jù)字典DD來描述,面向數(shù)據(jù)流問題的需求分析適合于數(shù)據(jù)處理類型軟件的需求描述。其核心思想是分解化簡問題,將物理與邏輯表示分開,對(duì)系統(tǒng)進(jìn)行數(shù)據(jù)與邏輯的抽象。結(jié)構(gòu)化分析方法體現(xiàn)在用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止。需求說明書由哪些部分組成?各部分之間的關(guān)系是什么?參考答案:軟件需求說明書一般包括如下內(nèi)容:1.引言部分編寫目的;項(xiàng)目背景(應(yīng)包括:a.項(xiàng)目的委托單位、開發(fā)單位和主管部門;b.該軟件系統(tǒng)與其他系統(tǒng)的關(guān)系。);定義;(列出文檔中所用到的專門術(shù)語的定義和縮寫詞的原文。)參考資料。2.任務(wù)概述目標(biāo);運(yùn)行環(huán)境;條件與限制。3.?dāng)?shù)據(jù)描述靜態(tài)數(shù)據(jù);動(dòng)態(tài)數(shù)據(jù)(包括輸入數(shù)據(jù)和輸出數(shù)據(jù));數(shù)據(jù)庫描述(給出使用數(shù)據(jù)庫的名稱和類型);數(shù)據(jù)詞典;數(shù)據(jù)采集。4.功能要求功能劃分;功能描述。5.性能需求數(shù)據(jù)精確度;時(shí)間特性(如響應(yīng)時(shí)間、更新處理時(shí)間、數(shù)據(jù)轉(zhuǎn)換與傳輸時(shí)間、運(yùn)行時(shí)間等);適應(yīng)性(在操作方式、運(yùn)行環(huán)境、與其他軟件的接口以及開發(fā)計(jì)劃等發(fā)生變化時(shí),應(yīng)具有的適應(yīng)能力。)6.運(yùn)行需求用戶界面(如屏幕格式、報(bào)表格式、菜單格式、輸入輸出時(shí)間等);硬件接口;軟件接口;故障處理。7.其他要求如可使用性、安全保密、可維護(hù)性、可移植性等。8.附錄為什么數(shù)據(jù)流圖要分層?參考答案:為了表達(dá)數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,用一個(gè)數(shù)據(jù)流圖是不夠的。為表達(dá)稍為復(fù)雜的實(shí)際問題,需要按照問題的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。什么是加工邏輯?參考答案:加工邏輯就是處理邏輯,加工邏輯是對(duì)加工過程的抽象描述。加工邏輯的具體實(shí)現(xiàn)就是加工過程。加工邏輯是指用戶對(duì)這個(gè)加工的邏輯要求,即加工的輸入數(shù)據(jù)流與輸出數(shù)據(jù)流之間的邏輯關(guān)系。加工邏輯主要是說明加工做什么,而不是描述具體的加工過程,如采用哪些加工單元、如何控制執(zhí)行等實(shí)現(xiàn)細(xì)節(jié)。根據(jù)下列描述,畫出教材征訂系統(tǒng)的第一層數(shù)據(jù)流圖。學(xué)生入學(xué)后到教材科訂書,教材科根據(jù)教材庫存情況分析是否需要買書,如需購買,則向書店購買。各種資金往來通過學(xué)校的會(huì)計(jì)科辦理。參考答案:結(jié)構(gòu)化設(shè)計(jì)方法的基本思想是什么?它如何與SA方法相銜接?參考答案:結(jié)構(gòu)化設(shè)計(jì)方法的基本思想是SA是結(jié)構(gòu)化分析方法的簡稱。結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法。其核心思想是分解化簡問題,將物理與邏輯表示分開,對(duì)系統(tǒng)進(jìn)行數(shù)據(jù)與邏輯的抽象。結(jié)構(gòu)化分析方法體現(xiàn)在用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止。結(jié)構(gòu)化設(shè)計(jì)是在結(jié)構(gòu)化分析的基礎(chǔ)上完成的。結(jié)構(gòu)化設(shè)計(jì)屬于面向數(shù)據(jù)流的設(shè)計(jì)方法。在需求分析階段,通過SA方法,解決了一個(gè)關(guān)鍵問題:信息流。數(shù)據(jù)流是軟件開發(fā)人員考慮問題的出發(fā)點(diǎn)和基礎(chǔ)。數(shù)據(jù)流從系統(tǒng)的輸入端向輸出端流動(dòng),要經(jīng)歷一系列的變換或處理。用來表現(xiàn)這個(gè)過程的數(shù)據(jù)流圖(DFD):實(shí)際上就是軟件系統(tǒng)的邏輯模型。結(jié)構(gòu)化設(shè)計(jì)要解決的任務(wù),就是在上述需求分析的基礎(chǔ)上,將DFD圖映射為軟件系統(tǒng)的結(jié)構(gòu)。換句話說,這類設(shè)計(jì)方法允許把用DFD圖表示的系統(tǒng)邏輯模型方便地轉(zhuǎn)換成對(duì)于軟件結(jié)構(gòu)的初始設(shè)計(jì)描述。結(jié)構(gòu)化設(shè)計(jì)方法的基本思想是將系統(tǒng)劃分成一些獨(dú)立的功能模塊,這些模塊按照一定的組織層次構(gòu)造起來形成軟件結(jié)構(gòu),通過自頂向下逐步細(xì)化的方法將用數(shù)據(jù)流圖表示的信息轉(zhuǎn)換成程序結(jié)構(gòu)的設(shè)計(jì)描述。從結(jié)構(gòu)化分析到結(jié)構(gòu)化設(shè)計(jì)工具的轉(zhuǎn)變:結(jié)構(gòu)化分析結(jié)果結(jié)構(gòu)化設(shè)計(jì)結(jié)果數(shù)據(jù)流圖初始結(jié)構(gòu)圖生存周期字典的數(shù)據(jù)部分設(shè)計(jì)數(shù)據(jù)字典偽碼+實(shí)現(xiàn)方面?zhèn)未a實(shí)體關(guān)系圖+數(shù)據(jù)庫性數(shù)據(jù)庫設(shè)計(jì)事務(wù)框圖分層/細(xì)化事務(wù)模型什么是模塊、模塊化?參考答案:模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,模塊可以單獨(dú)被命名的而且可通過名字來訪問,例如,過程、函數(shù)、子程序、宏等等都可作為模塊。模塊化就是把程序劃分成若干個(gè)模塊,每個(gè)模塊具有一個(gè)子功能,把這些模塊集總起來組成一個(gè)整體,可以完成指定的功能,實(shí)現(xiàn)問題的要求。模塊化設(shè)計(jì)這一概念取消。說明并比較概要設(shè)計(jì)說明書與需求分析說明書的內(nèi)容。參考答案:P54P98(1)兩個(gè)說明書都包括引言,內(nèi)容基本相同;(2)任務(wù)概述部分概要設(shè)計(jì)說明比需求說明增加了需求概述;(3)需求說明主要通過靜態(tài)、動(dòng)態(tài)數(shù)據(jù),數(shù)據(jù)庫描述,數(shù)據(jù)字典和數(shù)據(jù)采集等內(nèi)容進(jìn)行數(shù)據(jù)描述;(4)需求說明中的主要部分是功能要求、性能要求、運(yùn)行需求以及其他要求,它的目的是全面地、精確地描述了系統(tǒng)要“做什么”。需求說明書中還可能包括數(shù)據(jù)流圖、數(shù)據(jù)字典、IPO圖等描述的系統(tǒng)邏輯模型。(5)概要設(shè)計(jì)說明則對(duì)系統(tǒng)的總體結(jié)構(gòu)、各個(gè)接口、數(shù)據(jù)結(jié)構(gòu)、運(yùn)行、出錯(cuò)、安全、維護(hù)進(jìn)行具體設(shè)計(jì),它的目的是描述系統(tǒng)“怎樣做”,往往包含了各模塊的處理說明和接口說明以及系統(tǒng)結(jié)構(gòu)圖。(6)概要設(shè)計(jì)說明是建立在需求說明的基礎(chǔ)上的。用Jackson圖表示下圖所示的二維表格:學(xué)生名冊(cè)表頭姓名表頭性別年齡學(xué)號(hào)……表體表體該學(xué)生名冊(cè)由表頭和表體兩部分組成。其中表頭又順序包括表名和字段名。表體可由任意行組成,每行包括學(xué)生的姓名、性別、年齡和學(xué)號(hào)。參考答案:學(xué)生名冊(cè)學(xué)生名冊(cè)行*學(xué)號(hào)年齡性別姓名字段名表名表體表頭行*學(xué)號(hào)年齡性別姓名字段名表名表體表頭指出下列數(shù)據(jù)流圖中存在的問題。OF3.2FB2OF3.2FB2PB3.1PB3.1QD3.3D1QD3.3D13.4CE33.4CE3EE父圖子圖參考答案:1、父圖沒有輸入數(shù)據(jù)流;2、子圖的輸入數(shù)據(jù)流應(yīng)該是C,而不是B;3、子圖的輸出數(shù)據(jù)流應(yīng)該只有D和E,而不應(yīng)有F?!盾浖こ獭沸纬尚钥己舜鸢傅谖?、六章一、填空題詳細(xì)設(shè)計(jì)的工具有(圖形工具)、表格工具和語言工具。為使用流程圖描述結(jié)構(gòu)華程序,限制流程圖有五種基本的控制結(jié)構(gòu)(順序型)、(選擇型)、(while型循環(huán))、until循環(huán)、多情況型選擇。HIPO圖是由一組(IPO)圖和一張(HC)圖組成。IPO圖由(輸入)、處理和(輸出)三個(gè)框組成。這個(gè)圖的特點(diǎn)是能夠直觀的顯示三者之間的關(guān)系。面向?qū)ο蠹夹g(shù)是一整套關(guān)于如何看待(軟件系統(tǒng))和(現(xiàn)實(shí)世界)的關(guān)系,以什么觀點(diǎn)來研究問題并進(jìn)行分析求解,以及如何進(jìn)行系統(tǒng)構(gòu)造的軟件方法學(xué)。面向?qū)ο蠓椒ㄊ且环N運(yùn)用(對(duì)象)、(類)、(封裝)、(聚合)、消息傳送、多態(tài)性等概念來構(gòu)造系統(tǒng)的軟件開發(fā)方法。面向?qū)ο蟮能浖こ谭椒ㄊ敲嫦驅(qū)ο蠓椒ㄔ冢ㄜ浖こ蹋╊I(lǐng)域的全面應(yīng)用。UML的定義包括(UML語義)和(UML表示法)兩個(gè)部分。二、判斷題詳細(xì)設(shè)計(jì)是在概要設(shè)計(jì)之后進(jìn)行的。它利用概要設(shè)計(jì)的結(jié)果,對(duì)系統(tǒng)中的每個(gè)模塊給出足夠的過程性描述。(√)程序設(shè)計(jì)語言中應(yīng)絕對(duì)禁止使用GOTO語句。(╳)PAD圖在設(shè)置了五種基本的控制結(jié)構(gòu)后,還允許遞歸調(diào)用。(√)UML設(shè)定的目標(biāo)之一是運(yùn)用面向?qū)ο蟾拍顏順?gòu)造系統(tǒng)模型。(√)類是關(guān)于對(duì)象性質(zhì)的描述,由方法和數(shù)據(jù)集成。(√)三、簡答題詳細(xì)設(shè)計(jì)的任務(wù)是什么?參考答案:1.為每個(gè)模塊確定采用的算法,選擇某種適當(dāng)?shù)墓ぞ弑磉_(dá)算法的過程,寫出模塊的詳細(xì)過程性描述;2.確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu);3.確定模塊接口的細(xì)節(jié),包括對(duì)系統(tǒng)外部的接口和用戶界面,對(duì)系統(tǒng)內(nèi)部其它模塊的接口,以及模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細(xì)節(jié)。4.要為每一個(gè)模塊設(shè)計(jì)出一組測試用例,以便在編碼階段對(duì)模塊代碼(即程序)進(jìn)行預(yù)定的測試,模塊的測試用例是軟件測試計(jì)劃的重要組成部分,通常應(yīng)包括輸入數(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簡述什么是“對(duì)象”,什么是“類”。參考答案:人們要進(jìn)行研究的任何事物均可看作對(duì)象,例如具體的事物、抽象的規(guī)則、計(jì)劃和事件。類的定義是具有相同屬性和服務(wù)的一組對(duì)象的集合,它為屬于該類的全部對(duì)象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和服務(wù)兩個(gè)主要部分。(類是具有相同屬性、操作、關(guān)系的對(duì)象集合的總稱。)UML的內(nèi)容包括哪些部分?參考答案:標(biāo)準(zhǔn)建模語言UML的重要內(nèi)容可以由下列五類圖來定義.①用例圖。②是靜態(tài)圖。③行為圖。④交互圖。⑤實(shí)現(xiàn)圖。《軟件工程》形成性考核答案——第七、八、九章一、填空題1.軟件=(程序)+(文檔)。2.程序的效率是指程序的執(zhí)行速度和(程序占用的存儲(chǔ)空間)。3.軟件測試的方法有(分析方法)和(非分析方法)又稱黑盒法。4.實(shí)現(xiàn)容錯(cuò)的主要手段是(冗余)和(防錯(cuò)程序設(shè)計(jì))。5.軟件測試的配置主要包括(測試計(jì)劃)、(測試用例)和測試程序等。6.軟件測試的步驟主要包括(單元測試)、集成測試、確認(rèn)測試和(系統(tǒng)測試)。二、判斷題1.獨(dú)立編譯是指將一個(gè)大程序的不同程序單元分別編譯,然后重新連接整個(gè)程序段。(√)2.為保證程序的安全,必須做到程序中沒有任何錯(cuò)誤存在,即容錯(cuò)。(╳)3.如果把軟件開發(fā)所需的資源畫成一個(gè)金字塔,人是最基本的資源。(√)4.軟件測試只對(duì)軟件的編碼進(jìn)行查錯(cuò)和糾錯(cuò)工作,不需對(duì)軟件計(jì)劃和軟件設(shè)計(jì)進(jìn)行查錯(cuò)。(╳)5.軟件測試的目的是為了證明一個(gè)軟件的設(shè)計(jì)沒有錯(cuò)誤,只有沒有任何錯(cuò)誤的軟件才能使用。(╳)6.在進(jìn)行軟件測試之前,首先應(yīng)該假設(shè)軟件是沒有錯(cuò)誤的。(╳)7.軟件測試中,應(yīng)該盡量窮盡所有的數(shù)據(jù),以便保證測試的質(zhì)量。(╳)8.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋,判定/條件覆蓋是同時(shí)滿足這兩種覆蓋標(biāo)準(zhǔn)的邏輯覆蓋。(√)三、多項(xiàng)選擇題1.程序設(shè)計(jì)語言的特點(diǎn)包括(ABCD)。A.名字說明B.類型說明C.初始化D.循環(huán)和分支控制結(jié)構(gòu)2.編碼風(fēng)格包括(ABCD)。A.源程序文檔化B.數(shù)據(jù)說明方法C.語句結(jié)構(gòu)D.輸入/輸出方法3.被動(dòng)式防錯(cuò)的檢查項(xiàng)目包括(BD)。A.周期性的進(jìn)行標(biāo)志檢查B.表達(dá)式中是否有分母為0的情況C.周期性的進(jìn)行鏈表連接情況的檢查D.棧的深度是否正確4.軟件測試主要包括(ABC)方面的差錯(cuò)和糾錯(cuò)。A.軟件計(jì)劃B.軟件設(shè)計(jì)C.軟件編碼D.軟件價(jià)格5.軟件維護(hù)的步驟主要包括(ABC)。A.分析和理解程序B.修改程序C.重新驗(yàn)證程序D.維護(hù)組織四、簡答題1.什么是編碼風(fēng)格?為什么要強(qiáng)調(diào)編碼風(fēng)格?參考答案:編碼風(fēng)格又稱程序設(shè)計(jì)風(fēng)格或編程風(fēng)格。編碼的目標(biāo)從強(qiáng)調(diào)效率轉(zhuǎn)變?yōu)閺?qiáng)調(diào)清晰。良好的編碼風(fēng)格能在一定程度上彌補(bǔ)語言存在的缺陷,而如果不注意風(fēng)格就很難寫出高質(zhì)量的程序。尤其當(dāng)多個(gè)程序員合作編寫一個(gè)很大的程序時(shí),需要強(qiáng)調(diào)良好而一致的編碼風(fēng)格,以便相互通訊,減少因不協(xié)調(diào)而引起的問題。總之,良好的編碼風(fēng)格有助于編寫出可靠而又容易維護(hù)的程序,編碼的風(fēng)格在很大程度上決定著程序的質(zhì)量。2.編碼風(fēng)格有哪幾個(gè)方面的問題?分別需要注意什么?參考答案:編碼風(fēng)格包括四個(gè)方面,即源程序文檔化,數(shù)據(jù)說明的方法,語句結(jié)構(gòu)和輸入/輸出方法。源程序文檔化主要包括選擇標(biāo)識(shí)符(變量和標(biāo)號(hào))的名字、安排注釋以及程序的視覺組織等。在編寫程序時(shí),要注意數(shù)據(jù)說明的風(fēng)格。為了數(shù)據(jù)說明便于理解和維護(hù),必須注意下述幾點(diǎn)。1.?dāng)?shù)據(jù)說明的次序應(yīng)規(guī)范。進(jìn)而有利于測試,排錯(cuò)和維護(hù)。2.說明的先后次序固定。例如,按常量說明、簡單變量類型說明、數(shù)組說明、公用數(shù)據(jù)塊說明、所有的文件說明的順序說明。在類型說明中還可進(jìn)一步要求。例如,可按如下順序排列:整型量說明、實(shí)型量說明、字符量說明、邏輯量說明。3.當(dāng)用一個(gè)語句說明多個(gè)變量名時(shí),應(yīng)當(dāng)對(duì)這些變量按字母的順序排列。4.對(duì)于復(fù)雜數(shù)據(jù)結(jié)構(gòu),應(yīng)利用注釋說明實(shí)現(xiàn)這個(gè)數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)。在設(shè)計(jì)階段確定軟件的邏輯結(jié)構(gòu),但編碼階段的任務(wù)是構(gòu)造單個(gè)語句。構(gòu)造的語句要簡單、直接,不要為了提高效率而使語句更為復(fù)雜。1.使用標(biāo)準(zhǔn)的控制結(jié)構(gòu)2.盡可能使用庫函數(shù)3.首先應(yīng)當(dāng)考慮可讀性4.注意GOTO語句的使用5.其他須注意的問題(1)避免使用ELSEGOTO和ELSERETURN結(jié)構(gòu)。(2)避免過多的循環(huán)嵌套和條件嵌套;(3)數(shù)據(jù)結(jié)構(gòu)要有利于程序的簡化。(4)要模塊化,使模塊功能盡可能單一化,模塊間的耦合能夠清晰可見。(5)對(duì)遞歸定義的數(shù)據(jù)結(jié)構(gòu)盡量使用遞歸過程。(6)不要修補(bǔ)不好的程序,要重新編寫,也不要一味地追求代碼的復(fù)用,要重新組織。(7)利用信息隱蔽,確保每一個(gè)模塊的獨(dú)立性。(8)對(duì)太大的程序,要分塊編寫、測試,然后再集成。(9)注意計(jì)算機(jī)浮點(diǎn)數(shù)運(yùn)算的特點(diǎn)。尾數(shù)位數(shù)一定,則浮點(diǎn)數(shù)的精度受到限制。(10)避免不恰當(dāng)?shù)刈非蟪绦蛐?,在改進(jìn)效率前,要作出有關(guān)效率的定量估計(jì)。(11)確保所有變量在使用前都進(jìn)行初始化。(12)遵循國家標(biāo)準(zhǔn)。輸入/輸出信息是與用戶的使用直接相關(guān)的。輸入/輸出的方式和格式應(yīng)當(dāng)盡量作到對(duì)用戶友好,盡可能方便用戶的使用。一定要避免因設(shè)計(jì)不當(dāng)給用戶帶來的麻煩。這就要求,源程序的輸入/輸出風(fēng)格必須滿足人體工程學(xué)的需要和系統(tǒng)能否為用戶接受。因此,在軟件需求分析階段和設(shè)計(jì)階段,就應(yīng)基本確定輸入/輸出的風(fēng)格。3.比較下列兩段語句,從編碼風(fēng)格的角度分析其優(yōu)、劣。程序段一:ifa>bthenifx>ythenb=yelsea=xendifelsea=bendif程序段二:/position_xisthepositionxofobject;position_yisthepositionyofobject;/ifa>bthena=belseifposition_x>position_ythenb=position_yelsea=position_xendifendif參考答案:第二段程序優(yōu)于第一段。注釋起到提示的作用,利于程序閱讀者對(duì)程序段全貌的理解縮進(jìn)格式清晰的顯示程序中邏輯判斷的結(jié)構(gòu)。變量命名方式表明變量的含義。4.軟件的質(zhì)量反應(yīng)在哪些方面?參考答案:軟件質(zhì)量反映了以下三方面的問題。1.軟件需求是度量軟件質(zhì)量的基礎(chǔ),不符合需求的軟件就不具備質(zhì)量。2.在各種標(biāo)準(zhǔn)中定義了一些開發(fā)準(zhǔn)則,用來指導(dǎo)軟件人員用工程化的方法來開發(fā)軟件。如果不遵守這些開發(fā)準(zhǔn)則,軟件質(zhì)量就得不到保證。3.往往會(huì)有一些隱含的需求沒有明確地提出來。例如,軟件應(yīng)具備良好的可維護(hù)性。如果軟件只滿足那些精確定義了的需求而沒有滿足這些隱含的需求,軟件質(zhì)量也不能保證。5.什么是黑盒測試法?什么是白盒測試法?參考答案:黑盒測試法把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。黑盒測試是在程序接口進(jìn)行的測試,它只檢查程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:近代日本對(duì)中國茶業(yè)的侵奪研究
- 課題申報(bào)參考:教育高質(zhì)量發(fā)展視域下大學(xué)體育一流本科課程建設(shè)實(shí)證研究
- 2025年園林景觀綠化地使用權(quán)轉(zhuǎn)讓合同4篇
- 2025年度新能源汽車充電站車位租賃合作協(xié)議書4篇
- 2025版委托擔(dān)保合同范本:知識(shí)產(chǎn)權(quán)質(zhì)押貸款擔(dān)保合同3篇
- 2025年度家具行業(yè)綠色供應(yīng)鏈管理合同4篇
- 二零二五版橋梁建設(shè)施工合作協(xié)議2篇
- 2025年度個(gè)人沿街店房租賃合同(含合同解除條件與爭議解決)4篇
- 二零二五年度國際交流項(xiàng)目教師選拔與聘用協(xié)議
- 2025年度星級(jí)酒店廚房設(shè)備采購與定期檢修合同4篇
- 數(shù)學(xué)-山東省2025年1月濟(jì)南市高三期末學(xué)習(xí)質(zhì)量檢測濟(jì)南期末試題和答案
- 中儲(chǔ)糧黑龍江分公司社招2025年學(xué)習(xí)資料
- 湖南省長沙市2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期期末考試試卷
- 船舶行業(yè)維修保養(yǎng)合同
- 2024年林地使用權(quán)轉(zhuǎn)讓協(xié)議書
- 物流有限公司安全生產(chǎn)專項(xiàng)整治三年行動(dòng)實(shí)施方案全國安全生產(chǎn)專項(xiàng)整治三年行動(dòng)計(jì)劃
- 基于ADAMS的汽車懸架系統(tǒng)建模與優(yōu)化
- 當(dāng)前中國個(gè)人極端暴力犯罪個(gè)案研究
- 中國象棋比賽規(guī)則
- 7天減肥餐食譜給你最能瘦的一周減肥食譜
- GB/T 31525-2015圖形標(biāo)志電動(dòng)汽車充換電設(shè)施標(biāo)志
評(píng)論
0/150
提交評(píng)論