軟件工程復(fù)習(xí)題課后答案概論_第1頁
軟件工程復(fù)習(xí)題課后答案概論_第2頁
軟件工程復(fù)習(xí)題課后答案概論_第3頁
軟件工程復(fù)習(xí)題課后答案概論_第4頁
軟件工程復(fù)習(xí)題課后答案概論_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1假設(shè)你負(fù)責(zé)為一個數(shù)字電話制造商開發(fā)一個原料控制系統(tǒng),開發(fā)預(yù)算是430000美元。按 軟件工程的推算,每個周期的開發(fā)成本,維護(hù)費用該如何。答:圖12軟件生命周期齊個階段的相對近似花費因為開發(fā)階段的花費約占整個生命周期的 33%,所以開發(fā)該軟件的總開銷約為 430000/33%= 1300000美元。維護(hù)階段開銷 約占整個生命周期的67%,則維護(hù)階段的 投入為 1300000*67%=871000 美元。2、描述使用瀑布生命周期模型時的內(nèi)在風(fēng)險。瀑布模型強調(diào)文檔的作用,并要求每個階段都要仔細(xì)驗證。但是,這種模型的線性過程 太理想化,已不再適合現(xiàn)代的軟件開發(fā)模式,幾乎被業(yè)界拋棄,苴主要問題在于:1

2、)各個階段的劃分完全固左,階段之間產(chǎn)生大量的文檔,極大地增加了工作量:2)由于開發(fā)模型是線性的,用戶只有等到整個過程的末期才能見到開發(fā)成果,從而增 加了開發(fā)的風(fēng)險:3)早期的錯誤可能要等到開發(fā)后期的測試階段才能發(fā)現(xiàn),進(jìn)而帶來嚴(yán)重的后果。4)各個軟件生命周期銜接花費時間較長,團(tuán)隊人員交流成本大。5)瀑布式方法在需求不明并且在項目進(jìn)行過程中可能變化的情況下基本是不可行的*分祈和設(shè)計.時間姐狠伏態(tài)送代3、簡述RUP的核心工程工作流。啊flfta祓右支勞工作淹逶蚩和變更苛理 妙目首超環(huán)境(1) 商業(yè)建模(Business Modeling)商業(yè)建模工作流描述了如何為新的目標(biāo)組織開發(fā)一個構(gòu)想,并基于這個

3、構(gòu)想在商業(yè)用例 模型和商業(yè)對彖模型中定義組織的過程、角色和責(zé)任。(2) 需求(Requirenicnts)需求工作流的目標(biāo)是描述系統(tǒng)應(yīng)該做什么,并使開發(fā)人員和用戶就這一描述達(dá)成共識。 為了達(dá)到該目標(biāo),要對需要的功能和約束進(jìn)行提取、組織、文檔化:最重要的是理解系統(tǒng)所 解決問題的定義和范圍。(3)分析和設(shè)計(Analysis & Design)分析和設(shè)計工作流將需求轉(zhuǎn)化成未來系統(tǒng)的設(shè)計,為系統(tǒng)開發(fā)一個健壯的結(jié)構(gòu)并調(diào)整設(shè) 計使其與實現(xiàn)環(huán)境相匹配,優(yōu)化其性能。(4)實現(xiàn)工作流:建立代碼的分層結(jié)構(gòu),實現(xiàn)類和對象,進(jìn)行單元測試和系統(tǒng)集成。(5)測試(Test)測試工作流要驗證對象間的交互作用,驗證

4、軟件中所有組件的正確集成,檢驗所有的需 求已被正確的實現(xiàn),識別并確認(rèn)缺陷在軟件部署之前被提岀并處理。(6)配置工作流:在目的是成功的生成版本并將軟件分發(fā)給最終用戶,實際使用中主要包 括:軟件打包、生成軟件本身以外的產(chǎn)品、安裝軟件、培訓(xùn)最終用戶及銷售人員。4、使用RUP過程開發(fā)軟件系統(tǒng),軟件的生命周期分為哪幾個階段。(1)初始階段初始階段也稱為初始的目標(biāo),是“獲得項目的基礎(chǔ)”。初始階段的主要人員是項目經(jīng)理和 系統(tǒng)設(shè)計師,任務(wù)包括對系統(tǒng)的可行性分析,創(chuàng)建基本需求,界定系統(tǒng)范偉1:識別軟件系統(tǒng) 的關(guān)鍵任務(wù)。 初始階段的焦點是需求和分析工作流。(2)細(xì)化階段細(xì)化階段的主要目標(biāo)是創(chuàng)建可執(zhí)行構(gòu)件基線:細(xì)化

