軟件工程項目管理習(xí)題解答_第1頁
軟件工程項目管理習(xí)題解答_第2頁
軟件工程項目管理習(xí)題解答_第3頁
軟件工程項目管理習(xí)題解答_第4頁
軟件工程項目管理習(xí)題解答_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2.如果一個程序有兩個輸入數(shù)據(jù),每個輸入都是一個32位的二進(jìn)制整數(shù),那么這個程序有多少個可能的輸入?如果每微秒可進(jìn)行一次測試,那么對所有可能的輸入進(jìn)行測試需要多長時間?答:每個32位的二進(jìn)制整數(shù)具有232個可能的值,因此,具有兩個整數(shù)輸入的程序應(yīng)該具有264個可能的輸入。每微秒可進(jìn)行一次測試,即每秒可進(jìn)行106個測試,因此,每天可進(jìn)行的測試數(shù)為:60 X 60 X 24X 106=8.64 X 1010這等于每年大約可進(jìn)行 3.139 X 1013個測試。因為 210=1024 103,所以 264=(210)6.4 疋 1019.2。19.2 頁105,所以做完全部測試將至少需要105年(即

2、10萬年)。3.139 104 設(shè)計下列偽碼程序的語句覆蓋和路徑覆蓋測試用例:STARTINPUT(A,B,C)IF A>5THEN X=10ELSE X=1END IFIF B>10THEN Y=20ELSE Y=2END IFIF C>15THEN Z=30ELSE Z=3END IFPRINT(X,Y,Z)STOP答:(1)語句覆蓋的測試用例因為每個判定表達(dá)式為真或為假時均有賦值語句,為了使每個語句都至少執(zhí)行一次,總共需要兩組測試數(shù)據(jù),以便使得每個判定表達(dá)式取值為真或為假各一次。下面是實現(xiàn)語句覆蓋的典型測試用例: 使3個判定表達(dá)式之值全為假輸入:A=1, B=1, C=

3、1預(yù)期的輸出:X=1, Y=2, Z=3 使3個判定表達(dá)式之值全為真輸入:A=20, B=40, C=60預(yù)期的輸出:X=10, Y=20, Z=30(2) 路徑覆蓋的測試用例本程序共有8條可能的執(zhí)行通路,為做到路徑覆蓋總共需要8組測試數(shù)據(jù)。下面是實現(xiàn)路徑覆蓋的典型測試用例: 3 個判定表達(dá)式之值全為假 輸入: A=1, B=1, C=1 預(yù)期的輸出: X=1, Y=2,Z=3 3 個判定表達(dá)式依次為假、假、真 輸入: A=1, B=1, C=60 預(yù)期的輸出: X=1, Y=2,Z=30 3 個判定表達(dá)式依次為假、真、假 輸入: A=1,B=40, C=1 預(yù)期的輸出: X=1, Y=20,

4、Z=3 3 個判定表達(dá)式依次為假、真、真 輸入: A=1,B=40, C=60 預(yù)期的輸出: X=1, Y=20,Z=30 3 個判定表達(dá)式依次為真、假、假 輸入: A=20, B=1, C=1 預(yù)期的輸出: X=10, Y=2, Z=3 3 個判定表達(dá)式依次為真、假、真 輸入: A=20, B=1, C=60 預(yù)期的輸出: X=10, Y=2, Z=30 3 個判定表達(dá)式依次為真、真、假 輸入: A=20, B=40,C=1 預(yù)期的輸出: X=10, Y=20, Z=3 3 個判定表達(dá)式全為真 輸入: A=20, B=40,C=60 預(yù)期的輸出: X=10, Y=20, Z=306. 使用基

