【PHP开源代码栏目提醒】:网学会员,鉴于大家对PHP开源代码十分关注,论文会员在此为大家搜集整理了“LAMP环境下php自动代码生成器 - 硕士论文”一文,供大家参考学习!
工犬啦六掰硕士学位
论文LAMP环境下
php自动
代码生成器 研究生:计算机软件与理论 二oo九年三月rJ〔 !〔1l rl rlUrlr〔fl Ffl,!〔 il li,!〔i〔i rl l rl!iillY1 524649 分类号 密级 U D C: 编号 LAMP环境下
php自动
代码生成器 LAMP environment
php automatic code generation Design and Implementation 学位授予单位及
代码:量壹堡兰友堂 I!Q!!§2 学科专业名称及
代码:盐簋扭筮鲑皇堡迨 (Qgl!12 2 研究方向:塑堡匡丕蕴 申请学位级别:亟 ± 指导教师:壑丝副垫堡 研 究 生:韭 塞
论文起止时间:2007.1l一2008.12 摘 要 针对目前在ERP系统开发过程中开发速度比较缓慢的问题,本文提出了在开发ERP过程中采用
代码生成的方法,.并提出了在开发ERP系统时采用LAMP环境。
本文通过对ERP系统和工作流进行介绍,提出对于ERP系统中的比较固定的业务流程和常用的增删改查一样都可采用
代码生成的方式实现,文中对自动化编程技术和LAMP技术进行了介绍,阐明了采用LAMP环境设计
php代码生成器的可行性和LAMP环境的优势,并选取了具有共性的单表进行了
代码生成器的。
代码生成器采用了java swt实现,开发工具采用Eclipse开发。
最后,本文指明了目前所做的
php代码生成系统需要完善的地方和进一步的发展方向。
关键词:ERP
代码生成LAMP
代码生成器 ABSTRACT In view of the current ERP system in the development process is relatively slow pace of in the development of ERP in the process of adoptingdevelopment,this paper put forwardthe code generation methods,and put forward in the development of ERP systems usingL久MP environment. Based On ERP systems and work flow,the proposed ERP system and the relativelyfixed business processes commonly used to check the same additions and deletions can beused to generate the code means,in the text of the LAMP and automated programmingtechnology,LAMP environment expounds using
php code generator design of the feasibilityand advantages of the LAMP environment,and select a single table with a common code used to achieve javagenerator for the design and realization.Code generator swt,Eclipsedevelopment tools used to develop. is doing
php code generation system needs further Finally,this article points out improvement and development. Key words:ERP code generation LAMP code generator 长春理工大学硕士学位
论文原创性声明 本人郑重声明:所呈交的硕士学位
论文,((LAMP环境下
php自动
代码生成器》是本人在指导教师的指导下,独立进行研究工作所取得的成果。
除文中已经注明引用的内容外,本
论文不包含任何其他个人或集体己经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
作者签名:趁益4翻年扯月哗日 f 7 长春理工大学学位
论文版权使用授权书 本学位
论文作者及指导教师完全了解“长春理工大学硕士、博士学位
论文版权使用规定”,同意长春理工大学保留并向中国科学信息研究所、中国优秀博硕士学位
论文全文数据库和CNKI系列数据库及其它国家有关部门或机构送交学位
论文的复印件和电子版,允许
论文被查阅和借阅。
本人授权长春理工大学可以将本学位
论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位
论文。
作者签名:丝鱼!刍年1月耸日 …燧矗一也蛎 弟一早三百V匕 第一章绪论1.1课题来源 本文的研究课题来源于某软件公司“自动化编程技术及实际应用(J2EE方面)”。
1.2课题研究的目的和意义
代码生成,是一种用程序生成程序的技术。
目前在计算机软件软件领域,自动化编程水平仍不高。
以目前的ERP系统为例,大部分功能都是增删改查,如果采用单纯手写的方式,这部分工作要花费大量的时间,显得非常枯燥;如果采用框架,则在一定程度上节约了开发时间,但框架带来了学习上的困难,同时框架发展迅速,另外当前大多数框架并没有减少太多
代码量。
代码生成器在此时便突出了其存在的价值,将常用的增删改查
代码采用
代码生成器生成,程序员只需对生成的
代码略作调整,通过这种方式,就可节约大量的时间,程序员便可有大量时间研究系统的业务流程。
本文的研究目的主要是针对目前ERP系统开发缓慢的问题,开发出一种
php代码生成器【1】,目前Lamp作为一种新兴技术,其具有易于开发、更新速度快、成本低的特点,1inux下的
代码生成器不像windows下那样多【21,且不是太方便、太理想;在框架技术流行的今天,我们要花大量时间学习框架,对于一般的增删改查和常用业务流程,如可采用自动生成技术,就可为我们节约大量时间;如果我们开发出一种
代码生成器,不懂编程的人使用该工具也能辅助他完成一些工作,这样对信息化的普及具有重要意义。
1.3与课题相关内容的发展状况1.3.1国内外
代码生成发展现状 早在70年代末80年代初,许多人就开始关注编译器其他部分的生成自动化131,这其中就包括
代码生成自动化。
当代,我国已有不少人从事
代码自动生成方面的研究,不少公司也开始借助
代码生成工具提高软件开发效率。
在这方面也有做的不错的,像CodematiC、wintle的Codepuls、李天平发布了一个类似的【41,还有一个叫伍华聪的也发布了几个等等,但经过笔者使用研究,大都不是免费
开源的,大都用起来不够方便,像伍华聪近来在网上发布了一个可实现c#
代码生成的工具,因使用起来不方便,而受到网友指责,所以在国内仍有许多地方需要在此领域突破。
总的来说,笔者认为目前国内人气最旺的
代码生成工具为动软的Codematic,其具有如下功能:自动生成
代码;多类型数据库集中管理器:查询分析器;自动生成存储过程和sql脚本:自动生成数据库结构的文档:web项目文件发布;
代码批量生成自动导出功能等。
从国际上看,现代软件技术的发展已经进入到自动化、图形化开发阶段。
用户通过强大的系统级图形化软件开发工具对所开发的项目进行描述,建立整套系统的模型。
只要能够建立起正确的系统模型,好的图形化开发工具就可以根据该模型生成某语言的源
代码,提供完善的系统流程图、标准化的软件说明文档,甚至可对系统功能进行模拟仿真。
从而极大提高软件产品的开发效率。
国外比较前沿的
代码生成工具,像CodeSmith、MyGeneration、Codus,它们都是不错的,不少人在开发软件过程中甚至离不开这些工具了,其中最好的要当属CodeSmith了,CodeSmith可用于生成c#、vb.net、TSQL及其他任何语言
代码,当然也包括
php;它本身是可以编程的,这也是其非常灵活的地方,它提供了强大的SchemaExpl orer对象,使数据库存储过程的生成非常容易;有了它,从一个项目到另一个项目,无需重写许多
代码,因为只需一套模版而己:其使用的语法是典型的ASP.NET语法,并且,可以像我们写asp那样将
代码和静态内容混合编写。
总体来讲,目前国内最先进的
代码生成工具,离国际先进工具还有差距,当然这几年国内不少人开始研究这方面技术,相信我国不久也会达到或超越世界先进水平,但
代码生成作为一个研究领域需要我国很多优秀人才从事这方面研究。
自动化
代码生成技术近几年来在国内外研究的人出现增长趋势,国内在此方面主要是学习了国外的一些先进技术,不少人在工作业余时间,研究一些自动
代码生成工具,这些工具主要是针对某些
代码重复性比较大的,像是J2EE的GET、SET:有的能力强的人可将增删改查分页等功能通过生成工具实现;专注于数据库方面的工具相对较多,这类工具可生成存储过程之类的
代码;当然,还有一些简单的专门用于生成网页
代码的工具,这类是最多的,但这类工具不是属于大多数企业所重点研究的;因此,目前国内主要研究的是针对.net,J2EE及各种数据库的,通过制作
代码生成器,减少编程量。
在
php方面,目前著名的
代码生成器像是PHPGEN,它是一款在线的
php代码生成器,采用
php开发,它可以帮助我们在几分钟内完成一个功能完善的数据库后台管理系统和前台展示,还有像LWPHP、PHPMaker的
代码生成器也做的不错。
1.3.2 ERP系统发展现状 目前我国ERP软件系统开发总的开发特点可以概括为:开发周期长、实施周期长【5】。
当然也有做的比较好的,像是有市场竞争能力、市场优势比较强的用友和金蝶,另外像是在ERP专业应用方面比较深入的金思维和和佳。
在ERP实施过程中,常遇到这种问题: 由于大多数中小企业员工素质偏低.不具有熟练操作计算机的熟练技能,更有甚者, 部分企业的有的员工几乎不会使用或根本 2未接触过计算机,如果在ERP实施过程中,软件开发公司未能给中小企业很好的培训,问题就会更大:加上中小企业部分员工的工作积极性和责任心不强,势必会给实施过程造成很大困难。
这点笔者是有切身体会的,在XX软件公司工作时,曾为XX集团做过ERP系统,XX集团底层不少员工计算机操作能力很差的。
国内不少企业在决定上不上ERP系统的问题上,其决定权往往只在企业老板一个人身上或只是少数企业高层身上,老板甚至不听懂技术的建议,自己决定是在c/s架构还是在b/s架构中做出选择。
这些企业老板中的大部分在决定上ERP系统时,可能并未真正搞清楚ERP是什么、上了ERP系统之后可为企业带来什么、为什么要上ERP系统、企业具备什么条件才应上ERP系统之类的问题。
有时候就是一时的想法,或者是同行有了ERP系统,自己也要有。
许多原因导致了企业老板对ERP系统根本不重视或者只重形式不重实质。
而企业的中层或基层由于缺乏企业老板的推动和监督,也会出现不拿ERP系统当回事或者根本不爱上ERP系统,这可能会表现在软件公司调研时或在开发出ERP系统后,对企业进行培训时,根本不配合软件公司,这样做也会给软件公司造成开发上的困难,项目因此会反复修改,甚至最终造成项目的失败。
如果我们从企业管理的角度看问题,在实施ERP系统之后,很可能会对其原有秩序造成影响。
企业原有的管理制度、原有的业务流程、原有的组织机构等极有可能暴露出许多与ERP软件不相符的问题,因为ERP的业务流程是比较固定规范的东西。
企业实施ERP软件可以说是对原有管理制度进行了变革。
由于ERP中都是相对规范的业务流程、组织设置和管理观念,因此在实施ERP后其与企业原有的习惯、制度、观念等必定会有一个适应过程,这种适应尤其在企业刚实施ERP后表现得特别明显。
不少企业在实施ERP项目后,员工可能会感觉到工作效率还不如以前未实施的时候高,或感觉到工作量、工作压力比之前大了。
这反映了ERP软件在实施后推动企业内部变革的困难是不小的。
在这当中,如果哪个企业用最短的时间、最少的成本顺利地度过了磨合期,上线ERP项目的成功率也就会大大地提高了。
从ERP软件供应商的角度看,现在我国国内ERP软件供应商相对较混乱,除了比较大型的几家企业,像是美国的甲骨文、德国的SAP、我国的用友、金蝶等,这几家企业的软件设计相对成熟、服务相对规范,其余大部分软件提供商水平不高,无论从软件的成熟程度、服务流程的规范化,还是实施顾问的专业能力,培训水平等方面,都存在诸多不足的地方,这使得一个企业想借助ERP系统给他们带来便利显得非常困难。
不少企业因此投入大量资金,其结果确未给他们带来真正的好处。
1.4
论文主要研究的内容 本文是针对现有ERP系统开发缓慢的问题,提出在开发ERP时采用
代码生成的方法,同时在开发过程中采用LAMP环境{61,研究内容包括以下几个方面: 1、分析研究工作流及其参考模型,文中对工作流的定义做了详细介绍,在工作流 3的参考模型中对其五个基本组件和五个基本接口做了详细介绍,同时文中对工作流技术在ERP中的应用做了详细介绍,此部分主要为了阐述业务流程也可采用
代码生成的方式实现。
2、已有的自动
代码生成方式主要有整合式生成器、内联
代码扩展器、混合
代码生成器、局部
代码生成器、层生成器五种,根据已有的
代码生成方式和解决方案,本文提出了自己设计
代码生成器的思路。
3、根据文中对ERP业务流程的分析发现,业务流程的
代码生成方式同普通的增删改查原理是类似的,因此本文选取了单表进行了
代码生成器的,这其中包括基于此表的创建数据库和表、列表、增加、删除、修改、查询
代码。
4、
代码生成器采用java swt开发【71,java UI开发也是本文的研究内容之一,文中主要采用在Eclipse中安装插件的方式开发,这样节约了开发时间。
1.5
论文应解决的主要问题 本文提到的
代码生成器,生成的
代码是基于抽象的管理信息系统
代码18】191,抽象就是说生成的
代码具有大多数管理信息系统的共性,本文提到的信息系统是选取了企业当中的ERP系统进行抽象,对于ERP系统来说,工作流是最难的地方,本文也试图找到工作流的共性,并通过
代码生成思想,设计出可生成工作流
代码的
代码生成器,除了工作流外,ERP系统主要剩下了权限控制和业务的增删改查,笔者也试图通过
代码生成器生成具有共性的权限控制和业务流程
代码,但在经过了认真分析,发现不管是工作流,还是权限控制、业务流程,其
代码生成思想都是一致的,即同针对单表的
代码生成都是一致的,所以本文主要阐述
代码生成的实现思想,并在此基础上,阐述了针对单表的
代码生成器实现过程。
在设计
代码生成器时主要应该解决的问题还有是对ERP系统进行抽象,从中寻找其工作流的共性,以便于
代码生成器的设计。
另外,
论文要达到的要求还有:生成的
代码应该不改动或经很小改动就可运行;生成的
代码应具有大多数ERP系统的共性;生成的
代码应便于在此基础上进行创新;设计出的
代码生成器应容易学习,即使不懂编程的人经过短时间学习也应很快学会;设计出的
代码生成器应是采用java swt编写的并可运行于l i11UX环境的110J,并且生成的
代码是
php代码,这就是
论文要达到的技术要求。
1.6
论文的组织结构 本文由以下六章和参考文献组成: 第一章主要介绍课题来源,课题研究的目的和意义,国内外研究现状,
论文研究的主要内容; 第二章主要解释ERP系统的含义, ERP系统系统中的工作流技术及在ERP系统中 4采用
代码生成的可行性: 第三章主要介绍自动化编程技术及LAMP技术: 第四章主要写软件的需求分析、软件功能及流程设计、软件详细设计; 第五章主要写系统涉及的主要关键技术、关键程序段分析及系统测试: 第六章主要写本文总结及工作展望。
其中第三、四、五章是本文的核心,主要工作集中在第四、五两章。
5 第二章ERP系统与
代码生成2.1 ERP系统 ERP是(Enterprise Resource Planning,企业资源计划系统)的概念,是美国GartnerGroup公司于1990年提出的,其确切定义是:MRP II(企业制造资源计划)下一代的制造业系统和资源计划软件,即新一代的集成化管理信息系统…】。
除了MRPII已有的生产资源计划,制造、财务、销售、采购等功能外,还有质量管理,实验室管理,业务流程管理,产品数据管理,存货、分销与运输管理,人力资源管理和定期报告系统。
2.2 ERP系统中的工作流技术2.2.1工作流及参考模型 l、工作流 工作流技术最早起源于二十世纪七十年代中期办公自动化领域的研究,由于当时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未取得成功。
1983年到1985年间,在图像处理领域和电子邮件领域出现了早期的含有工作流特征的商用系统。
进入九十年代之后,随着个人计算机、网络技术的推广和普及,以及信息化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。
1993年8月,第一个工作流技术标准化的工业组织一一工作流管理联盟(Workflow ManagementCoalition,简称WFMC)成立∞1。
1994年,工作流管理联盟发布了用于工作流管理系统之间互操作的工作流参考模型,并相继制定了一系列工业标准。
与此同时,关于工作流技术的学术研究也十分活跃,许多原型系统在实验室里开发出来。
进入二十一世纪以来,工作流技术已被越来越多的人认可,与之相关的标准规范、工作流引擎及商用产品也越来越多。
人们在开发推广工作流产品的同时,更加注重工作流的理论研究,以推动该项技术走向成熟。
在企业实际应用中,工作流的概念相对于物料流、信息流、资金流等概念要更抽象些,但是却从更高的层次上提供了实现物料流、信息流、资金流及其涉及的相关过程与应用的集成机制,从而能够使企业实现业务过程集成、业务过程自动化与业务过程的管理。
根据WFMC的定义,工作流(Work F10W)就是自动运作的业务过程部分或整体,表 6现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。
简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。
如果我们可以将整个业务过程看作是一条河,其中流过的就是工作流。
Georgakopoulos给出的工作流定义是:工作流是将一组任务O:ask)组织起来竞成某个经营过程。
还有许多关于工作流的不同定义,但基本上都说明了这样一个问题,即工作流是经营过程的一个计算机实现。
在实际情况中可以更广泛地把凡是由计算机软件系统控制其执行的过程都可以称为工作流。
工作流在大多数的实际应用中的情况可以这样来简单的描述:在网络、服务器和多台计算机客户端的硬件平台上,业务过程按照预先设定的规则并借助应用程序和人对相关数据的处理而完成。
例如,某集团分公司底层员工写好材料后,会先将其交给分公司领导审批,分公司领导通过后,会将将其交给集团领导进行进一步审批。
这样,可能会形成同一篇文档在多个人间的顺序或同时传递。
对于这样的情况,我们可以使用工作流技术来控制和管理文档在各个计算机之间自动传递。
这就可称为工作流。
2、工作流的参考模型 为了实现不同工作流产品问能够相互操作,工作流管理联盟(Workflow ManagementCoalition,简称WFMC)在工作流管理系统的相关术语、体系结构及应用编程接口(WAPI)等方面制定了一系列标准。
工作流参考模型(Workflow reference model)是由工作流管理联盟于1995年提出的工作流管理系统的体系结构模型,工作流参考模型来源于对普通工作流程序结构的分析。
工作流参考模型标识了构成工作流管理系统的基本部件和这些基本部件交互使用的接口。
这些基本部件包括:工作流执行服务、工作流引擎、流程定义工具、客户端应用、调用应用、管理监控工具;基本部件交互使用的接口包括:接口一、接口二、接口三、接口四和接口五。
从图2.1中我们可以看出,工作流参考模型包括五个基本组件和五个基本接口(接口在图中用双向箭头标出)。
其中五个基本组件是: (1)工作流执行服务。
工作流执行服务为系统提供运行时服务,它包括一个或多个工作流引擎,并以此来产生、管理以及运行工作流实例。
其中的工作流引擎定义为,工作流引擎是指作为workflow的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。
工作流引擎是工作流执行服务的核心。
(2)流程定义工具。
流程定义工具主要负责分析、建模、描述业务过程以及对业务过程的建档,这个组件会给出工作流程的定义,并以一定的数据格式提供给工作流引擎解析。
7 图2.1工作流参考模型 (3)管理监控工具。
管理监控工具负责监控工作流的执行,它可以查看和改变工作流的执行状态。
(4)工作流调用应用。
执行者访问工作流的界面,活动参与者通过这样的应用程序参加工作流活动,获得和执行自己的任务。
(5)应用程序。
可以被调用的应用都应该是提供了工作流引擎接口的应用程序,应用程序可以是本地的应用,也可以是远程的调用。
因此接口3就可以是本地函数调用接口和诸如RPC,CORBA,RMI之类的远程.