本主題討論軟件過(guò)程的類別、軟件生命周期模型、軟件過(guò)程適應(yīng)和實(shí)際考慮。軟件開(kāi)發(fā)生命周期(軟件開(kāi)發(fā)生命周期)包括用于指定軟件需求并將其轉(zhuǎn)換為可交付的軟件產(chǎn)品的軟件過(guò)程。軟件產(chǎn)品生命周期(SPLC)包括一個(gè)軟件開(kāi)發(fā)生命周期加上額外的軟件過(guò)程提供部署、維護(hù)、支持,進(jìn)化,報(bào)廢,和所有其他inceptiontoretirement過(guò)程軟件產(chǎn)品,包括軟件配置管理、軟件質(zhì)量保證過(guò)程應(yīng)用于整個(gè)軟件產(chǎn)品的生命周期。一個(gè)軟件產(chǎn)品生命周期可以包括多個(gè)用于演進(jìn)和增強(qiáng)軟件的軟件開(kāi)發(fā)生命周期。
單個(gè)的軟件過(guò)程之間沒(méi)有時(shí)間順序。軟件過(guò)程之間的時(shí)間關(guān)系由軟件生命周期模型提供:軟件開(kāi)發(fā)生命周期或SPLC。生命周期模型通常強(qiáng)調(diào)模型中的關(guān)鍵軟件過(guò)程以及它們?cè)跁r(shí)間和邏輯上的相互依賴和關(guān)系。生命周期模型中軟件過(guò)程的詳細(xì)定義可以直接提供,也可以參考其他文檔。
除了在軟件過(guò)程之間傳遞時(shí)間和邏輯關(guān)系之外,軟件開(kāi)發(fā)生命周期模型(或在組織內(nèi)使用的模型)還包括應(yīng)用進(jìn)入和退出標(biāo)準(zhǔn)的控制機(jī)制(例如,項(xiàng)目評(píng)審、客戶批準(zhǔn)、軟件測(cè)試、質(zhì)量關(guān)口、演示、團(tuán)隊(duì)共識(shí))。一個(gè)軟件過(guò)程的輸出通常為其他過(guò)程提供輸入(例如,軟件需求為軟件架構(gòu)設(shè)計(jì)過(guò)程和軟件構(gòu)建和軟件測(cè)試過(guò)程提供輸入)。幾個(gè)軟件過(guò)程活動(dòng)的并發(fā)執(zhí)行可能產(chǎn)生一個(gè)共享的輸出(例如,由不同團(tuán)隊(duì)開(kāi)發(fā)的多個(gè)軟件組件之間的接口規(guī)范)。一些軟件過(guò)程可能被認(rèn)為效率較低,除非同時(shí)執(zhí)行其他軟件過(guò)程(例如,軟件需求分析期間的軟件測(cè)試計(jì)劃可以改進(jìn)軟件需求)。
2.1 軟件過(guò)程的類別
在軟件開(kāi)發(fā)和軟件維護(hù)生命周期的各個(gè)部分中,已經(jīng)定義了許多不同的軟件過(guò)程。這些過(guò)程可以分為以下幾類:
主要過(guò)程包括軟件開(kāi)發(fā)、操作和維護(hù)的軟件過(guò)程。
支持過(guò)程在整個(gè)軟件產(chǎn)品生命周期中間歇性地或連續(xù)地應(yīng)用,以支持主要過(guò)程;它們包括軟件過(guò)程,如配置管理、質(zhì)量保證、驗(yàn)證和確認(rèn)。
組織過(guò)程為軟件工程提供支持;它們包括培訓(xùn)、過(guò)程度量分析、基礎(chǔ)設(shè)施管理、投資組合和復(fù)用管理、組織過(guò)程改進(jìn),以及軟件生命周期模型的管理。
跨項(xiàng)目過(guò)程,如復(fù)用、軟件產(chǎn)品線和領(lǐng)域工程;它們?cè)诮M織中涉及到不止一個(gè)軟件項(xiàng)目。
軟件過(guò)程除了上面列出的之外還包括以下內(nèi)容。
項(xiàng)目管理過(guò)程包括計(jì)劃和估計(jì)、資源管理、度量和控制、領(lǐng)導(dǎo)、管理風(fēng)險(xiǎn)、管理利益攸關(guān)方,以及協(xié)調(diào)軟件開(kāi)發(fā)和維護(hù)項(xiàng)目的主要、支持、組織和跨項(xiàng)目過(guò)程的過(guò)程。
軟件過(guò)程也是為特定的需求而開(kāi)發(fā)的,例如處理軟件質(zhì)量特征的過(guò)程活動(dòng)(參見(jiàn)軟件質(zhì)量知識(shí)領(lǐng)域)。例如,軟件開(kāi)發(fā)期間的安全問(wèn)題可能需要一個(gè)或多個(gè)軟件過(guò)程來(lái)保護(hù)開(kāi)發(fā)環(huán)境的安全并減少惡意行為的風(fēng)險(xiǎn)。開(kāi)發(fā)軟件過(guò)程也可以為建立對(duì)軟件完整性的信任提供充分的依據(jù)。
2.2 軟件生命周期模型
軟件的無(wú)形和可塑的本質(zhì)允許了各種各樣的軟件開(kāi)發(fā)生命周期模型,包括線性模型,在線性模型中,軟件開(kāi)發(fā)的各個(gè)階段按照需要通過(guò)反饋和迭代依次完成,然后是集成、測(cè)試和單個(gè)產(chǎn)品的交付;到迭代模式,在這種模式下,軟件會(huì)在迭代周期中以功能不斷增加的方式開(kāi)發(fā);對(duì)于敏捷模型,通常包括向客戶或用戶代表頻繁地展示可工作的軟件,這些客戶或用戶代表在短的迭代周期中指導(dǎo)軟件開(kāi)發(fā),從而產(chǎn)生可交付的工作軟件的小增量。如果需要,增量的、迭代的和敏捷的模型可以將工作軟件的早期子集交付到用戶環(huán)境中。
線性軟件開(kāi)發(fā)生命周期模型有時(shí)被稱為預(yù)測(cè)軟件開(kāi)發(fā)生命周期模型,而迭代和敏捷的軟件開(kāi)發(fā)生命周期被稱為自適應(yīng)軟件開(kāi)發(fā)生命周期模型。應(yīng)該注意的是,在一個(gè)SPLC期間,根據(jù)維護(hù)活動(dòng)的不同,可以使用不同的軟件開(kāi)發(fā)生命周期模型來(lái)執(zhí)行各種維護(hù)活動(dòng)。
各種軟件開(kāi)發(fā)生命周期模型的一個(gè)顯著特征是管理軟件需求的方式。線性開(kāi)發(fā)模型通常在項(xiàng)目啟動(dòng)和計(jì)劃期間盡可能地開(kāi)發(fā)一套完整的軟件需求。然后嚴(yán)格控制軟件需求。軟件需求的變更是基于由變更控制委員會(huì)處理的變更請(qǐng)求的(參見(jiàn)軟件配置管理知識(shí)領(lǐng)域中的變更控制委員會(huì)中的請(qǐng)求、評(píng)估和批準(zhǔn)軟件變更)?;谠诿總€(gè)增量中實(shí)現(xiàn)的軟件需求的劃分,增量模型產(chǎn)生連續(xù)的工作增量,可交付軟件。軟件需求可能被嚴(yán)格控制,就像在線性模型中一樣,或者隨著軟件產(chǎn)品的發(fā)展,在修改軟件需求方面可能會(huì)有一些靈活性。敏捷模型可能在最初定義產(chǎn)品范圍和高級(jí)特性;然而,設(shè)計(jì)敏捷模型是為了在項(xiàng)目期間促進(jìn)軟件需求的開(kāi)發(fā)。
必須強(qiáng)調(diào)的是,軟件開(kāi)發(fā)生命周期從線性到敏捷并不是一條細(xì)的直線。不同方法的要素可納入具體模式;例如,增量式軟件開(kāi)發(fā)生命周期模型可能包含順序的軟件需求和設(shè)計(jì)階段,但是在軟件構(gòu)建期間允許相當(dāng)大的靈活性來(lái)修改軟件需求和架構(gòu)。
2.3 軟件過(guò)程的適應(yīng)
預(yù)定義的軟件開(kāi)發(fā)生命周期、splc和單個(gè)軟件過(guò)程通常需要進(jìn)行調(diào)整(或“剪裁”),以更好地滿足本地需求。組織環(huán)境、技術(shù)創(chuàng)新、項(xiàng)目規(guī)模、產(chǎn)品關(guān)鍵性、法規(guī)要求、行業(yè)實(shí)踐和企業(yè)文化可能決定需要的適應(yīng)性。單個(gè)軟件過(guò)程和軟件生命周期模型(開(kāi)發(fā)和產(chǎn)品)的適應(yīng)可能包括向軟件過(guò)程、活動(dòng)、任務(wù)和過(guò)程添加更多的細(xì)節(jié),以解決關(guān)鍵問(wèn)題。它可能包括使用一組替代的活動(dòng)來(lái)實(shí)現(xiàn)軟件過(guò)程的目的和結(jié)果。適應(yīng)還可能包括從開(kāi)發(fā)或產(chǎn)品生命周期模型中刪除明顯不適用于待完成工作范圍的軟件過(guò)程或活動(dòng)。
2.4 實(shí)際考慮
在實(shí)踐中,軟件過(guò)程和活動(dòng)經(jīng)常是交叉的、重疊的,并且并發(fā)地應(yīng)用。指定離散的軟件過(guò)程的軟件生命周期模型,具有嚴(yán)格指定的進(jìn)入和退出標(biāo)準(zhǔn)以及規(guī)定的邊界和接口,應(yīng)該被視為必須適應(yīng)的理想化,以反映組織環(huán)境和業(yè)務(wù)環(huán)境中的軟件開(kāi)發(fā)和維護(hù)的現(xiàn)實(shí)。
另一個(gè)實(shí)際的考慮事項(xiàng):軟件過(guò)程(如配置管理、構(gòu)建和測(cè)試)可以進(jìn)行調(diào)整,以促進(jìn)軟件的操作、支持、維護(hù)、遷移和報(bào)廢。
在定義和裁剪軟件生命周期模型時(shí)需要考慮的其他因素包括對(duì)標(biāo)準(zhǔn)、指示和策略的要求一致性;客戶需求;軟件產(chǎn)品的臨界性;以及組織成熟度和能力。其他因素包括工作的性質(zhì)(例如,對(duì)現(xiàn)有軟件的修改與新的開(kāi)發(fā))和應(yīng)用領(lǐng)域(例如,航空航天與汽車電子)。
責(zé)任編輯:lq6
-
軟件
+關(guān)注
關(guān)注
69文章
4958瀏覽量
87634 -
軟件過(guò)程
+關(guān)注
關(guān)注
0文章
4瀏覽量
5068
原文標(biāo)題:軟件生命周期
文章出處:【微信號(hào):QCDZYJ,微信公眾號(hào):汽車電子工程知識(shí)體系】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論