中小型嵌入式軟件的高效管理_第1頁
中小型嵌入式軟件的高效管理_第2頁
中小型嵌入式軟件的高效管理_第3頁
中小型嵌入式軟件的高效管理_第4頁
中小型嵌入式軟件的高效管理_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、中小型嵌入式軟件的高效管理隨著GJB5000A-2008軍用軟件研制能力成熟度模型在我國科研單位的逐步應用推廣,軟件產(chǎn)品研制過程的工程化要求越來越科學和嚴格。因此我們在某些重點項目上進行了GJB5000A二級的首批實踐。這次實踐有效地提高了軟件研制的工程化水平,但是同時也發(fā)現(xiàn)了許多問題和和失誤。通過管理人員和技術人員的分析和總結,得出結論:GJB5000A二級的應用需要關注的兩方面工作重點,一是建立適應于中小型嵌入式軟件的高效的項目管理體系,二是利用軟件測試技術提高軟件的可靠性,保證軟件的質(zhì)量。1 中小型嵌入式軟件的高效管理1.1 軟件研制的現(xiàn)狀在電子信息系統(tǒng)及相關產(chǎn)品中,主要包含三類軟件:(

2、1)人機交互類軟件,采集目標狀態(tài)信息和各分系統(tǒng)狀態(tài)信息顯示于終端圖形界面上,同時由操縱員進行人工操作;(2)數(shù)據(jù)處理類軟件,包括數(shù)據(jù)處理、信號處理、數(shù)據(jù)融合、數(shù)據(jù)交換等;(3)控制類軟件,包括波束控制,機械裝置控制,時序控制,系統(tǒng)校準,系統(tǒng)自檢等。這三類軟件的功能模塊基本相同,包括系統(tǒng)初始化、任務調(diào)度、數(shù)據(jù)解算、時序控制、IO通信定時管理、中斷管理、任務問的通信同步互斥管理及內(nèi)存管理等。它們的研制特點如表1所示:表1反映出三類軟件均存高實時性的嵌入式芯片或平臺上開發(fā)和運行,三類軟件規(guī)模較小,研制周期短,不同項目的軟件之間具有重復性。在實際工作當中,每個軟件項目組的人員配置上,全部軟件研發(fā)人員人

3、數(shù)一般不多于10人,項目組成員同時分擔大量的硬件研制、系統(tǒng)組成、系統(tǒng)聯(lián)調(diào)、試驗的工作。因此我們面對的主要是中小型軟件項目的嵌入式軟件。在軟件工程化的首次實踐中,軟件研制過程反映出4類共性的問題:(1)項目軟件研發(fā)時間緊,人員少,人員投入度不足,人員職責不明晰,造成部分執(zhí)行要求被人為簡化,甚至隨意取消;(2)項目軟件的計劃性不強,經(jīng)常出現(xiàn)需求、人員、資源的變動,造成了進度拖延,計劃無法得到保證;(3)項目軟件研發(fā)過程中會議和文檔較多,但利益相關方的界定不明晰,造成不必要的“文山會海”現(xiàn)象,降低管理效率,影響軟件設計工作;(4)管理人員和技術人員的工作過程缺乏足夠的監(jiān)管和測量分析,造成了項目管理進

4、程缺乏統(tǒng)一性和技術可重復性。為了解決通過上述問題,我們在實踐過程中逐漸摸索和總結出一些適合中小型嵌入式軟件研制方法。下面將從軟件項目管理體系和軟件項目研制過程兩方面進行闡述。1.2 軟件項目管理體系成功的軟件取決于科學的管理體系。GJB5000A二級的七個過程域中,項目策劃(PP)、配置管理(CM)、過程和產(chǎn)品質(zhì)量保證(PPQA)這三個過程域是十分重要的管理過程域。項目策劃的目的是制定和維護定義項目活動的計劃,具體分為四項工作:(1)制定項目軟件研制計劃;(2)適當?shù)嘏c利益相關方交換意見;(3)獲得對計劃的承諾;(4)維護該計劃。項目策劃可以理解為整個軟件研制過程的劇本,其規(guī)定了“WWWHI0

