軟件度量模板課件_第1頁
軟件度量模板課件_第2頁
軟件度量模板課件_第3頁
軟件度量模板課件_第4頁
軟件度量模板課件_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件度量xx1感謝你的觀看2019年7月1軟件度量xx1感謝你的觀看2019年7月1度量進(jìn)行度量工作,是為了了解產(chǎn)品開發(fā)的技術(shù)過程和產(chǎn)品本身。

度量開發(fā)過程的目的是為了改進(jìn)過程,度量產(chǎn)品的目的是為了提高產(chǎn)品的質(zhì)量。度量的作用是為了有效地定量地進(jìn)行管理。2感謝你的觀看2019年7月1度量進(jìn)行度量工作,是為了了解產(chǎn)品開發(fā)的技術(shù)過程和產(chǎn)品本身。2為有效地度量,常常需要考慮:對(duì)于過程和產(chǎn)品,

合適的度量是什么?所收集的數(shù)據(jù)如何使用?用于比較個(gè)人、過程或產(chǎn)品的度量是否合理?管理人員和技術(shù)人員可利用這些度量來了解軟件工程過程的實(shí)際情況和它所生產(chǎn)的產(chǎn)品質(zhì)量。3感謝你的觀看2019年7月1為有效地度量,常常需要考慮:對(duì)于過程和產(chǎn)品,3感謝你的觀看2估算在軟件項(xiàng)目管理過程中關(guān)鍵的活動(dòng)就是制定項(xiàng)目計(jì)劃。在做計(jì)劃時(shí)必須就需要的人力(以人月為單位)、項(xiàng)目持續(xù)時(shí)間(以年份或月份為單位)、成本(以元為單位)做出估算。這種估算大多是利用以前的花費(fèi)做為參考而做出的。4感謝你的觀看2019年7月1估算在軟件項(xiàng)目管理過程中關(guān)鍵的活動(dòng)就是制定項(xiàng)目計(jì)劃。4感謝你如果新項(xiàng)目與以前的一個(gè)項(xiàng)目在大小上和功能上十分類似,則新項(xiàng)目需要工作量、開發(fā)持續(xù)時(shí)間、成本大致與那個(gè)老項(xiàng)目相同。假使項(xiàng)目背景完全生疏,只憑過去的經(jīng)驗(yàn)做出估算可能就不夠了?,F(xiàn)在已有了許多用于軟件開發(fā)的估算技術(shù)。其共同特點(diǎn)是:5感謝你的觀看2019年7月1如果新項(xiàng)目與以前的一個(gè)項(xiàng)目在大小上和功能上十分類似,則新項(xiàng)目

事先建立軟件范圍以軟件度量(以往的度量)為基礎(chǔ),以做出估算項(xiàng)目被分解為可單獨(dú)進(jìn)行估算的小塊管理人員大多使用不止一種估算技術(shù),并用一種估算技術(shù)做為另一種估算技術(shù)的交叉檢查。6感謝你的觀看2019年7月1事先建立軟件范圍6感謝你的觀看2019年7月1風(fēng)險(xiǎn)分析每當(dāng)新建一個(gè)程序時(shí),總是存在某些不確定性。用戶要求是否能確切地被理解?在項(xiàng)目最后結(jié)束之前要求實(shí)現(xiàn)的功能能否建立?是否存在目前仍未發(fā)現(xiàn)的技術(shù)難題?在項(xiàng)目出現(xiàn)嚴(yán)重誤期時(shí)是否會(huì)發(fā)生一些變更?等等。7感謝你的觀看2019年7月1風(fēng)險(xiǎn)分析每當(dāng)新建一個(gè)程序時(shí),總是存在某些不確定性。7感謝你的風(fēng)險(xiǎn)分析對(duì)于軟件項(xiàng)目管理是決定性的,然而現(xiàn)在還有許多項(xiàng)目不考慮風(fēng)險(xiǎn)就著手進(jìn)行。所謂風(fēng)險(xiǎn)分析實(shí)際上就是一系列風(fēng)險(xiǎn)管理步驟,其中包括風(fēng)險(xiǎn)識(shí)別、風(fēng)險(xiǎn)估計(jì)、風(fēng)險(xiǎn)優(yōu)化、風(fēng)險(xiǎn)管理策略、風(fēng)險(xiǎn)解決和風(fēng)險(xiǎn)監(jiān)督。這些步驟貫穿在軟件工程過程中。8感謝你的觀看2019年7月1風(fēng)險(xiǎn)分析對(duì)于軟件項(xiàng)目管理是決定性的,然而現(xiàn)在還有許多項(xiàng)目不考進(jìn)度安排每一個(gè)軟件項(xiàng)目都要求制定一個(gè)進(jìn)度安排,但不是所有的進(jìn)度都得一樣安排。對(duì)于進(jìn)度安排,需要考慮的是:預(yù)先對(duì)進(jìn)度如何計(jì)劃?工作怎樣就位?如何識(shí)別定義好的任務(wù)?管理人員對(duì)結(jié)束時(shí)間如何掌握?9感謝你的觀看2019年7月1進(jìn)度安排每一個(gè)軟件項(xiàng)目都要求制定一個(gè)進(jìn)度安排,但不是所有的進(jìn)

如何識(shí)別和監(jiān)控關(guān)鍵路徑以確保結(jié)束?對(duì)進(jìn)展如何度量?如何建立分隔任務(wù)的里程碑。軟件項(xiàng)目的進(jìn)度安排與任一個(gè)工程項(xiàng)目的進(jìn)度安排基本相同。首先識(shí)別一組項(xiàng)目任務(wù),再建立任務(wù)之間的相互關(guān)聯(lián),然后估算各個(gè)任務(wù)的工作量,分配人力和其它資源,制定進(jìn)度時(shí)序。10感謝你的觀看2019年7月1如何識(shí)別和監(jiān)控關(guān)鍵路徑以確保結(jié)束?10感謝你的觀看2019追蹤和控制一旦建立了開發(fā)進(jìn)度安排,就可以開始著手追蹤和控制活動(dòng)。由項(xiàng)目管理人員負(fù)責(zé)追蹤在進(jìn)度安排中標(biāo)明的每一個(gè)任務(wù)。如果任務(wù)實(shí)際完成日期滯后于進(jìn)度安排,則管理人員可以使用一種自動(dòng)的項(xiàng)目進(jìn)度安排工具來確定在項(xiàng)目的中間里程碑上進(jìn)度誤期所造成的影響。11感謝你的觀看2019年7月1追蹤和控制一旦建立了開發(fā)進(jìn)度安排,就可以開始著手追蹤和控制活還可對(duì)資源重新定向?qū)θ蝿?wù)重新安排(做為最壞的結(jié)果)可以修改交付日期以調(diào)整已經(jīng)暴露的問題。用這種方式可以較好地控制軟件的開發(fā)。12感謝你的觀看2019年7月1還可對(duì)資源重新定向12感謝你的觀看2019年7月1軟件生產(chǎn)率和質(zhì)量的度量生產(chǎn)率與質(zhì)量的度量是以投入工作量為依據(jù)的軟件開發(fā)活動(dòng)的度量和開發(fā)成果質(zhì)量的度量。

為什么要對(duì)軟件進(jìn)行度量

面向規(guī)模的度量

面向功能的度量

軟件質(zhì)量的度量

在軟件工程過程中使用度量13感謝你的觀看2019年7月1軟件生產(chǎn)率和質(zhì)量的度量生產(chǎn)率與質(zhì)量的度量是以投入工作量為依據(jù)為什么要對(duì)軟件進(jìn)行度量①表明軟件產(chǎn)品的質(zhì)量;②

