基于模型設計的嵌入式軟件開(kāi)發(fā)評估方法
使用基于模型設計的 ROI 框架量化節約的成本
采用基于模型設計 的ROI 框架來(lái)進(jìn)行評估。根據項目大小、團隊規模和其它因素,該框架可使用基本構造性成本模型(COCOMO)計算出傳統開(kāi)發(fā)的成本,然后減去基于模型設計所節約的成本,即可獲得基于模型設計的開(kāi)發(fā)成本。之所以選用基本COCOMO模型原因是該模型是一種廣泛用于航空和國防工業(yè)的通用參數成本估算工具,在上兩個(gè)領(lǐng)域,采購成本的可計算性要求由縝密的模型來(lái)進(jìn)行軟件成本估算。然后便可通過(guò)計算軟件成本和項目團隊培訓成本來(lái)計算ROI。該框架使用由軟件工程協(xié)會(huì )(SEI)、電氣和電子工程師協(xié)會(huì )(IEEE) 和行業(yè)研究所規定的指標。由于項目規模、現有流程和使用基于模型設計的團隊的專(zhuān)業(yè)水準因行業(yè)和公司而異,因此可針對特定的項目和團隊自定義基于模型設計的ROI框架。
我們看一個(gè)有500,000行代碼的軟件項目基線(xiàn)案例。使用基本COCOMO模型可以算出使用傳統方法的開(kāi)發(fā)成本大約為600萬(wàn)美元。為了計算基于模型的設計相比傳統方法所節約的成本,每個(gè)開(kāi)發(fā)階段(需求、設計、實(shí)現和測試)都要根據行業(yè)指標進(jìn)行分析。然后便可匯總出所節約的總成本,并從傳統開(kāi)發(fā)成本中將其減去。在本例中,基于模型設計的成本為300萬(wàn)美元,相比傳統方法節約了50%。
為了實(shí)現50%的成本節約,該框架會(huì )檢查基于模型設計所消除的傳統開(kāi)發(fā)流程中的低效情況,并根據行業(yè)指標和平均值計算出所節約成本。因每個(gè)開(kāi)發(fā)階段節約的成本是分別計算的,因此該框架適用于逐步采用基于模型設計的情況。
下文將討論其中一種低效需求情況,以此來(lái)說(shuō)明該框架是如何工作的。在需求階段,使用模型來(lái)發(fā)現不明確、不一致或不可測試的需求,這使工程師能夠更大比例地發(fā)現缺陷?;€(xiàn)案例的該增加比例假設為9%。在需求階段發(fā)現這些缺陷,意味著(zhù)可以避免開(kāi)發(fā)階段后期成本高昂的返工。未發(fā)現的這9%的缺陷乘以解決該類(lèi)缺陷的平均時(shí)常即為部分需求成本的節約量,而該缺陷的根本原因在于不正確的需求。在基線(xiàn)案例中,各需求缺陷的平均處理時(shí)長(cháng)為4.5小時(shí)。根據該計算,基于模型的設計可節約2,025個(gè)工程小時(shí)。圖4演示了處理需求分析缺陷(pain point)的框架部分。該框架還包含其它七個(gè)處理不同低效情況的部分。

圖 4. ROI 框架可計算通過(guò)在早期修正不正確需求而節約的工程小時(shí)數。
本例中,匯總整個(gè)開(kāi)發(fā)過(guò)程所節約的成本時(shí)會(huì )發(fā)現,節約主要來(lái)自需求和測試階段(圖5)。這得益于更為全面的需求分析,從而減少了遺留到后續階段的缺陷。簡(jiǎn)言之,更好的需求有助于更好的設計實(shí)現。盡早和連續的測試使得可在引入缺陷的各階段本身就能發(fā)現并處理這些缺陷,這樣就減少了遺留在軟件中的潛在缺陷、降低了整體開(kāi)發(fā)成本。
圖 5. 需求和測試階段節約的成本占總節約成本的大部分
MathWorks與采用基于模型設計的航空與汽車(chē)企業(yè)合作時(shí),ROI框架有助于引導這一采用過(guò)程,使企業(yè)能夠發(fā)現可立即、顯著(zhù)地從轉用基于模型的設計中獲益的領(lǐng)域。
本文小結
對大多數企業(yè)而言,投資新技術(shù)和新流程/工藝是一種有風(fēng)險的嘗試。本文介紹的投資回報計算旨在提供投資基于模型設計的替代分析方法。除了證明投資的合理性,ROI框架還可以使設計團隊發(fā)現基于模型的設計可以帶來(lái)最大節約的領(lǐng)域,以及通過(guò)進(jìn)一步研究可大幅降低成本的領(lǐng)域。
評論