《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 軟件項目管理在嵌入式系統(tǒng)中的應用研究

軟件項目管理在嵌入式系統(tǒng)中的應用研究

2008-05-16
作者:馬 偉

  摘 要: 項目管理方法通常用于PC系統(tǒng)的大型軟件開發(fā)" title="軟件開發(fā)">軟件開發(fā)中,。本文以項目時間管理" title="時間管理">時間管理為例,把軟件項目管理方法引入嵌入式系統(tǒng)" title="嵌入式系統(tǒng)">嵌入式系統(tǒng)的開發(fā)之中,。以嵌入式USB主機為例,,建立工作分解結構,,利用網(wǎng)絡圖" title="網(wǎng)絡圖">網(wǎng)絡圖技術分析項目的關鍵路徑,,從而合理分配了嵌入式USB主機項目的設計開發(fā)時間,,控制進度,。
  關鍵詞: 項目管理 嵌入式系統(tǒng) 網(wǎng)絡圖 工作分解結構 關鍵路徑


  傳統(tǒng)的嵌入式系統(tǒng)開發(fā)往往被歸類于硬件開發(fā),,而采用匯編語言控制硬件CPU的方法被嚴格區(qū)分于面向過程,、面向對象的PC平臺軟件的開發(fā)。但是隨著嵌入式處理器和控制器,、嵌入式實時操作系統(tǒng)等的發(fā)展,,嵌入式系統(tǒng)的軟件開發(fā)工作已越來越多的采用高級語言來進行,匯編語言則只應用在部分需要高效率的模塊中并且嵌入在高級語言中,。面向嵌入式CPU的軟件編譯器的特性也越來越接近于純PC的軟件編譯環(huán)境,。

  在建立了硬件開發(fā)平臺(包括嵌入式CPU選型、外圍電路設計,、功能模塊設計,、PCB電路板制作等)之后,嵌入式系統(tǒng)軟件的開發(fā)工作對于整個系統(tǒng)的成功與否至關重要,。其從算法設計,、代碼實現(xiàn),、流程控制到代碼重用性、可靠性的提高等,,都接近于PC平臺的軟件設計" title="軟件設計">軟件設計,。二者都可以利用軟件工程的方法來優(yōu)化軟件質量,通過軟件項目管理來控制整個開發(fā)過程,,使得每個項目能夠有序,、高效、高質量,、按時的完成,。二者的異同如圖1所示。在嵌入式系統(tǒng)的開發(fā)中,,同樣應該利用軟件項目管理方法來規(guī)劃、控制整個項目的進行,。


1 在嵌入式系統(tǒng)項目開發(fā)中進行軟件項目時間管理的必要性
  軟件項目管理就是以項目管理的體系,、融合軟件開發(fā)的具體特點、為適應軟件開發(fā)項目的需要,,揭示最常見的,、困擾軟件項目的主要問題,提出較好的實踐方法和解決方案,。軟件項目管理包括9大領域:項目整體,、范圍、時間,、成本,、質量、人力資源,、溝通,、風險和采購管理。范圍,、時間,、成本和質量管理是軟件項目管理的核心內容。而范圍,、時間,、成本是項目管理的3要素,相互約束著執(zhí)行,,成功的項目應該是同時實現(xiàn)這3個方面的,。
  據(jù)美國國防部19世紀70年代立項研究軟件項目做不好的原因,結果發(fā)現(xiàn)70%的項目問題是由于管理不善引起的,,而不是因為技術能力不夠,;1995年,,Standish Group研究表明,所有的開發(fā)項目中有32%的項目在它們結束之前被中止,,此外多于一半的軟件項目花費的成本相當于原來預算的2倍,;只有42%的軟件項目完成時達到了預期的范圍和功能??梢?,時間對于一個項目的成功是至關重要的。
  本文以嵌入式USB主機項目為例,,把軟件項目時間管理的理念和方法引入其中,。
2 嵌入式USB主機功能描述
  有關嵌入式USB主機的內容可參見參考文獻[5]。簡而言之,,嵌入式USB主機就是將PC上的USB主機功能嵌入式化,。該系統(tǒng)由6大模塊組成:MC68HC912D60A模塊;SL811HS模塊,;CAN總線模塊,;鍵盤輸入模塊;LCD顯示模塊,;SCI通信模塊,。
3 創(chuàng)建工作分解結構WBS
  工作分解結構WBS(Work Breakdown Structure)是將項目按照其內在結構或實施過程的順序逐層分解而形成的結構示意圖。WBS是實施項目,、創(chuàng)造最終產品或服務所必須進行的全部活動的一張清單,,也是進度計劃、人員分配和預算計劃的基礎,。
  根據(jù)分析,,嵌入式USB主機項目的工作分解結構WBS如圖2所示。


4 制定項目進度計劃
  關鍵路徑法CPM(Critical Path Method)和計劃評審技術PERT(Program Evaluation and Review Technique)在網(wǎng)絡圖的畫法上基本相同,,基本原理是用網(wǎng)絡圖來表達項目中各項活動的進度及其之間的相互關系,,并在此基礎上進行網(wǎng)絡分析,計算網(wǎng)絡中各項時間參數(shù),,確定關鍵活動與關鍵路線,,利用時差不斷地調整與優(yōu)化網(wǎng)絡,以求得最短工期,,又叫做網(wǎng)絡圖技術,。本文采用網(wǎng)絡圖技術,為嵌入式USB主機項目制定進度計劃,。
