2022年軟件工程導(dǎo)論張海藩課后習(xí)題部分答案_第1頁
2022年軟件工程導(dǎo)論張海藩課后習(xí)題部分答案_第2頁
2022年軟件工程導(dǎo)論張海藩課后習(xí)題部分答案_第3頁
2022年軟件工程導(dǎo)論張海藩課后習(xí)題部分答案_第4頁
2022年軟件工程導(dǎo)論張海藩課后習(xí)題部分答案_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第一章1-1 什么是軟件危機(jī)? 是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。1-3 什么是軟件工程? 是指導(dǎo)計(jì)算機(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): 把軟件生命周期劃分成基干個(gè)階段, 每個(gè)階段的任務(wù)相對(duì)獨(dú)立,而且比較簡單,便于不同人員分工協(xié)作,從而降低了整個(gè)軟件開發(fā)過程的困難程度。缺點(diǎn): 當(dāng)軟件規(guī)模龐大時(shí),或者對(duì)軟件的需求是模糊的或會(huì)承受時(shí)間而變化的時(shí)候,開發(fā)出的軟件往往不成功;而且維護(hù)起來仍然很困難。2. 面向?qū)ο?/p>

2、方法學(xué):優(yōu)點(diǎn):降低了軟件產(chǎn)品的復(fù)雜性;提高了軟件的可理解性;簡化了軟件的開發(fā)和維護(hù)工作;促進(jìn)了軟件重用。1-6 什么是軟件過程?它與軟件工程方法學(xué)有何關(guān)系? z 軟件過程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟z 軟件工程方法學(xué):通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué),也稱范型1-7 什么是軟件生命周期模型,試比較瀑布模型,快速原型模型,增量模型,和螺旋模型的優(yōu)缺點(diǎn),說明每種模型的適用范圍。軟件生命周期由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)3 個(gè)時(shí)期組成, 每個(gè)時(shí)期又進(jìn)一步劃分成若干個(gè)階段。生命周期模型規(guī)定了把生命周期劃分成哪些階段及

3、各個(gè)階段的執(zhí)行順序,因此,也稱為過程模型。瀑布模型的優(yōu)點(diǎn): 1. 可強(qiáng)迫開發(fā)人員采用規(guī)范的方法;2. 嚴(yán)格規(guī)定了每個(gè)階段必須提交的文檔; 3. 要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗(yàn)證。瀑布模型的缺點(diǎn):1. 在軟件開發(fā)初期,指明用戶全部需求是困難的;2. 需求確定后,經(jīng)過一段時(shí)間才得到軟件最初版本;3. 完全依賴規(guī)格說明,導(dǎo)致不能滿足用戶需求。適用中小型項(xiàng)目??焖僭湍P偷膬?yōu)點(diǎn):1 滿足用戶需求程度高;2 用戶的參與面廣;3 返工現(xiàn)象少快速原型模型的優(yōu)點(diǎn):不適用大型軟件的開發(fā)適用于小型項(xiàng)目。增量模型的優(yōu)點(diǎn):1 短期內(nèi)可以交付滿足部分用戶需求的功能產(chǎn)品;2 逐步增加功能可以讓用

4、戶去適應(yīng)新產(chǎn)品;3 開放式的軟件可維護(hù)性比較好;4 開始第一構(gòu)件前,已經(jīng)完成需求說明。增量模型的缺點(diǎn):1對(duì)現(xiàn)有產(chǎn)品功能造成破壞;2 意義上的矛盾適用于中型軟件的開發(fā)螺旋模型的優(yōu)點(diǎn):1 集成了瀑布模型、快速原型模型、增量模型的優(yōu)點(diǎn);2 支持用戶需求動(dòng)態(tài)變化; 3 需求分析與軟件實(shí)現(xiàn)緊密聯(lián)系相互依賴;4 原型作為刑式的可執(zhí)行的需求規(guī)格說明,即利用用戶和開發(fā)人員共同理解,又可作為后續(xù)開發(fā)的基礎(chǔ);5 為用戶參與決策提供方便; 6 提高目標(biāo)軟件的適應(yīng)能力;7 降低風(fēng)險(xiǎn);8 在大型軟件開發(fā)過程中充分發(fā)揮優(yōu)勢。螺旋模型的缺點(diǎn):1 迭代次數(shù)影響開發(fā)成本,延遲提價(jià)時(shí)間;2 找不到關(guān)鍵改進(jìn)點(diǎn),人才、物力、財(cái)力時(shí)間

