时间:2024-07-28
朱超
(云南机电职业技术学院, 昆明 650000)
基于管理信息系统的代码自动生成技术分析
朱超
(云南机电职业技术学院, 昆明 650000)
基于解决传统管理信息系统开发过程中,代码编写工作量大,耗费时间长,开发成本高等问题,通过对代码自动生成技术在管理信息系统应用的分析,在MIS系统开发中应用代码自动生成技术,能够产生统一规格的代码,有效地解决了代码重用的问题,使系统开发效率和质量得到了极大地提高。代码自动生成技术的应用实例表明该技术在管理信息系统的开发中发挥着举足轻重的作用。
代码自动生成技术; 管理信息系统; 编程
在管理信息系统中,对于信息的管理主要就是对数据的查询、删除、修改和增加等操作。然而不同信息的实体之间存在着差异,致使开发者无法提炼出公共模块,因此在对新的信息模块进行开发时,代码完全是通过手工完成的,增加了管理信息系统开发的工作量、时间和成本投入。代码自动生成技术自问世以来就受到了人们的广泛关注,将该技术融入到管理信息系统的开发中,能够实现系统开发效率的提高。所以说,对基于管理信息系统的代码自动生成技术进行分析显得尤为重要。
代码转换引擎、数据模型、代码模板是组成代码自动生产框架的主要部分[1],其实现过程主要涉及的技术包括类反射、ORM、XML和元数据,如图1所示。
(1) 元数据:元数据实际上是一种对数据资源的描述,主要用于数据集内容、组织方式、表达方式及其他的一些特征的描述。顾名思义,元数据其实也是数据,其本身同样可以作为被描述的对象,此时对其进行描述的数据代码模板就是元数据[2]。通常情况下,在信息系统中,数据被看作为独立的信息单元,无论“数据”指的是一个虚拟的URL地址、网页或者是一本书。元数据可以与数据包裹在一起、伴随着数据、独立于数据或者是数据内部。
图1 代码自动生成框架
(2) XML:XML是可扩展标记语言的简称,其本质是一种标记语言。XML旨在信息的携带和传输,而并非是用来展示和表现数据,XTML语言用来表示数据。XML语言主要用来承载数据和表示数据的含义,用来介绍软件的参数设置、描述网络或文件信息、定义信息的呈现。
(3) ORM:ORM是对象关系映射的简称,主要用于解决关系数据库和对象之间互不匹配的现象,也就是说,ORM通过使用描述数据库和对象之间映射的元数据,将程序中的对象自动持久化到关系数据库中。ORM技术实际上就是实现数据形式的转换,ORM方法论主要基于精确性、传达性和简单三个核心原则。
(4) 类反射:反射指的是一类应用,这类应用可以自控制和自描述,采用某种机制实现对自己行为的监测和描述,并能够按照自身行为的结果和状态,对应用所描述行为的相关语义和状态进行调整和修改。
(1) 数据模型的建立
数据模型用于描述系统中的需求信息,具有高度的抽象性,是代码自动生成框架的基础模型。
(1) 数据库配置数据模型
数据库的属性主要由数据库配置的元数据进行描述,其中包含数据库名称、类型以及服务器的用户名、密码和名称等等。
(2) 数据库表以及视图数据模型
数据库表及视图的结构主要由数据库中表和视图生成元数据进行描述,主要包含列信息,比如说列是否为标识信息、是否是主键、大小、类型和名称等。
(3) 项目数据模型
系统所包含的基本信息主要由项目元数据进行描述,其中包含了是否生成视图的代码组成、是否包含ORM组件、解决方案的名称和路径、系统的命名空间以及开发工具及其版本[3]。
2.2 代码模板
(1) 关键字定义
在代码模板构建之前,应该首先对关键字及其含义进行定义,以便定义代码模板,确保代码模板的的风格保持一致目,为代码模板的统一管理提供保障[4-5],如表1所示。
表1 关键字及其含义
(2) 模板文件定义
代码模板实际上是抽象出来的代码格式,设计人员只需要为某一种类构建一个代码模板,并提供一套程序代码,就能够用来生成多种具体的类,进而使编程的效率得到有效地提高。代码模板描述的仅仅是类,程序编译不为类模板创建程序代码[6-7],然而可以通过对类模板的实例化生成具体的类及其对象。
2.3 代码生成引擎
代码生成引擎是一个独立的应用程序,在整个代码生成框架中占据着核心地位。代码生成引擎以管理信息系统的数据模型为基础,按照不同的间代码模板生成代码,从而完成基本的数据查询、修改、删除和增加等操作[8-9]。代码自动生成框架的领域模型,如图2所示。
图2 代码自动生成框架领域模型图
(1) FileCode:生成主要用于组织项目的结构等信息的解决方案文件,解决文件是伴随着代码的生成而生成的。
(2) ProjectInfo:用于生成项目文件,其主要包含了项目的基本信息以及所包含的类文件。
(3) DataOperation:生成业务逻辑类,其包括业务逻辑中所需要的基本操作,比如查询、删除、修改及增加等。
(4) EntityCode:生成实体类,数据库中的每一个表都会生成一个实体类。
(5) GenerateXML:生成元数据,将数据库中的视图和表生成元数据。
(6) Initialize:初始化系统,连接加载数据库及加载服务器,生成代码接口,保存配置文件等。
本文对仓库管理员业务系统中代码自动生成技术的应用进行简要的分析。
3.1 系统架构
该系统的采用了分层架构,主要被分为四层,如图3所示。
图3 系统架构
3.2 代码生成
系统代码生成的流程如图4所示:
图4 系统代码生成流程
下面以表达物品代码表为研究对象,对代码生成的过程进行详尽地说明,首先,作为代码元数据,如表2所示。
表2 物品代码表(product)
代码元数据:物品代码表(product)。
(1) 生成SQL脚本
将通过Word文档描述的代码描述的数据设计转换为XML格式,并且可以利用转换工具完成自动转换,以下是转换结果:
(2) 生成类代码
将上一步所生成的XML文档当作成代码元数据,然后对模板进行定义,最后根据模板生成类代码。
在管理信息系统中应用代码自动生成技术,在实际应用中体现出了以下优点:程序开发人员仅仅需要实现具体的业务逻辑,将系统开发和业务开发分离开来;统一管理代码,便于维护;防止重复开发,提高了开发效率。管理信息系统的中心转移到了数据信息处理上,简化了系统,使软件开发的效率得到了游侠地提高。
[1] 马坤.模型驱动框架下模型及模型转换力法关键问题研究[D].济南:山东大学,2011.
[2] 王永涛,刘勇.基于MDA的模型转换研究与应用[J].计算机工程,2011,37(16):84-103.
[3] Jon Skeet. 深入理解C#(第2版)[M].周靖,朱永光,姚琪琳,译.北京:人民邮电出版社,2012.
[4] 明口科技.Visual C++从入门到精通(第3版)[M].北京:清华大学出版社,2012.
[5] 朱晓辉,王杰华石,振国,陈苏蓉.NET下基于PowerDesigner和CodeSmith的软件自动化开发技术[J].计算机科学,2010(07):55-59.
[6] Craig Larman.UML和模式应用(第3版)[M].李洋龚,译.北京:机械工业出版社,2011.
[7] 陈清,吴海涛,王璐.基于代码自动生成技术的管理信息系统的实现[J].计算机与数字工程,2013(02):268-269.
[8] 董玉明.代码生成技术在管理信息系统开发中的研究与应用[D].长春:吉林大学,2012.
[9] 娜娜.基于代码自动生成技术的管理信息系统的实现[J].无线互联科技,2013(2):68-68.
Analysis of Automatic Code Generation Technology Based on Management Information System
Zhu Chao
(Yunnan Mechatronics Vocational and Technical College, Kunming 650000, China)
With the purpose of solving the problems the traditional management information system in the process of development, such as workload of code writing is big, the time is long and the cost of development is high, through analysis of the application of code automatic generation technology in management information system, the automatic code generation technology is applied in the development of MIS system, the mehod produce uniform code and solve the problems of code reuse, and improve the efficiency and quality of system development. Application examples of automatic code generation technology show that the technology plays an important role in the development of management information system.
Automatic code generation technology; Management information system; Programming
朱超(1982-),男,云南,硕士,讲师。 研究方向:计算机应用,昆明 65000
1007-757X(2017)02-0078-03
TP311
A
2016.05.23)
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!