軟件工程學2015年下半年第二次作業(yè)_第1頁
軟件工程學2015年下半年第二次作業(yè)_第2頁
軟件工程學2015年下半年第二次作業(yè)_第3頁
軟件工程學2015年下半年第二次作業(yè)_第4頁
軟件工程學2015年下半年第二次作業(yè)_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程學2015年下半年第二次作業(yè)一、簡答題1、模塊設計準則 答:1、改進軟件結構提高模塊獨立性(低耦合高內(nèi)聚)  2、模塊規(guī)模要適中  3、深度、寬度、扇入及扇出要適當  4、設計單入口單出口的模塊  5、模塊功能應該可以預測  6、降低接口的復雜性  7、模塊的作用域應該在控制域之內(nèi) 2、總體設計的任務答:1、設計系統(tǒng)的物理實現(xiàn)方案2、設計軟件的整體結構,劃分程序功能模塊,決定模塊間的接口關系和傳遞信息; 3、設計系統(tǒng)全局的存貯數(shù)據(jù)結構 4、設計系統(tǒng)I/O的方

2、式和格式; 5、設計系統(tǒng)安全性、出錯處理及代碼等 6、設計組裝測試計劃。二、選擇題 1、原型化方法是用戶和軟件開發(fā)人員之間進行的一種交互過程,適用于(A)系統(tǒng)。它從用戶界面的開發(fā)入手,首先形成(B),用戶(C),并就(D)提出意見,它是一種(E)型的設計過程。供選擇的答案:A: 需求不確定性高的 需求確定的管理信息 決策支持B: 用戶界面使用手冊 用戶界面需求分析說明書系統(tǒng)界面原則 完善的用戶界面C: 改進用戶界面的設計 閱讀文檔資料模擬用戶界面的運行 運行用戶界面原型D: 同意什么和不同意什么 使用和不使用哪一種編程語言程序的結構 執(zhí)行速度是否滿足要求E :自外向內(nèi) 自頂向下自內(nèi)向外 自底向

3、上答:A.  B.  C.  D.  E. 2、從下面關于程序編制的敘述中,選出3條正確的敘述。 在編制程序之前,首先必須仔細閱讀給定的程序說明書。然后,必須如實地依照說明書編寫程序。說明書中常會有含糊不清或難以理解的地方。程序員在作業(yè)時應該對這些地方做出適當?shù)慕忉尅?在著手編制程序時,重要的是采用既能使程序正確地按設計說明書進行處理,又易于找出錯誤的編寫方法。 在編制程序時,重要的是采用既能使程序正確地按設計說明書進行處理,又易于出錯的編寫方法。 考慮到以后的程序變化,為程序編寫完整的說明書是一項很重要

4、的工作。只要有了完整的程序說明書,既使程序的編寫形式難以讓人看懂也沒有什么關系。 編制程序時不可缺少的條件是,程序的輸入和輸出數(shù)據(jù)的格式都應確定。其他各項規(guī)定都是附帶的。無足輕重。 作為一個好的程序,不僅處理速度要快,而且易讀易修改等也都是重要的條件。為了能得到這樣的程序,不僅要熟悉程序設計語言的語法,還要注意采用適當?shù)囊?guī)格和單純的表現(xiàn)方法,注意使整個程序的結構簡潔。答:、。 編制程序的過程實際上是根據(jù)設計的結果,用某種機器能夠識別的程序設計語言,將設計翻譯成機器代碼的過程。因此,必須如實地按照設計說明書編寫程序,至于設計說明書中含糊不清的地方,應在編程時分析人員或設人員協(xié)商,對這些地方做出適

5、當?shù)慕忉?。另外,考慮到將來的程序的修改,必須為程序編寫完整的說明書,同時程序必須編寫得容易讓別人看懂,這樣程序才容易修改,修改時不容易出錯,而且容易驗證修改后的結果。還有,編寫程序的人不需重新考慮程序要完成什么功能,這些已經(jīng)在軟件分析與設計過程中充分考慮過了。3、 測試過程需要3類輸入:(A)、(B)和(C)。請選擇正確的答案填入圖5.21中以完成測試信息處理的全過程。 供選擇答案:AC: 接口選擇 軟件配置 硬件配置 測試配置 測試環(huán)境 測試工具DF: 排錯 可靠性分析 結果分析 數(shù)據(jù)分類答: A., B., C., D., E. 

6、F.。4、軟件維護是軟件生存期的最后一個階段。軟件工程學針對維護工作的主要目標是提高(A),降低(B)。軟件的(C)、(D)、(E)是決定軟件可維護性的基本因素。軟件生存期(F)的工作與軟件可維護性有密切的關系。供選擇的答案:A、B: 軟件的生產(chǎn)率 文檔 軟件的可靠性 軟件的可維護性 維護的代價 維護的效率 C、D、E: 可測試性 互操作性 可理解性 可修改性 可復用性 可管理性F: 編碼階段 設計階段 測試階段 每個階段答:A., B., C., D.,  E., F.。其中,C、D、E的答案順序可互換。 原因說明:

7、60;軟件維護是軟件生存期的最后一個階段,也是持續(xù)時間最長、代價最大的一個階段。軟件工程學針對維護工作的主要目標就是提高軟件的可維護性,降低維護的代價。軟件維護通常包括 4類維護活動:改正性維護、適應性維護、完善性維護和預訪性維護。軟件的可理解性、 可修改性和可測試性是決定軟件可維護性的基本因素。軟件生存期各個階段的工作都與軟件可維護性有密切的關系。5、下面有關軟件維護的敘述有些是不正確的,請將它們列舉出來。供選擇的答案: 要維護一個軟件,必須先理解這個軟件。 閱讀別人寫的程序并不困難。 如果文檔不齊全也可以維護一個軟件。 誰編寫軟件就應由誰來維護這個軟件。 設計軟件時就就

8、考慮到將來的可修改性。 維護軟件是一件很吸引人的創(chuàng)造性工作。 維護軟件就是改正軟件中的錯誤。 維護好一個軟件是一件很難的事件。答:軟件維護人員通常不是該軟件的開發(fā)人員,這給軟件維護帶來很大的困難。特別是有些軟件在開發(fā)時沒有遵循軟件開發(fā)的準則,沒有開發(fā)方法的支持,維護這樣的軟件就更困難。 下面列舉一些與軟件維護有關的問題。  (1)要維護一個軟件,首先必須要理解它。而理解一個別人編寫的軟件通常是困難的,尤 其是對軟件配置(指各種相關的文檔)不齊全的軟件,理解起來就更加困難。  (2)需要維護的軟件往往缺少合格的文檔,或者文檔資料不齊全,

9、甚至根本沒有文檔。在軟件維護中,合格的文檔十分重要,它有助于理解被維護的軟件。合格的文檔不僅要完整正確地反映開發(fā)過程各個階段的工作成果,而且應當容易理解并應與程序源代碼一致。而錯誤的文檔對軟件的理解引入歧途。  (3)在軟件維護時,不要指望得到原來開發(fā)該軟件的人員的幫助。開發(fā)人員開發(fā)完一個軟件后,往往會從事另一軟件的開發(fā),甚至已離開原開發(fā)單位。即使原來的開發(fā)人員還在,也可能時間太久而忘卻了實現(xiàn)的細節(jié)。 (4)多數(shù)軟件在設計時沒有考慮到將來的修改,這給軟件的修改造成了困難。而且在修改軟件時很可能引入新的差錯。  (5)軟件維護通常不是一件吸引人的

10、工作。從事維護工作常使維護人員缺乏成就感,這也嚴重影響維護工作,從而影響了維護質(zhì)量的提高。三、論述題1. 面向?qū)ο筌浖_發(fā)方法與傳統(tǒng)的面向數(shù)據(jù)流的結構化軟件開發(fā)方法有什么不同?使用面向?qū)ο箝_發(fā)方法的優(yōu)點是什么?答:1)、結構化方法是面向過程的開發(fā)方法,以產(chǎn)生過程的抽象作為系統(tǒng)開發(fā)的起點,這些抽象把軟件看作是處理流,定義構成一系列步驟的算法,每一步驟都是帶有輸入和輸出的一個過程,將這些步驟結合在一起便可產(chǎn)生合理的、穩(wěn)定的、貫穿于整個程序的控制流。最終可導出一個簡單的具有靜態(tài)結構的軟件體系結構。結構化開發(fā)方法中,數(shù)據(jù)結構是為算法步驟的要求而開發(fā)的,數(shù)據(jù)結構貫穿于過程,提供過程需要傳送給它的操作的信

11、息。 2)、面向?qū)ο箝_發(fā)方法以標識和模型化問題論域中的實體作為系統(tǒng)開發(fā)的起點,系統(tǒng)中標識出的對象是數(shù)據(jù)抽象與過程抽象的一個混合體??刂屏鞅环殖蓧K,并被包括在各個數(shù)據(jù)抽象上的操作里面??刂屏鲝囊粋€數(shù)據(jù)抽象被傳送到另一個數(shù)據(jù)抽象。在塊中分離的控制流允許把復雜的動作視為局部的相互影響,因此,軟件系統(tǒng)的體系結構更為復雜但也更為靈活。 3)、使用面向?qū)ο箝_發(fā)方法的優(yōu)點可概括為: A)、與人類習慣的思維方法一致   歸納思維 -對象分類(特殊到一般)   演繹思維 -類等級的屬性繼承(一般到特殊)