5、引起無謂消耗;3 成于風(fēng)險(xiǎn)分析,敗于風(fēng)險(xiǎn)分析。適用于內(nèi)部開發(fā)的大規(guī)模軟件項(xiàng)目。1-8 :為什么說噴泉模型叫好的體現(xiàn)了面向?qū)ο筌浖_發(fā)過程無縫和迭代的特性?精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 1 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 1 頁,共 25 頁 - - - - - - - - -因?yàn)槭褂妹嫦驅(qū)ο蠓椒▽W(xué)開發(fā)軟件時(shí),各個(gè)階段都使用統(tǒng)一的概念和表示符號(hào),因此, 整個(gè)開發(fā)過程都是吻合一致的,或者說是無縫連接的,這自然就很容易實(shí)現(xiàn)各個(gè)開

6、發(fā)步驟的反復(fù)多次迭代, 達(dá)到認(rèn)識(shí)的逐步深化,而噴泉模型的則很好的體現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代和無縫的特性。1-9 :試討論rational統(tǒng)一過程的優(yōu)缺點(diǎn)優(yōu)點(diǎn):提高了團(tuán)隊(duì)生產(chǎn)力,在迭代的開發(fā)過程、需求管理、基于組建的體系結(jié)構(gòu)、可視化軟件建模、 驗(yàn)證軟件質(zhì)量及控制軟件變更等方面、針對(duì)所有關(guān)鍵的開發(fā)活動(dòng)為每個(gè)開發(fā)成員提供了必要的準(zhǔn)則、模版和工具指導(dǎo),并確保全體成員共享相同的知識(shí)基礎(chǔ)。它簡歷了簡潔和清晰的過程結(jié)構(gòu),為開發(fā)過程提供較大的通用性。缺點(diǎn): rup只是一個(gè)開發(fā)過程,并沒有涵蓋軟件過程的全部內(nèi)容,例如它缺少關(guān)于軟件運(yùn)行和支持等方面的內(nèi)容,此外, 它沒有支持多項(xiàng)目的開發(fā)結(jié)構(gòu),這在一定程度上降低

7、了在開發(fā)組織內(nèi)大范圍實(shí)現(xiàn)重用的可能性。1-10 rational統(tǒng)一過程主要適用于何種項(xiàng)目?大型的需求不斷變化的復(fù)雜軟件系統(tǒng)項(xiàng)目1-11 :說明敏捷過程的適用范圍適用于商業(yè)競爭環(huán)境下對(duì)小型項(xiàng)目提出的有限資源和有限開發(fā)時(shí)間的約束。1-12 說明微軟過程的適用范圍適用于商業(yè)環(huán)境下具有有限資源和有限開發(fā)時(shí)間約束的項(xiàng)目的軟件過程模式。第二章2-1 在軟件開發(fā)的早期階段為什么要進(jìn)行可行性分析研究?應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)的可行性?可行性分析是要進(jìn)行一次大大壓縮簡化系統(tǒng)分析和設(shè)計(jì)過程,避免時(shí)間、 資源、 人力和金錢的浪費(fèi)。技術(shù)上的可行性使用現(xiàn)有的技術(shù)能實(shí)現(xiàn)這個(gè)系統(tǒng)嗎?經(jīng)濟(jì)上的可行性這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能超

