下一代軟件開發:數據智能驅動研發智能

伴隨着新一代信息技術的研發和應用,互聯網已經成爲了基礎設施,而大數據則成爲了生產要素。人類社會從數字化網絡化智能化時代邁進,對軟件產業發展提出了產業升級換代的新要求,從基礎、平臺算法到應用都將面臨着一場全面革新。在產業創新發展的過程中,以及未來的智能化世界,高質量軟件都將扮演重要的角色

近日,第七屆“TiD2020質量競爭力大會”在京舉行,衆多國內外軟件研發創新領域專家學者、行業領袖聚首,圍繞軟件產業高質量發展建言獻策

軟件工程發展過程中有很多問題亟待解決

軟件工程在發展過程中,計算機技術、軟件開發方法團隊的組建和互動方式以及不斷涌現的新一代應用程序都產生了巨大變化。基於需求的測試方法(RBT)創始人理查德·本德提到,軟件工程發展過程中存在着很多問題亟待解決,如需求定義不清晰導致運行程序上的缺陷、跨地域分佈團隊的文化差異挑戰、缺乏真正意義上的系統架構師、遺留存量代碼導致的技術債務等,如果不解決這些問題,就沒有辦法顯著提高軟件產業的生產質量和生產效率。真正的軟件工作應該把重心放在需求、架構以及設計上。未來軟件從業人員需要藉助系統的方法和工具,不斷提升專業程度,以強烈的緊迫感去解決現實問題。

理想的軟件研發模式是全流程智能化

專家表示,下一代軟件開發,需要數據智能驅動研發智能。所謂的數據智能,指的是基於大數據引擎,通過大規模機器學習和深度學習等技術,對海量數據進行處理、分析和挖掘,提取數據中包含的有價值的信息和知識,使數據具有“智能”,並通過建立模型尋求現有問題的解決方案以及實現預測等。

在ITEA Technologies創始人兼首席執行官華爲美國研發能力中心原副總裁張大程看來,數據關聯性是數據智能的基礎,也是驅動軟件研發智能的主要動力,研發大數據關聯分析與應用可有效支撐數據智能化。而現有的軟件研發模式缺乏自動化的質量評估機制,因此,他認爲理想的研發模式是以最高效的方法,在正確的時間點給正確的人提供及時、正確的幫助,其中包括平臺、管理、設計、開發、測試、解決方案、實驗室等一系列環節的智能化。

張大程表示,實現軟件研發過程整體智能化需要掌握17項關鍵技術,其中包含開放、自適應的研發工具平臺設計,全面集成和自動化的質量管理系統開發等。他還強調,軟件工程轉型是一整套系統工程,需要結合學界前沿成果業界實踐應用一起來突破。

通過業務實例驅動開發可獲得最大綜合收益

獨立軟件開發顧問傑拉德·梅薩羅斯在軟件開發方面有30多年從業經驗,他指出,對軟件中的最小可測試單元例如程序代碼中的一個函數進行測試,能夠有效提高代碼質量,但不能直接提高整個系統的總體質量;端到端測試則是將應用程序與系統一同進行測試,是從用戶角度驗證整個系統的功能,看其從啓動到結束是否全部符合用戶預期。但是端到端的測試有一個弊端,就是這種測試往往是開發人員手動進行操作,自動化程度非常弱。通過業務實例驅動開發,讓架構師、研發人員、測試人員在對用戶場景有深入瞭解的基礎上對軟件進行設計,這樣能夠提高代碼的簡潔性內聚性並減少耦合性,幫助正確的構建系統架構,可實現最大綜合收益。此外,可執行的實例讓業務人員、開發人員及產品技術負責人更容易理解和溝通。使用可執行實例,可以降低業務和開發人員之間的溝通成本。