尹 杰
(遼寧省勞動經濟學校 遼寧 沈陽 110045)
計算機行業之所以能夠在現代社會得到飛速、全面發展,除了先進技術、性能的推動作用外,還與計算機程序設計語言有直接關系。一般計算機編程語言有多種,按照應用的先后順序與不同階段,依次是“機器語言—匯編語言—高級語言”。在研發計算機階段中,采用實際二進制,即機器語言,計算機可直接對其進行讀取,但會面臨代碼過長的問題,缺少記憶點。在機器語言基礎上,后期提出了匯編語言,將原本二進制代碼替換為符號,增加了計算機應用軟件編程環節的便捷性。但發展至今,計算機編程更多是以高級語言為主,屬于一種與人類語言最為相近的編程語言,在開發計算機應用軟件中應用可以提高效率,降低難度?;谀壳败浖_發的經驗,編程語言還需要與自動化開發技術組合應用,以自動化形式開發、組建業務,使編程語言的效果達到最佳,也可以進一步提升軟件開發質量。為此,本文圍繞計算機應用軟件開發中自動化開發技術的應用展開分析,介紹不同技術的應用要點,旨在提高計算機應用軟件性能。
計算機應用軟件開發向自動化方向轉型,核心要義是“全自動化”,即開發全過程的自動化,直至已經生成業務組件[1]。事實上目前計算機應用軟件的開發、應用中,已經實現了組裝自動化,開發的所有業務組件,無論是生成還是重新應用,均在計算機中取得了明顯的效果。應用軟件業務組件在自動化技術的輔助下,還解決了質量、兼容、集成性等多領域的“疑難雜癥”,使業務組件、業務組建與安裝等,均實現了一體化的創新。
自動化技術與計算機應用軟件開發融合,設計自動化系統,在開發過程中可以顯著提高效率、優化軟件開發效果[2]。站在用戶角度,在實際操作軟件中,無論是軟件升級還是運維,都在自動化技術幫助下得到了保障。
代碼生成技術基于已有模板與既定規則,可以自動生成軟件開發的代碼。此技術比較常用于重復型軟件的開發,具體包括表單、報表和數據處理。此外,通過代碼生成技術,還可以自動生成框架代碼或者是接口代碼。工作人員除了比較基礎的手寫代碼外,還可以選擇文本替換、模板引擎的形式形成代碼。模板引擎在代碼生成中比較常見,具體使用的工具有Freemarker 和JET。下面分別介紹幾種代碼生成技術的應用要點。
2.1.1 代碼模板技術
代碼模板技術在開發計算機應用軟件中,主要是采取預定義代碼模板,自動生成代碼。一般已有的代碼模板中包含大量信息,是由程序結構、變量聲明、函數定義等組成的,軟件的開發人員僅需填寫代碼邏輯,便可以完成代碼的生成。選擇代碼模板工具時,主要有Eclipse JDT 和IntelliJ IDEA[3]。
2.1.2 領域特定語言技術
所謂領域特定語言,是以特定領域開發的編程語言,采用的是定義領域中指定語法以及語義獲得程序設計權。通過此技術將領域知識、代碼生成組合,此時開發人員按照領域中指定的語法,便可以快速編寫程序邏輯,再利用領域中指定的語言編譯器,可以自動生成實際需要的代碼。一般在軟件開發中,比較常用Xtext 和JetBrainsMPS相關工具。
2.1.3 反射技術
計算機應用軟件開發中應用的反射技術,本身屬于運行狀態下的動態生成代碼的手段,當程序處于運行狀態時,可以按照程序所需動態,自動生成代碼[4]。此技術通過Java 所包含的反射機制,便可實現運行過程中利用不同信息,如方法信息和變量信息完成代碼的生成,例如可以采用Java 反射應用程序接口(application programming interface, API)的手段。
2.1.4 元編程技術
元編程技術通過程序可以繼續生成程序,利用編寫元程序的方法,可以獲得實際需要的代碼。應用此技術期間,編譯或者試運行過程中可以直接生成代碼。注意在編譯狀態所生成代碼,往往代碼性能與穩定性更強。運行中生成代碼則更具靈活性。例如選擇元編程技術時,可以應用C++模板元編程或者是Python 元編程工具。
數據挖掘包含了統計學、數據庫和機器學習等技術,現代社會中數據庫技術水平不斷提升,儲存數據的途徑越來越多,但數據量積累增多,也會帶來一些問題。以企業為例,既往的數據查詢與統計形式往往相對簡單,但很難滿足現代社會中的商業需求,需要在數據量激增,且相對繁瑣的數據當中,以最快的速度提煉出價值高的信息。在此背景下為機器學習技術創建了適合的提升環境,數據庫存儲與計算機算法分析兩項技術也得到融合,并且開始關注到數據的隱藏內容,隨之提出了數據庫知識發現(knowledge discovery in database, KDD)的概念。關于此概念的實現過程,流程共分為7 步:①數據清理;②數據集成;③數據選擇;④數據轉換;⑤數據挖掘;⑥模式評估;⑦知識展示。基于以上7 個環節可知,數據挖掘在KDD 是相對重要的一部分,梳理KDD 和數據挖掘之間的聯系,見圖1。

