軟件工程學課后習題答案_第1頁
軟件工程學課后習題答案_第2頁
軟件工程學課后習題答案_第3頁
軟件工程學課后習題答案_第4頁
軟件工程學課后習題答案_第5頁
已閱讀5頁,還剩94頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

重慶(zhònɡqìnɡ)工學院計算機科學與工程學院李梁

65263075、68666246liliang@軟件工程(ruǎnjiànɡōnɡchénɡ)

作業(yè)解答13:07:42共九十九頁作業(yè)一基本概念(第1-2章)作業(yè)二需求分析(第3章)作業(yè)三系統(tǒng)設計(shèjì)(第5章)作業(yè)四詳細設計(第6章)作業(yè)五系統(tǒng)實現(第7章)作業(yè)六系統(tǒng)維護(第8章)作業(yè)七面向對象方法學引論(第9章)作業(yè)八面向對象分析(第10章)作業(yè)九面向對象設計(第11章)作業(yè)十面向對象實現(第12章)作業(yè)十一軟件項目管理(第13章)作業(yè)(zuòyè)及解答13:07:42共九十九頁作業(yè)(zuòyè)及解答(第1-2章)1-5根據歷史數據可以做出如下(rúxià)的假設:對計算機存儲容量的需求大致按下面公式描述的趨勢逐年增加:M=4080e0.28(Y-1960)

存儲器的價格按下面公式描述的趨勢逐年下降:P1=0.3×0.72Y-1974(美分/位)如果計算機字長為16位,則存儲器價格下降的趨勢為:P2=0.048×0.72Y-1974(美元/字)在上列公式中Y代表年份,M是存儲容量(字數),P1和P2代表價格?;谏鲜黾僭O可以比較計算機硬件和軟件成本的變化趨勢。要求計算:13:07:42共九十九頁(1)在1985年對計算機存儲容量的需求估計是多少?如果字長為16位,這個存儲器的價格是多少?(2)假設在1985年一名程序員每天可開發(fā)出10條指令,程序員的平均工資(pínɡjūnɡōnɡzī)是每月4000美元。如果一條指令為一個字長,計算使存儲器裝滿程序所需用的成本。(3)假設在1995年存儲器字長為32位,一名程序員每天可開發(fā)出30條指令,程序員的月平均工資為6000美元,重復(1)、(2)題。作業(yè)(zuòyè)及解答(第1-2章)13:07:42共九十九頁(1)在1985年對計算機存儲容量的需求,估計是如果字長為16位,則這個(zhège)存儲器的價格是(2)如果一條指令的長度為一個字,則使存儲器裝滿程序共需4474263條指令。在1985年一名程序員每天可開發(fā)出10條指令,如果每月有20個工作日,則每人每月可開發(fā)出10×20條指令。為了開發(fā)出4474263條指令以裝滿存儲器,需要的工作量是:作業(yè)(zuòyè)及解答(第1-2章)13:07:42共九十九頁程序員的月平均工資是4000美元,開發(fā)(kāifā)出4474263條指令的成本是(3)在1995年對存儲容量的需求估計為:如果字長為32位,則這個存儲器的價格是:如果一條指令為一個字長,則為使存儲器裝滿程序共需73,577,679條指令。在1995年一名程序員每天可開發(fā)出30條指令,每月可開發(fā)出600條指令,為了開發(fā)出可裝滿整個存儲器的程序,需要的工作量為作業(yè)(zuòyè)及解答(第1-2章)13:07:42共九十九頁開發(fā)上述程序的成本為:1-6什么是軟件過程?它與軟件工程(ruǎnjiànɡōnɡchénɡ)方法學有何關系?軟件過程是為了開發(fā)出高質量的軟件產品所需完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。軟件過程定義了運用技術方法的順序、應該交付的文檔資料、為保證軟件質量和協調軟件變化必須采取的管理措施,以及標志完成了相應開發(fā)活動的里程碑。軟件過程是軟件工程方法學的3個重要組成部分之一。作業(yè)(zuòyè)及解答(第1-2章)13:07:42共九十九頁2-4目前住院病人主要由護士護理,這樣做不僅需要大量護士,而且由于不能隨時觀察危重病人的病情變化,還會延誤搶救時機。某醫(yī)院打算開發(fā)一個以計算機為中心的患者監(jiān)護系統(tǒng),請分層次地畫出描述本系統(tǒng)功能(gōngnéng)的數據流圖。醫(yī)院對患者8監(jiān)護系統(tǒng)的基本要求是隨時接收每個病人的生理信號(脈搏、體溫、血壓、心電圖等),定時記錄病人情況以形成患者日志,當某個病人的生理信號超出醫(yī)生規(guī)定的安全范圍時向值班護士發(fā)出警告信息,此外,護士在需要時還可以要求系統(tǒng)印出某個指定病人的病情報告。作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁從問題陳述可知,本系統(tǒng)數據源點是“病人”和“護士”,他們分別提供生理信號和要求病情報告的信息。進一步分析問題陳述,從系統(tǒng)應該(yīnggāi)“定時記錄病人情況以形成患者日志”這項要求可以想到,還應該有一個提供日期和時間信息的“時鐘”作為數據源點。從問題陳述容易看出,本系統(tǒng)的數據終點是接收警告信息和病情報告的護士。系統(tǒng)對病人生理信號的處理功能主要是“接收信號”、“分析信號”和“產生警告信息”。此外,系統(tǒng)還應該具有“定時取樣生理信號”、“更新日志”和“產生病情報告”的功能。為了分析病人生理信號是否超出了醫(yī)生規(guī)定的安全范圍,應該存儲“患者安全范圍”信息。此外,定時記錄病人生理信號所形成的“患者日志”,顯然也是一個數據存儲。作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁13:07:42共九十九頁13:07:42共九十九頁13:07:42共九十九頁2-5北京某高校可用的電話號碼有以下(yǐxià)幾類:校內電話號碼由4位數字組成,第1位數字不是0;校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥0,若是本市電話則再接著撥8位數字(第1位不是0),若是外地電話則撥3位區(qū)碼再撥8位電話號碼(第1位不是0)。請用定義數據字典的方法,定義上述的電話號碼。作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁數據結構的描述