5、本路徑測試方法 , 設(shè)計測試下面列出的偽碼程序的測試用例1:STARTINPUT(A,B,C,D)2:IF(A>0)3:AND(B>0)4:THEN X=A+B5:ELSE X=A-B6:END7:IF(C>A)8:OR(D>B)9:THEN Y=C-D10:ELSE Y=C+D11:END12:PRINT(X,Y)STOP答:用基本路徑測試方法設(shè)計測試用例的過程,有下述 4 個步驟:(1) 根據(jù)過程設(shè)計的結(jié)果畫出流圖與本題給出的偽碼程序相對應(yīng)的流圖如圖 4.1 所示。7.9810 .1112O圖4.1與第6題偽碼程序?qū)?yīng)的流圖(2)計算流圖的環(huán)形復(fù)雜度使用下述3種方法

6、中的任一種都可以算出圖4.1所示流圖的環(huán)形復(fù)雜度為5。 該流圖共有15條邊,12個結(jié)點,所以環(huán)形復(fù)雜度為15-12+2=5 該流圖共有5個區(qū)域,因此環(huán)形復(fù)雜度為5。 該流圖中共有4個判定結(jié)點,因此環(huán)形復(fù)雜度為4+1=5(3)確定線性獨(dú)立的路徑的基本集合所謂線性獨(dú)立路徑是指至少引入程序的一個新語句集合或一個新條件的路徑,用流圖 術(shù)語來描述,獨(dú)立路徑至少包含一條在定義該路徑之前不曾用過的邊。使用基本路徑測試法設(shè)計測試用例時,程序的環(huán)形復(fù)雜度決定了程序中獨(dú)立路徑的數(shù) 量,而且這個數(shù)值是確保程序中所有語句至少被執(zhí)行一次所需的測試數(shù)量的上界。對于圖4.1所示流圖來說,由于它的環(huán)形復(fù)雜度為5,因此共有5長

7、獨(dú)立路徑。下面列出了 5條獨(dú)立路徑:路徑 1: 1 2 34 6 79 11 12路徑 2: 1 2 56 7 9 11 12路徑 3: 1 2 35 6 79 11 12路徑 4: 1 2 34 6 78 911 12 路徑 5: 1 2 34 6 78 1011 12(4 )設(shè)計可強(qiáng)制執(zhí)行基本路徑的測試用例 執(zhí)行路徑1 (兩個判定表達(dá)式全為真)輸入:A=1, B=1, C=2, D=2 (任意) 預(yù)期的輸出:X=2,Y=0 執(zhí)行路徑2 (第一個判定表達(dá)式為假,第二個判定表達(dá)式為真) 輸入:A=0, B=1, C=2, D=0 (任意)預(yù)期的輸出:X=-1 , Y=2 執(zhí)行路徑3 (第一個判

8、定表達(dá)式為假,第二個判定表達(dá)式為真)輸入:A=1, B=0, C=2, D=2 (任意)預(yù)期的輸出:X=1,Y=2 執(zhí)行路徑4 (兩個判定表達(dá)式全為真)輸入:A=1,B=1, C=0, D=-1預(yù)期的輸出:X=2,Y=1 執(zhí)行路徑5 (第一個判定表達(dá)式為假,第二個判定表達(dá)式為真)輸入:A=1, B=1, C=0, D=2 (任意)預(yù)期的輸出:X=2,Y=2第十章習(xí)題1 .下面敘述對一個計算機(jī)輔助設(shè)計(CAD軟件的需求:該CAD軟件接受由工程師提供的二維或三維幾何圖形數(shù)據(jù)。工程師通過用戶界面與 CAD系統(tǒng)交互并控制它,該用戶界面應(yīng)該表現(xiàn)出良好的人機(jī)界面設(shè)計特征。幾何圖形數(shù)據(jù)及其他支持信息都保存在

9、一個 CAD數(shù)據(jù)庫中。開發(fā)必要的分析、設(shè)計模塊,以產(chǎn)生所需要的設(shè)計結(jié) 果,這些輸出將顯示在各種不同的圖形設(shè)備上。應(yīng)該適當(dāng)?shù)卦O(shè)計軟件,以便與外部設(shè)備交互并控制它們。所用的外部設(shè)備包括鼠標(biāo)、數(shù)字化掃描儀和激光打印機(jī)。要求:(1) 進(jìn)一步精化上述要求,把 CAD軟件的功能分解成若干個子功能;(2)用代碼行技術(shù)估算每個子功能的規(guī)模;(3)用功能點技術(shù)估算每個子功能的規(guī)模;(4) 從歷史數(shù)據(jù)得知,開發(fā)這類系統(tǒng)的平均生產(chǎn)率是620LOC/PM如果軟件工程師的 平均月工資是8000元,請估算開發(fā)本系統(tǒng)的工作量和成本。(5) 如果從歷史數(shù)據(jù)得知,開發(fā)這類系統(tǒng)的平均生產(chǎn)率是6.5FP/PM,請估算開發(fā)本 系統(tǒng)的

