劉偉 李樹文

摘要:針對傳統軟件開發框架中存在開發成本高、開發效率低,甚至需要多次變更導致開發混亂的問題,開展MVC模式下的軟件開發框架設計研究。通過基于多種視圖技術的軟件視圖展示設計、任務分發控制器選擇、基于MVC模式下的軟件開發業務邏輯處理設計,提出一種全新的軟件開發框架。通過實驗證明,該軟件開發框架與傳統框架相比,可有效提高每秒處理請求的數量,實現對軟件的高效開發,同時該框架可結合當前眾多新興技術進行整合,充分體現框架的靈活性。
關鍵詞:MVC模式;軟件;開發;框架
中圖分類號: TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)01-0071-02
當前計算機研究領域中重點研究話題主要集中在分布式計算上,自全球廣域網系統出現至今,憑借其低成本、易推廣、高靈活性優勢,被計算機領域廣泛應用,逐漸涉足金融服務領域、通信領域、交通運輸領域、軍事領域當中。隨著全球廣域網軟件的開發技術不斷成熟,研究人員也在不斷尋找更多簡單[1]、易維護的方式進行軟件應用的開發,尤其是在前端頁面呈現上,出現了多種軟件開發前端頁面開發框架。一方面,這些軟件開發框架的應用有利于人們更加容易的開發多種功能,形成更加先進的系統平臺。另一方面,軟件開發框架的應用也為系統平臺的集成化和開放化提供更加便利的條件。因此通過更加合理的方式對軟件開發框架進行運用,可以充分發揮框架所提供的服務作用,進一步提高軟件開發的效率和軟件開發的質量水平,保證系統各項性能的穩定性[2]。MVC模式是一種通過模型、視圖、控制器實現軟件設計的模式,是一種利用業務邏輯、數據和界面顯示分離技術形成的組織代碼。MVC模式的設計思路逐漸滲入軟件開發框架的設計當中,在進行語言開發、框架運用、系統開發的過程中只有充分了解MVC模式設計思想的深層次含義,還能夠更加有效地理解各類軟件開發框架的設計原理,并在對應用模塊進行分析,提供原型分析思路基于此,本文開展MVC模式下的軟件開發框架設計。
1 MVC模式下的軟件開發框架設計
1.1 基于多種視圖技術的軟件視圖展示
針對不同軟件開發的需要,在對其框架進行設計時結合多種視圖技術,對軟件視圖展示進行設計。展示頁面主要包括licenseinfoConetent、jsp頁面、license.jsp頁面、mathematical logic.jsp頁面、Physical view.jsp頁面、circumstances.jsp頁面等[3]。其中將第一種頁面設計作為主頁面,用于對軟件使用者提供增、刪、改、查詢等操作功能;將第二種頁面設計作為輔助頁面,用于對各類許可證的詳細信息展示;將第三種頁面設計作為數學邏輯頁面,用于在進行面向對象的設計方法時,實現對對象模型的展示;將第四種頁面設計作為物理視圖頁面,用于描述軟件映射到相應硬件設備的過程中,并反映在分布方面;將第五種頁面設計作為場景視圖頁面,用于對軟件在開發環境中對靜態組織進行描述和展示[4]。除此之外,軟件開發框架中的視圖展示不僅包含對編寫程序的展示,也包含可直接為用戶提供第三方SDK或者現成的框架、類庫以及開發的系統將運行于其上的中間件展示。不同軟件視圖展示頁面之間不是相互獨立的,是從不同角度反映一個軟件系統的實際特征,因此在設計過程中要將所有展示頁面融合在一起,形成完整的軟件系統。利用velocity 網頁程序設計技術、java服務器頁面技術,將軟件視圖展示看作HTML超文本標記語言界面[5]。利用計算機本身自帶記事本進行編寫,將文件存儲為.htm或.html擴展名,方便后續瀏覽器對文本直接解釋并執行。在利用Srtuts框架中的Taglib標簽庫,將視圖代碼與程序邏輯代碼完全分隔開,得到清晰的視圖代碼顯示。
1.2 任務分發控制器選擇
任務分發控制器是從本文上述基于多種視圖技術的軟件視圖展示層接收開發用戶提出的相應請求數據信息開始,由控制器將全部數據信息整合控制,再由控制器決定將符合相應條件的請求分派到各個模型當中。在經過任務模型處理后,將數據返回到控制器當中,并通過控制器再次決定下一步進行的操作或轉換到另一個控制器模型當中[6]。軟件開發框架中的任務分發控制器主要作用是針對開發動作以及對配置文件進行設計,為了清晰地將模塊與軟件系統其他相關模塊之間的結構關系劃分,并達到代碼的充分作用。本文選用動態網頁技術、開發動作的比例為1:1的任務分發控制器。首先選擇一個編碼轉換類,用于實現與filter編寫過濾器接口之間的連接,并在全球廣域網當中進行簡單配置,從而在根本上解決框架內中文讀取和顯示的問題。
再利用MVC模式下的內置核心控制器組件作為任務分布控制器的核心組件,通過對軟件開發文件的訪問,獲取開發映射的對象,制定一個完整的任務分發控制器操作流程。為了實現更好的導航效果,在文件當中對開發用戶進行注冊,并在相應標簽當中定義不同信息對應的路徑,并在標簽中將信息、類路徑轉向頁面[7]。最終由任務分發控制器使用SimpleAsyncTaskExecutor隨項目啟動時初始化異步調度的任務,通過配置的異步調度任務創建守護進程,依賴守護進程來初始化ExecutorService線程池和BlockingQueue阻塞隊列,以守護進程的線程從數據庫讀取待處理數據放入隊列,線程池創建線程作為消費者去讀消息并進行業務處理。
1.3 基于MVC模式下的軟件開發業務邏輯處理
在MVC模式下,針對軟件開發框架的業務邏輯處理進行設計,選用當前普遍應用的EJB組件技術實現本文業務邏輯處理。在EJB組件當中包含了所有業務處理流程,例如增、刪、修改、查詢等。當業務邏輯發生改變時,只需要通過修改Bean中的邏輯方案即可維護軟件程序代碼。在進行與數據庫之間的數據信息交互時,設計一個通用型的數據庫訪問類,通過標準Java命名系統接口找出數據具體來源,再通過Source定位到連接池,實現對數據庫的實時訪問。利用業務邏輯處理,將常用的數據庫操作進行封裝,例如數據庫連接、執行操作以及斷開數據庫連接等。在實現與數據庫之間的實時訪問后,只需要通過時序化該業務邏輯即可方便日后對數據庫進行間接訪問[8]。通過上述操作,實現軟件開發框架的程序模塊化,從而提高代碼在框架當中的重要性。具體操作步驟為:第一步,由用戶提出*.do的HTTp請求;第二步,由ActionServlet模塊獲取映射;第三步,由licenseForm對數據進行封裝處理,并檢查數據信息的合法性;第四步,將封裝后的數據信息返回到licenseForm模塊當中并再次獲取映射;第五步,進入到licenseAction模塊中完成對軟件系統操作日志的填寫;第六步,由licenseAction模塊提出業務調用,并發送到DeviceInfoBean模塊中;第七步,由DeviceInfoBean模塊按照相應的業務邏輯對業務進行處理,并提交相應的數據庫交互請求;第八步,由DBConnect模塊與數據庫建立交互,并獲取相應的數據信息;第九步,依次按照上述順序返回相應的業務數據、操作結果和頁面轉向映射;第十步,將所有操作結果返回,并定位到具體的java服務器頁面當中,得帶下一次請求開始。通過上述業務邏輯處理不僅可以達到軟件開發系統的各項要求,同時能夠更加成功的分解不同模塊當中有關商業邏輯、視圖邏輯或表現邏輯的代碼。從而使其具備一定的重用性和可擴展性,更有利于后續軟件開發過程中的分工合作,并保證維護的方便、快捷。
2 實驗論證分析
2.1 實驗準備
本文選用某一軟件開發程序編寫測試用例,分別利用傳統軟件開發框架與本文提出的軟件開發框架,結合相同的測試工具對本文框架的各項性能展開實驗研究,并對設計初期制定的目標達成情況進行檢驗。測試用例中主要包含項目配置、視圖渲染、文件緩存、Action類創建等操作。采用黑盒模式,對框架的基本開發功能進行驗證,選擇軟件開發中常見的兩種功能的測試情況作為代表性說明,測試對象為:輸入過濾、單一入口。測試用例1:直接由URL對類文件訪問;測試用例2:直接由URL對視圖模塊訪問;測試用例3:由URL進行加模塊、操作、參數訪問;測試用例4:正常模式下進行SQL參數注入。實驗的測試環境為:CPU(Intel Core i6 850)3.68GHz x6;8GB隨機存取存儲器;1000GB 8400rpm個人計算機存儲設備;XHP性能分析工具。
2.2 實驗結果與分析
將本文軟件開發框架與傳統軟件開發框架,針對四種不同測試用例完成開發的實驗結果進行記錄,并將不同框架中每秒處理請求數進行對比,繪制成如表1所示。
表1中,本文軟件開發框架每秒處理請求數均達到3000個/s以上,而傳統軟件開發框架僅可實現每秒800~900個左右請求數處理。因此,通過實驗證明,本文設計的軟件開發框架可實現對軟件開發用戶更加快速的響應,滿足設計者對框架的性能需要。
3 結束語
當前互聯網的快速發展使得全球廣域網項目被應用到各個行業領域當中,同時也影響著人們的日常生活和工作。本文利用MVC模式下的設計思路,提出一種全新的軟件開發框架。該框架在實際應用可以為設計者提供更加清晰的框架結構,并且具有一定的可擴展性。與合理的用戶實踐檢驗體系結合,可以更加從容地處理軟件開發過程中存在的諸多細節問題,為軟件開發的質量提供保障。
參考文獻:
[1] 李博佳,王敏,張昕宇,等.基于動態傳熱分析的平板型太陽能集熱器設計軟件開發[J].建設科技,2020,41(15):17-20,24.
[2] 劉大可,魏冰陽,鄧效忠,等.基于SYSWARE.IDE工業互聯網平臺的齒輪傳動設計軟件開發[J].機械傳動,2020,44(8):92-97.
[3] 郝寶新,周志成,曲廣吉,等. 桁架結構拓撲優化系統軟件開發及其在大型天線安裝桁架設計中的應用[J]. 航天器環境工程,2020,37(1):73-80.
[4] 蔡洪濤. 基于Unity3D軟件開發虛擬仿真項目跨平臺部署方法的研究[J].科技傳播,2020,12(11):157-158.
[5] 王真. 版本控制工具在軟件開發項目管理中的應用——以GIT為例[J].項目管理技術,2020,18(6):131-134.
[6] 李斌.基于華為DevCloud的計算機軟件項目實訓課程創新性實踐[J].信息技術與信息化,2019,24(12):30-32.
[7] 彭芳.從時代技術演化角度看1+xWeb前端證書與Web框架技術的深度聯系[J].信息記錄材料,2020,21(7):137-138.
[8] 周飚.迭代式編程演示教學法在應用軟件開發課程教學中的應用[J].中國管理信息化,2020,23(14):221-222.
【通聯編輯:李雅琪】