符號

含義

舉例

=被定義為+與

x=a+b[...,...]或[...|...]

x=[a,b],x=[a|b]{...}或m{...}n

重復

x={a},x=3{a}8(...)可選

x=(a)“...”

基本數據(shùjù)元素

x=“a”..

連結符

x=1..9作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁電話號碼(diànhuàhàomǎ)=[校內電話號碼(diànhuàhàomǎ)|校外電話號碼(diànhuàhàomǎ)]校內電話號碼=非零數字+3位數字//后面繼續(xù)定義校外電話號碼=[本市號碼|外地號碼]本市號碼=數字零+8位數字外地號碼=數字零+3位數字+8位數字非零數字=[1|2|3|4|5|6|7|8|9]數字零=03位數字=3{數字}3//3至3個數字8位數字=非零數字+7位數字7位數字=7{數字}7數字=[0|1|2|3|4|5|6|7|8|9]作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁3-3銀行計算機儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫的存款單或取款單由業(yè)務員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號碼)、身份證號碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存單給儲戶;如果是取款而且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算利息并印出利息清單給儲戶。

請用數據流圖描繪本系統(tǒng)的功能,并用實體-聯系(liánxì)圖描繪系統(tǒng)中的數據對象。作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁13:07:42共九十九頁作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁ER模型本問題中共有兩類實體,分別是“儲戶”和“儲蓄所”,在它們之間存在“存取款”關系。因為一位儲戶可以在多家儲蓄所存取款,一家儲蓄所擁有多位儲戶,所以“存取款”是多對多(M:N)關系。儲戶的屬性主要有姓名、住址、電話號碼和身份證號碼,儲蓄所的屬性主要是名稱、地址和電話號碼,而數額、類型(lèixíng)、到期日期、利率和密碼則是關系類型存取款的屬性。作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁3-6復印機的工作過程大致如下:未接到復印命令時處于閑置狀態(tài),一旦接到復印命令則進入復印狀態(tài),完成一個復印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復印命令;如果執(zhí)行復印命令時發(fā)現(fāxiàn)沒紙,則進入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進入閑置狀態(tài),準備接收復印命令;如果復印時發(fā)生卡紙故障,則進入卡紙狀態(tài),發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。請用狀態(tài)轉換圖描繪復印機的行為。作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁從問題陳述可知,復印機的狀態(tài)主要有“閑置”、“復印”、“缺紙”和“卡紙”。引起狀態(tài)轉換的事件(shìjiàn)主要是“復印命令”、“完成復印命令”、“發(fā)現缺紙”、“裝滿紙”、“發(fā)生卡紙故障”和“排除了卡紙故障”。作業(yè)(zuòyè)及解答(第3章)13:07:42共九十九頁4-3一個浮點二進制數的構成是:一個可選的符號(+或-),后跟一個或多個二進制位,再跟上一個字符E,再加上另一個可選符號(+或-)及一個或多個二進制位。例如,下列的字符串都是浮點二進制數:110101E-101-100111E11101+1E0更形式化地,浮點二進制數定義(dìngyì)如下:〈floatingpointbinary〉∷=[〈sign〉]〈bitstring〉E[〈sign〉]〈bitstring〉〈sign〉∷=+|-〈bitstring〉∷=〈bit〉[〈bitstring〉]〈bit〉∷=0|1作業(yè)(zuòyè)及解答(第4章)13:07:42共九十九頁其中,符號∷=表示定義為;符號[...]表示可選項;符號a|b表示a或b。假設有這樣一個有窮狀態(tài)機:以一串字符為輸入,判斷字符串中是否(shìfǒu)含有合法的浮點二進制數。試對這個有窮狀態(tài)機進行規(guī)格說明。

作業(yè)(zuòyè)及解答(第4章)13:07:42共九十九頁該有窮狀態(tài)機的初態(tài)是“等待字符串輸人”。在初態(tài)若接收到字符十、或字符一、或二進制位,則進人“輸人尾數”狀態(tài);在初態(tài)若接收到其他字符,則進人終態(tài)“非浮點二進制數”。在“輸人尾數”狀態(tài)若接收到二進制位,則保持該狀態(tài)不變;若接收到字符E,則進人“等待輸人指數(zhǐshù)”狀態(tài);若接收到其他字符,則進人終態(tài)“非浮點二進制數”。在“等待輸人指數(zhǐshù)”狀態(tài)若接收到字符+、或字符一、或二進制位,則進人“輸人指數(zhǐshù)”狀態(tài);若接收到其他字符,則進人終態(tài)“非浮點二進制數”。在“輸人指數(zhǐshù)”狀態(tài)若接收到二進制位,則保持該狀態(tài)不變;若輸人其他字符,則進人終態(tài)“非浮點二進制數”;若輸人結束,則進人終態(tài)“浮點二進制數”。作業(yè)(zuòyè)及解答(第4章)13:07:42共九十九頁仔細研究圖示的有窮狀態(tài)機可以發(fā)現,它還有不夠嚴格的地方。有興趣的同學(tóngxué)請進一步改進它,畫出更嚴格的、與浮點二進制數定義完全一致的有窮狀態(tài)機。作業(yè)(zuòyè)及解答(第4章)13:07:42共九十九頁補充1:請為某倉庫的管理設計一個ER模型。該倉庫主要(zhǔyào)管理零件的訂購和供應等事項。倉庫向工程項目供應零件,并且根據需要向供應商訂購零件。作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁本問題中共有三類實體,分別是“零件”、“工程項目”和“供應商”。一種零件可供應多個工程項目,一個工程項目需要使用多種零件,因此,零件與工程項目之間的聯系“供應”,是多對多(M'N)聯系;類似(lèisì)地,零件與供應商之間的聯系“訂購”,也是多對多(M'N)聯系。實體類型“零件”的主要屬性是:零件編號,零件名稱,顏色,重量。實體類型“工程項目”的屬性主要是:項目編號,項目名稱,開工日期。實體類型“供應商”的屬性主要有:供應商編號,供應商名稱,地址。聯系類型“供應”的屬性是,向某工程項目供應的某種零件的數量。聯系類型“訂購”的屬性是,向某供應商訂購的某種零件的數量。作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁13:07:42共九十九頁作業(yè)(zuòyè)及解答(第5章)補充2:某火車(huǒchē)售票系統(tǒng)的數據流程圖如下所示錄入員

1接受查詢查詢信息查詢信息

2分析查詢

4按班次查詢

6查詢顯示

3按日期查詢

