軟件工程課后答案_第1頁(yè)
軟件工程課后答案_第2頁(yè)
軟件工程課后答案_第3頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

7、2)經(jīng)濟(jì)可行性; (3)操作可行性。2- 5 北京某高校可用的電話號(hào)碼有以下幾類: 校內(nèi)電話號(hào)碼由 4 位數(shù)字組成, 第 1 位數(shù)字不是 0;校外電話 又分為本市電話和外地電話兩類, 撥校外電話需先撥 0,若是本市電話則再接著撥 8 位數(shù)字 (第 1 位不是 0), 若是外地電話則撥 3 位區(qū)碼再撥 8 位電話號(hào)碼 (第 1 位不是 0)。請(qǐng)用 2.5.2 小節(jié)講述的定義數(shù)據(jù)的方法,定義上述的電話號(hào)碼。答:電話號(hào)碼=校內(nèi)電話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ū)碼

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

9、頂向下求精;簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù);快速建立 軟件原型3-3銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如下:儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存 款則系統(tǒng)記錄存款人姓名、住址 (或電話號(hào)碼)、身份證號(hào)碼、存款類型、存款日期、到期日期、利率及密 碼(可選)等信息,并印岀存單給儲(chǔ)戶;如果是取款而且存款時(shí)留有密碼,則系統(tǒng)首先核對(duì)儲(chǔ)戶密碼,若密 碼正確或存款時(shí)未留密碼,則系統(tǒng)計(jì)算利息并印岀利息清單給儲(chǔ)戶。請(qǐng)用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用實(shí)體-聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對(duì)象。答:4- 2在什么情況下應(yīng)該使用形式化說(shuō)明技術(shù)?使用形式化說(shuō)明技術(shù)時(shí)應(yīng)遵守哪些準(zhǔn)則?答:在開(kāi)發(fā)大型軟件系統(tǒng)的過(guò)程中應(yīng)該使用形式化

10、說(shuō)明技術(shù)。應(yīng)用形式化方法的準(zhǔn)則:(1)應(yīng)該選用適當(dāng)?shù)谋硎痉椒?。?)應(yīng)該形式化,但不要過(guò)分形式化。 (3) 應(yīng)該估算成本。(4)應(yīng)該有形式化方法顧問(wèn)隨時(shí)提供咨詢。 (5)不應(yīng)該放棄傳統(tǒng)的開(kāi)發(fā)方法。 (6)應(yīng)該建 立詳盡的文檔。(7)不應(yīng)該放棄質(zhì)量標(biāo)準(zhǔn)。(8)不應(yīng)該盲目依賴形式化方法。(9)應(yīng)該測(cè)試、測(cè)試再測(cè)試。(10)應(yīng)該重用。5- 4美國(guó)某大學(xué)共有200名教師,校方與教師工會(huì)剛剛簽訂一項(xiàng)協(xié)議。按照協(xié)議,所有年工資超過(guò)$26000(含$ 26 000)的教師工資將保持不變,年工資少于$26 000的教師將增加工資,所增加的工資數(shù)按下述方法計(jì)算:給每個(gè)由此教師所贍養(yǎng)的人(包括教師本人)每年補(bǔ)助$

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

12、排序,當(dāng)工資數(shù)額超過(guò)$26 000時(shí)即停止排序,計(jì)算新工資,校核是否超過(guò)限額,儲(chǔ)存新工資,印岀結(jié)果答:1.任務(wù)概述:對(duì)于年工資未超過(guò)$2600的教師漲工資:每贍養(yǎng)1人補(bǔ)助$100,每有一年工齡補(bǔ)助$50,漲工資上限為$2600;2.數(shù)據(jù)描述:數(shù)據(jù)庫(kù)描述:工資表、VF工齡補(bǔ)助$50,漲工資上限為$2600;3 .功能需求:對(duì)于年工資未超過(guò)$2600的教師漲工資:每贍養(yǎng)1人補(bǔ)助$100,每有一年 所畫的流程圖適合(a)種算法6- 8畫岀下列偽碼程序的流圖,計(jì)算它的環(huán)形復(fù)雜度。你覺(jué)得這個(gè)程序的邏輯有什么問(wèn)題嗎 C EXAMPLELOOP:DO WHILE Z>0A=B+1IF A>10T

13、HEN X=AELSE Y=ZEND IFIF Y<5THEN PRINT X,YELSE IF Y=2THEN GOTO LOOPELSE C=3END IFEND IFG=H+REND DOIF F>0THEN PRINT CELSE PRINT KENDIFSTOP答:對(duì)應(yīng)的流圖2,367104環(huán)形復(fù)雜度:V( G) =E-N+2=17-13+2=6存在的邏輯問(wèn)題:1)當(dāng)Z>0時(shí)易形成死循環(huán).2) 條件Y<5 包含條件 6-9把統(tǒng)計(jì)空格程序的Jackson圖(下圖)改畫為等價(jià)的程序流程圖和盒圖。Y=2答:7-8對(duì)一個(gè)包含10000條機(jī)器指令的程序進(jìn)行一個(gè)月集成測(cè)試

