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

        ?

        集成與敏捷開發(fā)在軍用光電系統(tǒng)軟件開發(fā)中的應用

        2020-06-16 10:40:42劉國棟范鵬程徐曉楓賈子慶
        計算機應用與軟件 2020年6期
        關鍵詞:開發(fā)方法生命周期研制

        劉國棟 王 艷 龐 瀾 范鵬程 徐曉楓 賈子慶

        (西安應用光學研究所 陜西 西安 710065)

        0 引 言

        隨著GJB5000A[1]在軍事裝備軟件開發(fā)中的推廣,軍事軟件開發(fā)過程逐漸趨于正式,軟件質(zhì)量得到了提高。但是國內(nèi)軍工單位在制定本地標準時,是以大多數(shù)項目的模式定義的標準過程,在某些類型的項目上應用會出現(xiàn)開發(fā)流程繁瑣、管理成本較高、效率低下、流于形式等情況。隨著國防建設的發(fā)展和投入的增加,軍事裝備的科研任務有所增加,一些較新、較快的項目也有所增加,其特點是需求不明確、開發(fā)周期較短[2],傳統(tǒng)的開發(fā)方法在這些項目中表現(xiàn)出局限性。為了保質(zhì)保量、高效及時地完成任務,必須引入新的開發(fā)方法,在保證滿足國軍標的要求的前提下,使裝備承研單位能迅速響應需求變化而不失大規(guī)模規(guī)范化開發(fā)。

        光電系統(tǒng)在軍事應用中發(fā)揮著重要的作用,廣泛應用在偵察感知、瞄準指示、預警對抗等領域[3],并且隨著信息化、智能化發(fā)展的需求,其軟件規(guī)模逐步增大、可靠性要求也逐步提高,在國防領域?qū)l(fā)揮越來越重要的作用,因此很有必要對其研制過程進行改進。軍用光電系統(tǒng)軟件各配置項多為嵌入式軟件,軟件規(guī)模以中小型為主,目前多為以單個軟件配置項為主劃分生命周期模型進行開發(fā),各軟件配置項從軟件負責人、軟件主管到各級開發(fā)、測試、支撐角色一應俱全,機構龐雜,流程繁瑣,引入集成化的開發(fā)方法將各配置項統(tǒng)一管理很有必要。針對需求不固定、研制周期短的項目,可以引入敏捷開發(fā)的思想應用到研制過程中。

        1 相關研究

        1.1 GJB5000A概述

        為了提高設備軟件的質(zhì)量,提高設備軟件承包商的軟件開發(fā)能力,總裝電子信息基礎部提出了GJB5000A-2008《軍用軟件研制能力成熟度模型》。它由5個成熟度級別、22個過程域、48個專用目標、165個專用實踐、2個共享目標和12個共用實踐組成。成熟度等級向組織提供了測量其軟件過程能改進得多好的方法,可用于基準對比、供方選擇、合同項目監(jiān)督、評估和評價活動。軍用軟件開發(fā)單位按照GJB5000A的要求進行落地,形成符合單位實際情況的運行改進系統(tǒng),自發(fā)布以來效果顯著[4-5]。

        1.2 軍用光電系統(tǒng)軟件研制過程現(xiàn)狀

        在軟件管理和研發(fā)人員的努力下,軍用光電系統(tǒng)軟件的開發(fā)過程按照GJB5000A的要求有序進行,完成了從“小作坊”到“正規(guī)軍”的轉(zhuǎn)變,提高了研發(fā)效率,管理成本降低,軟件可靠性顯著提高。但是隨著企業(yè)改制、組織機構調(diào)整和具有新特點項目的出現(xiàn),原有的研制過程中有些做法已不太適應這些變化,需要做出針對性的改進。

        1.2.1開發(fā)過程以單配置項為主

        光電系統(tǒng)軟件根據(jù)功能和部署位置通常劃分為多個配置項,配置項組成示意如圖1所示,基本信息示意如表1所示。

        圖1 光電系統(tǒng)軟件組成

        表1 各配置項基本信息

        續(xù)表1

        可以看出,各軟件配置項編程語言雖然以C語言為主,但涉及的專業(yè)性較強,且多為嵌入式軟件,硬件針對性也比較強?;谝陨咸攸c,傳統(tǒng)研制過程中主要以配置項為主體指定各類角色和選擇生命周期模型,如圖2所示。主要人員角色見表2。

        圖2 傳統(tǒng)的光電系統(tǒng)軟件開發(fā)過程

        表2 人員角色

        此方法的優(yōu)點:能完美符合GJB5000A的要求,保證評價及年審的正常通過;管理細致,細化到每個配置項,保證了每個技術環(huán)節(jié)及管理環(huán)節(jié)都有相應角色,可靠性較高。缺點:需要配備的人員隊伍龐大,各類角色培訓成本及人工成本較高;不管軟件規(guī)模及重要程度的大小,所需要的角色基本一樣,靈活性較差;頂層策劃較弱,各配置項之間的集成較弱,各配置項之間獨立性較強,軟件負責人之間缺少策劃的充分交流,各配置項之間進度策劃參差不齊,不利于系統(tǒng)集成進度的策劃,缺少專業(yè)技能方面的交流,對設計規(guī)范、編碼規(guī)范的應用及軟件可靠性設計方面各專業(yè)有各專業(yè)的特色,水平也不一。

        1.2.2生命周期模型以瀑布模型為主

        生命周期過程模型自誕生之日起發(fā)揮了重要作用,它的發(fā)展起始自1970年W.Royce發(fā)表的瀑布模型,隨著軟件開發(fā)活動的不斷變化,出現(xiàn)了各種模型,如原型模型、增量模型和螺旋模型[6]。瀑布模型的示意圖如圖3所示。

        圖3 瀑布模型示意圖

        瀑布模型在高透明、高可控性、高可靠性的同時也有各種局限性:

        (1) 在項目初期就要求分析出全部需求,不能有遺漏和理解上的錯誤,后續(xù)以此為基礎進行詳盡的策劃。但往往項目執(zhí)行時,一方面用戶由于缺乏軟件開發(fā)的知識很難準確地說清楚軟件到底要干什么;一方面隨著硬件平臺和外部環(huán)境的變化,組織機構、工作任務的變化,用戶的潛在需求是不停變化的。另外對于技術較新的項目,需求在前期是無法完全明確的,需要在研制過程中逐步明確。

        (2) 階段之間具有順序性和依賴性。在瀑布模型下,后階段工作依賴前階段工作完成,且產(chǎn)品和活動需通過評審后才能進入下階段,對于進度要緊的項目,可能會導致進度推后,因此軟件開發(fā)人員接到任務后往往急于求成而提前進行了編碼,導致大量返工。

        (3) 軟件實現(xiàn)節(jié)點延遲,在需求分析和設計階段的工作完成并通過評審后才能進入實現(xiàn)階段。由于其特殊用途,軍用軟件對軟件可靠性有很高的要求。就軍用光電系統(tǒng)軟件研制而言,其主要是嵌入式軟件,以往的開發(fā)具有需求相對簡明、軟件規(guī)模小、開發(fā)周期長等特征,結合可靠性、安全性的高要求,因此主要采用的是瀑布型模型。雖然根據(jù)不同項目類型增加了增量、原型、迭代等要素,甚至精簡合并了研制階段,但本質(zhì)還是瀑布模型的理論。

        2 改進思路

        2.1 集成化管理

        為了解決研制過程以配置項為主體帶來的問題,擬采用集成管理的方法。中心思想是將光電系統(tǒng)軟件當成一個配置項,各軟件配置項作為一個模塊來管理。具體做法如下:

        軟件配置項的軟件負責人被撤銷,并且只為整個項目設置一個軟件負責人。擔任項目軟件負責人角色的人員應具有豐富的開發(fā)經(jīng)驗,對各個專業(yè)的技術特點及研制過程都有一定的了解,掌握其技術難點及關鍵點,包括所使用的工具、開發(fā)語言、測試方法、所適用的規(guī)范、標準等。此方法對項目軟件負責人的要求較高,需具備從頂層把握各軟件配置項的研制進度,具有掌握各配置項研制過程的共同點和不同點的能力。

        整個項目的所有軟件統(tǒng)一項目的定義過程,選擇統(tǒng)一的生命周期模型,并選擇定制過程和活動。

        項目軟件負責人統(tǒng)一做整個項目軟件的策劃、監(jiān)督、風險分析、測量分析,在重大事項出現(xiàn)時負責決策。

        單元測試人員可以由其他軟件配置項的開發(fā)人員承擔,各配置項之間進行角色交叉。這使得測試人員數(shù)量得到了減少,各配置項之間的技術交流有所增加。

        改進后的研制過程如圖4所示。各角色之間職責及數(shù)量的變化見表3。

        圖4 集成后的光電系統(tǒng)軟件研制過程

        表3 改進后項目人員角色的職責及數(shù)量

        續(xù)表3

        2.2 敏捷開發(fā)方法

        2.2.1敏捷方法簡介

        采用了集成化的方法后,生命周期模型得到了改進,研制過程中的管理流程和角色數(shù)量得到了精簡,角色職能得到了優(yōu)化,可以在大部分項目的研制過程中進行推廣,在保證質(zhì)量的前提下提升管理及研發(fā)效率。但其還是以瀑布模型為主,對需求變動頻繁、開發(fā)周期短的項目缺乏適應性。針對此類項目可以在集成化改進的基礎上引入敏捷開發(fā)方法。

        敏捷開發(fā)就是針對軟件研制過程中遇到的需求頻繁變動、任務節(jié)點較緊的問題。2001年一批軟件專家成立了敏捷聯(lián)盟,總結出了能快速高效研發(fā)并能輕松應對需求變更頻繁的價值觀和原則。敏捷開發(fā)宣言的內(nèi)容:個人與溝通勝過過程和工具;可工作的軟件勝過面面俱到的文檔;客戶協(xié)作勝過合同談判;相應變化勝過遵循計劃。

        敏捷開發(fā)方法注重人與人之間的交流,強調(diào)以人為核心,與以往傳統(tǒng)的講究編制詳細的計劃和技術資料的文檔驅(qū)動方法不同[7]。目前使用的基本敏捷方法有很多,例如極限編程(XP)、Scrum、特征驅(qū)動開發(fā)(FDD)等[8],每種方法都有不同的實踐,但基礎都是基于增量和迭代的過程[9]。

        敏捷開發(fā)在國外已經(jīng)流行多年,像微軟、IBM、谷歌、雅虎等知名公司應用此方法取得了相當不錯的效率,同時開發(fā)了大量的項目管理軟件如ScrumWorks、VersionOne、Rally等來支撐敏捷開發(fā),開源工具有XPlanner、XPWeb、Trac等。國內(nèi)目前仍然停留在技術采納生命周期的初期試用階段,在國內(nèi)流行較慢的原因為國內(nèi)習慣于制定詳細的標準和計劃,所有項目都要按照標準和計劃執(zhí)行。敏捷開發(fā)方法與國內(nèi)特別是軍用軟件開發(fā)主要特點比較見表4。

        表4 敏捷方法與國內(nèi)軍用軟件傳統(tǒng)方法主要特點比較

        2.2.2敏捷方法應用

        眾多文獻資料分析了敏捷開發(fā)與GJB5000A或CMMI結合的方法和思想[10-12],本文主要介紹了在項目管理和工程技術活動兩個過程領域的敏捷開發(fā)。其思想如下:

        (1) 快速交付中間版本,供競標、試驗、大系統(tǒng)聯(lián)調(diào)使用。將軟件需求分析、軟件設計、軟件實現(xiàn)、單元和集成測試迭代為一個階段。迭代周期中,只需要有相應文檔的相應內(nèi)容,例如需求規(guī)格說明、設計描述、測試文檔等。交付代碼后再按照模板和標準編寫文檔和實行評審。這樣做的優(yōu)勢一是能快速交付軟件產(chǎn)品,解決了前面提到的按照階段一步步執(zhí)行影響進度的問題,保證了產(chǎn)品按時交付;二是以用戶為核心,根據(jù)用戶的要求及時更改軟件產(chǎn)品,轉(zhuǎn)變觀念不怕變更,解決以往不敢變更和變更難的現(xiàn)象。缺點是對軟件開發(fā)人員要求較高,如果在編碼完成階段才暴露問題,返工的成本會比較大。

        (2) 項目總師/系統(tǒng)總體組成員作為軟件項目組的用戶,參與每次迭代過程的討論溝通。一是光電系統(tǒng)軟件均為嵌入式軟件,與硬件系統(tǒng)結合緊密,二是嵌入式軟件很難直接面對顧客或使用者,因此由熟悉軟件需求和開發(fā)管理的系統(tǒng)總體組成員擔任此角色,參與每次迭代前需求的選擇和迭代后的確認,以及迭代過程中的管理過程。這樣能降低上面提到的問題暴露過晚造成的風險。

        (3) 單元測試和實現(xiàn)同時進行。往常按照瀑布模型開發(fā)時要先設計編碼再進行測試,敏捷開發(fā)講求用測試來驅(qū)動設計編碼,根據(jù)用戶需求先進行測試的策劃、需求分析和實現(xiàn),再寫代碼,這樣能確保測試的覆蓋率,也能避免冗余的設計實現(xiàn)。這種方法需要測試工具和經(jīng)驗豐富的測試角色的支撐,前期可采取測試和實現(xiàn)同步進行的方法進行過度,待工具配套和開發(fā)人員的水平提升后再改為測試驅(qū)動實現(xiàn)的方法。

        3 改進后的開發(fā)過程模型

        結合上述想法,我們提出了生命周期過程的主要過程,如圖5所示。

        圖5 生命周期主要流程圖

        本生命周期模型有以下特點:

        (1) 系統(tǒng)需求分析和設計階段確定整個光電系統(tǒng)軟件的要求,編制、評審系統(tǒng)需求規(guī)格說明和系統(tǒng)設計說明。各軟件配置項的軟件研制任務書都放在后面進行編制和評審。原因是光電系統(tǒng)的主要軟件是嵌入式軟件,它與硬件緊密集成,一些功能和性能的界限不太清楚,如坐標系轉(zhuǎn)化功能可由光電管理計算機軟件實現(xiàn),也可由光電伺服控制軟件實現(xiàn),光電軸位存儲功能可由光電管理計算機軟件實現(xiàn)也可由視頻跟蹤器實現(xiàn),最終可在多次迭代后選擇最優(yōu)化的實現(xiàn)方式。用戶關注的是光電系統(tǒng)整體呈現(xiàn)的功能,各配置項之間的功能分配要靈活得多,這樣做可以減少以往項目在研制階段無謂的需求變更和配置管理手續(xù),提高效率。

        (2) 每次迭代以提供可運行的代碼為主,將設計、實現(xiàn)和單元測試同步進行,保存中間數(shù)據(jù),保證聯(lián)試試驗后再進行數(shù)據(jù)整理形成最終文檔。這樣會存在風險。因為需求分析人員和開發(fā)人員的能力導致問題發(fā)現(xiàn)不及時,從而增加返工的難度和成本。因此需要系統(tǒng)組成員參與每次迭代的需求分析、需求選擇和管理過程的全程參與。

        (3) 以系統(tǒng)軟件為主線進行策劃,各配置項不再單獨管理,改為統(tǒng)一策劃、研制和管理。前面已經(jīng)進行了詳細分析。

        4 結 語

        本文緊密結合GJB5000A的要求和敏捷開發(fā)方法以及集成管理的思路,提出了適用于中小型軟件規(guī)模、開發(fā)周期較短的軍用光電系統(tǒng)軟件研制的生命周期模型主要流程。采取集成管理的方法,將光電系統(tǒng)軟件當成一個配置項,各軟件配置項作為一個模塊來管理,整個項目的所有軟件制定一個項目定義過程和生命周期模型,精簡了管理流程和人員角色。吸取敏捷管理的思想,先交付產(chǎn)品再統(tǒng)一整理文檔,保證系統(tǒng)試驗、聯(lián)試的順利進行。為了保證需求不出現(xiàn)偏差,選擇項目總師/系統(tǒng)總體組成員作為軟件項目組的用戶,參與每次迭代過程的討論溝通。為了保證產(chǎn)品質(zhì)量,采取了單元測試和實現(xiàn)同時進行。在軟件質(zhì)量、可靠性不降低的前提下快速交付軟件產(chǎn)品不拖延進度。后續(xù)隨著開發(fā)、管理人員水平提高以及配套工具逐漸到位,可以進一步優(yōu)化此過程,進一步提高開發(fā)效率。

        猜你喜歡
        開發(fā)方法生命周期研制
        動物的生命周期
        全生命周期下呼吸機質(zhì)量控制
        高中英語校本教材的開發(fā)方法
        甘肅教育(2020年14期)2020-09-11 07:58:10
        從生命周期視角看并購保險
        中國外匯(2019年13期)2019-10-10 03:37:46
        民用飛機全生命周期KPI的研究與應用
        基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
        一種輕型手搖絞磨的研制及應用
        廣西電力(2016年5期)2016-07-10 09:16:44
        接地線通用接地端的研制
        二代證高速電寫入機的研制
        警察技術(2015年6期)2015-02-27 15:38:24
        基于模型開發(fā)方法(MBD)的ABS控制器開發(fā)
        汽車文摘(2014年9期)2014-12-13 13:10:30
        国内精品久久人妻互换| 国产精品天天狠天天看| 成人欧美在线视频| 亚洲国产日韩精品综合| 亚洲熟妇av一区二区在线观看| 又大又粗欧美黑人aaaaa片| 国产成人久久精品77777综合| 天堂av一区二区在线观看| av男人天堂网在线观看| 精人妻无码一区二区三区| 亚洲美女又黄又爽在线观看| 在线观看一区二区女同| 丝袜美腿在线播放一区二区| 草色噜噜噜av在线观看香蕉| 久久中文字幕人妻熟av女蜜柚m | 亚洲日韩精品AⅤ片无码富二代| 国产丝袜爆操在线观看| 国产成人a在线观看视频免费 | 国产精品一区一区三区| 亚洲国产成人极品综合| 欧美两根一起进3p做受视频| 日本理论片一区二区三区| 国产女主播福利在线观看| 欧美日韩精品久久久久| 男女男在线精品网站免费观看| 亚洲国产av一区二区三| 亚洲高清三区二区一区| 日韩激情无码免费毛片 | 国产在线一区二区三区四区不卡| 99久久国产综合精品女图图等你| 99国产精品久久久蜜芽| 日韩精品人妻一区二区三区蜜桃臀| 亚洲s色大片在线观看| 国产精品久久久久久人妻精品| 免费无码又爽又刺激聊天app| 欧美中文字幕在线看| 男女啪啪啪的高清视频| 免费视频成人片在线观看| 国产精品无码一区二区在线国| 日本视频一区二区三区三州| 国产精品永久久久久久久久久|