10、工作量和成本。答:(1)習(xí)題中僅對需求做出了粗略描述,每項都都應(yīng)該進(jìn)一步擴(kuò)展,以提供細(xì)節(jié)需求 和定量約束。例如,在開始估算軟件規(guī)模之前,需要確定“良好的人機(jī)界面設(shè)計特征”的具 體含義,以及對“ CAD數(shù)據(jù)庫”的規(guī)模和復(fù)雜度的具體需求。經(jīng)過對需求的進(jìn)一步精化,分解出軟件的下述7個主要的子功能:?用戶界面及控制機(jī)制;?二維幾何圖形分析;? 三維幾何圖形分析;?數(shù)據(jù)庫管理;?計算機(jī)圖形顯示機(jī)制;?外部設(shè)備控制;?設(shè)計分析模塊。(2) 為了用代碼行技術(shù)估算軟件規(guī)模,應(yīng)該針對每個子功能都分別估計出下述3個 值:樂觀值(即最小規(guī)模 a),悲觀值(即最大規(guī)模 b)和可能值(即最可能規(guī)模 m) 分別算出這3種

11、規(guī)模的平均值,然后用下式的加權(quán)平均法計算每個子功能規(guī)模,結(jié)果示于表10.4a 4m b6表10.4代碼行技術(shù)的估算表功能樂觀值可能值悲觀值估計值用戶界面及控制機(jī)制1500220035002300二維幾何圖形分析3800540064005300三維幾何圖形分析4600690086006800數(shù)據(jù)庫管理1850320054503350計算機(jī)圖形顯示機(jī)制3100490070004950外部設(shè)備控制1400215026002100設(shè)計分析模塊62008500102008400估算岀的總代碼行數(shù)33200(3)使用功能點技術(shù)估算軟件規(guī)模時,對軟件的分解是基于信息域特性而不是基于軟件功能。表10.5給出了

12、對5個信息域特征的估計值。為了計算未調(diào)整的功能點數(shù),假設(shè)每個 信息域都是平均級的。接下來估計14個技術(shù)復(fù)雜性因素的值,并且計算DI的值,表10.6列出了得到的結(jié)果。表10.5估算調(diào)整的功能點數(shù)功能樂觀值可能值悲觀值估計值特性系數(shù)UFP數(shù)輸入數(shù)20243024496輸出數(shù)12152216580查詢數(shù)1622282488文件數(shù)44541040外部接口數(shù) 總計數(shù)值2232714318表10.6估算復(fù)雜性因素因素估計值因素估計值數(shù)據(jù)通信2復(fù)雜的計算5分布式數(shù)據(jù)處理0可重用性4性能標(biāo)準(zhǔn)4安裝方便3高負(fù)荷硬件2操作方便4高處理率4可移植性5聯(lián)機(jī)數(shù)據(jù)輸入4可維護(hù)性5終端用戶效率4DI49聯(lián)機(jī)更新3然后用下式