弄清軟件開發(fā)人員的生產(chǎn)率;③給出使用了新的軟件工程方法和工具所得到的(在生產(chǎn)率和質(zhì)量?jī)煞矫妫┑男б?;④建立?xiàng)目估算的“基線”;⑤幫助調(diào)整對(duì)新的工具和附加培訓(xùn)的要求。14感謝你的觀看2019年7月1為什么要對(duì)軟件進(jìn)行度量①表明軟件產(chǎn)品的質(zhì)量;14感謝你的觀度量的方式

在物理世界中的度量有兩種方式。

直接度量(例如,度量一個(gè)螺栓的長(zhǎng)度);間接度量(例如,用次品率來度量生產(chǎn)出的螺栓質(zhì)量)。軟件度量也同樣分為兩類:直接度量與間接度量。15感謝你的觀看2019年7月1度量的方式在物理世界中的度量有兩種方式。15感謝你的觀看2軟件工程過程的直接度量包括所投入的成本和工作量。軟件產(chǎn)品的直接度量包括產(chǎn)生的代碼行數(shù)(LOC)、執(zhí)行速度、存儲(chǔ)量大小、在某種時(shí)間周期中所報(bào)告的差錯(cuò)數(shù)。軟件產(chǎn)品的間接度量包括功能性、復(fù)雜性、效率、可靠性、可維護(hù)性和許多其它的質(zhì)量特性。16感謝你的觀看2019年7月1軟件工程過程的直接度量包括所投入的成本和工作量。16感謝你的只要事先建立特定的度量規(guī)程,很容易做到直接度量軟件所需要的成本和工作量、產(chǎn)生的代碼行數(shù)等。軟件的功能性、效率、可維護(hù)性等質(zhì)量特性卻很難用直接度量判明,只有通過間接度量才能推斷。17感謝你的觀看2019年7月1只要事先建立特定的度量規(guī)程,很容易做到直接度量軟件所需要的成軟件度量域的分類18感謝你的觀看2019年7月1軟件度量域的分類18感謝你的觀看2019年7月1軟件生產(chǎn)率度量的焦點(diǎn)集中在軟件工程過程的輸出;軟件質(zhì)量度量則指明了軟件適應(yīng)明確和不明確的用戶要求到什么程度;技術(shù)度量的焦點(diǎn)則集中在軟件的某些特性(如邏輯復(fù)雜性、模塊化程度)上而不是軟件開發(fā)的全過程。19感謝你的觀看2019年7月1軟件生產(chǎn)率度量的焦點(diǎn)集中在軟件工程過程的輸出;19感謝你的觀另一種分類方法面向規(guī)模的的度量用于收集與直接度量有關(guān)的軟件工程輸出的信息和質(zhì)量信息。面向功能的度量提供直接度量的尺度。面向人的度量則收集有關(guān)人們開發(fā)計(jì)算機(jī)軟件所用方式的信息和人們理解有關(guān)工具和方法的效率的信息。20感謝你的觀看2019年7月1另一種分類方法面向規(guī)模的的度量用于收集與直接度量有關(guān)的軟件工面向規(guī)模的度量面向規(guī)模的度量是對(duì)軟件和軟件開發(fā)過程的直接度量??梢越⒁粋€(gè)面向規(guī)模的數(shù)據(jù)表格來記錄項(xiàng)目的某些信息。該表格列出了在過去幾年完成的每一個(gè)軟件開發(fā)項(xiàng)目和關(guān)于這些項(xiàng)目的相應(yīng)面向規(guī)模的數(shù)據(jù)。21感謝你的觀看2019年7月1面向規(guī)模的度量面向規(guī)模的度量是對(duì)軟件和軟件開發(fā)過程的直接度量面向規(guī)模的數(shù)據(jù)表格22感謝你的觀看2019年7月1面向規(guī)模的數(shù)據(jù)表格22感謝你的觀看2019年7月1項(xiàng)目aaa-01

規(guī)模為114.1KLOC(千代碼行)工作量用了24個(gè)人月成本為168,000元文檔頁數(shù)為365

在交付用戶使用后第一年內(nèi)發(fā)現(xiàn)了29個(gè)錯(cuò)誤,有3個(gè)人參加了項(xiàng)目aaa-01的軟件開發(fā)工作。23感謝你的觀看2019年7月1項(xiàng)目aaa-0123感謝你的觀看2019年7月1需要注意的是,在表格中記載的工作量和成本是整個(gè)軟件工程的活動(dòng)(分析、設(shè)計(jì)、編碼和測(cè)試),而不僅僅是編碼活動(dòng)。對(duì)于每一個(gè)項(xiàng)目,可以根據(jù)表格中列出的基本數(shù)據(jù)計(jì)算簡(jiǎn)單的面向規(guī)模的生產(chǎn)率和質(zhì)量的度量。24感謝你的觀看2019年7月1需要注意的是,在表格中記載的工作量和成本是整個(gè)軟件工程的活動(dòng)根據(jù)數(shù)據(jù)表格可以對(duì)所有的項(xiàng)目計(jì)算出平均值: 生產(chǎn)率=KLOC/PM(人月) 質(zhì)量=錯(cuò)誤數(shù)/KLOC

成本=元/LOC

文檔=文檔頁數(shù)/KLOC25感謝你的觀看2019年7月1根據(jù)數(shù)據(jù)表格可以對(duì)所有的項(xiàng)目計(jì)算出平均值:25感謝你的觀看2面向功能的度量面向功能的軟件度量是對(duì)軟件和軟件開發(fā)過程的間接度量。面向功能度量主要考慮程序的“功能性”和“實(shí)用性”,而不是對(duì)LOC計(jì)數(shù)。該度量是一種叫做功能點(diǎn)方法的生產(chǎn)率度量法,利用軟件信息域中的一些計(jì)數(shù)和軟件復(fù)雜性估計(jì)的經(jīng)驗(yàn)關(guān)系式而導(dǎo)出功能點(diǎn)FP。26感謝你的觀看2019年7月1面向功能的度量面向功能的軟件度量是對(duì)軟件和軟件開發(fā)過程的間接面向功能的數(shù)據(jù)表格27感謝你的觀看2019年7月1面向功能的數(shù)據(jù)表格27感謝你的觀看2019年7月1功能點(diǎn)計(jì)算確定五個(gè)信息域的特征,并在表格中相應(yīng)位置給出計(jì)數(shù)。

(1)用戶輸入數(shù):各個(gè)用戶輸入是面向不同應(yīng)用的輸入數(shù)據(jù)。

(2)用戶輸出數(shù):各個(gè)用戶輸出是面向應(yīng)用的輸出信息,包括報(bào)告,屏幕信息,錯(cuò)誤信息等。在報(bào)告中的各個(gè)數(shù)據(jù)項(xiàng)不應(yīng)再分別計(jì)數(shù)。28感謝你的觀看2019年7月1功能點(diǎn)計(jì)算確定五個(gè)信息域的特征,并在表格中相應(yīng)位置給出計(jì)數(shù)。 (3)用戶查詢數(shù):查詢是一種聯(lián)機(jī)的交互操作,每次詢問/響應(yīng)具備應(yīng)計(jì)數(shù)。

(4)文件數(shù):每一個(gè)邏輯主文件都應(yīng)計(jì)數(shù)。邏輯主文件是指邏輯上的一組數(shù)據(jù),可以是一個(gè)大數(shù)據(jù)庫的一部分,可以是一個(gè)單獨(dú)的文件。

(5)外部接口數(shù):與系統(tǒng)中其他設(shè)備通過外部接口讀寫信息次數(shù)均應(yīng)計(jì)數(shù)。29感謝你的觀看2019年7月1 (3)用戶查詢數(shù):查詢是一種聯(lián)機(jī)的交互操作,每次詢問/響一旦收集到上述數(shù)據(jù),就可以計(jì)算出與每一個(gè)計(jì)數(shù)相關(guān)的復(fù)雜性值。一個(gè)信息域是簡(jiǎn)單的、平均的還是復(fù)雜的,由使用功能點(diǎn)方法的機(jī)構(gòu)自行確定,從而計(jì)算出加權(quán)計(jì)數(shù)。計(jì)算功能點(diǎn),使用如下的關(guān)系式:

FP=總計(jì)數(shù)×(0.65+

+0.01×SUM(Fi))總計(jì)數(shù)是所有加權(quán)計(jì)數(shù)項(xiàng)的和30感謝你的觀看2019年7月1一旦收集到上述數(shù)據(jù),就可以計(jì)算出與每一個(gè)計(jì)數(shù)相關(guān)的復(fù)雜性值。Fi(i=1..14)是復(fù)雜性校正值,它們應(yīng)通過逐一回答如下提問來確定。Fi的取值0..5:

0沒有影響 1偶然的

2適中的 3普通的

4重要的 5極重要的SUM(Fi)是求和函數(shù)。31感謝你的觀看2019年7月1Fi(i=1..14)是復(fù)雜性校正值,它們應(yīng)通過逐一回答如下復(fù)雜性校正值Fi1.系統(tǒng)是否需要可靠的備份和恢復(fù)?2.是否需要數(shù)據(jù)通信?3.是否有分布處理的功能?4.是否性能成為關(guān)鍵?5.系統(tǒng)是否運(yùn)行在既存的高度實(shí)用化的操作環(huán)境中?6.系統(tǒng)是否需要聯(lián)機(jī)數(shù)據(jù)項(xiàng)?7.聯(lián)機(jī)數(shù)據(jù)項(xiàng)是否需要建立多重窗口32感謝你的觀看2019年7月1復(fù)雜性校正值Fi1.系統(tǒng)是否需要可靠的備份和恢復(fù)?32感

顯示和操作,以處理輸入處理。8.主文件是否聯(lián)機(jī)更新?9.輸入、輸出、文件、查詢是否復(fù)雜?10.內(nèi)部處理過程是否復(fù)雜?11.程序代碼是否可復(fù)用?12.設(shè)計(jì)中是否包括了轉(zhuǎn)移和安裝?13.系統(tǒng)是否設(shè)計(jì)成可以重復(fù)安裝在不同機(jī)構(gòu)中14.系統(tǒng)是否設(shè)計(jì)成易修改和易使用?33感謝你的觀看2019年7月1顯示和操作,以處理輸入處理。33感謝你的觀看2019一旦計(jì)算出功能點(diǎn),就可仿照LOC的方式度量軟件的生產(chǎn)率、質(zhì)量和其它屬性: 生產(chǎn)率=FP/PM(人月) 質(zhì)量=錯(cuò)誤數(shù)/FP

成本=元/FP

文檔=文檔頁數(shù)/FP34感謝你的觀看2019年7月1一旦計(jì)算出功能點(diǎn),就可仿照LOC的方式度量軟件的生產(chǎn)率、質(zhì)量功能點(diǎn)度量是為了商用信息系統(tǒng)應(yīng)用而設(shè)計(jì)的。特征點(diǎn)度量(FeaturePoints)可以用于系統(tǒng)和工程軟件應(yīng)用特征點(diǎn)度量適合于算法復(fù)雜性高的應(yīng)用。而實(shí)時(shí)處理、過程控制、嵌入式軟件應(yīng)用的算法復(fù)雜性都偏高,因此適合于特征點(diǎn)度量。35感謝你的觀看2019年7月1功能點(diǎn)度量是為了商用信息系統(tǒng)應(yīng)用而設(shè)計(jì)的。35感謝你的觀看2為了計(jì)算特征點(diǎn),可以象功能點(diǎn)計(jì)算那樣,對(duì)信息域值進(jìn)行計(jì)數(shù)和加權(quán)。此外,特征點(diǎn)度量要對(duì)一個(gè)新的軟件特征“算法”進(jìn)行計(jì)數(shù)。計(jì)算特征點(diǎn)可使用一個(gè)計(jì)算表格。對(duì)于每一個(gè)度量參數(shù)只使用一個(gè)權(quán)值,并且使用FP=總計(jì)數(shù)×(0.65+0.01×SUM(Fi))

來計(jì)算總的特征點(diǎn)值。36感謝你的觀看2019年7月1為了計(jì)算特征點(diǎn),可以象功能點(diǎn)計(jì)算那樣,對(duì)信息域值進(jìn)行計(jì)數(shù)和加特征點(diǎn)度量計(jì)算表格37感謝你的觀看2019年7月1特征點(diǎn)度量計(jì)算表格37感謝你的觀看2019年7月1軟件質(zhì)量的度量質(zhì)量度量貫穿于軟件工程的全過程中以及軟件交付用戶使用之后。在軟件交付之前得到的度量可作為判斷設(shè)計(jì)和測(cè)試質(zhì)量好壞的依據(jù)。這一類度量包括程序復(fù)雜性、有效的模塊性和總的程序規(guī)模。在軟件交付之后的度量則把注意力集中于還未發(fā)現(xiàn)的差錯(cuò)數(shù)和系統(tǒng)的可維護(hù)性方面。38感謝你的觀看2019年7月1軟件質(zhì)量的度量質(zhì)量度量貫穿于軟件工程的全過程中以及軟件交付用使用得最廣泛軟件質(zhì)量的事后度量包括正確性、可維護(hù)性、完整性和可使用性。

