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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、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)電話|本市電話|外地電話 非零數(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ù)字7 3- 1為什么要進行需求分析?通常對軟件系統(tǒng)有哪些需求 ?

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

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

10、用形式化說 答:在開發(fā)大型軟件系統(tǒng)的過程中應(yīng)該使用形 應(yīng)用形式化方法的準則:(1)應(yīng)該選用適當?shù)谋硎?應(yīng)該估算成本。4利率亥有形式化方法顧問隨時提供咨詢。 立詳盡的文檔。 (10)應(yīng)該重用。5-4美國某大學共 術(shù)時應(yīng)遵守哪些準則 現(xiàn)金庫 地址 (2)應(yīng)該形式化,但不要過分形式化。 (5)不應(yīng)該放款統(tǒng)期開發(fā)方法。 殳賴形式化方法。 (9)應(yīng)該測試、測試再測試。 (3) (6)應(yīng)該建 卜7)不應(yīng)該放棄質(zhì)量標準。(8)不應(yīng)該盲目 200名教師,校方與教師丄會剛剛簽訂一項協(xié)議。按照協(xié)議,所有 年工資超過$ 26 000(含$ 26 000V的教師工資將保持不變,年丄款日期 包括教師本人 卩每年補助$

11、100,此外, 26 000的教師將增加工資,所增 教師有一 加的工資數(shù)按下述方法計算: 年工齡每年再多補助$ 儲戶但是,增 教師的資檔案儲存在行政辦公室的磁帶上,檔案中有目前的年工資、贍養(yǎng)的人數(shù)、雇用日期等信息。需 要寫一個程序計算并印岀每名教師的原有工資和調(diào)整后的新工資。要求: (1)畫出此系統(tǒng)的數(shù)據(jù)流圖; 寫出需求說明;” 設(shè)計上述的丄資調(diào)整程身份要求用HIPO圖描繪設(shè)計結(jié)果),設(shè)計時請分別采用下述兩種算法, 兩種算法的優(yōu)缺點:kJ 搜索工資檔案數(shù)據(jù),找岀年工資少于$26 000的人,計算新工資,校核是否超過$26 000, 印岀新舊工資對照表; 把工資檔案數(shù)據(jù)按工資從最低到最高的次序排

12、序,當工資數(shù)額超過$ 校核是否超過限額,儲存新工資,印岀結(jié)果。 給 個由此教師所贍養(yǎng)的人 加后的年工資總額不能多于$ 26 000。 并比較這 (a) 資, (b) 資, 答: 儲存新工 26 000時即停止排序,計算新工 (1)數(shù)據(jù)流圖: 贍養(yǎng)人口 雇傭日期 (2) 1. 讀贍養(yǎng) 人數(shù) 人數(shù) 日期 工齡 工資S1 計算應(yīng)漲 S1 計算新 工資 S 新工資 2. 對于年工資未超 $50,漲工資上限為計算工50 齡 數(shù)據(jù)庫描述:工資表、VF 3 .功能需求:對于年工資未超過$ 工齡補助$50,漲工資上限為$2600; 600的教師漲 2600的教師漲 1人補助$100,每有一年 -每贍 工資S2

13、 計算應(yīng)漲 1人補助$100,每有一年 (3)HIPO圖:(a) (b) (4)所畫的流檢圖索合( 個程序的邏輯有什么問題嗎 LyRAS排序莊 A=B+1 IF A10 漲工資系統(tǒng) 漲工資系統(tǒng) 9 校山彳 -8畫岀 、列偽 勺碼7 ,計算它的環(huán)形復雜度。你覺得這 修改2.0 校核3.0 打印4.0 THEN R=A ELSE R=Z END IF IF R0 環(huán)形復雜度: 存在的邏 6-9把統(tǒng)計空格程 2,3 11 4 5 8 14 程序體 9 10 處理字符串R THEN PRINT C ELSE PRINT K ENDIF STOP 答:對應(yīng)的流圖: -N+2=17-13+2=6 0時易形

14、成死循環(huán).2) 的 Jackson畫為等價的程序流程 統(tǒng)計空格 印字符串 分析符串 印空格數(shù) S 1 分析字符R 處理空格 處理非空格 包含條件 R=2 反比.3)發(fā)現(xiàn)的每一個錯誤都立即正確地改正了. 由Shooman公式: MTTF=T/(KR(E t-Ec(T) 其中,I t=104,MTTF1=10,n 1=15,MTTF2=15,n 2=25。 得:MTTF=I t/(KR(E t-Ec(Ti) 10=10000/(KR(E t-15) MTTF=I t/(KR(E t-Ec(T2) 15=10000/(KR(E t-25) (1) 解得程序中固有的錯誤總數(shù) Et=45,此外K=100

15、/3。 (2) 設(shè) MTTF=100 有 100=10000/( 100/3)R(45-R) 解得R=42。 所以,當集成測試結(jié)束時,改正了42個錯誤,還剩 3個錯誤。7-9如對一個長度為100000 條指令的程序進行集成測試期間記錄下下面的數(shù)據(jù): 日日日 12 1 月月月 7 8 9 ). ab C 集成測試開始,沒有發(fā)現(xiàn)錯誤。 總共改正100個錯誤,此時 MTTF=0.4h 總共改正300個錯誤,此時,MTTF=2h 根據(jù)上列數(shù)據(jù)完成下列各題: (1) 估計程序中的錯誤總數(shù); (2) 為使MTTF達到10h,必須測試和調(diào)試這個程序多長時間? (3) 畫出MTTF和測試時間t之間的函數(shù)關(guān)系線

16、。 答:由 Shooman公式: MTTF=T/(KR(E t-Ec(T) 其中,I t=10,MTTFi=0.4,T i=160,n i=100,MTTF2=2,T2=320, n 2=300。 得:MTTF=I t/(KR(E t-Ec(Ti) 0.4=100000/(KR(E t-100) MTTF=I t/(KR(E t-Ec(T2) 2=100000/(KR(E t-300) (1) 解得程序中固有的錯誤總數(shù)Et=350,此外K=1000。 (2) 設(shè) MTTF=10有 10=100000/(1000R(350-R) 解得R=340。由可靠性積累曲線 Ec(t)=E T(1-eRp

17、(-Kit) 得:100=350R(1-eRp (-160Ki) 300=350R(1-eRp (-320Ki) 解得:K=0.01。 代入 340=350R(1-eRp (-Kit ) )= 350R(1-eRp(-0.01t ), 得:t=(ln(35)/0.01=356h 因此求得為使 MTTF=10,測試和調(diào)試該程序需要花費365h。8-1軟件的可維護性與哪些因素有 關(guān)?在軟件開發(fā)過程中應(yīng)該采取哪些措施才能提高軟件產(chǎn)品的可維護性? 答:1、決定軟件可維護性的因素主要有下述5個:1、可理解性;2、可測試性;3、可修改性;4、可 移植性;5、可重用性。 在需求分析階段的復審過程中,應(yīng)該對將來要改進的部分和可能會修改的部分加以注意并指明;應(yīng)該

溫馨提示

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

評論

0/150

提交評論