本文轉自【科技日報】;
伴隨著新一代資訊科技的研發和應用,網際網路已經成為了基礎設施,而大資料則成為了生產要素。人類社會從數字化、網路化向智慧化時代邁進,對軟體產業發展提出了產業升級換代的新要求,從基礎、平臺、演算法到應用都將面臨著一場全面的革新。在產業創新發展的過程中,以及未來的智慧化世界,高質量軟體都將扮演重要的角色。
近日,第七屆“TiD2020質量競爭力大會”在京舉行,眾多國內外軟體研發創新領域專家學者、行業領袖聚首,圍繞軟體產業高質量發展建言獻策。
軟體工程發展過程中有很多問題亟待解決
軟體工程在發展過程中,計算機技術、軟體開發方法、團隊的組建和互動方式以及不斷湧現的新一代應用程式都產生了巨大變化。基於需求的測試方法(RBT)創始人理查德·本德提到,軟體工程發展過程中存在著很多問題亟待解決,如需求定義不清晰導致執行程式上的缺陷、跨地域分佈團隊的文化差異挑戰、缺乏真正意義上的系統架構師、遺留的存量程式碼導致的技術債務等,如果不解決這些問題,就沒有辦法顯著提高軟體產業的生產質量和生產效率。真正的軟體工作應該把重心放在需求、架構以及設計上。未來軟體從業人員需要藉助系統的方法和工具,不斷提升專業程度,以強烈的緊迫感去解決現實問題。
理想的軟體研發模式是全流程智慧化
專家表示,下一代軟體開發,需要資料智慧驅動研發智慧。所謂的資料智慧,指的是基於大資料引擎,透過大規模機器學習和深度學習等技術,對海量資料進行處理、分析和挖掘,提取資料中包含的有價值的資訊和知識,使資料具有“智慧”,並透過建立模型尋求現有問題的解決方案以及實現預測等。
在ITEA Technologies創始人兼執行長、華為美國研發能力中心原副總裁張大程看來,資料關聯性是資料智慧的基礎,也是驅動軟體研發智慧的主要動力,研發大資料關聯分析與應用可有效支撐資料智慧化。而現有的軟體研發模式缺乏自動化的質量評估機制,因此,他認為理想的研發模式是以最高效的方法,在正確的時間點給正確的人提供及時、正確的幫助,其中包括平臺、管理、設計、開發、測試、解決方案、實驗室等一系列環節的智慧化。
張大程表示,實現軟體研發過程整體智慧化需要掌握17項關鍵技術,其中包含開放、自適應的研發工具平臺設計,全面整合和自動化的質量管理系統開發等。他還強調,軟體工程轉型是一整套系統工程,需要結合學界的前沿成果與業界實踐應用一起來突破。
透過業務例項驅動開發可獲得最大綜合收益
獨立軟體開發顧問傑拉德·梅薩羅斯在軟體開發方面有30多年從業經驗,他指出,對軟體中的最小可測試單元例如程式程式碼中的一個函式進行測試,能夠有效提高程式碼質量,但不能直接提高整個系統的總體質量;端到端測試則是將應用程式與系統一同進行測試,是從使用者角度驗證整個系統的功能,看其從啟動到結束是否全部符合使用者預期。但是端到端的測試有一個弊端,就是這種測試往往是開發人員手動進行操作,自動化程度非常弱。透過業務例項驅動開發,讓架構師、研發人員、測試人員在對使用者場景有深入瞭解的基礎上對軟體進行設計,這樣能夠提高程式碼的簡潔性、內聚性並減少耦合性,幫助正確的構建系統架構,可實現最大綜合收益。此外,可執行的例項讓業務人員、開發人員及產品技術負責人更容易理解和溝通。使用可執行例項,可以降低業務和開發人員之間的溝通成本。