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

下載本文檔

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

文檔簡介

第一章課后參考答案

1.什么是軟件危機(jī)?它們有哪些典型表現(xiàn)?為什么會出現(xiàn)軟件危機(jī)?

“軟件危機(jī)”是指計算機(jī)軟件的“開發(fā)”和“維護(hù)”過程中所遇到的一系

列“嚴(yán)峻問題”。這些問題決不僅僅是不能正常運行的軟件才具有的,事

實上,幾乎“全部軟件”都不同程度地存在這些問題。

“軟件危機(jī)”包含兩方面的問題:

(1)如何開發(fā)軟件,以滿足對軟件日益增長的需求;

(2)如何維護(hù)數(shù)量不斷膨脹的已有軟件。

它們有以下表現(xiàn):

(1)對軟件開發(fā)成本和進(jìn)度的估計常常很不精確;

(2)用戶對“已完成的”軟件系統(tǒng)不滿足的現(xiàn)象常常發(fā)生;

(3)軟件產(chǎn)品的質(zhì)量往往靠不?。?/p>

(4)軟件常常是不行維護(hù)的;

(5)軟件通常沒有適當(dāng)?shù)奈臋n資料;

(6)軟件成本在計算機(jī)系統(tǒng)總成本中所占的比例逐年上升;

(7)軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計算機(jī)應(yīng)用普及深化的趨

勢。

出現(xiàn)軟件危機(jī)的緣由

(1)開發(fā)人員及客戶相識之間的沖突

(2)開發(fā)人員實力及開發(fā)目標(biāo)之間的沖突

(3)預(yù)估及實際工作量之間的沖突

(4)客戶相識的提高及軟件維護(hù)之間的沖突

(5)遺產(chǎn)系統(tǒng)及實施軟件之間的沖突

2.假設(shè)自己是一家軟件公司的總工程師,當(dāng)把圖1.1給手下的軟件工程

師們觀看,告知他們剛好發(fā)覺并改正錯誤的重要性時,有人不同意這個觀點,

認(rèn)為要求在錯誤進(jìn)入軟件之前就清晰它們是不現(xiàn)實的,并舉例說:“假如一

個故障是編碼錯誤造成的,那么,一個人怎么能在設(shè)計階段清除它呢?”應(yīng)

當(dāng)怎么反對他?

答:在軟件開發(fā)的不同階段進(jìn)行修改付出的代價是很不相同的,在早

期引入變動,涉及的面較少,因而代價也比較低;在開發(fā)的中期,軟

件配置的很多成分已經(jīng)完成,引入一個變動要對全部已完成的配置成

分都做相應(yīng)的修改,不僅工作量大,而且邏輯上也更困難,因此付出

的代價劇增;在軟件“已經(jīng)完成”是在引入變動,當(dāng)然付出的代價更

高。一個故障是代碼錯誤造成的,有時這種錯誤是不行避開的,但要

修改的成本是很小的,因為這不是

整體構(gòu)架的錯誤。

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)軟件工程的中心課題是限制困難性

(3)軟件常常變更

(4)開發(fā)軟件的效率特別重要

(5)和諧地合作是開發(fā)軟件的關(guān)鍵

(6)軟件必需有效支持它的用戶

(7)在軟件工程領(lǐng)域通常由一種文化背景的人替代具有另一種文化背景

的人創(chuàng)建產(chǎn)品

消退軟件危機(jī)的原理:

(1)用分階段的生命周期支配嚴(yán)格管理

(2)堅持進(jìn)行階段評審

(3)實行嚴(yán)格的產(chǎn)品限制

(4)采納現(xiàn)代程序設(shè)計技術(shù)

(5)結(jié)果應(yīng)能清晰地審查

(6)開發(fā)小組的人員應(yīng)當(dāng)少而精

(7)承認(rèn)不斷改進(jìn)軟件工程實踐的必要性

5.依據(jù)歷史數(shù)據(jù)可以做出如下的假設(shè):

對計算機(jī)存儲容量的需求大致按下面公式描述的趨勢逐年增加:

4()8()e0.28(1960)

存儲器的價格按下面公式描述的趨勢逐年下降:Pl=o.3X0.725(美分/

位)

假如計算機(jī)字長為16位,則存儲器價格下降的趨勢為:P2=0.048X

