北方工業大學軟件工程期末復習題(含答案)_第1頁
北方工業大學軟件工程期末復習題(含答案)_第2頁
北方工業大學軟件工程期末復習題(含答案)_第3頁
北方工業大學軟件工程期末復習題(含答案)_第4頁
北方工業大學軟件工程期末復習題(含答案)_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

北方工業大學軟件工程期末復習題(含答案)北方工業大學軟件工程期末復習題(含答案)北方工業大學軟件工程期末復習題(含答案)xxx公司北方工業大學軟件工程期末復習題(含答案)文件編號:文件日期:修訂次數:第1.0次更改批準審核制定方案設計,管理制度序號北方工業大學序號《軟件工程》課程期末復習題A卷2014年春季學期訂線訂線裝考試方式:閉卷考試時間:120分鐘班級姓名學號題號一二三四五六七八九十總分得分閱卷人一.簡要回答下列各問題(共40分,每個小題5分)(1)闡述軟件工程的定義。答:是指導計算機軟件開發和維護的一門工程學科;采用工程的概念、原理、技術和方法來開發和維護軟件;把證明正確的管理技術和最好技術綜合運用到軟件開發中;研究經濟地開發出高質量的軟件方法和技術;研究有效維護軟件的方法和技術。(2)簡述軟件危機的原因。答:缺乏軟件開發的經驗和有關軟件開發數據的積累,使得開發計劃很難制定。軟件人員與用戶的交流存在障礙,使得獲取的需求不充分或存在錯誤。軟件開發過程不規范。如,沒有真正了解用戶的需求就開始編程序。隨著軟件規模的增大,其復雜性往往會呈指數級升高。需要很多人分工協作,不僅涉及技術問題,更重要的是必須有科學嚴格的管理。缺少有效的軟件評測手段,提交用戶的軟件質量不能完全保證。

(3)畫出軟件生存周期的瀑布模型的示意圖,并簡單評述其優缺點。優點:優點:可強迫開發人員采用規范化的方法。嚴格地規定了每個階段必須提交的文檔。要求每個階段交出的所有產品都必須是經過驗證的。缺點由于瀑布模型幾乎完全依賴于書面的規格說明,很可能導致最終開發出的軟件產品不能真正滿足用戶的需要。如果需求規格說明與用戶需求之間有差異,就會發生這種情況。瀑布模型只適用于項目開始時需求已確定的情況。1-2瀑布模型示意圖1-2瀑布模型示意圖(4)畫出軟件生存周期的增量模型的示意圖,并簡述其優點。能在較短時間內向用戶提交可完成一些有用的工作產品,即從第1個構件交付之日起,用戶就能做一些有用的工作。能在較短時間內向用戶提交可完成一些有用的工作產品,即從第1個構件交付之日起,用戶就能做一些有用的工作。逐步增加產品的功能可以使用戶有較充裕的時間學習和適應新產品,從而減少一個全新的軟件可能給用戶組織帶來的沖擊。項目失敗的風險較低,雖然在某些增量構件中可能遇到一些問題,但其他增量構件將能夠成功地交付給客戶。優先級最高的服務首先交付,然后再將其他增量構件逐次集成進來。因此,最重要的系統服務將接受最多的測試。

(5)畫出D.Ross提出的軟件工程結構化分析方法的框架示意圖,并解釋數據字典和數據流的含義。數據字典:數據字典:數據字典以詞條方式定義在數據模型、功能模型和行為模型中出現的數據對象及控制信息的特性,給出它們的準確定義,包括數據流、加工、數據文件、數據元素,以及數據源點、數據匯點等。數據流圖:(6)舉例說明變換型和事務型流圖的特點。答:變換型流圖由輸入、中心變換和輸出3部分組成,而且逐層展開。如:事務型流圖通常接受一項事務,根據事務處理的特點和性質,選擇分派一個適當的處理單元,然后給出結果。(7)給出下面變換型數據流圖對應的模塊結構圖。答:

(8)給出下面交易型數據流圖對應的模塊結構圖。答:(9)舉例說明模塊結構圖優化方法中的不同模塊相似部分調整的原則。答:完全相似的模塊可以歸并;兩個模塊部分相似的代碼可以通過建立公共新模塊,并設立對公共模塊調用進行調整。例如:(10)舉例說明模塊結構圖優化方法中作用域與控制域調整的原則。答:作用域是指判斷語句所在模塊和他判斷調用的下屬模塊,而控制域是指他本身以及他的下屬模塊;一般要求作用域在控制域內。例如:D通過B判斷調用C,故D的作用范圍不在它的控制范圍內,調整為右圖。

