嵌入式軟件開發(fā)過程探討0204_第1頁
嵌入式軟件開發(fā)過程探討0204_第2頁
嵌入式軟件開發(fā)過程探討0204_第3頁
嵌入式軟件開發(fā)過程探討0204_第4頁
嵌入式軟件開發(fā)過程探討0204_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

.嵌入式應用軟件開發(fā)過程標準化管理探討美多通信設備程衛(wèi)紅嵌入式軟件廣泛應用于國防、工控、家用、商用、辦公、醫(yī)療等領域,嵌入式計算機系統(tǒng)存在著專用性強、可靠性高、實時性強、軟硬件結合緊密等特點,嵌入式軟件是嵌入式計算機應用系統(tǒng)的核心與靈魂,它在軍用電子裝備中有著廣泛的應用,其中一些中小型軍用電子裝備研發(fā)企業(yè)的嵌入式軟件研發(fā)團隊一般僅有數(shù)人至十幾人,且存在人員流動,缺乏對其開發(fā)過程的有效技術及質(zhì)量的監(jiān)管控制,造成一些軟件嵌入式更改頻繁、開發(fā)效率低,質(zhì)量企業(yè)中實施有困難。規(guī)其開發(fā)過程存在一定難度,這成為這些企業(yè)控制裝備質(zhì)量、提高研發(fā)效率的瓶頸。合嵌入式軟件開發(fā)的自身特點,針對中小型軟件研發(fā)企業(yè)的具體情況提出了嵌入式軟件開發(fā)過程的標準化管理及質(zhì)量控制的一些思路,以饗讀者。1嵌入式軟件開發(fā)過程的標準化分析1.1嵌入式軟件與嵌入式系統(tǒng)中心,以計算機技術為基礎,軟硬件可裁減,能適應實際應用系統(tǒng)中對功能、性能、可靠性、成本、體積、功耗、電磁兼容等嚴格要求的專用計算機系統(tǒng)[1]。嵌入式軟件與嵌入式系統(tǒng)是密不可分的,嵌入式軟件是基于嵌入式系統(tǒng)而專門設計的軟件。嵌入式軟件是針對特定應用領域,基于某一固定的嵌入式硬件平臺系統(tǒng)而專門設計,用來達到用戶預定目標的計算機軟件。嵌入式系統(tǒng)中軟件與硬件緊密配合/協(xié)調(diào)工作,強調(diào)硬件/軟件的協(xié)同性與整合性。開發(fā)時著重軟硬件協(xié)同設計方法即,使用統(tǒng)一的方法和工具協(xié)同設計目標系統(tǒng)的軟硬件體系結應用系統(tǒng)軟硬件能力,獲得高可靠、高性價比的系統(tǒng)優(yōu)化設計方案[2]。與通用計算機系統(tǒng)相比,它具有以下特點。(a)系統(tǒng)的專用性嵌入式軟件系統(tǒng)為特定的用戶設計,面向特定的應用領域,這種強針對性決定了嵌入式系統(tǒng)在硬件/軟件系統(tǒng)設計方面都必須量體裁衣(體積/功耗/成本),以滿足應用系統(tǒng)的特定應用要求。(b)硬件的依賴性在嵌入式系統(tǒng)中,軟件與硬件結合非常緊密。軟件的運行離不開特定的硬件平臺,當硬件平臺發(fā)生改變時,其中的嵌入式軟件要根據(jù)硬件的變化進行修改和系統(tǒng)的移植。此外,嵌入式系統(tǒng)中有限的硬件資源制約著軟件的開發(fā),決定著軟件的質(zhì)量和效率,因此,在嵌入式系統(tǒng)的設計、開發(fā)、測試等過程中,要充分考慮到硬件資源的約束、管理及使用。(c)高可靠性、穩(wěn)定性軟件可靠性是指在規(guī)定的條件和規(guī)定的時間,軟件運行不發(fā)生故障的能力。采用嵌入式出了高可靠性、高穩(wěn)定性的要求。(d)多任務的搶占性與實時性在一些強實時應用的嵌入式軟件系統(tǒng)中,各任務的優(yōu)先級不同,同級任務具有搶占的特點,而且每個任務的響應時間均有明確而嚴格的要求和限制,否則可能產(chǎn)生災難性的問題或引發(fā)系統(tǒng)崩潰。.(e)目標軟件調(diào)試環(huán)境復雜嵌入式軟件的目標系統(tǒng)多為特殊的專用系統(tǒng),通常采用宿主機/目標機的聯(lián)合開發(fā)環(huán)境,借助通用計算機作為目標機的宿主開發(fā)調(diào)試環(huán)境,利用交叉調(diào)試器、通過通訊/或JTAG接口對目標機進行相關的開發(fā)調(diào)試,調(diào)試環(huán)境相對復雜、干擾因素較多。由于嵌入式軟件具有以上特點,其設計、實現(xiàn)與測試均與普通應用軟件研發(fā)不同,我們有必要采用軟件工程化的原理,對其開發(fā)過程進行分析研究,優(yōu)化其開發(fā)過程,提高它的可視性、可測性、可維性、可控性,從而提高嵌入式應用軟件的開發(fā)質(zhì)量。1.2一般嵌入式軟件開發(fā)過程的標準化分析a)明確開發(fā)過程節(jié)點,使軟件開發(fā)過程的管理有序受控將產(chǎn)品質(zhì)量控制原則貫穿于嵌入式軟件開發(fā)全過程,規(guī)定嵌入式軟件開發(fā)過程主要節(jié)點設置里程碑標志,進行必要的評審,使嵌入式軟件產(chǎn)品開發(fā)過程的技術與質(zhì)量管理有序受控。嵌入式軟件研制過程一般采用瀑布式模型,其開發(fā)工程過程一般劃分為:1)系統(tǒng)設計;2)需求分析;3)軟件概要設計;4)軟件詳細設計;5)編程;6)軟硬件聯(lián)合調(diào)試;7)軟件測試。嵌入式軟件開發(fā)的技術與質(zhì)量管理通常結合硬件開發(fā)同步進行,一般劃分為以下幾個階段:1)方案論證階段;2)初樣階段;3)正樣階段;4)設計定型;5)生產(chǎn)定型。b)嵌入式軟件軟件文檔的標準化嵌入式軟件的文檔資料與嵌入式軟件本身是軟件產(chǎn)品質(zhì)量控制的主體,依據(jù)GJB438A一1997《武器系統(tǒng)軟件開發(fā)文檔》,建立和完善軟件文檔庫(包括文檔模板),通過對開發(fā)過程的監(jiān)督,控制文檔與軟件的質(zhì)量,從根本上保證產(chǎn)品質(zhì)量。c)降低人為因素對軟件質(zhì)量的影響整個嵌入式軟件開發(fā)質(zhì)量是由每個項目成員的工作質(zhì)量所決定的明,確嵌入式軟件開發(fā)人員具體崗位、任務分配及工作規(guī),盡量降低影響軟件質(zhì)量的人為因素,避免非標準化的多個崗位重疊造成軟件產(chǎn)品的質(zhì)量失控。d)注重嵌入式軟件開發(fā)關鍵環(huán)節(jié)質(zhì)量控制在開發(fā)的過程中,嚴格需求分析、總體設計、邊界設計、概要設計等環(huán)節(jié)的質(zhì)量控制是解決軟件產(chǎn)品質(zhì)量的關鍵環(huán)節(jié)。強化用戶和需求分析人員的邊界意識。在有限的時間,明確相關的目標邊界、功能邊界和數(shù)據(jù)邊界??傮w設計時,選擇合適的微處理器和相關外圍設備、嵌入式操作系統(tǒng),進行軟硬件的合理分割,確定軟件開發(fā)、調(diào)試環(huán)境,確保研發(fā)成功。e)對嵌入式軟件開發(fā)成果進行考核設置重大節(jié)點進行軟件評審,每一小階段的完成以該階段參與人員的輸出完成為標志,通過下一階段參與者直接對上一階段輸出進行考核,使嵌入式軟件開發(fā)全過程處于受控。f)規(guī)嵌入式軟件配置項管理軟件的配置管理不是選用一個軟件配置管理工具軟件就可以了,軟件的配置管理就是軟件技術狀態(tài)的管理,包括制定和實施軟件配置管理計劃,進行配置標識、配置控制、配置狀況紀實。通過軟件的配置管理確保軟件配置項的完備、清晰、一致和可追溯性。盡可能實現(xiàn)版本向前兼容,合并多版本、多分支的產(chǎn)品或部件。g)嵌入式軟件的正確性及可靠性測試軟件功能及質(zhì)量測試是發(fā)現(xiàn)軟件錯誤的最有效途徑,是保證軟件質(zhì)量的重要手段,也為評價軟件技術質(zhì)量提供了可靠的依據(jù)。測試與開發(fā)是相輔相成的,軟件測試工作應貫穿整個軟件開發(fā)過程。保證測試質(zhì)量首先是選擇合適的測試人員,他需熟悉軟件測試的意義、技術和方法,并目組內(nèi)考核部門對項目組考核計定型生產(chǎn)定型善于與軟件開發(fā)人員交流和協(xié)調(diào);其次需制定測試計劃,再就是在開發(fā)過程中對軟件進行嚴格有效的測試。針對嵌入式軟件特點,不只進行軟件的白盒測試及黑盒測試,對測軟件進行實時性、多任務并發(fā)性、中斷處理以及軟硬件接口等方面的進行有針對性的測試。2嵌入式軟件開發(fā)過程的標準化實施2.1嵌入式軟件項目開發(fā)流程的標準化設計嵌入式系統(tǒng)開發(fā)的特點是滿足應用的多樣化需求。嵌入式軟件是嵌入式系統(tǒng)的核心部分,我們有必要規(guī)嵌入式軟件在多樣化的軟硬件平臺下開發(fā)流程,只有這樣也能使其開發(fā)過程受控,產(chǎn)品質(zhì)量得到保證。本文提出的一般規(guī)模嵌入式軟件標準化開發(fā)流程,流程中設置了軟硬件聯(lián)合調(diào)試,及結合硬件進行相關評審的節(jié)點,詳見圖1。項目項目立項配置管理需求分析需求需求分析需求/邊界確認總體設計注意需求邊界與用戶達成一致軟硬件合理分割不通過方案審查方案審查通過概要設計考評上電/掉電等時序說明考評人機界面人機界面確認詳細設計人機界面確認詳細設計編碼確認測試設計充分的代碼注釋調(diào)試單元測試軟硬單元測試軟硬件聯(lián)合調(diào)試系統(tǒng)測試實時性、多任務并發(fā)、中系統(tǒng)測試報告不通過結合硬件軟件評不通過結合硬件通過正樣研制現(xiàn)場試驗正樣研制現(xiàn)場試驗設計更改受控各項設計文件完善不通過軟件評審通過軟件灌裝、復制工藝軟件灌裝、復制.用戶試用設計定型用戶試用設計定型生產(chǎn)、培訓現(xiàn)場支持生產(chǎn)定型2.2嵌入式軟件開發(fā)崗位和任務分配的標準化整套設計文件歸檔完成公司內(nèi)有關人員及用戶進行培訓現(xiàn)場技術支持嚴格版本控制2.2.1具體崗位設置項目結束首先,規(guī)技術部門組織結構,設置標準化的組織機構,主要的組織有:項目管理委員會、入式軟件標準化開發(fā)流程圖其次,規(guī)開發(fā)的具體崗位。不少企業(yè)為降成本,強調(diào)“復合型人才”,有相當多的人既做設計又做編碼還做測試,這不僅使項目的運行效率低、出錯率高,也使項目的人力成本提高、人員還不滿意。正確的是根據(jù)工作容的不同,進行專業(yè)分工,通過有效的項目團隊組織員集成起來。嵌入式軟件開發(fā)團隊的具體崗位設置可分為:項目負責人、系統(tǒng)分析師、需求分析師、系統(tǒng)設計師、界面設計師、軟件設計師、程序員、測試工程師、質(zhì)量工程師、配置管理員、生產(chǎn)支持工程師(工藝師)、培訓工程師、技術服務工程師等。根據(jù)不同崗位界定其不同的等級和小時工資。詳見表1。序號角色職責1項目負責人開發(fā)計劃;日常管理;組織完成測試、參與系統(tǒng)驗收;協(xié)助需2系統(tǒng)分析師總體設計;概要設計;系統(tǒng)的功能框架3需求分析師在系統(tǒng)分析師的指導下完成需求分析;對需求及邊界進行確認;完成人機界面(用戶界面)確認完成概要設計、詳細設計;配合完成各項評審、驗收5界面設計師在系統(tǒng)設計師的指導下完成人機界面設計、人機界面確認等6程序員編碼實現(xiàn)、單元調(diào)試7測試工程師進行單元測試、系統(tǒng)測試8配置管理員創(chuàng)建和維護配置庫9質(zhì)量工程師開發(fā)過程質(zhì)量分析10生產(chǎn)支持工程師編寫工藝文件、生產(chǎn)指導11培訓工程師制定培訓計劃、編寫培訓教案、對公司有關人員及用戶培訓12技術支持工程師用戶現(xiàn)場技術支持2.2.2任務劃分和分配的規(guī)化、標準化根據(jù)項目開發(fā)標準化流程,細分開發(fā)過程的各項任務,明確負責完成任務的崗位和參與完成任務的崗位,明確任務的輸入和輸出,對輸出容(主要為工作文檔)質(zhì)量進行審查,下一階段任務執(zhí)行者對上一階段任務完成者進行考核,上一階段輸出沒有完成,不能轉入下一任務任務名稱任務任務名稱 (輸出)項目階段負責崗位項目階段編號 (輸入)編號.項目立項需求/邊界確認總體設計概要設計面面確認測試設計編碼單元測試調(diào)試設計定型項目可行性報告總體方案(初稿)風險評估報告項目開發(fā)計劃(需評審)項目開發(fā)周報、項目開發(fā)月報項目邊界設計項目邊界確認配置管理計劃、創(chuàng)建和維護配置庫用戶需求確認書總體設計方案概要設計說明、開發(fā)環(huán)境說明、軟件測試說明(測試用例)源程序(代碼、代碼注釋)用戶手冊缺陷記錄、單元測試報告聯(lián)合調(diào)試記錄題處理報告程序員手冊固件保障手冊資源綜合保障文件產(chǎn)品規(guī)(可結合硬件一起編寫)首件鑒定配置狀態(tài)報告、版本說明文檔用戶試用報告項目負責人項目負責人項目負責人配置管理員項目負責人界面設計師測試工程師程序員程序員測試工程師測試工程師程序員師配置管理員技術支持工程項目負責人質(zhì)量工程師質(zhì)量工程師程序員質(zhì)量工程師用戶意向研制要求合同研制要求合同.師師培訓培訓計劃、培訓環(huán)境準備培訓教案等培訓工程師持工程師各項評審、審查申請、各項評審報告項目負責人項目負責人技術支持工程師質(zhì)量工程師質(zhì)量分析報告質(zhì)量工程師測試工程師各階段評審報告項目負責人系統(tǒng)分析師2.3嵌入式軟件文檔標準化要求模板編制軟件文檔,具體要求本文不再一一說明。對于嵌入式軟件文檔的編制時需注意以下幾點。a)在編制軟件概要設計說明、詳細設計說明時,如果存在一下情況,應加以說明。1)上電復位、掉電、關機、正常工作時的時序狀態(tài)情況說明,包括軟件的加載引(導)2)多CPU系統(tǒng)或主從系統(tǒng)設計的考慮(如果存在)—DSP與上級系統(tǒng)CPU的交換信息的命令字格式定義說明。3)程序的框架結構及系統(tǒng)資源需求—程序的功能劃分和規(guī)劃,包括DSP部硬件資源分配情況注明。—實時多任務系統(tǒng),其中應包括前、后臺模塊的功能劃分和時限要求?!δ苣K間粗拓撲框圖?!K中中斷處理的方式、類型和級別。4)防流水線沖突的說明。(如有)5)對存儲器有特殊要求的指令字的使用注明。b)文檔化源程序文件要求源程序文件要求文件中包括源程序及其注釋容,注釋的意義必須與程序一致,應規(guī)定注—標識符:包括模塊名、變量名、常量名、標號名、子程序名、數(shù)據(jù)名和緩沖區(qū)名等;序言性注釋:置于每個程序模塊的開頭,給出程序的整體說明;功能性注釋:嵌在源程序體中,必須正確的描述其后的語句或程序的功能或執(zhí)行的效果;—數(shù)據(jù)說明:常量說明→簡單變量類型說明→數(shù)組說明→公用數(shù)據(jù)塊說明→所有說明—整形量說明→實型量說明→字符量說明→邏輯量說明3某嵌入式軟件標準化開發(fā)過程舉例.ARM括初始化模塊、核心處理模塊、顯示模塊、鍵盤模塊、數(shù)據(jù)處理模塊、通信模塊以及與外設通信模塊等。該軟件開發(fā)過程以本文提出的開發(fā)過程為標準過程,在其基礎上進行裁減,形成項目軟件開發(fā)過程。通信終端軟件開發(fā)過程分方案論證階段、初樣階段、正樣階段、設計定型四個階段,在里程碑節(jié)點處結合硬件進行了公司級以上的評審,具體有方案審查、軟件需求分析評審、初樣軟件評審、正樣軟件評審、設計定型審查等。通過評審和考核使全過程受控,見表3通信終端軟件輸出考核表。該項目的成功實施,并取得較好的產(chǎn)品質(zhì)量,驗證了本文提出的開發(fā)過程的有效性。表3通信終端軟件輸出考核表123456789項目負責人界面設計師程序員測試工程師配置管理員質(zhì)量工程師承擔人員周周周xx等徐徐輸出……(略)通信終端項目邊界確認書通信終端軟件質(zhì)量保證計劃通信終端項目可行性報告通信終端軟件總體設計方案通信終端軟件風險評估報告初始化模塊源程序(代碼、代碼注釋)核心處理模塊源程序(代碼、代碼注釋)、顯示模塊源程序(代

溫馨提示

  • 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

提交評論