《软件过程管理》 第一章 软件过程规范
? ? 2018.7.7日更新:添加黃色背景的知識需要重點掌握哦。 ??
?????人機交互的考試結束啦,最近找出了很久沒有過的一副耳機,發現音效好棒,腦袋里居然想起了交互設備的語音交互設備,耳機從單聲道演變成多聲道,四聲道耳機可以更好實現三位立體音效;看到手機屏幕,開始翻小米的官網,想知道究竟是哪種LED屏;最近在一些學校的網站報名夏令營,有些網站沒有保存的功能,第一反應是這個網站應該設計的減輕用戶記憶的嘛……每門課程結束之后,無論最后的成績如何,總會有意想不到的收獲。
????? ? 今天開始復習《軟件過程管理》啦,我們學校使用的教材是清華大學出版社朱少民老師等人編寫的《軟件過程管理》(不知道能否猜到我是哪個學校的),于是一邊看書,一邊整理。那就還是從第一章開始吧。
?
?
? ? ? ?軟件過程管理可以為快速開發高質量軟件、有效地維護軟件運行等各類活動提供指導性框架、實施方法和最佳實踐。軟件過程規范可以保證過程活動的一致性、有效性和持續性。
第一章 軟件過程規范
一、軟件過程
1.過程定義
????能力成熟度模型(Capacity Maturity Modal CMM)定義過程是用于軟件開發及維護的一系列活動、方法和實踐。
????過程是指一組將輸入轉化為輸出的相互關聯或相互作用的活動,活動由輸入、實施活動和輸出三個環節組成。
????過程一般可以分為:產品實現過程、管理過程和支持過程。
2.軟件過程的分類
●ISO/IEC12207:基本、支持、組織過程
(1)基本過程:軟件獲取、供應、開發、運行和維護過程,包括了需求分析、軟件設計和編碼。
(2)支持過程:對軟件的主要過程提供支持的過程,包括了文檔編制、配置管理、質量保證、驗證和確認、評審過程。
(3)組織過程:對軟件主要過程和支持過程的組織保證過程,包括了管理、基礎設施、改進、培訓過程。
?
●ISO/IEC15504:工程、支持、管理、組織、客戶-供應商
?
(1)工程過程:軟件系統、產品的定義、設計、實現和維護 ???????核心
(2)支持過程:被其他任何過程采用的、起到輔助作用的過程? ????
(3)管理過程:提供指導、跟蹤和監控的過程?????????????????? ??????? 關鍵
(4)組織過程????????????????????????????????????????????????????????????????????????????????? 基礎
(5)客戶-供應商過程
?
3.軟件過程定義的層次性
?????? 公用(通用)軟件過程——組織標準軟件過程——項目自定義的軟件過程
?
二、過程規范
?????? 軟件過程管理的目的就是最大限度地提高軟件產品的質量與軟件開發過程的生產率(依賴于過程、人和技術)。
1.軟件過程規范的定義
?????? 過程規范就是對輸入/輸出和活動所構成的過程進行明文規定或約定俗成的標準。軟件過程規范是軟件開發組織行動的準則與指南,可以依據上述各類過程的特點而建立相應的規范,如軟件基本過程規范、軟件支持過程規范和軟件組織過程規范。
????
??軟件過程規范是人們需要遵守的約定和規則,包括已經定義的操作方法、流程和文檔模板。
2.軟件過程規范的建立
軟件過程規范是建立在軟件組織之上,充分地結合軟件組織的實際情況(如規模、行業和開發模式等),盡力地吸收先進的軟件過程模型、過程框架或過程模式所包含的軟件工程思想、方法及實踐,引入適用的技術和工具,為軟件開發和維護建立一部詳細、可操作的過程指南。
可以借鑒的過程或模式有:
?????? 軟件能力成熟度模型CMM、個體軟件過程PSP、團隊軟件過程TSP、能力成熟度模型集成CMMI、RUP:IBM-Rational統一過程、極限編程XP、微軟解決方案框架MSF
?
PSP:個體軟件過程,是一種可用于控制、管理和改進個人工作方式的自我持續改進過程,是一個包括軟件開發表格、指南和規程的結構化框架。
CMM:軟件能力成熟度模型:用于評估和改進軟件組織的過程能力。
TSP:團隊軟件過程,建立在個體軟件過程之上,致力于開發高質量的產品,建立、管理好授權項目小組,產生開發團隊過程、提高開發團隊能力的指導性框架。
CMMI:能力成熟度模型集成,是在CMM的基礎上,將現有的各種能力成熟度模型集成到一個框架中去,包含了健全的軟件開發原則。
極限編程:XP,為適應快速地需求變化而積累的最佳實踐,但需要適度實踐。
3.軟件過程規范的作用(積極影響和消極影響)
積極:
?1)???????幫助團隊實現共同的目標;
2)???????一個規范的軟件過程必能帶來穩定的、高水平的過程質量,確保產品的高質量;
3)???????幫助確定目標產品的質量標準與特性,與用戶達成共識,項目成員接受相應的培訓,每個成員清楚知道產品的質量標準與特性,從而容易建立一致、穩定和可靠的而質量水平。
4)???????使得軟件組織的生產效率更高;過程規范執行的結果使得團隊具有統一、協調、規范的行動與工作方式。
消極:可能會對過程的創新、技術創新有約束,產生消極影響。
????????規范的過程是達到軟件開發目標、提高質量的必要條件,不是充分條件。過程規范可以保證正確地做事,但不能保證做正確的事情。
三、軟件生命周期的過程需求
?????? 軟件聲明周期是軟件獲取、供應、開發、運行和維護的過程,ISO/IEC15504定義軟件過程是:工程過程、支持過程、管理過程、組織過程和客戶-供應商過程。
●工程過程:軟件系統、產品的定義、設計、實現以及維護的過程。
1)??開發過程:需求分析、軟件設計和編程
????????需求分析:定義功能、非功能需求
????????軟件設計:數據結構、應用接口、模塊、算法和界面設計
????????編程:開發可運行的軟件單元
????????集成與測試:
2)??運行過程:軟件部署
????????規定軟件產品的運行和對用戶的操作支持的各種活動,涉及到用戶環境或產品運行環境的測試、部署、操作和支持。
3)??維護過程:修改、變更
????????保持系統操作完整性的前提下,對系統進行變更、移植與升級,包括硬件、軟件、操作手冊和網絡等方面的維護。
●支持過程:文檔編制、配置管理、質量保證、驗證、確認、聯合評審、審核、問題解決
a)文檔編制 documentation process
????????記錄軟件生命周期過程產生的信息所需的活動。
b) 配置管理 Software Configuration Management SCM
????????包括了配置標識、配置控制、配置狀態統計、配置評價、發行管理和交付。
c) 質量保證 Quality Assurance QA
????????工作產品以及活動遵循相應的標準和規范,包含了產品質量保證、過程質量保證、質量體系保證。
d) 驗證 Verification
????????依據需求定義和產品規范,確定軟件產品滿足所給的要求和條件。
e) 確認 Validation
????????判斷產品實現的功能、特性滿足用戶的實際需求。
f) 聯合評審 review:供需雙方共同參加
g) 審核 audit 內審
h) 問題解決 problem solution
●管理過程 指導、跟蹤和監控
1) 項目管理過程 Project Management Process PMP
? ? ? 包括軟件基本過程的范圍確定、策劃、執行和控制、評審和評價
2) 質量管理過程 Quality Management Process QMP
? ? ?對項目產品和服務的質量加以管理,從而獲得最大的客戶滿意度
3) ?風險管理過程 Risk Management Process RMP
? ? 對風險不斷的識別、診斷和分析,回避風險、降低風險或消除風險,并在項目以及組織層次上建立有效的風險管理機制
4) 子合同商管理過程 Sub-contractor Management Process SCMP
? ? 選擇合格的子合同商并對其進行管理的過程
●組織過程
? ? ?建立和實現相關的生命周期過程和熱源組成額基礎結構并不斷改進結構的過程。
a) ?業務規劃過程 Bussiness Planning Process BPP
b) ?定義過程 Definition
c) ? 改進過程 improvement of process
d) ?人力資源和培訓過程 Human Resource & Training Process HRTP
e) ?基礎設施過程 infrastructure
●客戶-供應商過程CUS
?????? 內部直接影響到客戶、外部直接影響開發、向客戶交付軟件以及軟件正確操作與使用的過程。
1) ?獲取過程 acquisition
? ? ?該過程的成功實施會導致最終生成一個明確的合同或條約,清楚地描述出客戶與供應方的期望、職責與義務。
2) ?客戶需求管理過程 Customer Requirement Management Process CRMP
? ? 針對不斷變化的客戶需求加以收集、處理和跟蹤,并建立軟件需求的基準線,以作為項目中軟件開發活動過程和產品度量和變更管理的基礎。
3) 供應過程 supplying
? ? ?按照客戶、事先規定的要求對軟件進行包裝、發布與安裝的活動過程
4) 軟件操作過程 operation
5) ?客戶支持過程 Customer Support Process CSP
四、軟件生命周期標準
?????? 最具有代表性的是ISO標準體系和IEEE標準體系。ISO標準體系:ISO/IEC12207 、ISO/IEC15504。
五、軟件過程建模
?????? 開發過程模型化:為了更好的理解軟件開發過程的特性,跟蹤、控制和改進軟件產品的開發過程。使用模型可以從全局上把握系統的全貌以及相關部件之間的關系。
?????? 軟件過程模型描述了軟件過程要素(活動、資源、角色、過程產品)以及要素之間的關系,描述的方法和工具:UML、IDEF3、Agent等。
?
?
?
?
總結
以上是生活随笔為你收集整理的《软件过程管理》 第一章 软件过程规范的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql int()_简单谈谈MySQ
- 下一篇: 批处理 java环境_java环境配置简