5按線路查詢旅客班次日期線路查詢結果查詢結果查詢結果查詢結果13:07:42共九十九頁作業(yè)(zuòyè)及解答(第5章)接受(jiēshòu)查詢輸入信息查詢信息列車查詢主模塊查詢顯示分析查詢按日期查詢按班次查詢按線路查詢查詢信息查詢信息查詢結果查詢結果日期班次線路13:07:42共九十九頁補充3、已知某定貨系統(tǒng)的需求分析DFD圖如下,請按SD方法(fāngfǎ)的設計步驟畫出結構圖。顧客編輯定貨單確定顧客訂貨產生暫存訂貨單開發(fā)貨單并改庫存業(yè)務員顧客D1配件D2顧客文件D3配件庫存D4暫存訂貨單D4暫存訂貨單D5銷售歷史D6應收款明細帳發(fā)貨單可發(fā)貨不合格訂貨單訂貨單合格訂貨單不滿足訂貨單作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁13:07:42共九十九頁補充4、已知某系統(tǒng)的需求分析給出的系統(tǒng)數據(shùjù)流程圖如下,畫出結構圖AC3C2C1GJKLFEBDabb1b2b3c1c2c3defghjklm作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁13:07:42共九十九頁

P104:3用面向數據流的方法設計下列系統(tǒng)的軟件結構(1)儲蓄系統(tǒng)2-2(2)機票預定系統(tǒng)2-3為了方便旅客,某航空公司擬開發(fā)一個機票預定系統(tǒng)。旅行社把預定機票的旅客信息(姓名、性別、工作單位、身份證號碼(hàomǎ)、旅行時間、旅行目的地等)輸入該系統(tǒng),系統(tǒng)為旅客安排航班,旅客在飛機起飛前一天憑取票通知和賬單交款取票,系統(tǒng)核對無誤即印出機票給顧客(2)患者監(jiān)護系統(tǒng)2-4作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁13:07:42共九十九頁作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁不能是兩個分開的子系統(tǒng),是相同(xiānɡtónɡ)的前臺單個處理13:07:42共九十九頁不能是兩個分開的子系統(tǒng),是相同(xiānɡtónɡ)的前臺單個處理13:07:42共九十九頁作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁可以是兩個子系統(tǒng),預定和取票是不同的處理方式(后臺批量(pīliànɡ)和前臺單個)13:07:42共九十九頁13:07:42共九十九頁13:07:42共九十九頁13:07:42共九十九頁

P104:4美國某大學有200名教師,校方與教師工會剛剛簽訂一項協議。按照協議,所有年工資超過$26000(含$26000)的教師工資將保持不變,年工資少于$26000的教師將增加工資,所增加工資數額按下述方法計算:給每位教師所贍養(yǎng)的人(包括教師本人)每年(měinián)補助$100,此外,教師有一年工齡每年(měinián)再多補助¥50,但是,增加后的年工資總額不能多于$26000。教師工資檔案存儲在行政辦公室的磁帶上,檔案中有目前的年工資、贍養(yǎng)的人數、雇傭日期等信息。需要寫一個程序計算并印出每名教師的原工資和調整后的新工資。要求:(1)畫出此系統(tǒng)的數據流圖;(2)寫出需求說明;(3)設計上述的工資調整程序(要求用HIPO圖描繪設計結果),設計時分別采用兩種算法,并比較兩種算法的優(yōu)缺點:(a)搜索工資檔案數據,找出年工資少于$26000的人,計算新工資,校核是否超過$26000,存儲新工資,印出新舊工資對照表;(b)把工資檔案數據按工資從最低到最高的次序排序,當工資數額超過$26000時即停止排序,計算新工資,校核是否超過限額,存儲新工資,印出結果。(4)你所畫出的數據流圖適應用那種算法?13:07:42共九十九頁

作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁

作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁

作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁

作業(yè)(zuòyè)及解答(第5章)13:07:42共九十九頁0楊輝三角形系數求解輸入階數系數表不合理階數⊕DFD01檢驗階數2計算階數3打印階數系數表系數不合理階數⊕合理階數輸入階數DFD11.1輸入階數1.2檢驗階數合理階數⊕不合理階數階數2.1計算1DFD2合理階數系數3.1打印1階數系數表13.2打印2階數系數表22.2計算2合理階數系數補充(bǔchōng)5:求解楊輝三角形系數13:07:42共九十九頁求解楊輝三角形系數取合理階數打印系數計算系數方法選用輸入階數檢驗階數計算1計算2打印1打印2合理階數合理階數合理階數合理階數合理階數合理階數合理階數合理階數不合理階數階數階數系數系數系數系數系數表1系數表2表示選用13:07:42共九十九頁

P131:3畫出下列(xiàliè)偽碼程序的程序流程圖和盒圖STARTIFpTHENWHILEqDOfENDDOELSEBLOCKgnENDBLOCKENDIFSTOP作業(yè)(zuòyè)及解答(第6章)13:07:42共九十九頁