4.1 制定項目的活動表
  在嵌入式USB主機項目的工作分解結構WBS的基礎上,,經(jīng)過分析每一項任務的工作量和前后關系,可制定出如表1所示的項目活動表,。


4.2 繪制前導圖
  以項目活動表為基礎,,前導圖的繪制規(guī)則是:無先行活動的活動從開始結點發(fā)出,,有的活動是并行的,有的活動是有先后順序的,,根據(jù)活動表中的關系,,畫出網(wǎng)絡圖。繪制的嵌入式USB主機項目的前導圖如圖3所示,。其中無后繼活動的活動匯聚于結束結點,。每個節(jié)點的結構為,其中A代表節(jié)點活動編號,;B代表最遲結束時間,;C代表活動浮動時間;D代表最早結束時間,。


4.3 前向路徑計算活動最早開始時間TES和最早結束時間TEF
  根據(jù)圖3所示的前導圖,,求出每個項目活動的最早開始時間TES和最早結束時間TEF,結果如表2所示,。計算順序是前向從節(jié)點1往后計算,,直至計算到節(jié)點9。
  每一項活動的最早開始時間,,均需要按照前導圖的前后關系逐漸累加計算。需要說明的是,,活動I是由F,、G、H共3項活動匯聚而成的,,因此I的最早開始時間TES等于這3個活動的最早結束時間的最大值,,即如表2所示,I的最早開始時間
  TES-I=max{18,,13,,10}=18
  下一步,從表3中選取每一個節(jié)點的最早結束時間,,填入前導圖中,,如圖4所示。
  需要特殊說明的是節(jié)點9的最早開始時間就是活動J的最早結束時間,,即21,。

?


4.4 后向路徑計算活動最遲開始時間TLS和最遲結束時間TLF
  這里,需要計算的是在不影響整個項目按期完成的前提下,,本活動必須開始和完成的最遲時間,。反向計算各活動的最遲結束時間時,要以結束結點的最遲結束時間等于最早開始時間為準,。若一個結點有幾個活動發(fā)出,,則該結點(事件)的最遲開始時間取各活動最遲開始時間的小者,。計算結果如表3所示。計算順序是后向從節(jié)點9開始往前算,。
  最后,,將每一個節(jié)點的最遲結束時間填入前導圖,如圖5所示,。

?


4.5 確定關鍵活動及關鍵路徑
  (1)確定關鍵節(jié)點
  總浮動時間是最遲開始時間和最遲結束時間的差,,首先將計算后的各活動的總浮動時間填入表3,并將節(jié)點總浮動數(shù)填入前導圖,,如圖6所示,。
  最早時間與最遲時間相等的點,也就是總浮動時間為0的節(jié)點是關鍵節(jié)點,。因此,,由圖6可知,嵌入式USB主機項目的所有節(jié)點1,、2,、3、4,、5,、6、7,、8,、9均為關鍵節(jié)點。這是本項目的特殊之處,。
  (2)確定關鍵路徑
  由以上分析,,以及表1可知,嵌入式USB主機項目的關鍵路徑是1-2-3-4-5-6-7-8-9,,而相應的關鍵活動是A,、B、C,、D,、E、F,、I,、J。
  這條關鍵路徑在時間上沒有回旋余地,,即每個關鍵活動應滿足最早開始時間等于最遲開始時間,,而非關鍵活動則有富裕時間。這使得人們在實施嵌入式USB主機項目計劃時做到心中有數(shù),,項目的關鍵活動工作包括:
  項目需求分析(A),;系統(tǒng)總體設計(B),;系統(tǒng)硬件設計(C);初始化及用戶交互界面軟件設計(D),;單片機與接口芯片通信軟件設計(E),;USB主機系統(tǒng)軟件設計(F);系統(tǒng)聯(lián)調測試(I),;項目結題報告(J),。
  要嚴格控制按預定工作時間進行,否則就會拖長整個任務的工期,,延誤項目的按時完成,。相對來說,作為非關鍵工作的MS 設備類協(xié)議軟件設計和FAT 文件系統(tǒng)軟件設計由于有浮動時間存在,,在資源或人力不足時,,可適當調整這些工作的耗費時間和開始時間,不會影響總工期,。
參考文獻
1 殷人昆.清華大學《軟件項目管理》課程講義.2005,,
2 Schwalbe K.IT項目管理(英文版,第2版).北京:機械工業(yè)出版社,,2003
3 鄭人杰.實用軟件工程.北京:清華大學出版社,,1997
4 Jalote P著,施平安譯.軟件項目管理實踐.北京:清華大學出版社,,2003
5 馬 偉.計算機USB系統(tǒng)原理及其主/從機設計.北京:北京航空航天大學出版社,,2004
6 金振華.面向對象方法在汽車排放測試系統(tǒng)軟件開發(fā)中的應用.電子技術應用,2001,;(4)

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉載的所有的文章、圖片,、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容,、版權和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。