(1)正確性:一個(gè)程序必須正確地運(yùn)行,并為它的用戶提供某些輸出。正確性要求軟件執(zhí)行所要求的功能。正確性的度量是每千代碼行(KLOC)的差錯(cuò)數(shù),其中將差錯(cuò)定義為已被證實(shí)是不符合需求的缺陷。39感謝你的觀看2019年7月1使用得最廣泛軟件質(zhì)量的事后度量包括正確性、可維護(hù)性、完整性和 (2)可維護(hù)性:軟件維護(hù)比其它的軟件工程活動(dòng)需要更多的工作量。還沒有一種方法可以直接度量可維護(hù)性,因此必須采取間接度量。 有一種簡(jiǎn)單的面向時(shí)間的度量,叫做平均變更等待時(shí)間MTTC。 這個(gè)時(shí)間包括分析變更要求、設(shè)計(jì)適當(dāng)?shù)男薷?、?shí)現(xiàn)變更并測(cè)試、及把變更發(fā)送給所有的用戶。 一個(gè)可維護(hù)的程序與不可維護(hù)的程序相比,應(yīng)有較低的MTTC。 40感謝你的觀看2019年7月1 (2)可維護(hù)性:軟件維護(hù)比其它的軟件工程活動(dòng)需要更多的工 (3)完整性:完整性度量一個(gè)系統(tǒng)抗拒對(duì)它的安全性攻擊(事故的和人為的)的能力。軟件的所有三個(gè)成分程序、數(shù)據(jù)和文檔都會(huì)遭到攻擊。 度量完整性,需要定義兩個(gè)附加的屬性:危險(xiǎn)性和安全性。 危險(xiǎn)性是特定類型的攻擊將在一給定時(shí)間內(nèi)發(fā)生的概率,安全性是排除特定類型攻擊的概率。41感謝你的觀看2019年7月1 (3)完整性:完整性度量一個(gè)系統(tǒng)抗拒對(duì)它的安全性攻擊(事一個(gè)系統(tǒng)的完整性可定義為完整性=∑(1-危險(xiǎn)性×(1-安全性))

其中,對(duì)每一個(gè)攻擊的危險(xiǎn)性和安全性都進(jìn)行累加。(4)可使用性:如果一個(gè)程序不具有“用戶友好性”,即使它所執(zhí)行的功能很有價(jià)值,也常常會(huì)失敗??墒褂眯粤炕坝脩粲押眯浴?,并依據(jù)以下四個(gè)特征進(jìn)行度量:42感謝你的觀看2019年7月1一個(gè)系統(tǒng)的完整性可定義為完整性=∑(1-危險(xiǎn)性×(1-安為學(xué)習(xí)系統(tǒng)所需要的體力上的和智力上的技能;為達(dá)到適度有效使用系統(tǒng)所需要的時(shí)間;當(dāng)軟件被某些人適度有效地使用時(shí)所度量的在生產(chǎn)率方面的凈增值;用戶角度對(duì)系統(tǒng)的主觀評(píng)價(jià)(可以通過問題調(diào)查表得到)。43感謝你的觀看2019年7月1為學(xué)習(xí)系統(tǒng)所需要的體力上的和智力上的技能;43感謝你的觀看2協(xié)調(diào)不同的度量方法代碼行數(shù)和功能點(diǎn)之間的關(guān)系依賴于用來實(shí)現(xiàn)軟件的程序設(shè)計(jì)語言和設(shè)計(jì)質(zhì)量。下面給出使用各種程序設(shè)計(jì)語言建立一個(gè)功能點(diǎn)所需要的平均代碼行數(shù)的粗略估算。44感謝你的觀看2019年7月1協(xié)調(diào)不同的度量方法代碼行數(shù)和功能點(diǎn)之間的關(guān)系依賴于用來實(shí)現(xiàn)軟建立一個(gè)功能點(diǎn)所需平均代碼行數(shù)45感謝你的觀看2019年7月1建立一個(gè)功能點(diǎn)所需平均代碼行數(shù)45感謝你的觀看2019年7月影響軟件生產(chǎn)率的重要因素人的因素:軟件開發(fā)組織的規(guī)模和專長(zhǎng);問題因素:?jiǎn)栴}的復(fù)雜性和對(duì)設(shè)計(jì)限制,以及需求的變更次數(shù);過程因素:使用的分析與設(shè)計(jì)技術(shù)、語言和CASE工具的有效性,及評(píng)審技術(shù);產(chǎn)品因素:計(jì)算機(jī)系統(tǒng)的可靠性和性能;資源因素:CASE工具、硬件和軟件資源的有效性。46感謝你的觀看2019年7月1影響軟件生產(chǎn)率的重要因素人的因素:軟件開發(fā)組織的規(guī)模和專長(zhǎng);在軟件工程過程中使用度量建立基線為了將LOC和FP用于軟件估算技術(shù)中,必須建立歷史數(shù)據(jù)基線。根據(jù)歷史經(jīng)驗(yàn),在軟件工程過程的銜接處劃出一條基線,在此基線上附有一些用于度量的經(jīng)驗(yàn)?zāi)繕?biāo)信息,作為工程過程評(píng)估的依據(jù),判斷工程過程的完成是否達(dá)到預(yù)想的要求。47感謝你的觀看2019年7月1在軟件工程過程中使用度量建立基線47感謝你的觀看2019年7質(zhì)量度量數(shù)據(jù)一旦收集到,軟件開發(fā)組織就可以根據(jù)它們來調(diào)整其軟件工程項(xiàng)目,以消除那些對(duì)軟件開發(fā)有重大影響的差錯(cuò)產(chǎn)生的根源。大多數(shù)軟件開發(fā)人員都希望了解:哪些用戶需求可能會(huì)變更?系統(tǒng)中哪些模塊容易出錯(cuò)?對(duì)每一個(gè)模塊要做多少測(cè)試?在測(cè)試時(shí)能夠預(yù)計(jì)多少錯(cuò)誤?如果能收集到相關(guān)的度量數(shù)據(jù),就能確定這些問題的答案。48感謝你的觀看2019年7月1質(zhì)量度量數(shù)據(jù)一旦收集到,軟件開發(fā)組織就可以根據(jù)它們來調(diào)整其軟為了幫助計(jì)劃、成本和工作量估算,基線的數(shù)據(jù)應(yīng)當(dāng)具有下列屬性:數(shù)據(jù)必須合理、精確,應(yīng)避免單純根據(jù)以往項(xiàng)目進(jìn)行“盲目估算”;應(yīng)從盡可能多的項(xiàng)目中收集數(shù)據(jù);數(shù)據(jù)必須一致;基線數(shù)據(jù)的應(yīng)用必須與要做估算的工作類似。49感謝你的觀看2019年7月1為了幫助計(jì)劃、成本和工作量估算,基線的數(shù)據(jù)應(yīng)當(dāng)具有下列屬性:軟件項(xiàng)目的估算軟件項(xiàng)目管理過程開始于項(xiàng)目計(jì)劃。在做項(xiàng)目計(jì)劃時(shí),第一項(xiàng)活動(dòng)就是估算。在做估算時(shí)往往存在某些不確定性,使得軟件項(xiàng)目管理人員無法正常進(jìn)行管理而導(dǎo)致產(chǎn)品遲遲不能完成。現(xiàn)在已使用的實(shí)用技術(shù)是時(shí)間和工作量估算。50感謝你的觀看2019年7月1軟件項(xiàng)目的估算軟件項(xiàng)目管理過程開始于項(xiàng)目計(jì)劃。50感謝你的觀估算對(duì)風(fēng)險(xiǎn)的影響51感謝你的觀看2019年7月1估算對(duì)風(fēng)險(xiǎn)的影響51感謝你的觀看2019年7月1項(xiàng)目的復(fù)雜性對(duì)于增加軟件計(jì)劃的不確定性影響很大。復(fù)雜性越高,估算的風(fēng)險(xiǎn)就越高。項(xiàng)目的規(guī)模對(duì)于軟件估算的精確性和功效影響也比較大。隨著軟件規(guī)模的擴(kuò)大,問題分解會(huì)變得更加困難。項(xiàng)目的規(guī)模越大,開發(fā)工作量越大,估算的風(fēng)險(xiǎn)越高。52感謝你的觀看2019年7月1項(xiàng)目的復(fù)雜性對(duì)于增加軟件計(jì)劃的不確定性影響很大。復(fù)雜性越高,項(xiàng)目的結(jié)構(gòu)化程度也影響項(xiàng)目估算的風(fēng)險(xiǎn)。隨著結(jié)構(gòu)化程度的提高,進(jìn)行精確估算的能力就能提高,而風(fēng)險(xiǎn)將減少。歷史信息的有效性也影響估算的風(fēng)險(xiǎn)。對(duì)過去的項(xiàng)目進(jìn)行綜合的軟件度量,可借用來比較準(zhǔn)確地進(jìn)行估算,安排進(jìn)度以避免重走過去的彎路,而總的風(fēng)險(xiǎn)也減少了。53感謝你的觀看2019年7月1項(xiàng)目的結(jié)構(gòu)化程度也影響項(xiàng)目估算的風(fēng)險(xiǎn)。隨著結(jié)構(gòu)化程度的提高,如果對(duì)軟件項(xiàng)目的作用范圍還不十分清楚,或者用戶的要求經(jīng)常變更,都會(huì)導(dǎo)致對(duì)軟件項(xiàng)目所需資源、成本、進(jìn)度的估算頻頻變動(dòng),增加估算的風(fēng)險(xiǎn)。計(jì)劃人員應(yīng)當(dāng)要求在軟件系統(tǒng)的規(guī)格說明中給出完備的功能、性能、接口的定義。54感謝你的觀看2019年7月1如果對(duì)軟件項(xiàng)目的作用范圍還不十分清楚,或者用戶的要求經(jīng)常變更軟件項(xiàng)目計(jì)劃的目標(biāo)軟件項(xiàng)目管理人員在開發(fā)工作一開始需要進(jìn)行定量估算。軟件項(xiàng)目計(jì)劃的目標(biāo)是提供一個(gè)能使項(xiàng)目管理人員對(duì)資源、成本和進(jìn)度做出合理估算的框架。這些估算應(yīng)當(dāng)在軟件項(xiàng)目開始時(shí)的一個(gè)有限的時(shí)間段內(nèi)做出,并且隨著項(xiàng)目的進(jìn)展定期進(jìn)行更新。55感謝你的觀看2019年7月1軟件項(xiàng)目計(jì)劃的目標(biāo)軟件項(xiàng)目管理人員在開發(fā)工作一開始需要進(jìn)行定軟件的范圍軟件范圍包括功能、性能、限制、接口和可靠性。估算開始時(shí),應(yīng)對(duì)軟件的功能進(jìn)行評(píng)價(jià),對(duì)其進(jìn)行適當(dāng)?shù)募?xì)化以便提供更詳細(xì)的細(xì)節(jié)。由于成本和進(jìn)度的估算都與功能有關(guān),因此常常采用某種程度的功能分解。56感謝你的觀看2019年7月1軟件的范圍軟件范圍包括功能、性能、限制、接口和可靠性。56感性能的考慮包括處理和響應(yīng)時(shí)間的需求。約束條件則標(biāo)識(shí)產(chǎn)品成本、外部硬件、可用存儲(chǔ)或其它現(xiàn)有系統(tǒng)對(duì)軟件的限制。功能、性能和約束必須在一起進(jìn)行評(píng)價(jià)。當(dāng)性能限制不同時(shí),為實(shí)現(xiàn)同樣的功能,開發(fā)工作量可能相差一個(gè)數(shù)量級(jí)。57感謝你的觀看2019年7月1性能的考慮包括處理和響應(yīng)時(shí)間的需求。57感謝你的觀看2019還要敘述某些質(zhì)量因素(例如,給出的算法是否容易理解等)。軟件與其它系統(tǒng)元素是相互作用的。要考慮每個(gè)接口的性質(zhì)和復(fù)雜性,以確定對(duì)開發(fā)資源、成本和進(jìn)度的影響。接口的概念可解釋為:運(yùn)行軟件的硬件(如處理機(jī)與外設(shè))及間接受軟件控制的設(shè)備(如機(jī)器、顯示器);58感謝你的觀看2019年7月1還要敘述某些質(zhì)量因素(例如,給出的算法是否容易理解等)。58必須與新軟件鏈接的現(xiàn)有的軟件(如數(shù)據(jù)庫存取例程、子程序包、操作系統(tǒng));