0.72岫(美元/字)

在上列公式中Y代表年份,M是存儲容量(字?jǐn)?shù)),P1和P2代表價格。

基于上述假設(shè)可以比較計算機(jī)硬件和軟件成本的變更趨勢。要求計算:

1)在1985年對計算機(jī)存儲容量的需求估計是多少?假如字長為16位,這

個存儲器的價格是多少?

(2)假設(shè)在1985年一名程序員每天可開發(fā)出10條指令,程序員的平均工

資是每月4000美元。假如一條指令為一個字長,計算使存儲器裝滿程序

所需用的成本。

(3)假設(shè)在1995年存儲器字長為32位,一名程序員每天可開發(fā)出30條

指令,程序員的月平均工資為6000美元,重復(fù)(1)、(2)題。

?(1)在1985年對計算機(jī)存儲容量的需赤,估計是

=4()80e028a98—960)。=4080/。=4,474,263(/:)

?如果字長為16位,則這不存福器的蕩格是

P=0.048x0.7219881974x4474263=5,789(美)七)

?(2)如果一條指令的長度為一個字,則使存儲器裝滿程序共

需4474263條指令。

?在1985年一名程序員每天可開發(fā)出10條指令,如果每月

有20個工作日,則每人每月可開發(fā)出10x20條指令。

?為了開發(fā)出4474263條指令以裝滿存儲器,需要的工作量

是:4474263

22,371(人月)

200

?程序員的月平均工資是4000美元,開發(fā)出4474263條指

令的成本是22371x4000=89,484,000(美元)

?(3)在1995年對存儲容量的需求估計為:

八/=408(曉28(199"1960)=73,577,679(字)=4080e98

?如果字長為32位,則這個存儲器的價格是:

>=0.003x32x0.721995-1974x73577679=7,127(美元)

?如果一條指令為一個字長,則為使存儲器裝滿程序共需

73,577,679條指令。

?在1995年一名程序員每天可開發(fā)出30條指令,每月可開

發(fā)出600條指令,為了開發(fā)出可裝滿整個存儲器的程序,

需要的工作量為73577679,

--------?122,629(人lh”)

600

6什么是軟件過程?它及軟件工程方法學(xué)有何關(guān)系?

軟件過程是為了開發(fā)出高質(zhì)量的軟件產(chǎn)品所需完成的一系列任務(wù)的

框架,它規(guī)定了完成各項任務(wù)的工作步驟。

軟件過程定義了運用技術(shù)方法的依次、應(yīng)當(dāng)交付的文檔資料、為保

證軟件質(zhì)量和協(xié)調(diào)軟件變更必需實行的管理措施,以及標(biāo)記完成了相應(yīng)開

發(fā)活動的里程碑。

軟件過程是軟件工程方法學(xué)的3個重要組成部分之一。

7.什么是軟件生命周期模型?試比較瀑布模型、快速模型、增量模型和螺

旋模型的優(yōu)缺點,說明每種模型的適用范圍。

通俗的說,簡潔地描述軟件過程的模型叫做軟件生命周期模型,生

命周期模型規(guī)定了把生命周期花費成哪些階段及各個階段執(zhí)行的依次。

模型名稱比較特點適用范圍

方法學(xué)角度應(yīng)用角度

面對結(jié)面型對象外部項內(nèi)部產(chǎn)

構(gòu)目品

瀑布模型基礎(chǔ)模型、廣是是

泛運用、標(biāo)準(zhǔn)

模式

快速模型基本需求、原是是

形系統(tǒng)、可行

演練

增量模型需求分解、增是是

量構(gòu)件、并行

設(shè)計面對對

螺旋模型原形系統(tǒng)、風(fēng)是是

險分析、大規(guī)

模附帶風(fēng)險

分析的快速

原形模型

8.為什么說噴泉模型較好地體現(xiàn)了面對對象軟件開發(fā)過程無縫和迭代的

特性?

由于在整個開發(fā)過程中都運用統(tǒng)一的軟件概念“對象”,全部其他

概念(例如功能、關(guān)系、事務(wù)等)都是圍繞對象組成的,目的是保證分析

工作中得到的信息不會丟失或變更,因此,對生命周期各個階段的區(qū)分自

然也就不重要了,不明顯了。分析階段的得到的對象模型也適用于設(shè)計階

段和實現(xiàn)階段。由于各階段都運用統(tǒng)一的概念和表示符號,因此,整個開

發(fā)過程都是吻合一樣的,或者說是“無縫”連接的,這自然也就很簡單實

現(xiàn)各個開發(fā)步驟的多次反復(fù)迭代,達(dá)到相識的逐步深化。所以說噴泉模型

較好的體現(xiàn)了面對對象軟件開發(fā)過程無縫和迭代的特性。

其次章課后習(xí)題參考答案

1、在軟件開發(fā)的早期階段為什么要進(jìn)行可行性探討?應(yīng)從哪些方面探討

目標(biāo)系統(tǒng)的可行性?

(1)開發(fā)一個軟件時,須要推斷原定的系統(tǒng)模型和目標(biāo)是否現(xiàn)實,系統(tǒng)

完成后所能帶來的效益是否大到值得投資開發(fā)這個系統(tǒng)的程度,假如做不

到這些,那么花費在這些工程上的任何時間、人力、軟硬件資源和經(jīng)費,

都是無謂的奢侈??尚行蕴接懙膶嵸|(zhì)是要進(jìn)行一次大大壓縮簡化了的系統(tǒng)

分析和設(shè)計過程,就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)

計的過程??尚行蕴接懙哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定

問題是否能夠解決。

(2)一般說來,至少應(yīng)當(dāng)從以下三個方面探討每種解法的可行性:

a.技術(shù)可行性。對要開發(fā)項目的功能、性能和限制條件進(jìn)行分析,確

定在現(xiàn)有的資源條件下,技術(shù)風(fēng)險有多大,項目是否能實現(xiàn),這些即為技

術(shù)可行性探討的內(nèi)容。這里的資源包括已有的或可以搞到的硬件、軟件資

源,現(xiàn)有技術(shù)人員的技術(shù)水平和已有的工作基礎(chǔ)。

b.經(jīng)濟(jì)可行性。進(jìn)行開發(fā)成本的估算以及了解取得效益的評估,確定要開

發(fā)的項目是否值得投資開發(fā),這些即為經(jīng)濟(jì)可行性探討的內(nèi)容對于大多數(shù)

系統(tǒng),一般衡量經(jīng)濟(jì)上是否合算,應(yīng)考慮一個底線”,經(jīng)濟(jì)可行性探討范

圍較廣,包括成本一效益分析,長期公司經(jīng)營策略,開發(fā)所需的成本和

資源,潛在的市場前景。

C.操作可行性。有時還要探討社會可行性問題,探討要開發(fā)的項目是否存

在任何侵?jǐn)_、阻礙等責(zé)任問題。社會可行性所涉及的范圍也比較廣,它包

括合同、責(zé)任、侵權(quán)和其他一些技術(shù)人員常常不了解的陷阱等。必要時還

應(yīng)當(dāng)從法律、社會效益等更廣泛的方面探討每種解法的可行性。

2、為便利儲戶,某銀行擬開發(fā)計算機(jī)儲蓄系統(tǒng)。儲戶填寫的存款單或取

款單由業(yè)務(wù)員鍵入系統(tǒng),假如是存款,系統(tǒng)記錄存款人姓名、住址、存款

類型、存款日期、利率等信息,并印出存款單給儲戶;假如是取款,系統(tǒng)

計算利息并打印出利息清單給儲戶。

寫出問題定義病畫出此系統(tǒng)的數(shù)據(jù)流圖和系統(tǒng)流程圖。

問題定義:銀行業(yè)務(wù)員每天手工處理儲戶存取款業(yè)務(wù),工作量較大,須要

業(yè)務(wù)員多。

數(shù)據(jù)流圖如下:

3、某航空公司擬開發(fā)一個機(jī)票預(yù)定系統(tǒng)。旅行社把預(yù)訂機(jī)票的旅客信息

(姓名、性別…等)輸入進(jìn)該系統(tǒng),系統(tǒng)為旅客支配航班,印出取票通知

和賬單,旅客在飛機(jī)起飛的前一天憑取票通知和賬單交款取票,系統(tǒng)核對

無誤即印出機(jī)票給旅客。

