《軟件工程學(xué)》作業(yè)_第1頁
《軟件工程學(xué)》作業(yè)_第2頁
《軟件工程學(xué)》作業(yè)_第3頁
《軟件工程學(xué)》作業(yè)_第4頁
《軟件工程學(xué)》作業(yè)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程學(xué)作業(yè)一、簡答題1、需求分析的任務(wù) 答:需求分析的任務(wù)主要包括以下幾項: 確定目標(biāo)系統(tǒng)的綜合要求,其中包括 (目標(biāo)系統(tǒng)的功能、性能、運行的環(huán)境及擴展性要求); 分析目標(biāo)系統(tǒng)的數(shù)據(jù)要求,其中包括(系統(tǒng)平臺需要哪些數(shù)據(jù)?數(shù)據(jù)間有什么關(guān)系?數(shù) 據(jù)數(shù)據(jù)及數(shù)據(jù)結(jié)構(gòu)?對數(shù)據(jù)的處理邏輯關(guān)系等) 導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型 修正系統(tǒng)流程圖 修正系統(tǒng)開發(fā)計劃 開發(fā)原型系統(tǒng) 2、模塊設(shè)計準(zhǔn)則 答:1、改進軟件結(jié)構(gòu)提高模塊獨立性(低耦合高內(nèi)聚) 2、模塊規(guī)模要適中 3、深度、寬度、扇入及扇出要適當(dāng) 4、設(shè)計單入口單出口的模塊 5、模塊功能應(yīng)該可以預(yù)測 6、降低接口的復(fù)雜性 7、模塊的作用域應(yīng)該在控制域之內(nèi) 3、

2、軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題,具體表現(xiàn)在哪些方面?答:1、無法開發(fā)復(fù)雜程度高的軟件2、成本和進度估計不準(zhǔn) 3、無統(tǒng)一科學(xué)的規(guī)范,軟件不可維護 4、無質(zhì)量保證,可靠性差 5、軟件常不能滿足用戶的需求 6、無適當(dāng)?shù)奈臋n資料 7、軟件生產(chǎn)率太低4、總體設(shè)計的任務(wù) 二、選擇題 1、從下列關(guān)于結(jié)構(gòu)化程序設(shè)計的敘述中選出5條正確的敘述。 程序設(shè)計比較方便,但比較難以維護。 便于由多個人分工編制大型程序。 軟件的功能便于擴充。 程序易于理解,也便于排錯。 在主存儲器能夠容納得下的前提下,應(yīng)使模塊盡可能大,以便減少模塊的個數(shù)。 模塊之間的接口叫做數(shù)據(jù)文件。 只要模塊之間的接

3、口關(guān)系不變,各模塊內(nèi)部實現(xiàn)細節(jié)的修改將不會影響別的模塊。 模塊間的單向調(diào)用關(guān)系叫做模塊的層次結(jié)構(gòu)。 模塊越小,模塊化的優(yōu)點越明顯。一般來說,模塊的大小都在10行以下。答:正確的敘述有、。如果程序結(jié)構(gòu)的模塊化滿足評價的標(biāo)準(zhǔn)(高內(nèi)聚、低耦合),這樣的結(jié)構(gòu)是容易維護的,程序的功能也容易測試,容易理解、容易修改、容易維護的,程序的功能也容易擴充。特別適合于大型程序編制時,多人分工全中作,協(xié)同完成任務(wù)的情形。因為是采用自頂向下、逐層分解來劃分解模塊結(jié)構(gòu)的,所以模塊之間的調(diào)用關(guān)系是分層次的模塊結(jié)構(gòu),就叫做模塊的層次結(jié)構(gòu)。模塊之間的信息傳遞叫做模塊的接口,模塊之間傳遞信息可以通過參數(shù)表、全局變量或全局?jǐn)?shù)據(jù)結(jié)

4、構(gòu)、數(shù)據(jù)文件、專門模塊太大,控制路徑數(shù)目多、涉及的范圍廣、變量的 數(shù)目多、總體復(fù)雜性高,可理解性、可修改性、可靠性就會變差。模塊太小,模塊個數(shù)增多,調(diào)用的系統(tǒng)開銷就會增大。所以要有一個權(quán)衡2、原型化方法是用戶和軟件開發(fā)人員之間進行的一種交互過程,適用于(A)系統(tǒng)。它從用戶界面的開發(fā)入手,首先形成(B),用戶(C),并就(D)提出意見,它是一種(E)型的設(shè)計過程。供選擇的答案:A: 需求不確定性高的 需求確定的管理信息 決策支持B: 用戶界面使用手冊 用戶界面需求分析說明書系統(tǒng)界面原則 完善的用戶界面C: 改進用戶界面的設(shè)計 閱讀文檔資料模擬用戶界面的運行 運行用戶界面原型D: 同意什么和不同意

