[發明專利]一種基于注解的Web應用代碼生成方法在審
| 申請號: | 201610856356.4 | 申請日: | 2016-09-28 |
| 公開(公告)號: | CN106648587A | 公開(公告)日: | 2017-05-10 |
| 發明(設計)人: | 蔡曉東 | 申請(專利權)人: | 福州宇嘉軟件科技有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06F9/45 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 350000 福建省福州市晉安區*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 注解 web 應用 代碼 生成 方法 | ||
技術領域
本發明屬于軟件工程計算機算法技術領域,具體涉及一種基于注解的Web應用代碼生成方法。
背景技術
現有技術的方案主要從以下幾個方面闡述:
一般的,軟件開發過程包括:需求分析、概要設計、系統詳細設計、編碼、單元測試、集成測試等步驟。其中數據庫表設計是系統概要設計的一部分工作。
現有技術的通常代碼生成器,通常著眼于替代程序員“編碼”的工具。“編碼”僅僅是軟件開發過程的一個組成部分,并且編碼工作必須依賴于前期需求分析、概要設計、系統詳細設計的工作成果。現有的技術方案,《Web應用代碼生成系統的設計與實現》文獻1,需要分別對控制器、視圖、模型層進行配置,可以認為是基于模塊的“詳細設計”進行的。另外《基于J2EE的Web應用開發平臺代碼生成器設計與實現》的文獻2,則是基于“數據庫表設計”進行的。
《Web應用代碼生成系統的設計與實現》文獻1的技術方案,使用XML文件分別對所要生成的源代碼各個層次進行配置。如圖1(從文檔中截圖)所示,“欄目”的模塊分別對模型層、控制層、視圖層等的代碼進行配置。由于需要分別對各個層次的代碼進行配置,實際上必須在《詳細設計》文檔完成后,根據詳細設計才能進行。這種方法的主要缺點有:(1)對于單個業務模塊來說,需要分為控制層、視圖層、模型層分別配置,每個層都需要配置其特定信息,例如控制層需要配置其視圖的鏈接、執行的SQL操作等;模型層則需要配置屬性的名稱、類型;視圖層也需要對JSP文件的名稱、類型等進行配置,非常繁雜。(2)由于其配置的思想是基于單個模塊進行分層次的XML配置,各層次的配置均無法指向其他的業務模塊。而實際上,任何一個Web應用的模塊都與其他業務對象之間存在關聯,例如,某系統的員工管理模塊,新增、刪除、修改員工時,必然需要指定該員工的所屬部門,可能采用下拉框或樹型結構等方式供用戶選擇。《Web應用代碼生成系統的設計與實現》文獻1中所指的XML方式中,就無法生成與部門下拉框等相關的代碼(因為無法正確引用到另外一個業務模塊“部門管理”的相關內容)。
目前《基于J2EE的Web應用開發平臺代碼生成器設計與實現》文獻2的技術方案,使用9張數據庫表分別對所要生成的業務模塊對應的數據實體進行配置,從圖2可以看出,9張配置表圍繞著業務模塊對應的數據庫表實體進行配置,所利用的是數據庫設計輸出的表結構(包括主外鍵關系)、系統編碼等信息。數據庫設計屬于系統概要設計的數據模型部分,比較能夠真實反映源代碼中偏底層的部分(尤其是DAO層代碼)。但數據庫設計畢竟不能替代系統的整體設計,基于數據庫設計的觀念,所生成的代碼將嚴重依賴于數據庫的底層增刪改查功能,而不具備對業務層、控制層的表述能力。《基于J2EE的Web應用開發平臺代碼生成器設計與實現》的文獻所采用的數據庫方式,其主要缺點為:(1)需要9張數據表用于配置,分別用于保存實體信息、實體項信息、實體外鍵信息、實體統計圖、實體個性化信息、實體統計圖個性化信息、系統編碼、編碼明細等9項配置。需要的配置信息繁雜,且非常瑣碎,把原本整體的模塊概念,分為9個不同的角度理解,并用數據庫表描述其配置信息,人為增加了復雜度;(2)系統設計基于數據實體的層面,考慮的層級較低。我們知道,無論是結構化設計還是面向對象設計,都是自頂向下設計。即從用戶需求出發,自頂向下設計。數據庫表結構是系統分析設計的結果,以數據實體作為配置的基礎,將使得系統只具備單個數據庫表的增刪改查功能,而不具備處理更為復雜的業務模塊生成能力。例如,一個員工查詢的頁面,是否需要以該員工所屬部門作為查詢條件?這樣的配置信息與數據庫表結構無關,純粹屬于頁面展現的配置,在現有所指的技術方案中就無法實現配置。
基于上述1和2文獻的描述中,《Web應用代碼生成系統的設計與實現》文獻1的技術方案是基于單個業務對象(例如員工)的XML配置生成多個層次(控制器、視圖、模型等)的代碼;《基于J2EE的Web應用開發平臺代碼生成器設計與實現》文獻2的技術方案是基于單個實體的9個配置表配置進行生成。而實際的業務場景遠比此復雜(例如員工的增刪改查必然涉及到該員工所屬部門的表結構和界面展現)。因此,上述兩種方案所生成的代碼不具備立即編譯執行的可能性,而需要人工添加各業務對象或各實體之間的關系代碼,并在大量添加代碼后,再進行編譯調試。事實上,在大量添加各業務對象關系代碼的同時,將引入很多錯誤,生成器對于軟件工程過程所起到的效用有限。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福州宇嘉軟件科技有限公司,未經福州宇嘉軟件科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610856356.4/2.html,轉載請聲明來源鉆瓜專利網。