5、風(fēng)險評估:左義質(zhì)量屬性:捕獲大部 分的系統(tǒng)功能需求用例:為構(gòu)造階段創(chuàng)建詳細(xì)計劃。細(xì)化階段的焦點是需求、分析和設(shè)計工作流。(3)構(gòu)造階段構(gòu)建階段完成了所有需求、分析、設(shè)計和實現(xiàn),所有的功能被詳細(xì)測試,細(xì)化階段的工 作產(chǎn)品將演化為最終系統(tǒng),構(gòu)造的主要問題是維護(hù)系統(tǒng)框架的完整性。構(gòu)建階段的焦點是實現(xiàn)工作流。(4)交付階段交付是將完整的系統(tǒng)部署到用戶所處的環(huán)境,交付階段的重點是完成系統(tǒng)部署確保軟件 可用。交付階段的焦點是實現(xiàn)和測試工作流。5、使用RUP過程中交付階段的主要目標(biāo)是什么。交付階段的主要目標(biāo)是確保軟件完全滿足用戶需求。1進(jìn)行Bek測試以確保滿足用戶的期望;2. 培訓(xùn)用戸和維護(hù)人員來達(dá)到用戶的

6、自我依賴;3. 準(zhǔn)備交付環(huán)境并轉(zhuǎn)換數(shù)據(jù)庫系統(tǒng):4. 包裝準(zhǔn)備投放市場的產(chǎn)品;進(jìn)行宣傳并演示系統(tǒng):交付銷售力量;進(jìn)行人員培訓(xùn):5. 通過得到的經(jīng)驗改進(jìn)未來的項目。6. 用例驅(qū)動、以構(gòu)架為中心、采用迭代和增量模型是統(tǒng)一軟件過程中三個核心概念。對 CMM等級(1)所有的軟件開發(fā)都是用戶需求驅(qū)動的。統(tǒng)一軟件開發(fā)過程采用用例來描述用戶需求,同 時提供一套方法把用例轉(zhuǎn)化為設(shè)汁的類圖,進(jìn)一步變成最終的程序代碼。在整個軟件開發(fā)過 程中,要求用例是可跟蹤的,也就是說,無論是設(shè)訃階段還是實現(xiàn)階段的產(chǎn)品,都可以找到 相應(yīng)的需求。用例還可以作為用戶測試和驗收最終軟件產(chǎn)品的標(biāo)準(zhǔn)。(2)構(gòu)架是一個皮包秤頭的系統(tǒng),它實現(xiàn)了

7、用戶的核心需求,包括了系統(tǒng)中最重要的靜態(tài)和 動態(tài)特征。構(gòu)架刻畫了系統(tǒng)的整體設(shè)計,它舍棄了細(xì)節(jié)部分,突出了系統(tǒng)的重要特征。統(tǒng)一 軟件過程提供了創(chuàng)建構(gòu)架的相應(yīng)方法和過程,可以幫助分析人員和設(shè)訃人員很好地完成構(gòu)架 的設(shè)計。(3)統(tǒng)一軟件過程采用迭代和增量的開發(fā)方式,把一個軟件產(chǎn)品劃分成多個較小的部分,每 一次完成一個部分,每次要迭代部分是產(chǎn)品的一個增量部分。每個增量部分的生產(chǎn)過程是受 控的。CMM (Capability Maturity Model)是用于衡量軟件過程能力的事實上的標(biāo)準(zhǔn),同時也是目 前軟件過程改進(jìn)最好的參考標(biāo)準(zhǔn)。CMM共分五級。在每一級中,立義了達(dá)到該級過程管理水平所應(yīng)解決的關(guān)鍵問

