軟件工程期末考試總復習題_第1頁
軟件工程期末考試總復習題_第2頁
軟件工程期末考試總復習題_第3頁
軟件工程期末考試總復習題_第4頁
軟件工程期末考試總復習題_第5頁
已閱讀5頁,還剩114頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

【例1】由于軟件工程有如下的特點,使軟件管理比其它工程的管理更為困難。軟件產品

(A)。(B)標準的過程。大型軟件項目往往是(C)項目。(D)的作用是為有

效地定量地進行管理,把握軟件工程過程的實際情況和它所產生的產品質量。在制定計劃時,

應當對人力、項目持續(xù)時間、成本作出(E);(H)實際上就是貫穿于軟件工程過程中

一系列風險管理步驟。最后,每一個軟件項目都要制定一個(F),-0(G)制定出來,

就可以開始著手(H)。

供選擇的答案:

A-C.①可見的②不可見的③“一次性”④“多次”

⑤存在⑥不存在

D?H.①進度安排②度量③風險分析④估算

⑤追蹤和控制⑥開發(fā)計劃

答案:A.②,B.⑥,C.③,D.②,E.④,F(xiàn).①,G⑥,H.⑤。

分析:由于軟件工程有如下的特點:軟件產品不可見;不存在標準的軟件過程;大型軟件項

目往往是“一次性”的項目,使得軟件得管理比其它工程的管理更為困難;通常,軟件人員

和用戶確定了軟件項目的目標和范圍之后,度量的作用就是為了有效地定量地進行管理。對

開發(fā)過程進行度量的目的是為了改進開發(fā)過程,而對產品進行度量的目的是為了提高產品的

質量。在軟件項目管理過程中一個關鍵的活動是制定計戈限在做計劃時,必須就需要的人力、

項目持續(xù)時間、成本作出估算;風險分析對于軟件項目管理是決定性的,它實際上就是貫穿

于軟件工程過程中一系列風險管理步驟,其中包括風險識別、風險估計、風險評價和風險駕

馭等步驟。每一個軟件項目都要制定一個進度安排,但不是所有的進度都要一樣地安排。一

旦制定了開發(fā)計劃,就可以開始著手追蹤和控制活動。

【例2]在軟件項目估算時,將代碼行LOC和功能點FP數(shù)據(jù)在兩個方面使用:-是作為一

個估算變量,度量軟件每一個(A)的大?。阂皇锹?lián)合使用從過去的項目中收集到的(B)

和其它估算變量,進行成本和(C)估算。LOC和FP是兩種不同的估算技術,但兩者有

許多共同的特征,只是LOC和FP技術對于分解所需要的(D)不同。當用(E)作為估

算變量時,功能分解是絕對必要且應達到很詳細的程度,而用(F)作為估算變量時,分

解程度可以不很詳細。(E)是直接估算,(F)是間接估算。若計劃人員對每個功能分

別按最佳的、可能的、悲觀的三種情況給tULOC或FP估計值,記作a,m.b,則LOC或FP的

期望值E的公式為(G),m是加權的最可能的估計值,遵循(H)。

供選擇的答案:

A?C.①模塊②軟件項目③分量④持續(xù)時間

⑤工作量⑥進度⑦基線數(shù)據(jù)⑧改進數(shù)據(jù)

D.①詳細程度②分解要求③改進過程④使用方法

E,F.①FP②LOC

G①E=(a+m+b)/3②E=(a+4m+b)/6

③E=(2a+3m+4b)/3④E=Va-4m-b

H.①%概率②7概率③B概率④泊松

答案:A.(3),B.⑦,C.⑤,D.①,E.②,F(xiàn).①,G②,H.③。

分析:在軟件項目估算時,將代碼行LOC和功能點FP數(shù)據(jù)在兩個方面使用:一是作為一個

估算變量,度量軟件每一個分量的大??;一是聯(lián)合使用從過去的項目中收集到的基線數(shù)據(jù)(即

對以往項目所做的估算值,保留下來作為后續(xù)項目的估算參考)和其它估算變量,進行成本和

工作量估算。

LOC和FP是兩種不同的估算技術,但兩者有許多共同的特征,項R計劃人員首先給出

一個有界的軟件范圍的敘述,再由此敘述嘗試著把軟件分解成一些小的可分別獨立進行估算

的子功能。然后對每一個子功能估算其LOC或FP(即估算變量)。接著,把基線生產率度量(如,

LOC/PM或FP/PM)用做特定的估算變量,導出子功能的成本或工作量。將子功能的估算

進行綜合后就能得到整個項目的總估算。

LOC或FP估算技術對于分解所需要的詳細程度是不同的。當用LOC做為估算變量時,

功能分解是絕對必要的且需要達到很詳細的程度。而估算功能點所需要的數(shù)據(jù)是宏觀的量,

當把FP當做估算變量時所需要的分解程度不很詳細。我們還應注意,LOC是直接估算的,而

FP是通過估計輸入、輸出、數(shù)據(jù)文件、查詢和外部接口的數(shù)目,以及14種復雜性校正值間

接地確定的。避開所用到的估算變量,項目計劃人員可對每一個分解的功能提出一個有代表

性的估算值范圍。利用歷史數(shù)據(jù)或憑實際經驗(當其它的方法失效時),項目計劃人員對每個

功能分別按最佳的、可能的、悲觀的三種情況給出LOC或FP估計值。記作a、m、b。當這