作業(yè)(zuòyè)及解答(第6章)13:07:42共九十九頁

P131:4下圖給出的程序流程圖代表一個非結構化的程序,請問:(1)為什么說它是非結構化的?(2)設計一個等價的結構化程序。(3)在(2)題的設計中你使用附加的標志變量(biànliàng)flag嗎?若沒用,請再設計一個使用flag的程序;若用了,再設計一個不用flag的程序作業(yè)(zuòyè)及解答(第6章)13:07:42共九十九頁

(1)通常所說的結構化程序,是按照狹義的結構程序的定義衡量(héngliáng),符合定義規(guī)定的程序。圖示的程序的循環(huán)控制結構有兩個出口,顯然不符合狹義的結構程序的定義,因此是非結構化的程序。作業(yè)(zuòyè)及解答(第6章)13:07:42共九十九頁

(2)使用附加的標志變量flag,至少有兩種方法可以把該程序改造為等價(děngjià)的結構化程序,圖示盒圖描繪了等價(děngjià)的結構化程序。作業(yè)(zuòyè)及解答(第6章)13:07:42共九十九頁

(3)不使用flag把該程序改造(gǎizào)為等價的結構化程序的方法如圖所示。作業(yè)(zuòyè)及解答(第6章)13:07:42共九十九頁

CEXAMPLELOOP:DOWHILEX>0A=B+1IFA>10THENX=AELSEY=ZENDIFIFY<5THENPRINTX,YELSEIFY=2THENGOTOLOOPELSEC=3ENDIFENDIFP131:8畫出下列偽碼程序的流圖,計算(jìsuàn)它的環(huán)形復雜度。你覺得這個程序的邏輯有什么問題嗎?G=H+RENDDOIFF>0THENPRINTGELSEPRINTKENDIFSTOP作業(yè)(zuòyè)及解答(第6章)13:07:42共九十九頁

V(G)=結點(jiédiǎn)E-弧數n+1=17-11+1=7=判斷結點+1=6+1=7=封閉的區(qū)域數13:07:42共九十九頁P131:7令P代表交易的總金額,Q代表每股的售價,n代表交易的股數。(1)表示手續(xù)費計算方法的判定表如圖所示。判定表的每一列是一條計算(jìsuàn)規(guī)則。例如,第1列(規(guī)則1)規(guī)定,當交易總金額P少于1000元,且每股售價Q低于14元,且交易的股數n是100的倍數時,給經紀人的手續(xù)費為(l+0.05)×0.084P第16列(規(guī)則16)表明,當交易總金額P超過10000元,且每股售價Q在14元到25元之間,且交易的股數n不是100的倍數時,手續(xù)費為(1+0.06)×(0.04P+134)(2)表示手續(xù)費計算方法的判定樹如圖所示。作業(yè)(zuòyè)及解答(第6章)13:07:42共九十九頁作業(yè)(zuòyè)及解答(第7章)13:07:42共九十九頁作業(yè)(zuòyè)及解答(第7章)13:07:42共九十九頁補充1、某高校研究生招生系統(tǒng)的初選方法如下(rúxià):總分300(含)以上進入候選學生庫,否則退檔;數學分數不低于70分,則進入三級備選庫,否則進入四級備選庫;在三級備選庫的基礎上,如果專業(yè)課分數高于100分,則進入一級備選庫,否則進入二級備選庫,請畫出對應的判定樹。作業(yè)(zuòyè)及解答(第6章)13:07:42共九十九頁作業(yè)(zuòyè)及解答(第6章)13:07:42共九十九頁補充(bǔchōng)2、某校的課酬計算方案如下:(l)基本課酬為每節(jié)課10元;(2)如果班級人數超過40人,課酬增加:基本課酬×0.1;(3)如果班級人數超過60人,課酬增加:基本課酬×0.2;(4)如果教師是副教授,課酬增加:基本課酬×0.1;(5)如果教師是教授,課酬增加:基本課酬×0.2;(6)講師,課酬不增加;(7)助教,課酬減少:基本課酬×0.1。請用判定表表達上述計算方案。作業(yè)(zuòyè)及解答(第6章)13:07:42共九十九頁123456789101112人數≤40TTTT40<人數≤60TTTT人數>60TTTT助教TTT講師TTT副教授TTT教授TTT課酬:9元/節(jié)√課酬:10元/節(jié)√√課酬:11元/節(jié)√√√課酬:12元/節(jié)√√√課酬:13元/節(jié)√√課酬:14元/節(jié)√13:07:42共九十九頁補充作業(yè):設計一個軟件開發(fā)規(guī)范,假象一種開發(fā)環(huán)境(硬件、系統(tǒng)軟件、支持軟件、數據庫、開發(fā)語言等)。規(guī)范內容盡量考慮多方面問題:如SQL語言規(guī)范、交互界面、編碼風格(fēnggé)、命名、設計文檔、單元測試等作業(yè)(zuòyè)及解答(第7章)13:07:42共九十九頁P174:5某圖書館有一個使用CET終端的信息檢索系統(tǒng),該系統(tǒng)有下列(xiàliè)4個基本檢索命令:……………..(1)設計測試數據以全面系統(tǒng)的正常操作(2)設計測試數據以測試系統(tǒng)的非正常操作作業(yè)(zuòyè)及解答(第7章)13:07:42共九十九頁STARTINPUT(A,B,C)//判定(pàndìng)表達式1IFA>5THENX=10ELSEX=1ENDIF//判定表達式2IFB>10THENY=20ELSEY=2ENDIF作業(yè)(zuòyè)(第7章)//判定表達式3IFC>15THENZ=30ELSEZ=3ENDIFPRINT(X,Y,Z)STOPP174:4(3)