5、”(When、Who、Where、How、Input、Output)六個要素,即規(guī)定時間內(nèi)安排項目人員及相關管理人員在一定環(huán)境下按照軟件工程化的方法,以項目的早期需求或軟件研制任務書為輸入,依靠項目軟件經(jīng)理與所級主管領導、項目總師、科研開發(fā)部、質(zhì)量管理部、設計師、同行專家經(jīng)過多方協(xié)調(diào),在需求管理、軟件生命周期、代碼規(guī)模估計、文檔規(guī)模估計、工作量估計、進度、風險管理、培訓管理、數(shù)據(jù)測量、數(shù)據(jù)管理等達成一致輸出整個項目的軟件開發(fā)計劃。初期的計劃往往無法做到盡善盡美,需求和承諾的更改,不準確的前期估計都會影響計劃的實施,導致項目計劃需要在過程中調(diào)整甚至重新制定,因此對于研制周期較長、軟件模塊之間存在

6、復雜依賴關系的項目,需要分每一階段進行更細化的項目策劃。配置管理緊緊依賴于軟件開發(fā)計劃,目的是利用配置標識、配置控制、配置狀態(tài)紀文和配置審核建立和維護工作產(chǎn)品的完整性。整個軟件生命周期中,配置管理起到 “數(shù)據(jù)庫”和“錄像機”的作用。首先組織級配置管理員規(guī)定三類基線:功能基線、分配基線、產(chǎn)品基線;規(guī)定三類文件存儲庫:開發(fā)庫、受控庫、產(chǎn)品庫 然后項目級配置管理員規(guī)定基線下的工作產(chǎn)品,如技術文檔、軟件源代碼及可執(zhí)行程序、評審報告等,根據(jù)軟件研制階段不同分別放置于對應基線下的庫中。組織級和項目級配置管理員進行合理計劃,輸出配置管理計劃。配置管理工作不能誤認為僅僅是檔案工作,作為組織級項目配置管理員,其

7、職責為:(1)定制標準化的開發(fā)流程;(2)定制訪問控制、變更控制的條例;(3)監(jiān)督配置管理事件并驅(qū)動相應的對策;(4)軟件配置管理工具的日常管理與維護。作為項目級配置管理員,其職責為:(1)提交配置管理汁劃;(2)各配置項的管理與維護:(3)執(zhí)行版本控制和變更控制方案;(4)完成配置管理階段工作報告。過程與產(chǎn)品質(zhì)量保證是從制度和規(guī)范上嚴格保證了軟件工程化的實施。質(zhì)量管理人員應該具備軟件研制開發(fā)的經(jīng)驗,熟悉各種軟件的研制流程。首先建立對研制過程、工作產(chǎn)品的評價標準;其次通過檢查標識并文檔化不符合項,追蹤不符合項的閉環(huán);然后定期將軟件研制過程的質(zhì)量情況通報整個項目組和高層,并做出階段總結報告。項目

8、軟件經(jīng)理、組織級項目級配置管理員、質(zhì)量保證人員三者應該及時溝通,從不同的角度管理軟件研制項目組成員,包括相互之間的監(jiān)督,促使軟件研制過程嚴格按照GJB5000A二級標準執(zhí)行。他們也需要按階段或定期向項目總師、部門領導以及所領導匯報軟件工程化的實施情況以獲得上級對項目的支持。1.3 軟件項目研制過程項目策劃和配置管理雖然已經(jīng)定義了流程化或模板式的操作方法,但大部分項目軟件人員會犯“先做事,后補文檔”的錯誤。因為對于總師、分系統(tǒng)負責人、設計師等項目組技術人員來說,他們更關注如何能夠促進軟件研制過程又好又快的進行。為了這個目的,必須重視需求管理(REQM)、項目監(jiān)控(PMC)、測量與分析(MA)這三

9、個工程過程域。下面以一個瀑布模型的軟件研制過程為例說明如何進行過程中的監(jiān)控。項目監(jiān)控從圖1中的軟件需求分析階段開始直至項目結束。項目監(jiān)控過程中,設計師和管理人員需要提供個人工作周報,記錄自己實際的工作完成情況;在雙周或整月時,項目軟件經(jīng)理組織項目組成員交流項目情況并記錄;階段結束后,組織針對階段工作產(chǎn)品的評審會,然后輸出里程碑報告。管理人員對照軟件開發(fā)計劃中的進度計劃、風險管理計劃、數(shù)據(jù)管理計劃、利益相關方參與計劃等文檔監(jiān)控進度偏差、工作量偏差、規(guī)模偏差、風險變化、培訓情況、評審狀況、問題數(shù)量和回歸狀況。一旦出現(xiàn)偏差加大的趨勢,就需要及時開會交流,查明原因,迅速糾偏。測量與分析更加詳細地規(guī)定了