8、題和關(guān)鍵過 程。每一較低級別是達(dá)到較髙級別的基礎(chǔ)。其中五級是最髙級,即優(yōu)化級,達(dá)到該級的軟件 公司過程可自發(fā)地不斷改進(jìn),防I上同類問題二次出現(xiàn);四級稱為已管理級,達(dá)到該級的軟件 公司已實現(xiàn)過程的定量化;三級為已左義級,即過程實現(xiàn)標(biāo)準(zhǔn)化:二級為可重復(fù)級,達(dá)到該 級的軟件公司過程已制度化,有紀(jì)律,可重復(fù);一級為初始級,過程無序,進(jìn)度、預(yù)算、功 能和質(zhì)量等方而不可預(yù)測。有紀(jì)塗的過程標(biāo)隹、7、要比較一個大型軟件公司里兩個不同的小組組織TO1和TO2,得出下面的試驗:兩 個不同的小組建造相同的軟件產(chǎn)品,一個有TO1來組織,另一個有TO2來組織。公司估計 每組需要大約18個月完成產(chǎn)品。請列出三條理由來說明

9、這個試驗是不可行的,并且不會產(chǎn) 生任何有意義的結(jié)果。(1)如果他們每個人都有自己的電腦,他們將成為多個個體,而不是作為兩個團(tuán)隊;(2)產(chǎn)品將被重建兩次,時間長,公司成本較大:(3)兩隊之間觀察到的差異可能是由于個別程序員之間的差異,而不是在團(tuán)隊組織。為了 克服這個問題,該產(chǎn)品的許多拷貝將必須與兩個種隊伍建立以便可用于比較的統(tǒng)訃方法。(4)我們不能確左哪一個團(tuán)隊組織是更好的,直到該產(chǎn)品已經(jīng)在維修模式的若干年。這將 要求這兩個版本保持在平行的數(shù)年,進(jìn)一步增加了成本。(5)很難衡疑一個團(tuán)隊成員離開的影響。他或她的替換將要進(jìn)行培訓(xùn),再運到項目速度上。8、假定將要構(gòu)造的系統(tǒng)有7個輸入,15個輸出,過去有

10、一個項目有8個輸入,17個輸出, 這兩個項目的歐幾里的距離是多少?歐幾里的距離(Euclidean Distance)公式distance=(目標(biāo)系統(tǒng)參數(shù)1-原系統(tǒng)參數(shù)1) 2+ (目標(biāo)系統(tǒng)參數(shù)2-原系統(tǒng)參數(shù)2) 2+> 的平方根=(7-8)2+(15-17)2的平方根2.249、結(jié)構(gòu)化成本估算法與改進(jìn)的結(jié)構(gòu)化估算法2有什么區(qū)別,請敘述。COCOMO: Constructive Cost Model 構(gòu)造性成本模型基本的公式為:Effort=c X sizek其中effort采用“人月(152個工作小時)"pm來度量,size采用kdsi即千行交付源代碼指令 (thousand

11、s of delivered source code instmetions)事實上,基本COCOM0模型對工作量的衡疑不穩(wěn)左,Boehm本人也發(fā)現(xiàn)了此問題,因而提 岀名義成本估算的概念。首先從基本模型得到爼義成本,然后采用開發(fā)成本乘法算子(development effort multiplier,dem)進(jìn)行修正,即:Pm=Pmnom X dem10、軟件度量的維度、內(nèi)容和側(cè)重點。軟件度疑(Metrics)是指對軟件產(chǎn)品、軟件開發(fā)過程或者資源的簡單屬性的定量描述。 度量方法:代碼行、平均故障時間、職員流動性等等度雖方法。軟件度疑的內(nèi)容,三個方而:產(chǎn)品:軟件開發(fā)過程中所生成的各種文檔和程序過

12、程:與軟件開發(fā)有關(guān)的各種活動,如軟件設(shè)計等資源:軟件開發(fā)過程中所需支持,如人員、費用等二個層次內(nèi)部屬性:(1)軟件產(chǎn)品,過程和資源本身所具有屬性,如軟件產(chǎn)品的復(fù)雜度、程序長度等 (2)易于度量外部屬性:(1)軟件產(chǎn)品,過程和資源與外部環(huán)境(用戶、管理人員等)間的關(guān)系如成本、 效益、可靠性、可維護(hù)性等(2)難以度雖:,但由內(nèi)部屬性所決定度雖維度具怵內(nèi)容項目度雖理解和控制當(dāng)前項目的情況和執(zhí):態(tài);項目 度量具有戰(zhàn)術(shù)性意艾丿針對具體的項目講規(guī)複、成本工作量、進(jìn)度、生 產(chǎn)力.風(fēng)險r顧客滿意度等產(chǎn)品度量側(cè)重理解和控制當(dāng)前產(chǎn)品的質(zhì)量軟況 用 于對產(chǎn)品質(zhì)量的預(yù)測和輕制口以血量度量為中心,包括功能 性r可室性、