13、計算技術(shù)復(fù)雜性因子:TCF = 0.65+ 0.01 >DI=1.14最后計算功能點數(shù)FP = UFPXTCP=31>.14=363(4) 用代碼行估算,開發(fā)本系統(tǒng)的工件量為E= 33200/620沁54(人月)開發(fā)本系統(tǒng)的成本為8000X54= 432000 (元)(5)用功能點技術(shù)估算,開發(fā)本系統(tǒng)的工作量為E= 363/6.5 56(人月)開發(fā)本系統(tǒng)的成本為8000X56= 448000(元)2計算下述的牙科診所預(yù)約系統(tǒng)的未調(diào)整功能點數(shù); 王大夫在小鎮(zhèn)上開了一家牙科診所。他有一個牙科助手、一個牙科保健員和一個接待 員。王大夫需要一個軟件系統(tǒng)來管理預(yù)約。當(dāng)病人打電話預(yù)約時,接待員

14、將查閱預(yù)約登記表,如果病人申請的就診時間與已定下 的預(yù)約時間沖突, 則接待員建議一個就診時間以安排病人盡早得到診治。 如果病人同意建議 的就診時間, 接待員將輸入約定時間和病人的名字。 系統(tǒng)將核實病人的名字并提供記錄的病 人數(shù)據(jù), 數(shù)據(jù)包括病人的病歷號等。 在每次治療或清洗后, 助手或保健員將標(biāo)記相應(yīng)的預(yù)約 診治已經(jīng)完成,如果必要的話會安排病人下一次再來。系統(tǒng)能夠按病人姓名和按日期進(jìn)行查詢,能夠顯示記錄的病人數(shù)據(jù)和預(yù)約信息。接待 員可以取消預(yù)約, 可以打印出前兩天預(yù)約尚未接診的病人清單。 系統(tǒng)可以從病人記錄中獲知 病人的電話號碼。接待員還可以打印出關(guān)于所有病人的每天和每周的工作安排。答:輸入數(shù)

15、據(jù)有“病人名”、 “預(yù)約時間” 、“完成的預(yù)約”和“取消預(yù)約” ,其中前 3 項鏈的復(fù)雜級別為“簡單” ,第 4 項的復(fù)雜度級別為“平均” 。輸出數(shù)據(jù)有“病情說明” (簡單復(fù)雜度) 、“預(yù)約登記表” 、“支持細(xì)節(jié)” 、“預(yù)約信息” 、 “未就診病人清單” (以上 4 項復(fù)雜度級別為“平均” )、“日安排”和“周安排” (以上 2項 復(fù)雜度級別為“復(fù)雜” )。查詢有“按名字查詢” 、“按日期查詢” (這 2項復(fù)雜度為“簡單” ) 、“核實病人”、“查 看預(yù)約登記表”和“查看完成的預(yù)約” (以上 3 項的復(fù)雜度為“平均” )。文件有“病人記錄” ,其復(fù)雜度為“平均”級別。本系統(tǒng)無外部接口。 最后,

16、用下式計算未調(diào)整的功能點數(shù)UFP= 3X 3 + 1X 4+ 1 X 4 + 4X 5+ 2 X 7 + 2X 3+ 3 X 4+ 1X 10= 799假設(shè)你被指定為項目負(fù)責(zé)人, 你的任務(wù)是開發(fā)一個應(yīng)用系統(tǒng), 該系統(tǒng)類似于你的小 組以前做過的那些系統(tǒng),只不過規(guī)模更大且更復(fù)雜一些。客戶已經(jīng)寫出了完整的需求文檔。 你將選用哪種項目組結(jié)構(gòu)?為什么?你打算采用哪種軟件過程模型?為什么?答:由于待開發(fā)的應(yīng)用系統(tǒng)類似于以前做過的系統(tǒng),開發(fā)人員已經(jīng)積累了較豐富的經(jīng) 驗,沒有多少技術(shù)難題需要攻克。為了減少通信開銷,充分發(fā)揮技術(shù)骨干的作用, 統(tǒng)一意志 統(tǒng)一行動,提高生產(chǎn)率,加快開發(fā)進(jìn)度,項目組的組織結(jié)構(gòu)以基于主