通過終端或其它輸入/輸出設(shè)備使用該軟件的人;

該軟件運(yùn)行前后的一系列操作過程。對(duì)于每一種情況,都必須清楚地了解通過接口的信息轉(zhuǎn)換。59感謝你的觀看2019年7月1必須與新軟件鏈接的現(xiàn)有的軟件(如數(shù)據(jù)庫存取例程、子程序包、操軟件開發(fā)中的資源軟件項(xiàng)目計(jì)劃的第二個(gè)任務(wù)是對(duì)完成該軟件項(xiàng)目所需的資源進(jìn)行估算。軟件開發(fā)所需的資源有現(xiàn)成的用以支持軟件開發(fā)的工具

──硬件工具及軟件工具最基本的資源

──人60感謝你的觀看2019年7月1軟件開發(fā)中的資源軟件項(xiàng)目計(jì)劃的第二個(gè)任務(wù)是對(duì)完成該軟件項(xiàng)目所軟件開發(fā)中的資源61感謝你的觀看2019年7月1軟件開發(fā)中的資源61感謝你的觀看2019年7月1通常,對(duì)每一種資源,應(yīng)說明以下四個(gè)特性: (1)資源的描述;

(2)資源的有效性說明;

(3)資源在何時(shí)開始需要;

(4)使用資源的持續(xù)時(shí)間。最后兩個(gè)特性統(tǒng)稱為時(shí)間窗口。62感謝你的觀看2019年7月1通常,對(duì)每一種資源,應(yīng)說明以下四個(gè)特性:62感謝你的觀看201.人力資源在考慮各種軟件開發(fā)資源時(shí),人是最重要的資源。在安排開發(fā)活動(dòng)時(shí)必須考慮人員的技術(shù)水平、專業(yè)、人數(shù)、以及在開發(fā)過程各階段中對(duì)各種人員的需要。計(jì)劃人員首先估算范圍并選擇為完成開發(fā)工作所需要的技能。還要在組織和專業(yè)兩方面做出安排。63感謝你的觀看2019年7月11.人力資源在考慮各種軟件開發(fā)資源時(shí),人是最重要的資源。在對(duì)于一些規(guī)模較小的項(xiàng)目(1個(gè)人年或者更少),只要向?qū)<易鲂┳稍?,也許一個(gè)人就可以完成所有的軟件工程步驟。對(duì)一些規(guī)模較大的項(xiàng)目,在整個(gè)軟件生存期中,各種人員的參與情況是不一樣的。下面是各類不同的人員隨開發(fā)工作的進(jìn)展在軟件工程各個(gè)階段的參與情況的典型曲線。64感謝你的觀看2019年7月1對(duì)于一些規(guī)模較小的項(xiàng)目(1個(gè)人年或者更少),只要向?qū)<易鲂┳?5感謝你的觀看2019年7月165感謝你的觀看2019年7月12.硬件資源硬件是作為軟件開發(fā)項(xiàng)目的一種工具而投入的。

(1)宿主機(jī)(Host)─軟件開發(fā)時(shí)使用的計(jì)算機(jī)及外圍設(shè)備;

(2)目標(biāo)機(jī)(Target)─運(yùn)行已開發(fā)成功軟件的計(jì)算機(jī)及外圍設(shè)備;

(3)其它硬件設(shè)備─專用軟件開發(fā)時(shí)需要的特殊硬件資源;66感謝你的觀看2019年7月12.硬件資源硬件是作為軟件開發(fā)項(xiàng)目的一種工具而投入的。

