軟件重用是所有軟件開(kāi)發(fā)組的關(guān)鍵策略。通過(guò)在遷移到下一代平臺(tái)時(shí)重用代碼,企業(yè)可以利用其現(xiàn)有的軟件投資并縮短上市時(shí)間。但是,許多公司正在努力在整個(gè)組織中完全實(shí)現(xiàn)代碼重用。為了實(shí)現(xiàn)高效和有條不紊的代碼重用,組織必須將這一目標(biāo)整合到他們的文化中。
重用代碼如果系統(tǒng)地完成,而不是零星地和機(jī)會(huì)主義地完成,則為組織提供了最大的好處。但是,有許多問(wèn)題可能會(huì)阻止系統(tǒng)的代碼重用,無(wú)論是技術(shù)性的還是非技術(shù)性的。
軟件重用 - 技術(shù)問(wèn)題
在技術(shù)方面,操作系統(tǒng)之間存在許多差異,例如每個(gè)操作系統(tǒng)提供的任務(wù)優(yōu)先級(jí)級(jí)別,這使得為不同平臺(tái)修改代碼變得乏味和繁瑣。這帶來(lái)了對(duì) COTS 移植工具的需求,這些工具將自動(dòng)考慮操作系統(tǒng)的差異,以使移植工作更快、更容易。
為了避免移植問(wèn)題,組織認(rèn)為需要一個(gè)抽象解決方案來(lái)保護(hù)他們的代碼免受未來(lái)平臺(tái)更改的影響。但是,使用本機(jī)操作系統(tǒng) API 開(kāi)發(fā)抽象接口不會(huì)提供嵌入式應(yīng)用程序所需的可移植性和性能。相反,需要采用較低級(jí)別的方法來(lái)確?;静僮飨到y(tǒng)資源(如線程、信號(hào)量和互斥鎖)在跨平臺(tái)的行為相同,并且性能不會(huì)受到影響。此外,為多個(gè)操作系統(tǒng)構(gòu)建和維護(hù)內(nèi)部抽象需要大量的時(shí)間、金錢和資源。
開(kāi)發(fā)人員必須詳細(xì)了解每個(gè)操作系統(tǒng),并執(zhí)行大量測(cè)試以驗(yàn)證跨不同平臺(tái)的可移植性,這會(huì)導(dǎo)致高成本。這就是為什么許多公司正在轉(zhuǎn)向由第三方維護(hù)、測(cè)試和驗(yàn)證的 COTS 抽象層,而不是將注意力從組織的核心競(jìng)爭(zhēng)力上移開(kāi)??缙脚_(tái)使用通用 API(由 COTS OS 抽象提供)還可以減少使用新操作系統(tǒng)進(jìn)行開(kāi)發(fā)時(shí)的任何潛在學(xué)習(xí)曲線,從而使代碼重用更易于采用。
正如在不同操作系統(tǒng)上重用代碼有其自身的挑戰(zhàn)一樣,在遷移到不同語(yǔ)言時(shí)重用代碼也存在困難。例如,由于缺乏程序員和對(duì)Ada的支持,許多公司現(xiàn)在正在從Ada轉(zhuǎn)向更現(xiàn)代的C語(yǔ)言。這些組織正在利用 COTS 語(yǔ)言轉(zhuǎn)換工具進(jìn)行自動(dòng)轉(zhuǎn)換,以避免重寫。
軟件重用 - 行業(yè)問(wèn)題
在非技術(shù)方面,雖然高層管理人員和政府機(jī)構(gòu)可能會(huì)看到代碼重用的好處,但與工程團(tuán)隊(duì)和分包商缺乏目標(biāo)一致性。很多時(shí)候,這些群體在重用代碼方面存在心理障礙。他們可能會(huì)錯(cuò)誤地認(rèn)為代碼重用將導(dǎo)致他們的才能不再需要。但是,通過(guò)使用 COTS 代碼重用解決方案快速有效地重用其舊代碼,他們能夠?yàn)樾马?xiàng)目和產(chǎn)品開(kāi)發(fā)貢獻(xiàn)自己的才能,而不是被令人厭煩的移植工作所困擾。
組織可能還需要更改生產(chǎn)力策略和基準(zhǔn),以有效地將代碼重用集成到其文化中。與其關(guān)注開(kāi)發(fā)人員貢獻(xiàn)了多少新代碼行,他們可能需要獎(jiǎng)勵(lì)較短的項(xiàng)目完成時(shí)間。這將激勵(lì)開(kāi)發(fā)人員使用 COTS 移植工具,以便他們可以盡可能多地重用以滿足更早的截止日期。這將導(dǎo)致更多的項(xiàng)目完成,更多的新產(chǎn)品,并最終獲得更多的機(jī)會(huì)在組織的行業(yè)中獲得更大的市場(chǎng)份額。
由于技術(shù)和非技術(shù)問(wèn)題,許多公司發(fā)現(xiàn)系統(tǒng)代碼重用難以實(shí)現(xiàn),其中一些已經(jīng)在這里提到過(guò)。然而,軟件重用仍然是公司減少產(chǎn)品開(kāi)發(fā)時(shí)間和成本的關(guān)鍵策略。出于這個(gè)原因,組織正在轉(zhuǎn)向COTS代碼重用產(chǎn)品,例如MapuSoft Technologies(www.mapusoft.com)提供的產(chǎn)品,以減少軟件重用工作。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5088文章
19160瀏覽量
306522 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6862瀏覽量
123520 -
API
+關(guān)注
關(guān)注
2文章
1508瀏覽量
62226
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論