- 相關(guān)推薦
復(fù)雜軟件系統(tǒng)開發(fā)的技術(shù)
軟件一般是用某種程序設(shè)計(jì)語言來實(shí)現(xiàn)的。通常采用軟件開發(fā)工具可以進(jìn)行開發(fā)。下面是小編整理的關(guān)于復(fù)雜軟件系統(tǒng)開發(fā)的技術(shù),歡迎大家參考!
InfoQ:在你們看來,軟件開發(fā)如今面臨的主要挑戰(zhàn)是什么?
Howe:“智能(Smart)”、“智慧(Intelligent)”或“自治(Autonomous)”等術(shù)語在媒體上出現(xiàn)的頻率越來越高,涉及所有類型的產(chǎn)品。實(shí)際上,這些詞語和軟件一個(gè)意思——是軟件讓系統(tǒng)智能、智慧或自治。我們生活的世界日益成為以軟件為中心的世界?墒牵浖匀皇褂孟鄬υ己统杀靖甙旱姆绞綐(gòu)建。軟件“開發(fā)”面臨的最大挑戰(zhàn)是形成真正的工程規(guī)范,以便能夠交付可信賴的成果,同時(shí)兼顧可預(yù)見性和經(jīng)濟(jì)性。要實(shí)現(xiàn)“智能”或“自治”等詞語所描述的高度集成的復(fù)雜系統(tǒng),這絕對是關(guān)鍵。
Rutten:如今,軟件即系統(tǒng)。軟件定義了關(guān)鍵功能和好處。伴隨IoT和工業(yè)4.0環(huán)境中的網(wǎng)絡(luò)應(yīng)用,軟件的內(nèi)涵也在快速地變化,包含1000多萬行軟件代碼的嵌入式設(shè)備隨處可見。由于嵌入式設(shè)備對真實(shí)世界有直接的影響,可靠性和安全性是確保沒有人會受到傷害的關(guān)鍵。傳統(tǒng)的OEM廠商現(xiàn)在發(fā)現(xiàn),他們實(shí)際上已經(jīng)變成了軟件公司。對于具有硬件工程背景的公司而言,開發(fā)可靠安全的軟件所伴隨的巨大復(fù)雜性是他們需要應(yīng)對的挑戰(zhàn)。
InfoQ:你們最近看到了哪些技術(shù)發(fā)展?它們對復(fù)雜的軟件密集型系統(tǒng)有什么影響?
Rutten:應(yīng)對大型軟件復(fù)雜性的工作正在從各個(gè)方面得到解決,從驗(yàn)證軟件的(如靜態(tài)和動態(tài)分析)工具,到從根本上降低受攻擊風(fēng)險(xiǎn)的新語言,一直到從高級模型“自動正確構(gòu)建(correct-by-construction)”軟件的模型驅(qū)動開發(fā)。到目前為止,軟件開發(fā)團(tuán)隊(duì)可以不再使用那種偏牛仔風(fēng)的開發(fā)方式了,他們現(xiàn)在需要更加注意開發(fā)流程和工具,以應(yīng)對復(fù)雜性。
Howe:多年來,在軟件系統(tǒng)設(shè)計(jì)方面,“早期采用者(Early Adopter)”公司一直引領(lǐng)著新技術(shù)的開發(fā)、采用和推廣,并取得了一些成功。但缺少資源的“早期大多數(shù)(Early Majority)”公司采用一種更為務(wù)實(shí)的軟件工程方法,他們?nèi)匀粓?jiān)守著傳統(tǒng)的開發(fā)實(shí)踐。然而,去年,這種情況開始發(fā)生變化。對于類似模型驅(qū)動軟件工程(MDSE)這樣的技術(shù),市場的信心在逐步增加,使得這些技術(shù)在軟件工程社區(qū)得到了更廣泛的應(yīng)用。
InfoQ:你們能舉例說明下如何使用新技術(shù)推動創(chuàng)新嗎?
Rutten:企業(yè)正借助持續(xù)集成在軟件落地之前檢測Bug和性能問題。這讓每天發(fā)布多次的持續(xù)部署取代了傳統(tǒng)的按季度發(fā)布。反過來,對于嵌入式軟件,只有在每次發(fā)布之前進(jìn)行全面的檢查,比如通過靜態(tài)分析工具,或者在一個(gè)模型驅(qū)動開發(fā)環(huán)境中生成,這才可能實(shí)現(xiàn)。顯然,如此快速地在市場中引入新功能,通過市場驗(yàn)證推動了創(chuàng)新。
Howe:工程團(tuán)隊(duì)在運(yùn)用新的軟件工程技術(shù)方面信心增加,讓他們可以自由地嘗試富有創(chuàng)新精神的系統(tǒng)架構(gòu)。例如,通過運(yùn)用內(nèi)置了形式化驗(yàn)證的MDSE工具,企業(yè)覺得有能力重新設(shè)計(jì)他們的其中一款產(chǎn)品,移除已經(jīng)過時(shí)的、基于PLC的安全控制器,代之以一個(gè)在重要應(yīng)用軟件主體中驗(yàn)證過的分布式安全控制器。
InfoQ:Software-Centric Systems大會主要涉及了那些話題?
Rutten:大會的主要話題是“軟件自白”,互相學(xué)習(xí)如何處理開發(fā)大型的、以軟件為中心的復(fù)雜系統(tǒng)所面臨的巨大挑戰(zhàn)。我們?nèi)绾未_?煽啃、安全性、隱私、可維護(hù)性、性能,等等。
Howe:大會的一個(gè)主要目標(biāo)是促進(jìn)與會者互動及知識和經(jīng)驗(yàn)的交流。我們認(rèn)為,一般而言,人們從會議中獲得的最有用的東西是通過與演講者和其他與會者對話獲得的信息。因此,大會的初衷就是最大化這些類型的互動。此外,我們選擇演講者的依據(jù)就是他們能夠分享真實(shí)世界的經(jīng)驗(yàn)供其他與會者學(xué)習(xí)。
InfoQ:如果組織希望提高軟件開發(fā)流程的可靠性,同時(shí)又能快速地交付價(jià)值,那么他們該如何推廣應(yīng)用敏捷?
Rutten:持續(xù)集成與持續(xù)部署和敏捷軟件開發(fā)息息相關(guān)。預(yù)留配置最佳環(huán)境和工具的時(shí)間和預(yù)算是盡早發(fā)現(xiàn)錯(cuò)誤的關(guān)鍵,這時(shí)候修復(fù)問題的成本還比較低。如果模型驅(qū)動方法適合這個(gè)領(lǐng)域,那么從一個(gè)高級模型生成代碼會極大地增加可靠性,縮短上市時(shí)間。
在更為特殊的領(lǐng)域里,如汽車發(fā)動機(jī)控制,難度會更大。這時(shí),就必須向系統(tǒng)投入巨大的資源,以確保新技術(shù)能夠安全地應(yīng)用到一個(gè)已知可工作的系統(tǒng)中,實(shí)現(xiàn)平穩(wěn)退化。只有有一個(gè)這樣的環(huán)境,敏捷增量交付才行得通。
【復(fù)雜軟件系統(tǒng)開發(fā)的技術(shù)】相關(guān)文章:
OA軟件系統(tǒng)開發(fā)設(shè)計(jì)的原則有哪些07-30
EDA技術(shù)主流pcb軟件比較10-15
選擇OA軟件看理念還是看技術(shù)10-24
軟件無線電與網(wǎng)絡(luò)技術(shù)的發(fā)展07-16
計(jì)算機(jī)應(yīng)用技術(shù)網(wǎng)絡(luò)技術(shù)及軟件技術(shù)專業(yè)的區(qū)別05-16
計(jì)算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格考試介紹08-10
移植開源軟件到嵌入式Linux系統(tǒng)技術(shù)攻略10-11