14、后,總共改正了15個(gè)錯(cuò)誤,此時(shí)MTTF=10h;經(jīng)過(guò)兩個(gè)月測(cè)試后,總共改正了25個(gè)錯(cuò)誤(第二個(gè)月改正了 10個(gè)錯(cuò)誤),MTTF=15h要求: 根據(jù)上述數(shù)據(jù)確定 MTTF與測(cè)試時(shí)間之間的函數(shù)關(guān)系,畫出MTTF與測(cè)試時(shí)間t的關(guān)系曲線。在畫這條曲線時(shí)做了什么假設(shè) ?(2)為做到MTTF=100h必須進(jìn)行多長(zhǎng)時(shí)間的集成測(cè)試 ?當(dāng)集成測(cè)試結(jié)束時(shí)總共改正了多少個(gè)錯(cuò)誤,還有多 少個(gè)錯(cuò)誤潛伏在程序中?答:(1) 所做假設(shè):1)單位長(zhǎng)度里的錯(cuò)誤數(shù)近似為常數(shù);2)失效率正比于軟件中剩余的錯(cuò)誤數(shù),而平均無(wú)故障時(shí)間與剩余的錯(cuò)誤數(shù)成反比3)發(fā)現(xiàn)的每一個(gè)錯(cuò)誤都立即正確地改正了(2) 由 Shooman公式:MTTF=T/

15、(K*(E t-Ec(T)其中,I t=104,MTTF1=10,n 1=15,MTTF2=15,n 2=25。得:MTTF=I t/(K*(E t-Ec(T1)10=10000/(K*(E t-15)MTTF=I t/(K*(E t-Ec(T2)15=10000/(K*(E t-25)(1) 解得程序中固有的錯(cuò)誤總數(shù)Et=45,此外K=100/3。(2) 設(shè) MTTF=100 有100=10000/( 100/3 ) *(45-x)解得x=42。所以,當(dāng)集成測(cè)試結(jié)束時(shí),改正了42個(gè)錯(cuò)誤,還剩3個(gè)錯(cuò)誤。7- 9如對(duì)一個(gè)長(zhǎng)度為100000條指令的程序進(jìn)行集成測(cè)試期間記錄下下面的數(shù)據(jù):日日日12

16、1月月月7 8 9). ab C集成測(cè)試開(kāi)始,沒(méi)有發(fā)現(xiàn)錯(cuò)誤。總共改正100個(gè)錯(cuò)誤,此時(shí) MTTF=0.4h總共改正300個(gè)錯(cuò)誤,此時(shí),MTTF=2h根據(jù)上列數(shù)據(jù)完成下列各題:(1) 估計(jì)程序中的錯(cuò)誤總數(shù); 為使MTTF達(dá)到10h,必須測(cè)試和調(diào)試這個(gè)程序多長(zhǎng)時(shí)間 ? 畫出MTTF和測(cè)試時(shí)間t之間的函數(shù)關(guān)系線。答:由Shooman公式:MTTF=IT/(K*(E T-EC(T)5其中, I T=105,MTTF1=0.4,T 1=160,n 1=100,MTTF2=2,T 2=320,n 2=300。得: MTTF1=I T/(K*(E T-EC(T 1)0.4=100000/(K*(E T-10

17、0)MTTF2=I T/(K*(E T-E C(T 2) 2=100000/(K*(E T-300)(1) 解得程序中固有的錯(cuò)誤總數(shù) ET=350, 此外 K=1000。(2) 設(shè) MTTF=10有10=100000/(1000*(350-x)解得x=340。由可靠性積累曲線 &(t)=E T(1-exp (-Kit)得: 100=350*(1-exp ( -160K 1) )300=350*(1-exp( -320K 1) )解得: K=0.01。 代入 340=350*(1-exp (-K1t) )= 350*(1-exp(-0.01t ),得: t=(ln(35)/0.01=356h因此求得為使 MTTF=10,測(cè)試和調(diào)試該程序需要花費(fèi)365h。8- 1 軟件的可維護(hù)性與哪些因素有關(guān) ?在軟件開(kāi)發(fā)過(guò)程中應(yīng)該采取哪些措施才能提高軟件產(chǎn)品的可維護(hù)性?答: 1、決定軟件可維護(hù)性的因素主要有下述5個(gè):1、可理解性;2、可測(cè)試性; 3、可修改性; 4、可移植性; 5、可重用性。在需求分析階段的復(fù)審過(guò)程中,應(yīng)該對(duì)將來(lái)要改進(jìn)的部分和可能會(huì)修改的部分

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論