版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《軟件工程》形成性考核答案第一、二章一、填空題1.軟件工程學(xué)的內(nèi)容可涉及(理論)、結(jié)構(gòu)、(方法)、(工具)、環(huán)境、管理、規(guī)范等。2.軟件生存周期一般可分為問題定義、(可行性研究)、(需求分析)、設(shè)計(jì)、(編碼)、測(cè)試、運(yùn)營(yíng)與維護(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.螺旋模型是運(yùn)用笛卡爾坐標(biāo)的四個(gè)象限上分別代表四個(gè)方面的活動(dòng)來表達(dá)。(√)3.原型模型合用于嵌入式軟件。(╳)4.面向?qū)ο蠹夹g(shù)是構(gòu)件組裝模型的基礎(chǔ)。(√)5.在可行性研究中最難決斷和最關(guān)鍵的問題是經(jīng)濟(jì)可行性。(╳)6.系統(tǒng)流程圖表達(dá)的是部件的信息流程,還表達(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)于瀑布模型的描述對(duì)的的是(C)。A.瀑布模型的核心是按照軟件開發(fā)的時(shí)間順序?qū)栴}簡(jiǎn)化。B.瀑布模型具有良好的靈活性。C.瀑布模型采用結(jié)構(gòu)化的分析與設(shè)計(jì)方法,將邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)分開。D.運(yùn)用瀑布模型,假如發(fā)現(xiàn)問題修改的代價(jià)很低。四、簡(jiǎn)答題1.軟件的定義與特點(diǎn)。參考答案:軟件是計(jì)算機(jī)系統(tǒng)中與硬件互相依存的另一部分,它是涉及程序,數(shù)據(jù)結(jié)構(gòu)及其相關(guān)文檔的完整集合。它涉及三個(gè)方面的內(nèi)容:⑴程序:在運(yùn)營(yíng)時(shí),能提供所希望的功能和性能的指令集。⑵數(shù)據(jù)結(jié)構(gòu):使程序可以對(duì)的運(yùn)營(yíng)的數(shù)據(jù)結(jié)構(gòu)。⑶文檔:描述程序研制過程、方法及使用的圖文材料。軟件產(chǎn)品具有以下一些特性:①軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,因而它具有抽象性。②軟件是通過人們的智力活動(dòng),把知識(shí)與技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品,是在研制、開發(fā)中被發(fā)明出來的。③在軟件的運(yùn)營(yíng)和使用期間,沒有硬件那樣的機(jī)械磨損、老化問題。④軟件的開發(fā)和運(yùn)營(yíng)經(jīng)常受到計(jì)算機(jī)系統(tǒng)的限制,對(duì)計(jì)算機(jī)系統(tǒng)有著不同限度的依賴性。⑤軟件的開發(fā)至今尚未完全擺脫手工的開發(fā)方式。⑥軟件的開發(fā)費(fèi)用越來越高,成本相稱昂貴。也可概括為:⑴抽象性:邏輯實(shí)體,可記錄,但看不到。⑵可復(fù)制性:與開發(fā)成本相比,復(fù)制成本很低。⑶無折舊。⑷受硬件制約。⑸未完全擺脫手工工藝。⑹開發(fā)費(fèi)用高。2.什么是軟件工程。參考答案:軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。它采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把通過時(shí)間考驗(yàn)而證明對(duì)的的管理技術(shù)和當(dāng)前可以得到的最佳的技術(shù)方法結(jié)合起來開發(fā)和維護(hù)軟件。軟件工程是從管理和技術(shù)兩個(gè)方面研究如何運(yùn)用工程學(xué)的基本原理和方法來更好地開發(fā)和維護(hù)計(jì)算機(jī)軟件的一門學(xué)科。3.什么是軟件生存周期。參考答案:一個(gè)軟件從定義到開發(fā)、使用和維護(hù),直到最終被棄用,要經(jīng)歷一個(gè)漫長(zhǎng)的時(shí)期,通常把軟件經(jīng)歷的這個(gè)漫長(zhǎng)的時(shí)期稱為生存周期。軟件生存周期一般可分為以下階段:問題定義需求分析與可行性研究設(shè)計(jì)編碼測(cè)試運(yùn)營(yíng)與維護(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.簡(jiǎn)述可行性研究的任務(wù)。參考答案:可行性研究的目的:就是用最小的代價(jià)在盡也許短的時(shí)間內(nèi)擬定問題是否可以解決,是否有必要去解決??尚行匝芯康哪康牟皇墙鉀Q問題,而是擬定問題是否值得去解決。研究在當(dāng)前的具體條件下,開發(fā)新系統(tǒng)是否具有必要的資源和其它條件。可行性研究是要進(jìn)行一次壓縮簡(jiǎn)化了的系統(tǒng)分析和設(shè)計(jì)的過程,也就是說在較高層次上以較抽象的方式進(jìn)行設(shè)計(jì)的過程。6.簡(jiǎn)述可行性研究的環(huán)節(jié)。參考答案:1.復(fù)查系統(tǒng)規(guī)模和目的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.簡(jiǎn)述系統(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.可運(yùn)用系統(tǒng)流程圖來分析業(yè)務(wù)流程的合理性?!盾浖こ獭沸纬尚钥己舜鸢傅谌?、四章一、填空題需求分析的基本任務(wù)是準(zhǔn)確的回答(系統(tǒng)必須做什么)。需求分析階段研究的對(duì)象是軟件項(xiàng)目的(用戶規(guī)定)。結(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ǔ)文獻(xiàn))。數(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)具體的實(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)當(dā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ì)于下列偽碼,畫出改善的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)當(dā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)當(dāng)涉及(ABC)。數(shù)據(jù)流圖數(shù)據(jù)字典簡(jiǎn)明的算法描述項(xiàng)目的經(jīng)費(fèi)預(yù)算關(guān)于數(shù)據(jù)流圖對(duì)的的描述是(ACD)。數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的重要工具。在數(shù)據(jù)流圖中,*號(hào)標(biāo)記相鄰的數(shù)據(jù)流只取其一。加工是以數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)內(nèi)容作為加工對(duì)象的。數(shù)據(jù)流圖的主圖中必須涉及所有四種基本元素。關(guān)于數(shù)據(jù)字典對(duì)的的描述是(ABCD)。數(shù)據(jù)字典最重要的用途是作為分析階段的工具。實(shí)現(xiàn)數(shù)據(jù)字典三種常見的方法有全人工過程、全自動(dòng)過程、混合過程。數(shù)據(jù)字典應(yīng)當(dāng)容易更新和修改。可以采用卡片形式書寫數(shù)據(jù)字典。(ABCD)可以作為模塊。過程子程序函數(shù)宏下列關(guān)于模塊的描述,對(duì)的的是(ABCD)。具有獨(dú)立的模塊軟件比較容易開發(fā)出來。獨(dú)立的模塊比較容易測(cè)試和維護(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ì)上的文獻(xiàn)。下列(AD)屬于內(nèi)容耦合。一個(gè)模塊有多個(gè)入口。兩個(gè)模塊彼此之間只通過傳遞參數(shù)互換信息。兩個(gè)模塊之間存在全程變量,并通過全程變量傳遞信息。兩個(gè)模塊有部分代碼重疊。在軟件設(shè)計(jì)中,(CD)耦合應(yīng)盡量避免??刂茢?shù)據(jù)內(nèi)容標(biāo)記四、簡(jiǎn)答題需求分析的任務(wù)是什么?參考答案:見書31頁如何建立目的系統(tǒng)的邏輯模型?參考答案:在理解當(dāng)前系統(tǒng)“如何做”的基礎(chǔ)上,抽取其“做什么”的本質(zhì)。在物理模型中有許多物理因素,但隨著分析工作的進(jìn)一步,有些非本質(zhì)因素就顯得不必要了,因而需要對(duì)物理模型進(jìn)行分析,區(qū)分本質(zhì)和非本質(zhì)因素,去掉那些非本質(zhì)因素就可獲得反映系統(tǒng)本質(zhì)的邏輯模型。做法是:⑴擬定目的系統(tǒng)與當(dāng)前系統(tǒng)的邏輯差別;⑵將變化部分看作是新的解決環(huán)節(jié),對(duì)功能圖及對(duì)象圖進(jìn)行調(diào)整;⑶由外及里對(duì)變化的部分進(jìn)行分析,推斷其結(jié)構(gòu),獲得目的系統(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ù)解決類型軟件的需求描述。其核心思想是分解化簡(jiǎn)問題,將物理與邏輯表達(dá)分開,對(duì)系統(tǒng)進(jìn)行數(shù)據(jù)與邏輯的抽象。結(jié)構(gòu)化分析方法體現(xiàn)在用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能規(guī)定的所有可實(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ù)概述目的;運(yùn)營(yíng)環(huán)境;條件與限制。3.?dāng)?shù)據(jù)描述靜態(tài)數(shù)據(jù);動(dòng)態(tài)數(shù)據(jù)(涉及輸入數(shù)據(jù)和輸出數(shù)據(jù));數(shù)據(jù)庫(kù)描述(給出使用數(shù)據(jù)庫(kù)的名稱和類型);數(shù)據(jù)詞典;數(shù)據(jù)采集。4.功能規(guī)定功能劃分;功能描述。5.性能需求數(shù)據(jù)精確度;時(shí)間特性(如響應(yīng)時(shí)間、更新解決時(shí)間、數(shù)據(jù)轉(zhuǎn)換與傳輸時(shí)間、運(yùn)營(yíng)時(shí)間等);適應(yīng)性(在操作方式、運(yùn)營(yíng)環(huán)境、與其他軟件的接口以及開發(fā)計(jì)劃等發(fā)生變化時(shí),應(yīng)具有的適應(yīng)能力。)6.運(yùn)營(yíng)需求用戶界面(如屏幕格式、報(bào)表格式、菜單格式、輸入輸出時(shí)間等);硬件接口;軟件接口;故障解決。7.其他規(guī)定如可使用性、安全保密、可維護(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è)加工的邏輯規(guī)定,即加工的輸入數(shù)據(jù)流與輸出數(shù)據(jù)流之間的邏輯關(guān)系。加工邏輯重要是說明加工做什么,而不是描述具體的加工過程,如采用哪些加工單元、如何控制執(zhí)行等實(shí)現(xiàn)細(xì)節(jié)。根據(jù)下列描述,畫出教材征訂系統(tǒng)的第一層數(shù)據(jù)流圖。學(xué)生入學(xué)后到教材科訂書,教材科根據(jù)教材庫(kù)存情況分析是否需要買書,如需購(gòu)買,則向書店購(gòu)買。各種資金往來通過學(xué)校的會(huì)計(jì)科辦理。參考答案:結(jié)構(gòu)化設(shè)計(jì)方法的基本思想是什么?它如何與SA方法相銜接?參考答案:結(jié)構(gòu)化設(shè)計(jì)方法的基本思想是SA是結(jié)構(gòu)化分析方法的簡(jiǎn)稱。結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法。其核心思想是分解化簡(jiǎn)問題,將物理與邏輯表達(dá)分開,對(duì)系統(tǒng)進(jìn)行數(shù)據(jù)與邏輯的抽象。結(jié)構(gòu)化分析方法體現(xiàn)在用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能規(guī)定的所有可實(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圖表達(dá)的系統(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ù)流圖表達(dá)的信息轉(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ù)庫(kù)性數(shù)據(jù)庫(kù)設(shè)計(jì)事務(wù)框圖分層/細(xì)化事務(wù)模型什么是模塊、模塊化?參考答案:模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,模塊可以單獨(dú)被命名的并且可通過名字來訪問,例如,過程、函數(shù)、子程序、宏等等都可作為模塊。模塊化就是把程序劃提成若干個(gè)模塊,每個(gè)模塊具有一個(gè)子功能,把這些模塊集總起來組成一個(gè)整體,可以完畢指定的功能,實(shí)現(xiàn)問題的規(guī)定。模塊化設(shè)計(jì)這一概念取消。說明并比較概要設(shè)計(jì)說明書與需求分析說明書的內(nèi)容。參考答案:P54P98(1)兩個(gè)說明書都涉及引言,內(nèi)容基本相同;(2)任務(wù)概述部分概要設(shè)計(jì)說明比需求說明增長(zhǎng)了需求概述;(3)需求說明重要通過靜態(tài)、動(dòng)態(tài)數(shù)據(jù),數(shù)據(jù)庫(kù)描述,數(shù)據(jù)字典和數(shù)據(jù)采集等內(nèi)容進(jìn)行數(shù)據(jù)描述;(4)需求說明中的重要部分是功能規(guī)定、性能規(guī)定、運(yùn)營(yíng)需求以及其他規(guī)定,它的目的是全面地、精確地描述了系統(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)營(yíng)、犯錯(cuò)、安全、維護(hù)進(jìn)行具體設(shè)計(jì),它的目的是描述系統(tǒng)“如何做”,往往包含了各模塊的解決說明和接口說明以及系統(tǒng)結(jié)構(gòu)圖。(6)概要設(shè)計(jì)說明是建立在需求說明的基礎(chǔ)上的。用Jackson圖表達(dá)下圖所示的二維表格:學(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)當(dāng)是C,而不是B;3、子圖的輸出數(shù)據(jù)流應(yīng)當(dāng)只有D和E,而不應(yīng)有F?!盾浖こ獭沸纬尚钥己舜鸢傅谖?、六章一、填空題具體設(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ū)ο蠓椒ㄔ?軟件工程)領(lǐng)域的全面應(yīng)用。UML的定義涉及(UML語義)和(UML表達(dá)法)兩個(gè)部分。二、判斷題具體設(shè)計(jì)是在概要設(shè)計(jì)之后進(jìn)行的。它運(yùn)用概要設(shè)計(jì)的結(jié)果,對(duì)系統(tǒng)中的每個(gè)模塊給出足夠的過程性描述。(√)程序設(shè)計(jì)語言中應(yīng)絕對(duì)嚴(yán)禁使用GOTO語句。(╳)PAD圖在設(shè)立了五種基本的控制結(jié)構(gòu)后,還允許遞歸調(diào)用。(√)UML設(shè)定的目的之一是運(yùn)用面向?qū)ο蟾拍顏順?gòu)造系統(tǒng)模型。(√)類是關(guān)于對(duì)象性質(zhì)的描述,由方法和數(shù)據(jù)集成。(√)三、簡(jiǎn)答題具體設(shè)計(jì)的任務(wù)是什么?參考答案:1.為每個(gè)模塊擬定采用的算法,選擇某種適當(dāng)?shù)墓ぞ弑磉_(dá)算法的過程,寫出模塊的具體過程性描述;2.?dāng)M定每一模塊使用的數(shù)據(jù)結(jié)構(gòu);3.?dāng)M定模塊接口的細(xì)節(jié),涉及對(duì)系統(tǒng)外部的接口和用戶界面,對(duì)系統(tǒng)內(nèi)部其它模塊的接口,以及模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的所有細(xì)節(jié)。4.要為每一個(gè)模塊設(shè)計(jì)出一組測(cè)試用例,以便在編碼階段對(duì)模塊代碼(即程序)進(jìn)行預(yù)定的測(cè)試,模塊的測(cè)試用例是軟件測(cè)試計(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;STO(shè)P參考答案:
=1A=1AP=2BP=2B=3C=3C簡(jiǎn)述什么是“對(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.軟件測(cè)試的方法有(分析方法)和(非分析方法)又稱黑盒法。4.實(shí)現(xiàn)容錯(cuò)的重要手段是(冗余)和(防錯(cuò)程序設(shè)計(jì))。5.軟件測(cè)試的配置重要涉及(測(cè)試計(jì)劃)、(測(cè)試用例)和測(cè)試程序等。6.軟件測(cè)試的環(huán)節(jié)重要涉及(單元測(cè)試)、集成測(cè)試、確認(rèn)測(cè)試和(系統(tǒng)測(cè)試)。二、判斷題1.獨(dú)立編譯是指將一個(gè)大程序的不同程序單元分別編譯,然后重新連接整個(gè)程序段。(√)2.為保證程序的安全,必須做到程序中沒有任何錯(cuò)誤存在,即容錯(cuò)。(╳)3.假如把軟件開發(fā)所需的資源畫成一個(gè)金字塔,人是最基本的資源。(√)4.軟件測(cè)試只對(duì)軟件的編碼進(jìn)行查錯(cuò)和糾錯(cuò)工作,不需對(duì)軟件計(jì)劃和軟件設(shè)計(jì)進(jìn)行查錯(cuò)。(╳)5.軟件測(cè)試的目的是為了證明一個(gè)軟件的設(shè)計(jì)沒有錯(cuò)誤,只有沒有任何錯(cuò)誤的軟件才干使用。(╳)6.在進(jìn)行軟件測(cè)試之前,一方面應(yīng)當(dāng)假設(shè)軟件是沒有錯(cuò)誤的。(╳)7.軟件測(cè)試中,應(yīng)當(dāng)盡量窮盡所有的數(shù)據(jù),以便保證測(cè)試的質(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.棧的深度是否對(duì)的4.軟件測(cè)試重要涉及(ABC)方面的差錯(cuò)和糾錯(cuò)。A.軟件計(jì)劃B.軟件設(shè)計(jì)C.軟件編碼D.軟件價(jià)格5.軟件維護(hù)的環(huán)節(jié)重要涉及(ABC)。A.分析和理解程序B.修改程序C.重新驗(yàn)證程序D.維護(hù)組織四、簡(jiǎn)答題1.什么是編碼風(fēng)格?為什么要強(qiáng)調(diào)編碼風(fēng)格?參考答案:編碼風(fēng)格又稱程序設(shè)計(jì)風(fēng)格或編程風(fēng)格。編碼的目的從強(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)記符(變量和標(biāo)號(hào))的名字、安排注釋以及程序的視覺組織等。在編寫程序時(shí),要注意數(shù)據(jù)說明的風(fēng)格。為了數(shù)據(jù)說明便于理解和維護(hù),必須注意下述幾點(diǎn)。1.?dāng)?shù)據(jù)說明的順序應(yīng)規(guī)范。進(jìn)而有助于測(cè)試,排錯(cuò)和維護(hù)。2.說明的先后順序固定。例如,按常量說明、簡(jiǎn)樸變量類型說明、數(shù)組說明、公用數(shù)據(jù)塊說明、所有的文獻(xiàn)說明的順序說明。在類型說明中還可進(jìn)一步規(guī)定。例如,可按如下順序排列:整型量說明、實(shí)型量說明、字符量說明、邏輯量說明。3.當(dāng)用一個(gè)語句說明多個(gè)變量名時(shí),應(yīng)當(dāng)對(duì)這些變量按字母的順序排列。4.對(duì)于復(fù)雜數(shù)據(jù)結(jié)構(gòu),應(yīng)運(yùn)用注釋說明實(shí)現(xiàn)這個(gè)數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)。在設(shè)計(jì)階段擬定軟件的邏輯結(jié)構(gòu),但編碼階段的任務(wù)是構(gòu)造單個(gè)語句。構(gòu)造的語句要簡(jiǎn)樸、直接,不要為了提高效率而使語句更為復(fù)雜。1.使用標(biāo)準(zhǔn)的控制結(jié)構(gòu)2.盡也許使用庫(kù)函數(shù)3.一方面應(yīng)當(dāng)考慮可讀性4.注意GOTO(shè)語句的使用5.其他須注意的問題(1)避免使用ELSEGOTO和ELSERETURN結(jié)構(gòu)。(2)避免過多的循環(huán)嵌套和條件嵌套;(3)數(shù)據(jù)結(jié)構(gòu)要有助于程序的簡(jiǎn)化。(4)要模塊化,使模塊功能盡也許單一化,模塊間的耦合可以清楚可見。(5)對(duì)遞歸定義的數(shù)據(jù)結(jié)構(gòu)盡量使用遞歸過程。(6)不要修補(bǔ)不好的程序,要重新編寫,也不要一味地追求代碼的復(fù)用,要重新組織。(7)運(yùn)用信息隱蔽,保證每一個(gè)模塊的獨(dú)立性。(8)對(duì)太大的程序,要分塊編寫、測(cè)試,然后再集成。(9)注意計(jì)算機(jī)浮點(diǎn)數(shù)運(yùn)算的特點(diǎn)。尾數(shù)位數(shù)一定,則浮點(diǎn)數(shù)的精度受到限制。(10)避免不恰本地追求程序效率,在改善效率前,要作出有關(guān)效率的定量估計(jì)。(11)保證所有變量在使用前都進(jìn)行初始化。(12)遵循國(guó)家標(biāo)準(zhǔn)。輸入/輸出信息是與用戶的使用直接相關(guān)的。輸入/輸出的方式和格式應(yīng)當(dāng)盡量作到對(duì)用戶和諧,盡也許方便用戶的使用。一定要避免因設(shè)計(jì)不妥給用戶帶來的麻煩。這就規(guī)定,源程序的輸入/輸出風(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ì)量反映在哪些方面?參考答案:軟件質(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.什么是黑盒測(cè)試法?什么是白盒測(cè)試法?參考答案:黑盒測(cè)試法把程序當(dāng)作一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和解決過程。黑盒測(cè)試是在程序接口進(jìn)行的測(cè)試,它只檢查程
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- app 驗(yàn)收 合同范例
- 樓頂鋪設(shè)維修合同范例
- 加盟公司合同范例
- 個(gè)人借款要寫合同范例
- 土方渣土回收合同范例
- 合作活動(dòng)合同范例
- 最借貸合同范例
- 土地蔬菜租賃合同范例
- 賓館員工合同范例
- 學(xué)校外包維護(hù)合同范例
- 經(jīng)纖維支氣管鏡氣管插管
- 初中英語??几腻e(cuò)練習(xí)題(共十八類100題附參考答案-解析)
- 爐膛熱力計(jì)算
- 深圳高鐵總部項(xiàng)目遴選方案
- AQ-C1-19 安全教育記錄表(三級(jí))
- 營(yíng)銷中心物業(yè)服務(wù)標(biāo)準(zhǔn)講解
- 五年級(jí)閱讀指導(dǎo)課(課堂PPT)
- 廣東飼料項(xiàng)目建議書(參考范文)
- 液堿濃度、密度對(duì)照表
- MODBUS通訊協(xié)議編程(VB源代碼)
- 焊工證項(xiàng)目新舊對(duì)照表
評(píng)論
0/150
提交評(píng)論