、設計下列偽碼程序的語句覆蓋和路徑覆蓋測試用例:13:07:42共九十九頁作業(yè)(zuòyè)(第7章)序號判定輸入預期的輸出123ABCXYZ1FFF1111232TTT204060102030語句(yǔjù)覆蓋的測試用例13:07:42共九十九頁作業(yè)(zuòyè)(第7章)序號判定輸入預期的輸出123ABCXYZ1FFF1111232FFT116012303FTF140112034FTFF201110236TFT20160102307TTF20401102038TTT204060102030路徑(lùjìng)覆蓋的測試用例13:07:42共九十九頁1.某些軟件工程師不同意“目前國外許多軟件開發(fā)組織把60%以上的人力用于維護已有的軟件”的說法,他們爭論說:“我并沒有花費我的60%的時間去改正我所開發(fā)的程序中的錯誤”。請問,你對上述(shàngshù)爭論有何看法?2.為什么大型軟件的維護成本高達開發(fā)成本的4倍左右?3.假設你的任務是對一個已有的軟件做重大修改,而且只允許你從下述文檔中選取兩份:(a)程序的規(guī)格說明;(b)程序的詳細設計結果(自然語言描述加上某種設計工具表示);(c)源程序清單(其中有適當數量的注解)。你將選取哪兩份文檔?為什么這樣選???作業(yè)(zuòyè)及解答(第8章)13:07:42共九十九頁4.當一個十幾年前開發(fā)出的程序還在為其用戶完成關鍵的業(yè)務工作時,是否有必要對它進行再工程?如果對它進行再工程,經濟上是否劃算(huásuàn)?5.代碼重構與正向工程有何相同之處?有何不同之處?作業(yè)(zuòyè)及解答(第8章)13:07:42共九十九頁p221:101.用面向對象范型開發(fā)軟件時與用結構化范型開發(fā)軟件時相比較(bǐjiào),軟件的生命周期有何不同?這種差異帶來了什么后果?2.為什么在開發(fā)大型軟件時,采用面向對象范型比采用結構化范型較易取得成功?3.為什么說夏利牌汽車是小汽車類的特化,而發(fā)動機不是小汽車類的特化?4.對象和屬性之間有何區(qū)別?5.什么是對象?它與傳統(tǒng)的數據有何異同?6.什么是模型?開發(fā)軟件時為什么要建立模型?作業(yè)(zuòyè)及解答(第9章)13:07:42共九十九頁7.試用面向對象方法(fāngfǎ)分析設計下述程序:在顯示器屏幕上圓心坐標為(100,100)的位置畫一個半徑為40的圓,在圓心坐標為(200,300)的位置畫一個半徑為20的圓,在圓心坐標為(400,150)的位置畫一條弧,弧的起始角度為30度,結束角度為120度,半徑為50。8.用面向對象方法解決下述問題時需要哪些對象類?類與類之間有何關系?在顯示器屏幕上圓心坐標為(250,100)的位置,畫一個半徑為25的小圓,圓內顯示字符串“you”;在圓心坐標為(250,150)的位置,畫一個半徑為100的中圓,圓內顯示字符串“world”;再在圓心坐標為(250,250)的位置,畫一個半徑為225的大圓,圓內顯示字符串“Universe”。作業(yè)(zuòyè)及解答(第9章)13:07:42共九十九頁9.試建立下述訂貨系統(tǒng)的用例模型。假設一家工廠的采購部每天需要一張訂貨報表,報表按零件(línɡjiàn)編號排序,表中列出所有需要再次訂貨的零件(línɡjiàn)。對于每個需要再次訂貨的零件(línɡjiàn)應該列出下述數據:零件(línɡjiàn)編號,零件(línɡjiàn)名稱,訂貨數量,目前價格,主要供應者,次要供應者。零件(línɡjiàn)入庫或出庫稱為事務,通過放在倉庫中的終端把事務報告給訂貨系統(tǒng)。當某種零件(línɡjiàn)的庫存數量少于庫存量臨界值時就應該再次訂貨。10.為什么說面向對象方法與人類習慣的思維解題方法比較一致?作業(yè)(zuòyè)及解答(第9章)13:07:42共九十九頁11.我們下班(xiàbān)回家這件事,人(假如是我)就是一個對象,我們來考察一下幾個狀態(tài):1.到下班時間了,收拾東西準備回家(不考慮加班)。2.開始等電梯。3.到了樓下。(發(fā)現沒帶家里鑰匙,上樓拿)4.上樓。5.去公交等車。6.乘公共汽車去菜場。7.買菜8.回到家那么事件呢?1.下班時間到了(準備下班)。2.電梯到(上電梯)3.電梯到樓下(下電梯)3.發(fā)現沒有家里鑰匙(去拿鑰匙)。4.自己要乘公共汽車到了(上車)。5.公共汽車到站(下車)。6.忽然想起家里沒菜(去買菜)。作業(yè)(zuòyè)及解答(第9章)13:07:42共九十九頁名稱:就是(jiùshì)名字,狀態(tài)的名字。進入/退出動作:對象本身的一個操作,比如在電梯里是一個狀態(tài)的話,哪我們進電梯和出電梯就是狀態(tài)---在電梯里---的進入/退出動作。內部轉換:如我們在去等電梯的時候發(fā)現鑰匙沒帶,此時我們不用在等電梯的以后狀態(tài)是再有事件觸發(fā),在準備下班的狀態(tài)上我們就去拿鑰匙了,對于對象本身,前后兩次的根本狀態(tài)不一樣,一個是有鑰匙,一個是沒有鑰匙。(子狀態(tài)):如果我們描述該對象在電梯里說話,抽煙(一般電梯不許)等狀態(tài)時,該狀態(tài)就是該對象狀態(tài)---在電梯里---狀態(tài)的子狀態(tài)。(延遲事件):現在不立即產生的事件,該事件是在一段時間以后才產生的事件。作業(yè)(zuòyè)及解答(第9章)13:07:42共九十九頁1.試用面向對象方法(fāngfǎ)分析設計下述程序:在顯示器屏幕上圓心坐標為(100,100)的位置畫一個半徑為40的圓,在圓心坐標為(200,300)的位置畫一個半徑為20的圓,在圓心坐標為(400,150)的位置畫一條弧,弧的起始角度為30度,結束角度為120度,半徑為50。作業(yè)(zuòyè)及解答(第10章)13:07:42共九十九頁2.在顯示器屏幕上圓心坐標為(250,100)的位置,畫一個半徑為25的小圓,圓內顯示字符串“you”;在圓心坐標為(250,150)的位置,畫一個半徑為100的中圓,圓內顯示字符串“world”;再在圓心坐標為(250,250)的位置,畫一個半徑為225的大圓,圓內顯示字符串“Universe”。用面向對象方法解決上述問題(wèntí)時需要哪些對象類?類與類之間有何關系?試用C++語言編程實現該類繼承結構。設計測試用例以測試該類繼承結構中的各個類。作業(yè)(zuòyè)及解答(第10章)13:07:42共九十九頁3.請用面向對象方法分析設計下述的圖書館自動化系統(tǒng):設計一個軟件以支持一座公共圖書館的運行。該系統(tǒng)有一些工作站用于處理讀者事務。這些工作站由圖書館館員操作。當讀者借書時,首先讀入客戶的借書卡。然后,由工作站的條形碼閱讀器讀入該書的代碼。當讀者歸還一本書時,并不需要查看他的借書卡,僅需讀入該書的代碼??蛻艨梢栽趫D書館內任一臺PC機上檢索館藏圖書目錄。當檢索圖書目錄時,客戶應該(yīnggāi)首先指明檢索方法(按作者姓名或按書名或按關鍵詞)。作業(yè)(zuòyè)及解答(第10章)13:07:42共九十九頁4.設計無人自動售貨機系統(tǒng)對象、動態(tài)及功能模型售貨時,顧客將硬幣投入機器投幣口,機器檢查硬幣的大小、重量、厚度及邊緣類型。有效幣種是1元、五角、一角,其它貨幣被認為是假幣。機器拒收假幣,并將其退幣口退出。當機器接收了有效硬幣之后,就將硬幣送入硬幣儲藏期中。顧客支付的貨幣根據硬幣的面值進行累加。機器裝有貨物分配器。每個貨物分配器中零個或多個價值相同的貨物,顧客支付的貨幣值不小于該貨物的價格,貨物將被分配貨物傳送孔送給顧客,并將適當的零錢(línɡqián)返回到退幣孔。如果分配器是空的,顧客支付的貨幣值相等的硬幣將被送回退幣孔。如果顧客支付的貨幣值小于所選擇分配器中貨物的價格,機器將等待顧客投進更多的硬幣。如果顧客決定不買所選擇的貨物,顧客放進的貨幣將從退幣孔退出。作業(yè)(zuòyè)及解答(第10章)13:07:42共九十九頁1.請比較功能內聚和信息性內聚。2.多態(tài)重用與繼承重用有何關系?3.在面向對象設計過程中為什么會調整對目標系統(tǒng)的需求?怎樣調整需求?4.為了設計人機交互子系統(tǒng),為什么需要分類(fēnlèi)用戶?5.問題空間和解空間有何區(qū)別?6.從面向對象分析階段到面向對象設計階段,對象模型有何變化?作業(yè)(zuòyè)及解答(第11章)13:07:42共九十九頁7.請用面向對象方法分析設計下述的圖書館自動化系統(tǒng)。設計一個軟件以支持一座公共圖書館的運行。該系統(tǒng)有一些工作站用于處理(chǔlǐ)讀者事務。這些工作站由圖書館館員操作。當讀者借書時,首先讀入客戶的借書卡。然后,由工作站的條形碼閱讀器讀入該書的代碼。當讀者歸還一本書時,并不需要查看他的借書卡,僅需讀入該書的代碼??蛻艨梢栽趫D書館內任一臺PC機上檢索館藏圖書目錄。當檢索圖書目錄時,客戶應該首先指明檢索方法(按作者姓名或按書名或按關鍵詞)。作業(yè)(zuòyè)及解答(第11章)13:07:42共九十九頁8.用面向對象方法分析設計下述的電梯系統(tǒng)。在一幢m層樓的大廈里,用電梯內的和每個樓層的按鈕來控制n部電梯的運動。當按下電梯按鈕請求電梯在指定樓層停下時,按鈕指示燈亮;當電梯到達指定樓層時,指示燈熄滅。除了大廈的最低層和最高層之外,每層樓都有兩個(liǎnɡɡè)按鈕分別指示電梯上行和下行。當這兩個(liǎnɡɡè)按鈕之一被按下時相應的指示燈亮,當電梯到達此樓層時燈熄滅,電梯向要求的方向移動。當電梯無升降動作時,關門并停在當前樓層。作業(yè)(zuòyè)及解答(第11章)13:07:42共九十九頁1.為什么應該(yīnggāi)盡量使用面向對象語言來實現面向對象分析和設計的結果?2.什么是強類型語言?這類語言有哪些優(yōu)點?3.用動態(tài)聯編實現多態(tài)性是否會顯著降低程序的運行效率?4.為什么說參數化類有助于提高可重用性?5.把策略方法與實現方法分開后,為什么能提高可重用性?6.面向對象軟件的哪些特點使得測試和維護變得比較容易?哪些特點使得測試和維護變得比較困難?作業(yè)(zuòyè)及解答(第12章)13:07:42共九十九頁7.試用C++語言編程實現下述簡單圖形程序的類繼承結構。在顯示器屏幕(píngmù)上圓心坐標為(250,100)的位置,畫一個半徑為25的小圓,圓內顯示字符串“you”;在圓心坐標為(250,150)的位置,畫一個半徑為100的中圓,圓內顯示

溫馨提示

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

評論

0/150

提交評論