寫出問題定義病畫出此系統(tǒng)的數(shù)據(jù)流圖。

問題定義:某航空公司,售票工作人員每天手工處理旅客預(yù)訂票、支配航

班、取票和收款業(yè)務(wù),工作量較大,須要工作人員多。

數(shù)據(jù)流圖如下:

4、住院病人主要由護(hù)士護(hù)理,這樣做不僅須要大量護(hù)士,而且由于不能

隨時視察危重病人的病情變更,還會延誤搶救時機(jī)。某醫(yī)院準(zhǔn)備開發(fā)一個

以計算機(jī)為中心的患者監(jiān)護(hù)系統(tǒng),請分層次地畫出描述本系統(tǒng)功能的數(shù)據(jù)

流圖。

醫(yī)院對患者監(jiān)護(hù)系統(tǒng)的基本要求是隨時接收每個病人的生理信號(脈

搏、體溫、血壓、心電圖等),定時記錄病人狀況以形成患者日志,當(dāng)某

個病人的生理信號超出醫(yī)生規(guī)定的平安范圍時向值班護(hù)士發(fā)出警告信息,

此外,護(hù)士在須要時還可以要求系統(tǒng)印出某個指定病人的病情報告。

符號說明如下:

?F1-要求報告F2-生理信號F3-日期、時間

?F4-警告信息F5-平安范圍F6一日志

?P1-接收信號P2-分析信號P3-產(chǎn)生警告

?P4-定時取樣生理信號P5-更新日志P6-產(chǎn)生病情報告

?D1-患者日志D2-患者平安范圍D3-生理信息

?E1-護(hù)士E2-病人E3-時鐘

5、北京某高校可用的電話號碼有以下幾類:校內(nèi)電話號碼由4位數(shù)字組

成,第1位數(shù)字不是0;校外電話又分為本市電話和外地電話兩類,撥校

外電話需先撥0,若是本市電話則再接著撥8位數(shù)字(第1位不是0),若

是外地電話則撥3位區(qū)碼再撥8位電話號碼(第1位不是0)o

請用定義數(shù)據(jù)字典的方法,定義上述的電話號碼。

電話號碼式校內(nèi)電話號碼I校外電話號碼]

校內(nèi)電話號碼=非零數(shù)字+3位數(shù)字后面接著定義

校外電話號碼=[本市號碼I外地號碼]

本市號碼=數(shù)字零+8位數(shù)字

外地號碼=數(shù)字零+3位數(shù)字+8位數(shù)字

非零數(shù)字=[1|2|3|4|5|6|7|8|9]

數(shù)字零=0

3位數(shù)字=3{數(shù)字}33至3個數(shù)字

8位數(shù)字=非零數(shù)字+7位數(shù)字

7位數(shù)字=7{數(shù)字}7

數(shù)字=[0|1|2|3⑷5|6|7|8|9]

第三章課后參考答案

3、銀行計算機(jī)儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫的存款單或取款

單由業(yè)務(wù)員鍵入系統(tǒng),假如是存款則系統(tǒng)記錄存款人姓名、住址(或電話

號碼)、身份證號碼、存款類型、存款日期、到期日期、利率及密碼(可選)

等信息,并印出存單給儲戶;假如是取款而且存款時留有密碼,則系統(tǒng)首

先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算利息并印出

利息清單給儲戶。

請用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用實體-聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對

象。

本系統(tǒng)的頂層數(shù)據(jù)流圖如下:

F5存款信息F5存款信息

D1存款信息

本系統(tǒng)的數(shù)據(jù)流圖如下:

留意:不能是兩個分開的子系統(tǒng),是相同的前臺單個處理

實體-聯(lián)系圖如下:

-本問題中共有兩類實體,分別是“儲戶”和“儲蓄所”,在

它們之間存在“存取款”關(guān)系。因為一位儲戶可以在多家儲

蓄所存取款,一家儲蓄所擁有多位儲戶,所以“存取款”是

多對多()關(guān)系。

-儲戶的屬性主要有姓名、住址、電話號碼和身份證號碼,儲

蓄所的屬性主要是名稱、地址和電話號碼,而數(shù)額、類型、

到期日期、利率和密碼則是關(guān)系類型存取款的屬性。

