軟件工程課后答案_第1頁
軟件工程課后答案_第2頁
軟件工程課后答案_第3頁
軟件工程課后答案_第4頁
軟件工程課后答案_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、軟件工程作業(yè)及答案1- 1 什么是軟件危機(jī) ?它有哪些典型表現(xiàn) ?為什么會出現(xiàn)軟件危機(jī) ?答 : 軟件危機(jī)是指在計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。概括地說,軟件危機(jī)包含下述兩方面的 問題:如何開發(fā)軟件,以滿足對軟件日益增長的需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件。軟件危機(jī)典型表現(xiàn):對軟件開發(fā)成本和進(jìn)度的估計常常很不準(zhǔn)確。用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā) 生。軟件產(chǎn)品的質(zhì)量往往靠不住。軟件常常是不可維護(hù)的。軟件通常沒有適當(dāng)?shù)奈臋n資料。軟件成本在計算機(jī)系統(tǒng)總成 本中所占的比例逐年上升。軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計算機(jī)應(yīng)用迅速普及深入的趨勢。產(chǎn)生軟件危機(jī)的原因:

2、一方面與軟件本身的特點有關(guān),另一方面也和軟件開發(fā)與維護(hù)的方法不正確有關(guān)。軟件不同于 硬件,它是計算機(jī)系統(tǒng)中的邏輯部件而不是物理部件。管理和控制軟件開發(fā)過程相當(dāng)困難。軟件是規(guī)模龐大,而且程序 復(fù)雜性將隨著程序規(guī)模的增加而呈指數(shù)上升。目前相當(dāng)多的軟件專業(yè)人員對軟件開發(fā)和維護(hù)還有不省糊涂觀念,在實踐 過程中或多或少地采用了錯誤的方法和技術(shù),這是使軟件問題發(fā)展成軟件危機(jī)的主要原因。1- 2 假設(shè)你是一家軟件公司的總工程師,當(dāng)你把圖 1.1 給手下的軟件工程師們觀看,告訴他們及早發(fā)現(xiàn)并改正錯誤的重 要性時,有人不同意你的觀點,認(rèn)為要求在錯誤進(jìn)入軟件之前就清除它們是不現(xiàn)實的,并舉例說: “如果一個故障是編

3、碼 錯誤造成的,那么,一個人怎么能在設(shè)計階段清除它呢?”你怎么反駁他 ?1-3 什么是軟件工程 ?它有哪些本質(zhì)特性 ?怎樣用軟件工程消除軟件危機(jī) ?答 : 軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟 件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件 并有效地維護(hù)它。軟件工程本質(zhì)特性: 1、軟件工程關(guān)注于大型程序的構(gòu)造; 2、軟件工程的中心課題是控制復(fù)雜性; 3、軟件經(jīng)常變 化; 4、開發(fā)軟件的效率非常重要; 5、和諧地合作是開發(fā)軟件的關(guān)鍵; 6、軟件必須有效地支持它的用戶; 7、在軟件

4、工 程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品。消除軟件危機(jī)的途徑:為了消除軟件危機(jī),首先應(yīng)該對計算機(jī)軟件有一個正確的認(rèn)識。必須充分認(rèn)識到軟件開發(fā)不 是某種個體勞動的神秘技巧,而應(yīng)該是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的工程項目。應(yīng)該推廣 使用在實踐中總結(jié)出來的開發(fā)軟件的成功的技術(shù)和方法,并且研究探索更好更有效的技術(shù)和方法,盡快消除在計算機(jī)系 統(tǒng)早期發(fā)展階段形成的一些錯誤概念和做法。 應(yīng)該開發(fā)和使用更好的軟件工具。 為了解決軟件危機(jī), 既要有技術(shù)措施 (方 法和工具),又要有必要的組織管理措施。1-6 什么是軟件過程 ?它與軟件工程方法學(xué)有何關(guān)系 ?答 :

