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

付費(fèi)下載

下載本文檔

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

文檔簡介

PAGEPAGE58【例1】由于軟件工程有如下的特點(diǎn),使軟件管理比其它工程的管理更為困難。軟件產(chǎn)品(A)。(B)標(biāo)準(zhǔn)的過程。大型軟件項(xiàng)目往往是(C)項(xiàng)目。(D)的作用是為有效地定量地進(jìn)行管理,把握軟件工程過程的實(shí)際情況和它所產(chǎn)生的產(chǎn)品質(zhì)量。在制定計(jì)劃時,應(yīng)當(dāng)對人力、項(xiàng)目持續(xù)時間、成本作出(E);(H)實(shí)際上就是貫穿于軟件工程過程中一系列風(fēng)險管理步驟。最后,每一個軟件項(xiàng)目都要制定一個(F),一旦(G)制定出來,就可以開始著手(H)。供選擇的答案:AC.①可見的 ②不可見的 ③“一次性” ④“多次”⑤存在 ⑥不存在DH.①進(jìn)度安排 ②度量 ③風(fēng)險分析 ④估算⑤追蹤和控制 ⑥開發(fā)計(jì)劃答案:A.②,B.⑥,C.③,D.②,E.④,F.①,G.⑥,H.⑤。分析:由于軟件工程有如下的特點(diǎn):軟件產(chǎn)品不可見;不存在標(biāo)準(zhǔn)的軟件過程;大型軟件項(xiàng)目往往是“一次性”的項(xiàng)目,使得軟件得管理比其它工程的管理更為困難;通常,軟件人員和用戶確定了軟件項(xiàng)目的目標(biāo)和范圍之后,度量的作用就是為了有效地定量地進(jìn)行管理。對開發(fā)過程進(jìn)行度量的目的是為了改進(jìn)開發(fā)過程,而對產(chǎn)品進(jìn)行度量的目的是為了提高產(chǎn)品的質(zhì)量。在軟件項(xiàng)目管理過程中一個關(guān)鍵的活動是制定計(jì)劃。在做計(jì)劃時,必須就需要的人力、項(xiàng)目持續(xù)時間、成本作出估算;風(fēng)險分析對于軟件項(xiàng)目管理是決定性的,它實(shí)際上就是貫穿于軟件工程過程中一系列風(fēng)險管理步驟,其中包括風(fēng)險識別、風(fēng)險估計(jì)、風(fēng)險評價和風(fēng)險駕馭等步驟。每一個軟件項(xiàng)目都要制定一個進(jìn)度安排,但不是所有的進(jìn)度都要一樣地安排。一旦制定了開發(fā)計(jì)劃,就可以開始著手追蹤和控制活動?!纠?】在軟件項(xiàng)目估算時,將代碼行LOC和功能點(diǎn)FP數(shù)據(jù)在兩個方面使用:一是作為一個估算變量,度量軟件每一個(A)的大??;一是聯(lián)合使用從過去的項(xiàng)目中收集到的(B)和其它估算變量,進(jìn)行成本和(C)估算。LOC和FP是兩種不同的估算技術(shù),但兩者有許多共同的特征,只是LOC和FP技術(shù)對于分解所需要的(D)不同。當(dāng)用(E)作為估算變量時,功能分解是絕對必要且應(yīng)達(dá)到很詳細(xì)的程度,而用(F)作為估算變量時,分解程度可以不很詳細(xì)。(E)是直接估算,(F)是間接估算。若計(jì)劃人員對每個功能分別按最佳的、可能的、悲觀的三種情況給出LOC或FP估計(jì)值,記作a,m,b,則LOC或FP的期望值E的公式為(G),m是加權(quán)的最可能的估計(jì)值,遵循(H)。供選擇的答案:AC. ①模塊 ②軟件項(xiàng)目 ③分量 ④持續(xù)時間 ⑤工作量 ⑥進(jìn)度 ⑦基線數(shù)據(jù) ⑧改進(jìn)數(shù)據(jù) D. ①詳細(xì)程度 ②分解要求 ③改進(jìn)過程 ④使用方法E,F. ①FP ②LOCG. ①E=(a+m+b)/3 ②E=(a+4m+b)/6 ③E=(2a+3m+4b)/3 ④H. ①χ概率 ②γ概率 ③β概率 ④泊松答案:A.③,B.⑦,C.⑤,D.①,E.②,F.①,G.②,H.③。分析:在軟件項(xiàng)目估算時,將代碼行LOC和功能點(diǎn)FP數(shù)據(jù)在兩個方面使用:一是作為一個估算變量,度量軟件每一個分量的大??;一是聯(lián)合使用從過去的項(xiàng)目中收集到的基線數(shù)據(jù)(即對以往項(xiàng)目所做的估算值,保留下來作為后續(xù)項(xiàng)目的估算參考)和其它估算變量,進(jìn)行成本和工作量估算。 LOC和FP是兩種不同的估算技術(shù),但兩者有許多共同的特征,項(xiàng)目計(jì)劃人員首先給出一個有界的軟件范圍的敘述,再由此敘述嘗試著把軟件分解成一些小的可分別獨(dú)立進(jìn)行估算的子功能。然后對每一個子功能估算其LOC或FP(即估算變量)。接著,把基線生產(chǎn)率度量(如,LOC/PM或FP/PM)用做特定的估算變量,導(dǎo)出子功能的成本或工作量。將子功能的估算進(jìn)行綜合后就能得到整個項(xiàng)目的總估算。 LOC或FP估算技術(shù)對于分解所需要的詳細(xì)程度是不同的。當(dāng)用LOC做為估算變量時,功能分解是絕對必要的且需要達(dá)到很詳細(xì)的程度。而估算功能點(diǎn)所需要的數(shù)據(jù)是宏觀的量,當(dāng)把FP當(dāng)做估算變量時所需要的分解程度不很詳細(xì)。我們還應(yīng)注意,LOC是直接估算的,而FP是通過估計(jì)輸入、輸出、數(shù)據(jù)文件、查詢和外部接口的數(shù)目,以及14種復(fù)雜性校正值間接地確定的。避開所用到的估算變量,項(xiàng)目計(jì)劃人員可對每一個分解的功能提出一個有代表性的估算值范圍。利用歷史數(shù)據(jù)或憑實(shí)際經(jīng)驗(yàn)(當(dāng)其它的方法失效時),項(xiàng)目計(jì)劃人員對每個功能分別按最佳的、可能的、悲觀的三種情況給出LOC或FP估計(jì)值。記作a、m、b。當(dāng)這些值的范圍被確定之后,也就隱含地指明了估計(jì)值的不確定程度。

接著計(jì)算LOC或FP的期望值E。 E=(a+4m+b)/6. (加權(quán)平均)

其中,可能的估計(jì)值m是加權(quán)最重的最可能的估算值且遵循β概率分布?!纠?】定義一個人參加勞動時間的長短為(A),其度量單位為PM(人月)或PY(人年)。而定義完成一個軟件項(xiàng)目(或軟件任務(wù))所需的(A)為(B),其度量單位是人月/項(xiàng)目(任務(wù)),記作PM(人月)。進(jìn)一步地,定義單位(A)所能完成的軟件(C)的數(shù)量為軟件(D),其度量單位為LOC/PM。它表明一般指(E)的一個平均值。例如,一個軟件的開發(fā)工作量如下表所示。該軟件共有源代碼2900行,其中,500行用于測試,2400行是執(zhí)行(F)的源代碼。則勞動生產(chǎn)率是(G)(LOC/PM)。表軟件開發(fā)所需工作量例階段軟件計(jì)劃需求分析設(shè)計(jì)編碼測試總計(jì)需要工作量(人月)1.01.53.01.03.510.0供選擇的答案:A,B,D.①生產(chǎn)率 ②工作量 ③成本 ④勞動量E.①開發(fā)全過程 ②某開發(fā)階段 ③軟件生存期 ④某開發(fā)任務(wù)F,C.①軟件 ②程序 ③進(jìn)程 ④產(chǎn)品G.①520 ②120 ③320 ④240答案:A.④,B.②,C.④,D.①,E.①,F.②,G.④。分析:定義一個人參加勞動時間的長短為勞動量,其度量單位為PM(人月),PY(人年)。它不同于工作量。而定義完成一個軟件項(xiàng)目(或軟件任務(wù))所需的勞動量為工作量,其度量單位是人月/項(xiàng)目(任務(wù)),記作PM(人月)。進(jìn)一步地,定義單位勞動量所能完成的軟件產(chǎn)品的數(shù)量為軟件生產(chǎn)率,其度量單位為LOC/PM。它表明一般指開發(fā)全過程的一個平均值。題例所示的軟件共有源代碼2900行,其中,500行用于測試,2400行是執(zhí)行程序的源代碼。則勞動生產(chǎn)率是(2900-500)/10=240(LOC/PM)。