圖1 KDD 和數據挖掘聯系
計算機應用軟件的開發中應用數據挖掘,劃分任務包括以下幾個方面:①分類;②預測;③關聯分析;④聚類分析;⑤回歸;⑥智能推薦以及其他。無論是企業還是政府,需要按照業務的具體內容,采用數據挖掘技術,在現有數據當中做出提取,提煉出價值高的信息,數據挖掘任務如圖2 所示。

圖2 數據挖掘任務
開發軟件中應用數據挖掘技術,主要可以分為5 種方法:一是分類和預測,二是聚類,三是關聯規則,四是時序模式,五是離群點監測。①分類與預測方法。此方法需按照先后順序,基于已知類別數據集,由技術人員完成建模,此模型負責劃分樣本類別、監督學習的作用,在模型構建中準確率也比較高[5]。預測則是通過現有的數據集訓練模型,發揮構建模型的作用,對未知樣本數據表現做出預測,以此了解2 個或超過2 個變量的關系,構建互相依賴模型。此算法常見的技術有回歸分析技術、人工神經網絡技術以及決策樹技術等。②聚類方法。此方法將所有相似對象依次劃分至對應小組與集合,保證小組或集群具有較高的相似度,而且各組與各集群之間還要體現明顯差異。一般可采用k 均值聚類(k-means)算法和k-中心點算法等。③關聯規則分析。此方法也被稱為購物籃分析,對2 個或超過2 個變量所具有的相關性進行分析,還可了解變量之間的相關性強度,有Apriori 算法和TP-Tree 算法等。④時序模式。此方法的作用是對時間或者序列潛在規律進行分析,了解發展趨勢,根據已知值預測未知值。但需注意,樣本數據更多是根據時間發生改變。主要有平滑法和趨勢擬合法等。⑤離群點監測。此方法在軟件開發中,可以發現與數據集包含的其余數據對象的顯著區別,例如統計、鄰近度、密度、聚類等基礎上的離群點檢測。
應用數據挖掘技術構建數據挖掘模型,包括流程如下:①設定挖掘目標;②采集數據;③數據分析與預處理;④建模;⑤模型評估;⑥分析模型結果。
為了更加全面地了解計算機應用軟件自動化開發技術的應用效果,下面以數據管理軟件為例展開分析。此軟件主要是為了減少數據收集工作量、提高管理質效而設計?,F總結軟件設計需求如下:
(1)業務描述。軟件系統角色分為普通用戶與管理員,普通用戶主要是注冊登錄、儲存個人信息等,管理員包括登錄、用戶管理等。業務問題概述則需要從用戶和管理員兩個角度做出分析,前者包括注冊、登錄等業務,后者包括新增認知量表和用戶管理兩項業務。
(2)業務流程。具體包括流程有用戶注冊業務分析、用戶登錄業務分析、新增被試者基本資料業務分析、認知量表評估業務、認知數據管理業務。
3.2.1 功能包圖
此次開發數據管理軟件,整體功能包圖見圖3。