(11)試將下面的代碼段進行局部調整,使其更容易理解。要進行適當的縮排;增加必要的注釋;增加必要的語句,以免產生錯誤;For(i=1;i<=n-1,i++){t=i;for(j=i+1,j<=n,j++)if(a[j]<a[t])t=j;if(t!=i){tm=a[t];a[t]=a[i];a[i]=tm}}答:inti=0;/*實現***功能intt=0;inttm=0;For(i=1;i<=n-1,i++)/*實現***功能{t=i;for(j=i+1,j<=n,j++)/*實現***功能if(a[j]<a[t])t=j;if(t!=i){tm=a[t];/*實現***功能a[t]=a[i];a[i]=tm}}(12)試按照規范編寫一個求3個數中最小值的程序。程序規范如下:禁止使用GOTO語句;使用縮排編寫程序;變量命名明晰答:main()//accodeaboutfindingoutthesmalloneintreeinputnumber

{intnum1,num2,num3,min;

printf("Pleaseinputthreenumbers:");

scanf("%d,%d,%d",&num1,&num2,&num3);

if(num1<num2)

MIN=num1;

else

MIN=num2;

if(num3<MIN)

MIN=num3;

printf("Thesmalloneis:%d",small);

(13)舉例說明軟件測試的不完備性。答:就目前的軟件測試方法而言,還無法做到對代碼的完全覆蓋測試,所以說軟件測試是不完備的。例如,下面的代碼是無法完全測試的。包含的不同執行路徑數達520包含的不同執行路徑數達520條,對每一條路徑進行測試需要1毫秒,假定一年工作365×24小時,要想把所有路徑測試完,需3170年。(14)試解釋單元測試中“驅動模塊”、“樁模塊”與“被測模塊”含義以及它們之間的關系。答:驅動模塊相當于被測模塊的主程序,它接收測試數據,并把這些數據傳送給被測模塊,最后再輸出實測結果。樁模塊也叫做存根模塊,用以代替被測模塊調用的子模塊。被測模塊是單元測試要測試的模塊,他與驅動模塊和樁模塊有被調用和調用的關系。(15)簡述軟件改正性、適應性維護的含義。答:改正性是為了識別和糾正軟件錯誤、改正軟件性能上的缺陷、排除實施中的誤使用,應進行的診斷和改正錯誤的過程。適應性維護是指,隨著信息技術的飛速發展,軟件運行的外部環境(新的硬、軟件配置)或數據環境(數據庫、數據格式、數據輸入/輸出方式、數據存儲介質)可能發生變化,為了使軟件適應這種變化,而修改軟件的過程叫做適應性維護

(16)舉例說明影響維護工作量的因素。答:系統規模:系統規模大,維護困難;程序設計語言:開發語言復雜,維護也困難;系統年齡大小:時間久遠的系統,維護困難;數據庫技術的應用水平:數據應用水平低,維護工作量大。所采用的軟件開發技術及軟件開發工程化的程度:工程化程度高,維護相對容易。例如:商業企業進銷存管理軟件。由于商品品種多,經營手段靈活,所以對數據庫技術應用的水平要求比較高;一般大型商業企業,如沃爾瑪是全球連鎖,所以系統規模巨大,維護困難;商業企業管理軟件一般要處理的內容多樣,目前還沒有一種語言可以完成整個系統的開發任務,所以選擇功能相對強大的語言會減少開發困難。

二、已知程序框圖如圖2-1所示,試分別給出(a)語句覆蓋,(b)條件覆蓋,(c)判斷覆蓋,(d)條件組合覆蓋,(e)判斷/條件的最小測試用例和路徑。(每小題5分,共25分)答:(a)語句覆蓋路徑:ace測試用例【(2,0,4),(2,0,3)】 (b)條件覆蓋路徑:ace測試用例:【(2,0,4),(2,0,3)】路徑:abd測試用例:【(1,1,1),(1,1,1)】 (c)判斷覆蓋路徑:ace測試用例:【(2,0,4),(2,0,3)】路徑:abd測試用例:【(1,1,1),(1,1,1)】 (d)條件組合覆蓋路徑:ace測試用例:【(2,0,4),(2,0,3)】路徑:abd測試用例:【(1,1,1),(1,1,1)】路徑:abe測試用例:【(2,1,1),(2,1,2)】路徑:abe測試用例:【(1,0,3),(1,0,4)】 (e)判斷/條件覆蓋路徑:ace測試用例:【(2,0,4),(2,0,3)】路徑:abd測試用例:【(1,1,1),(1,1,1)】

三、現有一個PASCAL語言的編譯器。試采用黑盒測試法測試該編譯器對語法規定:“標識符是由字母開頭、后跟字母或數字的任意組合構成;有效字符數為8個,最大字符數為80個;標識符必須先說明,再使用;在同一說明語句中,標識符至少必須有一個。”的一致性。(每一個分類5分,共25分)答:等價類劃分如下:測試用例:下面選取了8個測試用例,它們覆蓋了所有的等價類。①VARx,T1234567:REAL;}(1)(2)(4)(7)(8)(11)(13)BEGINx:=3.414;T1234567:=2.732;……②VAR:REAL;

}(3)③VARx,:REAL;}(5)④VART12345……:REAL;}(6)多于80個字符⑤VART$:CHAR;}(9)⑥VARGOTO:INTEGER;}(10)⑦VAR2T:REAL;

}(12)⑧VARPAR:REAL;}(14)BEGIN……PAP:=SIN(3.14*0.8)/6;

四、已知程序偽代碼如圖4-1所示,試完成下列工作:試用算法4.1給出對應的流圖;計算流圖的復雜性V(G);求基本路徑構成的基本集合(num1,num2,num3各取一次最小值);給出每條路徑執行的期望結果;給出每一條路徑的測試用例。(每小題3分,共15分)答:main()main()//accodeaboutfindingoutthesmalloneintreeinputnumber

{intnum1,num2,num3,Min;

printf("Pleaseinputthreenumbers:");

(1)scanf("%d,%d,%d",&num1,&num2,&num3);

(2)if(num1<num2)

(3)MIN=num1;

else

(4)MIN=num2;

(5)if(num3<MIN)

(6)MIN=num3;

(7)printf("Thesmalloneis:%d,Min);

printf("min=%d\n",min);

}

圖4-1一個計算三個數中最小值的程序112435786環形復雜性:3基本路徑集:123571245712367期望結果:12357的結果:num1是最小值12457的結果:num2是最小值12367的結果:num3是最小值測試用例:Num1=3;num2=4;num3=5Num1=4;num2=3;num3=5Num1=4;num2=5;num3=3

五、已知程序偽代碼如圖5-1所示,試完成下列工作:試用算法5.1給出對應的流圖;計算流圖的復雜性V(G);求基本路徑構成的基本集合(num1,num2,num3各取一次最小值);給出每條路徑執行的期望結果;給出每一條路徑的測試用例。(每小題3分,共15分)V(V(G)=6path1:1-2-10path2:1-2-10-12-13path3:1-2-3-10-11-13path4:1-2-3-4-5-8-9-2……path5:1-2-3-4-5-6-8-9-2……path6:1-2-3-4-5-6-7-8-9-2……path1:輸入數據:value[k]=有效輸入,限于k<i(i定義如下)value[i]=?999,當2≤i≤100;預期結果:n個值的正確的平均值、正確的總計數。注意:不能孤立地進行測試,應當作為路徑4、5、6測試的一部分來測試。path2:輸入數據:value[1]=?999;預期結果:平均值=?999,總計數取初始值。path3:輸入數據:試圖處理101個或更多的值,而前100個應當是有效的值;預期結果:與測試用例1相同。

六、一個網絡教學系統的功能需求內容:學生通過客戶端根據學號和密碼進入選課界面,在這里學生可以進行查詢已選課程、指定自己的選修課程以及對自己基本信息的查詢;學生可以登錄本系統中學習模塊,瀏覽課程信息、選擇和查找自己所需要學習課程的課件并進行下載;教師可以登錄本系統,在網站上輸入課程介紹、上傳課程的課件、發布、更新和修改消息;系統管理員可以對本系統進行維護和批準用戶申請注冊

溫馨提示

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

評論

0/150

提交評論