4、分析習(xí)題2第3題所述的機(jī)票預(yù)訂系統(tǒng),試用實體-聯(lián)系圖描述本系統(tǒng)

中的數(shù)據(jù)對象。

實體-聯(lián)系圖如下:

-本問題中主要有四類實體,分別是“顧客”、“旅行社”、

“飛機(jī)航班信息”和“飛機(jī)票”,

-在它們之間存在的關(guān)系有:

“顧客”和、“旅行社”有“代理”關(guān)系;因為一位顧客可以

讓多家旅行社代理,一家旅行社擁有多位顧客,所以“代理”是

多對多()關(guān)系。

“顧客”和飛機(jī)票”有“擁有”關(guān)系,是一對一(1:1)關(guān)系。

“飛機(jī)航班信息”和“飛機(jī)票”有“包括”關(guān)系,是是一對多一

(1)關(guān)系。

-顧客的屬性主要有姓名、性別、工作單位、身份證號碼、旅

行時間、旅行目的地、聯(lián)系電話。

-旅行社的屬性主要是旅行社名稱、地址和電話號碼。

-飛機(jī)航班信息的屬性主要是航班號、飛行時間、飛行路途、

票價、實時折扣信息。

-飛機(jī)票的屬性主要是航班號、座位號、座位信息、機(jī)票類型。

5、分析習(xí)題2第4題所述的患者監(jiān)護(hù)系統(tǒng),試用實體-聯(lián)系圖描述本

系統(tǒng)中的數(shù)據(jù)對象,畫出本系統(tǒng)的頂層圖。

本系統(tǒng)的頂層圖如下:

輸入處理輸出

6、復(fù)印機(jī)的工作過程大致如下:未接到復(fù)印吩咐時處于閑置狀態(tài),一

旦接到復(fù)印吩咐則進(jìn)入復(fù)印狀態(tài),完成一個復(fù)印吩咐規(guī)定的工作后又

回到閑置狀態(tài),等待下一個復(fù)印吩咐;假如執(zhí)行復(fù)印吩咐時發(fā)覺沒紙,

則進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進(jìn)入閑置狀態(tài),準(zhǔn)

備接收復(fù)印吩咐;假如復(fù)印時發(fā)生卡紙故障,則進(jìn)入卡紙狀態(tài),發(fā)出

警告等待修理人員來解除故障,故障解除后回到閑置狀態(tài)。

請用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機(jī)的行為。

從問題陳述可知,復(fù)印機(jī)的狀態(tài)主要有“閑置”、“復(fù)印”、“缺紙”

和“卡紙”。引起狀態(tài)轉(zhuǎn)換的事務(wù)主要是“復(fù)印吩咐”、“完成復(fù)印

吩咐”、“發(fā)覺缺紙”、“裝滿紙”、“發(fā)生卡紙故障”和“解除了

卡紙故障”。

第五章課后參考答案

3、設(shè)計下列系統(tǒng)的軟件結(jié)構(gòu)

(1)儲蓄系統(tǒng)2-2

(2)機(jī)票預(yù)定系統(tǒng)2-3

(3)患者監(jiān)護(hù)系統(tǒng)2-4

參考答案:運用結(jié)構(gòu)圖表示

1、

1、儲蓄系統(tǒng)

2、機(jī)票預(yù)定系統(tǒng)

機(jī)票預(yù)定系

統(tǒng)

機(jī)票發(fā)放子

機(jī)票預(yù)定子

系統(tǒng)

系統(tǒng)

取票憑證處

預(yù)定信息處打印及發(fā)放

理交款

理機(jī)票

打印取票單

安排航班據(jù)

錄入預(yù)定信

設(shè)置航班

息錄入取票憑核對取票憑

證證

3、患者監(jiān)護(hù)系統(tǒng)

患者監(jiān)護(hù)系

統(tǒng)

患者生理信監(jiān)護(hù)信息輸

監(jiān)護(hù)處理

人號獲取出

制定生理信定時取樣

接收信號更新日志

號安全范圍生理信號分析信號報警病情報告

□zO

取得時間

4、美國某高校有200名老師,校方及老師工會剛剛簽訂一項協(xié)議。

依據(jù)協(xié)議,全部年工資超過$26000(含$26000)的老師工資將保持

不變

溫馨提示

  • 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

提交評論