基于模型設計的嵌入式軟件開發(fā)評估方法
使用基于模型設計的 ROI 框架量化節(jié)約的成本
采用基于模型設計 的ROI 框架來進行評估。根據(jù)項目大小、團隊規(guī)模和其它因素,該框架可使用基本構造性成本模型(COCOMO)計算出傳統(tǒng)開發(fā)的成本,然后減去基于模型設計所節(jié)約的成本,即可獲得基于模型設計的開發(fā)成本。之所以選用基本COCOMO模型原因是該模型是一種廣泛用于航空和國防工業(yè)的通用參數(shù)成本估算工具,在上兩個領域,采購成本的可計算性要求由縝密的模型來進行軟件成本估算。然后便可通過計算軟件成本和項目團隊培訓成本來計算ROI。該框架使用由軟件工程協(xié)會(SEI)、電氣和電子工程師協(xié)會(IEEE) 和行業(yè)研究所規(guī)定的指標。由于項目規(guī)模、現(xiàn)有流程和使用基于模型設計的團隊的專業(yè)水準因行業(yè)和公司而異,因此可針對特定的項目和團隊自定義基于模型設計的ROI框架。
我們看一個有500,000行代碼的軟件項目基線案例。使用基本COCOMO模型可以算出使用傳統(tǒng)方法的開發(fā)成本大約為600萬美元。為了計算基于模型的設計相比傳統(tǒng)方法所節(jié)約的成本,每個開發(fā)階段(需求、設計、實現(xiàn)和測試)都要根據(jù)行業(yè)指標進行分析。然后便可匯總出所節(jié)約的總成本,并從傳統(tǒng)開發(fā)成本中將其減去。在本例中,基于模型設計的成本為300萬美元,相比傳統(tǒng)方法節(jié)約了50%。
為了實現(xiàn)50%的成本節(jié)約,該框架會檢查基于模型設計所消除的傳統(tǒng)開發(fā)流程中的低效情況,并根據(jù)行業(yè)指標和平均值計算出所節(jié)約成本。因每個開發(fā)階段節(jié)約的成本是分別計算的,因此該框架適用于逐步采用基于模型設計的情況。
下文將討論其中一種低效需求情況,以此來說明該框架是如何工作的。在需求階段,使用模型來發(fā)現(xiàn)不明確、不一致或不可測試的需求,這使工程師能夠更大比例地發(fā)現(xiàn)缺陷?;€案例的該增加比例假設為9%。在需求階段發(fā)現(xiàn)這些缺陷,意味著可以避免開發(fā)階段后期成本高昂的返工。未發(fā)現(xiàn)的這9%的缺陷乘以解決該類缺陷的平均時常即為部分需求成本的節(jié)約量,而該缺陷的根本原因在于不正確的需求。在基線案例中,各需求缺陷的平均處理時長為4.5小時。根據(jù)該計算,基于模型的設計可節(jié)約2,025個工程小時。圖4演示了處理需求分析缺陷(pain point)的框架部分。該框架還包含其它七個處理不同低效情況的部分。
![4.jpg 4.jpg](http://uphotos.eepw.com.cn/fetch/20130729/148226_2_0.jpg)
圖 4. ROI 框架可計算通過在早期修正不正確需求而節(jié)約的工程小時數(shù)。
本例中,匯總整個開發(fā)過程所節(jié)約的成本時會發(fā)現(xiàn),節(jié)約主要來自需求和測試階段(圖5)。這得益于更為全面的需求分析,從而減少了遺留到后續(xù)階段的缺陷。簡言之,更好的需求有助于更好的設計實現(xiàn)。盡早和連續(xù)的測試使得可在引入缺陷的各階段本身就能發(fā)現(xiàn)并處理這些缺陷,這樣就減少了遺留在軟件中的潛在缺陷、降低了整體開發(fā)成本。
圖 5. 需求和測試階段節(jié)約的成本占總節(jié)約成本的大部分
MathWorks與采用基于模型設計的航空與汽車企業(yè)合作時,ROI框架有助于引導這一采用過程,使企業(yè)能夠發(fā)現(xiàn)可立即、顯著地從轉用基于模型的設計中獲益的領域。
本文小結
對大多數(shù)企業(yè)而言,投資新技術和新流程/工藝是一種有風險的嘗試。本文介紹的投資回報計算旨在提供投資基于模型設計的替代分析方法。除了證明投資的合理性,ROI框架還可以使設計團隊發(fā)現(xiàn)基于模型的設計可以帶來最大節(jié)約的領域,以及通過進一步研究可大幅降低成本的領域。
評論