0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

三種迭代軟件開發(fā)模型的主要重點(diǎn)

汽車電子工程知識體系 ? 來源:汽車電子硬件設(shè)計(jì) ? 作者:汽車電子硬件設(shè)計(jì) ? 2021-01-11 17:23 ? 次閱讀

軟件是一種靈活的、可延展性的媒介,它在很大程度上促進(jìn)了迭代分析、設(shè)計(jì)、構(gòu)造、驗(yàn)證和確認(rèn),這比通??赡苡糜谙到y(tǒng)的純粹物理組件的程度要高。迭代開發(fā)模型的每次重復(fù)都會向不斷增長的軟件基礎(chǔ)中添加材料(代碼);對擴(kuò)展的代碼庫進(jìn)行測試,根據(jù)需要重新編寫,并進(jìn)行演示,以滿足基線的需求。

軟件開發(fā)的過程模型支持在不同長度的周期上進(jìn)行迭代開發(fā)。表1列出了三個(gè)迭代的軟件開發(fā)模型,它們在下面更詳細(xì)地展示,以及這些模型所強(qiáng)調(diào)的軟件開發(fā)的各個(gè)方面。

表1。三種迭代軟件開發(fā)模型的主要重點(diǎn)。

迭代式模型 強(qiáng)調(diào)
增量構(gòu)建 對替代方法的基于風(fēng)險(xiǎn)的迭代分析和結(jié)果的敏捷評估
迭代實(shí)現(xiàn)-驗(yàn)證-驗(yàn)證-演示循環(huán)往復(fù) 需求和代碼的迭代演進(jìn)

請注意,下面的信息特別關(guān)注軟件系統(tǒng)的不同生命周期模型的使用情況。為了更好地理解軟件工程(SwE)和系統(tǒng)工程(SE)之間的交互,請參閱第6部分中的系統(tǒng)工程和軟件工程。

迭代開發(fā)過程模型概述

開發(fā)和修改軟件涉及到創(chuàng)造性的過程,這些過程受到許多外部和可變力量的影響。長期的經(jīng)驗(yàn)已經(jīng)表明,第一次“把它做好”是不可能的,并且迭代開發(fā)過程比線性的、順序的開發(fā)過程模型(如著名的瀑布模型)更可取。在迭代開發(fā)中,迭代的每個(gè)周期都包含前一個(gè)迭代的軟件,并向演進(jìn)的產(chǎn)品添加新功能,以創(chuàng)建軟件的擴(kuò)展版本。迭代開發(fā)過程提供了以下優(yōu)點(diǎn):

v持續(xù)集成、驗(yàn)證和演進(jìn)產(chǎn)品的驗(yàn)證;

v經(jīng)常展示進(jìn)步;

v盡早發(fā)現(xiàn)缺陷;

v過程問題的預(yù)警;

v系統(tǒng)地整合集成軟件開發(fā)中不可避免的返工;及

v盡早交付子集功能(如果需要的話)。

迭代開發(fā)在SwE中有多種形式,包括:

v增量構(gòu)建,用于產(chǎn)生周期性的(通常是每周的)增加產(chǎn)品能力的構(gòu)建;

v敏捷開發(fā),用于將原型客戶緊密地卷入可能每天重復(fù)的迭代過程中;及

v螺旋模型,用于對抗和減輕在開發(fā)產(chǎn)品的后續(xù)版本中遇到的風(fēng)險(xiǎn)因素。

增量構(gòu)建模型

增量構(gòu)建模型是一個(gè)迭代周期的構(gòu)建-測試-演示模型,在該模型中,經(jīng)常強(qiáng)調(diào)進(jìn)展的演示、驗(yàn)證和對當(dāng)前工作的驗(yàn)證。該模型基于穩(wěn)定的需求和軟件架構(gòu)規(guī)范。每個(gè)構(gòu)建都向增量增長的產(chǎn)品添加新的功能。當(dāng)最終版本被客戶驗(yàn)證、驗(yàn)證、演示和接受時(shí),過程結(jié)束。

表2列出了一些將增量開發(fā)劃分為(通常)每個(gè)日歷周的增量構(gòu)建單元的劃分標(biāo)準(zhǔn)。增量和可用于項(xiàng)目的開發(fā)人員數(shù)量決定了每個(gè)增量構(gòu)建中可以包含的特性數(shù)量。這進(jìn)而決定了整個(gè)時(shí)間表。

表2。一些增量構(gòu)建的分區(qū)標(biāo)準(zhǔn)。

