亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        迭代式軟件開發(fā)模型研究及應(yīng)用

        2015-08-07 12:10:01師迎海何雪慧
        微處理機(jī) 2015年1期
        關(guān)鍵詞:嵌入式軟件增量原型

        師迎海,何雪慧

        (中國空空導(dǎo)彈研究院,洛陽471009)

        迭代式軟件開發(fā)模型研究及應(yīng)用

        師迎海,何雪慧

        (中國空空導(dǎo)彈研究院,洛陽471009)

        對各種迭代式軟件開發(fā)模型進(jìn)行了剖析,并論述了在軍工嵌入式軟件開發(fā)過程中如何選取、裁剪和運(yùn)用迭代式軟件開發(fā)模型。

        迭代;軟件開發(fā)模型;嵌入式軟件

        1 引 言

        軟件開發(fā)模型是用于指導(dǎo)軟件開發(fā)全過程的活動和任務(wù)的框架,軟件開發(fā)人員需按照其指定的步驟進(jìn)行軟件開發(fā)。但實(shí)際上,由于每種開發(fā)模型都有其局限性,很少有開發(fā)團(tuán)隊(duì)完全遵循開發(fā)模型的規(guī)定進(jìn)行軟件開發(fā)。開發(fā)模型的局限性集中體現(xiàn)在軟件開發(fā)活動的不可預(yù)測性,如系統(tǒng)需求變更、軟件需求變更、實(shí)驗(yàn)結(jié)果不理想導(dǎo)致的設(shè)計(jì)算法變更等。嵌入式軟件對硬件的依賴性較強(qiáng),在軟硬件并行開發(fā)過程中,系統(tǒng)變更在所難免、系統(tǒng)聯(lián)試過程中軟件本身的變更也不可避免,傳統(tǒng)的瀑布模型無法適應(yīng)變更需求。軟件項(xiàng)目所經(jīng)歷的無數(shù)次失敗促使研究人員致力于尋找其他更好的方法,由此產(chǎn)生了迭代式開發(fā)模型。

        2 基于變更驅(qū)動的軟件開發(fā)模型

        對于軍工嵌入式軟件來說,其開發(fā)階段一般包括:系統(tǒng)分析與定義、軟件需求分析(包含軟件策劃)、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)、軟件測試。軟件變更類型有以下幾種:系統(tǒng)需求變更、軟件需求變更、軟件設(shè)計(jì)變更、軟件代碼變更,在軟件開發(fā)的各活動中均可能產(chǎn)生這四種類型的變更。每次變更均會導(dǎo)致后續(xù)需要開展的活動的迭代,變更的原因多種多樣,但一般以總體部門下發(fā)的技術(shù)協(xié)調(diào)單、測試部門提出的問題報(bào)告單等形式為變更提供依據(jù)(見圖1)。

        圖1 基于變更驅(qū)動的軟件開發(fā)模型

        使用該模型最重要的是要對所有的變更進(jìn)行管理,最好是建立變更管理系統(tǒng),對每個變更進(jìn)行標(biāo)識,記錄變更的重要屬性,如變更類型、變更原因,變更內(nèi)容,影響域等。該模型的輸出一是最初各活動產(chǎn)生的輸出,二是變更,三是由變更帶來的各活動輸出的升級版。該模型的特點(diǎn)是能夠適應(yīng)不同類型的變更,但是,為了適應(yīng)變更在進(jìn)行軟件策劃時需要盡早考慮對策,如建立變更分配制度,一旦確定有變更,項(xiàng)目負(fù)責(zé)人根據(jù)變更類型將變更任務(wù)分配給在其影響域范圍內(nèi)的相關(guān)活動負(fù)責(zé)人,并制定計(jì)劃針對變更內(nèi)容對工作產(chǎn)品進(jìn)行升級。預(yù)先對變更進(jìn)行控制的方法可以參考風(fēng)險控制的原理,將風(fēng)險帶來的影響控制在最小范圍。

        3 統(tǒng)一過程模型

        該模型融入了瀑布模型的線性結(jié)構(gòu)和演化模型的增量和迭代思想。首先建立整個項(xiàng)目的不同階段,包括“初始階段”、“細(xì)化階段”、“構(gòu)造階段”、“移交階段”,同時每個階段中又保留了瀑布模型的活動,這里稱之為工作流[1],即從系統(tǒng)分析與定義、軟件需求分析(包含軟件策劃)到設(shè)計(jì)、實(shí)現(xiàn)和測試這五個活動。所以我們可以理解為一個二維坐標(biāo)、工作流是一個縱坐標(biāo),階段構(gòu)成了橫坐標(biāo)。但是,二維坐標(biāo)并不是統(tǒng)一過程的主要思想,它的主要思想是每個縱坐標(biāo)制定的活動可能會產(chǎn)生多次迭代,每個迭代會隨著橫坐標(biāo)(階段)的進(jìn)展而產(chǎn)生變更,最終逐漸減少直至消失。每個階段都能構(gòu)成一個里程碑,在每個里程碑上捕捉到軟件項(xiàng)目生命周期中的重要決策點(diǎn),如初始階段關(guān)注的是項(xiàng)目計(jì)劃和風(fēng)險評估,細(xì)化階段關(guān)注的是系統(tǒng)總體架構(gòu),構(gòu)造階段則關(guān)注建立系統(tǒng)等(見圖2)。

        圖2 系統(tǒng)的總體框架

        該模型既能適應(yīng)變更需求,又能夠很好地適應(yīng)軍工嵌入式軟件隨硬件進(jìn)行分階段管理的情況。

        4 其他迭代式軟件開發(fā)模型

        其他迭代式軟件開發(fā)模型還有螺旋模型、基于構(gòu)件的軟件開發(fā)模型、噴泉模型、原型實(shí)現(xiàn)模型、增量模型、演化模型等。

        螺旋模型強(qiáng)調(diào)風(fēng)險分析[2],采用螺旋模型需要具有相當(dāng)豐富的風(fēng)險評估經(jīng)驗(yàn)和專門知識,在風(fēng)險較大的項(xiàng)目開發(fā)中,如果未能夠及時標(biāo)識風(fēng)險,勢必造成重大損失;基于構(gòu)件的軟件開發(fā)模型需要創(chuàng)建構(gòu)件庫,長期積累可用的構(gòu)件,且需要精干的有經(jīng)驗(yàn)的開發(fā)人員分析決策構(gòu)件的可用性;噴泉模型是一種以用戶需求為動力,以對象為驅(qū)動的模型,主要用于描述面向?qū)ο蟮能浖_發(fā)過程;原型實(shí)現(xiàn)模型首先快速實(shí)現(xiàn)一個可實(shí)際運(yùn)行的系統(tǒng)雛形,通過與用戶溝通,再進(jìn)行下一輪迭代,直到用戶滿意為止,其缺點(diǎn)是產(chǎn)品原型在一定程度上限制了開發(fā)人員的創(chuàng)新,沒有考慮軟件的整體質(zhì)量和長期的可維護(hù)性,由于達(dá)不到質(zhì)量要求產(chǎn)品可能被拋棄,而采用新的模型重新設(shè)計(jì),因此原型實(shí)現(xiàn)模型不適合嵌入式、實(shí)時控制等大型軟件系統(tǒng)的開發(fā);增量模型采用隨著日程時間的進(jìn)展而交錯的線性序列,每一個線性序列產(chǎn)生軟件的一個可發(fā)布的“增量”[3],增量模型與原型實(shí)現(xiàn)模型一樣本質(zhì)上是迭代的,但與原型實(shí)現(xiàn)不一樣的是其強(qiáng)調(diào)每一個增量均發(fā)布一個可操作產(chǎn)品,早期的增量是最終產(chǎn)品的“可拆卸”版本,提供了為用戶服務(wù)的功能,并且為用戶提供了評估平臺,避免了因質(zhì)量不過關(guān)而重新設(shè)計(jì)的風(fēng)險;演化模型也是通過構(gòu)造系統(tǒng)的各個可執(zhí)行的工作版本來開發(fā)系統(tǒng)的,但是,與增量型生存周期模型的區(qū)別是承認(rèn)需求不能被完全了解,且不能在初始時就確定,在該方法中,需求一部分被預(yù)先定義,然后在每個相繼的工作版本中逐步完善。

        通過以上分析,增量模型和演進(jìn)模型最適合于指導(dǎo)嵌入式軟件的開發(fā)過程。

        5 軍工嵌入式軟件開發(fā)模型的選用

        增量式模型和演進(jìn)式模型均引入了迭代思想,但卻是對從系統(tǒng)分析與定義到軟件測試整個研制過程中包含的所有活動的迭代。而迭代不僅僅發(fā)生在系統(tǒng)需求變化時,研制過程中各個階段都可能發(fā)生變更,一旦變更就需要從變更活動開始往后迭代。因此,以上兩種模型適用于軟件需要分階段進(jìn)行開發(fā),對于每個構(gòu)建版軟件需求、設(shè)計(jì)和實(shí)現(xiàn)一旦形成都比較穩(wěn)定,較少反復(fù)。

        基于變更驅(qū)動的軟件開發(fā)模型和統(tǒng)一過程模型充分運(yùn)用了迭代原理,可以用于指導(dǎo)軟件開發(fā)的各項(xiàng)活動均易產(chǎn)生變更情況,但其缺點(diǎn)是各項(xiàng)活動的進(jìn)度難以計(jì)劃。基于變更驅(qū)動的軟件開發(fā)模型和統(tǒng)一過程模型適用于在軟件開發(fā)的各階段均會產(chǎn)生較多的變更情況?;谧兏?qū)動的軟件開發(fā)模型適用于軟件不需要分階段管理的情況,統(tǒng)一過程模型適用于軟件需要分階段管理的情況。

        對于軟件規(guī)模小、復(fù)雜度低的嵌入式軟件,其研制任務(wù)不需要分階段進(jìn)行管理,如果研制活動中產(chǎn)生變更較少,不需要進(jìn)行迭代,那么可以直接選取瀑布模型,如果易產(chǎn)生需求、設(shè)計(jì)變更,那么應(yīng)選取基于變更驅(qū)動的軟件開發(fā)模型。對于軟件規(guī)模較大、復(fù)雜程度高的軟件需要分階段進(jìn)行管理,如果在各開發(fā)階段研制任務(wù)是不一樣的,一旦研制任務(wù)確定,其他活動中將會產(chǎn)生較少變更,可以選取增量模型或演化模型,如果變更頻繁應(yīng)選取基于變更驅(qū)動的軟件開發(fā)模型或統(tǒng)一過程模型。

        6 軍工嵌入式軟件開發(fā)模型的裁剪和運(yùn)用

        所有的模型都是要為特定的軟件項(xiàng)目服務(wù)的,不能生搬硬套,可以根據(jù)各自項(xiàng)目的特點(diǎn)進(jìn)行裁剪和運(yùn)用。下面是研究成果在實(shí)際項(xiàng)目中的運(yùn)用情況。

        項(xiàng)目一屬于預(yù)研類項(xiàng)目,暫時僅對初樣階段有要求。在初樣階段只需要一個軟件原型,通過這個原型去試驗(yàn)和驗(yàn)證產(chǎn)品所能達(dá)到的技術(shù)指標(biāo),這樣,在本階段只需要關(guān)注軟件實(shí)現(xiàn),其他活動的開展均為軟件實(shí)現(xiàn)活動服務(wù),這種情況下選用了原型實(shí)現(xiàn)模型,其輸出的工作產(chǎn)品是一個可實(shí)際運(yùn)行的軟件雛形。

        項(xiàng)目二的軟件規(guī)模較大且與硬件結(jié)合較為緊密。系統(tǒng)研制已經(jīng)嚴(yán)格劃分為F、C、S、D階段,這樣的劃分更適合選取以上所述的能夠產(chǎn)生多個構(gòu)建版的迭代式軟件開發(fā)模型,在每個階段各輸出一個或多個構(gòu)建版,同時要對每個構(gòu)建版所包含的活動進(jìn)行適當(dāng)裁剪。該項(xiàng)目選取了統(tǒng)一過程模型,將模型中的“初始階段”、“細(xì)化階段”、“構(gòu)造階段”和“移交階段”規(guī)定成軍用嵌入式軟件開發(fā)所采取的“F”、“C”、“S”和“D”這四個階段。在每個階段關(guān)注不同的活動,僅要求我們關(guān)注的活動有正式的輸出產(chǎn)品,例如,在F階段僅關(guān)注軟件實(shí)現(xiàn),正式的輸出產(chǎn)品是能夠在系統(tǒng)中正常運(yùn)行的代碼。同時,由于各階段內(nèi)所有的活動均可以迭代,各階段產(chǎn)生構(gòu)建版的數(shù)量由迭代次數(shù)決定。

        7 結(jié)束語

        迭代式軟件開發(fā)模型因其靈活性、對需求變更的適用性,已經(jīng)漸漸取代了常用的瀑布式模型。通過對各種迭代式軟件開發(fā)模型的研究,充分論述了如何在軍用嵌入式軟件中選取、裁剪和運(yùn)用這些模型,并將文中所述思想應(yīng)用到了多個型號軟件開發(fā)活動的策劃和指導(dǎo)中,通過實(shí)踐證明了模型運(yùn)用的有效性。

        [1] Jones C.Estimating software costs:Bring realism to estimating[M].2ed.New York:McGraw-Hill,2007.

        [2] 黃紹良.軟件開發(fā)模型面面觀[J].中國計(jì)算機(jī)用戶,2008(31):43-44.

        [3] 張友生,李雄.軟件開發(fā)模型研究綜述[J].計(jì)算機(jī)工程與科學(xué),2006(3):110.

        [4] McDermid J,P Rook.Software Engineer’s Reference Book[M].CRC Press,1993.

        Research and Application of Iterative Software Developing Model

        Shi Yinghai,He Xuehui
        (China Air-to-air Missile Academy,Luoyang 471009,China)

        All kinds of iterative software developing models are analyzed in this paper,and how to select,cut and use them for developing themilitary industry embedded software is discussed.

        Iterative;Software developingmodels;Embedded software

        10.3969/j.issn.1002-2279.2015.01.016

        TP311

        A

        1002-2279(2015)01-0055-03

        師迎海(1979-),男,河南洛陽人,高級工程師,碩士,主研方向:軟件工程。

        2014-07-16

        猜你喜歡
        嵌入式軟件增量原型
        提質(zhì)和增量之間的“辯證”
        包裹的一切
        “價增量減”型應(yīng)用題點(diǎn)撥
        《哈姆雷特》的《圣經(jīng)》敘事原型考證
        實(shí)時嵌入式軟件的測試技術(shù)
        電子測試(2018年10期)2018-06-26 05:54:08
        全景相機(jī)遙控器嵌入式軟件V1.0 相關(guān)操作分析
        電子制作(2017年17期)2017-12-18 06:40:56
        論《西藏隱秘歲月》的原型復(fù)現(xiàn)
        基于均衡增量近鄰查詢的位置隱私保護(hù)方法
        原型理論分析“門”
        人間(2015年20期)2016-01-04 12:47:08
        基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設(shè)計(jì)與實(shí)現(xiàn)
        精品久久久久久无码专区| 日韩激情网| 日本一区不卡高清在线观看| 久久精品人妻一区二三区| 手机看片自拍偷拍福利| 国产xxx69麻豆国语对白| 国产三级在线观看播放视频| 国产精品系列亚洲第一| 精品国产污黄网站在线观看| 丰满的少妇av一区二区三区| 国产乱妇无码大片在线观看| 樱花草在线播放免费中文| 丰满少妇爆乳无码专区| 国产黑色丝袜在线观看网站91| 日本系列有码字幕中文字幕| 少妇愉情理伦片丰满丰满| 亚洲成a∨人片在无码2023| 一区二区三区内射视频在线观看| 精品专区一区二区三区| 大香蕉av一区二区三区| 黑人巨大精品欧美一区二区免费 | 欧美人成在线播放网站免费| 精品女同一区二区三区不卡| 91精品久久久中文字幕| 亚洲成av人在线播放无码| 国产精品成人99一区无码| 狠狠亚洲婷婷综合久久久| 久久成人精品国产免费网站| 精品人妻伦一二三区久久| 中文字幕亚洲乱码熟女在线 | 亚洲最大av资源站无码av网址| 国产精品国产自线拍免费| 国产视频一区二区三区久久亚洲| 国产亚洲aⅴ在线电影| 少妇无码吹潮| 国产亚洲sss在线观看| 男女后入式在线观看视频| 99国产精品久久99久久久| 欧美在线 | 亚洲| 久久亚洲国产成人精品v| 日本视频一区二区三区|