些值的范圍被確定之后,也就隱含地指明了估計值的不確定程度。

接著計算LOC或FP的期望值E。

E=(a+4m+b)/6.(加權平均)

其中,可能的估計值m是加權最重的最可能的估算值且遵循B概率分布。

【例3】定義一個人參加勞動時間的長短為(A),其度量單位為PM(人月)或PY(人年)。

而定義完成一個軟件項目(或軟件任務)所需的(A)為(B),其度量單位是人月/項目

(任務),記作PM(人月)。進一步地,定義單位(A)所能完成的軟件(C)的數(shù)量為軟

件(D),其度量單位為LOC/PM。它表明一般指(E)的一個平均值。例如,一個軟

件的開發(fā)工作量如下表所示。該軟件共有源代碼2900行,其中,500行用于測試,2400行

是執(zhí)行(F)的源代碼。則勞動生產率是(G)(LOC/PM)。

表軟件開發(fā)所需工作量例

階段軟件計劃需求分析設計編碼測試總計

需要工作量(人月)1.01.53.01.03.510.0

供選擇的答案:

A,B,D.①生產率②工作量③成本④勞動量

E.①開發(fā)全過程②某開發(fā)階段③軟件生存期④某開發(fā)任務

F,C.①軟件②程序③進程④產品

G①520②120③320④240

答案:A.④,B.②,C.④,D.①,E.①,F(xiàn).②,G④。

分析:定義一個人參加勞動時間的長短為勞動量,其度量單位為PM(人月),PY(人年)。它

不同于工作量。而定義完成一個軟件項目(或軟件任務)所需的勞動量為工作量,其度量單位

是人月/項目(任務),記作PM(人月)。進一步地,定義單位勞動量所能完成的軟件產品的

數(shù)量為軟件生產率,其度量單位為LOC/PM。它表明一般指開發(fā)全過程的一個平均值。題

例所示的軟件共有源代碼2900行,其中,500行用于測試,2400行是執(zhí)行程序的源代碼。則

勞動生產率是(2900—500)/10=240(LOC/PM)。

【例4】對于一個大型的軟件項目,由于項目的復雜性,需要進行一系列的估算處理。主要按

(A)和(B)手段進行。估算的方法分為三類:從項目的整體出發(fā),進行(B)的方

法稱為(C)估算法。把待開發(fā)的軟件細分,直到每一個子任務都已經明確所需要的開發(fā)

工作量,然后把它們加起來,得到軟件開發(fā)總工作量的方法稱為(D)估算法。而把待開

發(fā)的軟件項目與過去已完成的軟件項目做類比,區(qū)分出類似部分和不同部分分別處理的方法

稱為(E)估算法。(F)是由多位專家進行成本估算的方法。

供選擇的答案:

A,B.①類推②類比③分解④綜合

C?F.①差別②自頂向下③自底向上④專家判定技術

⑤循序漸進⑥比較

答案:A.③,B.①,C.②,D.③,E.①,F(xiàn).④。

分析:對于一個大型的軟件項目,由于項目的復雜性,開發(fā)成本的估算不是一件簡單的事,

要進行一系列的估算處理。主要靠分解和類推的手段進行?;竟浪惴椒ǚ譃槿?。

①自頂向下的估算方法:這種方法的主要思想是從項目的整體出發(fā),進行類推。即估

算人員根據(jù)以前已完成項目所消耗的總成本(或總工作量),來推算將要開發(fā)的軟件的總成本

(或總工作量),然后按比例將它分配到各開發(fā)任務單元中去,再來檢驗它是否能滿足要求。

這種方法的優(yōu)點是估算工作量小,速度快。缺點是對項目中的特殊困難估計不足,估算出來

的成本盲目性大,有時會遺漏被開發(fā)軟件的某些部分。

②自底向上的估計法:這種方法的主要思想是把待開發(fā)的軟件細分,直到每一個子任

務都已經明確所需要的開發(fā)工作量,然后把它們加起來,得到軟件開發(fā)的總工作量.這是一

種常見的估算方法。它的優(yōu)點是估算各個部分的準確性高。缺點是缺少各項子任務之間相互

聯(lián)系所需要的工作量,還缺少許多與軟件開發(fā)有關的系統(tǒng)級工作量(配置管理、質量管理、項

目管理)。所以往往估算值偏低,必須用其它方法進行檢驗和校正。

③差別估計法:這種方法綜合了上述兩種方法的優(yōu)點,其主要思想是把待開發(fā)的軟件

項目與過去已完成的軟件項目進行類比,從其開發(fā)的各個子任務中區(qū)分出類似的部分和不同

的部分。類似的部分按實際量進行計算,不同的部分則采用相應的方法進行估算。這種的方

法的優(yōu)點是可以提高估算的準確程度,缺點是不容易明確“類似”的界限。

專家判定技術是由多位專家進行成本估算。由于單獨一位專家可能會有種種偏見,最好

由多位專家進行估算,取得多個估算值。

【例5】Putnam模型是一種(A)模型。需要建立一條連續(xù)的(B),稱為

Rayleigh-Norden曲線??梢杂纱藢С鲆粋€(C),把已交付的源代碼(源語句)行數(shù)與工作

量和開發(fā)時間聯(lián)系起來。請選擇合適的答案完成下面大型軟件項目的開發(fā)工作量分布圖。

供選擇的答案:

A.①單值②多值③靜態(tài)多變量④動態(tài)多變量

⑤靜態(tài)單變量

B.C.①軟件方程②函數(shù)曲線③資源需求曲線④工作量分布

D?H.①安裝②系統(tǒng)定義③測試與確認④設計與編碼

⑤功能設計/規(guī)格說明

答案:A.④,B.④,C.①,D.②,E.⑤,F(xiàn).④,G③,H.①。

分析:Putnam模型是1978年Putnam提出的模型,是一種動態(tài)多變量模型。它假定在軟件開

發(fā)的整個生存期中工作量有特定的分布。這種模型是依據(jù)在一些大型項目(總工作量達到或超

過30個人年)中收集到的工作量分布情況而推導出來的,但也可以應用在一些較小的軟件項

目中。大型軟件項目的開發(fā)工作量分布可以用下圖所示的Rayleigh-Norden曲線表示。

該曲線的典型形狀由LordRayleigh最早有分析地導出,并由Norden使用收集到的軟件

開發(fā)中的經驗數(shù)據(jù)證實了這條曲線。用Rayleigh-Norden曲線可以導出一個“軟件方程”,把

已交付的源代碼(源語句)行數(shù)與工作量和開發(fā)時間聯(lián)系起來。

L=CkK〔td3

其中,td是開發(fā)持續(xù)時間(以年計),K是軟件開發(fā)與維護在內的整個生存期所花費的

工作量(以人年計),L是源代碼行數(shù)(以LOC計),Ck是技術狀態(tài)常數(shù),它反映出“妨礙程

序員進展的限制”,并因開發(fā)環(huán)境而異。

【例6】一個規(guī)模為10KDSI的商用微機遠程通信的嵌入型軟件,使用中間COCOMO模型進

行軟件成本估算。程序的名義工作量MM=(A);程序實際工作量MM=(B);開

發(fā)所用的時間TDEV=(C);如果軟件開發(fā)人員的工資都按每月6000美元計算,則該軟

件項目的開發(fā)人員的工資總額=(D)o

表1中間COCOMO模型的名義工作量與進度公式

總體類型工作量進度

組織型MM=3.2(KDSI)105TOEV=2.5(MM)038

112o3s

半獨立型MM=3.0(KDSI)TDEV=2.5(MM)

037

嵌入型MM=2.8(KDSI)k20TDEV=2.5(MM)

表2影響工作量的因素人的取值

影響工作量因素片情況取值

1軟件可靠性只用于局部地區(qū),恢復問題不嚴重1.00(正常)

2數(shù)據(jù)庫規(guī)模20000字節(jié)0.94(低)

3產品復雜性用于遠程通信處理1.30(很高)

4時間限制使用70%的CPU時間1.10(高)

5存儲限制64K中使用45K1.06(高)

6機器使用商用微處理機1.00(額定值)

7周轉時間平均2小時1.00(額定值)

8分析員能力優(yōu)秀人才0.86(高)

9工作經驗遠程通信工作3年1.10(低)

10程序員能力優(yōu)秀人才0.86(W)

11工作經驗微型機工作6個月1.00(正常)

12語言使用經驗12個月1.00(正常)

13使用現(xiàn)代程序設計技術1年以上0.91(?)

14使用軟件工具基本的微型機軟件1.10(低)

15工期9個月1.00(正常)

供選擇的答案:

A,B.①45.8②51.5③44.38④54.2

C.①8.9月②9.8月(3)7.8月④10.9月

D.①26.4萬美元②36萬美元③20.96萬美元④30.9萬美元

答案:A.③,B.②,C.①,D.④。

分析:考慮如題中表2的15種影響軟件工作量的因素,通過定下乘法因子,修正COCOMO

工作量公式利進度公式,可更合理地估算軟件(各階段)的工作量和進度。此時,實際工作量

計算公式改成:

15

C

