軟體過程與管理
一、概論
1. 軟體工程的三要素。
過程、方法、工具
- 軟體過程的定義。
軟體過程是用於軟體開發及維護的一系列活動、方法及實踐
3. 常見的軟體過程分類。常見的軟體過程。
二、軟體質量管理
1. 軟體質量的定義。
2.ISO/IEC 9126的結構、ISO/IEC 9126:2001十個一級質量特性、一級特性對應的二級特性(理解)。
3. 朱蘭質量管理三部曲。
三、軟體專案管理
1. 基本概念:專案;專案管理;專案管理的五大過程組;專案管理的十大知識領域。
2.可行性分析:淨現值的優點。
- 識別軟體專案的活動:WBS:Work Breakdown Structure工作分解結構。
- 軟體工作量估計方法:常見的軟體工作量估計方法,記住名稱,並理解每個方法。IFPUG功能點方法中資訊系統的五大類功能(五種不同型別的構件或功能)?
- 軟體專案的進度安排:甘特圖、關鍵路徑法、關鍵鏈法、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
- 軟體專案的資源管理:資源定義,資源分配直方圖。
資源定義是指在軟體專案中確定所需資源的過程。
6. 軟體專案的風險管理:風險的定義,風險管理的框架,風險處理的方法。
7. 軟體專案的監督和控制:掙值分析。
(1) https://wenku.baidu.com/view/7bcf90280066f5335a81211b.html
(2) https://blog.csdn.net/pmpljp/article/details/19299077
8.軟體專案的配置管理:配置管理的任務,配置項。
四、經典的軟體過程管理
1. CMM/CMMI :CMM軟體過程能力成熟度模型(Capacity Maturity Model)
(1) CMM:出發點,體系結構,關鍵過程域,關鍵實踐活動。
出發點:認為軟體產品質量很大程度上取決於軟體開發和維護過程的質量
關鍵過程域:Key Process Area
(2) CMMI與CMM的區別和聯絡,CMMI的兩種表示方法。
表示方法:階段式表示法,連續式表示法
- PSP:旨在提供一種由能力成熟度模型(CMM)描述的支援過程改進組織程序的個人規範。
結構,兩種日誌,評審比測試有效的原因,四個設計模板。
巧記:度計質管循
日誌:時間日誌,缺陷日誌
評審比測試有效的原因:更早地發現錯誤,成本效益,預防為主,團隊協作,持續改進
四個設計模板:
- 軟體過程模型:瀑布、原型、增量、螺旋、形式化、元件的優缺點。
瀑布模型:
優點:結構清晰,階段分明,便於管理和控制;每個階段都有明確的交付物,易於跟蹤和驗證。
缺點:缺乏靈活性,一旦進入下一階段就很難返回上一步;需求變更代價高昂;使用者直到專案末期才能看到成品,風險較高。
原型模型:
優點:開發週期短,可以快速向使用者提供原型進行反饋;特別適合需求不明確或需要快速迭代的專案。
缺點:可能忽視系統的整體設計和長期維護;在產品效能和質量方面可能存在不足。
增量模型:
優點:允許逐步增加功能模組,可以分步實施和測試;能夠在較短時間內釋出部分可用的產品。
缺點:若初期架構設計不夠完善,後期整合可能會遇到困難;隨著增量的增加,系統複雜度和維護成本可能上升。
螺旋模型:
優點:結合了瀑布模型的嚴格性和原型模型的靈活性;強調風險分析,適合複雜大型專案。
缺點:管理複雜,成本高;每次迭代都需要充分的風險評估和規劃。
形式化模型:
優點:透過嚴格的數學方法和邏輯推理來確保軟體的正確性;適用於對安全性和正確性要求極高的系統。
缺點:開發成本高,耗時長;需要專業的知識和技能。
元件模型:
優點:利用現成的元件進行開發,提高開發效率;便於維護和升級。
缺點:依賴於第三方元件的質量和相容性;可能會受限於現有元件的功能。
- MSF:微軟解決方案框架(Microsoft Solution Framework)
六個角色;
過程模型中的五個階段:構思->計劃->開發->穩定->部署
:巧記:構計開穩部
- RUP:統一軟體(開發)過程 Rational Unified Process
九個軟體過程:6核心+3輔助:商業建模,需求,分析和設計,實現,測試,部署;配置和變更管理,專案管理,環境
四個階段:初始->細化->構造->交付
六大經驗:迭代式開發,管理需求,基於元件的體系結構,視覺化建模,驗證軟體質量,控制軟體變更。
五、敏捷軟體開發
1. 敏捷宣言。
價值觀:個體和互動高於流程和工具;可工作的軟體高於詳盡的文件;客戶合作高於合同談判;響應變化高於遵循計劃。
原則:包括透過早期和持續的軟體交付來提升客戶滿意度,歡迎變更請求,提供工作軟體優於綜合文件等。
2. 常見的敏捷軟體過程,SCRUM和極限程式設計。
常見的敏捷軟體過程:
Scrum:一種用於管理產品開發或工作的高度迭代式敏捷框架。它定義了一系列固定長度的工作週期(通常是兩週到一個月),在每個週期結束時產出可交付的產品增量。Scrum強調團隊的自我組織和每日站會溝通。
極限程式設計(XP):一個更注重技術實踐的輕量級開發方法,它特別強調技術卓越和客戶反饋。XP提倡頻繁的釋出小版本,以確保軟體能夠快速適應客戶需求的變化,並提高軟體質量。
大題一:專案規劃題:關鍵路徑一定要帶單位;總緩衝期是最晚開始時間減最早開始時間;空閒緩衝期是當前任務的後驅任務的最早開始時間(左上角)減去當前任務的最早結束時間(右上角);干預緩衝期=總緩衝期-空閒緩衝期
大題二:掙值分析題:一定要帶單位,約數要保留小數點後兩位;一定要寫具體公式: