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

下載本文檔

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

文檔簡(jiǎn)介

1、軟件工程形成性考核答案第一、二章一、填空題1. 軟件工程學(xué)的內(nèi)容可包括(理論)、結(jié)構(gòu)、(方法)、(工具)、環(huán)境、管理、規(guī)范等。2. 軟件生存周期一般可分為問題定義、(可行性研究)、(需求分析)、設(shè)計(jì)、(編碼)、測(cè)試、運(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)

2、的四個(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ū)栴}簡(jiǎn)化。b. 瀑布模型具有良好的靈活性。c.

3、瀑布模型采用結(jié)構(gòu)化的分析與設(shè)計(jì)方法,將邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)分開。d. 利用瀑布模型,如果發(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)行時(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)行和使用期間

4、,沒有硬件那樣的機(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é)的

5、基本原理和方法來更好地開發(fā)和維護(hù)計(jì)算機(jī)軟件的一門學(xué)科。3. 什么是軟件生存周期。參考答案:一個(gè)軟件從定義到開發(fā)、使用和維護(hù),直到最終被棄用,要經(jīng)歷一個(gè)漫長的時(shí)期,通常把軟件經(jīng)歷的這個(gè)漫長的時(shí)期稱為生存周期。軟件生存周期一般可分為以下階段:?jiǎn)栴}定義需求分析與可行性研究設(shè)計(jì)編碼測(cè)試運(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)軟

6、件可維護(hù)性差;(6)軟件開發(fā)文檔資料不完整;(7)軟件的價(jià)格昂貴;5. 簡(jiǎn)述可行性研究的任務(wù)。參考答案:可行性研究的目的:就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決,是否有必要去解決??尚行匝芯康哪康牟皇墙鉀Q問題,而是確定問題是否值得去解決。研究在當(dāng)前的具體條件下,開發(fā)新系統(tǒng)是否具備必要的資源和其它條件??尚行匝芯渴且M(jìn)行一次壓縮簡(jiǎn)化了的系統(tǒng)分析和設(shè)計(jì)的過程,也就是說在較高層次上以較抽象的方式進(jìn)行設(shè)計(jì)的過程。6. 簡(jiǎn)述可行性研究的步驟。參考答案: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、明理由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可利用系統(tǒng)流程圖來分析業(yè)務(wù)流程的合理性。軟件工程形成性考核答案第三、四章一、填空題1.需求分析的基本任務(wù)是準(zhǔn)確的回答(系統(tǒng)必須做什么)。2.需求分析階段研究的對(duì)象是軟件項(xiàng)目的(用戶要求)。3.結(jié)構(gòu)化分析方法就是(面向數(shù)據(jù)流)自頂向下逐步求精進(jìn)行需求分析的方法。需求分析的目的之一就是