5、 軟件過程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。軟件工 程方法學(xué)包含軟件過程。1-7 什么是軟件生命周期模型 ?試比較瀑布模型、快速原型模型、增量模型和螺旋模型的優(yōu)缺點,說明每種模型的適用 范圍。答 : 生命周期模型簡潔地描述軟件過程,規(guī)定了把生命周期劃分成哪些階段及各個階段執(zhí)行順序。瀑布模型歷史悠久、廣為人知,它的優(yōu)勢在于它是規(guī)范的、文檔驅(qū)動的方法;這種模型的問題是,最終開發(fā)出的軟 件產(chǎn)品可能并不是用戶真正需要的??焖僭湍P驼菫榱丝朔俨寄P偷娜秉c而提出來的。它通過快速構(gòu)建起一個可在計算機(jī)上運行的原型系統(tǒng),讓 用戶試用原型并收集用戶反饋意見的辦

6、法,獲取用戶的真實需求。增量模型具有可在軟件開發(fā)的早期階段使投資獲得明顯回報和較易維護(hù)的優(yōu)點,但是,要求軟件具有開放的結(jié)構(gòu)是 使用這種模型時固有的困難。風(fēng)險驅(qū)動的螺旋模型適用于內(nèi)部開發(fā)的大型軟件項目,但是,只有在開發(fā)人員具有風(fēng)險分析和排除風(fēng)險的經(jīng)驗及專 門知識時,使用這種模型才會獲得成功。快速原型模型:適合小型軟件; 螺旋模型:適合內(nèi)部開發(fā)的大規(guī)模軟件項目。2- 1 在軟件開發(fā)的早期階段為什么要進(jìn)行可行性研究 ?應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)的可行性 ?答 : 可行性研究的目的,就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。至少應(yīng)該從下述三方面研究每 種解法的可行性: (1)技術(shù)可行性;

7、( 2)經(jīng)濟(jì)可行性;(3)操作可行性。2- 5 北京某高??捎玫碾娫捥柎a有以下幾類:校內(nèi)電話號碼由 4 位數(shù)字組成,第 1 位數(shù)字不是 0;校外電話又分為本市 電話和外地電話兩類,撥校外電話需先撥 0,若是本市電話則再接著撥 8位數(shù)字(第 1位不是 0) ,若是外地電話則撥 3 位區(qū)碼再撥 8位電話號碼 (第 1位不是 0)。請用 2.5.2 小節(jié)講述的定義數(shù)據(jù)的方法,定義上述的電話號碼。答:電話號碼=校內(nèi)電話I本市電話|外地電話非零數(shù)字字符 =1|2|3|4|5|6|7|8|9校內(nèi)電話=非零數(shù)字字符 +3數(shù)字3本市電話=0+非零數(shù)字字符 +7數(shù)字7 外地電話=0+區(qū)碼+非零數(shù)字字符 +7數(shù)字

8、73- 1 為什么要進(jìn)行需求分析 ?通常對軟件系統(tǒng)有哪些需求 ?答 : 為了開發(fā)出真正滿足用戶需求的軟件產(chǎn)品,首先必須知道用戶的需求。對軟件需求的深入理解是軟件開發(fā)工作 獲得成功的前提條件,不論我們把設(shè)計和編碼工作做得如何出色,不能真正滿足用戶需求的程序只會令用戶失望,給開 發(fā)者帶來煩惱。確定對系統(tǒng)的綜合要求: 1、功能需求; 2、性能需求; 3、可靠性和可用性需求; 4、出錯處理需求; 5、接口需求; 6、約束; 7、逆向需求; 8、將來可以提出的要求,分析系統(tǒng)的數(shù)據(jù)要求。3- 2 怎樣與用戶有效地溝通以獲取用戶的真實需求 ?答: 與用戶溝通獲取需求的方法:訪談;面向數(shù)據(jù)流自頂向下求精;簡易

9、的應(yīng)用規(guī)格說明技術(shù);快速建立軟件原型3-3 銀行計算機(jī)儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號碼)、身份證號碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并印岀存單給儲戶;如果是取款而且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算利 息并印岀利息清單給儲戶。請用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用實體-聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對象。 答:數(shù)據(jù)流圖:儲戶存折、存款單款存折(無密碼)、取款單實體-聯(lián)系圖:儲蓄所在什么情況,下應(yīng)該使用形式化說明技px"使用形式化說明技術(shù)時應(yīng)遵

