軟件工程第七章

第七章 軟件生產週期過程與管理

**大家想一起學習交流的可以加羣,QQ:755422568。**

一、軟件生產週期過程概述

軟件生存週期過程分爲三類:基本過程、支持過程、組織過程。
(填空題,簡述三個過程定義——簡答題)

(1)、基本過程

基本過程是指那些與軟件生產直接相關的活動集。

基本過程分爲五個過程:

獲取過程、供應過程、開發過程、運行過程、維護過程。

開發過程包括以下活動:

過程實現、系統需求分析(建立系統需求規格說明)、系統體系結構設計(建立系統的頂層體系結構)、軟件需求分析(建立軟件需求規格說明,聯合複審)、軟件體系結構設計(聯合複審)、軟件詳細設計、軟件編碼和測試、軟件集成、軟件合格性測試、軟件安裝、軟件驗收支持。

(2)、支持過程

支持過程是指有關各方按他們的目標所從事的一系列相關支持活動集

支持過程分爲:

文檔過程、配置管理過程、質量保證過程、驗證過程、確認過程、聯合複審過程、審計過程和問題解決過程。

配置管理過程包括以下活動:

過程實現、配置標識、配置控制、配置狀態統計、配置評價、發佈管理和交付。

(3)、組織過程

組織過程是指那些軟件生產組織有關的活動集。

組織過程分爲以下過程:
管理過程、基礎實施過程、培訓過程和改進過程。

管理過程包含以下活動:

啓動與範圍定義、規劃、測量、執行和控制、評審和評價、結束處理。

(3)、《ISO/IEC系統與軟件工程—軟件生存週期過程12207—2008》標準簡介

爲獲取方獲取一個軟件產品或服務,爲供應方開發、運行、維護、提供和銷燬一個軟件產品,建立一種軟件生存週期框架,包含過程、活動和任務,並通過過程分類、過程描述——一種良好的定義技術、給出它們之間的關係。
爲軟件生存週期過程的定義、控制和改進提供一個過程,即生存週期模型管理過程。

系統語境的過程類包括4個過程組:

協議過程組、項目過程組、技術過程組、組織上項目使能過程組。

針對軟件開發的過程類包括3個過程:

軟件實現過程組、軟件支持過程組、軟件複用過程組。

軟件複用過程組包括3個過程:

領域工程過程、複用程序管理過程、複用資產管理過程。

二、過程描述

(1)、供應過程

意圖:爲獲取方提供滿足所協商需求的產品或服務。
活動和任務:供應方應按可用的組織策略和規程實施活動和任務。

(2)、軟件實施過程

意圖:爲了生產一個已規約系統的元素,作爲一個軟件產品或服務而實現的。
活動和任務:項目應該按可用的組織策略和規程,實施活動和任務。

(3)、軟件需求分析過程

意圖:建立系統軟件部分的需求。
活動和任務:項目應該按可用的組織策略和規程,實施活動和任務。

(4)、軟件體系結構設計

意圖:爲軟件的實現及其可以按需求進行驗證,提供一種設計。
活動和任務:按可用的組織策略和規程,實施活動和任務,並保持與系統體系結構設計的一致性。

(5)、軟件驗證過程

意圖:證實一個過程或項目的每一軟件工作產品/服務是否正確地反映了所規約的需求。
活動和任務:按可用的組織策略和規程,實施活動和任務。

驗證:需求驗證、設計驗證、代碼驗證、集成驗證、文檔驗證

(6)、軟件確認過程

意圖:證實所期望使用的軟件工作產品是否滿足其需求。
活動和任務:按可用的組織策略和規程,實施活動和任務。

驗證是通過提供的客觀證據,證實規約的需求是否滿足。
確認是通過提供的客觀證據,證實有關特定期望的使用或應用的需求是否滿足。

三、應用說明

執行系統中確定的功能主要包括3大功能:控制功能、耦合功能、軟件本身提供的功能

(1)、剪裁

意圖:使這一標準的過程滿足以下特定情況:
1)、圍繞一個組織,其中該組織在一個協議中使用了這一標準。
2)、營銷一個項目,其中要求該項目滿足一個引用該標準的協議。
3)、反映一個組織的需要,其中該組織要供給產品或服務。

四、軟件生存週期模型

(1)、瀑布模型

將軟件生存週期的各項活動規定爲按固定順序而連接的若干階段工作。
規定了各個開發階段的活動:系統需求、軟件需求、需求分析、設計、編碼、測試和運行。(填空題

對軟件工程的主要貢獻爲:
1)、在決定系統怎樣做之前存在一個需求階段,它鼓勵對系統做什麼進行規約。
2)、在系統構造之前存在一個設計階段,它鼓勵規劃系統結構。
3)、在每一階段結束時進行評審,從而允許獲取方和用戶的參與。
4)、前一步可作爲下一步被認可的、文檔化的基線,並允許基線和配置早期接受控制。

突出的缺點:
無法通過開發活動澄清本來不夠確切的軟件需求,可能導致開發出的軟件並不是用戶真正需要的軟件、無疑要進行返工或不得不在維護中糾正需求的偏差。

(2)、增量模型(被工業界採用)

增量模型指出需求可以分組,形成一個個的增量,並形成一個結構

增量模型的突出優點:(簡答題)
1)、第一個可交付版本所需要的成本和時間是較少的,從而可減少開發由增量表示的小系統所承擔的風險。
2)、由於很快發佈了第一個版本,因此可以減少用戶需求的變更。
3)、允許增量投資,即在項目開始時可以僅對一個或兩個增量投資。
增量模型的主要缺點:
1)、如果沒有對用戶的變更要求進行規劃,那麼產生的初始增量可能會造成後來的增量的不穩定。
2)、如果需求不想早期思考的那樣穩定和完整,那麼一些增量就可能需要重新開發,重新發布。
3)、由於進度和配置的複雜性,可能會增大管理成本,超出組織的能力。

(3)、演化模型(表達了一種有彈性的過程模式)

演化模型是針對事先不能完整定義需求的軟件開發的。

主要特徵:該模型顯示地把需求獲取擴展到需求階段,即爲第二個構造增量,使用第一個構造增量來精化需求。
演化模型的主要不足:
1)、很容易弱化需求分析階段的工作。

(4)、螺旋模型

螺旋模型是在瀑布模型和演化模型的基礎上,加入兩者所忽略的風險分析所建立的一種軟件開發模型。

4個活動:

制定計劃——確定軟件目標,選定實施方案,弄清項目開發的限制條件。
風險分析——分析所選方案,考慮如何識別和消除風險。
實施工程——實施軟件開發。
客戶評估——評價開發工作,提出修正建議。

螺旋模型增大了決策和降低風險的空間,擴大了增量模型的管理範圍。

(4)、噴泉模型(支持面向對象技術的軟件開發)

噴泉模型體現了軟件創建所固有的迭代和無間隙的特徵。

五、過程規劃與管理

(1)、過程建立

1)、選擇軟件生存週期模型
2)、細化所選擇的生產週期模型
3)、爲每一個活動或任務標識合適的實列數目
4)、確定活動的時序關係,並檢查信息流。

(2)、軟件生存週期過程的監控

1)、進展與進度的跟蹤。
2)、質量數據趨勢的跟蹤。
3)、設計、編碼和測試計劃複審記錄和動作的檢查。
4)、變更要求和測試異常報告趨勢的檢查。
5)、關鍵資源的有效使用。
6)、與項目組成員的交談。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章