軟件管理--復習整理筆記
軟件過程與管理知識回顧
一、概論
1. 軟件工程的三要素。
方法、工具和過程
2. 軟件過程的定義。
軟件過程是用於軟件開發及維護的一系列活動、方法及實踐
3.常見的軟件過程分類。常見的軟件過程。
ISO/IEC15504軟件過程分類(5大類):客戶-供應商過程,工程過程,支持過程,管理過程,組織過程。
軟件過程模型:瀑布、原型、增量、螺旋、形式化、組件的優缺點。
二、軟件質量管理
1. 軟件質量的定義。
軟件質量是軟件產品滿足明確或隱含需要能力的性能和特性的總體-----------------------------------------------------------------------------------------------------------------------------
2.ISO/IEC 9126的結構、六個一級質量特性、一級特性對應的二級特性(理解)。
結構---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1991年ISO/IEC9126中,軟件質量度量模型由三層組成:軟件質量特性(即一級質量特性),軟件質量子特性
2001年ISO/IEC9126中,軟件質量度量模型由四部分組成:質量模型,外部質量度量,內部質量度量,使用質量度量。
一級質量屬性,對應二級質量特性理解--------
3. 朱蘭質量管理三部曲。
質量計劃 (Quality Plan):確定項目應達到的質量標準,以及如何滿足質量標準的計劃安排和方法。
質量保證(Quality Assurance, QA):確保項目達到有關標準,而開展的有計劃、有組織的工作活動。”Is it done right?”
質量控制(Quality Control, QC):是確定項目結果與質量標準是否相符,並及時糾正產品缺陷的過程。”
三、軟件項目管理
1. 基本概念:項目;項目管理;項目管理的五大過程組;項目管理的十大知識領域。
項目----項目是為完成某一獨特的產品、服務或成果所做的一次性努力。
項目管理---項目管理(PM)就是在項目活動中運用相關知識, 技能, 工具和技術滿足項目的要求。
五大過程---啟動過程,計劃過程,執行過程,控制過程,收尾過程
十大知識領域---項目集成管理,項目範圍,管理項目,時間管理,項目成本管理 ,項目質量管理,項目人力資源管理,項目溝通管理,項目風險管理,項目采購管理,項目利益相關者管理
2. 可行性分析:凈現值的優點。
------凈利潤/回收期/投資回報率在一定程度上忽視了成本和現金流的時限/收益的大小/現金的時限利息和利率。凈現值NPV(利用了貼現率,第t年的值/(1+r)t)。
- 凈現值是指特定方案未來現金流入量的現值和未來現金流出量的現值之間的差額。
- 優點:考慮了資金時間價值,增強了投資經濟性的評價;考慮了全過程的凈現金流量,體現了流動性與收益性的統一;考慮了投資風險,風險大則采用高折現率,風險小則采用低折現率。
3. 識別軟件項目的活動:WBS。
- ---任務分解結構(WBS):是面向可交付成果的對項目任務的分組,它組織並定義了整個項目範圍。它是一個分級的樹型結構,是對項目由粗到細的分解過程。
- 葉子節點+中間節點是什麽?
葉子節點(功能-子功能):只有最底層的葉子節點構成了項目的活動集合。
中間結點(功能)
4. 軟件工作量估計方法:常見的軟件工作量估計方法,記住名稱,並理解每個方法。
專家判斷,類比估計,自底向上,自頂向下。
l ------專家判斷:
l 類比估計:根據實例特征,評價相似程度,利用相似的項目數據得到最終估算值。
----需要有經驗的領域,不能在早期規模不確定的時候使用,難以適應約束條件技術,人員等重大變化。
l 自底向上
l 自頂向下
5. 軟件項目的進度安排:甘特圖、關鍵路徑法、關鍵鏈法、PERT技術。(關鍵路徑法必須全面理解掌握,只需要掌握活動節點,活動箭頭不需掌握;後兩種方法了解,能夠了解計算步驟)
(1) http://www.doc88.com/p-5763050345476.html
(2) https://wenku.baidu.com/view/6368fe9e51e79b8968022620.html
(3) http://www.cnitpm.com/pm/5933.html
關鍵路徑--只有等項目中耗時最多最長的活動完成之後,項目才能結束。這條路徑就是關鍵路徑,組成關鍵路徑的活動就是關鍵活動。
- 關鍵鏈(不考計算題,考定義步驟)與關鍵路徑相比,它既考慮項目活動的緊前關系,又考慮資源沖突,構建網絡圖,得到最長路徑——關鍵鏈;關鍵鏈決定了項目工期。
關鍵鏈法的步驟:
1緊前關系,得到的最長路徑---關鍵路徑 2考慮緊前關系和資源沖突,得到關鍵鏈(關鍵鏈決定了項目工期) 3加入項目緩沖和匯入緩沖;項目緩沖:放在關鍵鏈後面;匯入緩沖:放在非關鍵鏈與關鍵鏈的交匯處 4砍掉所有項目的一半計算緩沖大小
- PERT技術(不考計算題,考定義步驟):全稱:工程評估評審技術。類似於關鍵路徑法。考慮到了進度管理中的風險,將不確定性引入了進度管理中。對活動周期進行三次估計,不再是CPM關鍵路徑中的確定值。
PERT的步驟:
1.估計每個活動的最有可能時間,樂觀時間,悲觀時間,計算活動的期望周期與標準偏差。
2.正向遍歷得到期望達到事件的日期
3滿足目標的可能性
6.軟件項目的資源管理:資源定義,資源分配直方圖。
資源定義----資源是執行項目所需要的任何項和人。
資源分配直方圖通過延遲某些活動的開始日期,來平衡化資源直方圖。
軟件項目的風險管理:風險的定義,風險管理的框架,風險處理的方法。
風險的定義---一個不確定的事件或者情況,若其一旦發生,會對項目的目標,例如,範圍、進度、成本和質量,產生積極或消極的影響。
風險管理的框架---風險識別,風險分析與優先級排序,風險策劃,風險監督
風險優先級,風險影響 = (可能的危害)×(發生概率)
風險處理的方法---接受風險,規避風險,降低風險,轉移風險
風險的分類--4大類:參與者,技術,結構,任務
7. 軟件項目的監督和控制:掙值分析。
(1) https://wenku.baidu.com/view/7bcf90280066f5335a81211b.html
(2) https://blog.csdn.net/pmpljp/article/details/19299077
掙值分析---0/100 OR 百分比
計劃價值(已計劃工作的預測成本)---Planned value --- PV-----200*5
掙值(已執行工作的預測成本)---Earned value ---EV-----200*3.5
實際成本(已執行工作的實際成本)--- Actual Cost ---AC----1000
進度偏差(已完成的工作值與計劃的工作值的差)---Schedule Variance-- SV ---EV-PV---700-1000
成本偏差(已完成工作的預算成本和實際成本的偏差)---Cost Variance --CV --EV-AC---700-1000
進度性能指標(Schedule Performance Index, SPI): SPI = EV / PV---大於1及比預期好
成本性能指標(Cost Performance Index, CPI): CPI = EV / AC----大於1及比預期好
完成時間的估計值(按照當前進度項目的完成時間估計)---TEAC = SAC / SPI (Schedule At Completion, SAC, 項目的計劃周期)--------10/0.7
項目的成本預算(按照當前的進度,項目的總支出的估計)--- EAC = BAC / CPI (Budget At Completion, BAC, 計劃的項目預算)-----2000/0.7
出題另有:試畫出項目的PV、AC、EV曲線,並分析項目的狀態。各項任務完成的比例見表3。(完成百分比法分配掙值)
8. 軟件項目的配置管理:配置管理的任務,配置項。
配置管理的任務---標誌變更,控制變更,確保變更正確實現,向受變更影響的組織和個人報告變更
配置項---軟件配置管理的對象,一個軟件配置項是項目中一個特定的、可文檔化的工作產品集。例如,程序,文檔等
常見的軟件配置管理軟件---GitHub,Bitbucket,CVS,Subversion(SVN),Google code
四、經典的軟件過程管理
1. CMM/CMMI
CMM是一種理念,是指導思想,不是過程不是技術不是方法。
(1) CMM:出發點,體系結構,關鍵過程域,關鍵實踐活動。
CMM---能力成熟度模型
CMM出發點---改善現有軟件開發過程,也可用於其他過程。
CMM體系結構
CMM由5個成熟度級別組成:
每個成熟度級別(除級別1)包含了實現該級別的若幹個關鍵過程域(KPA)
關鍵過程域(Key Process Area):一系列相互關聯的操作活動,標識了達到某個成熟度級別時所必須滿足的條件。
CMM共有18個KPA,每一級都有自己的KPA。KPA分為三大類:管理過程、組織過程和工程過程。
每一個KPA進一步被分為稱為公共特征的5個部分:執行約定、執行能力、執行活動、測量和分析、驗證實施
這些公共特征包括了關鍵實踐(KP),即每一個KPA包括5類KP
實現了這些KP後,就實現了關鍵過程域的目標
(2) CMMI與CMM的區別和聯系,CMMI的兩種表示方法。
---CMMI的兩種表示方法:連續式,階段式。
區別:連續式作為單一過程域或者過程域集合,階段式作為整個組織已建立的一個過程域集合。CMMI和CMM區別在於:
I是intergration,集成的意思。CMM適用於軟件的組織成熟度測評。CMMI適用於多種組織成熟度測評。CMMI相對CMM更完整,更適用於大環境。
2. PSP:結構,兩種日誌,評審比測試有效的原因,四個設計模板(要知道4個設計模板是什麽,做什麽,對應哪一個UML圖哪一個)。
結構
日誌---時間日誌和缺陷日誌
評審比測試有效的原因--在評審時發現的錯誤比測試是發現的多;成本低。缺陷發現的越早,修復的花費越低;且避免缺陷比發現和修復缺陷更有效。------------------------------------
四個設計模板---a操作規格模板,b功能規格模板,c狀態規格模板,d邏輯規格模板
LST邏輯規格模板(無):用於描述系統中各有機組分(方法,項,算法等)的邏輯實現。
SST狀態規格模板(UML:時序圖):用於描述系統中所有可能發生的狀態的集合,以及狀態之間轉換的條件,伴隨的動作。。
FST功能規格模板(UML:類圖):描述了系統可以向用戶提供對外部可見的行為說明書,以及與這些功能相關的系統行為,變量和內部關系(繼承關系)。OST操作場景模板(UML:用例圖)。描述了系統與外界的交互。描述了用戶與待設計系統的正常情況下和異常情況下的交互。
3.MSF:六個角色;過程模型中的五個階段。
MSF即微軟的解決方案。團隊是微軟作戰最小的基本單元。
項目場景中的6個角色:產品管理,程序管理,開發,測試,發布管理,用戶體驗。-------產程開測發用
5個階段:構思階段,計劃階段,開發階段,穩定階段,部署階段。
------購計開穩部
4.RUP:九個軟件過程(6+3),四個階段,六大經驗。
(Rational Unified Process),統一軟件開發過程,面對對象的軟件工程的過程框架。
- 9個過程域:6個是核心3個是輔助:
6個核心過程流:商業建模,需求,分析和設計,實現,測試,部署。
3個輔助過程流:配置和變更管理,項目管理,環境。
(商分需設,實測部)----(培根項環)
- 4個階段:初始,細化,構造,交付。(每個階段做什麽,做完的裏程碑,中間產品是什麽?)
|
主要活動 |
裏程碑 |
中間產品 |
起始(先啟/初始)階段 |
2 建立系統的業務模型 2 捕獲系統的基本需求 2 確定系統的邊界 2 識別關鍵任務 2 確定系統驗收標準 2 進行項目風險評估 2 進行項目資源的估計與效益分析 2 制定項目開發計劃於重要裏程碑 |
生命期目標 |
2 項目藍圖文檔:系統的核心需求、關鍵特性與主要約束 2 初始的用例模型(完成10%~20%) 2 初始的項目術語表 2 業務用例模型,包括商業環境、驗收標準和財政預測 2 初始的風險評估 2 一個可以顯示階段和叠代的項目計劃 2 一個或多個原型 2 初始的架構文檔 |
細化階段(最關鍵的階段) |
2 細化構想,建立對大多數關鍵用例的確定理解 2 分析問題域,建立堅實的架構 2 細化機構並選擇組件 2 捕獲80%的功能需求用例 2 精化風險評估 2 建立可執行的軟件原型 2 定義非功能需求 2 制定過程叠代計劃和叠代的評價標準 |
生命期構架 |
2 系統架構基線 2 UML靜態模型、UML動態模型、UML用例模型 2 修訂的風險評估 2 修訂的用例 2 修訂的項目計劃 2 可執行的原型 |
構造階段 |
2 資源管理、資源控制和過程優化 2 完成組件開發並根據已定義的評價準則進行測試 2 利用構想指定的準則對發布的產品進行評估 |
初始運作功能。 構造階段的結束時項目開發的第三個重要的裏程碑。這個階段產生的版本通常被稱為β版。 |
2 可運行的軟件系統 2 UML模型 2 測試用例 2 用戶手冊 2 發布描述 |
交付(轉化、產品化)階段 |
2 將軟件系統部署到用戶環境 2 修復軟件的缺陷 2 編制用戶手冊和其他文檔 2 培訓用戶和維護人員 2 提供用戶咨詢 |
產品發布 |
2 可運行的軟件產品 2 用戶手冊 2 用戶支持計劃 |
六大經驗---叠代式開發,管理需求,基於組件的體系結構,可視化建模,驗證軟件質量,控制軟件變更------------------------------------------------------------------------
五、敏捷軟件開發
1. 敏捷宣言--一字不差背住
敏捷宣言-----四個核心價值十二個原則:
“註重個人及互動勝於過程和工具”
“註重可用的軟件勝於詳盡的文檔”
“註重客戶協作勝於合同談判”
“註重響應變化勝於恪守計劃”
2. 常見的敏捷軟件過程--選擇題-填空
---極限編程XP
是一種全新而快捷的軟件開發方法。XP團隊使用現場客戶、特殊計劃方法和持續測試來提供快速的反饋和全面的交流。這可以幫助團隊最大化地發揮他們的價值。------現場客戶,計劃遊戲,系統隱喻,簡單設計,代碼集體所有,結對編程,測試驅動,小型發布,重構,持續集成,每周4小時工作制。
XP特別適合於小型的有責任心的、自覺自勵的團隊開發需求不確定或者迅速變化的軟件
---並行爭球法---Scrum---增量的叠代的開發過程
整個 開發周期包含若幹個小的叠代周期,每個小的的叠代周期稱為一個Sprint(2-4周)
---水晶法Crysta----每一個不同的項目都需要一套不同的策略、約定和方法論
說明:以上只是課程內容的大致介紹,務必反復仔細把我們的課件都好好看看;大部分知識都是識記的,務必下功夫理解並識記。
PPT其他知識點:
質量特性國際標準 ,軟件質量度量模型由三層組成:軟件質量特性,軟件質量子特性,軟件質量度量評價準則
質量成本是為了達到產品或服務的質量而付出的所有努力的總成本,包括三部分:
預防成本:為防止將缺陷引入軟件而進行的預防工作所消耗的費用。---------------
評價成本:檢查軟件是否包含缺陷的工作所消耗的費用。
失效成本:修復缺陷工作所消耗的成本。
缺陷跟蹤:缺陷跟蹤是指從缺陷被發現開始到被改正為止的整個跟蹤流程。
監督報告---紅綠燈交通燈報告:
用“紅黃綠”評估關鍵要素的每個分量元素--二級。評估關鍵要素--第一級。整體評估--需要評審第一級和第二級。
大題:
-------------------------關鍵路徑------------------------------------------------------
空閑緩沖區------a的最早完成與b的最早開始之差
幹預緩沖區-----總的減空閑緩沖區
寫法:
關鍵路徑為:A-C-D-E(2分);
總工期=5+15+15+10=45個工作日(1分),
該核心部分不能在40個工作日內完成(1分);
A-C-F B-D-G 由20天變為18天節約了2天
-------------------------------------------------------掙值分析------------------------------------------------------
成本超支----成本變更控制,績效測量分析,項目績效審核等成本控制方法技術和工具
進度落後----編制進度報告,績效測量,項目管理軟件,偏差分析,甘特圖精度控制方法技術與工具
比較難的題---- https://blog.csdn.net/pmpljp/article/details/19299077
PPT做題:
友情參謀-----@慧慧~
軟件管理--復習整理筆記