8、過它的開發(fā)成本嗎?(投資與效益)操作可行性 系統(tǒng)的操作方式在這個(gè)用戶組織內(nèi)行得通嗎?社會(huì)、政策允許的可行性2-2 為方便儲(chǔ)戶,某銀行擬開發(fā)計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)。儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并印出存款單給儲(chǔ)戶;如果是取款, 系統(tǒng)計(jì)算利息并印出利息清單給儲(chǔ)戶。請(qǐng)畫出此系統(tǒng)的數(shù)據(jù)流圖。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 2 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 2

9、 頁,共 25 頁 - - - - - - - - -2-3 為方便旅客,某航空公司擬開發(fā)一個(gè)機(jī)票預(yù)定系統(tǒng)。旅行社把預(yù)訂機(jī)票的旅客信息(姓名、性別、工作單位、身份證號(hào)碼、旅行時(shí)間、旅行目的地等)輸入進(jìn)該系統(tǒng),系統(tǒng)為旅客安排航班, 印出取票通知和賬單,旅客在飛機(jī)起飛的前一天憑取票通知和賬單交款取票,系統(tǒng)核對(duì)無誤即 印出機(jī)票給旅 客。請(qǐng)畫出系統(tǒng)的數(shù)據(jù)流圖 。2-4 目前住院病人主要由護(hù)士護(hù)理,這樣做不僅需要大量護(hù)士,而且由于不能隨時(shí)觀察危險(xiǎn)病人的病情變化, 還可能會(huì)延誤搶救時(shí)機(jī)。某醫(yī)院打算開發(fā)一個(gè)以計(jì)算機(jī)為中心的患者監(jiān)護(hù)系統(tǒng),試寫出問題定義,并且分析開發(fā)這個(gè)系統(tǒng)的可行性。醫(yī)院對(duì)患者監(jiān)護(hù)系統(tǒng)的基本要

10、求是隨時(shí)接受每個(gè)病人的生理信號(hào)(脈搏、體溫、血壓、心電圖等) ,定時(shí)記錄病人情況以及形成患者日志,當(dāng)某個(gè)病人的生理信號(hào)超出醫(yī)生規(guī)定的安全范圍時(shí)向值班護(hù)士發(fā)出警告信息,此外,護(hù)士在需要時(shí)還可以要求系統(tǒng)印出某個(gè)指定病人的病情報(bào)告。請(qǐng)畫出系統(tǒng)的數(shù)據(jù)流圖精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 3 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 3 頁,共 25 頁 - - - - - - - - -2-5 北京某高校可用的電話號(hào)碼由以下幾類:校內(nèi)電話號(hào)碼由

11、4 位數(shù)字組成,第一位數(shù)字不是零;校外電話又分為本市電話和外地電話兩類,撥校外電話先撥0,若是本地電話再接著撥8 位數(shù)字(固話第一位不是0)或 11 位數(shù)字(移動(dòng)電話第一位為1) ;若是外地電話,則撥3位區(qū)碼再撥8 位電話號(hào)碼(固話第一位不是0) ,或撥 0 再撥 11 位數(shù)字(移動(dòng)電話第一位為1) 。請(qǐng)用數(shù)據(jù)定義的方法,定義上述電話號(hào)碼。電話號(hào)碼 =校內(nèi)號(hào)碼 | 校外號(hào)碼 校內(nèi)號(hào)碼 =非 0 數(shù)字 +3數(shù)字 3 校外號(hào)碼 =0+本地號(hào)碼 | 外地號(hào)碼 本地號(hào)碼 =固話號(hào)碼 | 手機(jī)號(hào)碼 固話號(hào)碼 =非 0 數(shù)字 +7數(shù)字 7 手機(jī)號(hào)碼 =1+10數(shù)字 10 外地號(hào)碼 = 外地固話號(hào)碼| 外地

