[发明专利]一种基于领域知识共享的迭代式代码生成方法有效
| 申请号: | 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.vipzhuanli.com/pat/books/201110252089.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:摩托车轮毂计速器润滑结构
- 下一篇:一种防螺母拆卸盖碗





