[發明專利]一種基于領域知識共享的迭代式代碼生成方法有效
| 申請號: | 201110252089.7 | 申請日: | 2011-08-30 |
| 公開(公告)號: | CN102279750A | 公開(公告)日: | 2011-12-14 |
| 發明(設計)人: | 袁新宇;李瑩 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 杭州裕陽專利事務所(普通合伙) 33221 | 代理人: | 江助菊 |
| 地址: | 310027 浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 領域 知識 共享 迭代式 代碼 生成 方法 | ||
技術領域
本發明涉及計算機系統應用技術領域。具體來講涉及一種用于面向行業應用領域實現快速開發的迭代式代碼生成系統。
背景技術
代碼生成系統具有多年的發展歷史,從早期的語法分析器自動生成系統到后來的各種MDA自動生成工具。隨著企業/政府信息化技術的發展,針對不同行業的行業應用開發需求越來越強烈。于是涌現了大量針對行業應用的代碼生成系統和快速開發平臺。現有的針對行業應用的代碼生成系統往往基于靜態面向對象語言(如Java/C#/Delphi)和組件技術,提供給行業應用開發者各種GUI拖拉式控件,能夠實現對表單數據自動生成增刪改查代碼并保存到支持的后端關系型數據庫。
現有的針對行業應用的代碼生成系統在實際應用過程中所存在的不足有:
1、代碼生成系統功能單一。企業/政府信息化在初期主要是各種表格信息的電子化和網絡化,實現這些表格信息的單機/聯網錄入和查詢。現有的代碼生成系統滿足了這方面的需求。但是隨著行業信息化的進一步發展,軟件必須能夠處理更復雜的行業業務系統,必須擁有領域相關知識。現有的代碼生成系統不提供領域相關的代碼生成功能。所以針對行業用戶深層次的需求,代碼生成系統往往力不從心。此外,也有開發商提供針對特定行業領域的代碼生成系統,但是這些代碼生成系統不能應用于其它行業領域,應用范圍太窄。
2、代碼生成系統擴展困難。
a)???現有的代碼生成系統往往不提供代碼生成系統自身的擴展開發接口,當代碼生成系統不能滿足開發需求時難以簡單擴展。比如眾多面向企業應用領域的代碼生成系統,其實核心的功能都是針對數據自動生成增刪改查的代碼。當要對應用進行深度開發時,代碼生成系統往往無法滿足要求。而由于沒有開放代碼生成系統自身的擴展接口,導致難以在代碼生成系統生成的代碼基礎上進行深度擴展開發。
b)??代碼生成系統沒有考慮自動生成的代碼本身的可維護性。針對同樣的邏輯,代碼生成系統生成同樣的重復的代碼,沒有利用MVC模式分離關注面,沒有用繼承等特性減少重復代碼。同時代碼生成系統往往要求用戶不能修改自動生成的代碼。這樣導致應用開發者要更改某項功能時,必須繁瑣的一編一遍點鼠標進行更改。比如某個系統有100個表單全部要更改layout屬性,就要針對這100個表單點擊右鍵更改layout屬性,大概要點擊500次以上的鼠標。其實如果設計合理,開發者只需要在代碼中改一個地方。這樣的代碼生成系統不僅沒有減少開發者的工作量,反而增加了工作量。
3、不支持自動化測試。傳統的代碼生成系統提供給開發者的是一個GUI界面的集成開發環境,沒有提供易于測試的CLI與API接口,所以難以實現自動化測試與及時測試。這會導致代碼質量低下,甚至大量返工。
4、不支持迭代式的代碼生成系統。這些已有的代碼生成系統是一次性的。由代碼生成系統開發商開發出來,交給應用開發商使用。代碼生成系統擁有的領域知識是由代碼生成系統開發商內置的。比如語法分析器自動生成系統的領域知識是語法分析,針對企業應用的表單自動生成系統的領域知識是數據庫sql相關知識。但是不同行業應用的軟件開發需要不同行業的領域知識,且當行業劃分越來越細時,需要的領域知識也越來越復雜。針對固化的內置特定領域的代碼生成系統將不能應對現在的軟件發展的趨勢。軟件系統本身必須能隨著領域的擴展和深入而擴展,因而要求支持多層的迭代式開發的代碼生成系統。實用的迭代式代碼生成系統應該支持下面的場景:擁有數據庫相關知識的開發商提供數據庫持久化支持的代碼生成系統;然后電子政務系統開發商開發通用政務自動代碼生成系統,該電子政務系統的數據應該能利用下層的代碼生成系統自動保存到數據庫;在更細分的電子警務領域,熟悉該領域的開發商可以利用電子政務代碼生成系統開發出電子警務代碼生成系統。
發明內容
本發明針對上述技術的缺陷,提出一種基于領域知識共享的迭代式代碼生成方法。
為了解決上述技術問題,本發明的技術方案如下:
一種基于領域知識共享的迭代式代碼生成方法,包括如下步驟:
1)基于動態語言開發核心代碼生成系統;
2)利用所述核心代碼生成系統生成常規行業應用系統;
3)提取所述常規行業應用系統中的共性領域相關知識代碼;
4)在所述共性領域相關知識代碼基礎上再次開發生成特定領域應用系統;
所述核心代碼生成系統包括使用接口、開發接口、依賴說明文件、自動化測試和部署套件;通過對所述特定領域應用系統再次提取共性領域相關知識代碼可以實現迭代。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110252089.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:摩托車輪轂計速器潤滑結構
- 下一篇:一種防螺母拆卸蓋碗