8、把數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)定義到(元素級(jí))。4.數(shù)據(jù)流圖的基本符號(hào)包括(數(shù)據(jù)輸入的源點(diǎn)和數(shù)據(jù)輸出的匯點(diǎn))、 (加工)、 (數(shù)據(jù)流)、 (數(shù)據(jù)存儲(chǔ)文件) 。5.數(shù)據(jù)流圖和(數(shù)據(jù)字典)共同構(gòu)成系統(tǒng)的邏輯模型。6.數(shù)據(jù)字典的內(nèi)容包括六項(xiàng):(數(shù)據(jù)流)、 (數(shù)據(jù)項(xiàng))、 (數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體。7.在需求分析階段常用的圖形工具有(層次方框圖)、 (warnier 圖) 、 (ipo 圖) 。8.需求分析應(yīng)交付的主要文檔是(需求規(guī)格說明書)。9.概要設(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)。10.層次結(jié)構(gòu)的上一層是

9、下一層的(抽象),下一層是上一層的(求精)。11.模塊獨(dú)立的概念是(模塊化)、 (抽象)、 (信息隱蔽)和局部化概念的直接結(jié)果。12.模塊耦合的強(qiáng)弱取決于(模塊間接口的復(fù)雜程度)、 (調(diào)用模塊的方式)和通過接口的信息。13.設(shè)計(jì)出軟件的初步結(jié)構(gòu)以后,應(yīng)該進(jìn)一步分解或合并模塊,力求降低(耦合)提高(內(nèi)聚)。14.在一段程序中,將多次出現(xiàn)的一組語句設(shè)計(jì)為一個(gè)子程序,供多個(gè)部分調(diào)用,這種情況出現(xiàn)的內(nèi)聚稱為(偶然內(nèi)聚)。15.一個(gè)模塊直接調(diào)用的模塊數(shù)目稱為模塊的(扇出),一個(gè)模塊被多少上級(jí)模塊直接調(diào)用稱為模塊的(扇入)。16.jsd 是一種典型的(面向數(shù)據(jù)結(jié)構(gòu))的分析設(shè)計(jì)方法。17.jackson圖除

10、了可以表達(dá)(程序結(jié)構(gòu)外)外,還可以表達(dá)數(shù)據(jù)結(jié)構(gòu)。18.對(duì)于下列偽碼,畫出改進(jìn)的jackson圖()a seq b c d a end 二、判斷題1.在軟件開發(fā)中,采用原型系統(tǒng)策略的主要困難是時(shí)間問題。( )2.數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式描述數(shù)據(jù)流從輸入到輸出的傳輸變換過程。( )3.模塊越多,開發(fā)成本越小。( )4.耦合是指一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度。( )5.內(nèi)聚是指一個(gè)軟件結(jié)構(gòu)內(nèi)各個(gè)模塊之間互連程度的度量。( )a b c d 6.在軟件設(shè)計(jì)中應(yīng)該盡量設(shè)計(jì)緊密耦合的系統(tǒng)。( )7.控制耦合往往可以通過分解由數(shù)據(jù)耦合來代替。( )8.內(nèi)容耦合又稱為病態(tài)耦合,在很多

11、高級(jí)程序設(shè)計(jì)語言中不允許出現(xiàn)任何形式的內(nèi)容耦合。( )9.對(duì)于 dfd 圖的劃分,主要依賴設(shè)計(jì)人員的經(jīng)驗(yàn),一切都應(yīng)根據(jù)設(shè)計(jì)人員的經(jīng)驗(yàn)確定。( )10.一筆交易、一個(gè)動(dòng)作、甚至操作人員按一個(gè)按鈕都可以看做是一次事物。( )11.如果一個(gè)模塊內(nèi)的處理元素是彼此相關(guān)的,并且以一個(gè)特定的次序執(zhí)行,則這種內(nèi)聚稱為時(shí)間內(nèi)聚。( )12.概要設(shè)計(jì)階段完成的主要文檔是概要設(shè)計(jì)說明書。( )三、多項(xiàng)選擇題1.需求分析階段結(jié)束后,應(yīng)交出的文檔中應(yīng)該包括(abc ) 。a. 數(shù)據(jù)流圖b. 數(shù)據(jù)字典c. 簡(jiǎn)明的算法描述d. 項(xiàng)目的經(jīng)費(fèi)預(yù)算2.關(guān)于數(shù)據(jù)流圖正確的描述是(acd ) 。a 數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的主要工

12、具。b在數(shù)據(jù)流圖中,*號(hào)標(biāo)識(shí)相鄰的數(shù)據(jù)流只取其一。c加工是以數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)內(nèi)容作為加工對(duì)象的。d 數(shù)據(jù)流圖的主圖中必須包括全部四種基本元素。3.關(guān)于數(shù)據(jù)字典正確的描述是(abcd ) 。a 數(shù)據(jù)字典最重要的用途是作為分析階段的工具。b實(shí)現(xiàn)數(shù)據(jù)字典三種常見的方法有全人工過程、全自動(dòng)過程、混合過程。c數(shù)據(jù)字典應(yīng)該容易更新和修改。d 可以采用卡片形式書寫數(shù)據(jù)字典。4.( abcd )可以作為模塊。a 過程b子程序c函數(shù)d 宏5.下列關(guān)于模塊的描述,正確的是(abcd ) 。a 具有獨(dú)立的模塊軟件比較容易開發(fā)出來。b獨(dú)立的模塊比較容易測(cè)試和維護(hù)。c模塊的獨(dú)立程度可以通過內(nèi)聚和耦合標(biāo)定。d 獨(dú)立的模塊可