12、手機(jī)號(hào)碼 外地固話號(hào)碼=3數(shù)字 3+固話號(hào)碼外地手機(jī)號(hào)碼=0+手機(jī)號(hào)碼非 0 數(shù)字 =1|2|3|4|5|6|7|8|9 第三章1、為什么要進(jìn)行需求分析?通常對(duì)軟件系統(tǒng)有哪些需求?答:為了開發(fā)出真正滿足用戶需求的軟件產(chǎn)品,準(zhǔn)確定義未來系統(tǒng)的目標(biāo), 確定為了滿足用戶的需要系統(tǒng)必須做什么,就必須要進(jìn)行準(zhǔn)確的需求分析。通常對(duì)軟件系統(tǒng)的需求有:功能需求;性能需求;可靠性和可用性需求;出錯(cuò)處理需求;接口需求;約束;逆向需求;文檔需求;數(shù)據(jù)需求等等。2、 銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過程大致如下:儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - -

13、- - - 第 4 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 4 頁,共 25 頁 - - - - - - - - -統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址、身份證號(hào)碼等存款信息,并打印出存款存單給儲(chǔ)戶; 如果是取款且存款時(shí)留有密碼,則系統(tǒng)首先核對(duì)儲(chǔ)戶密碼,若密碼正確或存款時(shí)未留密碼,則系統(tǒng)計(jì)算利息并打印出利息清單給儲(chǔ)戶。用 數(shù) 據(jù) 流 圖 描 述 本 系 統(tǒng) 的 功 能 , 并 用er圖 描 繪 系 統(tǒng) 中 的 數(shù) 據(jù) 對(duì) 象 。6、復(fù)印機(jī)的工作過程大致如下:未接到復(fù)印命令時(shí)處于閑置狀態(tài),

14、一旦接到復(fù)印命令則進(jìn)入復(fù)印狀態(tài), 完成一個(gè)復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個(gè)復(fù)印命令;如果執(zhí)行復(fù)印命令時(shí)發(fā)現(xiàn)沒紙,則進(jìn)入缺紙狀態(tài), 發(fā)出警告, 等待裝紙, 裝滿紙后進(jìn)入閑置狀態(tài),準(zhǔn)備接收復(fù)印命令;如果復(fù)印時(shí)發(fā)生卡紙故障,則進(jìn)入卡紙狀態(tài),發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。請(qǐng)用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機(jī)的行為。從問題陳述可知,復(fù)印機(jī)的狀態(tài)主要有“閑置”、 “復(fù)印”、 “缺紙”和“卡紙” 。引起狀態(tài)轉(zhuǎn)換的事件主要是“復(fù)印命令”、 “完成復(fù)印命令” 、 “發(fā)現(xiàn)缺紙” 、 “裝滿紙”、 “發(fā)生卡紙故障”和“排除了卡紙故障”。第四章不考,略。精品學(xué)習(xí)資料 可選擇p d f -

15、- - - - - - - - - - - - - 第 5 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 5 頁,共 25 頁 - - - - - - - - -第五章5-4 美國某大學(xué)共有200 名教師,校方與教師工會(huì)剛剛簽訂一項(xiàng)協(xié)議。按照協(xié)議,所有年工資超過 26 000(含 26 000)的教師工資將保持不變,年工資少于26 000 的教師將增加工資,所增加的工資數(shù)按下述方法計(jì)算:給每個(gè)由此教師所贍養(yǎng)的人(包括教師本人)每年補(bǔ)助100,此外,教師有一年工齡每年再多補(bǔ)助50,但是,增加后的年工

16、資總額不能多于26 000。教師的工資檔案儲(chǔ)存在行政辦公室的磁帶上,檔案中有目前的年工資、贍養(yǎng)的人數(shù)、 雇用日期等信息。 需要寫一個(gè)程序計(jì)算并印出每名教師的原有工資和調(diào)整后的新工資。要求: (1) 畫出此系統(tǒng)的數(shù)據(jù)流圖;(1) 畫出此系統(tǒng)的數(shù)據(jù)流圖; (2) 寫出需求說明;(3) 設(shè)計(jì)上述的工資調(diào)整程序(要求用 hipo圖描繪設(shè)計(jì)結(jié)果),設(shè)計(jì)時(shí)請(qǐng)分別采用下述兩種算法,并比較這兩種算法的優(yōu)缺點(diǎn):(a) 搜索工資檔案數(shù)據(jù),找出年工資少于26 000 的人,計(jì)算新工資, 校核是否超過26 000,儲(chǔ)存新工資,印出新舊工資對(duì)照表;(b) 把工資檔案數(shù)據(jù)按工資從最低到最高的次序排序,當(dāng)工資數(shù)額超過26