【例4】對于一個大型的軟件項(xiàng)目,由于項(xiàng)目的復(fù)雜性,需要進(jìn)行一系列的估算處理。主要按(A)和(B)手段進(jìn)行。估算的方法分為三類:從項(xiàng)目的整體出發(fā),進(jìn)行(B)的方法稱為(C)估算法。把待開發(fā)的軟件細(xì)分,直到每一個子任務(wù)都已經(jīng)明確所需要的開發(fā)工作量,然后把它們加起來,得到軟件開發(fā)總工作量的方法稱為(D)估算法。而把待開發(fā)的軟件項(xiàng)目與過去已完成的軟件項(xiàng)目做類比,區(qū)分出類似部分和不同部分分別處理的方法稱為(E)估算法。(F)是由多位專家進(jìn)行成本估算的方法。供選擇的答案:A,B.①類推 ②類比 ③分解 ④綜合CF.①差別 ②自頂向下 ③自底向上 ④專家判定技術(shù)⑤循序漸進(jìn) ⑥比較答案:A.③,B.①,C.②,D.③,E.①,F.④。分析:對于一個大型的軟件項(xiàng)目,由于項(xiàng)目的復(fù)雜性,開發(fā)成本的估算不是一件簡單的事,要進(jìn)行一系列的估算處理。主要靠分解和類推的手段進(jìn)行?;竟浪惴椒ǚ譃槿?。 ①自頂向下的估算方法:這種方法的主要思想是從項(xiàng)目的整體出發(fā),進(jìn)行類推。即估算人員根據(jù)以前已完成項(xiàng)目所消耗的總成本(或總工作量),來推算將要開發(fā)的軟件的總成本(或總工作量),然后按比例將它分配到各開發(fā)任務(wù)單元中去,再來檢驗(yàn)它是否能滿足要求。這種方法的優(yōu)點(diǎn)是估算工作量小,速度快。缺點(diǎn)是對項(xiàng)目中的特殊困難估計(jì)不足,估算出來的成本盲目性大,有時會遺漏被開發(fā)軟件的某些部分。 ②自底向上的估計(jì)法:這種方法的主要思想是把待開發(fā)的軟件細(xì)分,直到每一個子任務(wù)都已經(jīng)明確所需要的開發(fā)工作量,然后把它們加起來,得到軟件開發(fā)的總工作量。這是一種常見的估算方法。它的優(yōu)點(diǎn)是估算各個部分的準(zhǔn)確性高。缺點(diǎn)是缺少各項(xiàng)子任務(wù)之間相互聯(lián)系所需要的工作量,還缺少許多與軟件開發(fā)有關(guān)的系統(tǒng)級工作量(配置管理、質(zhì)量管理、項(xiàng)目管理)。所以往往估算值偏低,必須用其它方法進(jìn)行檢驗(yàn)和校正。 ③差別估計(jì)法:這種方法綜合了上述兩種方法的優(yōu)點(diǎn),其主要思想是把待開發(fā)的軟件項(xiàng)目與過去已完成的軟件項(xiàng)目進(jìn)行類比,從其開發(fā)的各個子任務(wù)中區(qū)分出類似的部分和不同的部分。類似的部分按實(shí)際量進(jìn)行計(jì)算,不同的部分則采用相應(yīng)的方法進(jìn)行估算。這種的方法的優(yōu)點(diǎn)是可以提高估算的準(zhǔn)確程度,缺點(diǎn)是不容易明確“類似”的界限。 專家判定技術(shù)是由多位專家進(jìn)行成本估算。由于單獨(dú)一位專家可能會有種種偏見,最好由多位專家進(jìn)行估算,取得多個估算值。E【例5】Putnam模型是一種(A)模型。需要建立一條連續(xù)的(B),稱為Rayleigh-Norden曲線。可以由此導(dǎo)出一個(C),把已交付的源代碼(源語句)行數(shù)與工作量和開發(fā)時間聯(lián)系起來。請選擇合適的答案完成下面大型軟件項(xiàng)目的開發(fā)工作量分布圖。E(E)(H)(G)(F)(D)D(E)(H)(G)(F)(D)D供選擇的答案:A.①單值 ②多值 ③靜態(tài)多變量 ④動態(tài)多變量⑤靜態(tài)單變量B,C.①軟件方程 ②函數(shù)曲線 ③資源需求曲線 ④工作量分布DH.①安裝 ②系統(tǒng)定義 ③測試與確認(rèn) ④設(shè)計(jì)與編碼⑤功能設(shè)計(jì)∕規(guī)格說明答案:A.④,B.④,C.①,D.②,E.⑤,F.④,G.③,H.①。分析:Putnam模型是1978年P(guān)utnam提出的模型,是一種動態(tài)多變量模型。它假定在軟件開發(fā)的整個生存期中工作量有特定的分布。這種模型是依據(jù)在一些大型項(xiàng)目(總工作量達(dá)到或超過30個人年)中收集到的工作量分布情況而推導(dǎo)出來的,但也可以應(yīng)用在一些較小的軟件項(xiàng)目中。大型軟件項(xiàng)目的開發(fā)工作量分布可以用下圖所示的Rayleigh-Norden曲線表示。該曲線的典型形狀由LordRayleigh最早有分析地導(dǎo)出,并由Norden使用收集到的軟件開發(fā)中的經(jīng)驗(yàn)數(shù)據(jù)證實(shí)了這條曲線。用Rayleigh-Norden曲線可以導(dǎo)出一個“軟件方程”,把已交付的源代碼(源語句)行數(shù)與工作量和開發(fā)時間聯(lián)系起來。

其中,td是開發(fā)持續(xù)時間(以年計(jì)),K是軟件開發(fā)與維護(hù)在內(nèi)的整個生存期所花費(fèi)的工作量(以人年計(jì)),L是源代碼行數(shù)(以LOC計(jì)),Ck是技術(shù)狀態(tài)常數(shù),它反映出“妨礙程序員進(jìn)展的限制”,并因開發(fā)環(huán)境而異?!纠?】一個規(guī)模為10KDSI的商用微機(jī)遠(yuǎn)程通信的嵌入型軟件,使用中間COCOMO模型進(jìn)行軟件成本估算。程序的名義工作量MM=(A);程序?qū)嶋H工作量MM=(B);開發(fā)所用的時間TDEV=(C);如果軟件開發(fā)人員的工資都按每月6000美元計(jì)算,則該軟件項(xiàng)目的開發(fā)人員的工資總額=(D)。表1中間COCOMO模型的名義工作量與進(jìn)度公式總體類型工作量進(jìn)度組織型MM=3.2(KDSI)1.05TDEV=2.5(MM)0.38半獨(dú)立型MM=3.0(KDSI)1.12TDEV=2.5(MM)0.35嵌入型MM=2.8(KDSI)1.20TDEV=2.5(MM)0.32表2影響工作量的因素fi的取值影響工作量因素fi情況取值1軟件可靠性只用于局部地區(qū),恢復(fù)問題不嚴(yán)重1.00(正常)2數(shù)據(jù)庫規(guī)模20000字節(jié)0.94(低)3產(chǎn)品復(fù)雜性用于遠(yuǎn)程通信處理1.30(很高)4時間限制使用70%的CPU時間1.10(高)5存儲限制64K中使用45K1.06(高)6機(jī)器使用商用微處理機(jī)1.00(額定值)7周轉(zhuǎn)時間平均2小時1.00(額定值)8分析員能力優(yōu)秀人才0.86(高)9工作經(jīng)驗(yàn)遠(yuǎn)程通信工作3年1.10(低)10程序員能力優(yōu)秀人才0.86(高)11工作經(jīng)驗(yàn)微型機(jī)工作6個月1.00(正常)12語言使用經(jīng)驗(yàn)12個月1.00(正常)13使用現(xiàn)代程序設(shè)計(jì)技術(shù)1年以上0.91(高)14使用軟件工具基本的微型機(jī)軟件1.10(低)15工期9個月1.00(正常)供選擇的答案:A,B.①45.8 ②51.5 ③44.38 ④54.2C.①8.9月 ②9.8月 ③7.8月 ④10.9月D.①26.4萬美元 ②36萬美元 ③20.96萬美元 ④30.9萬美元答案:A.③,B.②,C.①,D.④。分析:考慮如題中表2的15種影響軟件工作量的因素,通過定下乘法因子,修正COCOMO工作量公式和進(jìn)度公式,可更合理地估算軟件(各階段)的工作量和進(jìn)度。此時,實(shí)際工作量計(jì)算公式改成:

由此得到程序名義工作量MM=2.8*(10)1.20=44.38(MM)開發(fā)所用時間TDEV=2.5*(51.5)0.32=8.9(月)如果分析員與程序員的工資都按每月6,000美元計(jì)算,則該項(xiàng)目的開發(fā)人員的工資總額為51.5*6000=(美元)

【例7】在特定情況下,是否必須進(jìn)行風(fēng)險分析,是對項(xiàng)目開發(fā)的形勢進(jìn)行(A)后確定的。(A)可以按如下步驟進(jìn)行:明確項(xiàng)目的目標(biāo)、總策略、具體策略和為完成所標(biāo)識的目標(biāo)而使用的方法和資源;保證該目標(biāo)是(B),項(xiàng)目成功的標(biāo)準(zhǔn)也是(B);考慮采用某些條目作為項(xiàng)目成功的(C);根據(jù)估計(jì)的結(jié)果來確定是否要進(jìn)行風(fēng)險分析。一般來說,風(fēng)險分析的方法要依賴于特定問題的需求和有關(guān)部門所關(guān)心的方面。具體分3步進(jìn)行。第一步識別潛在的風(fēng)險項(xiàng),首先進(jìn)行(D)過程;第二步估計(jì)每個風(fēng)險的大小及其出現(xiàn)的可能性,選擇一種(E),它可以估計(jì)各種風(fēng)險項(xiàng)的值;第三步進(jìn)行風(fēng)險評估。風(fēng)險評估也有三個步驟:確定(F),確定(G),把風(fēng)險與“參照風(fēng)險”做比較。供選擇的答案:A.①風(fēng)險管理 ②風(fēng)險估計(jì) ③風(fēng)險評價 ④風(fēng)險測試B.①可度量的 ②不可度量的 ③準(zhǔn)確的 ④不確定的C.①規(guī)范 ②標(biāo)準(zhǔn) ③過程模型 ④設(shè)計(jì)要求D,E.①信息分類 ②信息收集 ③度量尺度 ④標(biāo)準(zhǔn) ⑤度量工具 ⑥信息獲取F,G.①風(fēng)險的范圍 ②風(fēng)險的特性 ③風(fēng)險的級別 ④風(fēng)險的評價標(biāo)準(zhǔn) ⑤風(fēng)險的排除策略答案:A.②,B.①,C.②,D.②,E.③,F.④,G.③。