10、守名些稱則、 型軟件系統(tǒng)類過寸程中應(yīng)該使用形式化說明技對取 款42' II I I 7 ”/ j* I /_,- y ''/ T 7 1 1 j / T答:在開發(fā)大型軟件系統(tǒng)類過程中應(yīng)該帳目地址現(xiàn)金庫應(yīng)該形處理但不要過分形式化。(3)應(yīng)該估算成本。開發(fā)方法。一 應(yīng)該建立詳盡的文檔。(7)不應(yīng)該形式化款明技對 應(yīng)用形式化方法的準(zhǔn)則:(1應(yīng)該選用適當(dāng)密i亠'丄IX(4)應(yīng)該有形式化方法顧問隨時提供咨詢 放棄質(zhì)量標(biāo)準(zhǔn)。(8 5-4美國某大學(xué)共有 的教師工資將保持不變,年工資少于$ 贍養(yǎng)的人(包括教師本人)每年補助卩100,此外,教師有一年工齡每年冉多補助$ 多于$ 2

11、6 000。/取款日教師的工資檔案儲存在行政辦公室的磁帶上,檔案中有目前的年工資、贍養(yǎng)的人數(shù)、雇用日期等信息。需要寫一個程序 計算姓卩(1)L畫出此系統(tǒng)的數(shù)據(jù)流'圖;(2)寫出需求說明;廠(3)設(shè)計上述的工資調(diào)整程序I (要求用HlPo圖描繪設(shè)計結(jié)果),設(shè)計時請分別采用下述兩種算法,并比較這兩種算法的脊方法應(yīng)該放:9)應(yīng)該測試、測試再測試。 勺剛簽訂一項協(xié)議。按照協(xié)議I、棄傳統(tǒng)的應(yīng)該建立詳盡的文檔。狗應(yīng)該重用。議,日所有年工資超過$26 000(含$ 26 000)方法。一 (6)E應(yīng)該盲目依賴形式化方法。 200名教師,校方與教師工會26 000的教師將增力加工資,所增加的工資數(shù)按下

12、述方法計算:給每個由此教師所50,但是,增加后的年工資總額不能取款日優(yōu)缺點:尋名教師的原儲戶資和調(diào)整后的新工資。要求:(a)搜索住工資對照表;(b)把工資檔案數(shù)據(jù)按工資從最低到最高的次序排序,當(dāng)工資數(shù)額超過$ 超過限額,儲存新工資,印岀結(jié)果。答:于$ 26 000的人,計算新工資,校核是否超過$26 000 ,儲存新工資,印出新舊26 OOO時即停止排序,計算新工資,校核是否(1)數(shù)據(jù)流圖:贍養(yǎng)人口讀贍養(yǎng)人數(shù)雇傭日期(2)需求說明1.日期人婁S工資2S1計算應(yīng)漲計算新工資新工資工齡寸于年工資未超過$2600的教師漲工資:每贍養(yǎng)1人補助$100,每有一年0,漲工資上限為$ 2600;2 數(shù)據(jù)描述

13、:數(shù)據(jù)庫描述:工資表、VF工資S23 .功能需求:對于年工資未超過$2600的教師漲工資:每贍養(yǎng)1人補助$100,每有年工齡補助$50,漲工資上限為$ 2600;A=B+1IF A>10THEN X=A ELSE Y=Z END IFIF Y<5THEN PRINT X,YELSE IF Y=2THEN GoTo LooPELSE C=3 END IFEND IFG=H+REND DOIF F>0THEN PRINT CELSE PRINT KENDIFSTOP答:對應(yīng)的流圖: 環(huán)形復(fù)雜度:V (G) =E二 存在的邏輯問題:'6-9把統(tǒng)計空格程1=17-13+2=6

14、612138910答:程序流程圖:符開始分析字符處理空格 H統(tǒng)計 序體 5112,4彳Z>0時易形成死循環(huán).2Ckson圖(下圖)改畫為等價的印總數(shù)牛Y<5 包含條件Y=21S4盒圖(N-S圖)10個錯7-8對一個包含10000條機(jī)器指令的程序進(jìn)行一個件試后,總共改正了 25要求:(1)根據(jù)上述數(shù)據(jù)確定 MTTF與測試時間之間的函數(shù)關(guān)系,畫出 做了什么假設(shè)?(2)為做到 MTTF=10在程序中?答:(1) 所做假設(shè):1)2)反比.3)(2) 由 ShOOma公MTTF=T/(K*(其中,T=104,得:MTTF=IT/(*(E T-EC(T卩取下一個字符10=1MTTF=IT/(K

15、*(E T-EC(T2換行輸出空格 15=10000(K*(EIT坯行,出空 格 L(1) 解得程序中固有的錯誤總數(shù)E=45,此外K=1003°(2) 設(shè)MTTF=100有I 結(jié)束100=10000/( 100/3)*(45-x)解得x=420所以,當(dāng)集成測試結(jié)束時,改正了42個錯誤,還剩3個錯誤。7-9如對一個長度為100000條指令的程序進(jìn)行集成測試期間記錄下下面的數(shù)據(jù): :集成測試開始,沒有發(fā)現(xiàn)錯誤。:總共改正100個錯誤,此時 MTTF=0.4h:總共改正 300個錯誤,此時, MTTF=2h根據(jù)上列數(shù)據(jù)完成下列各題: (1)估計程序中的錯誤總數(shù);文件不是文件尾?讀一個字符串

16、個錯誤(第二個集成測試 正了 15個錯換,彳行時輸MTtF=字di>串兩個,MTTF=15h琳 N '/ITDh必須進(jìn)行多長時間的集成測電/當(dāng)集成測試結(jié)束時總共改正讀一個字符弓測試時間T的關(guān)系曲線。在畫這條曲線時 了多少個錯統(tǒng)計空格數(shù)并錯誤潛伏單位長度里的錯誤數(shù)近似為常數(shù) ; 失效率正比換軟件中剩符串錯誤數(shù),而平均無''改正了發(fā)現(xiàn)的每一個錯誤式:E T-Ee(T)統(tǒng)計空格數(shù)并輸ITTF=10,n=15,MTTF=15 ,n 2=)5。日日日12 1月月月7 8 9). ab C取下一個字符串故障時間與剩余的錯誤數(shù)成總數(shù) 為使MTTF達(dá)到IOh,必須測試和調(diào)試這個程

17、序多長時間 ?(3)畫出MTTF和測試時間T之間的函數(shù)關(guān)系線。答:由ShOOma公式:MTTF=TI/(K*(E T-EC(T)其中, I T=1O5,MTTF1=O.4,T 1=16O,n1=1OO,MTTF2=2,T2=32O,n2=3OO。得: MTTF1=I T/(K*(E T-EC(T1)O.4=1OOOOO/(K*(E T-1OO)MTTF2=I T/(K*(E T-EC(T2)2=1OOOOO/(K*(E T-3OO)(1)解得程序中固有的錯誤總數(shù)E=350,此外K=IOOQ設(shè)MTTF=10有1O=1OOOOO/(1OOO*(35O-x)解得=340o由可靠性積累曲線Ec(t)=

18、E T(1-exp (-Kit)得: 1OO=35O*(1-exp ( -16OK1)300=350*(1-exp ( -320K1) )解得: K=0.01o 代入 340=350*(1-exp(-K1t) )= 350*(1-exp(-0.01t ),得: t=(ln(35)/0.01=356h因此求得為使MTTF=10,測試和調(diào)試該程序需要花費 365ho5、8-1 軟件的可維護(hù)性與哪些因素有關(guān) ?在軟件開發(fā)過程中應(yīng)該采取哪些措施才能提高軟件產(chǎn)品的可維護(hù)性 ? 答: 1 、決定軟件可維護(hù)性的因素主要有下述 5個: 1 、可理解性; 2、可測試性; 3、可修改性; 4、可移植性;可重用性。在需求分析階段的復(fù)審過程中,應(yīng)該對將來要改進(jìn)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論