17、程序員組的形式為宜。針對待開發(fā)的系統(tǒng),客戶已經(jīng)寫出了完整的需求文檔,項目組又有開發(fā)類似系統(tǒng)的經(jīng) 驗,因此,可以采用廣大軟件工程師熟悉的瀑布模型來開發(fā)本系統(tǒng)。10 一個程序能既正確又不可靠嗎?請解釋你的答案。 答:所謂軟件可靠性,是程序在給定的時間間隔內(nèi)按照規(guī)格說明書的規(guī)定成功地運(yùn)行 的概率。通常認(rèn)為, 軟件可靠性既包含正確性又包含健壯性, 也就是說,不僅在預(yù)定環(huán)境下 程序應(yīng)該能正確地完成預(yù)期功能, 而且在硬件發(fā)生故障、 輸入的數(shù)據(jù)無效或用戶操作錯誤等 意外環(huán)境下,程序也應(yīng)該能做出適當(dāng)?shù)捻憫?yīng)。如果一個程序在預(yù)定環(huán)境下能夠正確地完成預(yù)期的功能,但是在意外環(huán)境下不能做出適當(dāng)?shù)捻憫?yīng),則該程序就是既正確

18、又不可靠。11為什么在開發(fā)軟件的過程中變化既是必要的又是不可避免的?為什么必須進(jìn)行配 置管理?答:在開發(fā)軟件開發(fā)的過程中,下述原因會導(dǎo)致軟件配置項發(fā)生變化;新的市場條件導(dǎo)致產(chǎn)品需求或業(yè)務(wù)規(guī)則發(fā)生變化??蛻籼岢隽诵滦枨?,要求修改信息系統(tǒng)產(chǎn)生的數(shù)據(jù)或產(chǎn)品提供的功能。企業(yè)改組或業(yè)務(wù)縮減,引起項目優(yōu)先級或軟件工程隊伍結(jié)構(gòu)變化。預(yù)算或進(jìn)度限制,導(dǎo)致對目標(biāo)系統(tǒng)的重新定義。發(fā)現(xiàn)了在軟件開發(fā)過程的前期階段所犯的錯誤,必須加以改正。但是,變化也很容易失去控制,如果不能適當(dāng)?shù)毓芾砗凸苤谱兓?,必然會造成混亂并 產(chǎn)生許多嚴(yán)重的錯誤。軟件配置管理就是在軟件的整個生命期內(nèi)管理和控制變化的一組活 動??梢园衍浖渲霉芾砜醋?/p>

19、是應(yīng)用于整個軟件過程的軟件質(zhì)量保證活動,是專門用來管理和控制變化的軟件質(zhì)量保證活動。軟件配置管理的目標(biāo)是:使變化更正確且更容易被適應(yīng), 在必須變化時減少為此而花費(fèi)的工作量。 從上面的敘述可以知道, 軟件配置管理是十分必要 的。12. CMM勺基本思想是什么?為什么要把能力成熟度劃分成 5個等級?答:CMM的基本思想是,由于軟件危機(jī)是因我們對軟件過程管理不善而引起的,所以 新軟件技術(shù)的運(yùn)用并不會自動提高軟件的生產(chǎn)率和質(zhì)量,提高軟件生產(chǎn)率和軟件質(zhì)量的關(guān) 鍵,是改進(jìn)對軟件過程的管理。 能力成熟度模型有助于軟件開發(fā)機(jī)構(gòu)建立一個有規(guī)律的、 成 熟的軟件過程。對軟件過程的改進(jìn)不可能一蹴而就,只能是在完成一

