伴隨著新一代信息技術(shù)的研發(fā)和應(yīng)用,互聯(lián)網(wǎng)已經(jīng)成為了基礎(chǔ)設(shè)施,而大數(shù)據(jù)則成為了生產(chǎn)要素。人類社會(huì)從數(shù)字化、網(wǎng)絡(luò)化向智能化時(shí)代邁進(jìn),對(duì)軟件產(chǎn)業(yè)發(fā)展提出了產(chǎn)業(yè)升級(jí)換代的新要求,從基礎(chǔ)、平臺(tái)、算法到應(yīng)用都將面臨著一場(chǎng)全面的革新。在產(chǎn)業(yè)創(chuàng)新發(fā)展的過程中,以及未來的智能化世界,高質(zhì)量軟件都將扮演重要的角色。
近日,第七屆“TiD2020質(zhì)量競(jìng)爭(zhēng)力大會(huì)”在京舉行,眾多國(guó)內(nèi)外軟件研發(fā)創(chuàng)新領(lǐng)域?qū)<覍W(xué)者、行業(yè)領(lǐng)袖聚首,圍繞軟件產(chǎn)業(yè)高質(zhì)量發(fā)展建言獻(xiàn)策。
軟件工程發(fā)展過程中有很多問題亟待解決
軟件工程在發(fā)展過程中,計(jì)算機(jī)技術(shù)、軟件開發(fā)方法、團(tuán)隊(duì)的組建和互動(dòng)方式以及不斷涌現(xiàn)的新一代應(yīng)用程序都產(chǎn)生了巨大變化?;谛枨蟮臏y(cè)試方法(RBT)創(chuàng)始人理查德·本德提到,軟件工程發(fā)展過程中存在著很多問題亟待解決,如需求定義不清晰導(dǎo)致運(yùn)行程序上的缺陷、跨地域分布團(tuán)隊(duì)的文化差異挑戰(zhàn)、缺乏真正意義上的系統(tǒng)架構(gòu)師、遺留的存量代碼導(dǎo)致的技術(shù)債務(wù)等,如果不解決這些問題,就沒有辦法顯著提高軟件產(chǎn)業(yè)的生產(chǎn)質(zhì)量和生產(chǎn)效率。真正的軟件工作應(yīng)該把重心放在需求、架構(gòu)以及設(shè)計(jì)上。未來軟件從業(yè)人員需要借助系統(tǒng)的方法和工具,不斷提升專業(yè)程度,以強(qiáng)烈的緊迫感去解決現(xiàn)實(shí)問題。
理想的軟件研發(fā)模式是全流程智能化
專家表示,下一代軟件開發(fā),需要數(shù)據(jù)智能驅(qū)動(dòng)研發(fā)智能。所謂的數(shù)據(jù)智能,指的是基于大數(shù)據(jù)引擎,通過大規(guī)模機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等技術(shù),對(duì)海量數(shù)據(jù)進(jìn)行處理、分析和挖掘,提取數(shù)據(jù)中包含的有價(jià)值的信息和知識(shí),使數(shù)據(jù)具有“智能”,并通過建立模型尋求現(xiàn)有問題的解決方案以及實(shí)現(xiàn)預(yù)測(cè)等。
在ITEA Technologies創(chuàng)始人兼首席執(zhí)行官、華為美國(guó)研發(fā)能力中心原副總裁張大程看來,數(shù)據(jù)關(guān)聯(lián)性是數(shù)據(jù)智能的基礎(chǔ),也是驅(qū)動(dòng)軟件研發(fā)智能的主要?jiǎng)恿?,研發(fā)大數(shù)據(jù)關(guān)聯(lián)分析與應(yīng)用可有效支撐數(shù)據(jù)智能化。而現(xiàn)有的軟件研發(fā)模式缺乏自動(dòng)化的質(zhì)量評(píng)估機(jī)制,因此,他認(rèn)為理想的研發(fā)模式是以最高效的方法,在正確的時(shí)間點(diǎn)給正確的人提供及時(shí)、正確的幫助,其中包括平臺(tái)、管理、設(shè)計(jì)、開發(fā)、測(cè)試、解決方案、實(shí)驗(yàn)室等一系列環(huán)節(jié)的智能化。
張大程表示,實(shí)現(xiàn)軟件研發(fā)過程整體智能化需要掌握17項(xiàng)關(guān)鍵技術(shù),其中包含開放、自適應(yīng)的研發(fā)工具平臺(tái)設(shè)計(jì),全面集成和自動(dòng)化的質(zhì)量管理系統(tǒng)開發(fā)等。他還強(qiáng)調(diào),軟件工程轉(zhuǎn)型是一整套系統(tǒng)工程,需要結(jié)合學(xué)界的前沿成果與業(yè)界實(shí)踐應(yīng)用一起來突破。
通過業(yè)務(wù)實(shí)例驅(qū)動(dòng)開發(fā)可獲得最大綜合收益
獨(dú)立軟件開發(fā)顧問杰拉德·梅薩羅斯在軟件開發(fā)方面有30多年從業(yè)經(jīng)驗(yàn),他指出,對(duì)軟件中的最小可測(cè)試單元例如程序代碼中的一個(gè)函數(shù)進(jìn)行測(cè)試,能夠有效提高代碼質(zhì)量,但不能直接提高整個(gè)系統(tǒng)的總體質(zhì)量;端到端測(cè)試則是將應(yīng)用程序與系統(tǒng)一同進(jìn)行測(cè)試,是從用戶角度驗(yàn)證整個(gè)系統(tǒng)的功能,看其從啟動(dòng)到結(jié)束是否全部符合用戶預(yù)期。但是端到端的測(cè)試有一個(gè)弊端,就是這種測(cè)試往往是開發(fā)人員手動(dòng)進(jìn)行操作,自動(dòng)化程度非常弱。通過業(yè)務(wù)實(shí)例驅(qū)動(dòng)開發(fā),讓架構(gòu)師、研發(fā)人員、測(cè)試人員在對(duì)用戶場(chǎng)景有深入了解的基礎(chǔ)上對(duì)軟件進(jìn)行設(shè)計(jì),這樣能夠提高代碼的簡(jiǎn)潔性、內(nèi)聚性并減少耦合性,幫助正確的構(gòu)建系統(tǒng)架構(gòu),可實(shí)現(xiàn)最大綜合收益。此外,可執(zhí)行的實(shí)例讓業(yè)務(wù)人員、開發(fā)人員及產(chǎn)品技術(shù)負(fù)責(zé)人更容易理解和溝通。使用可執(zhí)行實(shí)例,可以降低業(yè)務(wù)和開發(fā)人員之間的溝通成本。
關(guān)鍵詞: 數(shù)據(jù)智能 研發(fā)智能