分析:在特定的情況下,是否必須進(jìn)行風(fēng)險分析,是對項(xiàng)目的開發(fā)形勢進(jìn)行風(fēng)險估計(jì)后確定的。因?yàn)轱L(fēng)險分析需要相當(dāng)大的費(fèi)用。只有在軟件的費(fèi)用、軟件的作用、軟件的性能及軟件與系統(tǒng)的關(guān)系等各方面對系統(tǒng)有比較大的影響時,即軟件的風(fēng)險對于整個系統(tǒng)的成敗,或?qū)ο到y(tǒng)的風(fēng)險有關(guān)鍵的影響時,才有必要進(jìn)行軟件的風(fēng)險分析和管理。風(fēng)險估計(jì)的步驟如下: 明確項(xiàng)目的目標(biāo)、總策略、具體策略和為完成所標(biāo)識的目標(biāo)而使用的方法和資源;保證該目標(biāo)是可度量的,項(xiàng)目成功的標(biāo)準(zhǔn)也是可度量的;考慮采用以下的某些條目作為項(xiàng)目成功的標(biāo)準(zhǔn):①最大限度的收益,②最小的費(fèi)用,③最小的風(fēng)險損失,④最大限度的市場,⑤最小的周期性的波動,⑥形成有益的形象,⑦最佳的服務(wù)質(zhì)量,⑧最高的增長率,⑨員工的滿意度最高,⑩公司聲望最高;根據(jù)估計(jì)的結(jié)果來確定是否要進(jìn)行風(fēng)險分析。一般來說,風(fēng)險分析的方法要依賴于特定問題的需求和有關(guān)部門所關(guān)心的方面。下面給出一種結(jié)構(gòu)化的、一致的方法來進(jìn)行風(fēng)險分析。具體分3步進(jìn)行。第一步識別潛在的風(fēng)險項(xiàng)。當(dāng)確定要進(jìn)行風(fēng)險分析之后,就要收集信息,表明相關(guān)的風(fēng)險。這就需要觀察風(fēng)險的征兆,理解其產(chǎn)生的原因,并列出所有的風(fēng)險項(xiàng)。首先進(jìn)行信息收集??梢詮倪^去完成的項(xiàng)目中收集已有的經(jīng)驗(yàn)和收集來自群眾的經(jīng)驗(yàn);可以模擬著名的事例;可以考慮類似的因素和進(jìn)行常識性的判斷;可以進(jìn)行試驗(yàn)或測試以得到有關(guān)的結(jié)果,可以用各種方式來獲得可能忽略的情況;此外,還可以針對經(jīng)常發(fā)生的錯誤進(jìn)行普查統(tǒng)計(jì)等。一般來說,通過過去的歷史來認(rèn)識軟件項(xiàng)目的風(fēng)險也許時一種最好的辦法。例如,一些數(shù)字表明修復(fù)一個需求或設(shè)計(jì)階段的錯誤的費(fèi)用可能比修復(fù)一個測試階段的錯誤的費(fèi)用高100倍到1000倍。因此,可以把需求階段標(biāo)識為一個軟件開發(fā)各階段的風(fēng)險區(qū)域。然后進(jìn)行信息分類。必須將收集到的信息以某種方式進(jìn)行分類。一種簡單而有用的方法是把風(fēng)險項(xiàng)分為三類:有風(fēng)險、可預(yù)見的風(fēng)險、不可預(yù)見的風(fēng)險。“有風(fēng)險”是指經(jīng)常發(fā)生的情況;“可預(yù)見的風(fēng)險”是指以較高概率出現(xiàn)的情況;“不可預(yù)見的風(fēng)險”是指不能識別的、未知的、不能觀察的風(fēng)險,是可能發(fā)生但事前很難預(yù)料的風(fēng)險。對于每一種類型,還可以按其原因分成三種子類型:缺乏信息、缺乏管理及缺乏時間。其它分類方法可以按直接或間接分類,按運(yùn)行性或策略性分類,按技術(shù)、進(jìn)度、成本、支持分類。第二步估計(jì)每個風(fēng)險的大小及其出現(xiàn)的可能性,風(fēng)險估計(jì)要度量所標(biāo)識的各個風(fēng)險可能造成的損失,即各種風(fēng)險項(xiàng)的值(后果及程度),用以減少度量的不確定性??梢园匆韵虏襟E進(jìn)行:選擇某一種度量尺度,用以估計(jì)計(jì)算各種風(fēng)險項(xiàng)的值,并具有合適的精度。由于要估計(jì)的風(fēng)險信息可能有3種形式:敘述性、定性或定量,所以可選的尺度可以是命名尺度、序次尺度、坐標(biāo)尺度或比例尺度。待估計(jì)的信息與度量尺度之間要建立對應(yīng)關(guān)系,不同類型的信息有不同的度量尺度。例如,敘述性信息需要有命名尺度或序次尺度,定量的信息需要坐標(biāo)或比例性的尺度。下表列出定量的風(fēng)險等級:風(fēng)險等級失效概率說明極高0.990.81超過當(dāng)前的技術(shù)水平,肯定是技術(shù)問題。很高0.800.61超過當(dāng)前的技術(shù)水平,極像是技術(shù)問題。高0.600.50最新的、尚未充分成熟的技術(shù),好像是技術(shù)問題。中等0.490.24最佳技術(shù),只會有很小的技術(shù)問題。低0.240.10使用的技術(shù),沒有技術(shù)問題。很低0.090.01在使用中的系統(tǒng)。在使用不同的方法和技術(shù)進(jìn)行風(fēng)險估計(jì)時常常會出現(xiàn)偏差,這是由于缺少可用來進(jìn)行判斷的信息,從而限制了風(fēng)險估計(jì)的精度。由于信息分散,各人的理解和解釋不同,造成“信息可用性偏差”。其次,選擇的觀念不同、專家的偏愛、采樣規(guī)模的影響、樣本相關(guān)的影響,以及修正的偏差等,都會產(chǎn)生估計(jì)的偏差。特別要注意的是:對于連續(xù)發(fā)生的事件和間斷的不連續(xù)發(fā)生事件,這些偏差會造成什么樣的影響。必須采用一些技術(shù)來克服或消減風(fēng)險估計(jì)中的不確定性。風(fēng)險一般可以看成屬于以下三種過程之一:行為型、自然型和隨機(jī)型。過程種類克服和消減敘述型的不確定性克服和消減度量型的不確定性行為型受定義人類行為的能力的限制受理性的人類行為的限制自然型理論上無限制,但實(shí)際上有一定范圍受度量系統(tǒng)的精度的限制隨機(jī)型理論上無限制,但實(shí)際上有一定范圍無法消減不確定性第三步進(jìn)行風(fēng)險評估。因?yàn)檐浖?xiàng)目所面臨的是風(fēng)險的一個較大的集合及其相互之間的影響,因此,必須針對這一點(diǎn)進(jìn)行風(fēng)險評估,以達(dá)到以下的目的:首先,考慮各種風(fēng)險的綜合影響后,對已識別風(fēng)險發(fā)生的可能性及其后果給出最終的量值(如果情況發(fā)生變化,也許要重新分析風(fēng)險發(fā)生的可能性和可能的后果);其次,提供某種機(jī)制,對各個風(fēng)險標(biāo)明優(yōu)先次序,以便予以適當(dāng)安排;最后,通過考慮其它可替代的方案,尋找避免風(fēng)險的基本方法,即為高層決策人員提供全部必要的信息,以作出合理的有依據(jù)的決策。進(jìn)行風(fēng)險評估有三個步驟:①確定風(fēng)險評估的標(biāo)準(zhǔn)。其目的是可用以衡量每個風(fēng)險的后果,即判定在項(xiàng)目的生存期中各個階段的風(fēng)險的后果是否可以接受。此標(biāo)準(zhǔn)應(yīng)與項(xiàng)目成功的標(biāo)準(zhǔn)相關(guān)。②確定風(fēng)險的級別。其目的是把項(xiàng)目作為整體來評估。就是說,人們必須理解各種風(fēng)險之間的相互作用,以及修改某些因素會如何影響它們之間的相互作用。為了說明可被評估的風(fēng)險,引入“參照風(fēng)險”?!皡⒄诊L(fēng)險”可以是一組單個風(fēng)險的集合,或?qū)?xiàng)目會造成最大損害的一個或多個風(fēng)險。必須仔細(xì)認(rèn)清各風(fēng)險間可能發(fā)生的耦合或復(fù)合情況。說明在把系統(tǒng)視為一個整體時,風(fēng)險將導(dǎo)致系統(tǒng)失敗的概率。③把風(fēng)險與“參照風(fēng)險”做比較。把已評定的風(fēng)險與在早期確定的“參照風(fēng)險”相比較,結(jié)果可能是以下3種情況之一:可接受(評定的風(fēng)險低于“參照風(fēng)險”);不可能接受(評定的風(fēng)險大大高于“參照風(fēng)險”);不適合接受(評定的風(fēng)險大于,但幾乎等于“參照風(fēng)險”)?!纠?】假設(shè)開發(fā)某個計(jì)算機(jī)應(yīng)用系統(tǒng)的投資額為3000元,該計(jì)算機(jī)應(yīng)用系統(tǒng)投入使用后,每年可以節(jié)約1000元,5年內(nèi)可能節(jié)約5000元。3000元是現(xiàn)在投資的錢,5000元是5年內(nèi)節(jié)省的錢,兩者不能簡單地比較。 假定年利率為12%,利用計(jì)算貨幣現(xiàn)在價值的公式,可以算出該計(jì)算機(jī)應(yīng)用系統(tǒng)投入使用后每年預(yù)計(jì)節(jié)省的金額的現(xiàn)在價值。年節(jié)省(元)利率(1+0.12)n現(xiàn)在價值(元)累計(jì)現(xiàn)在價值(元)110001.12892.86892.86210001.25800.001692.86310001.40714.292407.15410001.57636.943044.09510001.76568.183612.27 則該系統(tǒng)的純收入是(A),投資回收期是(B),投資回收率為(C)。供選擇的答案:A.①512.3元 ②729.28元 ③602.4元 ④612.27元B.①2.4年 ②3.93年 ③4.25年 ④2.78元C.①25% ②30% ③20% ④15%答案:A.④,B.②,C.③。分析:效益包括經(jīng)濟(jì)效益,也包括社會效益。前者是有形的,后者是無形的。系統(tǒng)的經(jīng)濟(jì)效益等于因使用新系統(tǒng)而增加的收入加上使用新系統(tǒng)可以節(jié)省的運(yùn)行費(fèi)用。運(yùn)行費(fèi)用包括操作員人數(shù)、工作時間、消耗的物資等。在計(jì)算系統(tǒng)的經(jīng)濟(jì)效益時,應(yīng)按照貨幣的時間價值來計(jì)算,這是因?yàn)閷?xiàng)目的投資在前,而系統(tǒng)效益的產(chǎn)生在后,且常常有一個較長的過程。通常,用利率表示貨幣的時間價值。若設(shè)年利率為i,現(xiàn)已存入P元,則n年后可得到的錢數(shù)為:F=(1+i)n,F(xiàn)就是P元錢在n年后的價值。反之,若n年后能收入F元,那么這些錢現(xiàn)在的價值是:P=F∕(1+i)n。由此,可從題意得:該計(jì)算機(jī)應(yīng)用系統(tǒng)在5年中的純收入為:3612.27-3000=612.27(元)。投資回收期約為:3+(3000-2407.15)/(3044.09-2407.15)≈3.93(年)。投資回收率設(shè)為r,由下列方程式: 3000=1000/(1+r)+1000/(1+r)2+1000/(1+r)3+……+1000/(1+r)5解得r=20%。純收入就是在整個生存期之內(nèi)系統(tǒng)的累計(jì)經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資所需的時間。投資回收率時投入資金所獲得的利率?!纠?】軟件項(xiàng)目管理的主要職能包括:(A),建立組織,配備人員,(B)和(C)。由于軟件項(xiàng)目的特有性質(zhì),使得項(xiàng)目管理存在一定困難。第一、(D),軟件工程過程充滿了大量高強(qiáng)度的腦力勞動;第二、(E),在特定機(jī)型上,利用特定的硬件配置,由特定的系統(tǒng)軟件和支撐軟件支持,形成了特定的開發(fā)環(huán)境;第三、(F),軟件項(xiàng)目經(jīng)歷的各個階段都深透了大量的手工勞動,遠(yuǎn)未達(dá)到自動化的程度;第四、(G),用戶要經(jīng)過專門的培訓(xùn),才能掌握操作步驟,且需要配備專職維護(hù)人員進(jìn)行售后服務(wù);第五、(H),為高質(zhì)量地完成軟件項(xiàng)目,充分發(fā)掘人員的智力才能和創(chuàng)造精神。 在總結(jié)和分析足夠數(shù)量失誤的軟件項(xiàng)目之后可知,造成軟件失誤的原因大多與(I)工作有關(guān)。在軟件項(xiàng)目開始執(zhí)行時,執(zhí)行的過程中及項(xiàng)目進(jìn)行的最后階段都會遇到種種問題。供選擇的答案:AC.①編碼 ②制定計(jì)劃 ③開發(fā) ④指導(dǎo)⑤測試 ⑥檢驗(yàn)DH.①軟件工作滲透了人的因素 ②智力密集,可見性差 ③單件生產(chǎn) ④使用方法繁瑣,維護(hù)困難 ⑤勞動密集,自動化程度低I. ①設(shè)計(jì) ②維護(hù) ③測試 ④管理⑤實(shí)踐 ⑥指導(dǎo) ⑦審核 ⑧分析答案:A.②,B.④,C.⑥,D.②,E.③,F.⑤,G.④,H.①,I.④。分析:軟件管理的主要職能包括:制定計(jì)劃:規(guī)定待完成的任務(wù)、要求、資源、人力和進(jìn)度等。建立組織:為實(shí)施計(jì)劃,保證任務(wù)的完成,需要建立分工明確的責(zé)任制機(jī)構(gòu)。配備人員:任用各種層次的技術(shù)人員和管理人員。指導(dǎo):鼓勵和動員軟件人員完成所分配的工作。檢驗(yàn):對照計(jì)劃或標(biāo)準(zhǔn),監(jiān)督和檢查實(shí)施的情況。軟件項(xiàng)目管理上的困難主要有:①智力密集,可見性差:軟件工程過程充滿了大量高強(qiáng)度的腦力勞動。軟件開發(fā)的成果是不可見的邏輯實(shí)體,軟件產(chǎn)品的質(zhì)量難以用簡單的尺度加以度量。對于不深入掌握軟件知識或缺乏軟件開發(fā)實(shí)踐經(jīng)驗(yàn)的人員,是不可能領(lǐng)導(dǎo)做好軟件管理工作。軟件開發(fā)任務(wù)完成得好也看不見,完成得不好有時也能制造假象,欺騙外行的領(lǐng)導(dǎo)。②單件生產(chǎn):在特定機(jī)型上,利用特定的硬件配置,由特定的系統(tǒng)軟件或支撐軟件的支持,形成了特定的開發(fā)環(huán)境。再加上軟件項(xiàng)目特定的目標(biāo),采用特定的開發(fā)方法、工具和語言,使得軟件具有獨(dú)一無二的特色,幾乎找不到與之完全相同的軟件產(chǎn)品。這種建立在內(nèi)容、形式各異的基礎(chǔ)上的研制或生產(chǎn)方式,與其它領(lǐng)域中大規(guī)?,F(xiàn)代化生產(chǎn)有著很大的差別,也自然會給管理工作造成許多實(shí)際困難。③勞動密集,自動化程度低:軟件項(xiàng)目經(jīng)歷的各個階段都滲透了大量的手工勞動,這些勞動又十分細(xì)致、復(fù)雜和容易出錯。盡管近年來開展了軟件工具和CASE的研究,但總體來說,仍遠(yuǎn)未達(dá)到自動化的程度。軟件產(chǎn)業(yè)所處的這一狀態(tài),加上軟件本身的復(fù)雜性,使得軟件的開發(fā)和維護(hù)難于避免多種錯誤,軟件的正確性難于保證,軟件產(chǎn)品質(zhì)量的提高自然受到了很大的影響。④使用方法繁瑣,維護(hù)困難:用戶使用軟件需要掌握計(jì)算機(jī)的基本知識,或者接受專門的培訓(xùn),否則面對多種使用手冊、說明和繁瑣的操作步驟,學(xué)會使用要花費(fèi)很大力氣。另一方面,如果遇到軟件運(yùn)行出了問題,且沒有配備專職維護(hù)人員,又得不到開發(fā)部門及時的售后服務(wù),軟件的使用者更是徒喚奈何。⑤軟件工作滲透了人的因素:為高質(zhì)量地完成軟件項(xiàng)目,充分發(fā)掘人員的智力才能和創(chuàng)造精神,不僅要求軟件人員具有一定的技術(shù)水平和工作經(jīng)驗(yàn),而且還要求他們具有良好的心理素質(zhì)。軟件人員的情緒和他們的工作環(huán)境,對他們工作有很大的影響。與其它行業(yè)相比,它的這一特點(diǎn)十分突出,必須給予足夠的重視。造成軟件失誤的原因:在總結(jié)和分析足夠數(shù)量失誤的軟件項(xiàng)目之后,看出其原因大多與管理工作有關(guān)。在軟件項(xiàng)目開始執(zhí)行時,遇到的問題往往是:可供利用的資料太少;項(xiàng)目負(fù)責(zé)人的責(zé)任不明確;項(xiàng)目的定義模糊;沒有計(jì)劃或計(jì)劃過分粗糙;資源要求未按時做出安排而落空;沒有明確規(guī)定子項(xiàng)目完成的標(biāo)準(zhǔn);缺乏使用工具的知識;項(xiàng)目已有更動,但預(yù)算未隨之改變。在軟件項(xiàng)目執(zhí)行的過程中可能會發(fā)生:項(xiàng)目審查只注意瑣事而走過場;人員變動造成對工作的干擾;項(xiàng)目進(jìn)行情況未能定期匯報(bào);對階段評審和評審中發(fā)現(xiàn)的問題如何處置未做出明確規(guī)定;資源要求并不像原來預(yù)計(jì)的那樣大;未能做到嚴(yán)格遵循需求說明書;項(xiàng)目管理人員不足。項(xiàng)目進(jìn)行到最后階段可能會發(fā)生:未做質(zhì)量評價;取得的知識和經(jīng)驗(yàn)很少交流;未對人員工作情況做出評定;未做嚴(yán)格的移交;擴(kuò)充性建議未寫入文檔資料??傊?,問題涉及到軟件項(xiàng)目研制中的計(jì)劃制定、進(jìn)度估計(jì)、資源使用、人員配備、組織機(jī)構(gòu)和管理方法等軟件管理的許多側(cè)面。四、習(xí)題保護(hù)傘活動(E)過程框架(C)框架(B)【9-1】任務(wù)集合SQA點(diǎn)(D)、交付物軟件過程是軟件(A)中的一系列相關(guān)軟件工程(B)的集合。每一個軟件過程又是由一組(C)、項(xiàng)目(D)、軟件工程產(chǎn)品和交付物以及質(zhì)量保證(SQA)點(diǎn)等組成。一個軟件過程可以用右圖的形式來表示。首先建立一個(E)過程框架,其中定義了少量可適用于所有軟件項(xiàng)目的框架(B),再給出各個框架(B)的任務(wù)集合,最后是保護(hù)傘活動,如軟件質(zhì)量保證、軟件配置管理以及測量等。軟件過程模型的選擇基于項(xiàng)目和應(yīng)用的特點(diǎn)、采用的(F)和工具、要求的控制和需交付的產(chǎn)品。保護(hù)傘活動(E)過程框架(C)框架(B)任務(wù)集合SQA點(diǎn)(D)、交付物供選擇的答案:AF.①工程 ②公共 ③活動 ④生存期 ⑤方法 ⑥工作任務(wù) ⑦功能 ⑧里程碑(E)度量(C)度量(D)度量面向(H)度量面向(F)度量面向(G)度量【9-2】軟件的度量包括(A)和(B)。軟件產(chǎn)品的(A)包括產(chǎn)生的代碼行數(shù)、執(zhí)行速度等。軟件產(chǎn)品的(B)則包括若干質(zhì)量特性。我們還可進(jìn)一步將軟件度量如右圖所示那樣分類。軟件(C)度量主要關(guān)注軟件工程過程的結(jié)果;(D)度量則指明了軟件適應(yīng)明確和不明確的用戶要求到什么程度;(E)度量主要關(guān)注軟件的一些特性而不是軟件開發(fā)的全過程。從圖中還可看到另一種分類方法:面向(F)的度量用于收集與直接度量有關(guān)軟件工程輸出的信息和質(zhì)量信息。面向(G)的度量提供直接度量的尺度。面向(H)的度量則收集有關(guān)人們開發(fā)軟件所用方式的信息和人們理解有關(guān)工具和方法的效率的信息。(E)度量(C)度量(D)度量面向(H)度量面向(F)度量面向(G)度量供選擇的答案:AB.①直接度量 ②尺度度量 ③二元度量 ④間接度量CE.①質(zhì)量 ②技術(shù) ③成本 ④生產(chǎn)率FH.①過程 ②對象 ③人 ④存?、菀?guī)模 ⑥進(jìn)程 ⑦功能 ⑧數(shù)據(jù)【9-3】估算資源、成本和進(jìn)度時需要經(jīng)驗(yàn)、有用的歷史信息、足夠的定量數(shù)據(jù)和作定量度量的勇氣。通常估算本身帶有(A)。項(xiàng)目的復(fù)雜性越高,規(guī)模越大,開發(fā)工作量(B),估算的(A)就(C)。項(xiàng)目的結(jié)構(gòu)化程度提高,進(jìn)行精確估算的能力就能(D),而風(fēng)險將(E)。有用的歷史信息(F),總的風(fēng)險會減少。供選擇的答案:A.①風(fēng)范(范型) ②風(fēng)格 ③風(fēng)險 ④度量BF.①增加 ②越多 ③降低 ④不變 ⑤越少 ⑥越高 ⑦越大【9-4】在考慮各種軟件開發(fā)資源時,(A)是最重要的資源。如果把軟件開發(fā)所需的資源畫成一個金字塔形:在塔的上層是最基本的資源(A),在底部為(B)。(B)包括硬件資源和軟件資源。(C)、(D)和其它硬件設(shè)備屬于硬件資源。IPSE工具屬于軟件資源中的(E)。為了提高軟件的生產(chǎn)率和軟件產(chǎn)品的質(zhì)量,可建立(F)。供選擇的答案:A,B.①方法 ②人力 ③工具 ④上下文環(huán)境C,D.①虛擬機(jī) ②目標(biāo)機(jī) ③自動機(jī) ④宿主機(jī)E,F.①維護(hù)工具 ②分析設(shè)計(jì)工具 ③支持工具 ④編程工具 ⑤可復(fù)用構(gòu)件庫 ⑥框架工具 ⑦原型化模擬工具【9-5】任何軟件項(xiàng)目都必須做好項(xiàng)目管理工作,最常使用的進(jìn)度管理工具是(A),當(dāng)某一開發(fā)項(xiàng)目的進(jìn)度有可能拖延時,應(yīng)該(B)。對于一個典型的軟件開發(fā)項(xiàng)目,各開發(fā)階段需投入的工作量的百分比大致是(C)。各階段所需不同層次的技術(shù)人員大致是(D),而管理人員在各階段所需數(shù)量也不同,相對而言大致是(E)。供選擇的答案:A.①數(shù)據(jù)流圖 ②程序結(jié)構(gòu)圖 ③因果圖 ④PERT圖B.①增加新的開發(fā)人員 ②分析拖期原因加以補(bǔ)救③從別的小組抽調(diào)人員臨時幫忙 ④推遲預(yù)定完成時間需求分析設(shè)計(jì)編碼測試投入工作量①25252525C.②10203040③15301540④5106530技術(shù)人員水平①初級高級高級高級D.②中級中級高級中級③高級中高級初級中高級④中級中高級中級初級管理人員數(shù)量①多中少中E.②中中中中③多少多多④少多少多【9-6】一個32KDSI的聲音輸入系統(tǒng)是一個輸入原型,或是一個可行性表演模型。所需可靠性非常低,因?yàn)樗淮蛩阃度肷a(chǎn)性使用。把此模型看做半獨(dú)立型軟件。試問該軟件的名義工作量和實(shí)際工作量?!?-7】風(fēng)險分析實(shí)際上是4個不同的活動,按順序依次為(A)、(B)、風(fēng)險評價和(C)。在風(fēng)險評價時,應(yīng)當(dāng)建立一個三元組:[ri,li,xi],ri是風(fēng)險描述,li是(D),而xi是風(fēng)險的影響。一個對風(fēng)險評價很有用的技術(shù)是定義(E)。(F)、(G)、(H)是三種典型的(E)。在做風(fēng)險分析的上下文環(huán)境中一個(E)就存在一個單獨(dú)的點(diǎn),叫做參照點(diǎn)或(I)。在這個點(diǎn)上要公正底給出判斷。實(shí)際上,參照點(diǎn)能在圖上表示成一條平滑的曲線的情況很少,多數(shù)情況它是一個(J)。供選擇的答案:AC.①風(fēng)險駕馭和監(jiān)控 ②風(fēng)險識別 ③風(fēng)險估計(jì) ④風(fēng)險消除