20、個又一個小的改進(jìn)步驟基礎(chǔ)上不 斷進(jìn)行的漸進(jìn)過程。因此,CMM巴軟件過程從無序到有序的進(jìn)化過程分成5個階段,并把這些階段排序,形成 5 個成熟度等級定義了一個有序的尺度,用以測量軟件機(jī)構(gòu)的軟件過程 成熟度和評價其軟件過程成熟度和評價其軟件過程能力, 這些等級還能幫助軟件機(jī)構(gòu)識別出 其現(xiàn)有的軟件過程的缺陷, 指出應(yīng)該做哪些改進(jìn), 并且?guī)椭麄儼褢?yīng)做的改進(jìn)工作排出優(yōu)先 次序。成熟度等級是妥善定義的向成熟軟件機(jī)構(gòu)前進(jìn)途中的平臺,每個成熟度等級都為軟件過程的繼續(xù)改進(jìn)提供了一個臺階。例:要開發(fā)一個計算機(jī)輔助設(shè)計軟件,該CAD軟件的需求如下:該CA軟件接受由工程師提供的二維或三維幾何圖形數(shù)據(jù)。工程師通過用戶

21、界面與 CAD系統(tǒng)交互并控制它, 該用戶界面應(yīng)該表現(xiàn)出良好的人機(jī)界面設(shè)計特征。 幾何圖形數(shù)據(jù)及其他 支持信息都保存在一個 CAD數(shù)據(jù)庫中。開發(fā)必要的分析、設(shè)計模塊,以產(chǎn)生所需要的設(shè)計結(jié) 果,這些輸出將顯示在各種不同的圖形設(shè)備上。 應(yīng)該適當(dāng)?shù)卦O(shè)計軟件, 以便與外部設(shè)備交互 并控制它們。所用的外部設(shè)備包括鼠標(biāo)、數(shù)字化掃描儀和激光打印機(jī)。要求:(1) 進(jìn)一步精化上述要求,把 CAD軟件的功能分解成若干個子功能;(2) 用代碼行技術(shù)估算每個子功能的規(guī)模;(3) 用功能點技術(shù)估算每個子功能的規(guī)模;(4) 從歷史數(shù)據(jù)得知,開發(fā)這類系統(tǒng)的平均生產(chǎn)率是620LOC/PM如果軟件工程師的平均月工資是 8000

22、元,請估算開發(fā)本系統(tǒng)的工作量和成本。(5) 如果從歷史數(shù)據(jù)得知,開發(fā)這類系統(tǒng)的平均生產(chǎn)率是6.5FP/PM,請估算開發(fā)本系統(tǒng)的工作量和成本。解析: (1) 在需求描述中對需求描述比較粗略,每項都應(yīng)該進(jìn)一步擴(kuò)展,以提供細(xì)節(jié)需求和定量約束。例如,在開始估算軟件規(guī)模之前,需要確定“良好的人機(jī)界面設(shè)計特征” 的具體含義,以及對“ CAD數(shù)據(jù)庫”的規(guī)模和復(fù)雜度的具體需求。經(jīng)過對需求的進(jìn)一步精化,分解出軟件的下述7個主要的子功能:用戶界面及控制機(jī)制;二維幾何圖形分析;三維幾何圖形分析;數(shù)據(jù)庫管理;計算機(jī)圖形顯示機(jī)制;外部設(shè)備控制;設(shè)計分析模塊。(2)為了用代碼行技術(shù)估算軟件規(guī)模,應(yīng)該針對每個子功能都分別估計出下述3個值:樂觀值(即最小規(guī)模a),悲觀值(即最大規(guī)模b)和可能值(即最可能規(guī)模 m)。分別算出 這3種規(guī)模的平均值,然后用下式的加權(quán)平均法計算每個子功能規(guī)模,結(jié)果如表9-5所示。L a 4m bL 6表9- 1代碼行技

溫馨提示

  • 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

提交評論