概論
-
軟體工程三要素
-
過程
-
方法
-
工具
-
-
軟體過程的定義
軟體過程是用於軟體開發及維護的一系列活動、方法及實踐。
-
常見軟體過程分類(五大類)
-
客戶-供應商過程:內部直接影響到客戶、外部直接影響開發、向客戶交付軟體以及軟體正確操作與使用的過程。
-
工程過程:軟體系統、產品的定義、設計、實現以及維護的過程。
-
支援過程
-
管理過程:整個軟體生命週期中為工程過程、支援過程和客戶-供應商過程的實踐活動提供指導、跟蹤和監控的過程。
-
組織過程
-
-
常見軟體過程(主要列舉管理過程)
-
專案管理:計劃、跟蹤和協調專案執行及生產所需資源的管理過程。(主要關注時間、成本)
-
質量管理:對專案產品和服務的質量加以管理,從而獲得最大的客戶滿意度。(主要關注質量)
-
風險管理:整個專案的生命週期中對風險不斷的識別、診斷和分析,迴避風險、降低風險或消除風險,並在專案以及組織層次上建立有效的風險管理機制。
-
子合同管理:選擇合格的子合同商並對其進行管理的過程。
-
軟體質量管理
軟體質量
-
定義:軟體質量是軟體產品滿足明確或隱含需要能力的效能和特性的總體。
ISO/IEC 9126
-
軟體質量度量模型的組成:
-
軟體質量特性
-
軟體質量子特性
-
軟體質量度量評價標準
-
-
六個一級質量特性
-
功能性
-
可靠性
-
易用性
-
效率
-
可維護性
-
可移植性
-
-
一級特性對應的二級特性(選擇題)
朱蘭質量管理三部曲
-
質量計劃:確定專案應達到的質量標準,以及如何滿足質量標準的計劃安排和方法。
-
質量成本:為達到產品或服務質量而付出所有努力的總成本。
-
預防成本
-
評價成本
-
失效成本
-
-
-
質量保證:確保專案達到有關標準而開展的有計劃、有組織的工作活動。
-
正規的質量評價:質量審計
-
總結性的質量評價:質量改進
-
-
質量控制:確定專案結果與質量標準是否相符,並及時糾正產品缺陷的過程。
-
靜態方法:審計
-
動態方法:測試
-
軟體專案管理
基本概念
-
專案:專案是為完成某一獨特的產品、服務或成果所做的一次性努力。
-
專案管理:專案管理(PM)就是在專案活動中運用相關知識, 技能, 工具和技術滿足專案的要求。
-
專案管理的五大過程組:啟動、計劃、執行、控制和收尾。
-
專案管理的十大知識領域:
-
專案整合管理
-
專案範圍管理
-
專案時間管理
-
專案成本管理
-
專案質量管理
-
專案人力資源管理
-
專案溝通管理
-
專案風險管理
-
專案採購管理
-
專案相關利益者管理
-
可行性分析
-
可行性分析——淨現值
-
定義:淨現值是成本效益分析的有力工具之一。
-
優點:
-
適用性強,能基本滿足專案年限相同的互斥投資方案決策。
-
能靈活地考慮投資風險。
-
-
識別軟體專案的活動
-
WBS:WBS是面向可交付成果的對專案任務的分組,它組織並定義了整個專案範圍。它是一個分級的樹型結構,是對專案由粗到細的分解過程。
軟體工作量估計方法
-
演算法模型
-
專家判斷
-
類比
-
自頂向下
-
自底向上
軟體專案的進度安排
-
甘特圖
-
缺點:無法描述任務的邏輯關係
-
-
關鍵路徑法(CPM)
-
定義
-
關鍵路徑:專案網路圖中花費時間最長的活動路線叫做關鍵路徑。
-
關鍵活動;組成關鍵路徑的活動。
-
關鍵路徑法的缺點:關鍵路徑法中的活動週期是確定的,固定不變的,這與現實不太符合。
-
-
關鍵路徑的特點:
-
關鍵路徑上活動持續時間總和是專案的工期。
-
關鍵路徑上任何一個活動的延遲都會導致整個專案完工時間延遲。
-
關鍵路徑是相對的,也是變化的,非關鍵路徑可能變為關鍵路徑,關鍵路徑也可能變為非關鍵路徑。
-
-
計算
-
核心:正向求最早開始時間和最早結束時間,二者取大作為最早開始時間;反向求最晚開始時間和最晚結束時間,二者取小作為最晚結束時間。
-
$$
自由時差(空閒緩衝期)=後續活動的最早開始時間-當前活動的最早完成時間
$$
$$
總時差(總緩衝期)=最晚完成時間-最早完成時間
$$
$$
干預緩衝期=總緩衝期-空閒緩衝期
$$
-
-
-
PERT技術(工程評估評審技術)的步驟:
-
估計每個活動的最可能的時間,樂觀的時間,悲觀的時間,計算活動的期望週期與標準偏差;
-
正向遍歷得到期望達到事件的日期;
-
滿足目標的可能性。
-
-
關鍵鏈法(CCPM)步驟:
軟體專案的資源管理
-
資源:資源是執行專案所需要的任何項和人。
-
資源分配直方圖
軟體專案的風險管理
-
風險的定義:一個不確定的事件或者情況,若其一旦發生,會對專案的目標,例如:進度、成本和質量,產生積極或消極的影響。
-
風險管理的框架
-
風險處理方法
軟體專案的配置管理
-
配置管理的任務
-
-
控制變更
-
確保變更正確實現
-
向受變更影響的組織和個人報告變更
-
-
配置項:軟體配置管理的物件,一個軟體配置項是專案中一個特定的、可文件化的工作產品集。