MM=rxp[fix(KDSI)

i=l

由此得到程序名義工作量MM=2.8*(10)12。=44.38(MM)

15

程序實際工作量MM=44.38*[[fi=44.38*1.17=51.5(MM)

/=1

開發(fā)所用時間TDEV=2.5*⑸.5)°32=&9(月)

如果分析員與程序員的工資都按每月6,000美元計算,則該項目的開發(fā)人員的工資總額為

51.5*6000=309000(美元)

【例7】在特定情況下,是否必須進行風險分析,是對項目開發(fā)的形勢進行(A)后確定的。

(A)可以按如下步驟進行:明確項目的目標、總策略、具體策略和為完成所標識的目標

而使用的方法和資源;保證該目標是(B),項目成功的標準也是(B);考慮采用某些

條目作為項目成功的(C);根據(jù)估計的結果來確定是否要進行風險分析。

一般來說,風險分析的方法要依賴于特定問題的需求和有關部門所關心的方面。具體分

3步進行。第一步識別潛在的風險項,首先進行(D)過程;第二步估計每個風險的大小及

其出現(xiàn)的可能性,選擇一種(E),它可以估計各種風險項的值;第三步進行風險評估。

風險評估也有三個步驟:確定(F),確定(G),把風險與“參照風險”做比較

供選擇的答案:

A.①風險管理②風險估計③風險評價④風險測試

B.①可度量的②不可度量的③準確的④不確定的

C.①規(guī)范②標準③過程模型④設計要求

D,E.①信息分類②信息收集③度量尺度④標準

⑤度量工具⑥信息獲取

F,G①風險的范圍②風險的特性③風險的級別@風險的評價標準

⑤風險的排除策略

答案:A.②,B.①,C.②,D.②,E.③,F(xiàn).④,G③。

分析:在特定的情況下,是否必須進行風險分析,是對項目的開發(fā)形勢進行風險估計后確定

的。因為風險分析需要相當大的費用。只有在軟件的費用、軟件的作用、軟件的性能及軟件

與系統(tǒng)的關系等各方面對系統(tǒng)有比較大的影響時,即軟件的風險對于整個系統(tǒng)的成敗,或對

系統(tǒng)的風險有關鍵的影響時.,才有必要進行軟件的風險分析和管理。風險估計的步驟如下:

■明確項目的目標、總策略、具體策略和為完成所標識的目標而使用的方法和資源;

■保證該目標是可度量的,項目成功的標準也是可度量的;

■考慮采用以下的某些條目作為項目成功的標準:①最大限度的收益,②最小的費用,

③最小的風險損失,④最大限度的市場,⑤最小的周期性的波動,⑥形成有益的形象,

⑦最佳的服務質量,⑧最高的增長率,⑨員工的滿意度最高,⑩公司聲望最高;

■根據(jù)估計的結果來確定是否要進行風險分析。

一般來說,風險分析的方法要依賴于特定問題的需求和有關部門所關心的方面。下面給

出一種結構化的、一致的方法來進行風險分析。具體分3步進行。

第一步識別潛在的風險項。當確定要進行風險分析之后,就要收集信息,表明相關的風

險。這就需要觀察風險的征兆,理解其產生的原因,并列出所有的風險項。

首先進行信息收集??梢詮倪^去完成的項目中收集已有的經驗和收集來自群眾的經驗;

可以模擬著名的事例;可以考慮類似的因素和進行常識性的判斷;可以進行試驗或測試以得

到有關的結果,可以用各種方式來獲得可能忽略的情況;此外,還可以針對經常發(fā)生的錯誤

進行普查統(tǒng)計等。一般來說,通過過去的歷史來認識軟件項目的風險也許時一種最好的辦法。

例如,一些數(shù)字表明修復一個需求或設計階段的錯誤的費用可能比修復一個測試階段的錯誤

的費用高100倍到1000倍。因此,可以把需求階段標識為?個軟件開發(fā)各階段的風險區(qū)域。

然后進行信息分類。必須將收集到的信息以某種方式進行分類。一種簡單而有用的方法

是把風險項分為三類:有風險、可預見的風險、不可預見的風險?!坝酗L險”是指經常發(fā)生的

情況;“可預見的風險”是指以較高概率出現(xiàn)的情況;“不可預見的風險”是指不能識別的、

未知的、不能觀察的風險,是可能發(fā)生但事前很難預料的風險。對于每一種類型,還可以按

其原因分成三種子類型:缺乏信息、缺乏管理及缺乏時間。其它分類方法可以按直接或間接

分類,按運行性或策略性分類,按技術、進度、成本、支持分類。

第二步估計每個風險的大小及其出現(xiàn)的可能性,風險估計要度量所標識的各個風險可能

造成的損失,即各種風險項的值(后果及程度),用以減少度量的不確定性??梢园匆韵虏襟E

進行:

選擇某一種度量尺度,用以估計計算各種風險項的值,并具有合適的精度。由于要估計

的風險信息可能有3種形式:敘述性、定性或定量,所以可選的尺度可以是命名尺度、序次

尺度、坐標尺度或比例尺度。待估計的信息與度量尺度之間要建立對應關系,不同類型的信

息有不同的度量尺度。例如,敘述性信息需要有命名尺度或序次尺度,定量的信息需要坐標

或比例性的尺度。下表列出定量的風險等級:

風險等級失效概率說明

極高0.99?0.81超過當前的技術水平,肯定是技術問題。

很高0.80-0.61超過當前的技術水平,極像是技術問題。

高0.60?0.50最新的、尚未充分成熟的技術,好像是技術問題。

中等0.49?0.24最佳技術,只會有很小的技術問題。

低0.24?0.10使用的技術,沒有技術問題。

很低0.09?0.01在使用中的系統(tǒng)。

在使用不同的方法和技術進行風險估計時常常會出現(xiàn)偏差,這是由于缺少可用來進行判

斷的信息,從而限制了風險估計的精度。由于信息分散,各人的理解和解釋不同,造成''信

息可用性偏差”。其次,選擇的觀念不同、專家的偏愛、采樣規(guī)模的影響、樣本相關的影響,

以及修正的偏差等,都會產生估計的偏差。特別要注意的是:對于連續(xù)發(fā)生的事件和間斷的

不連續(xù)發(fā)生事件,這些偏差會造成什么樣的影響。

必須采用一些技術來克服或消減風險估計中的不確定性。風險一般可以看成屬于以下三

種過程之一:行為型、自然型和隨機型。

過程種類克服和消減敘述型的不確定性克服和消減度量型的不確定性

行為型受定義人類行為的能力的限制受理性的人類行為的限制

自然型理論上無限制,但實際上有定范圍受度量系統(tǒng)的精度的限制

隨機型理論上無限制,但實際上有一定范圍無法消減不確定性

第三步進行風險評估。因為軟件項目所面臨的是風險的一個較大的集合及其相互之間的

影響,因此,必須針對這一點進行風險評估,以達到以下的目的:

首先,考慮各種風險的綜合影響后,對已識別風險發(fā)生的可能性及其后果給出最終的量

值(如果情況發(fā)生變化,也許要重新分析風險發(fā)生的可能性和可能的后果);

其次,提供某種機制,對各個風險標明優(yōu)先次序,以便予以適當安排;

最后,通過考慮其它可替代的方案,尋找避免風險的基本方法,即為高層決策人員提供

全部必要的信息,以作出合理的有依據(jù)的決策。進行風險評估有三個步驟:

①確定風險評估的標準。其目的是可用以衡量每個風險的后果,即判定在項目的生存

期中各個階段的風險的后果是否可以接受。此標準應與項目成功的標準相關。

②確定風險的級別。其目的是把項目作為整體來評估。就是說,人們必須理解各種風

險之間的相互作用,以及修改某些因素會如何影響它們之間的相互作用。

為了說明可被評估的風險,引入“參照風險”?!皡⒄诊L險”可以是?組單個風險的集合,

或對項目會造成最大損害的一個或多個風險。必須仔細認清各風險間可能發(fā)生的耦合或復合

情況。說明在把系統(tǒng)視為一個整體時,風險將導致系統(tǒng)失敗的概率。

③把風險與“參照風險”做比較。把已評定的風險與在早期確定的“參照風險”相比

較,結果可能是以下3種情況之一:

■可接受(評定的風險低于“參照風險”);

■不可能接受(評定的風險大大高于“參照風險”);

■不適合接受(評定的風險大于,但幾乎等于“參照風險”)。

【例8】假設開發(fā)某個計算機應用系統(tǒng)的投資額為3000元,該計算機應用系統(tǒng)投入使用后,

每年可以節(jié)約1000元,5年內可能節(jié)約5000元。3000元是現(xiàn)在投資的錢,5000元是5年內

節(jié)省的錢,兩者不能簡單地比較。

假定年利率為12%,利用計算貨幣現(xiàn)在價值的公式,可以算出該計算機應用系統(tǒng)投入使

用后每年預計節(jié)省的金額的現(xiàn)在價值。

年節(jié)?。ㄔ├剩?+0.12)n現(xiàn)在價值(元)累計現(xiàn)在價值(元)

110001.12892.86892.86

210001.25800.001692.86

310001.40714.292407.15

410001.57636.943044.09

510001.76568.183612.27

則該系統(tǒng)的純收入是(A),投資回收期是(B),投資回收率為(C)。

供選擇的答案:

A.①512.3元②729.28元③602.4元④612.27元

8口2.4年②3.93年③4.25年④2.78元

C.①25%②30%③20%④15%

答案:A.④,B.②,C.③。

分析:效益包括經濟效益,也包括社會效益。前者是有形的,后者是無形的。系統(tǒng)的經濟效

益等于因使用新系統(tǒng)而增加的收入加上使用新系統(tǒng)可以節(jié)省的運行費用。運行費用包括操作

員人數(shù)、工作時間、消耗的物資等。在計算系統(tǒng)的經濟效益時,應按照貨幣的時間價值來計

算,這是因為對項目的投資在前,而系統(tǒng)效益的產生在后,且常常有一個較長的過程。

通常,用利率表示貨幣的時間價值。若設年利率為i,現(xiàn)已存入P元,則n年后可得到

的錢數(shù)為:F=(l+i)n,F就是P元錢在n年后的價值。反之,若n年后能收入F元,那

么這些錢現(xiàn)在的價值是:P=F/(l+i),

由此,可從題意得:

該計算機應用系統(tǒng)在5年中的純收入為:3612.27-3000=612.27(元)。

投資回收期約為:3+(3000-2407.15)/(3044.09-2407.15)心3.93(年)。

投資回收率設為r,由下列方程式:

3000=1000/(1+r)+1000/(1+r)2+1000/(1+r)3+.......+1000/(1+r)5

解得r=20%。

純收入就是在整個生存期之內系統(tǒng)的累計經濟效益(折合成現(xiàn)在值)與投資之差。投資回

收期就是使累計的經濟效益等于最初的投資所需的時間。投資回收率時投入資金所獲得的利

率。

【例9】軟件項目管理的主要職能包括:(A),建立組織,配備人員,(B)和(C)。

由于軟件項目的特有性質,使得項目管理存在一定困難。第一、(D),軟件工程過程充

滿了大量高強度的腦力勞動;第二、(E),在特定機型上,利用特定的硬件配置,由特

定的系統(tǒng)軟件和支撐軟件支持,形成了特定的開發(fā)環(huán)境;第三、(F),軟件項目經歷的

各個階段都深透了大量的手工勞動,遠未達到自動化的程度;第四、(G),用戶要經過

專門的培訓,才能掌握操作步驟,且需要配備專職維護人員進行售后服務;第五、(H),

為高質量地完成軟件項目,充分發(fā)掘人員的智力才能和創(chuàng)造精神。

在總結和分析足夠數(shù)量失誤的軟件項目之后可知,造成軟件失誤的原因大多與(I)

工作有關。在軟件項目開始執(zhí)行時,執(zhí)行的過程中及項目進行的最后階段都會遇到種種問題。

供選擇的答案:

A?C.①編碼②制定計劃③開發(fā)④指導

⑤測試⑥檢驗

D?H.①軟件工作滲透了人的因素②智力密集,可見性差

③單件生產④使用方法繁瑣,維護困難

⑤勞動密集,自動化程度低

I.①設計②維護③測試④管理

⑤實踐⑥指導⑦審核⑧分析

答案:A.②,B.④,C.⑥,D.②,E.③,F(xiàn).⑤,G④,H.①,I.④。

分析:軟件管理的主要職能包括:

-制定計劃:規(guī)定待完成的任務、要求、資源、人力和進度等。

-建立組織:為實施計劃,保證任務的完成,需要建立分工明確的責任制機構。

■配備人員:任用各種層次的技術人員和管理人員。

■指導:鼓勵和動員軟件人員完成所分配的工作。

-檢驗:對照計劃或標準,監(jiān)督和檢查實施的情況。

軟件項目管理上的困難主要有:

①智力密集,可見性差:軟件工程過程充滿了大量高強度的腦力勞動。軟件開發(fā)的成

果是不可見的邏輯實體,軟件產品的質量難以用簡單的尺度加以度量。對于不深入掌握軟件

知識或缺乏軟件開發(fā)實踐經驗的人員,是不可能領導做好軟件管理工作。軟件開發(fā)任務完成

得好也看不見,完成得不好有時也能制造假象,欺騙外行的領導。

②單件生產:在特定機型上,利用特定的硬件配置,由特定的系統(tǒng)軟件或支撐軟件的

支持,形成了特定的開發(fā)環(huán)境。再加上軟件項目特定的目標,采用特定的開發(fā)方法、工具和

語言,使得軟件具有獨一無二的特色,幾乎找不到與之完全相同的軟件產品。這種建立在內

容、形式各異的基礎上的研制或生產方式,與其它領域中大規(guī)?,F(xiàn)代化生產有著很大的差別,

也自然會給管理工作造成許多實際困難。

③勞動密集,自動化程度低:軟件項目經歷的各個階段都滲透了大量的手工勞動,這

些勞動又十分細致、復雜和容易出錯。盡管近年來開展了軟件工具和CASE的研究,但總體

來說,仍遠未達到自動化的程度。軟件產業(yè)所處的這?狀態(tài),加上軟件本身的復雜性,使得

軟件的開發(fā)和維護難于避免多種錯誤,軟件的正確性難于保證,軟件產品質量的提高自然受

到了很大的影響。

④使用方法繁瑣,維護困難:用戶使用軟件需要掌握計算機的基本知識,或者接受專

門的培訓,否則面對多種使用手冊、說明和繁瑣的操作步驟,學會使用要花費很大力氣。另

一方面,如果遇到軟件運行出了問題,且沒有配備專職維護人員,又得不到開發(fā)部門及時的

售后服務,軟件的使用者更是徒喚奈何。

⑤軟件工作滲透了人的因素:為高質量地完成軟件項目,充分發(fā)掘人員的智力才能和

創(chuàng)造精神,不僅要求軟件人員具有一定的技術水平和工作經驗,而且還要求他們具有良好的

心理素質。軟件人員的情緒和他們的工作環(huán)境,對他們工作有很大的影響。與其它行業(yè)相比,

它的這一特點十分突出,必須給予足夠的重視。

造成軟件失誤的原因:

在總結和分析足夠數(shù)量失誤的軟件項目之后,看出其原因大多與管理工作有關。

在軟件項目開始執(zhí)行時、遇到的問題往往是:可供利用的資料太少;項目負責人的責任

不明確;項目的定義模糊;沒有計劃或計劃過分粗糙;資源要求未按時做出安排而落空;沒

有明確規(guī)定子項目完成的標準;缺乏使用工具的知識;項目已有更動,但預算未隨之改變。

在軟件項目執(zhí)行的過程中可能會發(fā)生:項目審查只注意瑣事而走過場;人員變動造成對

工作的干擾;項目進行情況未能定期匯報:對階段評審和評審中發(fā)現(xiàn)的問題如何處置耒做出

明確規(guī)定;資源要求并不像原來預計的那樣大;未能做到嚴格遵循需求說明書;項目管理人

員不足。

項目進行到最后階段可能會發(fā)生:未做質量評價:取得的知識和經驗很少交流;未對

人員工作情況做出評定;未做嚴格的移交;擴充性建議未寫入文檔資料。

總之,問題涉及到軟件項目研制中的計劃制定、進度估計、資源使用、人員配備、組織

機構和管理方法等軟件管理的許多側面。

四、習題

【9-1】軟件過程是軟件(A)中的一系列相關

軟件工程(B)的集合。每一個軟件過程又是

由一組(C)、項目(D)、軟件工程產品

和交付物以及質量保證(SQA)點等組成。一個軟

件過程可以用右圖的形式來表示。首先建立一個

(E)過程框架,其中定義了少量可適用于所

有軟件項目的框架(B),再給出各個框架

(B)的任務集合,最后是保護傘活動,如軟

件質量保證、軟件配置管理以及測量等。軟件過

程模型的選擇基于項目和應用的特點、采用的

(F)和工具、要求的控制和需交付的產品。

供選擇的答案:

A-F.①工程②公共③活動④生存期

⑤方法⑥工作任務⑦功能⑧里程碑

[9-2]軟件的度量包括(A)和(B)。軟件產品的(A)包括產生的代碼行數(shù)、執(zhí)

行速度等。軟件產品的(B)則包括若干質量特性。我們還可進一步將軟件度量如右圖所

示那樣分類。軟件(C)度量主要關注軟件工程過程的結果;(D)度量則指明了軟件適

應明確和不明確的用戶要求到什么程度;(E)

度量主要關注軟件的一些特性而不是軟件開發(fā)的

全過程。從圖中還可看到另一種分類方法:面向

(F)的度量用于收集與直接度量有關軟件工

程輸出的信息和質量信息。面向(G)的度量

提供直接度量的尺度。面向(H)的度量則收

集有關人們開發(fā)軟件所用方式的信息和人們理解

有關工具和方法的效率的信息。

供選擇的答案:

A-B.①直接度量②尺度度量③二兀度量④間接度量

C?E.①質量②技術③成本④生產率

F?H.①過程②對象③人④存取

⑤規(guī)模⑥進程⑦功能⑧數(shù)據(jù)

【9-3】估算資源、成本和進度時需要經驗、有用的歷史信息、足夠的定量數(shù)據(jù)和作定量度量

的勇氣。通常估算本身帶有(A)。項目的復雜性越高,規(guī)模越大,開發(fā)工作量(B),

估算的(A)就(C)。項目的結構化程度提高,進行精確估算的能力就能(D),而

風險將(E)。有用的歷史信息(F),總的風險會減少。

供選擇的答案:

A.①風范(范型)②風格③風險④度量

B?F.①增加②越多③降低④不變

⑤越少⑥越高⑦越大

[9-4]在考慮各種軟件開發(fā)資源時,(A)是最重要的資源。如果把軟件開發(fā)所需的資

源畫成一個金字塔形:在塔的上層是最基本的資源(A),在底部為(B)。(B)包

括硬件資源和軟件資源。(C)、(D)和其它硬件設備屬于硬件資源。IPSE工具屬于

軟件資源中的(E)。為了提高軟件的生產率和軟件產品的質量,可建立(F底

供選擇的答案:

A,B.①方法②人力③工具④上下文環(huán)境

C,D.①虛擬機②目標機③自動機④宿主機

E,F.①維護工具②分析設計工具③支持工具④編程工具

⑤可復用構件庫?框架工具⑦原型化模擬工具

【9-5】任何軟件項目都必須做好項目管理工作,最常使用的進度管理工具是(A),當某

一開發(fā)項目的進度有可能拖延時,應該(B)。對于一個典型的軟件開發(fā)項目,各開發(fā)階

段需投入的工作量的百分比大致是(C)。各階段所需不同層次的技術人員大致是

(D),而管理人員在各階段所需數(shù)量也不同,相對而言大致是(E)o

供選擇的答案:

A.①數(shù)據(jù)流圖②程序結構圖③因果圖④PERT圖

B.①增加新的開發(fā)人員②分析拖期原因加以補救

③從別的小組抽調人員臨時幫忙④推遲預定完成時間

需求分析設計編碼測試

投入?25252525

工作量②10203040

③15301540

④5106530

技術人①初級高級高級高級

員水平②中級中級局部中級

③高級中高級初級中高級

④中級中高級中級初級

管理人?多中少中

員數(shù)量②中中中中

③多少多多

④少多少多

【9-6】一個32KDSI的聲音輸入系統(tǒng)是一個輸入原型,或是一個可行性表演模型。所需可靠

性非常低,因為它不打算投入生產性使用。把此模型看做半獨立型軟件。試問該軟件的名義

工作量和實際工作量。

【9-7】風險分析實際上是4個不同的活動,按順序依次為(A)、(B)、風險評價和

(C)o在風險評價時,應當建立一個三元組:?,是風險描述,人是(D),而

為是風險的影響。一個對風險評價很有用的技術是定義(E)。(F)、(G)、(H)

是三種典型的(E)。在做風險分析的上下文環(huán)境中一個(E)就存在一個單獨的點,叫

做參照點或(I)o在這個點上要公正底給出判斷。實際上,參照點能在圖上表示成一條平

滑的曲線的情況很少,多數(shù)情況它是一個(J

供選擇的答案:

A-C.①風險駕馭和監(jiān)控②風險識別③風險估計④風險消除

D.①風險的大小②風險的概率③風險的時間④風險的范圍

E.①風險參照水準②風險度量③風險監(jiān)控④風險工具

F?H.①生產率②功能③成本④進度

⑤范圍⑥性能

I,J.①凹點②崩潰點③終點④區(qū)域

⑤拐點@原點

【9-8】對于一個小型的軟件開發(fā)項目,一個人就可以完成需求分析、設計、編碼和測試工作。

但隨著軟件項目規(guī)模增大,需要有多人共同參與同一軟件項目的工作。當幾個人共同承擔軟

件開發(fā)項目中的某一任務時,人與人之間必須通過交流來解決各自承擔任務之間的(A)

問題,即通信問題。通信需花費時間和代價,會引起軟件錯誤(B),(C)軟件生產率。

如果一個軟件開發(fā)小組有n個人,每兩人之間都需要通信,則共有(D)條通信路徑。假

設一個人單獨開發(fā)軟件,生產率是5000行/人年,且在每條通信路徑上耗費的工作量是250

行/人年。若4個人組成一個小組共同開發(fā)這個軟件,則小組中每個人的軟件生產率為

(E)。若小組有6名成員,則小組中每個成員的軟件生產率為(F)。因此,有人提出,

軟件開發(fā)小組的規(guī)模不能太大,人數(shù)不能太多,一般在(G)人左右為宜。

供選擇的答案:

A.①分配②管理③接口④協(xié)作

B,C.①降低②增加③不變

D.①n(n+l)/2②n(n-l)/2③n(n-l)(n-2)/6④n/2

E,F.①4875②4375③4625④5735

G①8~15②1?2③2?5④2~8

【9-9】軟件項目的進度管理有許多方法,但(A)不是常用的進度控制圖示方法。在幾種

進度控制圖示方法中,(B)難以表達多個子任務之間的邏輯關系,使用(C)不僅能表

達子任務之間的邏輯關系,而且可以找出關鍵子任務。在(C)中,用帶箭頭的邊表示

(D),用圓圈結點表示(E),它標明(D)的(F)。

供選擇的答案:

A?C.①甘特圖②IPO③PERT④時標網狀圖

D?F.①數(shù)據(jù)流②控制流③事件④處理

⑤起點或終點⑥任務

【9-10】軟件項目組織的原則是(A)、(B)和(C)。一般有(D)、(E)、

(F)三種組織結構的模式。(F)實際上是(D)和(E)兩種模式的復合。(E)

這種模式在小組之間的聯(lián)系形成的接口較多,但便于軟件人員熟悉小組的工作,進而成為這

方面的專家。

供選擇的答案:

A?C.①推遲責任的落實②盡早落實責任③減少接口

④增加聯(lián)系⑤責權分離?責權均衡

D?F.①矩陣形模式②主程序員小組模式③按課題劃分的模式

④按職能劃分的模式⑤民主制小組模式

【9-11】軟件開發(fā)小組的目的是發(fā)揮集體的力量進行軟件研制。因此,小組從培養(yǎng)(A)

的觀點出發(fā)進行程序設計消除軟件的(B)的性質。通常,程序設計小組的組織形式有三

種,如下圖所示的a屬于(C),b屬于(D),c屬于(E兀

供選擇的答案:

A,B.①“局部”②“全局”③“集體”④“個人”

C?E.①層次式小組②民主制小組③主程序員制小組

五、習題解答

[9-1]A.B.③,C.⑥,D.⑧,E.②,F(xiàn).⑤。

軟件過程是軟件生存期中的一系列相關軟件工程活動的集合。每一個軟件過程又是由一

組工作任務、項目里程碑、軟件工程產品和交付

物以及質量保證(SQA)點等組成。一個軟件過程

可以用右圖的形式來表示。首先建立一個公共過

程框架,其中定義了少量可適用于所有軟件項目

的框架活動,而不考慮它們的規(guī)模和復雜性。再

給出各個框架活動的任務集合,使得框架活動能

夠適合于項目的特點和項目組的需求。最后是保

護傘活動,如軟件質量保證、軟件配置管理以及測量等,它們獨立于任何一個框架活動并將

貫穿于整個過程。軟件過程模型的選擇基于項目和應用的特點、采用的方法和工具、要求的

控制和需交付的產品。

[9-2]A.①,B.④,C.④,D.①,E.②,F(xiàn).⑤,G.⑦,H.③。

軟件的度量包括直接度量和間接度量。軟件產品的直接度量包括產生的代碼行數(shù)、執(zhí)行

速度、存儲量大小、在某種時間周期中所報告的差錯數(shù)。軟件產品的間接度量則包括功能性、

復雜性、效率、可靠性、可維護性和許多其它的質量特性。只要事先建立特定的度量規(guī)程,

很容易做到直接度量開發(fā)軟件所產生的代碼行數(shù)

等。但是,軟件的功能性、效率、可維護性等質

/質量度量

量特性卻很難用直接度量判明,只有通過間接度

量才能推斷。我們還可進一步將軟件度量如圖所生產率度量

示那樣分類。軟件生產率度量主要關注軟件工程面向規(guī)模的度量

過程的結果;軟件質量度量則指明了軟件適應明面向功能的度量

確和不明確的用戶要求(軟件使用合理性)到什么面向人的度量

程度;技術度量主要關注軟件的一些特性(如邏輯

復雜性、模塊化程度)而不是軟件開發(fā)的全過程。從圖中還可以看到另一種分類方法:面向規(guī)

模的度量用于收集與直接度量有關的軟件工程輸出的信息和質量信息。面向功能的度量提供

直接度量的尺度。面向人的度量則收集有關人們開發(fā)軟件所用方式的信息和人們理解有關工

具和方法的效率的信息。

估算資源、成本和進度時需要經驗、有用的歷史信息、足夠的定量數(shù)據(jù)和作定量度量的勇氣。

通常估算本身帶有(A)。項目的復雜性越高,規(guī)模越大,開發(fā)工作量(C),估算的(A)

就(D)。項目的結構化程度的提高,進行精確估算的能力就能(E),而風險將(F)。

有用的歷史信息(G),總的風險會減少。

供選擇的答案:

A.①風范(范型)②風格③風險④度量

B?G①增加②越大③降低④不變

⑤減少⑥越高

[9-3]A.③,B.②,C.⑦,D.①,E.③,F(xiàn).②。

估算資源、成本和進度時需要經驗、有用的歷史信息、足夠的定量數(shù)據(jù)和作定量度量的

勇氣。估算本身帶有風險。增加風險的各種因素如圖所示。

溫馨提示

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

評論

0/150

提交評論