17、000 時(shí)即停止排序 , 計(jì) 算 新 工 資, 校 核是 否 超 過限 額 , 儲(chǔ) 存 新工 資 , 印出 結(jié)果。答: 精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 6 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 6 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 7 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f -

18、- - - - - - - - - - - - - 第 7 頁,共 25 頁 - - - - - - - - -第六章精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 8 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 8 頁,共 25 頁 - - - - - - - - -6-3:畫出下列偽碼程序的程序流程圖和盒圖6-4下圖給出的程序流程圖代表一個(gè)非結(jié)構(gòu)化的程序,請(qǐng)問:(1)為什么說它是非結(jié)構(gòu)化的? (2)設(shè)計(jì)一個(gè)等價(jià)的結(jié)構(gòu)化程序。(3)在( 2)題的設(shè)計(jì)

19、中你使用附加的標(biāo)志變量flag 嗎?若沒用,請(qǐng)?jiān)僭O(shè)計(jì)一個(gè)使用flag的程序;若用了,再設(shè)計(jì)一個(gè)不用flag 的程序。 答: (1)通常所說的結(jié)構(gòu)化程序,是按照狹義的結(jié)構(gòu)程序的定義衡量,符合定義規(guī)定的程序。 圖示的程序的循環(huán)控制結(jié)構(gòu)有兩個(gè)出口,顯然不符合狹義的結(jié)構(gòu)程序的定義,因此是非結(jié)構(gòu)化的程序。(2)使用附加的標(biāo)志變量flag,至少有兩種方法可以把該程序改造為等價(jià)的結(jié)構(gòu)化程序,圖6-3描繪了等價(jià)的結(jié)構(gòu)化程序的盒圖。3)不使用 flag 把該程序改造為等價(jià)的結(jié)構(gòu)化程序的方法如圖6-4所示。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 9 頁,共 25

20、 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 9 頁,共 25 頁 - - - - - - - - -6-5研究下面的偽代碼程序 : loop : set i to (start+finish)/ 2 if table(i)=item goto found if table(i)item set finish to (i-1) if (finish-start )1 goto loop if table(start)=item goto found if table(finish)=item goto fou

21、nd set flag to 0 goto done found: set flag to 1 done:exit (1) 畫出程序流程圖。(2) 程序是結(jié)構(gòu)化嗎?說明理由。(3) 若程序是非結(jié)構(gòu)化的,設(shè)計(jì)一個(gè)等價(jià)的結(jié)構(gòu)化程序并且畫出流程圖。 (4) 此程序的功能是什 么 ? 它 完 成 預(yù) 定 功 能 有 什 么 隱 含 的 前 提 條 件 。答 : ( 1 ) 該 程 序 流 程 圖 如 下 :精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 10 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - -

22、- - - - - - - - - - 第 10 頁,共 25 頁 - - - - - - - - -(2)該程序不是結(jié)構(gòu)化的,結(jié)構(gòu)化的程序只有一個(gè)入口和一個(gè)出口,而該程序的流程途中有兩個(gè)出口。(3)等價(jià)的結(jié)構(gòu)化程序的流程圖如下:精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 11 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 11 頁,共 25 頁 - - - - - - - - -4)此程序有二分查找的功能,它完成預(yù)定功能的隱含前提條件是現(xiàn)有序列為從