系統(tǒng) 劃分的標(biāo)準(zhǔn)
應(yīng)用包 優(yōu)先級的功能
安全-關(guān)鍵系統(tǒng) 安全第一(優(yōu)先)特性;其他優(yōu)先級遵循
用戶密集系統(tǒng) 用戶接口優(yōu)先;其他優(yōu)先級遵循
系統(tǒng)軟件 內(nèi)核優(yōu)先;實(shí)用程序遵循

圖5演示了增量構(gòu)建過程中的構(gòu)建-驗(yàn)證-驗(yàn)證-演示周期的細(xì)節(jié)。每個(gè)構(gòu)建都包括由開發(fā)人員完成的詳細(xì)設(shè)計(jì)、編碼、集成、評審和測試。在不需要修改就可以復(fù)用代碼的情況下,增量構(gòu)建的部分或全部可能包括對使用復(fù)用代碼擴(kuò)展的基本代碼的評審、集成和測試。重要的是要注意到,開發(fā)一個(gè)增量可能會導(dǎo)致為集成而重新開發(fā)的以前的組件,以修復(fù)缺陷。

增量驗(yàn)證、驗(yàn)證和演示,如圖5所示,通過以下方法克服了瀑布方法的兩個(gè)主要問題:

盡早暴露問題,以便在問題發(fā)生時(shí)予以糾正;及

將次要的范圍內(nèi)變更合并到需求中,這些需求是后續(xù)構(gòu)建中增量演示的結(jié)果。

圖5還說明了重疊產(chǎn)品的連續(xù)構(gòu)建是可能的。例如,在驗(yàn)證當(dāng)前版本時(shí),可以開始對下一個(gè)版本進(jìn)行詳細(xì)設(shè)計(jì)。

三個(gè)因素決定可實(shí)現(xiàn)的重疊程度:

8e33bfb8-45c5-11eb-8b86-12bb97331649.png

圖5。增量的構(gòu)建-驗(yàn)證-驗(yàn)證-演示周期。

?人員的可用性;

?較前一版本取得足夠進(jìn)展;及

?由于對前一個(gè)正在進(jìn)行中的構(gòu)建的變更,對下一個(gè)重疊構(gòu)建的重大重做的風(fēng)險(xiǎn)。增量構(gòu)建過程通常在小型團(tuán)隊(duì)中工作得很好,但是可以在較大的項(xiàng)目中進(jìn)行擴(kuò)展。

增量構(gòu)建過程的一個(gè)顯著優(yōu)勢是,首先構(gòu)建的特性會得到最頻繁的驗(yàn)證、驗(yàn)證和演示,因?yàn)殡S后的構(gòu)建會合并早期迭代的特性。例如,在構(gòu)建控制核反應(yīng)堆的軟件時(shí),可以首先構(gòu)建緊急關(guān)閉軟件,因?yàn)樗鼘㈦S后結(jié)合每一個(gè)后續(xù)構(gòu)建的特點(diǎn)進(jìn)行驗(yàn)證和確認(rèn)。

總之,增量構(gòu)建模型,像所有的迭代模型一樣,提供了持續(xù)集成和演進(jìn)產(chǎn)品的驗(yàn)證、頻繁的進(jìn)展演示、問題的早期預(yù)警、子集功能的早期交付,以及軟件開發(fā)中不可避免的返工的系統(tǒng)集成。

原型設(shè)計(jì)在軟件開發(fā)中的角色

在SwE中,原型是系統(tǒng)某些部分所需功能的模型。這與物理系統(tǒng)相反,在物理系統(tǒng)中,原型通常是系統(tǒng)的第一個(gè)全功能版本。

在過去,將原型軟件集成到生產(chǎn)系統(tǒng)中會產(chǎn)生許多問題。原型設(shè)計(jì)是一種有用的技術(shù),應(yīng)酌情使用;然而,原型設(shè)計(jì)不是軟件開發(fā)的過程模型。在構(gòu)建軟件原型時(shí),通過開發(fā)原型獲得的知識對程序是有益的;然而,原型代碼可能不會在系統(tǒng)的可交付版本中使用。在許多情況下,使用通過原型設(shè)計(jì)獲得的知識從頭構(gòu)建產(chǎn)品代碼比重新設(shè)計(jì)現(xiàn)有代碼更有效。

軟件的生命周期維護(hù)

與所有系統(tǒng)一樣,軟件需要持續(xù)付出來增強(qiáng)功能、適應(yīng)新環(huán)境和糾正缺陷。軟件的主要區(qū)別在于,維護(hù)工作會改變軟件;與物理實(shí)體不同,軟件組件不需要因?yàn)槲锢頁p耗而被替換。變更軟件需要重新驗(yàn)證和重新確認(rèn),這可能涉及到廣泛的回歸測試,以確定變更具有預(yù)期的效果,并且沒有改變功能或行為的其他方面。