5、什么 使用和不使用哪一種編程語言程序的結(jié)構(gòu) 執(zhí)行速度是否滿足要求E :自外向內(nèi) 自頂向下自內(nèi)向外 自底向上答:A. B. ; C. ; D. ; E. 3、供選擇的答案中選出正確的答案填入下列敘述中的( )內(nèi)。模塊內(nèi)聚性用于衡量模塊內(nèi)部各成分之間彼此結(jié)合的緊密程度。(1)一組語句在程序中多處出現(xiàn),為了節(jié)省內(nèi)存空間把這些語句放在一個模塊中,該模塊的內(nèi)聚性是(A)的。(2)將幾個邏輯上相似的成分放在同一個模塊中,通過模塊入口處的一個判斷決定執(zhí)行哪一個功能,該模塊的內(nèi)聚性是(B)的。(3)模塊中所有成分引用共同的數(shù)據(jù),該模塊的內(nèi)聚性是(C)。(4)模塊內(nèi)的某成分的輸出是另一些成分的輸入,該模塊的內(nèi)聚

6、性是(D)的。(5)模塊中所有成分結(jié)合起來完成一項任務(wù),該模塊的內(nèi)聚性是(E)的。它具有簡明的外部界面,由它構(gòu)成的軟件易于理解、測試和維護。供選擇的答案:AE: 功能內(nèi)聚 信息內(nèi)聚 通信內(nèi)聚 過程內(nèi)聚 偶然內(nèi)聚 時間內(nèi)聚 邏輯內(nèi)聚答:A.偶然內(nèi)聚; B.邏輯內(nèi)聚;C.通信內(nèi)聚; D.過程內(nèi)聚;E.功能內(nèi)聚; 4、從下面關(guān)于程序編制的敘述中,選出3條正確的敘述。 在編制程序之前,首先必須仔細閱讀給定的程序說明書。然后,必須如實地依照說明書編寫程序。說明書中常會有含糊不清或難以理解的地方。程序員在作業(yè)時應(yīng)該對這些地方做出適當(dāng)?shù)慕忉尅?在著手編制程序時,重要的是采用既能使程序正確地按設(shè)計說明書進行處

7、理,又易于找出錯誤的編寫方法。 在編制程序時,重要的是采用既能使程序正確地按設(shè)計說明書進行處理,又易于出錯的編寫方法。 考慮到以后的程序變化,為程序編寫完整的說明書是一項很重要的工作。只要有了完整的程序說明書,既使程序的編寫形式難以讓人看懂也沒有什么關(guān)系。 編制程序時不可缺少的條件是,程序的輸入和輸出數(shù)據(jù)的格式都應(yīng)確定。其他各項規(guī)定都是附帶的。無足輕重。 作為一個好的程序,不僅處理速度要快,而且易讀易修改等也都是重要的條件。為了能得到這樣的程序,不僅要熟悉程序設(shè)計語言的語法,還要注意采用適當(dāng)?shù)囊?guī)格和單純的表現(xiàn)方法,注意使整個程序的結(jié)構(gòu)簡潔。答:、。5、從下列敘述中選出5條符合程序設(shè)計風(fēng)格指導(dǎo)原

8、則的敘述。 嵌套的重數(shù)應(yīng)加以限制。 盡量多使用臨時變量。 不濫用語言特色。 不用可以省略的括號。 使用有意義的變量名。 應(yīng)盡可能把程序編得短些。 把常見的局部優(yōu)化工作留給編譯程序去做。 注解越少越好。 程序的格式應(yīng)有助于讀者理解程序。 應(yīng)盡可能多用GOTO語句。答:、是正確的。 條件語句和循環(huán)語句嵌套得過多會增加程序的復(fù)雜性,從而增加程序的出錯率。 雖然國際上以至國內(nèi)已經(jīng)發(fā)表了編程語言的標(biāo)準(zhǔn),但各個計算機廠商在推出自己的計算機系統(tǒng)的同時,也推出了針對自己機器特色的程序設(shè)計語言的非標(biāo)準(zhǔn)版本,如果利用這些語 言的非標(biāo)準(zhǔn)特性編寫程序,就會給將來程序的移植帶來困難。為了提高程序的可移植性,應(yīng)當(dāng)只使用語