23、小到大順序排好的有序序列。6-7某交易所規(guī)定給經(jīng)紀(jì)人的手續(xù)費(fèi)計(jì)算方法如下:總手續(xù)費(fèi)等于基本手續(xù)費(fèi)加上與交易中的每股價(jià)格和股數(shù)有關(guān)的附加手續(xù)費(fèi)。如果交易總金額少于1000 元,則基本手續(xù)費(fèi)為交易金額的 8.4%; 如果交易總金額在1000 元到 10000 元之間,則基本手續(xù)費(fèi)為交易金額的5%,再加 34 元;如果交易總金額超過10000 元,則基本手續(xù)費(fèi)為交易金額的4%加上 134 元。當(dāng)每股售價(jià)低于14 元時(shí),附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的5%,除非買進(jìn)、賣出的股數(shù)不是100的倍數(shù), 在這種情況下附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的9%。當(dāng)每股售價(jià)在14 元到 25 元之間時(shí),附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的2%,除

24、非交易的股數(shù)不是100 的倍數(shù),在這種情況下附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的6%。當(dāng)每股售價(jià)超過25 元時(shí),如果交易的股數(shù)零散(即,不是100 的倍數(shù)),則附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的4%,否則附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的1%。 要求:(1) 用判定表表示手續(xù)費(fèi)的計(jì)算方法; (2) 用判定樹表示手續(xù)費(fèi)的計(jì)算方法。答: (1)判定表如圖 6-6 所示:精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 12 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 12 頁,共 25 頁

25、 - - - - - - - - -(2)(2)判定樹如圖6-7 所示:精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 13 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 13 頁,共 25 頁 - - - - - - - - -6-8 精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 14 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - -

26、 - - - - 第 14 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 15 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 15 頁,共 25 頁 - - - - - - - - -環(huán)形復(fù)雜度v(g)=流圖中的區(qū)域數(shù)=流圖中判定結(jié)點(diǎn)數(shù)目+1=5+1=6 (2)該算法問題在于控制最外層循環(huán)的變量z不僅沒有經(jīng)過初始化,并且在該循環(huán)內(nèi)部沒有任何有可能該變z 的語句。因此,該段代碼中的while 循環(huán)部分代

27、碼要么不會(huì)執(zhí)行,要么可能出現(xiàn)死循環(huán)。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 16 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 16 頁,共 25 頁 - - - - - - - - -結(jié)束第七章7-2:解: 程序流程圖(如圖2.1 所示) 此程序是非結(jié)構(gòu)化的,它有一個(gè)goto 語句,并且是從一個(gè)循環(huán)體內(nèi)轉(zhuǎn)到循環(huán)體外的一精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 17 頁,共 25 頁 - - -

28、- - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 17 頁,共 25 頁 - - - - - - - - -個(gè)條件語句內(nèi)部。修改后的偽碼如下:精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 18 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 18 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 1

29、9 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 19 頁,共 25 頁 - - - - - - - - - 程序中的錯(cuò)誤:語句“ if word=keyword ”里的變量“ word”沒有預(yù)先賦值。程序中沒有預(yù)先輸入t的值 “n=0”應(yīng)該是“ match=0 ” 4. 回答下列問題:(1) 什么是模塊測試和集成測試?它們各有什么特點(diǎn)?答:模塊測試是對(duì)每個(gè)單獨(dú)的模塊,分別用黑盒和白盒測試技術(shù),測試它的功能是否正確,檢查模塊控制結(jié)構(gòu)中的特定路徑并發(fā)現(xiàn)最大數(shù)量的錯(cuò)誤。其特點(diǎn)是: 主要應(yīng)用白盒測試的技