D.①風(fēng)險的大小 ②風(fēng)險的概率 ③風(fēng)險的時間 ④風(fēng)險的范圍E.①風(fēng)險參照水準(zhǔn) ②風(fēng)險度量 ③風(fēng)險監(jiān)控 ④風(fēng)險工具FH.①生產(chǎn)率 ②功能 ③成本 ④進(jìn)度 ⑤范圍 ⑥性能I,J.①凹點(diǎn) ②崩潰點(diǎn) ③終點(diǎn) ④區(qū)域 ⑤拐點(diǎn) ⑥原點(diǎn)【9-8】對于一個小型的軟件開發(fā)項(xiàng)目,一個人就可以完成需求分析、設(shè)計(jì)、編碼和測試工作。但隨著軟件項(xiàng)目規(guī)模增大,需要有多人共同參與同一軟件項(xiàng)目的工作。當(dāng)幾個人共同承擔(dān)軟件開發(fā)項(xiàng)目中的某一任務(wù)時,人與人之間必須通過交流來解決各自承擔(dān)任務(wù)之間的(A)問題,即通信問題。通信需花費(fèi)時間和代價,會引起軟件錯誤(B),(C)軟件生產(chǎn)率。如果一個軟件開發(fā)小組有n個人,每兩人之間都需要通信,則共有(D)條通信路徑。假設(shè)一個人單獨(dú)開發(fā)軟件,生產(chǎn)率是5000行/人年,且在每條通信路徑上耗費(fèi)的工作量是250行/人年。若4個人組成一個小組共同開發(fā)這個軟件,則小組中每個人的軟件生產(chǎn)率為(E)。若小組有6名成員,則小組中每個成員的軟件生產(chǎn)率為(F)。因此,有人提出,軟件開發(fā)小組的規(guī)模不能太大,人數(shù)不能太多,一般在(G)人左右為宜。供選擇的答案:A.①分配 ②管理 ③接口 ④協(xié)作B,C.①降低 ②增加 ③不變D.①n(n+1)/2 ②n(n-1)/2 ③n(n-1)(n-2)/6 ④n2/2E,F.①4875 ②4375 ③4625 ④5735G.①8~15 ②1~2 ③2~5 ④2~8【9-9】軟件項(xiàng)目的進(jìn)度管理有許多方法,但(A)不是常用的進(jìn)度控制圖示方法。在幾種進(jìn)度控制圖示方法中,(B)難以表達(dá)多個子任務(wù)之間的邏輯關(guān)系,使用(C)不僅能表達(dá)子任務(wù)之間的邏輯關(guān)系,而且可以找出關(guān)鍵子任務(wù)。在(C)中,用帶箭頭的邊表示(D),用圓圈結(jié)點(diǎn)表示(E),它標(biāo)明(D)的(F)。供選擇的答案:AC.①甘特圖 ②IPO ③PERT ④時標(biāo)網(wǎng)狀圖DF.①數(shù)據(jù)流 ②控制流 ③事件 ④處理 ⑤起點(diǎn)或終點(diǎn) ⑥任務(wù)【9-10】軟件項(xiàng)目組織的原則是(A)、(B)和(C)。一般有(D)、(E)、(F)三種組織結(jié)構(gòu)的模式。(F)實(shí)際上是(D)和(E)兩種模式的復(fù)合。(E)這種模式在小組之間的聯(lián)系形成的接口較多,但便于軟件人員熟悉小組的工作,進(jìn)而成為這方面的專家。供選擇的答案:AC.①推遲責(zé)任的落實(shí) ②盡早落實(shí)責(zé)任 ③減少接口 ④增加聯(lián)系 ⑤責(zé)權(quán)分離 ⑥責(zé)權(quán)均衡DF.①矩陣形模式 ②主程序員小組模式 ③按課題劃分的模式 ④按職能劃分的模式 ⑤民主制小組模式 【9-11】軟件開發(fā)小組的目的是發(fā)揮集體的力量進(jìn)行軟件研制。因此,小組從培養(yǎng)(A)的觀點(diǎn)出發(fā)進(jìn)行程序設(shè)計(jì)消除軟件的(B)的性質(zhì)。通常,程序設(shè)計(jì)小組的組織形式有三種,如下圖所示的a屬于(C),b屬于(D),c屬于(E)。(a)(b)(c)(a)(b)(c)供選擇的答案:A,B.①“局部” ②“全局” ③“集體” ④“個人”CE.①層次式小組 ②民主制小組 ③主程序員制小組五、習(xí)題解答【9-1】A.④,B.③,C.⑥,D.⑧,E.②,F.⑤。工作任務(wù)里程碑、交付物SQA點(diǎn)保護(hù)傘活動任務(wù)集合框架活動公共過程框架軟件過程是軟件生存期中的一系列相關(guān)軟件工程活動的集合。每一個軟件過程又是由一組工作任務(wù)、項(xiàng)目里程碑、軟件工程產(chǎn)品和交付物以及質(zhì)量保證(SQA)點(diǎn)等組成。一個軟件過程可以用右圖的形式來表示。首先建立一個公共過程框架,其中定義了少量可適用于所有軟件項(xiàng)目的框架活動,而不考慮它們的規(guī)模和復(fù)雜性。再給出各個框架活動的任務(wù)集合,使得框架活動能夠適合于項(xiàng)目的特點(diǎn)和項(xiàng)目組的需求。最后是保護(hù)傘活動,如軟件質(zhì)量保證、軟件配置管理以及測量等,它們獨(dú)立于任何一個框架活動并將貫穿于整個過程。軟件過程模型的選擇基于項(xiàng)目和應(yīng)用的特點(diǎn)、采用的方法和工具、要求的控制和需交付的產(chǎn)品。工作任務(wù)里程碑、交付物SQA點(diǎn)保護(hù)傘活動任務(wù)集合框架活動公共過程框架【9-2】A.①,B.④,C.④,D.①,E.②,F.⑤,G.⑦,H.③。生產(chǎn)率度量質(zhì)量度量面向功能的度量面向人的度量面向規(guī)模的度量技術(shù)度量軟件的度量包括直接度量和間接度量。軟件產(chǎn)品的直接度量包括產(chǎn)生的代碼行數(shù)、執(zhí)行速度、存儲量大小、在某種時間周期中所報(bào)告的差錯數(shù)。軟件產(chǎn)品的間接度量則包括功能性、復(fù)雜性、效率、可靠性、可維護(hù)性和許多其它的質(zhì)量特性。只要事先建立特定的度量規(guī)程,很容易做到直接度量開發(fā)軟件所產(chǎn)生的代碼行數(shù)等。但是,軟件的功能性、效率、可維護(hù)性等質(zhì)量特性卻很難用直接度量判明,只有通過間接度量才能推斷。我們還可進(jìn)一步將軟件度量如圖所示那樣分類。軟件生產(chǎn)率度量主要關(guān)注軟件工程過程的結(jié)果;軟件質(zhì)量度量則指明了軟件適應(yīng)明確和不明確的用戶要求(軟件使用合理性)到什么程度;技術(shù)度量主要關(guān)注軟件的一些特性(如邏輯復(fù)雜性、模塊化程度)而不是軟件開發(fā)的全過程。從圖中還可以看到另一種分類方法:面向規(guī)模的度量用于收集與直接度量有關(guān)的軟件工程輸出的信息和質(zhì)量信息。面向功能的度量提供直接度量的尺度。面向人的度量則收集有關(guān)人們開發(fā)軟件所用方式的信息和人們理解有關(guān)工具和方法的效率的信息。生產(chǎn)率度量質(zhì)量度量面向功能的度量面向人的度量面向規(guī)模的度量技術(shù)度量估算資源、成本和進(jìn)度時需要經(jīng)驗(yàn)、有用的歷史信息、足夠的定量數(shù)據(jù)和作定量度量的勇氣。通常估算本身帶有(A)。項(xiàng)目的復(fù)雜性越高,規(guī)模越大,開發(fā)工作量(C),估算的(A)就(D)。項(xiàng)目的結(jié)構(gòu)化程度的提高,進(jìn)行精確估算的能力就能(E),而風(fēng)險將(F)。有用的歷史信息(G),總的風(fēng)險會減少。供選擇的答案:A.①風(fēng)范(范型) ②風(fēng)格 ③風(fēng)險 ④度量BG.①增加 ②越大 ③降低 ④不變 ⑤減少 ⑥越高【9-3】A.③,B.②,C.⑦,D.①,E.③,F.②。 估算資源、成本和進(jìn)度時需要經(jīng)驗(yàn)、有用的歷史信息、足夠的定量數(shù)據(jù)和作定量度量的勇氣。估算本身帶有風(fēng)險。增加風(fēng)險的各種因素如圖所示。項(xiàng)目的復(fù)雜性對于增加軟件估算的不確定性影響很大。復(fù)雜性越高,估算的風(fēng)險就越高。但是,復(fù)雜性是相對度量,它與項(xiàng)目參加人員的經(jīng)驗(yàn)有關(guān)。項(xiàng)目的規(guī)模對于軟件估算的精確性和功效影響也比較大。因?yàn)殡S著軟件規(guī)模的擴(kuò)大,軟件元素之間的相互依賴、相互影響程度迅速增加,因而估算的一個重要方法──問題分解會變得更加困難。由此可知,項(xiàng)目的規(guī)模越大,開發(fā)工作量越大,估算的風(fēng)險越高。項(xiàng)目的結(jié)構(gòu)化程度也影響項(xiàng)目估算的風(fēng)險。所謂結(jié)構(gòu)性是指功能分解的簡便性和處理信息的層次性。結(jié)構(gòu)化程度的提高,進(jìn)行精確估算的能力就能提高,而風(fēng)險將減少。歷史信息的有效性也影響估算的風(fēng)險?;仡欉^去,就能夠仿效做過的事,且改進(jìn)出現(xiàn)問題的地方。在對過去的項(xiàng)目進(jìn)行綜合的軟件度量之后,就可以借用來比較準(zhǔn)確地進(jìn)行估算,安排進(jìn)度以避免重走過去的彎路,而總的風(fēng)險也減少了。人風(fēng)險靠對不確定性程度定量地進(jìn)行估算來度量,此外,如果對軟件項(xiàng)目的作用范圍還不十分清楚,或者用戶的要求經(jīng)常變更,都會導(dǎo)致對軟件項(xiàng)目所需資源、成本、進(jìn)度的估算頻頻變動,增加估算的風(fēng)險。人【9-4】A.②,B.③,C.②,D.④,E.⑥,F.⑤。其中,C、D的答案順序可互換。工具軟件項(xiàng)目計(jì)劃的第二個任務(wù)是對完成該軟件項(xiàng)目所需的資源進(jìn)行估算。若把軟件開發(fā)所需的資源畫成一個金字塔,在塔的底部必須有現(xiàn)成的用以支持軟件開發(fā)的工具──硬件工具及軟件工具,在塔的高層是最基本的資源──人。在考慮各種軟件開發(fā)資源時,人是最重要的資源。在安排開發(fā)活動時必須考慮人員的技術(shù)水平、專業(yè)、人數(shù)、以及在開發(fā)過程各階段中對各種人員的需要。工具硬件是作為軟件開發(fā)項(xiàng)目的一種工具而投入的。在軟件項(xiàng)目計(jì)劃期間,考慮三種硬件資源:宿主機(jī)(軟件開發(fā)時使用的計(jì)算機(jī)及外圍設(shè)備);目標(biāo)機(jī)(運(yùn)行已開發(fā)成功軟件的計(jì)算機(jī)及外圍設(shè)備);其它硬件設(shè)備(專用軟件開發(fā)時需要的特殊硬件資源)。宿主機(jī)連同必要的軟件工具構(gòu)成一個軟件開發(fā)系統(tǒng)。通常這樣的開發(fā)系統(tǒng)能夠支持多種用戶的需要,且能保持大量的由軟件開發(fā)小組成員共享的信息。但在許多情況下,除了那些很大的系統(tǒng)之外,不一定非要配備專門的開發(fā)系統(tǒng)。因此,所謂硬件資源,可以認(rèn)為是對現(xiàn)存計(jì)算機(jī)系統(tǒng)的使用,而不是去購買一臺新的計(jì)算機(jī)。宿主機(jī)與目標(biāo)機(jī)可以是同一種機(jī)型。軟件在開發(fā)期間使用了許多軟件工具來幫助軟件的開發(fā)。這些軟件工具叫做計(jì)算機(jī)輔助軟件工程(CASE)。主要的軟件工具分類為:業(yè)務(wù)系統(tǒng)計(jì)劃工具集;項(xiàng)目管理工具集;支持工具;分析和設(shè)計(jì)工具;編程工具;組裝和測試工具;原型化和模擬工具;維護(hù)工具;框架工具。這些框架工具能夠提供一個建立集成項(xiàng)目支撐環(huán)境(IPSE)的框架。在多數(shù)情況,框架工具實(shí)際提供了數(shù)據(jù)庫管理和配置管理的能力與一些實(shí)用工具,能夠把各種工具集成到IPSE中。為了促成軟件的復(fù)用,以提高軟件的生產(chǎn)率和軟件產(chǎn)品的質(zhì)量,可建立可復(fù)用的軟件構(gòu)件庫。根據(jù)需要,對軟件構(gòu)件稍做加工,就可以構(gòu)成一些大的軟件包。這要求這些軟件構(gòu)件應(yīng)加以編目,以利引用,并進(jìn)行標(biāo)準(zhǔn)化和確認(rèn),以利于應(yīng)用和集成?!?-5】A.④,B.②,C.③,D.③,E.①。 PERT技術(shù)叫做計(jì)劃評審技術(shù),是安排開發(fā)進(jìn)度,制定軟件開發(fā)計(jì)劃的最常用的方法。它采用網(wǎng)絡(luò)圖來描述一個項(xiàng)目的任務(wù)網(wǎng)絡(luò)。通常用兩張表來定義網(wǎng)絡(luò)圖。一張表給出與一特定軟件項(xiàng)目有關(guān)的所有任務(wù)(也稱為任務(wù)分解結(jié)構(gòu)),另一張表給出應(yīng)當(dāng)按照什么樣的次序來完成這些任務(wù)(有時稱為限制表)。 當(dāng)某一開發(fā)項(xiàng)目的進(jìn)度有可能拖延時,應(yīng)該分析拖期原因加以補(bǔ)救,切忌中途加人,否則反而會降低軟件生產(chǎn)率。對于一個典型的軟件開發(fā)項(xiàng)目,各開發(fā)階段需投入的工作量的百分比大致遵循40-20-40規(guī)則。即在整個軟件開發(fā)過程中,編碼的工作量占20%,編碼前的工作量占40%,編碼后的工作量占40%。 對于一些規(guī)模較小的項(xiàng)目(1個人年或者更少),只要向?qū)<易鲂┳稍?,也許一個人就可以完成所有的軟件工程步驟。而對一些規(guī)模較大的項(xiàng)目,在整個軟件生存期中,各種人員的參與情況是不一樣的。如圖所示。在軟件計(jì)劃和需求分析階段,對軟件系統(tǒng)進(jìn)行定義,主要工作是由管理人員和高級技術(shù)人員在做,初級技術(shù)人員參與較少。待到對軟件進(jìn)行具體設(shè)計(jì)、編碼及測試時,管理人員逐漸減少對開發(fā)工作的參與,高級技術(shù)人員主要在設(shè)計(jì)方面把關(guān),具體編碼及調(diào)試參與較少,大量的工作將由初級技術(shù)人員去做。到了軟件開發(fā)的后期,需要對軟件進(jìn)行檢驗(yàn)、評價和驗(yàn)收,管理人員和高級技術(shù)人員又將投入很多的精力?!?-6】對于這樣一個規(guī)模為10KDSI的商用微機(jī)遠(yuǎn)程通信的嵌入式軟件,使用中間COCOMO模型進(jìn)行軟件成本估算。名義工作量為MM=3.0*(10)1.12=146(人月)。又查表知f1=0.75,其它fi=1.00,則最終計(jì)算出的實(shí)際工作量為MM=146*0.75=110(人月)?!?-7】A.②,B.③,C.①,D.②,E.①,F.③,G.④,H.⑥,I.②,J.④。其中,F(xiàn)、G、H的答案順序可互換。風(fēng)險分析實(shí)際上是4個不同的活動:風(fēng)險識別,風(fēng)險估計(jì),風(fēng)險評價和風(fēng)險駕馭與監(jiān)控。 在進(jìn)行風(fēng)險評價時,可建立一系列三元組:[ri,li,xi],其中,ri是風(fēng)險,li是風(fēng)險出現(xiàn)的可能性(概率),而xi是風(fēng)險產(chǎn)生的影響。在做風(fēng)險評價時,應(yīng)進(jìn)一步審查在風(fēng)險估計(jì)時所得到的估計(jì)的準(zhǔn)確性,嘗試對已發(fā)現(xiàn)的風(fēng)險進(jìn)行優(yōu)先排隊(duì),并著手考慮控制和∕或消除可能出現(xiàn)風(fēng)險的方法。在做風(fēng)險評價時常采用的一個非常有效的方法就是定義風(fēng)險參照水準(zhǔn)。對于大多數(shù)軟件項(xiàng)目來說,性能、支持、成本、進(jìn)度就是典型的風(fēng)險參照水準(zhǔn)。就是說,對于成本超支、進(jìn)度延期、性能降低、支持困難,或它們的某種組合,都有一個水準(zhǔn)值,超出它就會導(dǎo)致項(xiàng)目被迫終止。在軟件風(fēng)險分析的上下文中,一個風(fēng)險參照水準(zhǔn)就有一個點(diǎn),叫做參照點(diǎn)或崩潰點(diǎn)。在這個點(diǎn)上,要公平地給出可接受的判斷,看是繼續(xù)執(zhí)行項(xiàng)目工作,還是終止它們(出的問題太大)。實(shí)際上,參照點(diǎn)能在圖上被表示成一條平滑的曲線的情況很少。在多數(shù)情況中,它是一個區(qū)域,在此區(qū)域中存在許多不確定性的范圍?!?-8】A.③,B.②,C.①,D.②,E.③,F.②,G.④。對于一個小型的軟件開發(fā)項(xiàng)目,一個人就可以完成需求分析、設(shè)計(jì)、編碼和測試工作。但是,隨著軟件開發(fā)項(xiàng)目規(guī)模的增大,就會有更多的人共同參與同一軟件項(xiàng)目的工作。例如10個人1年可以完成的項(xiàng)目,若讓1個人干10年是不行的。因此,需要多人組成開發(fā)小組共同參加一個項(xiàng)目的開發(fā)。但是,當(dāng)幾個人共同承擔(dān)軟件開發(fā)項(xiàng)目中的某一任務(wù)時,人與人之間必須通過交流來解決各自承擔(dān)任務(wù)之間的接口問題,即所謂通信問題。通信需花費(fèi)時間和代價,會引起軟件錯誤增加,降低軟件生產(chǎn)率。若兩個人之間需要通信,則稱在這兩個人之間存在一條通信路徑。如果一個軟件開發(fā)小組有n個人,每兩人之間都需要通信,則總的通信路徑有n(n-1)/2條。假設(shè)一個人單獨(dú)開發(fā)軟件,生產(chǎn)率是5000行/人年。若4個人組成一個小組共同開發(fā)這個軟件,則需要6條通信路徑(圖(a))。若在每條通信路徑上耗費(fèi)的工作量是250行/人年。則小組中每個人的軟件生產(chǎn)率降低為 5000-6×250/4=5000-375=4625行/人年。如果小組有6名成員,通信路徑增加到15條(圖(b))。每條通信路徑消耗的工作量不變,則小組中每個成員的軟件生產(chǎn)率降低為 5000-15×250/6=5000-625=4375行/人年。從上述簡單分析可知,一個軟件任務(wù)由一個人單獨(dú)開發(fā),生產(chǎn)率最高;而對于一個稍大型的軟件項(xiàng)目,一個人單獨(dú)開發(fā),時間太長。因此軟件開發(fā)小組是必要的。有人提出,軟件開發(fā)小組的規(guī)模不能太大,人數(shù)不能太多,一般在2~8人左右為宜?!?-9】A.②,B.①,C.③,D.⑥,E.③,F.⑤。軟件項(xiàng)目的進(jìn)度計(jì)劃和工作的實(shí)際進(jìn)展情況,對于較大的項(xiàng)目來說,難以用語言敘述清楚。特別是表現(xiàn)各項(xiàng)任務(wù)之間進(jìn)度的相互依賴關(guān)系,需要采用圖示的方法。常用的圖示方法有甘特圖、時標(biāo)網(wǎng)狀圖、PERT等,IPO圖是用于在結(jié)構(gòu)化設(shè)計(jì)中描述程序結(jié)構(gòu)中輸入―處理―輸出的,不是進(jìn)度控制的圖示工具。甘特圖以水平線段表示任務(wù)的工作階段;線段的起點(diǎn)和終點(diǎn)分別對應(yīng)著任務(wù)的開工時間和完成時間;線段的長度表示完成任務(wù)所需的時間。從甘特圖上可以很清楚地看出各子任務(wù)在時間上的對比關(guān)系,并以文檔編制與評審作為軟件開發(fā)進(jìn)度的里程碑。甘特圖的優(yōu)點(diǎn)是標(biāo)明了各任務(wù)的計(jì)劃進(jìn)度和當(dāng)前進(jìn)度,能動態(tài)地反映軟件開發(fā)進(jìn)展情況。缺點(diǎn)是難以反映多個任務(wù)之間存在的復(fù)雜的邏輯關(guān)系。時標(biāo)網(wǎng)狀圖克服了甘特圖的缺點(diǎn),用具有時標(biāo)的網(wǎng)狀圖來表示各個任務(wù)的分解情況,以及各個子任務(wù)之間在進(jìn)度上的邏輯依賴關(guān)系(參看下圖)。時標(biāo)網(wǎng)狀圖中的箭頭(直線、折線)表示各任務(wù)間的(先決)依賴關(guān)系;箭頭上的名字表示任務(wù)代號;箭頭的水平長度表示完成該任務(wù)的時間;而圓圈表示一個任務(wù)結(jié)束、另一個任務(wù)開始的事件。PERT圖也叫做計(jì)劃評審技術(shù),它采用網(wǎng)絡(luò)圖來描述一個項(xiàng)目的任務(wù)網(wǎng)絡(luò)。不僅可以表達(dá)子任務(wù)的計(jì)劃安排,還可以在任務(wù)計(jì)劃執(zhí)行過程中估計(jì)任務(wù)完成的情況,分析某些子任務(wù)完成情況對全局的影響,找出影響全局的區(qū)域和關(guān)鍵子任務(wù),以便及時采取措施,確保整個項(xiàng)目的完成。在PERT圖中,用箭頭表示任務(wù)或子任務(wù),箭頭上附帶的數(shù)字表示完成任務(wù)所需的時間;圓形結(jié)點(diǎn)表示事件,每一事件標(biāo)明某些任務(wù)都已完成,下面另外一些任務(wù)將要開始?!?-10】A.②,B.③,C.⑥,D.③,E.④,F.①。其中,A、B、C答案順序可互換。 在建立項(xiàng)目組織時應(yīng)注意到以下原則:盡早落實(shí)責(zé)任:在軟件項(xiàng)目工作的開始,要盡早指定專人負(fù)責(zé)。使他有權(quán)進(jìn)行管理,并對任務(wù)的完成負(fù)全責(zé)。減少接口:在開發(fā)過程中,人與人之間的聯(lián)系是必不可少的,存在著通信路徑。一個組織的生產(chǎn)率是和完成任務(wù)中存在的通信路徑數(shù)目是相互抵觸的。因此,要有合理的人員分工、好的組織結(jié)構(gòu)、有效的通信,減少不必要的生產(chǎn)率的損失。責(zé)權(quán)均衡:軟件經(jīng)理人員所負(fù)的責(zé)任不應(yīng)比委任給他的權(quán)力還大。通常有三種組織結(jié)構(gòu)的模式可供選擇:按課題劃分的模式:把軟件開發(fā)人員按課題組成小組,小組成員自始至終參加所承擔(dān)課題的各項(xiàng)任務(wù)。他們應(yīng)負(fù)責(zé)完成軟件產(chǎn)品的定義、設(shè)計(jì)、實(shí)現(xiàn)、測試、復(fù)查、文檔編制、甚至包括維護(hù)在內(nèi)的全過程。按職能劃分的模式:把參加開發(fā)項(xiàng)目的軟件人員按任務(wù)的工作階段劃分成若干個專業(yè)小組。要開發(fā)的軟件產(chǎn)品在每個專業(yè)小組完成階段加工(即工序)以后,沿工序流水線向下傳遞。例如,分別建立計(jì)劃組、需求分析組、設(shè)計(jì)組、實(shí)現(xiàn)組、系統(tǒng)測試組、質(zhì)量保證組、維護(hù)組等。各種文檔資料按工序在各組之間傳遞。這種模式在小組之間的聯(lián)系形成的接口較多,但便于軟件人員熟悉小組的工作,進(jìn)而變成這方面的專家。矩陣形模式:這種模式實(shí)際上是以上兩種模式的復(fù)合。一方面,按工作性質(zhì),成立一些專門組,如開發(fā)組、業(yè)務(wù)組、測試組等;另一方面,每一個項(xiàng)目又有它的經(jīng)理人員負(fù)責(zé)管理。每個軟件人員屬于某一個專門組,又參加某一項(xiàng)目的工作?!?-11】A.②,B.④,C.③,D.②,E.①。 軟件開發(fā)小組的主要目的是發(fā)揮集體的力量進(jìn)行軟件研制。因此,小組培養(yǎng)從“全局”的觀點(diǎn)出發(fā)進(jìn)行程序設(shè)計(jì),消除軟件的“個人”性質(zhì),并促進(jìn)更充分的復(fù)審,小組提倡在共同工作中互相學(xué)習(xí)從而改善軟件的質(zhì)量。小組內(nèi)部人員的組織形式對生產(chǎn)率也有影響?,F(xiàn)有的組織形式有三種。①主程序員制小組:突出了主程序員的領(lǐng)導(dǎo),強(qiáng)調(diào)主程序員與其他技術(shù)人員的直接聯(lián)系,簡化了人際通信。這種集中領(lǐng)導(dǎo)的組織形式能否取得好的效果,很大程度上取決于主程序員的技術(shù)水平和管理才能。美國的軟件產(chǎn)業(yè)中大多是主程序員制的工作方式。②民主制小組:組內(nèi)成員之間可以平等地交換意見,工作目標(biāo)的制定及做出決定都由全體成員參加。這種組織形式強(qiáng)調(diào)發(fā)揮小組每個成員的積極性,要求每個成員充分發(fā)揮主動精神和協(xié)作精神。有人認(rèn)為這種組織形式適合于研制時間長、開發(fā)難度大的項(xiàng)目。日本在發(fā)展計(jì)算機(jī)事業(yè)中,組織軟件開發(fā)大多采用這種形式的開發(fā)小組,取得了很好的效果。③層次式小組:這種結(jié)構(gòu)比較適合項(xiàng)目本身就是層次結(jié)構(gòu)狀的課題。因?yàn)檫@樣可以把項(xiàng)目按功能劃分成若干個子項(xiàng)目,把子項(xiàng)目分配給基層小組,由基層小組完成?;鶎有〗M的領(lǐng)導(dǎo)與項(xiàng)目負(fù)責(zé)人直接聯(lián)系。這種組織方式比較適合于大型軟件項(xiàng)目的開發(fā)。以上三種組織形式可以根據(jù)實(shí)際情況,組合起來靈活運(yùn)用。例如,較大的軟件項(xiàng)目也許是把主程序員小組組織成層次式結(jié)構(gòu);也許基層小組的領(lǐng)導(dǎo)又是一個民主制小組的成員?!纠?】軟件產(chǎn)品質(zhì)量是生產(chǎn)者和用戶都十分關(guān)心的問題,早期的質(zhì)量管理只看到產(chǎn)品的質(zhì)量,近年來質(zhì)量管理向(A)發(fā)展,一個重要的基本假設(shè)是(B)直接影響(C)。這一假設(shè)最初是根據(jù)制造業(yè)情況作出的。(D)自然就會得到高質(zhì)量的產(chǎn)品。(D)的思想是美國工程師戴明(W.E.Deming)提出來的,戴明等人在質(zhì)量管理中引入統(tǒng)計(jì)質(zhì)量控制的概念,以降低軟件產(chǎn)品缺陷數(shù)作為(D)的目標(biāo),請選擇合適的答案完成下面有關(guān)軟件質(zhì)量與過程的關(guān)系的示意圖。HE評價產(chǎn)品質(zhì)量HE評價產(chǎn)品質(zhì)量FF質(zhì)量是否合格質(zhì)量是否合格GG供選擇的答案:AD. ①過程的質(zhì)量 ②產(chǎn)品的質(zhì)量 ③產(chǎn)品質(zhì)量的控制 ④過程質(zhì)量的控制 ⑤過程的改進(jìn) ⑥產(chǎn)品的改進(jìn)⑦技術(shù)的革新EH. ①定義過程 ②將過程標(biāo)準(zhǔn)化 ③開發(fā)產(chǎn)品④改進(jìn)過程 ⑤質(zhì)量控制答案:A.④, B.①, C.②, D.⑤ E.③F.④G.②H.①分析:軟件產(chǎn)品質(zhì)量是生產(chǎn)者和用戶都十分關(guān)心的問題,早期的質(zhì)量管理只看到產(chǎn)品的質(zhì)量,實(shí)行的是最終產(chǎn)品檢驗(yàn)的方法,對質(zhì)量進(jìn)行控制。把不合格的產(chǎn)品挑揀出來報(bào)廢或返工后,得到的產(chǎn)品就是合格的。近年來質(zhì)量管理向過程質(zhì)量的控制方向發(fā)展,一個重要的基本假設(shè)是開發(fā)過程的質(zhì)量直接影響交付產(chǎn)品的質(zhì)量。這一假設(shè)最初是根據(jù)制造業(yè)情況作出的。因?yàn)樵谥圃鞓I(yè)中,產(chǎn)品的質(zhì)量與生產(chǎn)過程有著十分密切的關(guān)系,過程的改進(jìn)自然就會得到高質(zhì)量的產(chǎn)品。過程改進(jìn)的思想是美國工程師戴明(W.E.Deming)提出來的。二次大戰(zhàn)后他到日本工作,在他的指導(dǎo)下,日本產(chǎn)業(yè)界一直堅(jiān)持不斷地改進(jìn)過程,取得了很好的效果。戴明等人在質(zhì)量管理中引入統(tǒng)計(jì)質(zhì)量控制的概念。這一概念的基礎(chǔ)是在產(chǎn)品缺陷數(shù)和過程之間建立聯(lián)系,以降低產(chǎn)品缺陷數(shù)作為過程改進(jìn)的目標(biāo)。過程改進(jìn)直到過程成為可以重復(fù)的為止,就是說,直到過程的結(jié)果成為預(yù)期的為止。這時,產(chǎn)品的缺陷數(shù)就降下來了,然后再將過程標(biāo)準(zhǔn)化,這時下一步的改進(jìn)又開始了。產(chǎn)品質(zhì)量與過程的關(guān)系的示意圖如下。評價產(chǎn)品質(zhì)量評價產(chǎn)品質(zhì)量定義過程質(zhì)量是否合格定義過程質(zhì)量是否合格開發(fā)產(chǎn)品開發(fā)產(chǎn)品改進(jìn)過程改進(jìn)過程將過程標(biāo)準(zhǔn)化將過程標(biāo)準(zhǔn)化【例2】國際標(biāo)準(zhǔn)化組織和國際電工委員會于1991年發(fā)布了關(guān)于軟件質(zhì)量的標(biāo)準(zhǔn)ISO∕IEC9126―1991。我國于1996年將其等同采用,成為國家標(biāo)準(zhǔn)GB∕T16260―1996《軟件產(chǎn)品評價、質(zhì)量特性及其使用指南》。在此標(biāo)準(zhǔn)中規(guī)定了6個質(zhì)量特性及相關(guān)的(A)個質(zhì)量子特性。質(zhì)量特性包括(B)、(C)、(D)、效率、可維護(hù)性和可移植性等。準(zhǔn)確性屬于(B),容錯性屬于(C),易學(xué)習(xí)性屬于(D)。供選擇的答案:A. ①12 ②16 ③21 ④22BD.①可靠性 ②適應(yīng)性 ③可使用性 ④安全性 ⑤一致性 ⑥功能性 ⑦依從性 ⑧互操作性⑨時間特性 ⑩資源特性答案:A.③,B.⑥,C.①,D.③分析:在ISO∕IEC9126―1991中規(guī)定了6個質(zhì)量特性及相關(guān)的21個質(zhì)量子特性。如下表所示。這些特性的規(guī)定是基于用戶的觀點(diǎn)的。功能性與一組功能及其指定的性質(zhì)的存在有關(guān)的一組屬性。功能是指能滿足規(guī)定或隱含需求的那些功能。適合性與對規(guī)定任務(wù)能否提供一組功能以及這組功能能否適合有關(guān)的軟件屬性。準(zhǔn)確性與能否得到正確的或相符的結(jié)果或效果有關(guān)的軟件屬性?;ゲ僮餍耘c同其它指定系統(tǒng)進(jìn)行交互操作的能力有關(guān)的軟件屬性。依從性使軟件服從有關(guān)的標(biāo)準(zhǔn)、約定、法規(guī)及類似規(guī)定的軟件屬性。安全性與避免對程序及數(shù)據(jù)的非授權(quán)故意或意外訪問的能力有關(guān)的軟件屬性??煽啃耘c在規(guī)定的一段時間內(nèi)和規(guī)定的條件下,軟件維持其性能水平有關(guān)的能力。成熟性與由軟件故障引起失效的頻度有關(guān)的軟件屬性。容錯性與在軟件錯誤或違反指定接口情況下,維持指定的性能水平的能力有關(guān)的軟件屬性。易恢復(fù)性與在故障發(fā)生后重新建立其性能水平并恢復(fù)直接受影響數(shù)據(jù)的能力,以及為達(dá)此目的所需的時間和有關(guān)的軟件屬性??墒褂眯耘c為使用所需的努力和由一組規(guī)定的或隱含的用戶對如此使用所做的評價有關(guān)的一組屬性。易理解性與用戶為理解邏輯概念及其應(yīng)用性所需努力有關(guān)的軟件屬性。易學(xué)習(xí)性與用戶為學(xué)習(xí)其應(yīng)用(例如操作控制、輸入、輸出)所需努力有關(guān)的軟件屬性。易操作性與用戶為進(jìn)行操作或操作控制所需努力有關(guān)的軟件屬性。效率與在規(guī)定條件下,軟件的性能水平與所用資源量之間的關(guān)系有關(guān)的一組屬性。時間特性與響應(yīng)和處理時間以及軟件執(zhí)行其功能時的吞吐量有關(guān)的軟件屬性。資源特性與軟件執(zhí)行其功能時所使用的資源量以及使用資源的持續(xù)時間有關(guān)的軟件屬性??删S護(hù)性與進(jìn)行規(guī)定的修改所需努力有關(guān)的一組屬性。易分析性與為診斷缺陷或失效原因,或?yàn)榕卸ù薷牡牟糠炙枧τ嘘P(guān)的軟件屬性。易變更性與進(jìn)行修改、調(diào)試或適應(yīng)環(huán)境變化所需努力有關(guān)的軟件屬性。穩(wěn)定性與修改造成未預(yù)料后果的風(fēng)險有關(guān)的軟件屬性。易測試性為確認(rèn)經(jīng)修改軟件所需努力有關(guān)的軟件屬性??梢浦残耘c軟件從一種環(huán)境轉(zhuǎn)移到另一環(huán)境的能力有關(guān)的一組屬性。適應(yīng)性與一軟件無需采用有別于為該軟件準(zhǔn)備的處理和手段就能適應(yīng)規(guī)定的環(huán)境有關(guān)的軟件屬性。易安裝性與在指定環(huán)境下安裝軟件所需努力有關(guān)的軟件屬性。遵循性使軟件服從與可移植性有關(guān)的標(biāo)準(zhǔn)或約定的軟件屬性。易替換性與一軟件在該軟件環(huán)境中用來替代指定的其它軟件的可能和努力有關(guān)的軟件屬性?!纠?】一個軟件產(chǎn)品開發(fā)完成投入使用后,常常由于各種原因需要對它做適當(dāng)?shù)淖兏?。在軟件的使用過程中,軟件原來的(A)可能不再適應(yīng)用戶的要求,需要進(jìn)行變更;軟件的工作環(huán)境也可能發(fā)生變化,最常見的是配合軟件工作的(B)有變動;還有一種情況是在軟件使用過程中發(fā)現(xiàn)錯誤,需要進(jìn)行修正。通常把軟件交付使用后做的變更稱為(C)。軟件投入使用后的另一項(xiàng)工作是(D),針對這類軟件實(shí)施的軟件工程活動,主要是對其重新實(shí)現(xiàn),使其具有更好的(E),包括軟件重構(gòu)、重寫文檔等。(D)和新的軟件開發(fā)工作的主要差別在于(H)。我們把常規(guī)的軟件開發(fā)稱為(F),而(G)是從代碼開始推導(dǎo)出設(shè)計(jì)或是規(guī)格說明來。供選擇的答案:A,B.①環(huán)境 ②軟件 ③硬件 ④功能和性能 ⑤要求C,D,F,G.①逆向工程 ②正向工程 ③軟件再工程 ④維護(hù) ⑤設(shè)計(jì)E. ①可靠性 ②可維護(hù)性 ③可移植性 ④可修改性H. ①使用的工具不同 ②開發(fā)的過程不同 ③開發(fā)的起點(diǎn)不同 ④要求不同答案:A.④,B.③,C.④,D.③,E.②,F②,G①,H③分析:一個軟件產(chǎn)品開發(fā)完成投入使用后,常常由于各種原因需要對它做適當(dāng)?shù)淖兏?。在軟件的使用過程中,軟件原來的功能和性能可能不再適應(yīng)用戶的要求,需要進(jìn)行變更;軟件的工作環(huán)境也可能發(fā)生變化,最常見的是配合軟件工作的硬件有變動;還有一種情況是在軟件使用過程中發(fā)現(xiàn)錯誤,需要進(jìn)行修正。通常把軟件交付使用后做的變更稱為維護(hù)。軟件維護(hù)是軟件生存期中的一個重要階段。軟件投入使用后的另一項(xiàng)工作是軟件再工程,它和上述的軟件維護(hù)很有關(guān)系,但不是一回事,只是近年來才受到重視。近年來,隨著計(jì)算機(jī)的普及,各產(chǎn)業(yè)部門、政府機(jī)構(gòu)等在軟件方面的投資迅速增長。幾乎所有的部門、機(jī)構(gòu)的活動都采用了計(jì)算機(jī)。但大量軟件的維護(hù)不是輕松的事,需要維護(hù)的軟件越來越多,而維護(hù)工作的開銷又大得驚人,這就使得許多機(jī)構(gòu)不可能在開發(fā)新的軟件上再投資來提高自己的工作能力。另一方面,待維護(hù)的軟件又常常是一些單位業(yè)務(wù)工作的關(guān)鍵,其中滲入了許多業(yè)務(wù)知識和工作經(jīng)驗(yàn),這些知識和經(jīng)驗(yàn)除在軟件中體現(xiàn)外并沒有其它記載。如果這些軟件是早期開發(fā)的,當(dāng)時沒有采用軟件工程技術(shù),程序結(jié)構(gòu)很差,甚至使用的是陳舊的程序設(shè)計(jì)語言,或者這些軟件的文檔已經(jīng)過時,也可能原來就極不完整,當(dāng)時的開發(fā)人員早已不知去向,使用單位沒有人能夠了解和看懂軟件內(nèi)部的細(xì)節(jié),這樣的軟件不可能對他們做維護(hù)工作。針對這類軟件實(shí)施的軟件工程活動,主要是對其重新實(shí)現(xiàn),使其具有更好的可維護(hù)性,包括軟件重構(gòu)、重寫文檔,或是改用新的編程語言,或是將其數(shù)據(jù)轉(zhuǎn)移到現(xiàn)行的數(shù)據(jù)庫管理系統(tǒng)中,或是在分布式平臺上實(shí)現(xiàn)等。軟件再工程和新的軟件開發(fā)工作的主要差別在于開發(fā)的起點(diǎn)不同。再工程工作并不是從編寫需求規(guī)格說明開始,而是將原有的軟件作為規(guī)格說明。正因?yàn)槿绱?,我們把常?guī)的軟件開發(fā)稱為正向工程,而逆向工程是從代碼開始推導(dǎo)出設(shè)計(jì)或是規(guī)格說明來。再工程的最終目標(biāo)仍然是產(chǎn)生新的、更容易維護(hù)的新系統(tǒng)。軟件代碼KGH維護(hù)要求配置【例4】軟件維護(hù)是軟件生存期的最后一個階段。軟件工程學(xué)針對維護(hù)工作的主要目標(biāo)是提高(A),降低(B)。軟件的(C)、(D)、(E)是決定軟件可維護(hù)性的基本因素。軟件生存期(F)的工作與軟件可維護(hù)性有密切的關(guān)系。軟件代碼KGH維護(hù)要求配置IL? 右圖為結(jié)構(gòu)化維護(hù)和非結(jié)構(gòu)化維護(hù)的對比,請選擇合適的答案填入圖中。IL?JIJ供選擇的答案:JIJA,B.①軟件的生產(chǎn)率 ②文檔 ③軟件的可靠性 交付使用 ④軟件的可維護(hù)性 ⑤維護(hù)的代價交付使用 ⑥維護(hù)的效率 C,D,E. ①可測試性 ②互操作性 ③可理解性 ④可修改性 ⑤可復(fù)用性 ⑥可管理性F. ①編碼階段 ②設(shè)計(jì)階段 ③測試階段 ④每個階段GL.①

溫馨提示

  • 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

提交評論