(宿主機(jī)連同必要的軟件工具構(gòu)成軟件開發(fā)系統(tǒng)。通常這樣的開發(fā)系統(tǒng)能夠支持多種用戶的需要,且能保持大量的由軟件開發(fā)小組成員共享的信息。在許多情況下,宿主機(jī)與目標(biāo)機(jī)可以是同一種機(jī)型。67感謝你的觀看2019年7月1宿主機(jī)連同必要的軟件工具構(gòu)成軟件開發(fā)系統(tǒng)。通常這樣的開發(fā)系統(tǒng)3.軟件資源軟件工程人員在軟件開發(fā)期間使用了許多軟件工具來幫助開發(fā)。這種軟件工具集叫做計(jì)算機(jī)輔助軟件工程(CASE)。

(1)業(yè)務(wù)系統(tǒng)計(jì)劃工具集

(2)項(xiàng)目管理工具集(3)支援工具──文檔生成工具、網(wǎng)絡(luò)系統(tǒng)軟件、數(shù)據(jù)庫、電子郵件、通報(bào)板,以及配置管理工具。68感謝你的觀看2019年7月13.軟件資源軟件工程人員在軟件開發(fā)期間使用了許多軟件工具來(4)分析和設(shè)計(jì)工具(5)編程工具(6)組裝和測(cè)試工具(7)原型化和模擬工具(8)維護(hù)工具(9)框架工具──這些工具能夠提供建立集成項(xiàng)目支撐環(huán)境(IPSE)的框架。

69感謝你的觀看2019年7月1(4)分析和設(shè)計(jì)工具69感謝你的觀看2019年7月14.軟件復(fù)用性及軟件部件庫為了促成軟件的復(fù)用,以提高軟件的生產(chǎn)率和軟件產(chǎn)品的質(zhì)量,可建立可復(fù)用的軟件部件庫。

70感謝你的觀看2019年7月14.軟件復(fù)用性及軟件部件庫為了促成軟件的復(fù)用,以提高軟件的軟件成本和工作量的估算軟件成本和工作量的估算中變化的東西太多,人、技術(shù)、環(huán)境、政治,都會(huì)影響軟件最終成本和工作量。軟件項(xiàng)目的估算能夠通過一系列系統(tǒng)化的步驟,在可接受的風(fēng)險(xiǎn)范圍內(nèi)提供估算結(jié)果。成本估算必須“事前”給出。時(shí)間越久,了解得越多,估算中出現(xiàn)的嚴(yán)重誤差就越少。71感謝你的觀看2019年7月1軟件成本和工作量的估算軟件成本和工作量的估算中變化的東西太多分解技術(shù)當(dāng)一個(gè)待解決的問題過于復(fù)雜時(shí),我們可以把它進(jìn)一步分解,直到分解后的子問題變得容易解決為止。然后,分別解決每一個(gè)子問題,并將這些子問題的解答綜合起來,從而得到原問題的解答。72感謝你的觀看2019年7月1分解技術(shù)當(dāng)一個(gè)待解決的問題過于復(fù)雜時(shí),我們可以把它進(jìn)一步分解LOC和FP估算在軟件項(xiàng)目估算中,在兩個(gè)方面使用了LOC和FP數(shù)據(jù):把LOC和FP數(shù)據(jù)當(dāng)做一個(gè)估算變量,用于量度軟件每一個(gè)元素的規(guī)模。

LOC和FP數(shù)據(jù)作為從過去項(xiàng)目中收集到的基線數(shù)據(jù),與其它估算變量聯(lián)合使用,進(jìn)行成本和工作量的估算。73感謝你的觀看2019年7月1LOC和FP估算在軟件項(xiàng)目估算中,在兩個(gè)方面使用了LOC和FLOC和FP的共性在于:

給出一個(gè)有界的軟件范圍的敘述由此敘述把軟件分解成一些小的可分別獨(dú)立進(jìn)行估算的子功能對(duì)每一個(gè)子功能估算LOC或FP

把基線生產(chǎn)率度量(如LOC/PM或FP/PM)用做特定的估算變量,導(dǎo)出子功能的成本或工作量綜合子功能的估算得到整個(gè)項(xiàng)目的總估算。74感謝你的觀看2019年7月1LOC和FP的共性在于:74感謝你的觀看2019年7月1用LOC做為估算變量時(shí),必須進(jìn)行功能分解,且需要達(dá)到很詳細(xì)的程度。而估算FP時(shí)需要的數(shù)據(jù)是宏觀的量,當(dāng)把FP當(dāng)做估算變量時(shí)不需分解得很詳細(xì)。LOC是直接估算的,而FP是通過估計(jì)輸入、輸出、數(shù)據(jù)文件、查詢和外部接口的數(shù)目,以及14種復(fù)雜性校正值間接地確定的。75感謝你的觀看2019年7月1用LOC做為估算變量時(shí),必須進(jìn)行功能分解,且需要達(dá)到項(xiàng)目計(jì)劃人員可對(duì)每一個(gè)分解的功能提出一個(gè)有代表性的估算值范圍。利用歷史數(shù)據(jù)或憑實(shí)際經(jīng)驗(yàn)(當(dāng)其它的方法失效時(shí)),對(duì)每個(gè)功能分別按最佳的、可能的、悲觀的三種情況給出LOC或FP估計(jì)值。記作a、m、b。接著計(jì)算LOC或FP的期望值E。

E=(a+4m+b)/6

76感謝你的觀看2019年7月1項(xiàng)目計(jì)劃人員可對(duì)每一個(gè)分解的功能提出一個(gè)有代表性的估算值范圍所有子功能的總估算變量值除以相應(yīng)于該估算變量的平均生產(chǎn)率度量得到項(xiàng)目的總工作量。例如,若假定總的FP估算值是310,基于過去項(xiàng)目的平均FP生產(chǎn)率是5.5FP/PM,則項(xiàng)目的總工作量是:

工作量=310/5.5=56PM

作為L(zhǎng)OC和FP估算的實(shí)例,考察一個(gè)為CAD應(yīng)用而開發(fā)的軟件包。77感謝你的觀看2019年7月1所有子功能的總估算變量值除以相應(yīng)于該估算變量的平均生產(chǎn)率度量系統(tǒng)定義評(píng)審指明,軟件是在一個(gè)工作站上運(yùn)行,其接口必須使用各種計(jì)算機(jī)圖形設(shè)備,包括鼠標(biāo)器、數(shù)字化儀、高分辯率彩色顯示器和激光打印機(jī)。在這個(gè)實(shí)例中,使用LOC做為估算變量。根據(jù)系統(tǒng)規(guī)格說明,軟件范圍的初步敘述如下78感謝你的觀看2019年7月1系統(tǒng)定義評(píng)審指明,軟件是在一個(gè)工作站上運(yùn)行,其接口必須使用各“軟件將從操作員那里接收2維或3維幾何數(shù)據(jù)。操作員通過用戶界面與CAD系統(tǒng)交互并控制它,這種用戶界面將表現(xiàn)出很好的人機(jī)接口設(shè)計(jì)特性。所有的幾何數(shù)據(jù)和其它支持信息保存在一個(gè)CAD數(shù)據(jù)庫內(nèi)。要開發(fā)一些設(shè)計(jì)分析模塊以產(chǎn)生在各種圖形設(shè)備上顯示的輸出。軟件要設(shè)計(jì)得能控制并與能各種外部設(shè)備,包括鼠標(biāo)器、數(shù)字化儀、激光打印機(jī)和繪圖儀交互。”79感謝你的觀看2019年7月1“軟件將從操作員那里接收2維或3維幾何數(shù)據(jù)。操作員通過用經(jīng)過分解,識(shí)別出下列主要軟件功能:用戶界面和控制功能二維幾何分析三維幾何分析數(shù)據(jù)庫管理計(jì)算機(jī)圖形顯示功能外設(shè)控制PC

設(shè)計(jì)分析模塊通過分解,可得到如下估算表80感謝你的觀看2019年7月1經(jīng)過分解,識(shí)別出下列主要軟件功能:80感謝你的觀看2019估算表81感謝你的觀看2019年7月1估算表81感謝你的觀看2019年7月1從歷史的基線數(shù)據(jù)求出生產(chǎn)率度量,即行/PM和元/行。需要根據(jù)復(fù)雜性程度的不同,對(duì)各功能使用不同的生產(chǎn)率度量值。在表中的成本=LOC的期望值E與元/行相乘,工作量=用LOC的期望值E與行/PM相除。因此可得,該項(xiàng)目總成本的估算值為657,000元,總工作量的估算值為145人月(PM)。82感謝你的觀看2019年7月1從歷史的基線數(shù)據(jù)求出生產(chǎn)率度量,即行/PM和元/行。82感謝軟件開發(fā)成本估算軟件開發(fā)成本主要是指軟件開發(fā)過程中所花費(fèi)的工作量及相應(yīng)的代價(jià)。它不包括原材料和能源的消耗,主要是人的勞動(dòng)的消耗。人的勞動(dòng)消耗所需代價(jià)就是軟件產(chǎn)品的開發(fā)成本。軟件產(chǎn)品開發(fā)成本的計(jì)算方法不同于其它物理產(chǎn)品成本的計(jì)算。83感謝你的觀看2019年7月1軟件開發(fā)成本估算軟件開發(fā)成本主要是指軟件開發(fā)過程中所花費(fèi)的工軟件的開發(fā)成本是以一次性開發(fā)過程所花費(fèi)的代價(jià)來計(jì)算的。軟件開發(fā)成本的估算,應(yīng)是從軟件計(jì)劃、需求分析、設(shè)計(jì)、編碼、單元測(cè)試、組裝測(cè)試到確認(rèn)測(cè)試,整個(gè)軟件開發(fā)全過程所花費(fèi)的代價(jià)作為依據(jù)的。

84感謝你的觀看2019年7月1軟件的開發(fā)成本是以一次性開發(fā)過程所花費(fèi)的代價(jià)來計(jì)算的。84感軟件開發(fā)成本估算方法對(duì)于一個(gè)大型的軟件項(xiàng)目,由于項(xiàng)目的復(fù)雜性,開發(fā)成本的估算不是一件簡(jiǎn)單的事,要進(jìn)行一系列的估算處理。主要靠分解和類推?;竟浪惴椒ǚ譃槿?。自頂向下的估算方法

自底向上的估計(jì)法差別估計(jì)法85感謝你的觀看2019年7月1軟件開發(fā)成本估算方法對(duì)于一個(gè)大型的軟件項(xiàng)目,由于項(xiàng)目的復(fù)雜性自頂向下的估算方法這種方法的主要思想是從項(xiàng)目的整體出發(fā),進(jìn)行類推。估算人員根據(jù)以前已完成項(xiàng)目所消耗的總成本(或總工作量),推算將要開發(fā)的軟件的總成本(或總工作量),然后按比例將它分配到各開發(fā)任務(wù)單元中去,再來檢驗(yàn)它是否能滿足要求。86感謝你的觀看2019年7月1自頂向下的估算方法這種方法的主要思想是從項(xiàng)目的整體出發(fā),進(jìn)行87感謝你的觀看2019年7月187感謝你的觀看2019年7月1這種方法的優(yōu)點(diǎn)是估算工作量小,速度快。缺點(diǎn)是對(duì)項(xiàng)目中的特殊困難估計(jì)不足,估算出來的成本盲目性大,有時(shí)會(huì)遺漏被開發(fā)軟件的某些部分。88感謝你的觀看2019年7月1這種方法的優(yōu)點(diǎn)是估算工作量小,速度快。88感謝你的觀看201自底向上的估計(jì)法這種方法的主要思想是把待開發(fā)的軟件細(xì)分,直到每一個(gè)子任務(wù)都已經(jīng)明確所需要的開發(fā)工作量,然后把它們加起來,得到軟件開發(fā)的總工作量。它的優(yōu)點(diǎn)是估算各個(gè)部分的準(zhǔn)確性高。缺點(diǎn)是缺少各項(xiàng)子任務(wù)之間相互聯(lián)系所需要的工作量,還缺少許多與軟件開發(fā)有關(guān)的系統(tǒng)級(jí)工作量.89感謝你的觀看2019年7月1自底向上的估計(jì)法這種方法的主要思想是把待開發(fā)的軟件細(xì)分,直到差別估計(jì)法這種方法綜合了上述兩種方法的優(yōu)點(diǎn),其主要思想是把待開發(fā)的軟件項(xiàng)目與過去已完成的軟件項(xiàng)目進(jìn)行類比,從其開發(fā)的各個(gè)子任務(wù)中區(qū)分出類似的部分和不同的部分。類似的部分按實(shí)際量進(jìn)行計(jì)算,不同的部分則采用相應(yīng)方法進(jìn)行估算。90感謝你的觀看2019年7月1差別估計(jì)法這種方法綜合了上述兩種方法的優(yōu)點(diǎn),其主要思想是把待專家判定技術(shù)由多位專家進(jìn)行成本估算單獨(dú)一位專家可能會(huì)有種種偏見,最好由多位專家進(jìn)行估算,取得多個(gè)估算值。有多種方法把這些估算值合成一個(gè)估算值。91感謝你的觀看2019年7月1專家判定技術(shù)由多位專家進(jìn)行成本估算91感謝你的觀看2019年一種方法是簡(jiǎn)單地求各估算值的中值或平均值。其優(yōu)點(diǎn)是簡(jiǎn)便。缺點(diǎn)是可能會(huì)由于受一、二個(gè)極端估算值的影響而產(chǎn)生嚴(yán)重的偏差。一種方法是召開小組會(huì),使各位專家們統(tǒng)一于或至少同意某一個(gè)估算值。優(yōu)點(diǎn)是可以擯棄蒙昧無知的估算值,缺點(diǎn)是一些組員可能會(huì)受權(quán)威或政治因素的影響。

92感謝你的觀看2019年7月1一種方法是簡(jiǎn)單地求各估算值的中值或平均值。其優(yōu)點(diǎn)是簡(jiǎn)便。缺點(diǎn)Deiphi技術(shù)標(biāo)準(zhǔn)Deiphi技術(shù)

組織者發(fā)給每位專家一份軟件系統(tǒng)規(guī)格說明書和一張記錄估算值的表格,請(qǐng)他們進(jìn)行估算。

專家詳細(xì)研究軟件規(guī)格說明書的內(nèi)容,對(duì)該軟件提出三個(gè)規(guī)模的估算值,即:ai(最小),mi(可能),bi(最大),無記名地填寫表格93感謝你的觀看2019年7月1Deiphi技術(shù)標(biāo)準(zhǔn)Deiphi技術(shù)93感謝你的觀看2019

組織者對(duì)專家們填在表格中的答復(fù)進(jìn)行整理:

a.計(jì)算各專家估算的期望值Ei;b.對(duì)專家的估算結(jié)果分類摘要。專家對(duì)此估算值另做一次估算。

在綜合專家估算結(jié)果的基礎(chǔ)上,組織專家再次無記名地填寫表格。比較兩次估算的結(jié)果。若差異很大,要通過查詢找出差異的原因。94感謝你的觀看2019年7月1組織者對(duì)專家們填在表格中的答復(fù)進(jìn)行整理:94感謝你的觀看2

上述過程可重復(fù)多次。最終可獲得一個(gè)得到多數(shù)專家共識(shí)的軟件規(guī)模(源代碼行數(shù))。最后,通過與歷史資料進(jìn)行類比,根據(jù)過去完成軟件項(xiàng)目的規(guī)模和成本等信息,推算出該軟件每行源代碼所需要的成本。然后再乘以該軟件源代碼行數(shù)的估算值,就可得到該軟件的成本估算值。95感謝你的觀看2019年7月1上述過程可重復(fù)多次。最終可獲得一個(gè)得到多數(shù)專家共識(shí)的軟件規(guī)軟件開發(fā)成本估算的經(jīng)驗(yàn)?zāi)P蛙浖_發(fā)成本估算是依據(jù)開發(fā)成本估算模型進(jìn)行估算的。開發(fā)成本估算模型通常采用經(jīng)驗(yàn)公式來預(yù)測(cè)軟件項(xiàng)目計(jì)劃所需要的成本、工作量和進(jìn)度數(shù)據(jù)。用以支持大多數(shù)模型的經(jīng)驗(yàn)數(shù)據(jù)都是從有限的一些項(xiàng)目樣本中得到的。96感謝你的觀看2019年7月1軟件開發(fā)成本估算的經(jīng)驗(yàn)?zāi)P蛙浖_發(fā)成本估算是依據(jù)開發(fā)成本估算IBM模型