30、術(shù),對(duì)多個(gè)模塊的測試可以并發(fā)的進(jìn)行。集成測試是把模塊裝配在一起形成完整的軟件包,在裝配的同時(shí)進(jìn)行測試。特點(diǎn)是: 可能發(fā)生接口問題。(2)假設(shè)有一個(gè)由1000 行 fortran語句構(gòu)成的程序(經(jīng)編以后大約有5000 條機(jī)器指令)估計(jì)在對(duì)它進(jìn)行測試期間將發(fā)現(xiàn)多少個(gè)錯(cuò)誤?為什么?答:月 25 至 100 個(gè)錯(cuò)誤,美國的一些統(tǒng)計(jì)數(shù)字告訴我們通常這個(gè)比值在0.0050.02 之間,也就是說,測試之前每1000 條指令中大約有 520 個(gè)錯(cuò)誤。假設(shè)測試之前每1000 條指令中有10 個(gè)錯(cuò)誤,則估計(jì)對(duì)它進(jìn)行測試期間將發(fā)現(xiàn)的錯(cuò)誤數(shù)為:5000*10/1000=50 。(3) 設(shè)計(jì)下面?zhèn)未a程序的語句覆蓋和條件

31、覆蓋測試用例: start input(a,b,c) if a5 then x=10 else x=1 end if if b10 then y=20 else y=2 end if if c15 then z=30 else z=3 end if print(x,y,z) stop 答:此程序的語句覆蓋用例:a=5,b=10,c=15; a=6,b=11,c=16 條件覆蓋用例為:a=5,b=10,c=15;a=6,b=11,c=16。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 20 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)

32、資料 可選擇p d f - - - - - - - - - - - - - - 第 20 頁,共 25 頁 - - - - - - - - -7-4:回答下列問題。 (1) 什么是模塊測試和集成測試?它們各有什么特點(diǎn)? (2) 假設(shè)有一個(gè)由1000 行 fortran語句構(gòu)成的程序(經(jīng)編譯后大約有5000 條機(jī)器指令 ),估計(jì)在對(duì)它進(jìn)行測試期間將發(fā)現(xiàn)多少個(gè)錯(cuò)誤?為什么? (3) 設(shè)計(jì)下列偽碼程序的語句覆蓋和路徑覆蓋測試用例。解答:(1)模塊測試:保證每個(gè)模塊能完成一個(gè)清晰定義的子功能而且和統(tǒng)計(jì)其他模塊的功能之間沒有相互依賴的關(guān)系。集成測試: 又稱為組裝測試,就是將軟件產(chǎn)品中各個(gè)模塊組裝起來,檢

33、查其接口是否存在問題,以及組裝后的整體功能、性能表現(xiàn)精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 21 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 21 頁,共 25 頁 - - - - - - - - - (2)經(jīng)驗(yàn)表明,在類似的程序中,單位長度里的錯(cuò)誤數(shù)et/it近似為常數(shù)。美國的一些統(tǒng)計(jì)數(shù)字表明,通常:0.005=et/it=0.02,即在測試之前,每1000 條指令中大約有520 個(gè)錯(cuò)誤。所以, 在對(duì) 1000 行 fortran語句構(gòu)成的程

34、序進(jìn)行測試期間將發(fā)現(xiàn)的錯(cuò)誤的個(gè)數(shù)大約有25100 個(gè)。 (3)該偽碼程序?qū)?yīng)的程序流程圖如下:從上到下每個(gè)判定依次命名為a、b、c:7-8:對(duì)一個(gè)包含10000 條機(jī)器指令的程序進(jìn)行一個(gè)月集成測試后,總共改正了15 個(gè)錯(cuò)誤,此時(shí) mttf=10h;經(jīng)過兩個(gè)月測試后,總共改正了25 個(gè)錯(cuò)誤 (第二個(gè)月改正了10 個(gè)錯(cuò)誤 ),mttf=15h。要求: (1) 根據(jù)上述數(shù)據(jù)確定mttf 與測試時(shí)間之間的函數(shù)關(guān)系,畫出 mttf 與測試時(shí)間的關(guān)系曲線。在畫這條曲線時(shí)做了什么假設(shè)?(2) 為做到 mttf=100h,必須進(jìn)行多長時(shí)間的集成測試?(3)當(dāng)集成測試結(jié)束時(shí)總共改正了多少個(gè)錯(cuò)誤,還有多少個(gè)錯(cuò)誤潛