10、對于能夠證明過程的文檔的采集和存儲方法,而且需要對采集數(shù)據(jù)匯總后進行統(tǒng)計分析,將分析結果,如偏差、趨勢、錯誤數(shù)目等展示給項目組成員和高層領導,由他們進行項目開發(fā)的決策。項目監(jiān)控是手段,測量與分析為輔助,需求管理則是最終目的。結合圖1,需求在整個軟件研制周期內(nèi)不可能是一成不變的,是逐步細化的。用戶需求是第一步,隨后軟件研制任務書將用戶需求工程化,需求規(guī)格說明對任務書的需求細化,設計說明對需求規(guī)格說明的需求細化,軟件源代碼將設計說明對應到代碼。單元測試、集成測試、系統(tǒng)測試是對細化后的需求進行回歸。根據(jù)GJB438B-2009中的軟件需求規(guī)格說明模板,需求包括10類技術需求和4類非技術需求。非技術類

11、需求一般可以得到客觀保證,因此不會出現(xiàn)大的變動,可以暫不納入需求跟蹤矩陣。技術需求由于項目研制情況會出現(xiàn)變化,需要納入需求跟蹤矩陣進行管理,確保軟件工作產(chǎn)品的需求能夠進行雙向追溯。一旦需求變更狀況時,及時記錄并且上報整個項目組,獲得項目組的一致認可。1.4 項目管理信息化手段的應用工欲善其事,必先利其器。軟件工程化管理主要通過文檔來反映過程。如果通過傳統(tǒng)的人工撰寫文檔和凡事開會溝通的方式進行軟件項目管理的話,將會大大增加管理人員和設計師人員的工作量,況且這種方式的效率是十分低下的。因此有必要應用先進的項目管理信息化工具。目前,關鍵科技公司推出專門針對GJB5000A二級軟件工程化產(chǎn)品的解決方案

12、,包括KPFLOW、KRFLOW、KCFLOW和KTFLOW四類工具:(1)KPFLOW:對軟件項目的進度、成本、質(zhì)量、資源等情況進行集成管理的平臺。其主要功能包括:任務分配與跟蹤、項目估計、項目周報和個人周報記錄、問題與風險管理、項目度量分析。該平臺支持系統(tǒng)建模,即意味著可以針對不同項目設計對應的模板和模塊。該平臺主要體現(xiàn)PP(項目策劃)、PMC(項目監(jiān)控)、MA(測量與分析)和PPOA四個過程域的信息化管理;(2)KRFLOW:需求管理工具,其主要功能包括:需求的獲取和編輯、需求跟蹤和分析、變更建議系統(tǒng)、基線管理。該軟件主要實現(xiàn)REQM(需求管理)過程域的信息化管理工作;(3)KCFLOW

13、:確保軟件項目生存周期內(nèi)產(chǎn)品的完整性、一致性和可追溯性。其主要功能包括:配置計劃管理、變更控制、版本管理、產(chǎn)品依賴關系和一致性管理、軟件問題跟蹤管理、軟件配置狀態(tài)審計。該軟件實現(xiàn)了CM(配置管理)過程域的信息化管理,同時也可以管理REQM和PPQA兩個過程域;(4)KTFLOW:測試過程的管理軟件,其主要功能包括:梳理測試需求、制定測試計劃、設計測試用例、執(zhí)行測試過程、輸出測試報告。該軟件幫助測試人員在短時間內(nèi)、大批量的完成多個項目的軟件測試。這四類工具有兩個特色:一是它們相互之間可以進行數(shù)據(jù)互聯(lián),幫助管理人員從不同角度監(jiān)督研制過程;二是工具支持文檔自動生成,項目組人員只需要按照GJB438B

14、模板,填寫部分軟件研制過程的信息,即可輸出標準化的文檔。盡管具有功能強大的工具,但是在初期實踐階段,由于工具普及的程度參差不一,我們先使用KCFLOW配置管理工具,先由組織級配置管理員負責使用,然后逐步對項目級配置管理員以及項目相關成員進行推廣。在這個過程中,項目組成員需要不斷的實踐,逐步提高勞動效率。2 嵌入式軟件可靠性的提高2.1 軟件可靠性軟件工程化的核心是為了實現(xiàn)好的軟件,而評價軟件好壞的關鍵標準是軟件可靠性。軟件可靠性(Software Reliability)指的是在給定時間和特定環(huán)境要求下,軟件完成規(guī)定功能的能力。針對在雷達系統(tǒng)中使用的嵌入式軟件中,可靠性指標一般隸屬于分系統(tǒng)或整

