物聯(lián)網(wǎng)軟件開(kāi)發(fā)有哪些基本實(shí)踐?
物聯(lián)網(wǎng)不再是一個(gè)新生的夢(mèng)想。全球物聯(lián)網(wǎng)市場(chǎng)規(guī)模在2021年增長(zhǎng)22.4%,達(dá)到1579億美元,預(yù)計(jì)到2030年收入將達(dá)到44210億美元。此外,預(yù)計(jì)全球物聯(lián)網(wǎng)設(shè)備的數(shù)量將從2020年的97億臺(tái)增加到2030年的超過(guò)290億臺(tái),增長(zhǎng)將近兩倍。
英特爾公司等全球性品牌此前對(duì)其業(yè)務(wù)進(jìn)行了重大改變,以專注于物聯(lián)網(wǎng)的開(kāi)發(fā),隨著越來(lái)越多的設(shè)備聯(lián)網(wǎng),自主配置、管理和監(jiān)控的界限將繼續(xù)模糊。
拋開(kāi)市場(chǎng)炒作不談,最近出現(xiàn)的最重要的對(duì)話之一與物聯(lián)網(wǎng)的戰(zhàn)術(shù)元素有關(guān)。企業(yè)在開(kāi)發(fā)過(guò)程中需要解決哪些問(wèn)題才能使其成為成功的技術(shù)轉(zhuǎn)變?
如果沒(méi)有精確的實(shí)施和執(zhí)行,物聯(lián)網(wǎng)可能會(huì)變成一場(chǎng)噩夢(mèng)。設(shè)備變得越來(lái)越智能,可以相互交流并消除不可靠的人為因素,從而提高質(zhì)量和生產(chǎn)力。
擁抱并成功管理物聯(lián)網(wǎng)帶來(lái)的所有技術(shù)復(fù)雜性是其成功的最重要步驟。
然而,物聯(lián)網(wǎng)產(chǎn)品和服務(wù)只會(huì)和它們背后的軟件一樣好。這不會(huì)造成一系列新問(wèn)題——軟件已經(jīng)無(wú)處不在。與其相反,物聯(lián)網(wǎng)的日益普及只是放大了具有問(wèn)題的軟件的潛在影響,這就是麻煩的開(kāi)始。
物聯(lián)網(wǎng)發(fā)展的障礙
首先,大量的物聯(lián)網(wǎng)活動(dòng)來(lái)自制造業(yè)、政府(智慧城市)和消費(fèi)品等行業(yè),這些行業(yè)的一些組織缺乏整合這種動(dòng)態(tài)軟件能力的能力。再加上對(duì)工程師,尤其是具有聯(lián)網(wǎng)設(shè)備開(kāi)發(fā)知識(shí)的工程師的需求量很大的問(wèn)題。
另一個(gè)問(wèn)題是,一旦建立了物聯(lián)網(wǎng)能力,企業(yè)就必須弄清楚如何管理軟件。這導(dǎo)致了三重問(wèn)題。即使是傳統(tǒng)的嵌入式軟件開(kāi)發(fā)人員也沒(méi)有趕上開(kāi)發(fā)聯(lián)網(wǎng)應(yīng)用程序所需的所有實(shí)踐。當(dāng)前軟件行業(yè)的其余部分將如何管理?
其次,嵌入式軟件組件必須與其他面向互聯(lián)網(wǎng)的組件安全交互。盡管應(yīng)用程序可以在安全子網(wǎng)上運(yùn)行,但訪問(wèn)將僅限于同一子網(wǎng)的用戶。
這可能適用于某些商業(yè)模式,但對(duì)于任何想要訪問(wèn)全球互聯(lián)網(wǎng)的人來(lái)說(shuō),這不是一個(gè)可行的解決方案。
因此,開(kāi)發(fā)人員必須了解這些連接的組件將如何交互,以確保安全性、可靠性和效率。這是IT中的常見(jiàn)問(wèn)題,但最近出現(xiàn)在設(shè)備軟件開(kāi)發(fā)中。
第三,物聯(lián)網(wǎng)使開(kāi)發(fā)人員面臨的問(wèn)題和能力在很大程度上已經(jīng)在傳統(tǒng)計(jì)算中廣為人知,但在互聯(lián)世界中應(yīng)對(duì)它們的方法仍然是相對(duì)未知的領(lǐng)域。例如,企業(yè)和Web開(kāi)發(fā)人員非常熟悉針對(duì)本地和遠(yuǎn)程攻擊的強(qiáng)大安全性的需求。
輸入驗(yàn)證作為第一道防線的概念在當(dāng)今的連接系統(tǒng)中被廣泛接受。然而,物聯(lián)網(wǎng)的發(fā)展擴(kuò)大了這些問(wèn)題的范圍。嵌入式、設(shè)備和移動(dòng)開(kāi)發(fā)人員需要開(kāi)始考慮安全挑戰(zhàn),例如開(kāi)發(fā)過(guò)程中的輸入驗(yàn)證。
安全性和產(chǎn)品質(zhì)量如何?
物聯(lián)網(wǎng)中最大的擔(dān)憂之一是安全性,軟件工程師如何解決它將發(fā)揮更深層次的作用。隨著設(shè)備相互交互,企業(yè)需要能夠安全地處理海量數(shù)據(jù)。
已經(jīng)有許多以智能設(shè)備為目標(biāo)的數(shù)據(jù)泄露事件,例如歐司朗公司發(fā)現(xiàn)在其物聯(lián)網(wǎng)燈泡中存在漏洞,這可能使網(wǎng)絡(luò)攻擊者能夠訪問(wèn)用戶的網(wǎng)絡(luò)和與之連接的設(shè)備。
安全需要在設(shè)計(jì)階段開(kāi)始時(shí)解決,根據(jù)需要進(jìn)行需求權(quán)衡,而不是僅僅簡(jiǎn)單地添加。這與軟件的健壯性高度相關(guān)。預(yù)先設(shè)計(jì)和構(gòu)建強(qiáng)大的軟件可能需要更多時(shí)間,但從長(zhǎng)遠(yuǎn)來(lái)看,安全軟件更可靠且更易于維護(hù)。
CAST公司的一項(xiàng)研究表明,三分之一的安全問(wèn)題也是穩(wěn)健性問(wèn)題,這一發(fā)現(xiàn)與客戶的現(xiàn)場(chǎng)經(jīng)驗(yàn)中得到了證實(shí)。
盡管軟件開(kāi)發(fā)人員的意圖是良好的,但企業(yè)管理層總是在尋找捷徑。
在物聯(lián)網(wǎng)生態(tài)系統(tǒng)中,率先上市是一個(gè)巨大的競(jìng)爭(zhēng)驅(qū)動(dòng)力,因此這可能意味著為了發(fā)布速度而犧牲安全性、質(zhì)量和可靠性。編寫不佳的軟件仍然是當(dāng)今最大的安全問(wèn)題之一。
為了滿足需求、避免陷阱并在不斷增長(zhǎng)的物聯(lián)網(wǎng)市場(chǎng)中取得成功,企業(yè)需要采用四種重要的物聯(lián)網(wǎng)軟件開(kāi)發(fā)實(shí)踐。
(1)回顧
適當(dāng)?shù)拇a審查和重復(fù)測(cè)試需要成為優(yōu)先事項(xiàng)。制造商必須將這一信息傳達(dá)給軟件工程團(tuán)隊(duì),并要求采取更嚴(yán)格的軟件質(zhì)量措施。
物聯(lián)網(wǎng)應(yīng)用程序的高度復(fù)雜性使軟件容易出現(xiàn)安全漏洞和軟件質(zhì)量故障。應(yīng)用程序、傳感器和硬件設(shè)備之間的一次不良事務(wù)就可能導(dǎo)致整個(gè)系統(tǒng)故障。企業(yè)承受不了這樣的代價(jià)。
(2)評(píng)估
在互聯(lián)世界中進(jìn)行持續(xù)部署是一切如常的事情。更新會(huì)不停地發(fā)生,并且通常一天會(huì)推送多次。
與物聯(lián)網(wǎng)設(shè)備交互的軟件的質(zhì)量保證負(fù)擔(dān)比以往任何時(shí)候都大。如果軟件沒(méi)有得到持續(xù)監(jiān)控和代碼評(píng)估,幾乎肯定會(huì)失敗。
(3)責(zé)任
管理層必須對(duì)質(zhì)量保證負(fù)責(zé)。任何沒(méi)有一套分析來(lái)跟蹤其軟件風(fēng)險(xiǎn)(無(wú)論是可靠性、安全性還是性能)的制造商都會(huì)疏忽其對(duì)客戶和其他利益相關(guān)者的責(zé)任。
管理層需要以身作則并傳達(dá)軟件質(zhì)量和安全之間的直接聯(lián)系。這也符合他們的最大利益,因?yàn)橛稍愀獾木幋a或系統(tǒng)架構(gòu)決策引起的安全漏洞可能是糾正成本最高的一些。
(4)宣傳
除了測(cè)量和分析之外,還需要進(jìn)行文化轉(zhuǎn)變以包括教育。開(kāi)發(fā)人員和管理層共同需要在社區(qū)中傳播有關(guān)標(biāo)準(zhǔn)的信息。
2015年,對(duì)象管理企業(yè)(OMG)批準(zhǔn)了由IT軟件質(zhì)量聯(lián)盟(CISQ)提出的一套全球標(biāo)準(zhǔn),以幫助企業(yè)量化和實(shí)現(xiàn)軟件質(zhì)量的特定目標(biāo)。從那時(shí)起,在為制造商和IT部門創(chuàng)建計(jì)劃以始終如一地衡量其軟件質(zhì)量方面取得了重大進(jìn)展。
令人關(guān)注的消費(fèi)者應(yīng)用程序(預(yù)測(cè)性咖啡機(jī)、自動(dòng)駕駛汽車等)和網(wǎng)絡(luò)攻擊(例如從冰箱發(fā)起的DDoS攻擊)成為頭條新聞,但更深層次的商業(yè)價(jià)值開(kāi)始出現(xiàn)。
麥肯錫公司的一份報(bào)告指出,成熟的物聯(lián)網(wǎng)系統(tǒng)將收集有關(guān)產(chǎn)品如何實(shí)際發(fā)揮作用以及如何使用它們的數(shù)據(jù),而不是依賴于客戶關(guān)注群體,從而消除產(chǎn)品開(kāi)發(fā)中的猜測(cè)。
這無(wú)疑會(huì)改變游戲規(guī)則,要求開(kāi)發(fā)團(tuán)隊(duì)降低他們?cè)O(shè)計(jì)的軟件的風(fēng)險(xiǎn)。而了解安全架構(gòu)基礎(chǔ)的重要性。并堅(jiān)持開(kāi)發(fā)人員遵守行業(yè)標(biāo)準(zhǔn)將是第一道防線。