35、伏在程序中?解答:(1)因?yàn)槠骄鶡o故障時(shí)間mttf 與測試時(shí)間之間存在線性關(guān)系,即mttf=a+b,由于:10=a+b,15=a+2b,得到: a=5,b=5 故:平均無故障時(shí)間mttf 與測試時(shí)間之間存在線性關(guān)系為:mttf=5+5 (2)為做到 mttf=100h,有方程: 100=5+5,故 =19 即必須進(jìn)行19 個(gè)月的集成測試。(3) 由 于 經(jīng) 驗(yàn) : 平 均 無 故 障 時(shí) 間 與 單 位 長 度 程 序 中 剩 余 的 錯(cuò) 誤 數(shù) 成 反 比 , 故有: mttf=10000/( k * (et-ec( ) ) ) 由于: 10=10000/( k * (et-15) ),15

36、 = 10000/( k * (et-25) ) 得到: et=45,k=33.33 當(dāng)集成測試結(jié)束時(shí),mttf=100h, 有:100 = 10000/( 33.33 * ( 45-ec(19) ) ) 故:ec(19)=42,即當(dāng)集成測試結(jié)束時(shí)總共改正了42 個(gè)錯(cuò)誤,還有45-42=3 個(gè)錯(cuò)誤潛伏在程序中。7-9:如對(duì)一個(gè)長度為100000 條指令的程序進(jìn)行集成測試期間記錄下下面的數(shù)據(jù):(a)7 月 1 日:集成測試開始,沒有發(fā)現(xiàn)錯(cuò)誤。(b)8 月 2 日:總共改正100 個(gè)錯(cuò)誤,此時(shí)mttf=0.4h (c)9 月 1 日:總共改正300 個(gè)錯(cuò)誤,此時(shí)mttf=2h 根據(jù)上列數(shù)據(jù)完成下列

37、各題。(1)估計(jì)程序中的錯(cuò)誤總數(shù)。(2)為使 mttf 達(dá)到 10h,必須測試和調(diào)試這個(gè)程序多長時(shí)間?(3)畫出 mttf 和測試時(shí)間之間的函數(shù)關(guān)系曲線。解答:精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 22 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 22 頁,共 25 頁 - - - - - - - - -(1)據(jù)估算平均無故障時(shí)間mttf 的公式有:1/k(et/100000-100/100000)=0.4 1/k (et/100000-30

38、0/100000)=2 得: k1000,et=350 即程序中的錯(cuò)誤總數(shù)達(dá)350。(2)當(dāng) mttf10h 時(shí),有1/k (350/100000- ec/100000)=10 得: ec=340.按七八月分測試改錯(cuò)進(jìn)度估算,還需進(jìn)行2 個(gè)月的集成測試。(3)mttf和測試時(shí)間之間的函數(shù)關(guān)系曲線如下:7-10:在測試一個(gè)長度為24000 條指令的程序時(shí),第一個(gè)月由甲、乙兩名測試員各自獨(dú)立測試這個(gè)程序。經(jīng)一個(gè)月測試后,甲發(fā)現(xiàn)并改正20 個(gè)錯(cuò)誤,使mttf 達(dá)到 10h。與此同時(shí),乙發(fā)現(xiàn) 24 個(gè)錯(cuò)誤,其中6個(gè)甲也發(fā)現(xiàn)了。以后由甲一個(gè)人繼續(xù)測試這個(gè)程序。問: (1) 剛開始測試時(shí)程序中總共有多少個(gè)潛藏的錯(cuò)誤? (2) 為使 mttf 達(dá)到 60h,必須再改正多少個(gè)錯(cuò)誤?還需用多長測試時(shí)間?(3) 畫出 mttf 與集成測試時(shí)間之間的函數(shù)關(guān)系曲線。解答:(1)本題中采用的是分別測試法,測試前程序中的錯(cuò)誤總數(shù):b0=b1*b2/bc=20*24

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論