13、以完成一個(gè)相對(duì)獨(dú)立的特定子功能。6.耦合的強(qiáng)弱取決于(abc ) 。a 模塊間接口的復(fù)雜程度。b調(diào)用模塊的方式。c通過接口的信息。d 模塊內(nèi)部各個(gè)元素彼此之間的緊密結(jié)合程度。7.在公共環(huán)境耦合中,公共環(huán)境可以是(abcd ) 。a 全程變量。b共享的通信區(qū)。c內(nèi)存的公共覆蓋區(qū)。d 存儲(chǔ)介質(zhì)上的文件。8.下列(ad )屬于內(nèi)容耦合。a 一個(gè)模塊有多個(gè)入口。b兩個(gè)模塊彼此之間只通過傳遞參數(shù)交換信息。c兩個(gè)模塊之間存在全程變量,并通過全程變量傳遞信息。d 兩個(gè)模塊有部分代碼重疊。9.在軟件設(shè)計(jì)中, ( cd)耦合應(yīng)盡量避免。a 控制b數(shù)據(jù)c內(nèi)容d 標(biāo)記四、簡(jiǎn)答題1.需求分析的任務(wù)是什么?參考答案:見

14、書 31 頁2.怎樣建立目標(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)的邏輯模型。3.什么是結(jié)構(gòu)化分析?“結(jié)構(gòu)化”體現(xiàn)在哪里?參考答案:結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法。結(jié)構(gòu)化分析方法使用數(shù)據(jù)流圖dfd 與數(shù)據(jù)字典

15、dd 來描述, 面向數(shù)據(jù)流問題的需求分析適合于數(shù)據(jù)處理類型軟件的需求描述。其核心思想是分解化簡(jiǎn)問題,將物理與邏輯表示分開,對(duì)系統(tǒng)進(jìn)行數(shù)據(jù)與邏輯的抽象。結(jié)構(gòu)化分析方法體現(xiàn)在用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止。4.需求說明書由哪些部分組成?各部分之間的關(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)境;條件與

16、限制。3數(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附錄5.為什么數(shù)據(jù)流圖要分層?參考答案:為了表達(dá)數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,用一個(gè)數(shù)據(jù)流圖是不夠

17、的。為表達(dá)稍為復(fù)雜的實(shí)際問題,需要按照問題的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。6.什么是加工邏輯?參考答案:加工邏輯就是處理邏輯,加工邏輯是對(duì)加工過程的抽象描述。加工邏輯的具體實(shí)現(xiàn)就是加工過程。加工邏輯是指用戶對(duì)這個(gè)加工的邏輯要求,即加工的輸入數(shù)據(jù)流與輸出數(shù)據(jù)流之間的邏輯關(guān)系。加工邏輯主要是說明加工做什么,而不是描述具體的加工過程,如采用哪些加工單元、如何控制執(zhí)行等實(shí)現(xiàn)細(xì)節(jié)。7.根據(jù)下列描述,畫出教材征訂系統(tǒng)的第一層數(shù)據(jù)流圖。學(xué)生入學(xué)后到教材科訂書,教材科根據(jù)教材庫存情況分析是否需要買書,如需購買,則向書店購買。各種資金往來通過學(xué)校的會(huì)計(jì)科辦理。參考答案:8.結(jié)構(gòu)化設(shè)計(jì)

18、方法的基本思想是什么?它如何與sa 方法相銜接?參考答案:結(jié)構(gòu)化設(shè)計(jì)方法的基本思想是sa 是結(jié)構(gòu)化分析方法的簡(jiǎn)稱。結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法。其核心思想是分解化簡(jiǎ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)歷一系列的變

19、換或處理。用來表現(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ù)

20、據(jù)庫性數(shù)據(jù)庫設(shè)計(jì)事務(wù)框圖分層 / 細(xì)化事務(wù)模型9.什么是模塊、模塊化?參考答案:模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,模塊可以單獨(dú)被命名的而且可通過名字來訪問,例如,過程、函數(shù)、子程序、宏等等都可作為模塊。模塊化就是把程序劃分成若干個(gè)模塊,每個(gè)模塊具有一個(gè)子功能,把這些模塊集總起來組成一個(gè)整體,可以完成指定的功能,實(shí)現(xiàn)問題的要求。模塊化設(shè)計(jì)這一概念取消。10.說明并比較概要設(shè)計(jì)說明書與需求分析說明書的內(nèi)容。參考答案:p54 p98 (1)兩個(gè)說明書都包括引言,內(nèi)容基本相同;(2)任務(wù)概述部分概要設(shè)計(jì)說明比需求說明增加了需求概述;(3)需求說明主要通過靜態(tài)、動(dòng)態(tài)數(shù)據(jù),數(shù)據(jù)庫描述,數(shù)據(jù)字典和

21、數(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ǔ)上的。11.用 jackson圖表示下圖所示的二維表格:學(xué)生名冊(cè)姓名性別年齡學(xué)號(hào)該學(xué)生名冊(cè)由表頭和表體兩部分組成。其中表頭又順序包括表名和字段名。表體可由任意行組

22、成,每行包括學(xué)生的姓名、性別、年齡和學(xué)號(hào)。參考答案:12.指出下列數(shù)據(jù)流圖中存在的問題。表頭表體2 32 b f f o 學(xué)生名冊(cè)表頭表體表名字段名行* 姓名性別年齡學(xué)號(hào)父圖子圖參考答案:1、父圖沒有輸入數(shù)據(jù)流;2、子圖的輸入數(shù)據(jù)流應(yīng)該是c,而不是b;3、子圖的輸出數(shù)據(jù)流應(yīng)該只有d 和 e,而不應(yīng)有f。軟件工程形成性考核答案第五、六章一、填空題1.詳細(xì)設(shè)計(jì)的工具有(圖形工具)、表格工具和語言工具。2.為使用流程圖描述結(jié)構(gòu)華程序,限制流程圖有五種基本的控制結(jié)構(gòu)(順序型)、 (選擇型)、 ( while 型循環(huán))、until 循環(huán)、多情況型選擇。3.hipo 圖是由一組( ipo)圖和一張( hc

23、)圖組成。4.ipo 圖由(輸入) 、處理和(輸出)三個(gè)框組成。這個(gè)圖的特點(diǎn)是能夠直觀的顯示三者之間的關(guān)系。5.面向?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ā)方法。6.面向?qū)ο蟮能浖こ谭椒ㄊ敲嫦驅(qū)ο蠓椒ㄔ冢ㄜ浖こ蹋╊I(lǐng)域的全面應(yīng)用。7.uml 的定義包括(uml 語義)和( uml 表示法)兩個(gè)部分。二、判斷題1.詳細(xì)設(shè)計(jì)是在概要設(shè)計(jì)之后進(jìn)行的。它利用概要設(shè)計(jì)的結(jié)果,對(duì)系統(tǒng)中的每個(gè)模塊給出足夠的

