




已閱讀5頁(yè),還剩212頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件工程學(xué) 中國(guó)科學(xué)技術(shù)大學(xué)網(wǎng)絡(luò)學(xué)院 11 1項(xiàng)目管理過(guò)程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軟件過(guò)程與能力成熟度模型 第11章軟件項(xiàng)目管理 11 1項(xiàng)目管理過(guò)程 軟件項(xiàng)目管理的對(duì)象是軟件工程項(xiàng)目 它所涉及的范圍覆蓋了整個(gè)軟件工程過(guò)程 為使軟件項(xiàng)目開(kāi)發(fā)獲得成功 關(guān)鍵問(wèn)題是必須對(duì)軟件項(xiàng)目的工作范圍 可能風(fēng)險(xiǎn) 需要資源 人 硬件 軟件 要實(shí)現(xiàn)的任務(wù) 經(jīng)歷的里程碑 花費(fèi)工作量 成本 進(jìn)度安排等做到心中有數(shù) 軟件項(xiàng)目管理可以提供這些信息 這種管理在技術(shù)工作開(kāi)始之前就應(yīng)開(kāi)始 在軟件從概念到實(shí)現(xiàn)的過(guò)程中繼續(xù)進(jìn)行 當(dāng)軟件工程過(guò)程最后結(jié)束時(shí)才終止 啟動(dòng)一個(gè)軟件項(xiàng)目 在制定軟件項(xiàng)目計(jì)劃之前 必須明確項(xiàng)目的目標(biāo)和范圍考慮候選的解決方案標(biāo)明技術(shù)和管理上的要求有了這些信息 才能確定合理 精確的成本估算 實(shí)際可行的任務(wù)分解以及可管理的進(jìn)度安排 軟件人員和用戶(hù)是在系統(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)考慮候選的解決方案 有了方案 管理人員和技術(shù)人員就能夠據(jù)此選擇一種 好的 方法 給出諸如交付期限 預(yù)算 個(gè)人能力 技術(shù)界面及其它許多因素所構(gòu)成的限制 度量 進(jìn)行度量工作 是為了了解產(chǎn)品開(kāi)發(fā)的技術(shù)過(guò)程和產(chǎn)品本身 度量開(kāi)發(fā)過(guò)程的目的是為了改進(jìn)過(guò)程 度量產(chǎn)品的目的是為了提高產(chǎn)品的質(zhì)量 度量的作用是為了有效地定量地進(jìn)行管理 為有效地度量 常常需要考慮 對(duì)于過(guò)程和產(chǎn)品 合適的度量是什么 所收集的數(shù)據(jù)如何使用 用于比較個(gè)人 過(guò)程或產(chǎn)品的度量是否合理 管理人員和技術(shù)人員可利用這些度量來(lái)了解軟件工程過(guò)程的實(shí)際情況和它所生產(chǎn)的產(chǎn)品質(zhì)量 估算 在軟件項(xiàng)目管理過(guò)程中關(guān)鍵的活動(dòng)就是制定項(xiàng)目計(jì)劃 在做計(jì)劃時(shí)必須就需要的人力 以人月為單位 項(xiàng)目持續(xù)時(shí)間 以年份或月份為單位 成本 以元為單位 做出估算 這種估算大多是利用以前的花費(fèi)做為參考而做出的 如果新項(xiàng)目與以前的一個(gè)項(xiàng)目在大小上和功能上十分類(lèi)似 則新項(xiàng)目需要工作量 開(kāi)發(fā)持續(xù)時(shí)間 成本大致與那個(gè)老項(xiàng)目相同 假使項(xiàng)目背景完全生疏 只憑過(guò)去的經(jīng)驗(yàn)做出估算可能就不夠了 現(xiàn)在已有了許多用于軟件開(kāi)發(fā)的估算技術(shù) 其共同特點(diǎn)是 事先建立軟件范圍以軟件度量 以往的度量 為基礎(chǔ) 以做出估算項(xiàng)目被分解為可單獨(dú)進(jìn)行估算的小塊管理人員大多使用不止一種估算技術(shù) 并用一種估算技術(shù)做為另一種估算技術(shù)的交叉檢查 風(fēng)險(xiǎn)分析 每當(dāng)新建一個(gè)程序時(shí) 總是存在某些不確定性 用戶(hù)要求是否能確切地被理解 在項(xiàng)目最后結(jié)束之前要求實(shí)現(xiàn)的功能能否建立 是否存在目前仍未發(fā)現(xiàn)的技術(shù)難題 在項(xiàng)目出現(xiàn)嚴(yán)重誤期時(shí)是否會(huì)發(fā)生一些變更 等等 風(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)督 這些步驟貫穿在軟件工程過(guò)程中 進(jìn)度安排 每一個(gè)軟件項(xiàng)目都要求制定一個(gè)進(jìn)度安排 但不是所有的進(jìn)度都得一樣安排 對(duì)于進(jìn)度安排 需要考慮的是 預(yù)先對(duì)進(jìn)度如何計(jì)劃 工作怎樣就位 如何識(shí)別定義好的任務(wù) 管理人員對(duì)結(jié)束時(shí)間如何掌握 如何識(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í)序 追蹤和控制 一旦建立了開(kāi)發(fā)進(jìn)度安排 就可以開(kāi)始著手追蹤和控制活動(dòng) 由項(xiàng)目管理人員負(fù)責(zé)追蹤在進(jìn)度安排中標(biāo)明的每一個(gè)任務(wù) 如果任務(wù)實(shí)際完成日期滯后于進(jìn)度安排 則管理人員可以使用一種自動(dòng)的項(xiàng)目進(jìn)度安排工具來(lái)確定在項(xiàng)目的中間里程碑上進(jìn)度誤期所造成的影響 還可對(duì)資源重新定向?qū)θ蝿?wù)重新安排 做為最壞的結(jié)果 可以修改交付日期以調(diào)整已經(jīng)暴露的問(wèn)題 用這種方式可以較好地控制軟件的開(kāi)發(fā) 11 2軟件生產(chǎn)率和質(zhì)量的度量 生產(chǎn)率與質(zhì)量的度量是以投入工作量為依據(jù)的軟件開(kāi)發(fā)活動(dòng)的度量和開(kāi)發(fā)成果質(zhì)量的度量 為什么要對(duì)軟件進(jìn)行度量面向規(guī)模的度量面向功能的度量軟件質(zhì)量的度量在軟件工程過(guò)程中使用度量 為什么要對(duì)軟件進(jìn)行度量 表明軟件產(chǎn)品的質(zhì)量 弄清軟件開(kāi)發(fā)人員的生產(chǎn)率 給出使用了新的軟件工程方法和工具所得到的 在生產(chǎn)率和質(zhì)量?jī)煞矫?的效益 建立項(xiàng)目估算的 基線 幫助調(diào)整對(duì)新的工具和附加培訓(xùn)的要求 度量的方式 在物理世界中的度量有兩種方式 直接度量 例如 度量一個(gè)螺栓的長(zhǎng)度 間接度量 例如 用次品率來(lái)度量生產(chǎn)出的螺栓質(zhì)量 軟件度量也同樣分為兩類(lèi) 直接度量與間接度量 軟件工程過(guò)程的直接度量包括所投入的成本和工作量 軟件產(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ò)間接度量才能推斷 軟件度量域的分類(lèi) 軟件生產(chǎn)率度量的焦點(diǎn)集中在軟件工程過(guò)程的輸出 軟件質(zhì)量度量則指明了軟件適應(yīng)明確和不明確的用戶(hù)要求到什么程度 技術(shù)度量的焦點(diǎn)則集中在軟件的某些特性 如邏輯復(fù)雜性 模塊化程度 上而不是軟件開(kāi)發(fā)的全過(guò)程 另一種分類(lèi)方法 面向規(guī)模的的度量用于收集與直接度量有關(guān)的軟件工程輸出的信息和質(zhì)量信息 面向功能的度量提供直接度量的尺度 面向人的度量則收集有關(guān)人們開(kāi)發(fā)計(jì)算機(jī)軟件所用方式的信息和人們理解有關(guān)工具和方法的效率的信息 面向規(guī)模的度量 面向規(guī)模的度量是對(duì)軟件和軟件開(kāi)發(fā)過(guò)程的直接度量 可以建立一個(gè)面向規(guī)模的數(shù)據(jù)表格來(lái)記錄項(xiàng)目的某些信息 該表格列出了在過(guò)去幾年完成的每一個(gè)軟件開(kāi)發(fā)項(xiàng)目和關(guān)于這些項(xiàng)目的相應(yīng)面向規(guī)模的數(shù)據(jù) 面向規(guī)模的數(shù)據(jù)表格 項(xiàng)目aaa 01規(guī)模為114 1KLOC 千代碼行 工作量用了24個(gè)人月成本為168 000元文檔頁(yè)數(shù)為365在交付用戶(hù)使用后第一年內(nèi)發(fā)現(xiàn)了29個(gè)錯(cuò)誤 有3個(gè)人參加了項(xiàng)目aaa 01的軟件開(kāi)發(fā)工作 需要注意的是 在表格中記載的工作量和成本是整個(gè)軟件工程的活動(dòng) 分析 設(shè)計(jì) 編碼和測(cè)試 而不僅僅是編碼活動(dòng) 對(duì)于每一個(gè)項(xiàng)目 可以根據(jù)表格中列出的基本數(shù)據(jù)計(jì)算簡(jiǎn)單的面向規(guī)模的生產(chǎn)率和質(zhì)量的度量 根據(jù)數(shù)據(jù)表格可以對(duì)所有的項(xiàng)目計(jì)算出平均值 生產(chǎn)率 KLOC PM 人月 質(zhì)量 錯(cuò)誤數(shù) KLOC成本 元 LOC文檔 文檔頁(yè)數(shù) KLOC 面向功能的度量 面向功能的軟件度量是對(duì)軟件和軟件開(kāi)發(fā)過(guò)程的間接度量 面向功能度量主要考慮程序的 功能性 和 實(shí)用性 而不是對(duì)LOC計(jì)數(shù) 該度量是一種叫做功能點(diǎn)方法的生產(chǎn)率度量法 利用軟件信息域中的一些計(jì)數(shù)和軟件復(fù)雜性估計(jì)的經(jīng)驗(yàn)關(guān)系式而導(dǎo)出功能點(diǎn)FP 面向功能的數(shù)據(jù)表格 功能點(diǎn)計(jì)算 確定五個(gè)信息域的特征 并在表格中相應(yīng)位置給出計(jì)數(shù) 1 用戶(hù)輸入數(shù) 各個(gè)用戶(hù)輸入是面向不同應(yīng)用的輸入數(shù)據(jù) 2 用戶(hù)輸出數(shù) 各個(gè)用戶(hù)輸出是面向應(yīng)用的輸出信息 包括報(bào)告 屏幕信息 錯(cuò)誤信息等 在報(bào)告中的各個(gè)數(shù)據(jù)項(xiàng)不應(yīng)再分別計(jì)數(shù) 3 用戶(hù)查詢(xún)數(shù) 查詢(xún)是一種聯(lián)機(jī)的交互操作 每次詢(xún)問(wèn) 響應(yīng)具備應(yīng)計(jì)數(shù) 4 文件數(shù) 每一個(gè)邏輯主文件都應(yīng)計(jì)數(shù) 邏輯主文件是指邏輯上的一組數(shù)據(jù) 可以是一個(gè)大數(shù)據(jù)庫(kù)的一部分 可以是一個(gè)單獨(dú)的文件 5 外部接口數(shù) 與系統(tǒng)中其他設(shè)備通過(guò)外部接口讀寫(xiě)信息次數(shù)均應(yīng)計(jì)數(shù) 一旦收集到上述數(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)的和 Fi i 1 14 是復(fù)雜性校正值 它們應(yīng)通過(guò)逐一回答如下提問(wèn)來(lái)確定 Fi的取值0 5 0沒(méi)有影響1偶然的2適中的3普通的4重要的5極重要的SUM Fi 是求和函數(shù) 復(fù)雜性校正值Fi 1 系統(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)是否需要建立多重窗口 顯示和操作 以處理輸入處理 8 主文件是否聯(lián)機(jī)更新 9 輸入 輸出 文件 查詢(xún)是否復(fù)雜 10 內(nèi)部處理過(guò)程是否復(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文檔 文檔頁(yè)數(shù) FP 功能點(diǎn)度量是為了商用信息系統(tǒng)應(yīng)用而設(shè)計(jì)的 特征點(diǎn)度量 FeaturePoints 可以用于系統(tǒng)和工程軟件應(yīng)用特征點(diǎn)度量適合于算法復(fù)雜性高的應(yīng)用 而實(shí)時(shí)處理 過(guò)程控制 嵌入式軟件應(yīng)用的算法復(fù)雜性都偏高 因此適合于特征點(diǎn)度量 為了計(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 來(lái)計(jì)算總的特征點(diǎn)值 特征點(diǎn)度量計(jì)算表格 軟件質(zhì)量的度量 質(zhì)量度量貫穿于軟件工程的全過(guò)程中以及軟件交付用戶(hù)使用之后 在軟件交付之前得到的度量可作為判斷設(shè)計(jì)和測(cè)試質(zhì)量好壞的依據(jù) 這一類(lèi)度量包括程序復(fù)雜性 有效的模塊性和總的程序規(guī)模 在軟件交付之后的度量則把注意力集中于還未發(fā)現(xiàn)的差錯(cuò)數(shù)和系統(tǒng)的可維護(hù)性方面 使用得最廣泛軟件質(zhì)量的事后度量包括正確性 可維護(hù)性 完整性和可使用性 1 正確性 一個(gè)程序必須正確地運(yùn)行 并為它的用戶(hù)提供某些輸出 正確性要求軟件執(zhí)行所要求的功能 正確性的度量是每千代碼行 KLOC 的差錯(cuò)數(shù) 其中將差錯(cuò)定義為已被證實(shí)是不符合需求的缺陷 2 可維護(hù)性 軟件維護(hù)比其它的軟件工程活動(dòng)需要更多的工作量 還沒(méi)有一種方法可以直接度量可維護(hù)性 因此必須采取間接度量 有一種簡(jiǎn)單的面向時(shí)間的度量 叫做平均變更等待時(shí)間MTTC 這個(gè)時(shí)間包括分析變更要求 設(shè)計(jì)適當(dāng)?shù)男薷?實(shí)現(xiàn)變更并測(cè)試 及把變更發(fā)送給所有的用戶(hù) 一個(gè)可維護(hù)的程序與不可維護(hù)的程序相比 應(yīng)有較低的MTTC 3 完整性 完整性度量一個(gè)系統(tǒng)抗拒對(duì)它的安全性攻擊 事故的和人為的 的能力 軟件的所有三個(gè)成分程序 數(shù)據(jù)和文檔都會(huì)遭到攻擊 度量完整性 需要定義兩個(gè)附加的屬性 危險(xiǎn)性和安全性 危險(xiǎn)性是特定類(lèi)型的攻擊將在一給定時(shí)間內(nèi)發(fā)生的概率 安全性是排除特定類(lèi)型攻擊的概率 一個(gè)系統(tǒng)的完整性可定義為完整性 1 危險(xiǎn)性 1 安全性 其中 對(duì)每一個(gè)攻擊的危險(xiǎn)性和安全性都進(jìn)行累加 4 可使用性 如果一個(gè)程序不具有 用戶(hù)友好性 即使它所執(zhí)行的功能很有價(jià)值 也常常會(huì)失敗 可使用性量化 用戶(hù)友好性 并依據(jù)以下四個(gè)特征進(jìn)行度量 為學(xué)習(xí)系統(tǒng)所需要的體力上的和智力上的技能 為達(dá)到適度有效使用系統(tǒng)所需要的時(shí)間 當(dāng)軟件被某些人適度有效地使用時(shí)所度量的在生產(chǎn)率方面的凈增值 用戶(hù)角度對(duì)系統(tǒng)的主觀評(píng)價(jià) 可以通過(guò)問(wèn)題調(diào)查表得到 協(xié)調(diào)不同的度量方法 代碼行數(shù)和功能點(diǎn)之間的關(guān)系依賴(lài)于用來(lái)實(shí)現(xiàn)軟件的程序設(shè)計(jì)語(yǔ)言和設(shè)計(jì)質(zhì)量 下面給出使用各種程序設(shè)計(jì)語(yǔ)言建立一個(gè)功能點(diǎn)所需要的平均代碼行數(shù)的粗略估算 建立一個(gè)功能點(diǎn)所需平均代碼行數(shù) 影響軟件生產(chǎn)率的重要因素 人的因素 軟件開(kāi)發(fā)組織的規(guī)模和專(zhuān)長(zhǎng) 問(wèn)題因素 問(wèn)題的復(fù)雜性和對(duì)設(shè)計(jì)限制 以及需求的變更次數(shù) 過(guò)程因素 使用的分析與設(shè)計(jì)技術(shù) 語(yǔ)言和CASE工具的有效性 及評(píng)審技術(shù) 產(chǎn)品因素 計(jì)算機(jī)系統(tǒng)的可靠性和性能 資源因素 CASE工具 硬件和軟件資源的有效性 在軟件工程過(guò)程中使用度量 建立基線為了將LOC和FP用于軟件估算技術(shù)中 必須建立歷史數(shù)據(jù)基線 根據(jù)歷史經(jīng)驗(yàn) 在軟件工程過(guò)程的銜接處劃出一條基線 在此基線上附有一些用于度量的經(jīng)驗(yàn)?zāi)繕?biāo)信息 作為工程過(guò)程評(píng)估的依據(jù) 判斷工程過(guò)程的完成是否達(dá)到預(yù)想的要求 質(zhì)量度量數(shù)據(jù)一旦收集到 軟件開(kāi)發(fā)組織就可以根據(jù)它們來(lái)調(diào)整其軟件工程項(xiàng)目 以消除那些對(duì)軟件開(kāi)發(fā)有重大影響的差錯(cuò)產(chǎn)生的根源 大多數(shù)軟件開(kāi)發(fā)人員都希望了解 哪些用戶(hù)需求可能會(huì)變更 系統(tǒng)中哪些模塊容易出錯(cuò) 對(duì)每一個(gè)模塊要做多少測(cè)試 在測(cè)試時(shí)能夠預(yù)計(jì)多少錯(cuò)誤 如果能收集到相關(guān)的度量數(shù)據(jù) 就能確定這些問(wèn)題的答案 為了幫助計(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)用必須與要做估算的工作類(lèi)似 11 3軟件項(xiàng)目的估算 軟件項(xiàng)目管理過(guò)程開(kāi)始于項(xiàng)目計(jì)劃 在做項(xiàng)目計(jì)劃時(shí) 第一項(xiàng)活動(dòng)就是估算 在做估算時(shí)往往存在某些不確定性 使得軟件項(xiàng)目管理人員無(wú)法正常進(jìn)行管理而導(dǎo)致產(chǎn)品遲遲不能完成 現(xiàn)在已使用的實(shí)用技術(shù)是時(shí)間和工作量估算 估算對(duì)風(fēng)險(xiǎn)的影響 項(xiàng)目的復(fù)雜性對(duì)于增加軟件計(jì)劃的不確定性影響很大 復(fù)雜性越高 估算的風(fēng)險(xiǎn)就越高 項(xiàng)目的規(guī)模對(duì)于軟件估算的精確性和功效影響也比較大 隨著軟件規(guī)模的擴(kuò)大 問(wèn)題分解會(huì)變得更加困難 項(xiàng)目的規(guī)模越大 開(kāi)發(fā)工作量越大 估算的風(fēng)險(xiǎn)越高 項(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ì)過(guò)去的項(xiàng)目進(jìn)行綜合的軟件度量 可借用來(lái)比較準(zhǔn)確地進(jìn)行估算 安排進(jìn)度以避免重走過(guò)去的彎路 而總的風(fēng)險(xiǎn)也減少了 如果對(duì)軟件項(xiàng)目的作用范圍還不十分清楚 或者用戶(hù)的要求經(jīng)常變更 都會(huì)導(dǎo)致對(duì)軟件項(xiàng)目所需資源 成本 進(jìn)度的估算頻頻變動(dòng) 增加估算的風(fēng)險(xiǎn) 計(jì)劃人員應(yīng)當(dāng)要求在軟件系統(tǒng)的規(guī)格說(shuō)明中給出完備的功能 性能 接口的定義 11 4軟件項(xiàng)目計(jì)劃的目標(biāo) 軟件項(xiàng)目管理人員在開(kāi)發(fā)工作一開(kāi)始需要進(jìn)行定量估算 軟件項(xiàng)目計(jì)劃的目標(biāo)是提供一個(gè)能使項(xiàng)目管理人員對(duì)資源 成本和進(jìn)度做出合理估算的框架 這些估算應(yīng)當(dāng)在軟件項(xiàng)目開(kāi)始時(shí)的一個(gè)有限的時(shí)間段內(nèi)做出 并且隨著項(xiàng)目的進(jìn)展定期進(jìn)行更新 軟件的范圍 軟件范圍包括功能 性能 限制 接口和可靠性 估算開(kāi)始時(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)同樣的功能 開(kāi)發(fā)工作量可能相差一個(gè)數(shù)量級(jí) 還要敘述某些質(zhì)量因素 例如 給出的算法是否容易理解等 軟件與其它系統(tǒng)元素是相互作用的 要考慮每個(gè)接口的性質(zhì)和復(fù)雜性 以確定對(duì)開(kāi)發(fā)資源 成本和進(jìn)度的影響 接口的概念可解釋為 運(yùn)行軟件的硬件 如處理機(jī)與外設(shè) 及間接受軟件控制的設(shè)備 如機(jī)器 顯示器 必須與新軟件鏈接的現(xiàn)有的軟件 如數(shù)據(jù)庫(kù)存取例程 子程序包 操作系統(tǒng) 通過(guò)終端或其它輸入 輸出設(shè)備使用該軟件的人 該軟件運(yùn)行前后的一系列操作過(guò)程 對(duì)于每一種情況 都必須清楚地了解通過(guò)接口的信息轉(zhuǎn)換 軟件開(kāi)發(fā)中的資源 軟件項(xiàng)目計(jì)劃的第二個(gè)任務(wù)是對(duì)完成該軟件項(xiàng)目所需的資源進(jìn)行估算 軟件開(kāi)發(fā)所需的資源有現(xiàn)成的用以支持軟件開(kāi)發(fā)的工具 硬件工具及軟件工具最基本的資源 人 軟件開(kāi)發(fā)中的資源 通常 對(duì)每一種資源 應(yīng)說(shuō)明以下四個(gè)特性 1 資源的描述 2 資源的有效性說(shuō)明 3 資源在何時(shí)開(kāi)始需要 4 使用資源的持續(xù)時(shí)間 最后兩個(gè)特性統(tǒng)稱(chēng)為時(shí)間窗口 1 人力資源 在考慮各種軟件開(kāi)發(fā)資源時(shí) 人是最重要的資源 在安排開(kāi)發(fā)活動(dòng)時(shí)必須考慮人員的技術(shù)水平 專(zhuān)業(yè) 人數(shù) 以及在開(kāi)發(fā)過(guò)程各階段中對(duì)各種人員的需要 計(jì)劃人員首先估算范圍并選擇為完成開(kāi)發(fā)工作所需要的技能 還要在組織和專(zhuān)業(yè)兩方面做出安排 對(duì)于一些規(guī)模較小的項(xiàng)目 1個(gè)人年或者更少 只要向?qū)<易鲂┳稍?xún) 也許一個(gè)人就可以完成所有的軟件工程步驟 對(duì)一些規(guī)模較大的項(xiàng)目 在整個(gè)軟件生存期中 各種人員的參與情況是不一樣的 下面是各類(lèi)不同的人員隨開(kāi)發(fā)工作的進(jìn)展在軟件工程各個(gè)階段的參與情況的典型曲線 2 硬件資源 硬件是作為軟件開(kāi)發(fā)項(xiàng)目的一種工具而投入的 1 宿主機(jī) Host 軟件開(kāi)發(fā)時(shí)使用的計(jì)算機(jī)及外圍設(shè)備 2 目標(biāo)機(jī) Target 運(yùn)行已開(kāi)發(fā)成功軟件的計(jì)算機(jī)及外圍設(shè)備 3 其它硬件設(shè)備 專(zhuān)用軟件開(kāi)發(fā)時(shí)需要的特殊硬件資源 宿主機(jī)連同必要的軟件工具構(gòu)成軟件開(kāi)發(fā)系統(tǒng) 通常這樣的開(kāi)發(fā)系統(tǒng)能夠支持多種用戶(hù)的需要 且能保持大量的由軟件開(kāi)發(fā)小組成員共享的信息 在許多情況下 宿主機(jī)與目標(biāo)機(jī)可以是同一種機(jī)型 3 軟件資源 軟件工程人員在軟件開(kāi)發(fā)期間使用了許多軟件工具來(lái)幫助開(kāi)發(fā) 這種軟件工具集叫做計(jì)算機(jī)輔助軟件工程 CASE 1 業(yè)務(wù)系統(tǒng)計(jì)劃工具集 2 項(xiàng)目管理工具集 3 支援工具 文檔生成工具 網(wǎng)絡(luò)系統(tǒng)軟件 數(shù)據(jù)庫(kù) 電子郵件 通報(bào)板 以及配置管理工具 4 分析和設(shè)計(jì)工具 5 編程工具 6 組裝和測(cè)試工具 7 原型化和模擬工具 8 維護(hù)工具 9 框架工具 這些工具能夠提供建立集成項(xiàng)目支撐環(huán)境 IPSE 的框架 4 軟件復(fù)用性及軟件部件庫(kù) 為了促成軟件的復(fù)用 以提高軟件的生產(chǎn)率和軟件產(chǎn)品的質(zhì)量 可建立可復(fù)用的軟件部件庫(kù) 11 5軟件成本和工作量的估算 軟件成本和工作量的估算中變化的東西太多 人 技術(shù) 環(huán)境 政治 都會(huì)影響軟件最終成本和工作量 軟件項(xiàng)目的估算能夠通過(guò)一系列系統(tǒng)化的步驟 在可接受的風(fēng)險(xiǎn)范圍內(nèi)提供估算結(jié)果 成本估算必須 事前 給出 時(shí)間越久 了解得越多 估算中出現(xiàn)的嚴(yán)重誤差就越少 分解技術(shù) 當(dāng)一個(gè)待解決的問(wèn)題過(guò)于復(fù)雜時(shí) 我們可以把它進(jìn)一步分解 直到分解后的子問(wèn)題變得容易解決為止 然后 分別解決每一個(gè)子問(wèn)題 并將這些子問(wèn)題的解答綜合起來(lái) 從而得到原問(wèn)題的解答 LOC和FP估算 在軟件項(xiàng)目估算中 在兩個(gè)方面使用了LOC和FP數(shù)據(jù) 把LOC和FP數(shù)據(jù)當(dāng)做一個(gè)估算變量 用于量度軟件每一個(gè)元素的規(guī)模 LOC和FP數(shù)據(jù)作為從過(guò)去項(xiàng)目中收集到的基線數(shù)據(jù) 與其它估算變量聯(lián)合使用 進(jìn)行成本和工作量的估算 LOC和FP的共性在于 給出一個(gè)有界的軟件范圍的敘述由此敘述把軟件分解成一些小的可分別獨(dú)立進(jìn)行估算的子功能對(duì)每一個(gè)子功能估算LOC或FP把基線生產(chǎn)率度量 如LOC PM或FP PM 用做特定的估算變量 導(dǎo)出子功能的成本或工作量綜合子功能的估算得到整個(gè)項(xiàng)目的總估算 用LOC做為估算變量時(shí) 必須進(jìn)行功能分解 且需要達(dá)到很詳細(xì)的程度 而估算FP時(shí)需要的數(shù)據(jù)是宏觀的量 當(dāng)把FP當(dāng)做估算變量時(shí)不需分解得很詳細(xì) LOC是直接估算的 而FP是通過(guò)估計(jì)輸入 輸出 數(shù)據(jù)文件 查詢(xún)和外部接口的數(shù)目 以及14種復(fù)雜性校正值間接地確定的 項(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 所有子功能的總估算變量值除以相應(yīng)于該估算變量的平均生產(chǎn)率度量得到項(xiàng)目的總工作量 例如 若假定總的FP估算值是310 基于過(guò)去項(xiàng)目的平均FP生產(chǎn)率是5 5FP PM 則項(xiàng)目的總工作量是 工作量 310 5 5 56PM作為L(zhǎng)OC和FP估算的實(shí)例 考察一個(gè)為CAD應(yīng)用而開(kāi)發(fā)的軟件包 系統(tǒng)定義評(píng)審指明 軟件是在一個(gè)工作站上運(yùn)行 其接口必須使用各種計(jì)算機(jī)圖形設(shè)備 包括鼠標(biāo)器 數(shù)字化儀 高分辯率彩色顯示器和激光打印機(jī) 在這個(gè)實(shí)例中 使用LOC做為估算變量 根據(jù)系統(tǒng)規(guī)格說(shuō)明 軟件范圍的初步敘述如下 軟件將從操作員那里接收2維或3維幾何數(shù)據(jù) 操作員通過(guò)用戶(hù)界面與CAD系統(tǒng)交互并控制它 這種用戶(hù)界面將表現(xiàn)出很好的人機(jī)接口設(shè)計(jì)特性 所有的幾何數(shù)據(jù)和其它支持信息保存在一個(gè)CAD數(shù)據(jù)庫(kù)內(nèi) 要開(kāi)發(fā)一些設(shè)計(jì)分析模塊以產(chǎn)生在各種圖形設(shè)備上顯示的輸出 軟件要設(shè)計(jì)得能控制并與能各種外部設(shè)備 包括鼠標(biāo)器 數(shù)字化儀 激光打印機(jī)和繪圖儀交互 經(jīng)過(guò)分解 識(shí)別出下列主要軟件功能 用戶(hù)界面和控制功能二維幾何分析三維幾何分析數(shù)據(jù)庫(kù)管理計(jì)算機(jī)圖形顯示功能外設(shè)控制PC設(shè)計(jì)分析模塊通過(guò)分解 可得到如下估算表 估算表 從歷史的基線數(shù)據(jù)求出生產(chǎn)率度量 即行 PM和元 行 需要根據(jù)復(fù)雜性程度的不同 對(duì)各功能使用不同的生產(chǎn)率度量值 在表中的成本 LOC的期望值E與元 行相乘 工作量 用LOC的期望值E與行 PM相除 因此可得 該項(xiàng)目總成本的估算值為657 000元 總工作量的估算值為145人月 PM 軟件開(kāi)發(fā)成本估算 軟件開(kāi)發(fā)成本主要是指軟件開(kāi)發(fā)過(guò)程中所花費(fèi)的工作量及相應(yīng)的代價(jià) 它不包括原材料和能源的消耗 主要是人的勞動(dòng)的消耗 人的勞動(dòng)消耗所需代價(jià)就是軟件產(chǎn)品的開(kāi)發(fā)成本 軟件產(chǎn)品開(kāi)發(fā)成本的計(jì)算方法不同于其它物理產(chǎn)品成本的計(jì)算 軟件的開(kāi)發(fā)成本是以一次性開(kāi)發(fā)過(guò)程所花費(fèi)的代價(jià)來(lái)計(jì)算的 軟件開(kāi)發(fā)成本的估算 應(yīng)是從軟件計(jì)劃 需求分析 設(shè)計(jì) 編碼 單元測(cè)試 組裝測(cè)試到確認(rèn)測(cè)試 整個(gè)軟件開(kāi)發(fā)全過(guò)程所花費(fèi)的代價(jià)作為依據(jù)的 軟件開(kāi)發(fā)成本估算方法 對(duì)于一個(gè)大型的軟件項(xiàng)目 由于項(xiàng)目的復(fù)雜性 開(kāi)發(fā)成本的估算不是一件簡(jiǎn)單的事 要進(jìn)行一系列的估算處理 主要靠分解和類(lèi)推 基本估算方法分為三類(lèi) 自頂向下的估算方法自底向上的估計(jì)法差別估計(jì)法 自頂向下的估算方法 這種方法的主要思想是從項(xiàng)目的整體出發(fā) 進(jìn)行類(lèi)推 估算人員根據(jù)以前已完成項(xiàng)目所消耗的總成本 或總工作量 推算將要開(kāi)發(fā)的軟件的總成本 或總工作量 然后按比例將它分配到各開(kāi)發(fā)任務(wù)單元中去 再來(lái)檢驗(yàn)它是否能滿足要求 這種方法的優(yōu)點(diǎn)是估算工作量小 速度快 缺點(diǎn)是對(duì)項(xiàng)目中的特殊困難估計(jì)不足 估算出來(lái)的成本盲目性大 有時(shí)會(huì)遺漏被開(kāi)發(fā)軟件的某些部分 自底向上的估計(jì)法 這種方法的主要思想是把待開(kāi)發(fā)的軟件細(xì)分 直到每一個(gè)子任務(wù)都已經(jīng)明確所需要的開(kāi)發(fā)工作量 然后把它們加起來(lái) 得到軟件開(kāi)發(fā)的總工作量 它的優(yōu)點(diǎn)是估算各個(gè)部分的準(zhǔn)確性高 缺點(diǎn)是缺少各項(xiàng)子任務(wù)之間相互聯(lián)系所需要的工作量 還缺少許多與軟件開(kāi)發(fā)有關(guān)的系統(tǒng)級(jí)工作量 差別估計(jì)法 這種方法綜合了上述兩種方法的優(yōu)點(diǎn) 其主要思想是把待開(kāi)發(fā)的軟件項(xiàng)目與過(guò)去已完成的軟件項(xiàng)目進(jìn)行類(lèi)比 從其開(kāi)發(fā)的各個(gè)子任務(wù)中區(qū)分出類(lèi)似的部分和不同的部分 類(lèi)似的部分按實(shí)際量進(jìn)行計(jì)算 不同的部分則采用相應(yīng)方法進(jìn)行估算 專(zhuān)家判定技術(shù) 由多位專(zhuān)家進(jìn)行成本估算單獨(dú)一位專(zhuān)家可能會(huì)有種種偏見(jiàn) 最好由多位專(zhuān)家進(jìn)行估算 取得多個(gè)估算值 有多種方法把這些估算值合成一個(gè)估算值 一種方法是簡(jiǎn)單地求各估算值的中值或平均值 其優(yōu)點(diǎn)是簡(jiǎn)便 缺點(diǎn)是可能會(huì)由于受一 二個(gè)極端估算值的影響而產(chǎn)生嚴(yán)重的偏差 一種方法是召開(kāi)小組會(huì) 使各位專(zhuān)家們統(tǒng)一于或至少同意某一個(gè)估算值 優(yōu)點(diǎn)是可以擯棄蒙昧無(wú)知的估算值 缺點(diǎn)是一些組員可能會(huì)受權(quán)威或政治因素的影響 Deiphi技術(shù) 標(biāo)準(zhǔn)Deiphi技術(shù)組織者發(fā)給每位專(zhuān)家一份軟件系統(tǒng)規(guī)格說(shuō)明書(shū)和一張記錄估算值的表格 請(qǐng)他們進(jìn)行估算 專(zhuān)家詳細(xì)研究軟件規(guī)格說(shuō)明書(shū)的內(nèi)容 對(duì)該軟件提出三個(gè)規(guī)模的估算值 即 ai 最小 mi 可能 bi 最大 無(wú)記名地填寫(xiě)表格 組織者對(duì)專(zhuān)家們填在表格中的答復(fù)進(jìn)行整理 a 計(jì)算各專(zhuān)家估算的期望值Ei b 對(duì)專(zhuān)家的估算結(jié)果分類(lèi)摘要 專(zhuān)家對(duì)此估算值另做一次估算 在綜合專(zhuān)家估算結(jié)果的基礎(chǔ)上 組織專(zhuān)家再次無(wú)記名地填寫(xiě)表格 比較兩次估算的結(jié)果 若差異很大 要通過(guò)查詢(xún)找出差異的原因 上述過(guò)程可重復(fù)多次 最終可獲得一個(gè)得到多數(shù)專(zhuān)家共識(shí)的軟件規(guī)模 源代碼行數(shù) 最后 通過(guò)與歷史資料進(jìn)行類(lèi)比 根據(jù)過(guò)去完成軟件項(xiàng)目的規(guī)模和成本等信息 推算出該軟件每行源代碼所需要的成本 然后再乘以該軟件源代碼行數(shù)的估算值 就可得到該軟件的成本估算值 軟件開(kāi)發(fā)成本估算的經(jīng)驗(yàn)?zāi)P?軟件開(kāi)發(fā)成本估算是依據(jù)開(kāi)發(fā)成本估算模型進(jìn)行估算的 開(kāi)發(fā)成本估算模型通常采用經(jīng)驗(yàn)公式來(lái)預(yù)測(cè)軟件項(xiàng)目計(jì)劃所需要的成本 工作量和進(jìn)度數(shù)據(jù) 用以支持大多數(shù)模型的經(jīng)驗(yàn)數(shù)據(jù)都是從有限的一些項(xiàng)目樣本中得到的 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ù)量 頁(yè) IBM模型是靜態(tài)單變量模型 在此模型中 一般指一條機(jī)器指令為一行源代碼 一個(gè)軟件的源代碼行數(shù)不包括程序注釋 作業(yè)命令 調(diào)試程序在內(nèi) 對(duì)于非機(jī)器指令編寫(xiě)的源程序 例如匯編語(yǔ)言或高級(jí)語(yǔ)言程序 應(yīng)轉(zhuǎn)換成機(jī)器指令源代碼行數(shù)來(lái)考慮 轉(zhuǎn)換系數(shù)表 定義 轉(zhuǎn)換系數(shù) 機(jī)器指令條數(shù) 非機(jī)器語(yǔ)言執(zhí)行步數(shù) Putnam模型 Putnam模型是一種動(dòng)態(tài)多變量模型 適用于大型項(xiàng)目 但也可以應(yīng)用在一些較小的軟件項(xiàng)目中 它是假定在軟件開(kāi)發(fā)的整個(gè)生存期中工作量有特定的分布 大型軟件項(xiàng)目的開(kāi)發(fā)工作量分布可以用Rayleigh Norden曲線表示 用Rayleigh Norden曲線可以導(dǎo)出一個(gè) 軟件方程 td是開(kāi)發(fā)持續(xù)時(shí)間 年 K是軟件開(kāi)發(fā)與維護(hù)在內(nèi)的整個(gè)生存期所花費(fèi)的工作量 人年 L是源代碼行數(shù) LOC Ck是技術(shù)狀態(tài)常數(shù) 因開(kāi)發(fā)環(huán)境而異 技術(shù)狀態(tài)常數(shù)Ck的取值 COCOMO模型 COnstructiveCOstMOdel 結(jié)構(gòu)型成本估算模型是一種精確 易于使用的成本估算方法 DSI 源指令條數(shù) 定義為代碼的源程序行數(shù) 若一行有兩個(gè)語(yǔ)句 則算做一條指令 它包括作業(yè)控制語(yǔ)句和格式語(yǔ)句 但不包括注釋語(yǔ)句 KDSI 1000DSI MM 度量單位為人月 表示開(kāi)發(fā)工作量 TDEV 度量單位為月 表示開(kāi)發(fā)進(jìn)度 它由工作量決定 軟件開(kāi)發(fā)項(xiàng)目的分類(lèi)軟件開(kāi)發(fā)項(xiàng)目的總體類(lèi)型 組織型嵌入型半獨(dú)立型 COCOMO模型的分類(lèi)COCOMO模型按其詳細(xì)程度分成三級(jí) 基本COCOMO模型中間COCOMO模型詳細(xì)COCOMO模型基本COCOMO模型是靜態(tài)單變量模型 用源代碼行數(shù) LOC 為自變量的經(jīng)驗(yàn)函數(shù)計(jì)算軟件開(kāi)發(fā)工作量 中間COCOMO模型在用LOC為自變量的函數(shù)計(jì)算軟件開(kāi)發(fā)工作量 稱(chēng)為名義工作量 的基礎(chǔ)上 用涉及產(chǎn)品 硬件 人員 項(xiàng)目等方面的影響因素調(diào)整工作量估算 詳細(xì)COCOMO模型包括中間COCOMO模型的所有特性 但用上述各種影響因素調(diào)整工作量估算時(shí) 還要考慮對(duì)軟件工程過(guò)程中每一步驟 分析 設(shè)計(jì)等 的影響 基本COCOMO模型 基本COCOMO模型的工作量和進(jìn)度公式 中間COCOMO模型 進(jìn)一步考慮15種影響軟件工作量的因素 通過(guò)定下乘法因子 修正COCOMO工作量公式和進(jìn)度公式 可以更合理地估算軟件 各階段 的工作量和進(jìn)度 中間COCOMO模型的名義工作量與進(jìn)度公式如下所示 中間COCOMO模型的名義工作量與進(jìn)度公式 15種影響軟件工作量的因素fi 產(chǎn)品因素 軟件可靠性 數(shù)據(jù)庫(kù)規(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) 程序語(yǔ)言使用經(jīng)驗(yàn)項(xiàng)目因素 現(xiàn)代程序設(shè)計(jì)技術(shù) 軟件工具的使用 開(kāi)發(fā)進(jìn)度限制 此時(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 例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 開(kāi)發(fā)所用時(shí)間TDEV 2 5 51 5 0 32 8 9 月 如果分析員與程序員的工資都按每月6 000美元計(jì)算 則該項(xiàng)目的開(kāi)發(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 人 詳細(xì)COCOMO模型 詳細(xì)COCOMO模型的名義工作量公式和進(jìn)度公式與中間COCOMO模型相同 工作量因素分級(jí)表分層 分階段給出 針對(duì)每一個(gè)影響因素 按模塊層 子系統(tǒng)層 系統(tǒng)層 有三張工作量因素分級(jí)表 供不同層次的估算使用 每一張表中工作量因素又按開(kāi)發(fā)各個(gè)不同階段給出 例如 關(guān)于軟件可靠性 RELY 要求的工作量因素分級(jí)表 子系統(tǒng)層 如表所示 使用這些表格 可以比中間COCOMO模型更方便 更準(zhǔn)確地估算軟件開(kāi)發(fā)工作量 軟件可靠性工作量因素分級(jí)表 子系統(tǒng)層 11 6進(jìn)度計(jì)劃安排 軟件開(kāi)發(fā)項(xiàng)目的進(jìn)度安排有兩種方式 1 系統(tǒng)最終交付日期已經(jīng)確定 軟件開(kāi)發(fā)部門(mén)必須在規(guī)定期限內(nèi)完成 2 系統(tǒng)最終交付日期只確定了大致的年限 最後交付日期由軟件開(kāi)發(fā)部門(mén)確定 進(jìn)度安排落空 會(huì)導(dǎo)致市場(chǎng)機(jī)會(huì)的喪失 使用戶(hù)不滿意 而且也會(huì)導(dǎo)致成本的增加 因此 在考慮進(jìn)度安排時(shí) 要把工作量與花費(fèi)時(shí)間聯(lián)系起來(lái) 合理分配工作量 利用進(jìn)度安排的有效分析方法嚴(yán)密監(jiān)控軟件開(kāi)發(fā)的進(jìn)展情況 使軟件開(kāi)發(fā)進(jìn)度不致拖延 軟件開(kāi)發(fā)小組人數(shù)與軟件生產(chǎn)率的關(guān)系 當(dāng)幾個(gè)人共同承擔(dān)軟件開(kāi)發(fā)項(xiàng)目中的某一任務(wù)時(shí) 人與人之間必須通過(guò)交流來(lái)解決各自承擔(dān)任務(wù)之間的接口問(wèn)題 即所謂通信問(wèn)題 通信需花費(fèi)時(shí)間和代價(jià) 會(huì)引起軟件錯(cuò)誤增加 降低軟件生產(chǎn)率 若兩個(gè)人之間需要通信 則稱(chēng)在這兩個(gè)人之間存在一條通信路徑 如果一個(gè)軟件開(kāi)發(fā)小組有n個(gè)人 每?jī)扇酥g都需要通信 則總的通信路徑有n n 1 2 條 設(shè)一個(gè)人單獨(dú)開(kāi)發(fā)軟件 生產(chǎn)率是5000行 人年 若4個(gè)人組成一個(gè)小組共同開(kāi)發(fā)這個(gè)軟件 則需要6條通信路徑 若在每條通信路徑上耗費(fèi)的工作量是250行 人年 則小組中每個(gè)人的軟件生產(chǎn)率降低為5000 6 250 4 5000 375 4625行 人年 從上述分析可知 一個(gè)軟件任務(wù)由一個(gè)人單獨(dú)開(kāi)發(fā) 生產(chǎn)率最高 而對(duì)于一個(gè)稍大型的軟件項(xiàng)目 一個(gè)人單獨(dú)開(kāi)發(fā) 時(shí)間太長(zhǎng) 因此軟件開(kāi)發(fā)小組是必要的 但是 開(kāi)發(fā)小組不宜太大 成員之間避免太多的通信路徑 在開(kāi)發(fā)進(jìn)程中 切忌中途加人 避免太多的生產(chǎn)率損失 任務(wù)的確定與并行性 當(dāng)參加同一軟件工程項(xiàng)目的人數(shù)不止一人的時(shí)候 開(kāi)發(fā)工作就會(huì)出現(xiàn)并行情形 軟件開(kāi)發(fā)進(jìn)程中設(shè)置許多里程碑 里程碑為管理人員提供了指示項(xiàng)目進(jìn)度的可靠依據(jù) 軟件工程項(xiàng)目的并行性提出了一系列的進(jìn)度要求 因?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)度要求完成 制定開(kāi)發(fā)進(jìn)度計(jì)劃 40 20 40規(guī)則在整個(gè)軟件開(kāi)發(fā)過(guò)程中 編碼工作量?jī)H占20 編碼前工作量占40 編碼后工作量占40 40 20 40規(guī)則只應(yīng)用來(lái)做為一個(gè)指南 實(shí)際的工作量分配比例必須按照各項(xiàng)目的特點(diǎn)來(lái)決定 COCOMO模型開(kāi)發(fā)進(jìn)度TDEV與工作量MM的關(guān)系 TDEV a MM b如果想要縮短開(kāi)發(fā)時(shí)間 或想要保證開(kāi)發(fā)進(jìn)度 必須考慮影響工作量的那些因素 按可減小工作量的因素取值 按此比例確定各個(gè)階段工作量的分配 從而進(jìn)一步確定每一階段所需的開(kāi)發(fā)時(shí)間 然后在每個(gè)階段 進(jìn)行任務(wù)分解 對(duì)各個(gè)任務(wù)再進(jìn)行工作量和開(kāi)發(fā)時(shí)間的分配 進(jìn)度安排的方法 可以把用于一般開(kāi)發(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)度的相互依賴(lài)關(guān)系 需要采用圖示的方法 在圖示方法中 必須明確標(biāo)明 各個(gè)任務(wù)的計(jì)劃開(kāi)始時(shí)間 完成時(shí)間 各個(gè)任務(wù)完成標(biāo)志 即 文檔編寫(xiě)和 評(píng)審 各個(gè)任務(wù)與參與工作的人數(shù) 各個(gè)任務(wù)與工作量之間的銜接情況 完成各個(gè)任務(wù)所需的物理資源和數(shù)據(jù)資源 1 甘特圖 GanttChart 在甘特圖中 每一任務(wù)完成的標(biāo)準(zhǔn) 不是以能否繼續(xù)下一階段任務(wù)為標(biāo)準(zhǔn) 而是以必須交付應(yīng)交付的文檔與通過(guò)評(píng)審為標(biāo)準(zhǔn) 因此在甘特圖中 文檔編制與評(píng)審是軟件開(kāi)發(fā)進(jìn)度的里程碑 2 PERT技術(shù)和CPM方法 PERT技術(shù)叫做計(jì)劃評(píng)審技術(shù) CPM方法叫做關(guān)鍵路徑法 它們都是安排開(kāi)發(fā)進(jìn)度 制定軟件開(kāi)發(fā)計(jì)劃的最常用的方法 它們都采用網(wǎng)絡(luò)圖來(lái)描述一個(gè)項(xiàng)目的任務(wù)網(wǎng)絡(luò) 也就是從一個(gè)項(xiàng)目的開(kāi)始到結(jié)束 把應(yīng)當(dāng)完成的任務(wù)用圖或表的形式表示出來(lái) 三個(gè)模塊開(kāi)發(fā)的網(wǎng)絡(luò)圖 通常用兩張表來(lái)定義網(wǎng)絡(luò)圖 一張表給出與一特定軟件項(xiàng)目有關(guān)的所有任務(wù) 也稱(chēng)為任務(wù)分解結(jié)構(gòu)WorkBreakdownStructure 另一張表給出應(yīng)當(dāng)按照什么樣的次序來(lái)完成這些任務(wù) 有時(shí)稱(chēng)為限制表RestrictionList PERT技術(shù)和CPM方法都為項(xiàng)目計(jì)劃人員提供了一些定量的工具 確定關(guān)鍵路徑 即決定項(xiàng)目開(kāi)發(fā)時(shí)間的任務(wù)鏈 在關(guān)鍵路徑上的各個(gè)任務(wù)都是時(shí)間余量為零的關(guān)鍵任務(wù) 不能有任何時(shí)間延誤 應(yīng)用統(tǒng)計(jì)模型 對(duì)每一個(gè)單獨(dú)的任務(wù)確定最可能的開(kāi)發(fā)持續(xù)時(shí)間的估算值 計(jì)算邊界時(shí)間 以便為具體的任務(wù)定義時(shí)間窗口 項(xiàng)目的追蹤和控制 軟件項(xiàng)目管理一項(xiàng)重要工作就是在項(xiàng)目實(shí)施過(guò)程中進(jìn)行追蹤和控制 定期舉行項(xiàng)目狀態(tài)會(huì)議 由每位項(xiàng)目成員報(bào)告其進(jìn)展和遇到的問(wèn)題 評(píng)價(jià)在軟件工程過(guò)程中所產(chǎn)生的所有評(píng)審的結(jié)果 確定由項(xiàng)目的計(jì)劃進(jìn)度所安排的可能選擇的正式的里程碑 比較在項(xiàng)目資源表中所列出的每一個(gè)項(xiàng)目任務(wù)的實(shí)際開(kāi)始時(shí)間和計(jì)劃開(kāi)始時(shí)間 非正式地與開(kāi)發(fā)人員交談 以得到他們對(duì)開(kāi)發(fā)進(jìn)展和剛冒頭的問(wèn)題的客觀評(píng)價(jià) 當(dāng)問(wèn)題出現(xiàn)的時(shí)候 項(xiàng)目管理人員必須實(shí)行控制以盡快地排解問(wèn)題 11 7軟件項(xiàng)目的組織與計(jì)劃 制定計(jì)劃軟件項(xiàng)目組織的建立人員配備 制定計(jì)劃 軟件開(kāi)發(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ù)的可靠程度 1 制定計(jì)劃目標(biāo)和進(jìn)行風(fēng)險(xiǎn)分析 制定計(jì)劃的目的就是要回答 這個(gè)軟件項(xiàng)目的范圍是什么 需要哪些資源 花費(fèi)多少工作量 要用的成本有多少 以及進(jìn)度如何安排等等一系列問(wèn)題 這步工作應(yīng)當(dāng)以系統(tǒng)計(jì)劃為基礎(chǔ) 以系統(tǒng)規(guī)格說(shuō)明為依據(jù) 在開(kāi)發(fā)工作尚未開(kāi)始之前 準(zhǔn)確回答這些問(wèn)題是十分困難的 需要通過(guò)以往的開(kāi)發(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)也越大 組織軟件項(xiàng)目必須事先認(rèn)清可能構(gòu)成風(fēng)險(xiǎn)的因素 并研究戰(zhàn)勝風(fēng)險(xiǎn)的對(duì)策 只有這樣才能避免出現(xiàn)災(zāi)難性的后果 取得項(xiàng)目預(yù)期的成果 2 軟件計(jì)劃的類(lèi)型 針對(duì)不同工作目標(biāo) 軟件計(jì)劃有 項(xiàng)目實(shí)施計(jì)劃 軟件開(kāi)發(fā)計(jì)劃 這是軟件開(kāi)發(fā)的綜合性計(jì)劃 通常應(yīng)包括任務(wù) 進(jìn)度 人力 環(huán)境 資源 組織等多個(gè)方面 質(zhì)量保證計(jì)劃把軟件開(kāi)發(fā)的質(zhì)量要求具體規(guī)定為每個(gè)開(kāi)發(fā)階段可以檢查的質(zhì)量保證活動(dòng) 軟件測(cè)試計(jì)劃規(guī)定測(cè)試活動(dòng)的任務(wù) 測(cè)試方法 進(jìn)度 資源 人員職責(zé)等 文檔編制計(jì)劃規(guī)定所開(kāi)發(fā)項(xiàng)目應(yīng)編制的文檔種類(lèi) 內(nèi)容 進(jìn)度 人員職責(zé)等 用戶(hù)培訓(xùn)計(jì)劃規(guī)定對(duì)用戶(hù)進(jìn)行培訓(xùn)的目標(biāo) 要求 進(jìn)度 人員職責(zé)等 綜合支持計(jì)劃規(guī)定軟件開(kāi)發(fā)過(guò)程中所需要的支持 以及如何獲取和利用這些支持 軟件分發(fā)計(jì)劃軟件開(kāi)發(fā)項(xiàng)目完成后 如何提供給用戶(hù) 3 項(xiàng)目實(shí)施計(jì)劃中任務(wù)的劃分 如何進(jìn)行工作劃分是實(shí)施計(jì)劃首先應(yīng)解決的問(wèn)題 常用的計(jì)劃結(jié)構(gòu)有 階段項(xiàng)目計(jì)劃按軟件生存期 把開(kāi)發(fā)工作劃分為若干階段 對(duì)每一階段工作做出計(jì)劃 再把每一階段工作分解為若干任務(wù) 做出任務(wù)計(jì)劃 還要把任務(wù)細(xì)分為若干步驟 做出步驟計(jì)劃 任務(wù)分解結(jié)構(gòu)按項(xiàng)目的實(shí)際情況進(jìn)行自頂向下的結(jié)構(gòu)化分解 形成樹(shù)形任務(wù)結(jié)構(gòu) 進(jìn)一步把工作內(nèi)容 所需工作量 預(yù)計(jì)完成的期限也規(guī)定下來(lái) 任務(wù)責(zé)任矩陣在任務(wù)分解的基礎(chǔ)上 把工作分配給相關(guān)的人員 用一個(gè)矩陣形表格表示任務(wù)的分工和責(zé)任 任務(wù)分解結(jié)構(gòu) 任務(wù)責(zé)任矩陣 軟件項(xiàng)目組織的建立 開(kāi)發(fā)組織采用什么形式 要針對(duì)軟件項(xiàng)目的特點(diǎn)來(lái)決定 同時(shí)也與參與人員的素質(zhì)有關(guān) 1 組織原則 1 盡早落實(shí)責(zé)任 在軟件項(xiàng)目工作開(kāi)始時(shí) 要盡早指定專(zhuān)人負(fù)責(zé) 使他有權(quán)進(jìn)行管理 并對(duì)任務(wù)的完成負(fù)全責(zé) 2 減少接口 一個(gè)組織的生產(chǎn)率隨完成任務(wù)中存在的通信路徑數(shù)目增加而降低 要有合理的人員分工 好的組織結(jié)構(gòu) 有效的通信 減少不必要的生產(chǎn)率的損失 3 責(zé)權(quán)均衡 軟件經(jīng)理人員所負(fù)的責(zé)任不應(yīng)比委任給他的權(quán)力還大 2 組織結(jié)構(gòu)的模式 1 按課題劃分的模式把軟件開(kāi)發(fā)人員按課題組成小組 小組成員自始至終參加所承擔(dān)課題的各項(xiàng)任務(wù) 他們應(yīng)負(fù)責(zé)完成軟件產(chǎn)品的定義 設(shè)計(jì) 實(shí)現(xiàn) 測(cè)試 復(fù)查 文檔編制 甚至包括維護(hù)在內(nèi)的全過(guò)程 2 按職能劃分的模式把參加開(kāi)發(fā)項(xiàng)目的軟件人員按任務(wù)的工作階段劃分成若干個(gè)專(zhuān)業(yè)小組 要開(kāi)發(fā)的軟件產(chǎn)品在每個(gè)專(zhuān)業(yè)小組完成階段加工 即工序 以后 沿工序流水線向下傳遞 例如 分別建立計(jì)劃組 需求分析組 設(shè)計(jì)組 實(shí)現(xiàn)組 系統(tǒng)測(cè)試組 質(zhì)量保證組 維護(hù)組等 各種文檔資料按工序在各組之間傳遞 3 矩陣形模式這種模式實(shí)際上是以上兩種模式的復(fù)合 一方面 按工作性質(zhì) 成立一些專(zhuān)門(mén)組 如開(kāi)發(fā)組 業(yè)務(wù)組 測(cè)試組等 另一方面 每一個(gè)項(xiàng)目又有它的經(jīng)理人員負(fù)責(zé)管理 每個(gè)軟件人員屬于某一個(gè)專(zhuān)門(mén)組 又參加某一項(xiàng)目的工作 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)鍵部分 技術(shù)員負(fù)責(zé)項(xiàng)目的具體分析與開(kāi)發(fā) 文檔資料的編寫(xiě)工作 后援工程師支持主程序員的工作 為主程序員提供咨詢(xún) 也做部分分析 設(shè)計(jì)和實(shí)現(xiàn)的工作 并在必要時(shí)能代替主程序員工作 主程序員制小組還可以由一些專(zhuān)家 如通信專(zhuān)家或數(shù)據(jù)庫(kù)設(shè)計(jì)專(zhuān)家 輔助人員 如打字員和秘書(shū) 軟件資料員協(xié)助工作 2 民主制小組在民主制小組中 遇到問(wèn)題 組內(nèi)成員之間可以平等地交換意見(jiàn) 工作目標(biāo)的制定及做出決定都由全體成員參加 雖然也有一位成員當(dāng)組長(zhǎng) 但工作的討論 成果的檢驗(yàn)都公開(kāi)進(jìn)行 這種組織形式強(qiáng)調(diào)發(fā)揮小組每個(gè)成員的積極性 有人認(rèn)為這種組織形式適合于研制時(shí)間長(zhǎng) 開(kāi)發(fā)難度大的項(xiàng)目 3 層次式小組在層次式小組中 組內(nèi)人員分為三級(jí) 組長(zhǎng) 項(xiàng)目負(fù)責(zé)人 一人負(fù)責(zé)全組工作 包括任務(wù)分配 技術(shù)評(píng)審和走查 掌握工作量和參加技術(shù)活動(dòng) 他直接領(lǐng)導(dǎo)二至三名高級(jí)程序員 每位高級(jí)程序員通過(guò)基層小組 管理若干位程序員 這種組織結(jié)構(gòu)只允許必要的人際通信 比較適用于項(xiàng)目本身就是層次結(jié)構(gòu)的課題 因?yàn)檫@樣可以把項(xiàng)目按功能劃分成若干個(gè)子項(xiàng)目 把子項(xiàng)目分配給基層小組 由基層小組完成 這種組織方式比較適合于大型軟件項(xiàng)目的開(kāi)發(fā) 人員配備 如何合理地配備人員 也是成功地完成軟件項(xiàng)目的切實(shí)保證 所謂合理地配備人員應(yīng)包括 按不同階段適時(shí)任用人員恰當(dāng)掌握用人標(biāo)準(zhǔn) 1 項(xiàng)目開(kāi)發(fā)各階段所需人員 一個(gè)軟件項(xiàng)目完成的快慢 取決于參與開(kāi)發(fā)人員的多少 在開(kāi)發(fā)的整個(gè)過(guò)程中 多數(shù)軟件項(xiàng)目是以恒定人力配備的 實(shí)際人力需求與開(kāi)發(fā)進(jìn)度的關(guān)系如下圖中的曲線所示 按此曲線 需要的人力隨開(kāi)發(fā)進(jìn)展逐漸增加 在編碼與單元測(cè)試階段達(dá)到高峰 以后又逐漸減少 如果恒定地配備人力 在開(kāi)發(fā)初期將會(huì)有部分人力資源用不上而浪費(fèi)掉 在開(kāi)發(fā)中期 需要人力不夠 造成進(jìn)度的延誤 在開(kāi)發(fā)后期就需要增加人力以趕進(jìn)度 恒定地配備人力將浪費(fèi)人力資源 2 配備人員的原則 重質(zhì)量軟件項(xiàng)目是技術(shù)性很強(qiáng)的工作 要任用少量有實(shí)踐經(jīng)驗(yàn) 有能力的人員去完成關(guān)鍵性的任務(wù) 重培訓(xùn)培養(yǎng)所需技術(shù)人員和管理人員是有效解決人員問(wèn)題的好方法 雙階梯提升人員提升應(yīng)分別按技術(shù)職務(wù)和管理職務(wù)進(jìn)行 不能混在一起 3 對(duì)項(xiàng)目經(jīng)理人員的要求 軟件經(jīng)理人員是工作的組織者 他的管理能力的強(qiáng)弱是項(xiàng)目成敗的關(guān)鍵 他應(yīng)具有以下能力 把用戶(hù)提出的非技術(shù)性要求加以整理提煉 以技術(shù)說(shuō)明書(shū)的形式轉(zhuǎn)告給分析員和測(cè)試員 能說(shuō)服用戶(hù)放棄一些不切實(shí)際的要求 以保證合理的要求得以滿足 能夠把表面上似乎無(wú)關(guān)的要求集中在一起 歸結(jié)為 需要什么 要解決什么問(wèn)題 這是一種綜合問(wèn)題的能力 要懂得心理學(xué) 能說(shuō)服上級(jí)領(lǐng)導(dǎo)和用戶(hù) 讓他們理解什么是不合理的要求 但又要使他們毫不勉強(qiáng) 樂(lè)于接受 并受到啟發(fā) 4 評(píng)價(jià)人員的條件 軟件項(xiàng)目中人的因素越來(lái)越受重視 在評(píng)價(jià)和任用軟件人員時(shí) 必須掌握一定的標(biāo)準(zhǔn) 人員素質(zhì)的優(yōu)劣常常影響到項(xiàng)目的成敗 牢固掌握計(jì)算機(jī)軟件的基本知識(shí)和技能 善于分析和綜合問(wèn)題 具有嚴(yán)密的邏輯思維能力 工作踏實(shí) 細(xì)致 不靠碰運(yùn)氣 遵循標(biāo)準(zhǔn)和規(guī)范 具有嚴(yán)格的科學(xué)作風(fēng) 工作中表現(xiàn)出有耐心 有毅力 有責(zé)任心 善于聽(tīng)取別人的意見(jiàn) 善于與周?chē)藛T團(tuán)結(jié)協(xié)作 建立良好的人際關(guān)系 具有良好的書(shū)面和口頭表達(dá)能力 11 8軟件過(guò)程與過(guò)程成熟度模型 軟件過(guò)程是軟件生存期中的一系列相關(guān)過(guò)程 過(guò)程是活動(dòng)的集合 活動(dòng)是任務(wù)的集合 任務(wù)是將輸入變換為輸出的操作 活動(dòng)的執(zhí)行可以是順序的 重復(fù)的 并行的 嵌套的 為了得到滿足要求的軟件產(chǎn)品 不但需要有好的開(kāi)發(fā)方法 還需要有好的工程支持和工程管理 基本過(guò)程 獲取過(guò)程供應(yīng)過(guò)程開(kāi)發(fā)過(guò)程運(yùn)行過(guò)程維護(hù)過(guò)程 獲取過(guò)程 是需方為了獲得一個(gè)軟件產(chǎn)品所進(jìn)行的一系列活動(dòng) 該過(guò)程從為獲取該軟件產(chǎn)品的需求定義開(kāi)始 經(jīng)過(guò)招標(biāo)準(zhǔn)備 合同的準(zhǔn)備和修改 對(duì)供方的監(jiān)督 直到驗(yàn)收完成 供應(yīng)過(guò)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 道理認(rèn)知面試題及答案
- 視覺(jué)分析測(cè)試題及答案
- 戰(zhàn)地護(hù)士考試題及答案
- java經(jīng)驗(yàn)面試題及答案
- supermap面試題及答案
- 造紙電工試題及答案
- 大道之行考試題及答案
- 光電操作面試題及答案
- 2024-2025學(xué)年黑龍江省哈爾濱市六校高一上學(xué)期期末聯(lián)考語(yǔ)文試題(解析版)
- 社區(qū)土地流轉(zhuǎn)流轉(zhuǎn)風(fēng)險(xiǎn)分擔(dān)協(xié)議
- 新疆開(kāi)放大學(xué)2025年春《國(guó)家安全教育》形考作業(yè)1-4終考作業(yè)答案
- 管網(wǎng)工程有限空間內(nèi)清淤作業(yè)檢測(cè)修復(fù)安全專(zhuān)項(xiàng)施工方案
- 成本預(yù)算績(jī)效分析實(shí)施案例
- 2025屆高三語(yǔ)文二輪復(fù)習(xí):典型題各個(gè)擊破之表達(dá)效果類(lèi)語(yǔ)用題型(含答案解析)
- 2025年四級(jí)聽(tīng)力試題及原文答案
- 數(shù)字媒體制作技術(shù)規(guī)范及操作指南
- 不要慌太陽(yáng)下山有月光二部合唱線譜
- 仁愛(ài)版九上英語(yǔ)單詞表
- 中國(guó)糖尿病防治指南(2024版)解讀
- 河道鋼板樁圍堰施工方案
- 臨床路徑品管圈
評(píng)論
0/150
提交評(píng)論