E=5.2×L0.91D=4.1×L0.36

=14.47×E0.35S=0.54×E0.6DOC=49×L1.01L是源代碼行數(shù)(KLOC),E是工作量(PM),D是項(xiàng)目持續(xù)時(shí)間(月),S是人員需要量(人),DOC是文檔數(shù)量(頁)。97感謝你的觀看2019年7月1IBM模型E=5.2×L0.9197感謝你的觀看IBM模型是靜態(tài)單變量模型。在此模型中,一般指一條機(jī)器指令為一行源代碼。一個(gè)軟件的源代碼行數(shù)不包括程序注釋、作業(yè)命令、調(diào)試程序在內(nèi)。對(duì)于非機(jī)器指令編寫的源程序,例如匯編語言或高級(jí)語言程序,應(yīng)轉(zhuǎn)換成機(jī)器指令源代碼行數(shù)來考慮。98感謝你的觀看2019年7月1IBM模型是靜態(tài)單變量模型。98感謝你的觀看2019年7月1轉(zhuǎn)換系數(shù)表定義:轉(zhuǎn)換系數(shù)=機(jī)器指令條數(shù)/非機(jī)器語言執(zhí)行步數(shù)。99感謝你的觀看2019年7月1轉(zhuǎn)換系數(shù)表定義:轉(zhuǎn)換系數(shù)=機(jī)器指令條數(shù)/非機(jī)器語言執(zhí)行步數(shù)Putnam模型Putnam模型是一種動(dòng)態(tài)多變量模型。適用于大型項(xiàng)目,但也可以應(yīng)用在一些較小的軟件項(xiàng)目中。它是假定在軟件開發(fā)的整個(gè)生存期中工作量有特定的分布。大型軟件項(xiàng)目的開發(fā)工作量分布可以用Rayleigh-Norden曲線表示。100感謝你的觀看2019年7月1Putnam模型Putnam模型是一種動(dòng)態(tài)多變量模型。適用于101感謝你的觀看2019年7月1101感謝你的觀看2019年7月1用Rayleigh-Norden曲線可以導(dǎo)出一個(gè)“軟件方程”td是開發(fā)持續(xù)時(shí)間(年),K是軟件開發(fā)與維護(hù)在內(nèi)的整個(gè)生存期所花費(fèi)的工作量(人年),L是源代碼行數(shù)(LOC),Ck是技術(shù)狀態(tài)常數(shù),因開發(fā)環(huán)境而異。102感謝你的觀看2019年7月1用Rayleigh-Norden曲線可以導(dǎo)出一個(gè)“軟件方程”技術(shù)狀態(tài)常數(shù)Ck的取值103感謝你的觀看2019年7月1技術(shù)狀態(tài)常數(shù)Ck的取值103感謝你的觀看2019年7月1COCOMO模型

