[发明专利]基于模型和框架的三层代码生成方法有效
申请号: | 201710127864.3 | 申请日: | 2017-03-06 |
公开(公告)号: | CN106874014B | 公开(公告)日: | 2020-05-22 |
发明(设计)人: | 张晨东 | 申请(专利权)人: | 北京领航里程碑软件技术有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/30;G06F8/41 |
代理公司: | 北京凯特来知识产权代理有限公司 11260 | 代理人: | 郑立明;郑哲 |
地址: | 100097 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 模型 框架 三层 代码 生成 方法 | ||
本发明公开了一种基于模型和框架的三层代码生成方法,该方法把模型驱动与软件框架相结合,实现大规模软件代码生成,提高软件生产力;同时,针对特定领域或行业,实现数据、通信和基础业务等三层软件代码生成,相比同类方法,代码生成面更宽广,生成比例更高,在我们的几项应用软件开发中,自动生成的代码量达到系统代码总量的75%以上;此外,基于应用项目结构的代码组装,使得从代码生成到立即可实施工程活动的软件项目之间建立了自动化通道,极大地减轻了软件开发人员进入工作状态的难度。综上所述,采用本发明提供的方法,能显著地提高企业生产特定领域或行业中应用软件产品的质量和效率,节省生产成本,提升企业的综合竞争能力。
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于模型和框架的三层代码生成方法。
背景技术
随着计算机硬件和软件技术的发展,软件生产方式正在发生重大的转变,在软件生产技术方面中有两个非常值得关注的主要特征,一是有计划的大规模软件复用技术,二是由模型驱动的软件代码自动生成技术。这两项技术的成功应用,都能显著地提高软件生产的质量和效率。当前,国内的软件企业的软件生产过程仍然主要依靠软件开发人员的人工设计和编码。具统计,一个软件开发工程师一天开发的有效代码行数为10-20行,而一个有一定规模的应用软件系统的代码量少则几万行,多则几十万行,甚至更多。这需要较多的软件开发人员和较长的工作周期,这对软件企业来说是成本负担的主要方面。因此,如何减少软件开发人员人工开发的代码量是提高软件企业生产率、降低生产成本的关键环节之一。
目前,常用的软件生产技术主要为:IBM Rational Rose工具提供的基于UML语言的模型设计技术和基于模型的软件代码生成技术,以及开源软件工具StarUML提供的基于UML语言的模型设计技术和基于模型的软件代码生成技术。
上述技术的共同特点是提供通用的模型驱动开发的前端模型设计工具,并根据模型生成各种软件设计语言的框架代码。其不足之处是,由于通用性的要求,无法与具体的领域和行业的应用特征相结合,其代码生成的能力和数量都受到很大程度的限制。具初步估计,使用这类工具生成的代码量,只占软件产品总代码量的10%或更少。
发明内容
本发明的目的是提供一种基于模型和框架的三层代码生成方法,可以实现大规模软件代码生成,提高软件生产力,节省生产成本,提升企业的综合竞争能力。
本发明的目的是通过以下技术方案实现的:
一种基于模型和框架的三层代码生成方法,包括:
确定软件建模方法和工具,以建立软件系统的模型。
根据软件的适应领域或行业确定相应的软件应用框架;
根据确定的软件应用框架,采用不同文本模板描述模型到不同的软件部件代码的映射关系,其包含三类映射关系:从模型到数据层代码的映射、从模型到通信层代码的映射,以及从模型到基本业务层代码的映射;
采用不同文本模板的动态运行控制技术实现从模型文件生成各个软件部件的软件代码,从而将模型转换成了三个层次上的应用软件代码片段;
基于特定的应用软件项目结构对所述三个层次上的应用软件代码片段进行组装;
将组装后应用软件代码基于特定的应用软件项目进行编辑及构建环境,从而完成软件应用项目的编辑、编译、运行和调试。
所述确定软件建模方法和工具,以建立软件系统的模型包括:
利用图形化的模型编辑工具,并采用类图加结构化注释为主的可视化方法进行软件系统建模,获得软件系统模型。
所述根据软件的适应领域或行业确定相应的软件应用框架包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京领航里程碑软件技术有限公司,未经北京领航里程碑软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710127864.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:界面显示方法与装置
- 下一篇:一种实现PowerButton无效的方法及系统