24、過程性描述。()2.程序設(shè)計(jì)語言中應(yīng)絕對(duì)禁止使用goto 語句。 ()3.pad 圖在設(shè)置了五種基本的控制結(jié)構(gòu)后,還允許遞歸調(diào)用。()4.uml 設(shè)定的目標(biāo)之一是運(yùn)用面向?qū)ο蟾拍顏順?gòu)造系統(tǒng)模型。()5.類是關(guān)于對(duì)象性質(zhì)的描述,由方法和數(shù)據(jù)集成。()三、簡(jiǎn)答題1.詳細(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ì)出一組測(cè)試用例,以便在編碼階段對(duì)模塊代碼

25、(即程序)進(jìn)行預(yù)定的測(cè)試,模塊的測(cè)試用例是軟件測(cè)試計(jì)劃的重要組成部分,通常應(yīng)包括輸入數(shù)據(jù),期望輸出等內(nèi)容。2.根據(jù)偽碼畫出ns圖。start if a then block b c end block end if 1 3 31 33 34 c e d e d b p q stop 3.根據(jù)偽碼畫出ns圖。start if a then x1 do until b else x2 y end if z stop 參考答案:4.根據(jù)偽碼畫出pad 圖。start switch p case 1:a; break;case 2:b; break;case 3:c; break;default;st

26、op 參考答案:a t f until b x1 x2 y z 5.簡(jiǎn)述什么是“對(duì)象” ,什么是“類” 。參考答案:人們要進(jìn)行研究的任何事物均可看作對(duì)象,例如具體的事物、抽象的規(guī)則、計(jì)劃和事件。類的定義是具有相同屬性和服務(wù)的一組對(duì)象的集合,它為屬于該類的全部對(duì)象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和服務(wù)兩個(gè)主要部分。(類是具有相同屬性、操作、關(guān)系的對(duì)象集合的總稱。) 6.uml 的內(nèi)容包括哪些部分?參考答案:標(biāo)準(zhǔn)建模語言u(píng)ml 的重要內(nèi)容可以由下列五類圖來定義. 用例圖。是靜態(tài)圖。行為圖。交互圖。實(shí)現(xiàn)圖。軟件工程形成性考核答案 第七、八、九章一、填空題1. 軟件(程序)(文檔)。 2. 程序的

