版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一章1-1 什么是軟件危機(jī) ? 是指在計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。1-3 什么是軟件工程 ? 是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。1-4 簡述結(jié)構(gòu)化范型和面向?qū)ο蠓缎偷囊c(diǎn),并分析它們的優(yōu)缺點(diǎn)。 目前使用得最廣泛的軟件工程方法學(xué)( 2 種):1. 傳統(tǒng)方法學(xué): 也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。 優(yōu)點(diǎn): 把軟件生命周期劃分成基 干個階段, 每個階段的任務(wù)相對獨(dú)立,而且比較簡單,便于不同人員分工協(xié)作, 從而降低 了整個軟件開發(fā)過程的困難程度。 缺點(diǎn): 當(dāng)軟件規(guī)模龐大時, 或者對軟件的需求是模糊的或 會承受時 間而變化的時候,開發(fā)出的軟件往往不成功;而且維護(hù)起來仍然
2、很困難。2. 面向?qū)ο蠓椒▽W(xué):優(yōu)點(diǎn):降低了軟件產(chǎn)品的復(fù)雜性;提高了軟件的可理解性;簡化了 軟件的開發(fā)和維護(hù)工作; 促進(jìn)了軟件重用。1-6 什么是軟件過程 ?它與軟件工程方法學(xué)有何關(guān)系 ?z 軟件過程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項 任務(wù)的工作步驟 z 軟件工程方法學(xué):通常把在軟件生命周期全過程中使用的一整套技術(shù) 方法的集合稱為方法學(xué),也稱范型1-7 什么是軟件生命周期模型,試比較瀑布模型,快速原型模型,增量模型,和螺旋模型 的優(yōu)缺點(diǎn),說明每種模型的適用范圍。軟件生命周期由軟件定義、 軟件開發(fā)和運(yùn)行維護(hù) 3 個時期組成, 每個時期又進(jìn)一步劃分成若 干個階段。生
3、命周期模型規(guī)定了把生命周期劃分成哪些階段及各個階段的執(zhí)行順序,因此, 也稱為過程模型。瀑布模型的優(yōu)點(diǎn): 1. 可強(qiáng)迫開發(fā)人員采用規(guī)范的方法; 2.嚴(yán)格規(guī)定了每個階段必須提交的文 檔;3. 要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗證。適用瀑布模型的缺點(diǎn): 1. 在軟件開發(fā)初期,指明用戶全部需求是困難的; 2.需求確定后,經(jīng) 過一段時間才得到軟件最初版本; 3. 完全依賴規(guī)格說明, 導(dǎo)致不能滿足用戶需求。 中小型項目??焖僭湍P偷膬?yōu)點(diǎn): 1 滿足用戶需求程度高; 2 用戶的參與面廣; 3 返工現(xiàn)象少 速原型模型的優(yōu)點(diǎn):不適用大型軟件的開發(fā) 適用于小型項目。增量模型的優(yōu)點(diǎn): 1短期
4、內(nèi)可以交付滿足部分用戶需求的功能產(chǎn)品; 2 逐步增加功能可 以讓用戶去適應(yīng)新產(chǎn)品; 3開放式的軟件可維護(hù)性比較好; 4 開始第一構(gòu)件前,已經(jīng)完成需 求說明。增量模型的缺點(diǎn): 1對現(xiàn)有產(chǎn)品功能造成破壞; 2 意義上的矛盾 適用于中型軟件的開發(fā) 螺旋模型的優(yōu)點(diǎn): 1集成了瀑布模型、快速原型模型、增量模型的優(yōu)點(diǎn); 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)勢。螺旋模型的缺
5、點(diǎn): 1 迭代次數(shù)影響開發(fā)成本,延遲提價時間; 2 找不到關(guān)鍵改進(jìn)點(diǎn),人才、物 力、財力時間引起無謂消耗; 3 成于風(fēng)險分析,敗于風(fēng)險分析。 適用于內(nèi)部開發(fā)的大規(guī)模 軟件項目。1-8 :為什么說噴泉模型叫好的體現(xiàn)了面向?qū)ο筌浖_發(fā)過程無縫和迭代的特性?因為使用面向?qū)ο蠓椒▽W(xué)開發(fā)軟件時, 各個階段都使用統(tǒng)一的概念和表示符號, 因此, 整個 開發(fā)過程都是吻合一致的, 或者說是無縫連接的, 這自然就很容易實現(xiàn)各個開發(fā)步驟的反復(fù) 多次迭代, 達(dá)到認(rèn)識的逐步深化, 而噴泉模型的則很好的體現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代 和無縫的特性。1-9 :試討論 Rational 統(tǒng)一過程的優(yōu)缺點(diǎn) 優(yōu)點(diǎn):提高了團(tuán)隊生產(chǎn)
6、力,在迭代的開發(fā)過程、需求管理、基于組建的體系結(jié)構(gòu)、可視化軟 件建模、 驗證軟件質(zhì)量及控制軟件變更等方面、 針對所有關(guān)鍵的開發(fā)活動為每個開發(fā)成員提 供了必要的準(zhǔn)則、 模版和工具指導(dǎo), 并確保全體成員共享相同的知識基礎(chǔ)。 它簡歷了簡潔和 清晰的過程結(jié)構(gòu),為開發(fā)過程提供較大的通用性。缺點(diǎn):RUP只是一個開發(fā)過程,并沒有涵蓋軟件過程的全部內(nèi)容,例如它缺少關(guān)于軟件運(yùn)行 和支持等方面的內(nèi)容, 此外, 它沒有支持多項目的開發(fā)結(jié)構(gòu), 這在一定程度上降低了在開發(fā) 組織內(nèi)大范圍實現(xiàn)重用的可能性。大型的需求不斷變化的復(fù)雜軟件系統(tǒng)項1-10 Rational 統(tǒng)一過程主要適用于何種項目? 目1-11 : 說明敏捷過
7、程的適用范圍 適用于商業(yè)競爭環(huán)境下對小型項目提出的有限資源和有限開發(fā)時間的約束。1-12 說明微軟過程的適用范圍 適用于商業(yè)環(huán)境下具有有限資源和有限開發(fā)時間約束的項目的軟件過程模式。第二章避免時間、 資源、 人力和金錢2-1 在軟件開發(fā)的早期階段為什么要進(jìn)行可行性分析研究?應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)的 可行性? 可行性分析是要進(jìn)行一次大大壓縮簡化系統(tǒng)分析和設(shè)計過程,的浪費(fèi)。技術(shù)上的可行性 使用現(xiàn)有的技術(shù)能實現(xiàn)這個系統(tǒng)嗎?經(jīng)濟(jì)上的可行性 這個系統(tǒng)的經(jīng)濟(jì)效益能超過它的開發(fā)成本嗎?(投資與效益)操作可行性 系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎? 社會、政策允許的可行性2-2 為方便儲戶,某銀行擬開
8、發(fā)計算機(jī)儲蓄系統(tǒng)。儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入 系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并印 出存款單給儲戶; 如果是取款, 系統(tǒng)計算利息并印出利息清單給儲戶。 請畫出此系統(tǒng)的數(shù)據(jù) 流圖行存款信息存款信息旅行時間、旅行目的地等)輸入進(jìn)該系統(tǒng),系統(tǒng)為旅客 旅客在飛機(jī)起飛的前一天憑取票通知和賬單交款取票, 票給旅客。請畫出系統(tǒng)的數(shù)據(jù)流圖。nMH取票逋知in 血 *nil 聽匸班信息丿M-賬單/票熱2-4目前住院病人主要由護(hù)士護(hù)理,這樣做不僅需要大量護(hù)士,而且由于不能隨時觀察危險 病人的病情變化,還可能會延誤搶救時機(jī)。 某醫(yī)院打算開發(fā)一個以計算機(jī)為中心的患
9、者監(jiān)護(hù) 系統(tǒng),試寫出問題定義,并且分析開發(fā)這個系統(tǒng)的可行性。心電醫(yī)院對患者監(jiān)護(hù)系統(tǒng)的基本要求是隨時接受每個病人的生理信號(脈搏、體溫、血壓、 圖等),定時記錄病人情況以及形成患者日志,當(dāng)某個病人的生理信號超出醫(yī)生規(guī)定的安全 范圍時向值班護(hù)士發(fā)出警告信息,此外,護(hù)士在需要時還可以要求系統(tǒng)印出某個指定病人的病 情 報 告。 請 畫 出 系 統(tǒng) 的 數(shù) 據(jù) 流 圖翻人者安全接受m分析由產(chǎn)器時鐘*定E智理篇5Dl2-5北京某高??捎玫碾娫捥柎a由以下幾類:校內(nèi)電話號碼由4位數(shù)字組成,第一位數(shù)字不是零;校外電話又分為本市電話和外地電話兩類,撥校外電話先撥 0,若是本地電話再接著撥8位數(shù)字(固話第一位不是0
10、)或11位數(shù)字(移動電話第一位為1);若是外地電話,則撥 3位區(qū)碼再撥8位電話號碼(固話第一位不是0),或撥0再撥11位數(shù)字(移動電話第一位為1)。請用數(shù)據(jù)定義的方法,定義上述電話號碼。電話號碼=校內(nèi)號碼I校外號碼校內(nèi)號碼=非0數(shù)字+3數(shù)字3校外號碼=0+本地號碼I外地號碼本地號碼=固話號碼I手機(jī)號碼固話 號碼=非 0數(shù)字+7數(shù)字7手機(jī)號碼=1 + 10數(shù)字10外地號碼=外地固話號碼I外地手機(jī)號碼外地固話號碼=3數(shù)字3+固話號碼外地手機(jī)號碼 =0+手機(jī)號碼 非 0 數(shù)字=1|2|3|4|5|6|7|8|9第二早1、為什么要進(jìn)行需求分析?通常對軟件系統(tǒng)有哪些需求?答:為了開發(fā)出真正滿足用戶需求的
11、軟件產(chǎn)品,準(zhǔn)確定義未來系統(tǒng)的目標(biāo),確定為了滿足用戶的需要系統(tǒng)必須做什么,就必須要進(jìn)行準(zhǔn)確的需求分析。通常對軟件系統(tǒng)的需求有:功能需求;性能需求;可靠性和可用性需求;出錯處理需求;接口需 求;約束;逆向需求;文檔需求;數(shù)據(jù)需求等等。2、銀行計算機(jī)儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址、身份證號碼等存款信息,并打印出存款存單給儲戶;如果是取款且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼, 若密碼正確或存款時未留密碼,則系統(tǒng)計算利息并打印出利息清單給儲戶。用數(shù)據(jù)流圖描述本系統(tǒng)的功能,并用ER圖描繪系統(tǒng)中的數(shù)據(jù)對象。6、復(fù)印機(jī)的工作過程大
12、致如下:未接到復(fù)印命令時處于閑置狀態(tài),一旦接到復(fù)印命令則進(jìn)入復(fù)印狀態(tài),完成一個復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復(fù)印命令;如果執(zhí)行復(fù)印命令時發(fā)現(xiàn)沒紙,則進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進(jìn)入閑置狀態(tài),準(zhǔn)備接收復(fù)印命令;如果復(fù)印時發(fā)生卡紙故障,則進(jìn)入卡紙狀態(tài),發(fā)出警告等待維修人員來 排除故障,故障排除后回到閑置狀態(tài)。請用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機(jī)的行為。不考,略。從問題陳述可知,復(fù)印機(jī)的狀態(tài)主要有“閑置” 、“復(fù)印”、“缺紙”和“卡紙”。引起狀態(tài)轉(zhuǎn) 換的事件主要是“復(fù)印命令”、“完成復(fù)印命令”、“發(fā)現(xiàn)缺紙”、“裝滿紙”、“發(fā)生卡紙故障”第五章5-4美國某大學(xué)共有200名教師,校方與
13、教師工會剛剛簽訂一項協(xié)議。按照協(xié)議,所有年工 資超過$ 26 000(含$ 26 000)的教師工資將保持不變,年工資少于$26 000的教師將增加工資,所增加的工資數(shù)按下述方法計算:給每個由此教師所贍養(yǎng)的人(包括教師本人)每年補(bǔ)助$ 100,此外,教師有一年工齡每年再多補(bǔ)助$50 ,但是,增加后的年工資總額不能多于$ 26 000 O教師的工資檔案儲存在行政辦公室的磁帶上,檔案中有目前的年工資、贍養(yǎng)的人數(shù)、雇用日期等信息。需要寫一個程序計算并印出每名教師的原有工資和調(diào)整后的新工資。要求:(1)畫出此系統(tǒng)的數(shù)據(jù)流圖;(1)畫出此系統(tǒng)的數(shù)據(jù)流圖; (2)寫出需求說明;(3)設(shè)計上述的工資調(diào)整程序
14、(要求用HIPO圖描繪設(shè)計結(jié)果),設(shè)計時請分別采用下述兩種算 法,并比較這兩種算法的優(yōu)缺點(diǎn):校核是否超過$26 000,搜索工資檔案數(shù)據(jù),找出年工資少于$ 26 000的人,計算新工資,儲存新工資,印出新舊工資對照表;26 000時即停止排新工資,印出結(jié)答:(b)把工資檔案數(shù)據(jù)按工資從最低到最高的次序排序,當(dāng)工資數(shù)額超過$限額,儲存序,計算新工資,校核是否超雇傭果需求說明1. 任勢枇述!對于年工資未起過SZ6OD期教師工資:號贍養(yǎng)1人那助粗0工每肓一年 工助$56俳工資上隈為 取切0:2. 數(shù)拆ffi述:歆據(jù).軍描述;工資表r VF5.功能需宋:對于年工賀未昶過$託門0的鞍師就工資:哥贍養(yǎng)1人
15、補(bǔ)助現(xiàn)06母有=年 工齡補(bǔ)閒$5匕工資上退為留2冏匕(b)漲工資糸統(tǒng)I排序10修改20校核30打用4,0EHD IFIF y0LOOP:DO WHILEA=B+1 IF A10THENELSEIF F0THEN PRINT CELSE PRINT K ENDIFSTOP于不形復(fù)3?. V Cg) -H-br+2-17-13+2:6存在的邏履冋題:1)當(dāng)Z0時扇形成死愴環(huán).2)條件Y5包含條件Y=26-1 .假設(shè)只有SEQUENCE和DO_UHILE兩種控制結(jié)徇,怎樣利用它們完成 IF_THrV_FLSE 操件?答,轅化如下.K= 1DO WHILE (條件 AND, KZQJ) 程序塊1K=K
16、-1END DODO WHILE CE和IF_JHE、丄LSE兩種E制S徇,怎樣利用它們亮咸 DO_VH1L1 肆作?嘗I轉(zhuǎn)化如下;labpi- IF (條件)THFN程呼塊GOTO labelELSE程序塊END IF6-3:畫出下列偽碼程序的程序流程圖和盒圖開姑*停止Tq佶環(huán)WHILE p|(1)為什么說它是非結(jié)構(gòu)6-4 .下圖給出的程序流程圖代表一個非結(jié)構(gòu)化的程序,請問: 化的? ( 2)設(shè)計一個等價的結(jié)構(gòu)化程序。(3)在(2)題的設(shè)計中你使用附加的標(biāo)志變量 的程序;若用了,再設(shè)計一個不用flag嗎?若沒用,請再設(shè)計一個使用 flagflag的程序。答:(1)通常所說的結(jié)構(gòu)化程序,是按照
17、 圖示的程序的循環(huán)控制結(jié)構(gòu)有兩個出口,狹義的結(jié)構(gòu)程序的定義衡量,符合定義規(guī)定的程序。 顯然不符合狹義的結(jié)構(gòu)程序的定義,因此是非結(jié)構(gòu)化的程序。(2)使用附加的標(biāo)志變量 flag,至少有兩種方法可以把該程序改造為等價的結(jié)構(gòu)化程序, 圖 6-3 描繪了等價的結(jié)構(gòu)化程序的盒 圖。構(gòu)3)不使用 如圖flag把該程序改造為6-4 所示。圖6-勻該圖等價的結(jié)構(gòu)化程序(不用仙肖)6-5.研 究 下 面 的 偽 代 碼 程序:LOOP: Set I to (START+FINISH2/ If TABLE(I)=ITEM goto FOUND If TABLE(I)ITEM Set FINISH to (I-1)
18、 If (FINISH-START )1 goto LOOP If TABLE(STA RT)=ITEM goto FOUND If TABLE(FINISH)=ITEM goto FOUND Set FLAG to 0 Goto DONE FOUN D: Set FLAG to 1 DONE:Exit(1) 畫出程序流程圖。(2) 程序是結(jié)構(gòu)化嗎?說明理由。(3) 若程序是非結(jié)構(gòu)化的, 設(shè)計一個等價的結(jié)構(gòu)化程序并且畫出流程圖。(4)此程序的功能是什么?它完成預(yù)定功能有什么隱含的前提條件。答:(1)該程序流程圖如下:1F1=1 5TAF.T FINISH 11 2號*J、TABLECI)=1
19、TEM-TABLE (IRITEMFini=I-1FTAELE結(jié)京.(2) 該程序不是結(jié)構(gòu)化的,結(jié)構(gòu)化的程序只有一個入口和一個出口,而該程序的流程途中 有兩個出口。(3) 等價的結(jié)構(gòu)化程序的流程圖如下:Flaa=Oiff- & fla3-=O -J二、TablcdKiffm .Jr-.FFlag 1S-IlF-I-1T4)此程序有二分查找的功能,它完成預(yù)定功能的隱含前提條件是現(xiàn)有序列為從小到大順序 排好的有序序列。6-7.某交易所規(guī)定給經(jīng)紀(jì)人的手續(xù)費(fèi)計算方法如下:總手續(xù)費(fèi)等于基本手續(xù)費(fèi)加上與交易 中的每股價格和股數(shù)有關(guān)的附加手續(xù)費(fèi)。如果交易總金額少于1000元,則基本手續(xù)費(fèi)為交易金額的8.4%
20、;如果交易總金額在1000元到10000元之間,則基本手續(xù)費(fèi)為交易金額的5%,再加34元;如果交易總金額超過 10000元,則基本手續(xù)費(fèi)為交易金額的4%加上134元。當(dāng)每股售價低于14元時,附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的5%,除非買進(jìn)、賣出的股數(shù)不是100的倍數(shù),在這種情況下附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的9%。當(dāng)每股售價在14元到25元之間時,附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的2%,除非交易的股數(shù)不是 100的倍數(shù),在這種情況下附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的6%。當(dāng)每股售價超過 25元時,如果交易的股數(shù)零散 (即,不是100的倍 數(shù)),則附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的4%,否則附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的1%。要求:(1)用判定表
21、表示手續(xù)費(fèi)的計算方法;(2)用判定樹表示手續(xù)費(fèi)的計算方法。答:(1)判定表如圖6-6所示:(2)L *1A.lA7関二紡|a 宀 X Lr-AzVIIrTI11II卜I w-111-L二1IIs1 E-Ahr-1hr 1 *M 11HT11 1, hJw,-:IIT1-1H-3Jh1.rD M-1n1-1I 一T1 TTH1 -T11II-Jr宀 + T ? H宀* -土 -d-4-L:JH#u *匚 : _| 4嚴(yán)-hfj t -? 一 二瓷產(chǎn)#O鼻 卜、#化+P r 3 ; U-k4zr*1 N T_- 1 15門4 J 3 -U 1 H*i1KXi116-8取榆八I-1I4XI oof:
22、戕雪:耽人T樹哉il斎皿;XWrU 金時000-均I如圖比乂.扁0金網(wǎng)占夕|I W/tVW息金 劃S人f iMcn luikfM4rJ25 A.U數(shù)上lOOfl 敦嗆取們iZ: iwfrt &1()01 1 敦ItJifr.K J工,尤2?l懺檢嚇? I 4#.股奴卜炷iinnilr.垃汨曲刖/34 I *門5%)I 用r%L 陰 I F( !-*)% KM)仔 aI投幵!14啊25股獨(dú)I、肚_WfJ:looifr,気-節(jié)ST斗 I H2*:s陽卄A4 * E 1-mS% )S*尸嚴(yán)3心 * 1( 11%;悄任小j-l4/t般f瓷大j-25 fL股數(shù)是 EUU侶 st”:敵不忌luoUSt股故
23、不込I如侶藪(SM 134 * * ( |-2%(S4% LU) - 1 I h% 1 1 1-4%(站*d 1M * 1-1%合:U丿啖仍化)旳渝柱囹燦蟄SS勿示:Z開始、 、結(jié)束圖6-8程,予流程圖 根據(jù)該程序血程圖,可得該程序流冬如圖6-9所示*#、1 廠=/7/ / /*、I:.、Z 10K .y圖6-9程序流圖環(huán)形復(fù)雜度V(G)=流圖中的區(qū)域數(shù)Z不僅沒有經(jīng)過初始化,=流圖中判定結(jié)點(diǎn)數(shù)目+1=5+1=6并且在該循環(huán)內(nèi)部沒(2) 該算法問題在于控制最外層循環(huán)的變量有任何有可能該變 Z的語句。因此,該段代碼中的WHILE循環(huán)部分代碼要么不會執(zhí)行,要么可能出現(xiàn)死循環(huán)。結(jié)束文件不是文件屋!讀一
24、個字符串按行,輸岀字符串:換行統(tǒng)計空格數(shù)并輸出取下一個字符串換行,輸出空格總數(shù)第七章7-2:解:程序流程圖(如圖2.1所示)此程序是非結(jié)構(gòu)化的,它有一個GOTO語句,并且是從一個循環(huán)體內(nèi)轉(zhuǎn)到循環(huán)體外的一修改后的偽如碼下INPUTN, T輸入NINPUT KEYWORD(S) FOR TOPIC輸入有關(guān)話題的關(guān)鍵字OPEN FILE打開文件1=0MATCH=0DO WHILE IWT1=1+1READA WORD OF FILE TO WORD從文件里讀一個宇到變量 WORDIF WORD=KEYWORDTHEN MATCH=MATCH+11 HfcIM MA I CH=rVJA I LH+1I
25、F MATCH=N THEN EXIT 搜索到了 N個關(guān)鍵宇,就跋出信環(huán)END IFEND IFEND DOIF MATCH =0THEN PRINT”NO MATCH”若MATCH =0就打印“沒有相匹配”ELSE PRINT “共搜素到”;MATCH; “個匹配的關(guān)鍵字”否則打印信sEND IF改后的程字框a (盒圖)輸入關(guān)鍵字到變量KEYWOR D打開文件ffOMATCHBEW 為 0DO訓(xùn)HILE 5 THEN X=10 ELSE X=1 END IF IF B10 THEN Y=20 ELSE Y=2 END IF IF C 15 then Z=30 else Z=3 END IF
26、P RINT(Z)Y5T OP答:此程序的語句覆蓋用例:A=5,B=10, C=15;A=6, B=11, C=16條件覆蓋用例為:A=5,B=10,C=15;A=6,B=11,C=16。I StartSA A, B, C打印X,Y. 2Stop7-4:回答下列問題。(1) 什么是模塊測試和集成測試?它們各有什么特點(diǎn)?(2) 假設(shè)有一個由1000行FORTRAN語句構(gòu)成的程序(經(jīng)編譯后大約有 5000條機(jī)器指令), 估計在對它進(jìn)行測試期間將發(fā)現(xiàn)多少個錯誤?為什么?(3) 設(shè)計下列偽碼程序的語句覆蓋和路徑覆蓋測試用例。解答:(1) 模塊測試:保證每個模塊能完成一個清晰定義的子功能而且和統(tǒng)計其他模
27、塊的功能之間 沒有相互依賴的關(guān)系。集成測試:又稱為組裝測試,就是將軟件產(chǎn)品中各個模塊組裝起來,檢查其接口是否存在問 題,以及組裝后的整體功能、性能表現(xiàn)(2) 經(jīng)驗表明,在類似的程序中,單位長度里的錯誤數(shù)ET/IT近似為常數(shù)。美國的一些統(tǒng)計數(shù)字表明,通常:0.005=ET/IT=0.02,即在測試之前,每 1000條指令中大約有 520個錯 誤。所以,在對1000行FORTRAN語句構(gòu)成的程序進(jìn)行測試期間將發(fā)現(xiàn)的錯誤的個數(shù)大約有 25100個。對應(yīng) 的程序流程圖如下號擁M雄生C 4al12bibZclcZ151015 口0寸26111611116L115110361116111369161Q14
28、6914100541114 0106740111(5 011gX6 001S414 00序a、b、c:7-8:對一個包含10000條機(jī)器指令的程序進(jìn)行一個月集成測試后,總共改正了15個錯誤,此時MTTF=10h;經(jīng)過兩個月測試后,總共改正了 25個錯誤(第二個月改正了 10個錯誤), MTTF=15h。要求:(1) 根據(jù)上述數(shù)據(jù)確定 MTTF與測試時間之間的函數(shù)關(guān)系,畫出MTTF與測試時間t的關(guān)系曲線。在畫這條曲線時做了什么假設(shè)?(2) 為做到MTTF=100h,必須進(jìn)行多長時間的集成測試?(3) 當(dāng)集成測試結(jié)束時總共改正了多少個錯誤,還有多少個錯誤潛伏在程序中?解答:(1) 因為平均無故障時
29、間 MTTF與測試時間T之間存在線性關(guān)系,即 MTTF=a+bT, 由于: 10=a+b, 15=a+2b, 得到:a=5, b=5故:平均無故障時間MTTF與測試時間T之間存在線性關(guān)系為:MTTF=5+5t(2) 為做到MTTF=100h,有方程:100=5+5 t,故t =19即必須進(jìn)行19個月的集成測試。(3) 由于經(jīng)驗:平均無故障時間與單位長度程序中剩余的錯誤數(shù)成反比,故 有: MTTF=10000/( K * (ET-ECT )由于:10=10000/( K * (ET-15) ), 15 = 10000/( K * (ET-25) 得到:ET=45, K=33.33當(dāng)集成測試結(jié)束時
30、, MTTF=100h,有:100 = 10000/( 33.33 * ( 45-EC(19) 故:EC(19)=42, 即當(dāng)集成測試結(jié)束時總共改正了42個錯誤,還有45-42=3個錯誤潛伏在程序中。(a)7-9 :如對一個長度為100000條指令的程序進(jìn)行集成測試期間記錄下下面的數(shù)據(jù):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達(dá)到10h,必須測試和調(diào)試這個程序多長時間?( 3)畫出MTTF和測試時間T
31、之間的函數(shù)關(guān)系曲線。解答:(1 )據(jù)估算平均無故障時間MTTF的公式有:1/K(Et/100000-100/100000)=0.4 1 /K (Et/100000-300/100000)=2得:K= 1000 , Et=350即程序中的錯誤總數(shù)達(dá) 350。(2 )當(dāng) MTTF= 10h 時,有1/K (350/100000- Ec/100000)=10得:Ec=340按七八月分測試改錯進(jìn)度估算,還需進(jìn)行2個月的集成測試。關(guān)系曲線如下:7-10:在測試一個長度為 24000條指令的程序時,第一個月由甲、乙兩名測試員各自獨(dú)立 測試這個程序。經(jīng)一個月測試后,甲發(fā)現(xiàn)并改正20個錯誤,使MTTF達(dá)到10h。與此同時,乙發(fā)現(xiàn)24個錯誤,其中6個甲也發(fā)現(xiàn)了。以后由甲一個人繼續(xù)測試這個程序。問:(1)剛開始測試時程序中總共有多少個潛藏的錯誤?(2)為使MTTF達(dá)到60h,必須再改正多少個錯誤?還需用多長測試時間?(3) 畫出MTTF與集成測試時間T之間的函數(shù)關(guān)系曲線。解答:(1)本題中采用的是分別測試法,測試前程序中的錯誤總數(shù):B0=B1*B2Zbc=20*24/6=80 (2)由于經(jīng)驗:平均無故障時間與單位長度程序中剩余的錯誤數(shù)成反比,故 有
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北省2023-2024學(xué)年普通高中學(xué)業(yè)水平合格性考試仿真模擬卷英語試卷
- 中國車座墊行業(yè)市場調(diào)查研究及投資前景預(yù)測報告
- 四年級數(shù)學(xué)(四則混合運(yùn)算)計算題專項練習(xí)與答案
- 桁架式電動升降雷達(dá)塔 7米高透波玻璃鋼避雷針 玻璃纖維照明燈桿
- 餐飲知識類培訓(xùn)課件圖片
- 年產(chǎn)80萬套制動鼓輪轂提質(zhì)升級項目可行性研究報告模板-立項備案
- 樹立正確職業(yè)心態(tài)
- 車床數(shù)控知識培訓(xùn)課件
- 生成式人工智能的教育應(yīng)用與展望-以ChatGPT 系統(tǒng)為例
- 臨床類風(fēng)濕關(guān)節(jié)炎疾病概述、臨床表現(xiàn)、治療原則、要護(hù)理問題、相關(guān)因素、護(hù)理重點(diǎn)及健康指導(dǎo)
- 代縣雁門光伏升壓站~寧遠(yuǎn)220kV線路工程環(huán)評報告
- 承諾函(支付寶)
- 危險化學(xué)品目錄2023
- FZ/T 81024-2022機(jī)織披風(fēng)
- GB/T 24123-2009電容器用金屬化薄膜
- 艾滋病梅毒乙肝實驗室檢測
- 國鐵橋梁人行道支架制作及安裝施工要點(diǎn)課件
- 領(lǐng)導(dǎo)科學(xué)全套精講課件
- 粵教版地理七年級下冊全冊課件
- 小學(xué)科學(xué)蘇教版六年級上冊全冊精華知識點(diǎn)(2022新版)
- 萎縮性胃炎共識解讀
評論
0/150
提交評論