(COnstructiveCOstMOdel)結(jié)構(gòu)型成本估算模型是一種精確、易于使用的成本估算方法。DSI(源指令條數(shù))定義為代碼的源程序行數(shù)。若一行有兩個(gè)語句,則算做一條指令。它包括作業(yè)控制語句和格式語句,但不包括注釋語句。KDSI=1000DSI。104感謝你的觀看2019年7月1COCOMO模型

(COnstructiveCOstMMM(度量單位為人月)表示開發(fā)工作量。TDEV(度量單位為月)表示開發(fā)進(jìn)度。它由工作量決定。軟件開發(fā)項(xiàng)目的分類

軟件開發(fā)項(xiàng)目的總體類型:

組織型嵌入型半獨(dú)立型105感謝你的觀看2019年7月1MM(度量單位為人月)表示開發(fā)工作量。105感謝你的觀看20COCOMO模型的分類

COCOMO模型按其詳細(xì)程度分成三級(jí):基本COCOMO模型中間COCOMO模型詳細(xì)COCOMO模型基本COCOMO模型是靜態(tài)單變量模型,用源代碼行數(shù)(LOC)為自變量的經(jīng)驗(yàn)函數(shù)計(jì)算軟件開發(fā)工作量。106感謝你的觀看2019年7月1COCOMO模型的分類

COCOMO模型按其詳細(xì)程度分成三級(jí)中間COCOMO模型在用LOC為自變量的函數(shù)計(jì)算軟件開發(fā)工作量(稱為名義工作量)的基礎(chǔ)上,用涉及產(chǎn)品、硬件、人員、項(xiàng)目等方面的影響因素調(diào)整工作量估算。詳細(xì)COCOMO模型包括中間COCOMO模型的所有特性,但用上述各種影響因素調(diào)整工作量估算時(shí),還要考慮對(duì)軟件工程過程中每一步驟(分析、設(shè)計(jì)等)的影響。107感謝你的觀看2019年7月1中間COCOMO模型在用LOC為自變量的函數(shù)計(jì)算軟件開發(fā)工作基本COCOMO模型基本COCOMO模型的工作量和進(jìn)度公式108感謝你的觀看2019年7月1基本COCOMO模型基本COCOMO模型的工作量和進(jìn)度公式1中間COCOMO模型進(jìn)一步考慮15種影響軟件工作量的因素,通過定下乘法因子,修正COCOMO工作量公式和進(jìn)度公式,可以更合理地估算軟件(各階段)的工作量和進(jìn)度。中間COCOMO模型的名義工作量與進(jìn)度公式如下所示。109感謝你的觀看2019年7月1中間COCOMO模型進(jìn)一步考慮15種影響軟件工作量的因素,通中間COCOMO模型的名義工作量與進(jìn)度公式110感謝你的觀看2019年7月1中間COCOMO模型的名義工作量110感謝你的觀看2019年15種影響軟件工作量的因素

fi產(chǎn)品因素:軟件可靠性、數(shù)據(jù)庫規(guī)模、產(chǎn)品復(fù)雜性硬件因素:執(zhí)行時(shí)間限制、存儲(chǔ)限制、虛擬機(jī)易變性、環(huán)境周轉(zhuǎn)時(shí)間人的因素:分析員能力、應(yīng)用領(lǐng)域?qū)嶋H經(jīng)驗(yàn)、程序員能力、虛擬機(jī)使用經(jīng)驗(yàn)、程序語言使用經(jīng)驗(yàn)項(xiàng)目因素:現(xiàn)代程序設(shè)計(jì)技術(shù)、軟件工具的使用、開發(fā)進(jìn)度限制111感謝你的觀看2019年7月115種影響軟件工作量的因素fi產(chǎn)品因素:軟件可靠性、數(shù)據(jù)庫112感謝你的觀看2019年7月1112感謝你的觀看2019年7月1此時(shí),工作量計(jì)算公式改成

例1.一個(gè)32KDSI的聲音輸入系統(tǒng)是一個(gè)輸入原型,或是一個(gè)可行性表演模型。所需可靠性非常低。把此模型看做半獨(dú)立型軟件。則有

MM

=3.0(32)1.12=146

又查表知f1=0.75,其它fi=1.00,則最終有MM=146×0.75=110.

113感謝你的觀看2019年7月1此時(shí),工作量計(jì)算公式改成

113感謝你的觀看2019年7月1例14.一個(gè)規(guī)模為10KDSI的商用微機(jī)遠(yuǎn)程通信的嵌入型軟件,使用中間COCOMO模型進(jìn)行成本估算。程序名義工作量

MM=2.8(10)1.20

=44.38(MM)程序?qū)嶋H工作量

MM=44.38×

=44.38×1.17=51.5(MM)114感謝你的觀看2019年7月1例14.一個(gè)規(guī)模為10KDSI的商用微機(jī)遠(yuǎn)程通信的嵌入型軟115感謝你的觀看2019年7月1115感謝你的觀看2019年7月1開發(fā)所用時(shí)間

TDEV=2.5(51.5)0.32

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

51.5×6,000=309,000(美元)做為對(duì)比,現(xiàn)在用IBM模型計(jì)算:

PM=5.2(10)0.91

=42.27(人月)

D=4.1(10)0.38

=9.84(月)

S=0.54(42.27)0.60

=5.1(人)116感謝你的觀看2019年7月1開發(fā)所用時(shí)間116感謝你的觀看2019年7月1詳細(xì)COCOMO模型詳細(xì)COCOMO模型的名義工作量公式和進(jìn)度公式與中間COCOMO模型相同。工作量因素分級(jí)表分層、分階段給出。針對(duì)每一個(gè)影響因素,按模塊層、子系統(tǒng)層、系統(tǒng)層,有三張工作量因素分級(jí)表,供不同層次的估算使用。每一張表中工作量因素又按開發(fā)各個(gè)不同階段給出。117感謝你的觀看2019年7月1詳細(xì)COCOMO模型詳細(xì)COCOMO模型的名義工作量公式和進(jìn)例如,關(guān)于軟件可靠性(RELY)要求的工作量因素分級(jí)表(子系統(tǒng)層),如表所示。使用這些表格,可以比中間COCOMO模型更方便、更準(zhǔn)確地估算軟件開發(fā)工作量。1

溫馨提示

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

評(píng)論

0/150

提交評(píng)論