27、效率是指程序的執(zhí)行速度和(程序占用的存儲(chǔ)空間)。 3. 軟件測(cè)試的方法有(分析方法)和(非分析方法)又稱黑盒法。 4. 實(shí)現(xiàn)容錯(cuò)的主要手段是(冗余)和(防錯(cuò)程序設(shè)計(jì))。 5. 軟件測(cè)試的配置主要包括(測(cè)試計(jì)劃)、(測(cè)試用例)和測(cè)試程序等。 6. 軟件測(cè)試的步驟主要包括(單元測(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ò)工作,不

28、需對(duì)軟件計(jì)劃和軟件設(shè)計(jì)進(jìn)行查錯(cuò)。( )5. 軟件測(cè)試的目的是為了證明一個(gè)軟件的設(shè)計(jì)沒有錯(cuò)誤,只有沒有任何錯(cuò)誤的軟件才能使用。( )a b c 1 2 3 p 6. 在進(jìn)行軟件測(cè)試之前,首先應(yīng)該假設(shè)軟件是沒有錯(cuò)誤的。( )7. 軟件測(cè)試中,應(yī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ù)

29、說明方法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. 軟件測(cè)試主要包括( abc )方面的差錯(cuò)和糾錯(cuò)。a. 軟件計(jì)劃b. 軟件設(shè)計(jì)c. 軟件編碼d. 軟件價(jià)格5. 軟件維護(hù)的步驟主要包括(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)格。編碼的目標(biāo)從強(qiáng)調(diào)效率轉(zhuǎn)變?yōu)閺?qiáng)調(diào)清晰。良好的編碼風(fēng)格能在一定程度上彌補(bǔ)語言存

30、在的缺陷,而如果不注意風(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)。數(shù)據(jù)說明的次序應(yīng)規(guī)范。進(jìn)而有利于測(cè)試,

31、排錯(cuò)和維護(hù)。說明的先后次序固定。例如,按常量說明、簡(jiǎn)單變量類型說明、數(shù)組說明、公用數(shù)據(jù)塊說明、所有的文件說明的順序說明。在類型說明中還可進(jìn)一步要求。例如,可按如下順序排列:整型量說明、實(shí)型量說明、字符量說明、邏輯量說明。當(dāng)用一個(gè)語句說明多個(gè)變量名時(shí),應(yīng)當(dāng)對(duì)這些變量按字母的順序排列。對(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)造的語句要簡(jiǎn)單、直接,不要為了提高效率而使語句更為復(fù)雜。1使用標(biāo)準(zhǔn)的控制結(jié)構(gòu)2盡可能使用庫函數(shù)3首先應(yīng)當(dāng)考慮可讀性4注意 goto 語句的使用5其他須注意的問題(1)避免使用else goto 和

32、else return 結(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)利用信息隱蔽,確保每一個(gè)模塊的獨(dú)立性。(8)對(duì)太大的程序,要分塊編寫、測(cè)試,然后再集成。(9)注意計(jì)算機(jī)浮點(diǎn)數(shù)運(yùn)算的特點(diǎn)。尾數(shù)位數(shù)一定,則浮點(diǎn)數(shù)的精度受到限制。(10)避免不恰當(dāng)?shù)刈非蟪绦蛐剩诟倪M(jìn)效率前,要作出有關(guān)效率的定量估計(jì)。(11)確保所有變量在使用前都進(jìn)行初始化。(12)遵循國家標(biāo)準(zhǔn)。輸入輸出

33、信息是與用戶的使用直接相關(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)、劣。程序段一:if abthenif xythen b=yelsea=xend ifelsea=bend if程序段二:/ position_x is the position x of object; position_y is the position y of obje

34、ct; /if ab thena=belseif position_xposition_y thenb=position_yelsea=position_xend ifend if參考答案:第二段程序優(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. 什么是黑盒測(cè)試法?什么是白盒測(cè)試法?參考答案:黑盒測(cè)試法把程序看成一個(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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論