15、機的指標,即在初始系統(tǒng)正常的條件下,在規(guī)定時間內(nèi),軟件不引起系統(tǒng)故障的能力。由于嵌入式軟件與硬件結合相當緊密,其可靠性指標具有很大的隨機性,如外界環(huán)境變化、系統(tǒng)輸入出錯、使用不當以及軟硬件設計的固有缺陷等原因都會導致軟件可靠性指標降低,但是不能因為這些困難,使得嵌入式軟件可靠性的保證成為空談。軟件可靠性是可以通過軟件工程化的實踐來提高。1.1 2.2靠性的提高嚴格進行軟件工程化管理是提高軟件可靠性的必經(jīng)之路。按照軟件工程化要求,需要做好如下五方面工作:(1)前期項目組針對軟件進行充分的論證和分析,爭取將軟件需求明確體現(xiàn)在軟件研制任務書中;(2)設計過程中,盡量提高軟件模塊或單元的高內(nèi)聚性、低耦

16、合性。單元之間的接口盡量明晰,整個系統(tǒng)軟件的復雜度不易過高,該拆分的就需要合理拆分為多個組成部分;(3)加強軟件文檔的健全性和準確性,按照GJB438B-2009武器系統(tǒng)軟件開發(fā)文檔的要求,軟件研制過程中的文檔不能有缺失、描述不清、前后矛盾等情況出現(xiàn)。這些文檔必須經(jīng)過專業(yè)人士的評審認可,并且問題回歸后才能進行歸檔;(4)逐步建立軟件標準化工作,包括文檔標準化和代碼模塊標準化,這樣可以有利的縮短研制周期,降低研制風險,提高軟件產(chǎn)品的重用率;(5)切實加強嵌入式軟件的測試工作。3.測試3.1軟件測試的重要性盡管軟件工程化管理工作對軟件質(zhì)量的保證起到至關重要的作用,但是技術人員依然心存質(zhì)疑,是否好的

17、管理就能夠確保高可靠性的軟件。答案就在于軟件測試。軟件測試是將軟件可靠性指標具體化的手段。從廣義上講,軟件測試是為了盡快盡早地、不斷地發(fā)現(xiàn)各種軟件缺陷而開展的對軟件及過程產(chǎn)品的驗證和確認活動。從狹義上講,軟件測試包括4類測試:(1)針對軟件源代碼的靜態(tài)測試和代碼審查,確保軟件源碼符合GJB5369航天型號C語言安全子集或其他開發(fā)語言標準的要求;(2)針對軟件設計說明對應的軟件模塊的單元測試和動態(tài)測試,確保軟件模塊的代碼覆蓋率達到100;(3)針對需求規(guī)格說明對應的軟件功能性能的集成測試,確保軟件功能、性能、外部和內(nèi)部接口等符合要求;(4)針對軟件研制任務書對應的軟件需求的系統(tǒng)測試或驗收測試,確

18、保軟硬件各項指標符合用戶的驗收要求。在這個測試過程中,測試問題及問題數(shù)目、測試問題的歸零情況、測試問題中文檔問題和軟件問題的比例、階段測試的缺陷率、軟件故障等級、軟件失效概率等度量數(shù)據(jù)可以直觀地反映出軟件的可靠性狀況。因此軟件測試工作對于軟件研制起到關鍵的保障作用。1.1 32 軟件測試工具的應用軟件測試是一項有難度的專業(yè)技術工作,除了人工代碼走查、問題記錄分析工作之外,大部分工作需要專業(yè)的軟件測試工具完成。英國LDRA公司的LDRA Testbed測試軟件是目前針對嵌入式軟件測試最有效的工具之一。該軟件主要可以實現(xiàn)代碼評審、質(zhì)量評審、設計評審、單元測試、測試確認以及整個過程的測試管理功能。代碼評審考察了軟件源代碼對編程規(guī)則的適應以及代碼結構的合理性;質(zhì)量評審分析了代碼的圈復雜度、循環(huán)嵌套和不可達性,反映出代碼的清晰性、可維護性和可測試性;設計評審包含接口分析、數(shù)據(jù)流分析、數(shù)據(jù)對象分析,確保了代碼與需求規(guī)格說明的一致性;單元測試包含動態(tài)測試,主要測試代碼的語句覆蓋和分支覆蓋程度;測試確認采用自動化的方法對于測試產(chǎn)生的問題進行回歸和記錄,自動輸出測試用例集和軟件測試報告。對于該工具的具體使用上,需要注意兩點,一是該軟件還不能有針對性的自動生成測試用例,也就意味著我們需要針對前文提到的三類軟件進行人工設計和輸入測試用例,并將這些測試用例標準化

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論