![軟件工程導(dǎo)論第六版張海藩課后習(xí)題部分答案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/53b34ef2-1455-4b55-8df5-683fc11b182a/53b34ef2-1455-4b55-8df5-683fc11b182a1.gif)
![軟件工程導(dǎo)論第六版張海藩課后習(xí)題部分答案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/53b34ef2-1455-4b55-8df5-683fc11b182a/53b34ef2-1455-4b55-8df5-683fc11b182a2.gif)
![軟件工程導(dǎo)論第六版張海藩課后習(xí)題部分答案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/53b34ef2-1455-4b55-8df5-683fc11b182a/53b34ef2-1455-4b55-8df5-683fc11b182a3.gif)
![軟件工程導(dǎo)論第六版張海藩課后習(xí)題部分答案_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/53b34ef2-1455-4b55-8df5-683fc11b182a/53b34ef2-1455-4b55-8df5-683fc11b182a4.gif)
![軟件工程導(dǎo)論第六版張海藩課后習(xí)題部分答案_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/53b34ef2-1455-4b55-8df5-683fc11b182a/53b34ef2-1455-4b55-8df5-683fc11b182a5.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一章1-1什么是軟件危機?是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題。1-3什么是軟件工程?是指導(dǎo)計算機軟件開發(fā)和維護的一門工程學(xué)科。1-4簡述結(jié)構(gòu)化范型和面向?qū)ο蠓缎偷囊c,并分析它們的優(yōu)缺點。目前使用得最廣泛的軟件工程方法學(xué)(2種):1 .傳統(tǒng)方法學(xué):也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。優(yōu)點:把軟件生命周期劃分成基干個階段,每個階段的任務(wù)相對獨立,而且比較簡單,便于不同人員分工協(xié)作,從而降低了整個軟件開發(fā)過程的困難程度。缺點:當(dāng)軟件規(guī)模龐大時,或者對軟件的需求是模糊的或會承受時間而變化的時候,開發(fā)出的軟件往往不成功;而且維護起來仍然很困難。2 .面向?qū)ο蠓椒▽W(xué):優(yōu)點:降低了軟
2、件產(chǎn)品的復(fù)雜性;提高了軟件的可理解性;簡化了軟件的開發(fā)和維護工作;促進了軟件重用。1-6什么是軟件過程?它與軟件工程方法學(xué)有何關(guān)系?z軟件過程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟z軟件工程方法學(xué):通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué),也稱范型1-7什么是軟件生命周期模型,試比較瀑布模型,快速原型模型,增量模型,和螺旋模型的優(yōu)缺點,說明每種模型的適用范圍。軟件生命周期由軟件定義、軟件開發(fā)和運行維護3個時期組成,每個時期又進一步劃分成若干個階段。生命周期模型規(guī)定了把生命周期劃分成哪些階段及各個階段的執(zhí)行順序,因此,也稱為過程
3、模型。瀑布模型白優(yōu)點:1.可強迫開發(fā)人員采用規(guī)范的方法;2.嚴(yán)格規(guī)定了每個階段必須提交的文檔;3.要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗證。瀑布模型白缺點:1.在軟件開發(fā)初期,指明用戶全部需求是困難的;2.需求確定后,經(jīng)過一段時間才得到軟件最初版本;3.完全依賴規(guī)格說明,導(dǎo)致不能滿足用戶需求。適用中小型項目??焖僭湍P偷膬?yōu)點:1滿足用戶需求程度高;2用戶的參與面廣;3返工現(xiàn)象少快速原型模型的優(yōu)點:不適用大型軟件的開發(fā)適用于小型項目。增量模型的優(yōu)點:1短期內(nèi)可以交付滿足部分用戶需求的功能產(chǎn)品;2逐步增加功能可以讓用戶去適應(yīng)新產(chǎn)品;3開放式的軟件可維護性比較好;4開始第一構(gòu)件前
4、,已經(jīng)完成需求說明。增量模型的缺點:1對現(xiàn)有產(chǎn)品功能造成破壞;2意義上的矛盾適用于中型軟件的開發(fā)螺旋模型的優(yōu)點:1集成了瀑布模型、快速原型模型、增量模型的優(yōu)點;2支持用戶需求動態(tài)變化;3需求分析與軟件實現(xiàn)緊密聯(lián)系相互依賴;4原型作為刑式的可執(zhí)行的需求規(guī)格說明,即利用用戶和開發(fā)人員共同理解,又可作為后續(xù)開發(fā)的基礎(chǔ);5為用戶參與決策提供方便;6提高目標(biāo)軟件的適應(yīng)能力;7降低風(fēng)險;8在大型軟件開發(fā)過程中充分發(fā)揮優(yōu)勢。螺旋模型的缺點:1迭代次數(shù)影響開發(fā)成本,延遲提價時間;2找不到關(guān)鍵改進點,人才、物力、財力時間引起無謂消耗;3成于風(fēng)險分析,敗于風(fēng)險分析。適用于內(nèi)部開發(fā)的大規(guī)模軟件項目。1-8:為什么說
5、噴泉模型叫好的體現(xiàn)了面向?qū)ο筌浖_發(fā)過程無縫和迭代的特性?因為使用面向?qū)ο蠓椒▽W(xué)開發(fā)軟件時,各個階段都使用統(tǒng)一的概念和表示符號,因此,整個開發(fā)過程都是吻合一致的,或者說是無縫連接的,這自然就很容易實現(xiàn)各個開發(fā)步驟的反復(fù)多次迭代,達到認(rèn)識的逐步深化,而噴泉模型的則很好的體現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代和無縫的特性。1-9:試討論Rational統(tǒng)一過程的優(yōu)缺點優(yōu)點:提高了團隊生產(chǎn)力,在迭代的開發(fā)過程、需求管理、基于組建的體系結(jié)構(gòu)、可視化軟件建模、驗證軟件質(zhì)量及控制軟件變更等方面、針對所有關(guān)鍵的開發(fā)活動為每個開發(fā)成員提供了必要的準(zhǔn)則、模版和工具指導(dǎo),并確保全體成員共享相同的知識基礎(chǔ)。它簡歷了簡潔和清
6、晰的過程結(jié)構(gòu),為開發(fā)過程提供較大的通用性。缺點:RUPR是一個開發(fā)過程,并沒有涵蓋軟件過程的全部內(nèi)容,例如它缺少關(guān)于軟件運行和支持等方面的內(nèi)容,此外,它沒有支持多項目的開發(fā)結(jié)構(gòu),這在一定程度上降低了在開發(fā)組織內(nèi)大范圍實現(xiàn)重用的可能性。1-10Rational統(tǒng)一過程主要適用于何種項目?大型的需求不斷變化的復(fù)雜軟件系統(tǒng)項目1-11:說明敏捷過程的適用范圍適用于商業(yè)競爭環(huán)境下對小型項目提出的有限資源和有限開發(fā)時間的約束。1-12說明微軟過程的適用范圍適用于商業(yè)環(huán)境下具有有限資源和有限開發(fā)時間約束的項目的軟件過程模式。第二章2-1在軟件開發(fā)的早期階段為什么要進行可行性分析研究?應(yīng)該從哪些方面研究目標(biāo)
7、系統(tǒng)的可行性?可行性分析是要進行一次大大壓縮簡化系統(tǒng)分析和設(shè)計過程,避免時間、資源、人力和金錢的浪費。技術(shù)上的可行性一一使用現(xiàn)有的技術(shù)能實現(xiàn)這個系統(tǒng)嗎?經(jīng)濟上的可行性一一這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎?(投資與效益)操作可行性一一系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎?社會、政策允許的可行性2-2為方便儲戶,某銀行擬開發(fā)計算機儲蓄系統(tǒng)。儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并印出存款單給儲戶;如果是取款,系統(tǒng)計算利息并印出利息清單給儲戶。請畫出此系統(tǒng)的數(shù)據(jù)流圖2-3為方便旅客,某航空公司擬開發(fā)一個機票預(yù)定系統(tǒng)。旅
8、行社把預(yù)訂機票的旅客信息(姓名、性別、工作單位、身份證號碼、旅行時間、旅行目的地等)輸入進該系統(tǒng),系統(tǒng)為旅客安排航班,印出取票通知和賬單,旅客在飛機起飛的前一天憑取票通知和賬單交款取票,系統(tǒng)核對無誤即印出機票給旅客。請畫出系統(tǒng)的數(shù)據(jù)流圖旅客信息交款旅行社錄入信息4安排前朝打印處電,取吵知.單.交款年息取票通知旅客賬單/票款訂票中總+曲名信息'2-4目前住院病人主要由護士護理,這樣做不僅需要大量護士,而且由于不能隨時觀察危險病人的病情變化,還可能會延誤搶救時機。某醫(yī)院打算開發(fā)一個以計算機為中心的患者監(jiān)護系統(tǒng),試寫出問題定義,并且分析開發(fā)這個系統(tǒng)的可行性。醫(yī)院對患者監(jiān)護系統(tǒng)的基本要求是隨時
9、接受每個病人的生理信號(脈搏、體溫、血壓、心電圖等),定時記錄病人情況以及形成患者日志,當(dāng)某個病人的生理信號超出醫(yī)生規(guī)定的安全范圍時向值班護士發(fā)出警告信息,此外,護士在需要時還可以要求系統(tǒng)印出某個指定病人的病情報告。請畫出系統(tǒng)的數(shù)據(jù)流圖時鐘D1鹿者安全范用患者安全定時生人信息產(chǎn)生病4報告,2-5北京某高??捎玫碾娫捥柎a由以下幾類:校內(nèi)電話號碼由4位數(shù)字組成,第一位數(shù)字不是零;校外電話又分為本市電話和外地電話兩類,撥校外電話先撥0,若是本地電話再接著撥8位數(shù)字(固話第一位不是0)或11位數(shù)字(移動電話第一位為1);若是外地電話,則撥3位區(qū)碼再撥8位電話號碼(固話第一位不是0),或撥0再撥11位數(shù)
10、字(移動電話第一位為1)。請用數(shù)據(jù)定義的方法,定義上述電話號碼。電話號碼=校內(nèi)號碼|校外號碼校內(nèi)號碼=非0數(shù)字+3數(shù)字3校外號碼=0+本地號碼|外地號碼本地號碼=固話號碼|手機號碼固話號碼=非0數(shù)字+7數(shù)字7手機號碼=1+10數(shù)字10外地號碼=外地固話號碼|外地手機號碼外地固話號碼=3數(shù)字3+固話號碼外地手機號碼=0+手機號碼非0數(shù)字=1|2|3|4|5|6|7|8|9第三章1、為什么要進行需求分析?通常對軟件系統(tǒng)有哪些需求?答:為了開發(fā)出真正滿足用戶需求的軟件產(chǎn)品,準(zhǔn)確定義未來系統(tǒng)的目標(biāo),確定為了滿足用戶的需要系統(tǒng)必須做什么,就必須要進行準(zhǔn)確的需求分析。通常對軟件系統(tǒng)的需求有:功能需求;性能
11、需求;可靠性和可用性需求;出錯處理需求;接口需求;約束;逆向需求;文檔需求;數(shù)據(jù)需求等等。2、銀行計算機儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址、身份證號碼等存款信息,并打印出存款存單給儲戶;如果是取款且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算利息并打印出利息清單給儲戶。用數(shù)據(jù)流圖描述本系統(tǒng)的功能,并用ER圖描繪系統(tǒng)中的數(shù)據(jù)對象。6、復(fù)印機的工作過程大致如下:未接到復(fù)印命令時處于閑置狀態(tài),一旦接到復(fù)印命令則進入復(fù)印狀態(tài),完成一個復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復(fù)印命令;如果執(zhí)行
12、復(fù)印命令時發(fā)現(xiàn)沒紙,則進入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進入閑置狀態(tài),準(zhǔn)備接收復(fù)印命令;如果復(fù)印時發(fā)生卡紙故障,則進入卡紙狀態(tài),發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。請用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機的行為。從問題陳述可知,復(fù)印機的狀態(tài)主要有“閑置”、“復(fù)印”、“缺紙”和“卡紙”。引起狀態(tài)轉(zhuǎn)換的事件主要是“復(fù)印命令”、“完成復(fù)印命令”、“發(fā)現(xiàn)缺紙”、“裝滿紙”、“發(fā)生卡紙故障”和“排除了卡紙故障”。裝滿紙如西百第四章不考,略。第五章5-4美國某大學(xué)共有200名教師,校方與教師工會剛剛簽訂一項協(xié)議。按照協(xié)議,所有年工資超過$26000(含$26000)的教師工資將保持不變,年工資
13、少于$26000的教師將增加工資,所增加的工資數(shù)按下述方法計算:給每個由此教師所贍養(yǎng)的人(包括教師本人)每年補助$100,此外,教師有一年工齡每年再多補助$50,但是,增加后的年工資總額不能多于$26000。教師的工資檔案儲存在行政辦公室的磁帶上,檔案中有目前的年工資、贍養(yǎng)的人數(shù)、雇用日期等信息。需要寫一個程序計算并印出每名教師的原有工資和調(diào)整后的新工資。要求:(1)畫出此系統(tǒng)的數(shù)據(jù)流圖;(1)畫出此系統(tǒng)的數(shù)據(jù)流圖;(2)寫出需求說明;(3)設(shè)計上述的工資調(diào)整程序(要求用HIPO圖描繪設(shè)計結(jié)果),設(shè)計時請分別采用下述兩種算法,并比較這兩種算法的優(yōu)缺點:(a)搜索工資檔案數(shù)據(jù),找出年工資少于$2
14、6000的人,計算新工資,校核是否超過$26000,儲存新工資,印出新舊工資對照表;(b)把工資檔案數(shù)據(jù)按工資從最低到最高的次序排序,當(dāng)工資數(shù)額超過$26000時即停止排序,計算新工資,校核是否超過限額,儲存新工資,印出結(jié)果。答:(1)數(shù)據(jù)流圖:1 .任務(wù)概述:時于年工資未超過$2600的教師漲工資;每贍養(yǎng)1人補助$1叱每有一年工齡補助$55裱工資上限為$28箕,2 .數(shù)據(jù)描述:數(shù)據(jù)庫描述;工資表.VF3 ,功能需求工對于年工資未超過$年00的教師漲工資;每賬養(yǎng)1人補助$100,每有一年工齡補助$50佛工資上限為$2600;(3)HIPO圖:(a)所畫的流程圖適合(a)種算法.6-8畫出下列偽
15、碼程序的流圖,計算它的環(huán)形復(fù)雜度。你覺得這個程序的邏輯有什么問題嗎?CEXAMPLELOOP:DOWHILEZ>0A=B+1IFA>10THENX=AELSEY=ZENDIFIFY<5THENPRINTX,YELSEIFY=2THENGOTOLOOPELSEC=3ENDIFENDIFG=H+RENDDOIFF>0THENPRINTCELSEPRINTKENDIFSTOPY<5包含條件Y=2環(huán)形復(fù)雜度jV(G)=E-N+2=17-13+2=6存在的邏輯問題:1)當(dāng)Z>Q時易形成死循環(huán).2)條件第六61 .假設(shè)只有SEQUENCE和DC*VHILE兩種控制結(jié)構(gòu),
16、怎樣利用它們完成IFTHENELSE操作?容轉(zhuǎn)化如下.K=1DOWHILE(條件AND.K.EQ.l)程序塊1K=K+1ENDDOD0WHILE(.NOT.條件LAND一KEQ)程序塊2K=K+1ENDDO62 .假設(shè)允許使用SEQUENCE和rF_THEN_ELSE兩種控制結(jié)構(gòu),怎樣利用它們完成DOVHILE操作?答:轉(zhuǎn)化如下*label:IF(條件)THEN程序塊GOTOlabelELSE程序塊ENDIF6-3:回出下列偽碼程序的程序流程圖和盒圖(1)為什么說它是非結(jié)構(gòu)6-4.下圖給出的程序流程圖代表一個非結(jié)構(gòu)化的程序,請問:化的?(2)設(shè)計一個等價的結(jié)構(gòu)化程序。(3)在(2)題的設(shè)計中你
17、使用附加的標(biāo)志變量flag嗎?若沒用,請再設(shè)計一個使用flag的程序;若用了,再設(shè)計一個不用flag的程序。答:(1)通常所說的結(jié)構(gòu)化程序,是按照狹義的結(jié)構(gòu)程序的定義衡量,符合定義規(guī)定的程序。圖示的程序的循環(huán)控制結(jié)構(gòu)有兩個出口,顯然不符合狹義的結(jié)構(gòu)程序的定義,因此是非結(jié)構(gòu)化的程序。的盒圖flag把該程序改造為6-4所示。(2)使用附加的標(biāo)志變量flag,至少有兩種方法可以把該程序改造為等價的結(jié)構(gòu)化程序,圖6T與該圖等價的結(jié)構(gòu)化程序(不用flag)6-5.研究下面的偽代碼程序:LOOP:SetIto(START+FINISH2/IfTABLE(I)=ITEMgotoFOUNDIfTABLE(I)
18、<ITEMSetSTARTto(I+1)IfTABLE(I)>ITEMSetFINISHto(I-1)If(FINISH-START)>1gotoLOOPIfTABLE(START)=ITEMgotoFOUNDIfTABLE(FINISH)=ITEMgotoFOUNDSetFLAGto0GotoDONEFOUND:SetFLAGto1DONE:Exit(1)畫出程序流程圖。(2)程序是結(jié)構(gòu)化嗎?說明理由。(3)若程序是非結(jié)構(gòu)化的,設(shè)計一個等價的結(jié)構(gòu)化程序并且畫出流程圖。(4)此程序的功能是什么?它完成預(yù)定功能有什么隱含的前提條件。答:(1)該程序流程圖如下:T天始F(2)該程
19、序不是結(jié)構(gòu)化的,結(jié)構(gòu)化的程序只有一個入口和一個出口,而該程序的流程途中有兩個出口。(3)等價的結(jié)構(gòu)化程序的流程圖如下:一二結(jié)束)4)此程序有二分查找的功能,它完成預(yù)定功能的隱含前提條件是現(xiàn)有序列為從小到大順序排好的有序序列。6-7.某交易所規(guī)定給經(jīng)紀(jì)人的手續(xù)費計算方法如下:總手續(xù)費等于基本手續(xù)費加上與交易中的每股價格和股數(shù)有關(guān)的附加手續(xù)費。如果交易總金額少于1000元,則基本手續(xù)費為交易金額的8.4%;如果交易總金額在1000元到10000元之間,則基本手續(xù)費為交易金額的5%,再加34元;如果交易總金額超過10000元,則基本手續(xù)費為交易金額的4%加上134元。當(dāng)每股售價低于14元時,附加手續(xù)
20、費為基本手續(xù)費的5%,除非買進、賣出的股數(shù)不是100的倍數(shù),在這種情況下附加手續(xù)費為基本手續(xù)費的9%。當(dāng)每股售價在14元到25元之間時,附加手續(xù)費為基本手續(xù)費的2%,除非交易的股數(shù)不是100的倍數(shù),在這種情況下附加手續(xù)費為基本手續(xù)費的6%。當(dāng)每股售價超過25元時,如果交易的股數(shù)零散(即,不是100的倍數(shù)),則附加手續(xù)費為基本手續(xù)費的4%,否則附加手續(xù)費為基本手續(xù)費的1%。要求:(1)用判定表表示手續(xù)費的計算方法;(2)用判定樹表示手續(xù)費的計算方法。答:(1)判定表如圖6-6所不':號5%74廠*X<S*4%*I34)*<1-5%)XJ>*4%134)*11+9%)iS
21、»4r-H4?"I1+2%)X£S*4口134)*(1-(-6%)X<S*4%-14>+fIT%)X(S+4%-134)*IRI%)X(2)MilLilli/7L、邁切金版S'1000ITTrTT交助金襁1000*-S10000TTTTTT支.方淞"10000TTTTTT股仲d句41丁T1T股價14“小一251TT1T1依價(1史3TTTrT股數(shù)是100體數(shù)TFTF11TrTVTpTI-Tr1,S*M.4%*(1r%)XS*H4r*(1Mi)X(1)X<H>%)XS*K4%*(IIl4,5n)XS*K4%*(1+1%)X5
22、*'%T4)*<JtS%)K1S*5-14)*(1)0咯-341*(1*2%)X<S*5%-34)*X<S*5%34)*(1M%)工(2)判定樹如圖6-7所示:3無收獨心與S*X.4'hi*149%)交羽總金和57股份14到100伯領(lǐng)吸鈾星JOftfSKr5,4均1+2%,股地布基s*84%*(|+6%)IWMJ/L25指I0U佟政胺柳人F25JLlOftfrtft等7.313小段散小人3"也4%*(1+1%in(Hrta蛻數(shù)是_«Hfr小HW佶數(shù)3*5蚪*34,*C+$%3股數(shù)不是、Uki交易總金imnift05%,34-53股裁兄-3嚴(yán)
23、產(chǎn)W。1,%1股稽14到HW佶數(shù)J5N小1以股數(shù)不足(S*55+-34)C1+6%)劃IWVIM25比loofyiik段數(shù)號般髀大rEOU怡&rS5KM,*(W4%J睚強小紀(jì)2疣100作曲S*i%-J4>*經(jīng)紀(jì)人r力出4%*<l+5Hx>>據(jù)價DJI9的JJ“用倍數(shù)般價小股數(shù)是IDOfft®_-<S*4%i134)*(15%;147l|股<S*4;i1H4)<H9%>f卜?%¥V100倍數(shù)股數(shù)是ty#fk_/,d、額£大于股價14印100出數(shù)(S*4Jo134j*100GOn.2$小股放-S*4%134)*(
24、em1%)1。仆儕獨腕鼓足股價大r數(shù)"<XL1JMl股放不地一1S*4%-l145+(1-H%i1。0儲數(shù)圖6,判定樹6-8自:UJ以仍的陽詛桂囹劉囹。力見不:圖邑8程序流程圖根據(jù)該程序流程圖,可得該程序流圖如圖6一9所示:圖6-9程序流圖環(huán)形復(fù)雜度V(G尸流圖中的區(qū)域數(shù)=流圖中判定結(jié)點數(shù)目+1=5+1=6(2)該算法問題在于控制最外層循環(huán)的變量Z不僅沒有經(jīng)過初始化,并且在該循環(huán)內(nèi)部沒有任何有可能該變Z的語句。因此,該段代碼中的WHILE循環(huán)部分代碼要么不會執(zhí)行,要么可能出現(xiàn)死循環(huán)。&9:把統(tǒng)計空格程序的J目CkSQH圖改畫為等價的程序流程圖和盒圖結(jié)束文件不是文件尾讀一
25、個字符串換行:輸出字符串;換行盒圖統(tǒng)計空格數(shù)并輸出取下一個字符串換行,輸出空格總數(shù)第七章7-2:解:程序流程圖(如圖2.1所示)此程序是非結(jié)構(gòu)化的,它有一個GOTO語句,并且是從一個循環(huán)體內(nèi)轉(zhuǎn)到循環(huán)體外的一修改后的偽碼如下INPUTN,T輸入NINPUTKEYWORD(S)FORTOPIC輸入有關(guān)話題的關(guān)鍵字OPENFILE打開文件1=0MATCH=0DOWHILEIWT循環(huán)一最多可做T次1=1+1READAWORDOFFILETOWORD從文件里讀一個字到變量WORDIFWORD=KEYWORDTHENMATCH=MATCH+1IMtNMAI(Ji=MAILM+1IFMATCH=NTHENE
26、XIT搜索到了N個關(guān)鍵字,就跳出循環(huán)ENDIFENDIFENDDOIFMATCH=0THENPRINTNOMATCH”若MATCH=0就打印“沒有相匹配”ELSEPRINT“共搜索到”;MATCH;“個匹配的關(guān)鍵字”否則打印信息ENDIF改后的程序框圖(盒圖)輸入N和丁輸入關(guān)鍵字到變量KEYWORD打開文件怵口MATCH賦初值為0DOWHILE<=T曰+1從文件里讀一個字變量到WORDWORD、KEYWORDMATCH=MATCHMATCH二0跳出循環(huán)WATCH,。打印ri±±U,rMATCH”個字“打印沒杳匹配的字(4)程序中的錯誤:語句"IFWORD=K
27、EYWORD里的變量“WORD”沒有預(yù)先賦值。程序中沒有預(yù)先輸入T的值“N=0”應(yīng)該是“MATCH=0'4.回答下列問題:(1)什么是模塊測試和集成測試?它們各有什么特點?答:模塊測試是對每個單獨的模塊,分別用黑盒和白盒測試技術(shù),測試它的功能是否正確,檢查模塊控制結(jié)構(gòu)中的特定路徑并發(fā)現(xiàn)最大數(shù)量的錯誤。其特點是:主要應(yīng)用白盒測試的技術(shù),對多個模塊的測試可以并發(fā)的進行。集成測試是把模塊裝配在一起形成完整的軟件包,在裝配的同時進行測試。特點是:可能發(fā)生接口問題。(2)假設(shè)有一個由1000行FORTRAN句構(gòu)成的程序(經(jīng)編以后大約有5000條機器指令)估計在對它進行測試期間將發(fā)現(xiàn)多少個錯誤?為
28、什么?答:月25至100個錯誤,美國的一些統(tǒng)計數(shù)字告訴我們通常這個比值在0.0050.02之間,也就是說,測試之前每1000條指令中大約有520個錯誤。假設(shè)測試之前每1000條指令中有10個錯誤,則估計對它進行測試期間將發(fā)現(xiàn)的錯誤數(shù)為:5000*10/1000=50。(3)設(shè)計下面?zhèn)未a程序的語句覆蓋和條件覆蓋測試用例:STARTINPUT(A,B,C)IFA>5THENX=10ELSEX=1ENDIFIFB>10THENY=20ELSEY=2ENDIFIFC>15THENZ=30ELSEZ=3ENDIFPRINT同冶TOP答:此程序的語句覆蓋用例:A=5,B=10,C=15;
29、A=6,B=11,C=16條件覆蓋用例為:A=5,B=10,C=15;A=6,B=11,C=16。打印X,ytz7-4:回答下列問題。(1)什么是模塊測試和集成測試?它們各有什么特點?(2)假設(shè)有一個由1000行FORTRAN句構(gòu)成的程序(經(jīng)編譯后大約有5000條機器指令),估計在對它進行測試期間將發(fā)現(xiàn)多少個錯誤?為什么?(3)設(shè)計下列偽碼程序的語句覆蓋和路徑覆蓋測試用例。解答:(1)模塊測試:保證每個模塊能完成一個清晰定義的子功能而且和統(tǒng)計其他模塊的功能之間沒有相互依賴的關(guān)系。集成測試:又稱為組裝測試,就是將軟件產(chǎn)品中各個模塊組裝起來檢查其接口是否存在問題,以及組裝后的整體功能、性能表現(xiàn)ET
30、/IT近似為常數(shù)。美國的一些統(tǒng)計(2)經(jīng)驗表明,在類似的程序中,單位長度里的錯誤數(shù)數(shù)字表明,通常:0.005<=ET/IT<=0.02,即在測試之前,每1000條指令中大約有520個錯誤。所以,在1000行FORTRAN句構(gòu)成的程序進行測試期間將發(fā)現(xiàn)的錯誤的個數(shù)大約有25100個。(3)該偽碼程序?qū)?yīng)的程序流程圖如下:INPUT(也C)TT丫=如IDPRINT(虱?百序口取用例條件取值A(chǔ)BC*bcal*1b2Cl151015000語句覆蓋26111611i6h"15110路徑覆蓋26111611136g1610146g14IQ054u1401064n16011749160
31、0IW49140Q0從上到下每個判定依次命名為a、b、c:7-8:對一個包含10000條機器指令的程序進行一個月集成測試后,總共改正了15個錯誤,此時MTTF=10h;經(jīng)過兩個月測試后,總共改正了25個錯誤(第二個月改正了10個錯誤),MTTF=15h。要求:(1)根據(jù)上述數(shù)據(jù)確定MTTF與測試時間之間的函數(shù)關(guān)系,畫出MTTF與測試時間。的關(guān)系曲線。在畫這條曲線時做了什么假設(shè)?(2)為做到MTTF=100h,必須進行多長時間的集成測試?(3)當(dāng)集成測試結(jié)束時總共改正了多少個錯誤,還有多少個錯誤潛伏在程序中?解答:(1)因為平均無故障時間MTTF與測試時間。之間存在線性關(guān)系,即MTTF=a+br
32、,由于:10=a+b,15=a+2b,得到:a=5,b=5故:平均無故障時間MTTF與測試時間。之間存在線性關(guān)系為:MTTF=5+5t(2)為做到MTTF=100h,有方程:100=5+5°,故。=19即必須進行19個月的集成測試。(3)由于經(jīng)驗:平均無故障時間與單位長度程序中剩余的錯誤數(shù)成反比,故有:MTTF=10000/(K*(ET-EC(r)由于:10=10000/(K*(ET-15),15=10000/(K*(ET-25)得至U:ET=45,K=33.33當(dāng)集成測試結(jié)束時,MTTF=100h,有:100=10000/(33.33*(45-EC(19)故:EC(19)=42,即
33、當(dāng)集成測試結(jié)束時總共改正了42個錯誤,還有45-42=3個錯誤潛伏在程序中。7-9:如對一個長度為100000條指令的程序進行集成測試期間記錄下下面的數(shù)據(jù):(a)7月1日:集成測試開始,沒有發(fā)現(xiàn)錯誤。(b)8月2日:總共改正100個錯誤,此時MTTF=0.4h(c)9月1日:總共改正300個錯誤,此時MTTF=2h根據(jù)上列數(shù)據(jù)完成下列各題。(1)估計程序中的錯誤總數(shù)。(2)為使MTTF達至ij10h,必須測試和調(diào)試這個程序多長時間?(3)畫出MTTF和測試時間。之間的函數(shù)關(guān)系曲線。解答:(1)據(jù)估算平均無故障時間MTTF的公式有:1/K(Et/100000-100/100000)=0.41/K
34、(Et/100000-300/100000)=2得:K=1000,Et=350即程序中的錯誤總數(shù)達350。(2)當(dāng)MTTF=10h時,有1/K(350/100000-Ec/100000)=10得:Ec=340按七八月分測試改錯進度估算,還需進行2個月的集成測試。(3)MTTF和測試時間。之間的函數(shù)關(guān)系曲線如下7-10:在測試一個長度為24000條指令的程序時,第一個月由甲、乙兩名測試員各自獨立測試這個程序。經(jīng)一個月測試后,甲發(fā)現(xiàn)并改正20個錯誤,使MTTF達到10ho與此同時,乙發(fā)現(xiàn)24個錯誤,其中6個甲也發(fā)現(xiàn)了。以后由甲一個人繼續(xù)測試這個程序。問:(1)剛開始測試時程序中總共有多少個潛藏的錯誤?(2)為使MTTF達至ij60h,必須再改正多少個錯誤?還需用多長測試時間?(3)畫出MTTF與集成測試時間t之間的函數(shù)關(guān)系曲線。解答:(1)本題中采用的是分別測試法,測試
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生產(chǎn)線的設(shè)備檢修與生產(chǎn)效率提升
- 現(xiàn)代辦公環(huán)境下的會議組織策略
- 環(huán)保理念在藝術(shù)空間設(shè)計中的應(yīng)用
- 國慶節(jié)愛國實踐活動方案
- 9 古詩三首《秋夜將曉出籬門迎涼有感》(說課稿)-2024-2025學(xué)年統(tǒng)編版語文五年級下冊
- 2024年五年級語文下冊 第六單元 15 自相矛盾說課稿 新人教版
- 6 我們神圣的國土第一課時 (說課稿)- 2024-2025學(xué)年統(tǒng)編版道德與法治五年級上冊001
- Unit 3 After School Activities Let's Check(說課稿)-2023-2024學(xué)年人教新起點版英語三年級下冊
- 2024-2025學(xué)年高中物理 第六章 萬有引力與航天 2 太陽與行星間的引力(1)說課稿 新人教版必修2
- Unit5 Clothes (第六課時)(說課稿)-2024-2025學(xué)年人教新起點版英語三年級上冊001
- 藍(lán)印花布鑒賞課件
- 血液灌流流程及注意事項詳細(xì)圖解
- 5A+Chapter+2+Turning+over+a+new+leaf 英語精講課件
- 相交線教學(xué)課件
- 貝克曼梁測定路基路面回彈彎沉
- 機電安裝施工質(zhì)量標(biāo)準(zhǔn)化實施圖冊
- ge680ct用戶學(xué)習(xí)aw4.6軟件手冊autobone xpress指南中文
- 2023年高一年級必修二語文背誦篇目
- 競聘崗位演講評分表
- 2022屆高考地理一輪復(fù)習(xí)課件區(qū)域地理歐洲西部
- 部編人教版道德與法治三年級下冊全冊課件
評論
0/150
提交評論