13、易用性、效率性.可錐護(hù)性.可移植性等過程度量程解和控制當(dāng)前情況和狀站還包含了對 過程的改善和未來過程的能力預(yù)測:過程 度量貝有戰(zhàn)昭性意義在整個殂織范圍內(nèi) 進(jìn)樂如成熟度、管理、生命周期、生 產(chǎn)率、缺陷植入率等11、三種專家判斷法中的Delphi是怎么開展的。徳爾菲法的步驟是:-(1)協(xié)調(diào)人向各專家提供項目規(guī)格和估算表格;-(2)協(xié)調(diào)人召集小組會和各專家討論與規(guī)模相關(guān)的因素;-(3)各專家匿名填寫迭代表格:-(4)協(xié)調(diào)人整理出一個估算總結(jié),以迭代表的形式返回給專家;-(5)協(xié)調(diào)人召集小組會,討論較大的估算差異;-(6)專家復(fù)查估算總結(jié)并在迭代表上提交另一個匿劣估算:-(7)重復(fù)46,直到最低估算和

14、最髙估算一致。12 一個軟件開發(fā)組織目前雇傭了 85名軟件專業(yè)人員,包括17劃管理者,所有的人進(jìn)行軟 件的開發(fā)和測試,最新的數(shù)據(jù)表明他們32%的時間消耗在測試活動上。公司管理者平均每 年的成本是167000美元,而非管理性專業(yè)人員的成本每年平均為123000美元,這兩個數(shù)據(jù) 都包含加班的成本。請使用成本-效益分析法來確泄是否應(yīng)在組織內(nèi)部建立一個單獨的SQA 小組。答:如果組織重構(gòu),因此26個專業(yè)人員,苴中管理人員5,是能夠獨立地SQA (軟件質(zhì)量保 證),提高了生產(chǎn)效率和產(chǎn)品質(zhì)量可以預(yù)期的。該公司的成本包括重組的時間(兩天的勞動, 大約77XS825+19X$l,100名,或約S84,500)

15、和培訓(xùn)時間和成本5 SQA經(jīng)理(也許是 S75 000)。根據(jù)總成本在160000元,要收回一年即使生產(chǎn)率僅增加3觥假設(shè)產(chǎn)品開發(fā)是 由五個專業(yè)人士,包括一冬經(jīng)理做的,而SQA是由英他兩個專業(yè)人士,包括其他的經(jīng)理完成。 重組成本現(xiàn)在大約S6, 350 (即,不到十分之一的成本問題)只有一個經(jīng)理的培訓(xùn)費用約為 S15, 000,再一次的總成本將很快被收回。13你負(fù)責(zé)移植一個750 000行的COBOL產(chǎn)品到公司的新計算機中,你復(fù)制了源代碼到新機 器中,但編譯的時,發(fā)現(xiàn)超過15000個輸入-輸出語句都以非標(biāo)準(zhǔn)的COBOL語法寫成,而 這些非標(biāo)準(zhǔn)的COBOL語法在新的編譯器中已被廢棄,你將怎么辦?答:

16、不能正常工作,是因為輸入/輸出程序需要有變可變參數(shù),而COBOL不支持。寫預(yù)編譯器,將非標(biāo)準(zhǔn)的語法改造成標(biāo)準(zhǔn)的語法,在新的編譯器上使用,編借宏,寫COBOL 子程序與非標(biāo)準(zhǔn)的名字輸入/輸出程序,使那些子程序調(diào)用標(biāo)準(zhǔn)COBOL輸入/輸出程序。掌握:COCOMOII估算法在應(yīng)用構(gòu)成階段,采用對象點計算的方法,在早期設(shè)計階段,采用功能點計算的方法。功能 點可以轉(zhuǎn)換為SLOC。Pm=A X sizesfX MPm為“人月“工作量,A是一個常數(shù)(2.5) , size以SLOC為單位,sf是規(guī)模指數(shù)(1.2-1.24)。 Sf=l .01+0.01 X因素指數(shù)的和M基于簡化了的有關(guān)項目和過程的7項形成因