9、言的標(biāo)準(zhǔn)版本,不要濫用語言的非標(biāo)準(zhǔn)特色。 給在程序中使用的變量賦予與實際含義相符的名字,可以提高程序的可讀性,從而提高程序的可維護性。 程序優(yōu)化的工作最好交給編譯程序來做,程序員應(yīng)把主要注意力放在提高程序的可讀性、清晰性、簡潔性、正確性、一致性等方面,從而保證軟件的可靠性和可維護性。 程序的可讀性是至關(guān)重要的,所以程序的格式應(yīng)有助于讀者理解程序6、 測試過程需要3類輸入:(A)、(B)和(C)。請選擇正確的答案填入圖5.21中以完成測試信息處理的全過程。 供選擇答案:AC: 接口選擇 軟件配置 硬件配置 測試配置 測試環(huán)境 測試工具DF: 排錯 可靠性分析 結(jié)果分析 數(shù)據(jù)分類7、由Rumbau

10、gh等人提出的一種面向?qū)ο蠓椒ń凶鰧ο竽P突夹g(shù)(OMT),即三視點技術(shù),它要求把分析時收集的信息建立在下述3個模型中:第一個模型是(A)- 它的作用是描述系統(tǒng)的靜態(tài)結(jié)構(gòu),包括構(gòu)成系統(tǒng)的對象和類、它們的屬性和操作,以及它們這間的聯(lián)系。第二個模型是(B)- 它描述系統(tǒng)的控制邏輯,主要涉及系統(tǒng)中各個對象和類的時序及變化狀況。(B)包括兩種圖,即(C)和(D)。(C)描述每一類對象的行為,(D)描述發(fā)生于系統(tǒng)執(zhí)行過程中的某一特定場景。第三個模型是(E)- 它著重于描述系統(tǒng)內(nèi)部的數(shù)據(jù)的傳送與處理,它由多個數(shù)據(jù)流組成。供你選擇的答案如下:A,B,E: 數(shù)據(jù)模型 功能模型 行為模型 信息模型 原型 動態(tài)模

11、型 對象模型 邏輯模型 控制模型 仿真模型C,D: 對象圖 概念模型圖 狀態(tài)遷移圖 數(shù)據(jù)流程圖 時序圖 事件追蹤圖 控制流程圖 邏輯模擬圖 仿真圖 行為圖8、軟件維護是軟件生存期的最后一個階段。軟件工程學(xué)針對維護工作的主要目標(biāo)是提高(A),降低(B)。軟件的(C)、(D)、(E)是決定軟件可維護性的基本因素。軟件生存期(F)的工作與軟件可維護性有密切的關(guān)系。供選擇的答案:A、B: 軟件的生產(chǎn)率 文檔 軟件的可靠性 軟件的可維護性 維護的代價 維護的效率 C、D、E: 可測試性 互操作性 可理解性 可修改性 可復(fù)用性 可管理性F: 編碼階段 設(shè)計階段 測試階段 每個階段9、從下列敘述中選出5條與

12、提高軟件的可移植性有關(guān)的敘述。 把程序中與計算機硬件特性有關(guān)的部分集成在一起。 選擇時間效率和空間效率高的算法。 使用結(jié)構(gòu)化的程序設(shè)計方法。 盡量用高級語言編寫程序中對效率要求不高的部分。 盡可能減少注釋。 采用表格控制方式。 文檔資料詳盡、正確。 在有虛擬存儲器的計算機系統(tǒng)上開發(fā)軟件。 減少程序中對文件的讀寫次數(shù)。 充分利用宿主計算機的硬件特性。10、下面有關(guān)軟件維護的敘述有些是不正確的,請將它們列舉出來。供選擇的答案: 要維護一個軟件,必須先理解這個軟件。 閱讀別人寫的程序并不困難。 如果文檔不齊全也可以維護一個軟件。 誰編寫軟件就應(yīng)由誰來維護這個軟件。 設(shè)計軟件時就就考慮到將來的可修改性

