版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件工程學(xué)中國科學(xué)技術(shù)大學(xué)網(wǎng)絡(luò)學(xué)院軟件工程學(xué)中國科學(xué)技術(shù)大學(xué)網(wǎng)絡(luò)學(xué)院11.1項(xiàng)目管理過程11.2軟件生產(chǎn)率和質(zhì)量的度量11.3軟件項(xiàng)目的估算11.4軟件項(xiàng)目計(jì)劃的目標(biāo)11.5軟件成本和工作量估算11.6進(jìn)度計(jì)劃安排11.7軟件項(xiàng)目的組織與計(jì)劃11.8軟件過程與能力成熟度模型第11章軟件項(xiàng)目管理11.1項(xiàng)目管理過程第11章軟件項(xiàng)目管理11.1項(xiàng)目管理過程軟件項(xiàng)目管理的對(duì)象是軟件工程項(xiàng)目。它所涉及的范圍覆蓋了整個(gè)軟件工程過程。為使軟件項(xiàng)目開發(fā)獲得成功,關(guān)鍵問題是必須對(duì)軟件項(xiàng)目的工作范圍、可能風(fēng)險(xiǎn)、需要資源(人、硬件/軟件)、要實(shí)現(xiàn)的任務(wù)、經(jīng)歷的里程碑、花費(fèi)工作量(成本)、進(jìn)度安排等做到心中有數(shù)。11.1項(xiàng)目管理過程軟件項(xiàng)目管理的對(duì)象是軟件工程項(xiàng)目。它所涉軟件項(xiàng)目管理可以提供這些信息。這種管理在技術(shù)工作開始之前就應(yīng)開始,在軟件從概念到實(shí)現(xiàn)的過程中繼續(xù)進(jìn)行,當(dāng)軟件工程過程最后結(jié)束時(shí)才終止。軟件項(xiàng)目管理可以提供這些信息。啟動(dòng)一個(gè)軟件項(xiàng)目在制定軟件項(xiàng)目計(jì)劃之前,必須
明確項(xiàng)目的目標(biāo)和范圍考慮候選的解決方案標(biāo)明技術(shù)和管理上的要求有了這些信息,才能確定合理、精確的成本估算,實(shí)際可行的任務(wù)分解以及可管理的進(jìn)度安排。啟動(dòng)一個(gè)軟件項(xiàng)目在制定軟件項(xiàng)目計(jì)劃之前,必須軟件人員和用戶是在系統(tǒng)工程步驟中確定項(xiàng)目的目標(biāo)和范圍。目標(biāo)標(biāo)明了軟件項(xiàng)目的目的但不涉及如何去達(dá)到這些目的。范圍標(biāo)明了軟件要實(shí)現(xiàn)的基本功能,并盡量以定量的方式界定這些功能。當(dāng)明確了軟件項(xiàng)目的目標(biāo)和范圍后,就應(yīng)考慮候選的解決方案。軟件人員和用戶是在系統(tǒng)工程步驟中確定項(xiàng)目的目標(biāo)和范圍。有了方案,管理人員和技術(shù)人員就能夠據(jù)此選擇一種“好的”方法,給出諸如交付期限、預(yù)算、個(gè)人能力、技術(shù)界面及其它許多因素所構(gòu)成的限制。有了方案,管理人員和技術(shù)人員就能夠據(jù)此選擇一種“好的”方法,度量進(jìn)行度量工作,是為了了解產(chǎn)品開發(fā)的技術(shù)過程和產(chǎn)品本身。
度量開發(fā)過程的目的是為了改進(jìn)過程,度量產(chǎn)品的目的是為了提高產(chǎn)品的質(zhì)量。度量的作用是為了有效地定量地進(jìn)行管理。度量進(jìn)行度量工作,是為了了解產(chǎn)品開發(fā)的技術(shù)過程和產(chǎn)品本身。為有效地度量,常常需要考慮:對(duì)于過程和產(chǎn)品,
合適的度量是什么?所收集的數(shù)據(jù)如何使用?用于比較個(gè)人、過程或產(chǎn)品的度量是否合理?管理人員和技術(shù)人員可利用這些度量來了解軟件工程過程的實(shí)際情況和它所生產(chǎn)的產(chǎn)品質(zhì)量。為有效地度量,常常需要考慮:對(duì)于過程和產(chǎn)品,估算在軟件項(xiàng)目管理過程中關(guān)鍵的活動(dòng)就是制定項(xiàng)目計(jì)劃。在做計(jì)劃時(shí)必須就需要的人力(以人月為單位)、項(xiàng)目持續(xù)時(shí)間(以年份或月份為單位)、成本(以元為單位)做出估算。這種估算大多是利用以前的花費(fèi)做為參考而做出的。估算在軟件項(xiàng)目管理過程中關(guān)鍵的活動(dòng)就是制定項(xiàng)目計(jì)劃。如果新項(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)是:如果新項(xiàng)目與以前的一個(gè)項(xiàng)目在大小上和功能上十分類似,則新項(xiàng)目
事先建立軟件范圍以軟件度量(以往的度量)為基礎(chǔ),以做出估算項(xiàng)目被分解為可單獨(dú)進(jìn)行估算的小塊管理人員大多使用不止一種估算技術(shù),并用一種估算技術(shù)做為另一種估算技術(shù)的交叉檢查。事先建立軟件范圍風(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ā)生一些變更?等等。風(fēng)險(xiǎn)分析每當(dāng)新建一個(gè)程序時(shí),總是存在某些不確定性。風(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)督。這些步驟貫穿在軟件工程過程中。風(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í)間如何掌握?
進(jìn)度安排每一個(gè)軟件項(xiàng)目都要求制定一個(gè)進(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í)序。如何識(shí)別和監(jiān)控關(guān)鍵路徑以確保結(jié)束?追蹤和控制一旦建立了開發(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)度誤期所造成的影響。追蹤和控制一旦建立了開發(fā)進(jìn)度安排,就可以開始著手追蹤和控制活還可對(duì)資源重新定向?qū)θ蝿?wù)重新安排(做為最壞的結(jié)果)可以修改交付日期以調(diào)整已經(jīng)暴露的問題。用這種方式可以較好地控制軟件的開發(fā)。還可對(duì)資源重新定向11.2軟件生產(chǎn)率和質(zhì)量的度量生產(chǎn)率與質(zhì)量的度量是以投入工作量為依據(jù)的軟件開發(fā)活動(dòng)的度量和開發(fā)成果質(zhì)量的度量。
為什么要對(duì)軟件進(jìn)行度量
面向規(guī)模的度量
面向功能的度量
軟件質(zhì)量的度量
在軟件工程過程中使用度量11.2軟件生產(chǎn)率和質(zhì)量的度量生產(chǎn)率與質(zhì)量的度量是以投入工作為什么要對(duì)軟件進(jìn)行度量①表明軟件產(chǎn)品的質(zhì)量;②
弄清軟件開發(fā)人員的生產(chǎn)率;③給出使用了新的軟件工程方法和工具所得到的(在生產(chǎn)率和質(zhì)量兩方面)的效益;④建立項(xiàng)目估算的“基線”;⑤幫助調(diào)整對(duì)新的工具和附加培訓(xùn)的要求。為什么要對(duì)軟件進(jìn)行度量①表明軟件產(chǎn)品的質(zhì)量;度量的方式
在物理世界中的度量有兩種方式。
直接度量(例如,度量一個(gè)螺栓的長度);間接度量(例如,用次品率來度量生產(chǎn)出的螺栓質(zhì)量)。軟件度量也同樣分為兩類:直接度量與間接度量。度量的方式在物理世界中的度量有兩種方式。軟件工程過程的直接度量包括所投入的成本和工作量。軟件產(chǎn)品的直接度量包括產(chǎn)生的代碼行數(shù)(LOC)、執(zhí)行速度、存儲(chǔ)量大小、在某種時(shí)間周期中所報(bào)告的差錯(cuò)數(shù)。軟件產(chǎn)品的間接度量包括功能性、復(fù)雜性、效率、可靠性、可維護(hù)性和許多其它的質(zhì)量特性。軟件工程過程的直接度量包括所投入的成本和工作量。只要事先建立特定的度量規(guī)程,很容易做到直接度量軟件所需要的成本和工作量、產(chǎn)生的代碼行數(shù)等。軟件的功能性、效率、可維護(hù)性等質(zhì)量特性卻很難用直接度量判明,只有通過間接度量才能推斷。只要事先建立特定的度量規(guī)程,很容易做到直接度量軟件所需要的成軟件度量域的分類軟件度量域的分類軟件生產(chǎn)率度量的焦點(diǎn)集中在軟件工程過程的輸出;軟件質(zhì)量度量則指明了軟件適應(yīng)明確和不明確的用戶要求到什么程度;技術(shù)度量的焦點(diǎn)則集中在軟件的某些特性(如邏輯復(fù)雜性、模塊化程度)上而不是軟件開發(fā)的全過程。軟件生產(chǎn)率度量的焦點(diǎn)集中在軟件工程過程的輸出;另一種分類方法面向規(guī)模的的度量用于收集與直接度量有關(guān)的軟件工程輸出的信息和質(zhì)量信息。面向功能的度量提供直接度量的尺度。面向人的度量則收集有關(guān)人們開發(fā)計(jì)算機(jī)軟件所用方式的信息和人們理解有關(guān)工具和方法的效率的信息。另一種分類方法面向規(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ù)。面向規(guī)模的度量面向規(guī)模的度量是對(duì)軟件和軟件開發(fā)過程的直接度量面向規(guī)模的數(shù)據(jù)表格面向規(guī)模的數(shù)據(jù)表格項(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ā)工作。項(xiàng)目aaa-01需要注意的是,在表格中記載的工作量和成本是整個(gè)軟件工程的活動(dòng)(分析、設(shè)計(jì)、編碼和測試),而不僅僅是編碼活動(dòng)。對(duì)于每一個(gè)項(xiàng)目,可以根據(jù)表格中列出的基本數(shù)據(jù)計(jì)算簡單的面向規(guī)模的生產(chǎn)率和質(zhì)量的度量。需要注意的是,在表格中記載的工作量和成本是整個(gè)軟件工程的活動(dòng)根據(jù)數(shù)據(jù)表格可以對(duì)所有的項(xiàng)目計(jì)算出平均值:
生產(chǎn)率=KLOC/PM(人月) 質(zhì)量=錯(cuò)誤數(shù)/KLOC
成本=元/LOC
文檔=文檔頁數(shù)/KLOC根據(jù)數(shù)據(jù)表格可以對(duì)所有的項(xiàng)目計(jì)算出平均值:面向功能的度量面向功能的軟件度量是對(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。面向功能的度量面向功能的軟件度量是對(duì)軟件和軟件開發(fā)過程的間接面向功能的數(shù)據(jù)表格面向功能的數(shù)據(jù)表格功能點(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ù)。功能點(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ù)。 (3)用戶查詢數(shù):查詢是一種聯(lián)機(jī)的交互操作,每次詢問/響一旦收集到上述數(shù)據(jù),就可以計(jì)算出與每一個(gè)計(jì)數(shù)相關(guān)的復(fù)雜性值。一個(gè)信息域是簡單的、平均的還是復(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)的和一旦收集到上述數(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ù)。Fi(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)是否需要建立多重窗口復(fù)雜性校正值Fi1.系統(tǒng)是否需要可靠的備份和恢復(fù)?顯示和操作,以處理輸入處理。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ì)成易修改和易使用?顯示和操作,以處理輸入處理。一旦計(jì)算出功能點(diǎn),就可仿照LOC的方式度量軟件的生產(chǎn)率、質(zhì)量和其它屬性:
生產(chǎn)率=FP/PM(人月) 質(zhì)量=錯(cuò)誤數(shù)/FP
成本=元/FP
文檔=文檔頁數(shù)/FP一旦計(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)度量。功能點(diǎn)度量是為了商用信息系統(tǒng)應(yīng)用而設(shè)計(jì)的。為了計(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)值。為了計(jì)算特征點(diǎn),可以象功能點(diǎn)計(jì)算那樣,對(duì)信息域值進(jìn)行計(jì)數(shù)和加特征點(diǎn)度量計(jì)算表格特征點(diǎn)度量計(jì)算表格軟件質(zhì)量的度量質(zhì)量度量貫穿于軟件工程的全過程中以及軟件交付用戶使用之后。在軟件交付之前得到的度量可作為判斷設(shè)計(jì)和測試質(zhì)量好壞的依據(jù)。這一類度量包括程序復(fù)雜性、有效的模塊性和總的程序規(guī)模。在軟件交付之后的度量則把注意力集中于還未發(fā)現(xiàn)的差錯(cuò)數(shù)和系統(tǒng)的可維護(hù)性方面。軟件質(zhì)量的度量質(zhì)量度量貫穿于軟件工程的全過程中以及軟件交付用使用得最廣泛軟件質(zhì)量的事后度量包括正確性、可維護(hù)性、完整性和可使用性。
(1)正確性:一個(gè)程序必須正確地運(yùn)行,并為它的用戶提供某些輸出。正確性要求軟件執(zhí)行所要求的功能。正確性的度量是每千代碼行(KLOC)的差錯(cuò)數(shù),其中將差錯(cuò)定義為已被證實(shí)是不符合需求的缺陷。使用得最廣泛軟件質(zhì)量的事后度量包括正確性、可維護(hù)性、完整性和
(2)可維護(hù)性:軟件維護(hù)比其它的軟件工程活動(dòng)需要更多的工作量。還沒有一種方法可以直接度量可維護(hù)性,因此必須采取間接度量。 有一種簡單的面向時(shí)間的度量,叫做平均變更等待時(shí)間MTTC。 這個(gè)時(shí)間包括分析變更要求、設(shè)計(jì)適當(dāng)?shù)男薷?、?shí)現(xiàn)變更并測試、及把變更發(fā)送給所有的用戶。 一個(gè)可維護(hù)的程序與不可維護(hù)的程序相比,應(yīng)有較低的MTTC。 (2)可維護(hù)性:軟件維護(hù)比其它的軟件工程活動(dòng)需要更多的工
(3)完整性:完整性度量一個(gè)系統(tǒng)抗拒對(duì)它的安全性攻擊(事故的和人為的)的能力。軟件的所有三個(gè)成分程序、數(shù)據(jù)和文檔都會(huì)遭到攻擊。 度量完整性,需要定義兩個(gè)附加的屬性:危險(xiǎn)性和安全性。
危險(xiǎn)性是特定類型的攻擊將在一給定時(shí)間內(nèi)發(fā)生的概率,安全性是排除特定類型攻擊的概率。 (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)行度量:一個(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)查表得到)。為學(xué)習(xí)系統(tǒng)所需要的體力上的和智力上的技能;協(xié)調(diào)不同的度量方法代碼行數(shù)和功能點(diǎn)之間的關(guān)系依賴于用來實(shí)現(xiàn)軟件的程序設(shè)計(jì)語言和設(shè)計(jì)質(zhì)量。下面給出使用各種程序設(shè)計(jì)語言建立一個(gè)功能點(diǎn)所需要的平均代碼行數(shù)的粗略估算。協(xié)調(diào)不同的度量方法代碼行數(shù)和功能點(diǎn)之間的關(guān)系依賴于用來實(shí)現(xiàn)軟建立一個(gè)功能點(diǎn)所需平均代碼行數(shù)建立一個(gè)功能點(diǎn)所需平均代碼行數(shù)影響軟件生產(chǎn)率的重要因素人的因素:軟件開發(fā)組織的規(guī)模和專長;問題因素:問題的復(fù)雜性和對(duì)設(shè)計(jì)限制,以及需求的變更次數(shù);過程因素:使用的分析與設(shè)計(jì)技術(shù)、語言和CASE工具的有效性,及評(píng)審技術(shù);產(chǎn)品因素:計(jì)算機(jī)系統(tǒng)的可靠性和性能;資源因素:CASE工具、硬件和軟件資源的有效性。影響軟件生產(chǎn)率的重要因素人的因素:軟件開發(fā)組織的規(guī)模和專長;在軟件工程過程中使用度量建立基線為了將LOC和FP用于軟件估算技術(shù)中,必須建立歷史數(shù)據(jù)基線。根據(jù)歷史經(jīng)驗(yàn),在軟件工程過程的銜接處劃出一條基線,在此基線上附有一些用于度量的經(jīng)驗(yàn)?zāi)繕?biāo)信息,作為工程過程評(píng)估的依據(jù),判斷工程過程的完成是否達(dá)到預(yù)想的要求。在軟件工程過程中使用度量建立基線質(zhì)量度量數(shù)據(jù)一旦收集到,軟件開發(fā)組織就可以根據(jù)它們來調(diào)整其軟件工程項(xiàng)目,以消除那些對(duì)軟件開發(fā)有重大影響的差錯(cuò)產(chǎn)生的根源。大多數(shù)軟件開發(fā)人員都希望了解:哪些用戶需求可能會(huì)變更?系統(tǒng)中哪些模塊容易出錯(cuò)?對(duì)每一個(gè)模塊要做多少測試?在測試時(shí)能夠預(yù)計(jì)多少錯(cuò)誤?如果能收集到相關(guān)的度量數(shù)據(jù),就能確定這些問題的答案。質(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)用必須與要做估算的工作類似。為了幫助計(jì)劃、成本和工作量估算,基線的數(shù)據(jù)應(yīng)當(dāng)具有下列屬性:11.3軟件項(xiàng)目的估算軟件項(xiàng)目管理過程開始于項(xiàng)目計(jì)劃。在做項(xiàng)目計(jì)劃時(shí),第一項(xiàng)活動(dòng)就是估算。在做估算時(shí)往往存在某些不確定性,使得軟件項(xiàng)目管理人員無法正常進(jìn)行管理而導(dǎo)致產(chǎn)品遲遲不能完成?,F(xiàn)在已使用的實(shí)用技術(shù)是時(shí)間和工作量估算。11.3軟件項(xiàng)目的估算軟件項(xiàng)目管理過程開始于項(xiàng)目計(jì)劃。估算對(duì)風(fēng)險(xiǎn)的影響估算對(duì)風(fēng)險(xiǎn)的影響項(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)越高。項(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)也減少了。項(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ī)格說明中給出完備的功能、性能、接口的定義。如果對(duì)軟件項(xiàng)目的作用范圍還不十分清楚,或者用戶的要求經(jīng)常變更11.4軟件項(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)行更新。11.4軟件項(xiàng)目計(jì)劃的目標(biāo)軟件項(xiàng)目管理人員在開發(fā)工作一開始需軟件的范圍軟件范圍包括功能、性能、限制、接口和可靠性。估算開始時(shí),應(yīng)對(duì)軟件的功能進(jìn)行評(píng)價(jià),對(duì)其進(jìn)行適當(dāng)?shù)募?xì)化以便提供更詳細(xì)的細(xì)節(jié)。由于成本和進(jìn)度的估算都與功能有關(guān),因此常常采用某種程度的功能分解。軟件的范圍軟件范圍包括功能、性能、限制、接口和可靠性。性能的考慮包括處理和響應(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í)。性能的考慮包括處理和響應(yīng)時(shí)間的需求。還要敘述某些質(zhì)量因素(例如,給出的算法是否容易理解等)。軟件與其它系統(tǒng)元素是相互作用的。要考慮每個(gè)接口的性質(zhì)和復(fù)雜性,以確定對(duì)開發(fā)資源、成本和進(jìn)度的影響。接口的概念可解釋為:
運(yùn)行軟件的硬件(如處理機(jī)與外設(shè))及間接受軟件控制的設(shè)備(如機(jī)器、顯示器);還要敘述某些質(zhì)量因素(例如,給出的算法是否容易理解等)。必須與新軟件鏈接的現(xiàn)有的軟件(如數(shù)據(jù)庫存取例程、子程序包、操作系統(tǒng));
通過終端或其它輸入/輸出設(shè)備使用該軟件的人;
該軟件運(yùn)行前后的一系列操作過程。對(duì)于每一種情況,都必須清楚地了解通過接口的信息轉(zhuǎn)換。必須與新軟件鏈接的現(xiàn)有的軟件(如數(shù)據(jù)庫存取例程、子程序包、操軟件開發(fā)中的資源軟件項(xiàng)目計(jì)劃的第二個(gè)任務(wù)是對(duì)完成該軟件項(xiàng)目所需的資源進(jìn)行估算。軟件開發(fā)所需的資源有現(xiàn)成的用以支持軟件開發(fā)的工具──硬件工具及軟件工具最基本的資源──人軟件開發(fā)中的資源軟件項(xiàng)目計(jì)劃的第二個(gè)任務(wù)是對(duì)完成該軟件項(xiàng)目所軟件開發(fā)中的資源軟件開發(fā)中的資源通常,對(duì)每一種資源,應(yīng)說明以下四個(gè)特性: (1)資源的描述;
(2)資源的有效性說明;
(3)資源在何時(shí)開始需要;
(4)使用資源的持續(xù)時(shí)間。最后兩個(gè)特性統(tǒng)稱為時(shí)間窗口。通常,對(duì)每一種資源,應(yīng)說明以下四個(gè)特性:1.人力資源在考慮各種軟件開發(fā)資源時(shí),人是最重要的資源。在安排開發(fā)活動(dòng)時(shí)必須考慮人員的技術(shù)水平、專業(yè)、人數(shù)、以及在開發(fā)過程各階段中對(duì)各種人員的需要。計(jì)劃人員首先估算范圍并選擇為完成開發(fā)工作所需要的技能。還要在組織和專業(yè)兩方面做出安排。1.人力資源在考慮各種軟件開發(fā)資源時(shí),人是最重要的資源。在對(duì)于一些規(guī)模較小的項(xiàng)目(1個(gè)人年或者更少),只要向?qū)<易鲂┳稍?,也許一個(gè)人就可以完成所有的軟件工程步驟。對(duì)一些規(guī)模較大的項(xiàng)目,在整個(gè)軟件生存期中,各種人員的參與情況是不一樣的。下面是各類不同的人員隨開發(fā)工作的進(jìn)展在軟件工程各個(gè)階段的參與情況的典型曲線。對(duì)于一些規(guī)模較小的項(xiàng)目(1個(gè)人年或者更少),只要向?qū)<易鲂┳绍浖こ虒W(xué)2.硬件資源硬件是作為軟件開發(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í)需要的特殊硬件資源;2.硬件資源硬件是作為軟件開發(fā)項(xiàng)目的一種工具而投入的。
(宿主機(jī)連同必要的軟件工具構(gòu)成軟件開發(fā)系統(tǒng)。通常這樣的開發(fā)系統(tǒng)能夠支持多種用戶的需要,且能保持大量的由軟件開發(fā)小組成員共享的信息。在許多情況下,宿主機(jī)與目標(biāo)機(jī)可以是同一種機(jī)型。宿主機(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)板,以及配置管理工具。
3.軟件資源軟件工程人員在軟件開發(fā)期間使用了許多軟件工具來(4)分析和設(shè)計(jì)工具(5)編程工具(6)組裝和測試工具(7)原型化和模擬工具(8)維護(hù)工具(9)框架工具──這些工具能夠提供建立集成項(xiàng)目支撐環(huán)境(IPSE)的框架。
(4)分析和設(shè)計(jì)工具4.軟件復(fù)用性及軟件部件庫為了促成軟件的復(fù)用,以提高軟件的生產(chǎn)率和軟件產(chǎn)品的質(zhì)量,可建立可復(fù)用的軟件部件庫。
4.軟件復(fù)用性及軟件部件庫為了促成軟件的復(fù)用,以提高軟件的11.5軟件成本和工作量的估算軟件成本和工作量的估算中變化的東西太多,人、技術(shù)、環(huán)境、政治,都會(huì)影響軟件最終成本和工作量。軟件項(xiàng)目的估算能夠通過一系列系統(tǒng)化的步驟,在可接受的風(fēng)險(xiǎn)范圍內(nèi)提供估算結(jié)果。成本估算必須“事前”給出。時(shí)間越久,了解得越多,估算中出現(xiàn)的嚴(yán)重誤差就越少。11.5軟件成本和工作量的估算軟件成本和工作量的估算中變化的分解技術(shù)當(dāng)一個(gè)待解決的問題過于復(fù)雜時(shí),我們可以把它進(jìn)一步分解,直到分解后的子問題變得容易解決為止。然后,分別解決每一個(gè)子問題,并將這些子問題的解答綜合起來,從而得到原問題的解答。分解技術(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)行成本和工作量的估算。LOC和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)目的總估算。LOC和FP的共性在于:用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ù)雜性校正值間接地確定的。用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
項(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
作為LOC和FP估算的實(shí)例,考察一個(gè)為CAD應(yīng)用而開發(fā)的軟件包。所有子功能的總估算變量值除以相應(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ī)格說明,軟件范圍的初步敘述如下系統(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ī)和繪圖儀交互?!薄败浖牟僮鲉T那里接收2維或3維幾何數(shù)據(jù)。操作員通過用經(jīng)過分解,識(shí)別出下列主要軟件功能:
用戶界面和控制功能二維幾何分析三維幾何分析數(shù)據(jù)庫管理計(jì)算機(jī)圖形顯示功能外設(shè)控制PC
設(shè)計(jì)分析模塊通過分解,可得到如下估算表經(jīng)過分解,識(shí)別出下列主要軟件功能:估算表估算表從歷史的基線數(shù)據(jù)求出生產(chǎn)率度量,即行/PM和元/行。需要根據(jù)復(fù)雜性程度的不同,對(duì)各功能使用不同的生產(chǎn)率度量值。在表中的成本=LOC的期望值E與元/行相乘,工作量=用LOC的期望值E與行/PM相除。因此可得,該項(xiàng)目總成本的估算值為657,000元,總工作量的估算值為145人月(PM)。從歷史的基線數(shù)據(jù)求出生產(chǎn)率度量,即行/PM和元/行。軟件開發(fā)成本估算軟件開發(fā)成本主要是指軟件開發(fā)過程中所花費(fèi)的工作量及相應(yīng)的代價(jià)。它不包括原材料和能源的消耗,主要是人的勞動(dòng)的消耗。人的勞動(dòng)消耗所需代價(jià)就是軟件產(chǎn)品的開發(fā)成本。軟件產(chǎn)品開發(fā)成本的計(jì)算方法不同于其它物理產(chǎn)品成本的計(jì)算。軟件開發(fā)成本估算軟件開發(fā)成本主要是指軟件開發(fā)過程中所花費(fèi)的工軟件的開發(fā)成本是以一次性開發(fā)過程所花費(fèi)的代價(jià)來計(jì)算的。軟件開發(fā)成本的估算,應(yīng)是從軟件計(jì)劃、需求分析、設(shè)計(jì)、編碼、單元測試、組裝測試到確認(rèn)測試,整個(gè)軟件開發(fā)全過程所花費(fèi)的代價(jià)作為依據(jù)的。
軟件的開發(fā)成本是以一次性開發(fā)過程所花費(fèi)的代價(jià)來計(jì)算的。軟件開發(fā)成本估算方法對(duì)于一個(gè)大型的軟件項(xiàng)目,由于項(xiàng)目的復(fù)雜性,開發(fā)成本的估算不是一件簡單的事,要進(jìn)行一系列的估算處理。主要靠分解和類推?;竟浪惴椒ǚ譃槿悺W皂斚蛳碌墓浪惴椒?/p>
自底向上的估計(jì)法差別估計(jì)法軟件開發(fā)成本估算方法對(duì)于一個(gè)大型的軟件項(xiàng)目,由于項(xiàng)目的復(fù)雜性自頂向下的估算方法這種方法的主要思想是從項(xiàng)目的整體出發(fā),進(jìn)行類推。估算人員根據(jù)以前已完成項(xiàng)目所消耗的總成本(或總工作量),推算將要開發(fā)的軟件的總成本(或總工作量),然后按比例將它分配到各開發(fā)任務(wù)單元中去,再來檢驗(yàn)它是否能滿足要求。自頂向下的估算方法這種方法的主要思想是從項(xiàng)目的整體出發(fā),進(jìn)行軟件工程學(xué)這種方法的優(yōu)點(diǎn)是估算工作量小,速度快。缺點(diǎn)是對(duì)項(xiàng)目中的特殊困難估計(jì)不足,估算出來的成本盲目性大,有時(shí)會(huì)遺漏被開發(fā)軟件的某些部分。這種方法的優(yōu)點(diǎn)是估算工作量小,速度快。自底向上的估計(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í)工作量.自底向上的估計(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)行估算。差別估計(jì)法這種方法綜合了上述兩種方法的優(yōu)點(diǎn),其主要思想是把待專家判定技術(shù)由多位專家進(jìn)行成本估算單獨(dú)一位專家可能會(huì)有種種偏見,最好由多位專家進(jìn)行估算,取得多個(gè)估算值。有多種方法把這些估算值合成一個(gè)估算值。專家判定技術(shù)由多位專家進(jìn)行成本估算一種方法是簡單地求各估算值的中值或平均值。其優(yōu)點(diǎn)是簡便。缺點(diǎn)是可能會(huì)由于受一、二個(gè)極端估算值的影響而產(chǎn)生嚴(yán)重的偏差。一種方法是召開小組會(huì),使各位專家們統(tǒng)一于或至少同意某一個(gè)估算值。優(yōu)點(diǎn)是可以擯棄蒙昧無知的估算值,缺點(diǎn)是一些組員可能會(huì)受權(quán)威或政治因素的影響。
一種方法是簡單地求各估算值的中值或平均值。其優(yōu)點(diǎn)是簡便。缺點(diǎn)Deiphi技術(shù)標(biāo)準(zhǔn)Deiphi技術(shù)組織者發(fā)給每位專家一份軟件系統(tǒng)規(guī)格說明書和一張記錄估算值的表格,請他們進(jìn)行估算。
專家詳細(xì)研究軟件規(guī)格說明書的內(nèi)容,對(duì)該軟件提出三個(gè)規(guī)模的估算值,即:ai(最小),mi(可能),bi(最大),無記名地填寫表格Deiphi技術(shù)標(biāo)準(zhǔn)Deiphi技術(shù)
組織者對(duì)專家們填在表格中的答復(fù)進(jìn)行整理:
a.計(jì)算各專家估算的期望值Ei;b.對(duì)專家的估算結(jié)果分類摘要。專家對(duì)此估算值另做一次估算。在綜合專家估算結(jié)果的基礎(chǔ)上,組織專家再次無記名地填寫表格。比較兩次估算的結(jié)果。若差異很大,要通過查詢找出差異的原因。組織者對(duì)專家們填在表格中的答復(fù)進(jìn)行整理:上述過程可重復(fù)多次。最終可獲得一個(gè)得到多數(shù)專家共識(shí)的軟件規(guī)模(源代碼行數(shù))。最后,通過與歷史資料進(jìn)行類比,根據(jù)過去完成軟件項(xiàng)目的規(guī)模和成本等信息,推算出該軟件每行源代碼所需要的成本。然后再乘以該軟件源代碼行數(shù)的估算值,就可得到該軟件的成本估算值。上述過程可重復(fù)多次。最終可獲得一個(gè)得到多數(shù)專家共識(shí)的軟件規(guī)模軟件開發(fā)成本估算的經(jīng)驗(yàn)?zāi)P蛙浖_發(fā)成本估算是依據(jù)開發(fā)成本估算模型進(jìn)行估算的。開發(fā)成本估算模型通常采用經(jīng)驗(yàn)公式來預(yù)測軟件項(xiàng)目計(jì)劃所需要的成本、工作量和進(jìn)度數(shù)據(jù)。用以支持大多數(shù)模型的經(jīng)驗(yàn)數(shù)據(jù)都是從有限的一些項(xiàng)目樣本中得到的。軟件開發(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ù)量(頁)。IBM模型E=5.2×L0.91IBM模型是靜態(tài)單變量模型。在此模型中,一般指一條機(jī)器指令為一行源代碼。一個(gè)軟件的源代碼行數(shù)不包括程序注釋、作業(yè)命令、調(diào)試程序在內(nèi)。對(duì)于非機(jī)器指令編寫的源程序,例如匯編語言或高級(jí)語言程序,應(yīng)轉(zhuǎn)換成機(jī)器指令源代碼行數(shù)來考慮。IBM模型是靜態(tài)單變量模型。轉(zhuǎn)換系數(shù)表定義:轉(zhuǎn)換系數(shù)=機(jī)器指令條數(shù)/非機(jī)器語言執(zhí)行步數(shù)。轉(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曲線表示。Putnam模型Putnam模型是一種動(dòng)態(tài)多變量模型。適用于軟件工程學(xué)用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)境而異。用Rayleigh-Norden曲線可以導(dǎo)出一個(gè)“軟件方程”技術(shù)狀態(tài)常數(shù)Ck的取值技術(shù)狀態(tài)常數(shù)Ck的取值COCOMO模型
(COnstructiveCOstMOdel)結(jié)構(gòu)型成本估算模型是一種精確、易于使用的成本估算方法。DSI(源指令條數(shù))定義為代碼的源程序行數(shù)。若一行有兩個(gè)語句,則算做一條指令。它包括作業(yè)控制語句和格式語句,但不包括注釋語句。KDSI=1000DSI。COCOMO模型
(COnstructiveCOstMMM(度量單位為人月)表示開發(fā)工作量。TDEV(度量單位為月)表示開發(fā)進(jìn)度。它由工作量決定。軟件開發(fā)項(xiàng)目的分類
軟件開發(fā)項(xiàng)目的總體類型:
組織型嵌入型半獨(dú)立型MM(度量單位為人月)表示開發(fā)工作量。COCOMO模型的分類
COCOMO模型按其詳細(xì)程度分成三級(jí):
基本COCOMO模型中間COCOMO模型詳細(xì)COCOMO模型基本COCOMO模型是靜態(tài)單變量模型,用源代碼行數(shù)(LOC)為自變量的經(jīng)驗(yàn)函數(shù)計(jì)算軟件開發(fā)工作量。COCOMO模型的分類
COCOMO模型按其詳細(xì)程度分成三級(jí)中間COCOMO模型在用LOC為自變量的函數(shù)計(jì)算軟件開發(fā)工作量(稱為名義工作量)的基礎(chǔ)上,用涉及產(chǎn)品、硬件、人員、項(xiàng)目等方面的影響因素調(diào)整工作量估算。詳細(xì)COCOMO模型包括中間COCOMO模型的所有特性,但用上述各種影響因素調(diào)整工作量估算時(shí),還要考慮對(duì)軟件工程過程中每一步驟(分析、設(shè)計(jì)等)的影響。中間COCOMO模型在用LOC為自變量的函數(shù)計(jì)算軟件開發(fā)工作基本COCOMO模型基本COCOMO模型的工作量和進(jìn)度公式基本COCOMO模型基本COCOMO模型的工作量和進(jìn)度公式中間COCOMO模型進(jìn)一步考慮15種影響軟件工作量的因素,通過定下乘法因子,修正COCOMO工作量公式和進(jìn)度公式,可以更合理地估算軟件(各階段)的工作量和進(jìn)度。中間COCOMO模型的名義工作量與進(jìn)度公式如下所示。中間COCOMO模型進(jìn)一步考慮15種影響軟件工作量的因素,通中間COCOMO模型的名義工作量與進(jìn)度公式中間COCOMO模型的名義工作量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)度限制15種影響軟件工作量的因素fi產(chǎn)品因素:軟件可靠性、數(shù)據(jù)庫軟件工程學(xué)此時(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.
此時(shí),工作量計(jì)算公式改成
例2.一個(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)例2.一個(gè)規(guī)模為10KDSI的商用微機(jī)遠(yuǎn)程通信的嵌入型軟件軟件工程學(xué)開發(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(人)開發(fā)所用時(shí)間詳細(xì)COCOMO模型詳細(xì)COCOMO模型的名義工作量公式和進(jìn)度公式與中間COCOMO模型相同。工作量因素分級(jí)表分層、分階段給出。針對(duì)每一個(gè)影響因素,按模塊層、子系統(tǒng)層、系統(tǒng)層,有三張工作量因素分級(jí)表,供不同層次的估算使用。每一張表中工作量因素又按開發(fā)各個(gè)不同階段給出。詳細(xì)COCOMO模型詳細(xì)COCOMO模型的名義工作量公式和進(jìn)例如,關(guān)于軟件可靠性(RELY)要求的工作量因素分級(jí)表(子系統(tǒng)層),如表所示。使用這些表格,可以比中間COCOMO模型更方便、更準(zhǔn)確地估算軟件開發(fā)工作量。例如,關(guān)于軟件可靠性(RELY)要求的工作量因素分級(jí)表(子系軟件可靠性工作量因素分級(jí)表(子系統(tǒng)層)軟件可靠性工作量因素分級(jí)表(子系統(tǒng)層)11.6進(jìn)度計(jì)劃安排軟件開發(fā)項(xiàng)目的進(jìn)度安排有兩種方式:
(1)系統(tǒng)最終交付日期已經(jīng)確定,軟件開發(fā)部門必須在規(guī)定期限內(nèi)完成;
(2)系統(tǒng)最終交付日期只確定了大致的年限,最後交付日期由軟件開發(fā)部門確定。11.6進(jìn)度計(jì)劃安排軟件開發(fā)項(xiàng)目的進(jìn)度安排有兩種方式:
(1進(jìn)度安排落空,會(huì)導(dǎo)致市場機(jī)會(huì)的喪失,使用戶不滿意,而且也會(huì)導(dǎo)致成本的增加。因此,在考慮進(jìn)度安排時(shí),要把工作量與花費(fèi)時(shí)間聯(lián)系起來,合理分配工作量,利用進(jìn)度安排的有效分析方法嚴(yán)密監(jiān)控軟件開發(fā)的進(jìn)展情況,使軟件開發(fā)進(jìn)度不致拖延。進(jìn)度安排落空,會(huì)導(dǎo)致市場機(jī)會(huì)的喪失,使用戶不滿意,而且也會(huì)導(dǎo)軟件開發(fā)小組人數(shù)與軟件生產(chǎn)率的關(guān)系當(dāng)幾個(gè)人共同承擔(dān)軟件開發(fā)項(xiàng)目中的某一任務(wù)時(shí),人與人之間必須通過交流來解決各自承擔(dān)任務(wù)之間的接口問題,即所謂通信問題。通信需花費(fèi)時(shí)間和代價(jià),會(huì)引起軟件錯(cuò)誤增加,降低軟件生產(chǎn)率。軟件開發(fā)小組人數(shù)與軟件生產(chǎn)率的關(guān)系當(dāng)幾個(gè)人共同承擔(dān)軟件開發(fā)項(xiàng)若兩個(gè)人之間需要通信,則稱在這兩個(gè)人之間存在一條通信路徑。如果一個(gè)軟件開發(fā)小組有n
個(gè)人,每兩人之間都需要通信,則總的通信路徑有n(n-1)/2(條)。若兩個(gè)人之間需要通信,則稱在這兩個(gè)人之間存在一條通信路徑。如設(shè)一個(gè)人單獨(dú)開發(fā)軟件,生產(chǎn)率是5000行/人年。若
4個(gè)人組成一個(gè)小組共同開發(fā)這個(gè)軟件,則需要6條通信路徑。若在每條通信路徑上耗費(fèi)的工作量是250行/人年。則小組中每個(gè)人的軟件生產(chǎn)率降低為
5000-6×250/4=
=5000-375=
=4625行/人年。設(shè)一個(gè)人單獨(dú)開發(fā)軟件,生產(chǎn)率是5000行/人年。若4個(gè)人從上述分析可知,一個(gè)軟件任務(wù)由一個(gè)人單獨(dú)開發(fā),生產(chǎn)率最高;而對(duì)于一個(gè)稍大型的軟件項(xiàng)目,一個(gè)人單獨(dú)開發(fā),時(shí)間太長。因此軟件開發(fā)小組是必要的。但是,開發(fā)小組不宜太大,成員之間避免太多的通信路徑。在開發(fā)進(jìn)程中,切忌中途加人,避免太多的生產(chǎn)率損失。從上述分析可知,一個(gè)軟件任務(wù)由一個(gè)人單獨(dú)開發(fā),生產(chǎn)率最高;而任務(wù)的確定與并行性當(dāng)參加同一軟件工程項(xiàng)目的人數(shù)不止一人的時(shí)候,開發(fā)工作就會(huì)出現(xiàn)并行情形。軟件開發(fā)進(jìn)程中設(shè)置許多里程碑。里程碑為管理人員提供了指示項(xiàng)目進(jìn)度的可靠依據(jù)。軟件工程項(xiàng)目的并行性提出了一系列的進(jìn)度要求。任務(wù)的確定與并行性當(dāng)參加同一軟件工程項(xiàng)目的人數(shù)不止一人的時(shí)候軟件工程學(xué)因?yàn)椴⑿腥蝿?wù)是同時(shí)發(fā)生的,所以進(jìn)度計(jì)劃表必須決定任務(wù)之間的從屬關(guān)系,確定各個(gè)任務(wù)的先后次序和銜接,確定各個(gè)任務(wù)完成的持續(xù)時(shí)間。項(xiàng)目負(fù)責(zé)人應(yīng)注意構(gòu)成關(guān)鍵路徑的任務(wù),即若要保證整個(gè)項(xiàng)目能按進(jìn)度要求完成,就必須保證這些任務(wù)要按進(jìn)度要求完成。因?yàn)椴⑿腥蝿?wù)是同時(shí)發(fā)生的,所以進(jìn)度計(jì)劃表必須決定任務(wù)之間的從制定開發(fā)進(jìn)度計(jì)劃40-20-40規(guī)則在整個(gè)軟件開發(fā)過程中,編碼工作量僅占20%,編碼前工作量占40%,編碼后工作量占40%。
40-20-40規(guī)則只應(yīng)用來做為一個(gè)指南。實(shí)際的工作量分配比例必須按照各項(xiàng)目的特點(diǎn)來決定。制定開發(fā)進(jìn)度計(jì)劃40-20-40規(guī)則COCOMO模型開發(fā)進(jìn)度TDEV與工作量MM的關(guān)系:
TDEV=a(MM)b
如果想要縮短開發(fā)時(shí)間,或想要保證開發(fā)進(jìn)度,必須考慮影響工作量的那些因素。按可減小工作量的因素取值。COCOMO模型軟件工程學(xué)
按此比例確定各個(gè)階段工作量的分配,從而進(jìn)一步確定每一階段所需的開發(fā)時(shí)間,然后在每個(gè)階段,進(jìn)行任務(wù)分解,對(duì)各個(gè)任務(wù)再進(jìn)行工作量和開發(fā)時(shí)間的分配。按此比例確定各個(gè)階段工作量的分配,從而進(jìn)一步確定每一階段所進(jìn)度安排的方法可以把用于一般開發(fā)項(xiàng)目的進(jìn)度安排的技術(shù)和工具應(yīng)用于軟件項(xiàng)目。為監(jiān)控軟件項(xiàng)目的進(jìn)度計(jì)劃和工作的實(shí)際進(jìn)展情況,為表現(xiàn)各項(xiàng)任務(wù)之間進(jìn)度的相互依賴關(guān)系,需要采用圖示的方法。在圖示方法中,必須明確標(biāo)明:進(jìn)度安排的方法可以把用于一般開發(fā)項(xiàng)目的進(jìn)度安排的技術(shù)和工具應(yīng)
各個(gè)任務(wù)的計(jì)劃開始時(shí)間,完成時(shí)間;各個(gè)任務(wù)完成標(biāo)志(即○文檔編寫和△評(píng)審);各個(gè)任務(wù)與參與工作的人數(shù),各個(gè)任務(wù)與工作量之間的銜接情況;完成各個(gè)任務(wù)所需的物理資源和數(shù)據(jù)資源。各個(gè)任務(wù)的計(jì)劃開始時(shí)間,完成時(shí)間;(1)甘特圖(GanttChart)在甘特圖中,每一任務(wù)完成的標(biāo)準(zhǔn),不是以能否繼續(xù)下一階段任務(wù)為標(biāo)準(zhǔn),而是以必須交付應(yīng)交付的文檔與通過評(píng)審為標(biāo)準(zhǔn)。因此在甘特圖中,文檔編制與評(píng)審是軟件開發(fā)進(jìn)度的里程碑。(1)甘特圖(GanttChart)在甘特圖中,每一任務(wù)軟件工程學(xué)(2)PERT技術(shù)和CPM方法PERT技術(shù)叫做計(jì)劃評(píng)審技術(shù),CPM方法叫做關(guān)鍵路徑法,它們都是安排開發(fā)進(jìn)度,制定軟件開發(fā)計(jì)劃的最常用的方法。它們都采用網(wǎng)絡(luò)圖來描述一個(gè)項(xiàng)目的任務(wù)網(wǎng)絡(luò),也就是從一個(gè)項(xiàng)目的開始到結(jié)束,把應(yīng)當(dāng)完成的任務(wù)用圖或表的形式表示出來。(2)PERT技術(shù)和CPM方法PERT技術(shù)叫做計(jì)劃評(píng)審技術(shù)三個(gè)模塊開發(fā)的網(wǎng)絡(luò)圖三個(gè)模塊開發(fā)的網(wǎng)絡(luò)圖
通常用兩張表來定義網(wǎng)絡(luò)圖。一張表給出與一特定軟件項(xiàng)目有關(guān)的所有任務(wù)(也稱為任務(wù)分解結(jié)構(gòu)WorkBreakdownStructure);另一張表給出應(yīng)當(dāng)按照什么樣的次序來完成這些任務(wù)(有時(shí)稱為限制表RestrictionList)。
PERT技術(shù)和CPM方法都為項(xiàng)目計(jì)劃人員提供了一些定量的工具。
通常用兩張表來定義網(wǎng)絡(luò)圖。
確定關(guān)鍵路徑,即決定項(xiàng)目開發(fā)時(shí)間的任務(wù)鏈。在關(guān)鍵路徑上的各個(gè)任務(wù)都是時(shí)間余量為零的關(guān)鍵任務(wù),不能有任何時(shí)間延誤。應(yīng)用統(tǒng)計(jì)模型,對(duì)每一個(gè)單獨(dú)的任務(wù)確定最可能的開發(fā)持續(xù)時(shí)間的估算值。計(jì)算邊界時(shí)間,以便為具體的任務(wù)定義時(shí)間窗口。確定關(guān)鍵路徑,即決定項(xiàng)目開發(fā)時(shí)間的任務(wù)鏈。在關(guān)鍵路徑上的各項(xiàng)目的追蹤和控制軟件項(xiàng)目管理一項(xiàng)重要工作就是在項(xiàng)目實(shí)施過程中進(jìn)行追蹤和控制:定期舉行項(xiàng)目狀態(tài)會(huì)議。由每位項(xiàng)目成員報(bào)告其進(jìn)展和遇到的問題。評(píng)價(jià)在軟件工程過程中所產(chǎn)生的所有評(píng)審的結(jié)果。確定由項(xiàng)目的計(jì)劃進(jìn)度所安排的可能選擇的正式的里程碑。項(xiàng)目的追蹤和控制軟件項(xiàng)目管理一項(xiàng)重要工作就是在比較在項(xiàng)目資源表中所列出的每一個(gè)項(xiàng)目任務(wù)的實(shí)際開始時(shí)間和計(jì)劃開始時(shí)間。非正式地與開發(fā)人員交談,以得到他們對(duì)開發(fā)進(jìn)展和剛冒頭的問題的客觀評(píng)價(jià)。當(dāng)問題出現(xiàn)的時(shí)候,項(xiàng)目管理人員必須實(shí)行控制以盡快地排解問題。比較在項(xiàng)目資源表中所列出的每一個(gè)項(xiàng)目任務(wù)的實(shí)際開始時(shí)間和計(jì)劃11.7軟件項(xiàng)目的組織與計(jì)劃制定計(jì)劃軟件項(xiàng)目組織的建立人員配備11.7軟件項(xiàng)目的組織與計(jì)劃制定計(jì)劃制定計(jì)劃軟件開發(fā)項(xiàng)目的計(jì)劃涉及到實(shí)施項(xiàng)目的各個(gè)環(huán)節(jié),帶有全局性質(zhì)。計(jì)劃的合理性和準(zhǔn)確性往往關(guān)系著項(xiàng)目的成敗。計(jì)劃應(yīng)力求完備。要考慮到一些未知因素和不確定因素,考慮到可能的修改。計(jì)劃應(yīng)力求準(zhǔn)確。盡可能提高所依據(jù)數(shù)據(jù)的可靠程度。制定計(jì)劃軟件開發(fā)項(xiàng)目的計(jì)劃涉及到實(shí)施項(xiàng)目的各個(gè)環(huán)節(jié),帶有全局1.制定計(jì)劃目標(biāo)和進(jìn)行風(fēng)險(xiǎn)分析制定計(jì)劃的目的就是要回答:這個(gè)軟件項(xiàng)目的范圍是什么?需要哪些資源?花費(fèi)多少工作量?要用的成本有多少?以及進(jìn)度如何安排等等一系列問題。這步工作應(yīng)當(dāng)以系統(tǒng)計(jì)劃為基礎(chǔ),以系統(tǒng)規(guī)格說明為依據(jù)。1.制定計(jì)劃目標(biāo)和進(jìn)行風(fēng)險(xiǎn)分析制定計(jì)劃的目的就是要回答:這在開發(fā)工作尚未開始之前,準(zhǔn)確回答這些問題是十分困難的。需要通過以往的開發(fā)經(jīng)驗(yàn)做出估算,很難達(dá)到準(zhǔn)確。從估算出發(fā),項(xiàng)目必然帶有一定的風(fēng)險(xiǎn)。估算的準(zhǔn)確性越差,風(fēng)險(xiǎn)也就越大。研制的軟件項(xiàng)目越復(fù)雜,規(guī)模越大,結(jié)構(gòu)化程度越低,資源、成本、進(jìn)度等因素的不確定性越大,承擔(dān)這一項(xiàng)目所冒的風(fēng)險(xiǎn)也越大。在開發(fā)工作尚未開始之前,準(zhǔn)確回答這些問題是十分困難的。需要通組織軟件項(xiàng)目必須事先認(rèn)清可能構(gòu)成風(fēng)險(xiǎn)的因素,并研究戰(zhàn)勝風(fēng)險(xiǎn)的對(duì)策,只有這樣才能避免出現(xiàn)災(zāi)難性的后果,取得項(xiàng)目預(yù)期的成果。組織軟件項(xiàng)目必須事先認(rèn)清可能構(gòu)成風(fēng)險(xiǎn)的因素,并研究戰(zhàn)勝風(fēng)險(xiǎn)的2.軟件計(jì)劃的類型針對(duì)不同工作目標(biāo),軟件計(jì)劃有:項(xiàng)目實(shí)施計(jì)劃(軟件開發(fā)計(jì)劃)這是軟件開發(fā)的綜合性計(jì)劃,通常應(yīng)包括任務(wù)、進(jìn)度、人力、環(huán)境、資源、組織等多個(gè)方面。
質(zhì)量保證計(jì)劃把軟件開發(fā)的質(zhì)量要求具體規(guī)定為每個(gè)開發(fā)階段可以檢查的質(zhì)量保證活動(dòng)。2.軟件計(jì)劃的類型針對(duì)不同工作目標(biāo),軟件計(jì)劃有:
軟件測試計(jì)劃規(guī)定測試活動(dòng)的任務(wù)、測試方法、進(jìn)度、資源、人員職責(zé)等。
文檔編制計(jì)劃規(guī)定所開發(fā)項(xiàng)目應(yīng)編制的文檔種類、內(nèi)容、進(jìn)度、人員職責(zé)等。
用戶培訓(xùn)計(jì)劃規(guī)定對(duì)用戶進(jìn)行培訓(xùn)的目標(biāo)、要求、進(jìn)度、人員職責(zé)等。軟件測試計(jì)劃規(guī)定測試活動(dòng)的任務(wù)、測試方法、進(jìn)度、資
綜合支持計(jì)劃規(guī)定軟件開發(fā)過程中所需要的支持,以及如何獲取和利用這些支持。軟件分發(fā)計(jì)劃軟件開發(fā)項(xiàng)目完成后,如何提供給用戶。綜合支持計(jì)劃規(guī)定軟件開發(fā)過程中所需要的支持,以及如3.項(xiàng)目實(shí)施計(jì)劃中任務(wù)的劃分如何進(jìn)行工作劃分是實(shí)施計(jì)劃首先應(yīng)解決的問題。常用的計(jì)劃結(jié)構(gòu)有:
階段項(xiàng)目計(jì)劃
按軟件生存期,把開發(fā)工作劃分為若干階段,對(duì)每一階段工作做出計(jì)劃。再把每一階段工作分解為若干任務(wù),做出任務(wù)計(jì)劃。還要把任務(wù)細(xì)分為若干步驟,做出步驟計(jì)劃。3.項(xiàng)目實(shí)施計(jì)劃中任務(wù)的劃分如何進(jìn)行工作劃分是實(shí)施計(jì)劃首先
任務(wù)分解結(jié)構(gòu)按項(xiàng)目的實(shí)際情況進(jìn)行自頂向下的結(jié)構(gòu)化分解,形成樹形任務(wù)結(jié)構(gòu)。進(jìn)一步把工作內(nèi)容、所需工作量、預(yù)計(jì)完成的期限也規(guī)定下來。任務(wù)責(zé)任矩陣在任務(wù)分解的基礎(chǔ)上,把工作分配給相關(guān)的人員,用一個(gè)矩陣形表格表示任務(wù)的分工和責(zé)任。任務(wù)分解結(jié)構(gòu)任務(wù)分解結(jié)構(gòu)任務(wù)分解結(jié)構(gòu)任務(wù)責(zé)任矩陣任務(wù)責(zé)任矩陣軟件項(xiàng)目組織的建立開發(fā)組織采用什么形式,要針對(duì)軟件項(xiàng)目的特點(diǎn)來決定,同時(shí)也與參與人員的素質(zhì)有關(guān)。1、組織原則
(1)盡早落實(shí)責(zé)任:在軟件項(xiàng)目工作開始時(shí),要盡早指定專人負(fù)責(zé)。使他有權(quán)進(jìn)行管理,并對(duì)任務(wù)的完成負(fù)全責(zé)。軟件項(xiàng)目組織的建立開發(fā)組織采用什么形式,要針對(duì)軟件項(xiàng)目的特點(diǎn)
(2)減少接口:一個(gè)組織的生產(chǎn)率隨完成任務(wù)中存在的通信路徑數(shù)目增加而降低。要有合理的人員分工、好的組織結(jié)構(gòu)、有效的通信,減少不必要的生產(chǎn)率的損失。
(3)責(zé)權(quán)均衡:軟件經(jīng)理人員所負(fù)的責(zé)任不應(yīng)比委任給他的權(quán)力還大。(2)減少接口:一個(gè)組織的生產(chǎn)率隨完成任務(wù)中存在的2.組織結(jié)構(gòu)的模式
(1)按課題劃分的模式
把軟件開發(fā)人員按課題組成小組,小組成員自始至終參加所承擔(dān)課題的各項(xiàng)任務(wù)。他們應(yīng)負(fù)責(zé)完成軟件產(chǎn)品的定義、設(shè)計(jì)、實(shí)現(xiàn)、測試、復(fù)查、文檔編制、甚至包括維護(hù)在內(nèi)的全過程。2.組織結(jié)構(gòu)的模式(1)按課題劃分的模式
(2)按職能劃分的模式
把參加開發(fā)項(xiàng)目的軟件人員按任務(wù)的工作階段劃分成若干個(gè)專業(yè)小組。要開發(fā)的軟件產(chǎn)品在每個(gè)專業(yè)小組完成階段加工(即工序)以后,沿工序流水線向下傳遞。例如,分別建立計(jì)劃組、需求分析組、設(shè)計(jì)組、實(shí)現(xiàn)組、系統(tǒng)測試組、質(zhì)量保證組、維護(hù)組等。各種文檔資料按工序在各組之間傳遞。(2)按職能劃分的模式
(3)矩陣形模式
這種模式實(shí)際上是以上兩種模式的復(fù)合。一方面,按工作性質(zhì),成立一些專門組,如開發(fā)組、業(yè)務(wù)組、測試組等;另一方面,每一個(gè)項(xiàng)目又有它的經(jīng)理人員負(fù)責(zé)管理。每個(gè)軟件人員屬于某一個(gè)專門組,又參加某一項(xiàng)目的工作。(3)矩陣形模式軟件工程學(xué)3.程序設(shè)計(jì)小組的組織形式小組內(nèi)部人員的組織形式對(duì)生產(chǎn)率也有影響。現(xiàn)有的組織形式有三種。
(1)主程序員制小組
小組的核心由一位主程序員(高級(jí)工程師)、二至五位技術(shù)員、一位后援工程師組成。主程序員負(fù)責(zé)小組全部技術(shù)活動(dòng)的計(jì)劃、協(xié)調(diào)與審查,設(shè)計(jì)和實(shí)現(xiàn)項(xiàng)目中的關(guān)鍵部分。3.程序設(shè)計(jì)小組的組織形式小組內(nèi)部人員的組織形式對(duì)生產(chǎn)率也有技術(shù)員負(fù)責(zé)項(xiàng)目的具體分析與開發(fā),文檔資料的編寫工作。后援工程師支持主程序員的工作,為主程序員提供咨詢,也做部分分析、設(shè)計(jì)和實(shí)現(xiàn)的工作。并在必要時(shí)能代替主程序員工作。主程序員制小組還可以由一些專家(如通信專家或數(shù)據(jù)庫設(shè)計(jì)專家)、輔助人員(如打字員和秘書)、軟件資料員協(xié)助工作。技術(shù)員負(fù)責(zé)項(xiàng)目的具體分析與開發(fā),文檔資料的編寫工作。后
(2)民主制小組在民主制小組中,遇到問題,組內(nèi)成員之間可以平等地交換意見。工作目標(biāo)的制定及做出決定都由全體成員參加。雖然也有一位成員當(dāng)組長,但工作的討論、成果的檢驗(yàn)都公開進(jìn)行。這種組織形式強(qiáng)調(diào)發(fā)揮小組每個(gè)成員的積極性。有人認(rèn)為這種組織形式適合于研制時(shí)間長、開發(fā)難度大的項(xiàng)目。(2)民主制小組
(3)層次式小組在層次式小組中,組內(nèi)人員分為三級(jí):組長(項(xiàng)目負(fù)責(zé)人)一人負(fù)責(zé)全組工作,包括任務(wù)分配、技術(shù)評(píng)審和走查、掌握工作量和參加技術(shù)活動(dòng)。他直接領(lǐng)導(dǎo)二至三名高級(jí)程序員,每位高級(jí)程序員通過基層小組,管理若干位程序員。(3)層次式小組這種組織結(jié)構(gòu)只允許必要的人際通信。比較適用于項(xiàng)目本身就是層次結(jié)構(gòu)的課題。因?yàn)檫@樣可以把項(xiàng)目按功能劃分成若干個(gè)子項(xiàng)目,把子項(xiàng)目分配給基層小組,由基層小組完成。這種組織方式比較適合于大型軟件項(xiàng)目的開發(fā)。這種組織結(jié)構(gòu)只允許必要的人際通信。比較適用于項(xiàng)目本身就是層次軟件工程學(xué)人員配備如何合理地配備人員,也是成功地完成軟件項(xiàng)目的切實(shí)保證。所謂合理地配備人員應(yīng)包括:
按不同階段適時(shí)任用人員恰當(dāng)掌握用人標(biāo)準(zhǔn)。人員配備如何合理地配備人員,也是成功地完成軟件項(xiàng)目的切實(shí)保證1.項(xiàng)目開發(fā)各階段所需人員一個(gè)軟件項(xiàng)目完成的快慢,取決于參與開發(fā)人員的多少。在開發(fā)的整個(gè)過程中,多數(shù)軟件項(xiàng)目是以恒定人力配備的。實(shí)際人力需求與開發(fā)進(jìn)度的關(guān)系如下圖中的曲線所示。1.項(xiàng)目開發(fā)各階段所需人員一個(gè)軟件項(xiàng)目完成的快慢,取決于參軟件工程學(xué)按此曲線,需要的人力隨開發(fā)進(jìn)展逐漸增加,在編碼與單元測試階段達(dá)到高峰,以后又逐漸減少。如果恒定地配備人力,在開發(fā)初期將會(huì)有部分人力資源用不上而浪費(fèi)掉。在開發(fā)中期,需要人力不夠,造成進(jìn)度的延誤。在開發(fā)后期就需要增加人力以趕進(jìn)度。恒定地配備人力將浪費(fèi)人力資源。按此曲線,需要的人力隨開發(fā)進(jìn)展逐漸增加,在編碼與單元測試階段2.配備人員的原則重質(zhì)量軟件項(xiàng)目是技術(shù)性很強(qiáng)的工作,要任用少量有實(shí)踐經(jīng)驗(yàn)、有能力的人員去完成關(guān)鍵性的任務(wù)。重培訓(xùn)培養(yǎng)所需技術(shù)人員和管理人員是有效解決人員問題的好方法。雙階梯提升人員提升應(yīng)分別按技術(shù)職務(wù)和管理職務(wù)進(jìn)行,不能混在一起。
2.配備人員的原則重質(zhì)量軟件項(xiàng)目是技術(shù)性很強(qiáng)的工作3.對(duì)項(xiàng)目經(jīng)理人員的要求軟件經(jīng)理人員是工作的組織者,他的管理能力的強(qiáng)弱是項(xiàng)目成敗的關(guān)鍵。他應(yīng)具有以下能力:
把用戶提出的非技術(shù)性要求加以整理提煉,以技術(shù)說明書的形式轉(zhuǎn)告給分析員和測試員。
能說服用戶放棄一些不切實(shí)際的要求,以保證合理的要求得以滿足。3.對(duì)項(xiàng)目經(jīng)理人員的要求軟件經(jīng)理人員是工作的組織者,他的管
能夠把表面上似乎無關(guān)的要求集中在一起,歸結(jié)為“需要什么”,“要解決什么問題”。這是一種綜合問題的能力。
要懂得心理學(xué),能說服上級(jí)領(lǐng)導(dǎo)和用戶,讓他們理解什么是不合理的要求。但又要使他們毫不勉強(qiáng),樂于接受,并受到啟發(fā)。能夠把表面上似乎無關(guān)的要求集中在一起,歸結(jié)為“需要什4.評(píng)價(jià)人員的條件軟件項(xiàng)目中人的因素越來越受重視。在評(píng)價(jià)和任用軟件人員時(shí),必須掌握一定的標(biāo)準(zhǔn)。人員素質(zhì)的優(yōu)劣常常影響到項(xiàng)目的成敗。
牢固掌握計(jì)算機(jī)軟件的基本知識(shí)和技能。
善于分析和綜合問題,具有嚴(yán)密的邏輯思維能力。4.評(píng)價(jià)人員的條件軟件項(xiàng)目中人的因素越來越受重視。在評(píng)價(jià)和工作踏實(shí)、細(xì)致,不靠碰運(yùn)氣,遵循標(biāo)準(zhǔn)和規(guī)范,具有嚴(yán)格的科學(xué)作風(fēng)。工作中表現(xiàn)出有耐心、有毅力、有責(zé)任心。善于聽取別人的意見,善于與周圍人員團(tuán)結(jié)協(xié)作,建立良好的人際關(guān)系。
具有良好的書面和口頭表達(dá)能力。
工作踏實(shí)、細(xì)致,不靠碰運(yùn)氣,遵循標(biāo)準(zhǔn)和規(guī)范,具有嚴(yán)格的科11.8軟件過程與過程成熟度模型軟件過程是軟件生存期中的一系列相關(guān)過程。過程是活動(dòng)的集合;活動(dòng)是任務(wù)的集合;任務(wù)是將輸入變換為輸出的操作;活動(dòng)的執(zhí)行可以是順序的,重復(fù)的,并行的、嵌套的;為了得到滿足要求的軟件產(chǎn)品,不但需要有好的開發(fā)方法,還需要有好的工程支持和工程管理。11.8軟件過程與過程成熟度模型軟件過程是軟件生存期中的一系基本過程
獲取過程供應(yīng)過程開發(fā)過程運(yùn)行過程維護(hù)過程基本過程獲取過程獲取過程是需方為了獲得一個(gè)軟件產(chǎn)品所進(jìn)行的一系列活動(dòng):該過程從為獲取該軟件產(chǎn)品的需求定義開始,經(jīng)過招標(biāo)準(zhǔn)備,合同的準(zhǔn)備和修改,對(duì)供方的監(jiān)督,直到驗(yàn)收完成。獲取過程是需方為了獲得一個(gè)軟件產(chǎn)品所進(jìn)行的一系列活動(dòng):該供應(yīng)過程是供方為向需方提供軟件產(chǎn)品所進(jìn)行的一系列活動(dòng):該過程從理解軟件的需求開始,經(jīng)過投標(biāo)準(zhǔn)備,簽訂合同,制定計(jì)劃,實(shí)施計(jì)劃及控制,進(jìn)行評(píng)審和評(píng)價(jià),直至完成交付。供應(yīng)過程是供方為向需方提供軟件產(chǎn)品所進(jìn)行的一系列活動(dòng):該開發(fā)過程是軟件開發(fā)者根據(jù)合同開發(fā)和交付軟件的一系列活動(dòng)。包括的活動(dòng)有:過程的實(shí)施準(zhǔn)備系統(tǒng)需求分析系統(tǒng)結(jié)構(gòu)設(shè)計(jì)軟件需求分析軟件體系結(jié)構(gòu)設(shè)計(jì)軟件詳細(xì)設(shè)計(jì)開發(fā)過程是軟件開發(fā)者根據(jù)合同開發(fā)和交付軟件的一系列活動(dòng)。程序編碼和單元測試軟件集成軟件確認(rèn)測試系統(tǒng)集成系統(tǒng)確認(rèn)測試軟件安裝軟件驗(yàn)收支持程序編碼和單元測試運(yùn)行過程軟件開發(fā)完成后,軟件從開發(fā)環(huán)境轉(zhuǎn)移到用戶的實(shí)際運(yùn)行環(huán)境。在運(yùn)行時(shí)對(duì)用戶的要求提供幫助和咨詢,對(duì)運(yùn)行效果進(jìn)行評(píng)價(jià)。實(shí)施過程的準(zhǔn)備運(yùn)行測試系統(tǒng)向?qū)嶋H運(yùn)行環(huán)境轉(zhuǎn)移系統(tǒng)運(yùn)行運(yùn)行過程軟件開發(fā)完成后,軟件從開發(fā)環(huán)境轉(zhuǎn)移到用戶的實(shí)際運(yùn)對(duì)用戶運(yùn)行的支持系統(tǒng)運(yùn)行評(píng)價(jià)用戶運(yùn)行評(píng)價(jià)對(duì)用戶運(yùn)行的支持維護(hù)過程
過程的實(shí)施準(zhǔn)備問題分析和修改分析修改的實(shí)施對(duì)維護(hù)進(jìn)行評(píng)審/驗(yàn)收移植軟件退役維護(hù)過程過程的實(shí)施準(zhǔn)備支持過程
文檔過程
配置管理過程質(zhì)量保證過程驗(yàn)證過程確認(rèn)過程聯(lián)合評(píng)審過程審計(jì)過程問題解決過程支持過程文檔過程文檔過程文檔過程是一個(gè)記錄由某一過程或活動(dòng)所產(chǎn)生的信息的過程。它由以下活動(dòng)組成:
過程的實(shí)施準(zhǔn)備設(shè)計(jì)與開發(fā)制作與發(fā)行維護(hù)文檔過程文檔過程是一個(gè)記錄由某一過程或活動(dòng)所產(chǎn)生的信息的配置管理過程過程的實(shí)施準(zhǔn)備配置的確定配置的控制配置情況報(bào)告 配置的評(píng)價(jià) 發(fā)行管理和提交配置管理過程過程的實(shí)施準(zhǔn)備質(zhì)量保證過程這是一個(gè)為使軟件過程和軟件產(chǎn)品符合規(guī)定需求,并按預(yù)定計(jì)劃按時(shí)完成提供適當(dāng)保證的過程。
過程的實(shí)施準(zhǔn)備軟件產(chǎn)品的質(zhì)量保證軟件過程的質(zhì)量保證質(zhì)量保證過程這是一個(gè)為使軟件過程和軟件產(chǎn)品符合規(guī)定需求,驗(yàn)證過程確定系統(tǒng)或軟件的需求是否完備和正確,以及每一階段的軟件產(chǎn)品是否達(dá)到前一階段對(duì)它的要求和條件。
過程的實(shí)施準(zhǔn)備
驗(yàn)證
合同驗(yàn)證過程驗(yàn)證
需求驗(yàn)證設(shè)計(jì)驗(yàn)證代碼驗(yàn)證集成驗(yàn)證文檔驗(yàn)證驗(yàn)證過程確定系統(tǒng)或軟件的需求是否完備和正確,以及每一階確認(rèn)過程確認(rèn)需求和最終建立的系統(tǒng)或軟件是否滿足原計(jì)劃的特定應(yīng)用。
過程的實(shí)施準(zhǔn)備確認(rèn)確認(rèn)過程確認(rèn)需求和最終建立的系統(tǒng)或軟件是否滿足原計(jì)劃的特聯(lián)合評(píng)審過程這是評(píng)價(jià)項(xiàng)目的某個(gè)活動(dòng)或階段的執(zhí)行情況,以及產(chǎn)品是否合乎要求的過程。
過程的實(shí)施準(zhǔn)備項(xiàng)目管理評(píng)審技術(shù)評(píng)審聯(lián)合評(píng)審過程這是評(píng)價(jià)項(xiàng)目的某個(gè)活動(dòng)或階段的執(zhí)行情況,以審計(jì)過程這一過程是要審計(jì)確定合作的另一方遵照需求、計(jì)劃合同到什么程度的過程。
過程的實(shí)施準(zhǔn)備審計(jì)審計(jì)過程這一過程是要審計(jì)確定合作的另一方遵照需求、計(jì)劃合問題解決過程這是一個(gè)用于分析和排除在開發(fā)、運(yùn)行、維護(hù)或其它過程中發(fā)現(xiàn)的問題和不一致的過程。
過程實(shí)施準(zhǔn)備問題解決問題解決過程這是一個(gè)用于分析和排除在開發(fā)、運(yùn)行、維護(hù)或其組織過程
管理過程基礎(chǔ)設(shè)施過程改進(jìn)過程培訓(xùn)過程組織過程管理過程管理過程管理包括進(jìn)度管理、成本管理、質(zhì)量管理、人員管理、資源管理、標(biāo)準(zhǔn)化管理。管理的對(duì)象是進(jìn)度、系統(tǒng)規(guī)模及工作量估算、經(jīng)費(fèi)、組織機(jī)構(gòu)很人員、風(fēng)險(xiǎn)、質(zhì)量、作業(yè)和環(huán)境配置等。管理過程管理包括進(jìn)度管理、成本管理、質(zhì)量管理、人員管理、
過程的實(shí)施準(zhǔn)備管理計(jì)劃的制定計(jì)劃的實(shí)施與控制評(píng)審和評(píng)價(jià)計(jì)劃的完成程度編寫管理文檔。過程的實(shí)施準(zhǔn)備基礎(chǔ)設(shè)施過程該過程建立、維護(hù)各個(gè)過程所需的基礎(chǔ)設(shè)施。基礎(chǔ)設(shè)施包括硬件、軟件、工具、技術(shù)、標(biāo)準(zhǔn),以及開發(fā)、運(yùn)行、維護(hù)所需的設(shè)施?;A(chǔ)設(shè)施過程該過程建立、維護(hù)各個(gè)過程所需的基礎(chǔ)設(shè)施。改進(jìn)過程該過程建立、評(píng)估、度量、控制和改進(jìn)軟件生存期的過程。主要活動(dòng)是制定一組組織計(jì)劃,評(píng)估相關(guān)過程,實(shí)施分析、改進(jìn)過程。改進(jìn)過程該過程建立、評(píng)估、度量、控制和改進(jìn)軟件生存期的過培訓(xùn)過程該過程為系統(tǒng)或軟件產(chǎn)品提供人員培訓(xùn)。主要活動(dòng)有制定所需人員用人計(jì)劃和培訓(xùn)計(jì)劃,開發(fā)培訓(xùn)資料,實(shí)施培訓(xùn)活動(dòng)等。培訓(xùn)過程該過程為系統(tǒng)或軟件產(chǎn)品提供人員培訓(xùn)。主要活動(dòng)有制軟件過程的度量能力成熟度模型CMM
是指對(duì)過程計(jì)劃或定義水平、過程實(shí)施水平、過程管理和控制水平、過程改善潛力等指標(biāo)的綜合評(píng)價(jià)。分為5級(jí):初始級(jí)、可重復(fù)級(jí)、可定義級(jí)、可管理級(jí)、可優(yōu)化級(jí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年企業(yè)文員崗位工作標(biāo)準(zhǔn)及流程合同3篇
- 2025中國鐵塔總部直屬單位春季校園招聘18人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國移動(dòng)上海公司招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國電信上海公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國民航科學(xué)技術(shù)研究院公開招聘應(yīng)屆畢業(yè)生11人(第二期)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國農(nóng)業(yè)科學(xué)院農(nóng)業(yè)信息研究所公開招聘10人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年黑龍江通信管理局事業(yè)單位招聘6人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年江蘇鹽城市阜寧縣事業(yè)單位招聘工作人員13人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年安徽省馬鞍山含山縣事業(yè)單位招聘13人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川廣元市利州區(qū)考試招聘事業(yè)單位工作人員76人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 韓式皮膚管理培訓(xùn)
- 艾滋病預(yù)防知識(shí)講座
- 八年級(jí)道德與法治開學(xué)摸底考試卷(天津?qū)S茫ù痤}卡)A4版
- 《4 平平安安回家來》 說課稿-2024-2025學(xué)年道德與法治一年級(jí)上冊統(tǒng)編版
- 2024中考英語真題分類匯編-代詞
- 第九版內(nèi)科學(xué)配套課件-8-骨髓增生異常綜合征(MDS)
- 水利信息化數(shù)據(jù)中心及軟件系統(tǒng)單元工程質(zhì)量驗(yàn)收評(píng)定表、檢查記錄
- 部編版2023-2024學(xué)年六年級(jí)上冊語文期末測試試卷(含答案)2
- 應(yīng)用PDCA提高醫(yī)療安全不良事件的上報(bào)率
- 2024年資格考試-高校教師崗前培訓(xùn)考試近5年真題集錦(頻考類試題)帶答案
- 新聞宣傳報(bào)道先進(jìn)單位(集體)申報(bào)材料
評(píng)論
0/150
提交評(píng)論