17、素:可靠性和復(fù)雜性RCPX、復(fù)用數(shù)RUSE、 平臺困難程度PDIF、個人能力PERS、個人經(jīng)驗PREX、進(jìn)度SCED、支持設(shè)施FCIL M=em 1 *em2*. .em7例子1:對于某一個軟件企業(yè),一個新的項目的新穎性一般,因而在先前經(jīng)驗方面給3分, 開發(fā)靈活性方面很低,因而給以0分,但是需求可能會變化得比較厲害,因而風(fēng)險解決指數(shù) 給4分,團(tuán)隊很融洽,給1分,但是過程不標(biāo)準(zhǔn),因而過程成熟性給4分,請汁算規(guī)模因素 sf:"lahlc 卜:XKxpttnenr drivers and ratings for the pntjeciExprffirnr driitrraringPrcct

18、fdcntcdncss.3Development flexibility0Archiieciurv/risk resolution4Ieam cohesion1Process maturity4Total12Therefore, j/ = 1.01 + 0.0i x (3 + 0 + 4 * I + 4) = 1.13計算工作量乘法算子em,類似于dem的計算,在不同的階段有不同的cm,如果每一項對 于項目而言無特別影響,則取1例子2:在某企業(yè)中,絕大多數(shù)系統(tǒng)技術(shù)上,產(chǎn)品,計算機和項目等屬性都是類似的。只有 人員的屬性有所差異。該企業(yè)制泄了下表:hfMxiocljitnhuo MXP anal

19、sMapahluvNAP apKJOoncipenencePCAP pn)pammercjp>Mil)VEXP vmual mxhinc lie opening wMeml upmcnccLEXP programming hngage apwciKVAtlnhuifImNommalHighVrry hifhACAP1.461.191.000860.71AbXP1291.131.00a9i0血WAP1421.17i<n0W1070VEXP1211.101.00aooLEXP1.141.071.00Q95分析員非常優(yōu)秀,編程人員也很優(yōu)秀但是對該項目面向的領(lǐng)域不熟悉并準(zhǔn)備用新的編程語 言

20、。他們對操作系統(tǒng)很熟悉。請計算dem。如果名義工作量是4人月,則估算的工作量是多 少?laNc K7Calculating the development multiplierFactorRatingMultiplierACAPvery high0.71A EXPlow1.13PCAPhigh0.80VEXPhigh0.90LEXPlow1.07dem = 0.71 x 1.13 x 0.80 x 0.90 x 1.07 = 0.626nal estimate = 4 person-months x 0.62 = 2.48 stafT months 功能點法(Function Points)的

21、基本點是訃算機信息系統(tǒng)包括五個主要部件或者外部用戶類 型,它們是:EI外部輸入:應(yīng)用數(shù)據(jù)EO外部輸出:提供給用戶的而向應(yīng)用的信息ILF內(nèi)部邏輯文件:邏輯主文件EIF外部接口文件:與其它系統(tǒng)交換信息EQ外部查詢:在線的輸入以獲得立即的結(jié)果加權(quán)因子的確定lahlc 5.2A Ibrrcht cimplexity multiplifnExtenuil user typeMultiplierLowAvemgfHighExierrul inpul type346External oulpul type47logical iniemal tile lype715External imcrfacc tik type510Extcrrul inquiry lype36例子3:在學(xué)院工資系統(tǒng)項目中需要開發(fā)一個程序,該程序?qū)臅嬒到y(tǒng)中提取每年的工資 額,并從兩個文件中分別提取課程情況和每個老師教的每一門課的時間,該程序?qū)⒂嬎忝恳?門課的老師的成本并將結(jié)果存成一個文件,該文件可以輸岀給會汁系統(tǒng),同時該程序也將產(chǎn) 生一個報表,以顯示對于每一門課,每個老師教學(xué)的時間和這些工時的成本。假定報表是具有髙度復(fù)雜性的,其它具有一般復(fù)雜性外部輸入:無外部輸出:報告,1內(nèi)部邏輯文件:財務(wù)輸入文件,1外部接口文件:工資文件,人員文件,課程文件,財務(wù)輸入文件,4外部查詢:無考慮加權(quán):外部輸入:無:外部輸岀:1x7=

溫馨提示

  • 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

提交評論