12、     B)、穩(wěn)定性好   軟件系統(tǒng)的結構不依賴于系統(tǒng)功能需求的變化      C)、可重用性好   創(chuàng)建對象類的實例,獲得重用該對象類; 從某對象類派生一個新類,繼承性機制使子類可重用父類的數(shù)據(jù)結構和程序代碼,并可進行擴充和修改而不影響父類的使用 D)、可維護性好 穩(wěn)定性好 容易修改 容易理解 容易測試和調(diào)試2. 改錯性維護與“排錯”是否是一回事?為什么?答:改錯

13、性維護與“排錯(調(diào)試)”不是一個概念。調(diào)試是作為測試的后繼工作而出現(xiàn)的,是當測試發(fā)現(xiàn)軟件中的錯誤后,進一步診斷和改正程序中潛在的錯誤的活動。而改正性維護是指在軟件交付使用后,由于開發(fā)時測試得不徹底。不完全,必然會有一部分隱藏的錯誤被帶到運行階段來,這些隱藏下來的錯誤在某些特定的使用環(huán)境下就會暴露出來。為了識別和糾正軟件錯誤改正軟件性能上的缺陷、排除實施中的錯誤使用所進行的診斷和改正錯誤的過程。調(diào)試在程序編碼階段、測試階段、運行和維護階段之后,用戶實際充當了測試員的角色,一旦發(fā)現(xiàn)軟件運行中的錯誤或缺陷,就會將問題報告通報軟件銷售商,申請軟件維護。其后軟件維護人員可以利用調(diào)試手段來診斷和改正軟件中

14、存在錯誤。這時呆能涉及的范圍不只包括程序,還有文檔和數(shù)據(jù),不僅可能修改設計,甚至需求。所以改正性維護是在更大范圍中做工作。3. 簡述結構化方法中軟件工程的分析模型和設計模型,描述從分析模型到設計模型的信息流。答:4. 軟件配置管理的任務是什么?描述作為基線的軟件配置項(SCI)的修改過程模型。答: 軟件配置管理的任務:標識、版本控制、變化控制、配置審計及報告。 作為基線的軟件配置項(SCI)的修改過程模型:四、考務處理系統(tǒng)有如下功能: 對考生送來的報名表進行檢查。 對合格的報名表編好準考證號碼后將準考證送給考生,并將匯總后的考生名單送給閱卷站。 對閱卷站送來的成績表進行檢查

15、,并根據(jù)考試中心指定的合格標準審定合格者。 填寫考生通知單(內(nèi)容包含考試成績和合格/不合格標志),送給考生。 按地區(qū)、年齡、文化程度、職業(yè)、考試級別等進行成績分類統(tǒng)計和試題難度分析,產(chǎn)生統(tǒng)計分析表。問題:按上述功能需求設計系統(tǒng)的數(shù)據(jù)流程圖。答:五、給出下面結構化程序流程圖,請畫出對應的N-S圖。答:六、下面是選擇排序的程序,其中datalist是數(shù)據(jù)表。它有兩個數(shù)據(jù)成員。一是元素類型成Element的數(shù)組V,另一個是數(shù)組大小n。算法中用到兩個操作,一是取某數(shù)組元素Vi的關鍵碼操作getKey( ),一是交換兩數(shù)組元素內(nèi)容的操作Swap( ):void SelectSort (datalist

16、& list)/對表list.V0到listn-1進行排序,n是表當前長度for (int i=0;i<list.n-1;i+)int K=i/在list.Vi.key到list.Vn-1.key中找具有最小鍵碼的對象 for(int j=i+1;j<list.n;j+) if(list.Vj.getKey( )<list.VK.getKey( )K=j; /當前具最小關鍵碼的對象 if(k=!=i) Swap(list.Vi,list.VK);/交換 (1)試計算此程序段的McCabe環(huán)路復雜性。(2)用基本路徑覆蓋法給出測試路徑。(3)為各測試路徑設計測試用例。答

17、:(1)1 int i = 0;2 while  ( i < list.n-1 )3 int  k = i; 4 int j = i+1; 5 while ( j < list.n )6 if ( list.Vj.getKey ( ) < list.Vk.getKey ( 

18、;) )7   k = j; 8 j+; 9  10 if ( k != i )                       11 Swap ( list.Vi, list.Vk ); 12 i+;&

19、#160;  13  14McCabe環(huán)路復雜性 = 5(2) 獨立路徑有5條:         Path1: 1214        Path2: 123510111213214        Path3: 1235101213214  

20、      Path4: 12356789510111213214         Path5:  1235689510111213214                       ss&

21、#160;(3) 為各測試路徑設計測試用例:      Path1: 取n = 1  路徑:取n = 2,        預期結果:路徑不可達        路徑:取n = 2,        預期結果:路徑不可達      s路徑:          取n = 2, V0 = 2, V1

溫馨提示

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

評論

0/150

提交評論