報(bào)廢的軟件

有用的軟件很少被淘汰;然而,有用的軟件在其生命周期中經(jīng)常經(jīng)歷多次升級。以后的版本可能與最初的版本沒有多少相似之處。在某些情況下,在以前的操作環(huán)境中運(yùn)行的軟件在硬件模擬器上執(zhí)行,這些模擬器在較新的硬件上提供虛擬機(jī)。在其他情況下,主要的增強(qiáng)可能會替換并重命名軟件的舊版本,但是增強(qiáng)的版本以一種兼容的方式提供了以前軟件的所有功能。然而,有時(shí)軟件的新版本可能無法提供與舊版本的兼容性,這就需要對系統(tǒng)進(jìn)行其他變更。

主要是演進(jìn)和并發(fā)流程:增量承諾螺旋模型

增量承諾螺旋模型概述

增量承諾螺旋模型(ICSM)的視圖如圖6所示。

8ea030a8-45c5-11eb-8b86-12bb97331649.png

Figure 6.增量承諾螺旋模型(ICSM)

在ICSM中,每個(gè)螺旋都同時(shí)而不是順序地處理需求和解決方案,以及產(chǎn)品和過程、硬件、軟件、人的因素方面,以及替代產(chǎn)品配置或產(chǎn)品線投資的業(yè)務(wù)案例分析。利益攸關(guān)方考慮風(fēng)險(xiǎn)和風(fēng)險(xiǎn)緩解計(jì)劃,并決定行動方針。如果風(fēng)險(xiǎn)是可接受的,并且被風(fēng)險(xiǎn)緩解計(jì)劃所覆蓋,那么項(xiàng)目將繼續(xù)進(jìn)入下一個(gè)螺旋。

在第一次開發(fā)承諾評審之后,開發(fā)遵循三團(tuán)隊(duì)增量開發(fā)方法,以實(shí)現(xiàn)圖2中所示的敏捷性和保證,即系統(tǒng)生命周期過程驅(qū)動程序和選擇的“演化-并發(fā)快速變更處理和高保證”。

原文標(biāo)題:迭代軟件開發(fā)過程模型

文章出處:【微信公眾號:汽車電子硬件設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5001

    瀏覽量

    87912
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3294

    瀏覽量

    49037

原文標(biāo)題:迭代軟件開發(fā)過程模型