圖3 軟件功能包圖
3.2.2 數據庫與軟件實現
此次開發數據管理軟件,數據庫包括數據庫表(被試者表、報告表答卷表、量表答卷表、量表、評定卷等)、表間關系分析。軟件開發環節需要應用多個工具,如Java 開發工具,具體選擇的是IntelliJ IDEA,該工具主要用于代碼編輯,功能是優化編程過程,提高軟件開發效率。數據儲存方面,選擇的是MySQL 關系型數據庫管理系統。整理軟件開發環境見表1。

表1 軟件開發環境
3.2.3 軟件測試
當軟件開發結束,技術人員需要組織測試。安排功能性測試時,要求采用設計測試用例。技術人員輸入錯誤密碼,觀察軟件當下的提示,或者是評估量表環節,技術人員填入信息儲存失敗,此時軟件會給出提示。當所有測試用例結束,選擇在云服務器上部署項目,同時完成軟件維護。
另外,面向軟件的使用對象即用戶組織測試,用戶表示軟件的使用感較好,可以使用量表在線測試、管理評估數據。實際上在軟件使用中,也會隨之采集用戶的反饋信息,定期更新系統。
3.3.1 自動化開發技術
此次數據管理軟件開發階段的建模,主要選擇kmeans 算法,迭代求解聚類分析,應用步驟如下:①確定k值;②在數據集內,以隨機的方式選取k個數據點,將此作為質心;③計算數據集內各點和質心間距,完成類別劃分;④若計算得出的新質心和原質心間距,已經超出任意設定閾值,需要迭代②~④步驟;⑤若新質心和原質心間距,對比任意設定閾值較小,即可判定為聚類結束,算法也可在此時終止;⑥輸出結果。
3.3.2 聚類分析
此次采用k-means 算法,即在數據集內部,對已經給出的k個簇聚類算法做出分析,按照業務需求與經驗,由技術人員人為設定或選擇方法,獲得k值。期間還需進行計算,得出最優k值。具體可以選擇的計算方法包括誤差平方和、輪廓系數法等。
此次軟件設計中應用誤差平方和,技術人員在確定了各個k值后,再計算各簇內部的點與此聚類中心點距離之間的誤差平方和。一般理論層面表示,計算得出的數值小,證明聚類結果好,且計算得出結果趨向于最小值。盡管增加簇數量能夠達到減小數值的效果,但是卻與聚類算法的應用初衷不符。輪廓系數法在應用中,技術人員確定i點,并對向量i和i所處簇內部其他點的間距進行計算,此為a(i);再計算向量i至其他簇之間的點平均距離,此為b(i)。計算公式為:
式(1)中,S(i)為輪廓系數。根據公式(1),輪廓系數范圍是[-1,1],全部點輪廓系數計算平均數,為此次計算聚類結果輪廓系數,最終系數與1 越接近,代表聚類效果越好,且最終能夠判定的是,此次開發數據管理軟件的功能、性能等良好,滿足使用需求。通過k-means 算法構建模型,并展開聚類分析,認識到軟件各項功能的優劣勢。以此為根據提出軟件功能優化的措施。
此次數據管理應用軟件的上述所有開發設計流程結束后,技術人員可以采用自動化技術,安裝軟件到計算機系統中,技術人員需要對安裝過程進行監督,以便安裝過程出現問題可以馬上處理。軟件在計算機系統中安裝,轉換格式也至關重要,檢查軟件符合計算機系統要求的類型,可以最大程度體現出應用軟件基本功能。一般計算機系統內部會安裝防火墻,那么在軟件安裝中,技術人員應提前設置,要求軟件可以自動取得在系統中的運行權限,保證軟件的正確安裝與應用。
計算機應用軟件作為支持計算機系統運行的關鍵之一,憑借多元化應用軟件的功能,可以滿足用戶的操作需求。但是在計算機應用軟件的開發中,要想滿足逐漸多元化的使用與功能需求,技術人員需要應用自動化開發技術。通過本文對于自動化開發技術的介紹,一方面可以全面實現計算機應用軟件開發過程的自動化轉型,另一方面也能夠提高軟件開發的效率。立足于整體層面,自動化開發技術的應用為今后計算機應用軟件的研發、設計夯實了技術基礎,并且也能夠進一步實現軟件功能、性能等方面的不斷改進。