[毕业论文]软件工程-关于代码自动生成技术的分析

[毕业论文]软件工程-关于代码自动生成技术的分析

ID:5700925

大小:706.51 KB

页数:49页

时间:2017-12-23

[毕业论文]软件工程-关于代码自动生成技术的分析_第1页
[毕业论文]软件工程-关于代码自动生成技术的分析_第2页
[毕业论文]软件工程-关于代码自动生成技术的分析_第3页
[毕业论文]软件工程-关于代码自动生成技术的分析_第4页
[毕业论文]软件工程-关于代码自动生成技术的分析_第5页
资源描述:

《[毕业论文]软件工程-关于代码自动生成技术的分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、2008届软件工程专业毕业设计(论文)目录前言1第一章概述21.1背景21.2研究代码自动生成技术的必要性41.3本课题的主要研究内容6第二章代码自动生成技术72.1代码生成的机理72.2三层B/S架构82.3设计模式92.4反射技术122.5缓存技术132.6XML技术152.7语法高亮显示17第三章系统分析与设计183.1系统分析183.1.1系统开发环境183.1.2需求分析183.1.3系统用例图及详细说明213.2系统设计方案283.2.1设计原则283.2.2系统类28第四章系统实现324.1系统界面设计324.2系统功能实现344.2.1数据库新连接(即导入数据库信息)功能的

2、实现344.2.2代码生成功能的实现344.2.3代码导出功能的实现364.2.4数据库查询分析功能的实现36第五章难点与对策385.1数据库表信息的读取385.2将xml数据加载到树形控件上395.3语法高亮显示的实现41第五章总结及展望435.1总结43472008届软件工程专业毕业设计(论文)5.2展望44致谢45参考文献46472008届软件工程专业毕业设计(论文)前言 现在软件工程所涉及到的系统规模越来越大。大型的程序需要多人共同参与和开发,每个人的程序风格不同,再加上时间上的压力,这使得系统完成以后在测试及维护上带来了沉重的负担。计算机科学家一直致力于这方面的研究。在解决代码规

3、范以及工作效率上,代码自动生成技术显现出了其很大的优越性。代码自动生成器一个最关键的功能就是让程序员尽可能减轻负。当然任何东西都不能取代人在当中的作用,代码自动生成器主要来完成一些有规律可寻的代码生成。比如我们平常一般用到的MODEL类就是一个很简单的基类,它的模式基本上是固定的。如果一个系统有上百个MODEL类,那么程序员可能要话很长的时间来编写。而用了相应的自动生成器只需简单几步就很全部生成。我想这样的工作是非常有意义的。TianHao正是在这样的环境下计划开发的。TianHao生成的代码基于面向对象的思想和三层架构设计。现在的系统常用到的是三层架构。一个典型的例子就是微软的示例代码P

4、etshop。Petshop包含了很多经典的思想和设计模式。TianHao结合了Petshop的开发模式,寻求编码规律,并融入了工厂模式,反射机制等一些思想。TianHao同时提供支持多类型数据库,并且能够方便的对数据库查询分析,存储过程生成,代码批量自动输出等多项开发工作中常用到的功能。472008届软件工程专业毕业设计(论文)第一章概述1.1背景在软件工程发展过程中,计算机科学家为了降低软件开发得强度,缩短开发周期,减少代码的重复书写,从而减轻程序员的编程负担,一直以来都致力于代码自动生成方面的研究。Lex/Yacc是最早用于自动化编写编译程序的工具。我们可以将代码生成技术分为两大类:

5、被动模式和主动模式。在被动模式下,代码生成器产生一系列的代码,然后软件开发者可以自由的修改、编辑这些代码,但代码生成器不再承担对代码的维护工作。大多数软件集成开发环境(IDE)中的应用“向导”就是这种类型的代码生成器。被动模式的代码生成技术有其应用的范围,但是被动模式的生成系统有天生的局限性。生成器只运行一次,然后就不再承担对代码的维护工作。与此相反,主动模式下的代码生成器则对生成的代码“长期”负责,可以通过改变生成器的输入参数并重新运行生成器来改变输出的代码。如编译器生成器就是一种主动模式的代码生成器。下面我们介绍几种常见的代码生成技术,这些技术对开发一个实用的代码生成器非常重要。可以依

6、据代码生成技术的使用场合、复杂度等对这些生成技术进行分类,这里我们采用依据生成技术的输入、输出对它们进行分类。472008届软件工程专业毕业设计(论文)(1)代码挑拣器,代码挑拣器的输入是源代码,通过拣取需要的信息可以生成各种文件,代码挑拣器的使用相当广泛,可以使用它来生成代码API文档、获取常量和函数原型等。(2)内联代码扩展器,内联代码扩展器的输入是带有特殊标记的源代码,这些特殊标记经过扩展器的处理后将被替换为相关的代码从而产生最终的生产源代码,内联代码扩展器的典型应用是将SQL语句嵌入到源代码中,其主要特点是使得底层结构和复杂的查询分开。(3)混合代码生成器混合代码生成器与内联代码扩

7、展器很像,它也是处理源代码中的特殊注释但是与内联代码扩展器不同,它的结果将直接输出到输入的源代码中。这种方式的一个典型应用就是在对话框控件和它们代表的变量之间建立映射关系。(4)部分类生成器部分类生成器的输入是模板文件和包含特定类所需信息的定义文件,这些信息经过生成器将产生应用的基类。通过继承该基类可以完成剩余的工作。Velocity是一个源代码开放的Java模版引擎。(5)层第生成器层第生成器将生成一个多层应用的所有代

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。