文章出處:【微信號:QCDZYJ,微信公眾號:汽車電子工程知識體系】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    我國軟件開發(fā)者數(shù)量超過940萬

    在近日舉辦的開放原子開發(fā)者大會上,工業(yè)和信息化部負(fù)責(zé)人傳來了一則令人振奮的消息:我國軟件開發(fā)者數(shù)量已經(jīng)突破940萬大關(guān)。這一數(shù)據(jù)不僅彰顯了我國在軟件開發(fā)領(lǐng)域的雄厚實(shí)力,也預(yù)示著我國在全球軟件開
    的頭像 發(fā)表于 12-23 11:08 ?266次閱讀

    TMS320C6201 DSP軟件開發(fā)技術(shù)

    電子發(fā)燒友網(wǎng)站提供《TMS320C6201 DSP軟件開發(fā)技術(shù).pdf》資料免費(fèi)下載
    發(fā)表于 10-26 09:25 ?0次下載
    TMS320C6201 DSP<b class='flag-5'>軟件開發(fā)</b>技術(shù)

    Windows管理內(nèi)存的三種主要方式

    Windows操作系統(tǒng)提供了多種方式來管理內(nèi)存,以確保系統(tǒng)資源的有效利用和性能的優(yōu)化。以下是關(guān)于Windows管理內(nèi)存的三種主要方式的詳細(xì)闡述,包括堆內(nèi)存管理、虛擬內(nèi)存管理以及共享內(nèi)存管理,每種方式都將從概念、原理、運(yùn)作機(jī)制和應(yīng)用等方面進(jìn)行介紹。
    的頭像 發(fā)表于 10-12 17:09 ?1208次閱讀

    PGA450-Q1軟件開發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《PGA450-Q1軟件開發(fā)指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-30 14:25 ?0次下載
    PGA450-Q1<b class='flag-5'>軟件開發(fā)</b>指南

    ECU電控軟件開發(fā)及測試介紹

    本文重點(diǎn)介紹符合AutoSar架構(gòu)的應(yīng)用軟件開發(fā)、MBD開發(fā)模式下的軟件質(zhì)量評估與優(yōu)化方案、復(fù)雜場景下的ECU性能壓力測試方案。
    的頭像 發(fā)表于 09-26 14:25 ?3488次閱讀
    ECU電控<b class='flag-5'>軟件開發(fā)</b>及測試介紹

    9月12日云技術(shù)研討會 | ECU電控軟件開發(fā)及測試全流程解決方案

    本次研討會,經(jīng)緯恒潤將結(jié)合業(yè)務(wù)團(tuán)隊(duì)多年來在軟件開發(fā)和測試領(lǐng)域的工程實(shí)踐經(jīng)驗(yàn),分享探討基于AutoSar架構(gòu)的應(yīng)用軟件開發(fā)、基于MBD開發(fā)軟件質(zhì)量評估和優(yōu)化、復(fù)雜場景下ECU性能壓力測
    的頭像 發(fā)表于 09-26 14:18 ?1429次閱讀
    9月12日云技術(shù)研討會 | ECU電控<b class='flag-5'>軟件開發(fā)</b>及測試全流程解決方案

    Vector DaVinci Team解決方案實(shí)現(xiàn)AUTOSAR Classic ECU軟件開發(fā)

    單元(HPC)和區(qū)域控制單元(Zonal ECU)分工協(xié)作的架構(gòu)。因此,ECU的軟件功能越來越多,越來越復(fù)雜。ECU的軟件開發(fā),也將引入不同部門、不同公司的更多項(xiàng)目開發(fā)人員的協(xié)作。在ECU軟件
    的頭像 發(fā)表于 09-13 11:23 ?1380次閱讀
    Vector DaVinci Team解決方案實(shí)現(xiàn)AUTOSAR Classic ECU<b class='flag-5'>軟件開發(fā)</b>

    對話aiXcoder總裁劉德欣:智能化軟件開發(fā)2.0時(shí)代,企業(yè)如何落地領(lǐng)域化大模型

    科技(以下簡稱:aiXcoder)總裁劉德欣,主要圍繞企業(yè)如何落地領(lǐng)域化大模型,如何更好地?fù)肀е悄芑?b class='flag-5'>軟件開發(fā)2.0時(shí)代等話題進(jìn)行深入探討。以下內(nèi)容根據(jù)采訪實(shí)錄整理。 請劉總簡單介紹下智能化軟件
    的頭像 發(fā)表于 08-16 09:40 ?364次閱讀

    BQ769x2 軟件開發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《BQ769x2 軟件開發(fā)指南.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 14:41 ?0次下載

    嵌入式軟件開發(fā)與AI整合

    嵌入式軟件開發(fā)與AI整合是當(dāng)前技術(shù)發(fā)展的重要趨勢之一。隨著人工智能技術(shù)的快速發(fā)展,嵌入式系統(tǒng)越來越多地集成了AI算法,以實(shí)現(xiàn)更復(fù)雜的智能功能。以下是關(guān)于嵌入式軟件開發(fā)與AI整合的詳細(xì)分析
    的頭像 發(fā)表于 07-31 09:25 ?779次閱讀
    嵌入式<b class='flag-5'>軟件開發(fā)</b>與AI整合

    rup是一什么模型

    RUP(Rational Unified Process,統(tǒng)一建模語言)是一軟件開發(fā)過程模型,它是一迭代和增量的
    的頭像 發(fā)表于 07-09 10:13 ?1361次閱讀

    【《軟件開發(fā)珠璣》閱讀體驗(yàn)】+ 心得

    【《軟件開發(fā)珠璣》閱讀體驗(yàn)】+ 心得 感謝電子發(fā)燒友論壇提供的讀書機(jī)會。讀這本書使我在編程方面多了位資深老師。 在軟件項(xiàng)目開發(fā)領(lǐng)域的時(shí),我閱讀了《軟件開發(fā)珠璣》這本書。它以獨(dú)特的視角和
    發(fā)表于 06-23 17:56

    上位機(jī)軟件開發(fā)用什么語言

    維護(hù)的上位機(jī)軟件至關(guān)重要。本文將詳細(xì)介紹幾種常用的上位機(jī)軟件開發(fā)編程語言,并分析它們的優(yōu)缺點(diǎn)。 C/C++ C和C++是兩廣泛使用的編程語言,它們在上位機(jī)軟件開發(fā)中具有很高的地位。C
    的頭像 發(fā)表于 06-06 10:44 ?2120次閱讀

    廣告電商+超級云APP結(jié)合 # 軟件開發(fā)# 模式開發(fā)# 小程序開發(fā)# App開發(fā)

    軟件開發(fā)APP
    jf_01576396
    發(fā)布于 :2024年04月09日 17:42:13

    keil arm軟件開發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《keil arm軟件開發(fā)指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-26 15:51 ?7次下載