13、。 維護軟件是一件很吸引人的創(chuàng)造性工作。 維護軟件就是改正軟件中的錯誤。 維護好一個軟件是一件很難的事件。三、論述題1. 論述瀑布模型軟件開發(fā)方法的基本過程。2. 面向?qū)ο筌浖_發(fā)方法與傳統(tǒng)的面向數(shù)據(jù)流的結(jié)構(gòu)化軟件開發(fā)方法有什么不同?使用面向?qū)ο箝_發(fā)方法的優(yōu)點是什么? 3. 為什么軟件需要維護?維護有哪幾種類型?簡述它們的維護過程。4. 改錯性維護與“排錯”是否是一回事?為什么?5. 軟件復(fù)雜性有哪幾類?軟件復(fù)雜性度量模型應(yīng)遵循哪些則?6. 簡述結(jié)構(gòu)化方法中軟件工程的分析模型和設(shè)計模型,描述從分析模型到設(shè)計模型的信息流。7. 簡述面向?qū)ο驩MT方法的分析模型,描述面向?qū)ο蠓治龅拇篌w過程。8.

14、軟件配置管理的任務(wù)是什么?描述作為基線的軟件配置項(SCI)的修改過程模型。9. 簡述軟件工程的三個要素:方法、工具和過程。四、設(shè)被測試的程序段為: begin S1; if (x=0) and ( y2 ) then S2; else If ( x 1 ) or ( y=1 ) then S3; S4;end可供選擇的測試數(shù)據(jù)組為: Xy0312-1231找出實現(xiàn) (1)條件覆蓋 (2)路徑覆蓋要至少采用的數(shù)據(jù)組。五、考務(wù)處理系統(tǒng)有如下功能: 對考生送來的報名表進行檢查。 對合格的報名表編好準(zhǔn)考證號碼后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站。 對閱卷站送來的成績表進行檢查,并根據(jù)考

15、試中心指定的合格標(biāo)準(zhǔn)審定合格者。 填寫考生通知單(內(nèi)容包含考試成績和合格/不合格標(biāo)志),送給考生。 按地區(qū)、年齡、文化程度、職業(yè)、考試級別等進行成績分類統(tǒng)計和試題難度分析,產(chǎn)生統(tǒng)計分析表。問題:按上述功能需求設(shè)計系統(tǒng)的數(shù)據(jù)流程圖。六、圖4.9是兩個程序流程圖,試分別用NS圖和PAD表示,并計算它們的McCabe復(fù)雜性度量。七、給出下面結(jié)構(gòu)化程序流程圖,請畫出對應(yīng)的N-S圖。八、如圖5.8(a)所示的程序有4條不同的路徑。分別表示為L1(ace)、L2(abd)、L3(abe)和L4(acd),或簡寫成ace、abd、abe、及acd。由于覆蓋測試的目標(biāo)不同,邏輯覆蓋方法可以分為語句覆蓋、判定覆

16、蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋和路徑覆蓋。從備選的答案中選擇適當(dāng)?shù)臏y試用例與之匹配:(A) 屬于語句覆蓋;(B)、(C)屬于判定覆蓋;(D)、(E)屬于條件覆蓋;(F)、(G)屬于判定條件覆蓋;(H)屬于條件組合覆蓋;(I)屬于路徑覆蓋。供選擇的答案:AI: 【(2,0,4),(2,0,3)】覆蓋ace;【(1,1,1),(1,1,1)】覆蓋abd; 【(1,0,3),(1,0,4)】覆蓋abe;【(2,1,1),(2,1,2)】覆蓋abe; 【(2,0,4),(2,0,3)】覆蓋ace; 【(2,1,1),(2,1,2)】覆蓋abe;【(3,0,3),(3,1,1)】覆蓋acd;

17、【(2,0,4),(2,0,3)】覆蓋ace;【(1,0,1),(1,0,1)】覆蓋abd;【(2,1,1),(2,1,2)】覆蓋abe; 【(2,0,4),(2,0,3)】覆蓋ace;【(1,1,1),(1,1,1)】覆蓋abd; 【(3,0,3),(3,0,1)】覆蓋acd; 【(2,0,4),(2,0,3)】覆蓋ace【(1,1,1),(1,1,1)】覆蓋abd;【(1,0,3),(1,0,4)】覆蓋abe; 【(2,1,1),(2,1,2)】覆蓋abe;九、下面是選擇排序的程序,其中datalist是數(shù)據(jù)表。它有兩個數(shù)據(jù)成員。一是元素類型成Element的數(shù)組V,另一個是數(shù)組大小n。算法中用到兩個操作,一是取某數(shù)組元素Vi的關(guān)鍵碼操作getKey( ),一是交換兩數(shù)組元素內(nèi)容的操作Swap( ):void SelectSort (datalist & list)/對表list.V0到listn-1進行排序,n是表當(dāng)前長度for (int i=0;ilist.n-

溫馨提示

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

評論

0/150

提交評論