首页> 中文学位 >面向最终用户的领域特定语言的研究
【6h】

面向最终用户的领域特定语言的研究

代理获取

目录

封面

声明

中文摘要

英文摘要

目录

第一章 绪论

1.1 研究背景

1.2 国内外研究现状

1.3 研究目的和内容

1.4 本文的内容组织

第二章 高校信息系统领域特定语言的研究与设计

2.1 三层DSL语言

2.2 第一层IDSL

2.3 第二层UIDSL

2.4 第三层SIDSL

2.5 本章小结

第三章 领域特定语言到Java的代码生成工具的开发

3.1 领域特定语言到Java的代码转换的总体技术方案

3.2 IDSL到Java的代码生成工具的总体设计

3.3 IDSL到Java的代码生成工具的转化规则设计

3.4 关键问题及其解决方案

3.5 本章小结

第四章 实验

4.1 IDSL实验

4.2 UIDSL实验

4.3 SIDSL实验

4.4 本章小结

第五章 结束语

5.1 主要工作及总结

5.2 研究展望

参考文献

致谢

攻读硕士学位期间已发表的学术论文

附录一 部分Entity重写规则

附录二 部分Form重写规则

展开▼

摘要

在传统软件开发过程中,最困难的部分就是开发团队与软件使用人员之间的沟通,这也是软件项目失败或延期的常见原因。因为沟通不到位往往会引起需求不明确或歧义,导致返工。虽然随着软件开发技术的不断发展和完善,沟通环节所带来的弊端不断被减少,但依旧存在风险。同样的风险也存在于系统维护中。如何缓解系统开发和维护中需求不断变更所带来的压力?如何进一步提高系统开发和维护的效率,面对这些问题,本文以高校信息系统为研究领域,提出了一套面向最终用户编程的领域特定语言(DSL),并实现了该语言到Java的代码生成器。
  本文首先分析并研究了高校信息系统的特点,结合领域特定语言和最终用户编程技术,提出了一套适用于高校信息系统的特定领域语言。高校信息系统因业务繁多,逻辑复杂导致单以单层领域特定语言无法同时兼顾到面向最终用户和语言功能强大两个方面。本文采用分层的思想,从三个层次上设计了高校信息系统的领域特定语言:
  第一层,IDSL。这层是面向信息系统的最终用户编程DSL,本文参考了现有的信息系统DSL语言,根据MVC架构模式,从三个部分设计了IDSL:Model、View和Logic,分别对应数据模型、界面和后台逻辑。其中,Model由实体(Entity)组成,并提供增、删、改、查等多种方法,负责相应数据库表的存取;View通过少量标签支持信息系统中基本的页面定义,并提供增、删、改、查四种基本的业务逻辑操作操作;Logic支持顺序执行、条件分支和循环结构,并提供了变量申明,方法调用以及跳转至其它Logic或View的操作。此外IDSL不需要用户去定义参数的传递,从而减少了最终用户编程时的难度。
  第二层,UIDSL。这层是面向高校信息系统的最终用户编程DSL,本文在IDSL基础上,分析高校信息系统的共性,并以预定义特性的方式进行定义,包括预定义Enity、预定义View和预定义的逻辑操作。这些特性将减少最终用户编程的难度,提高最终用户的开发效率。
  第三层,SIDSL。这层是面向高校信息系统选课子领域的最终用户编程DSL。本文采用领域工程的方法分析系统的共性与可变性,然后统一共性并将可变性参数化以建立SIDSL语言。SIDSL语言采用XML方式进行编码,用户只需要对不同标签选用不同的值作为参数就可以定制选课子领域的不同特征。这种方式使最终用户在更高的抽象层上进行开发,编码也更简洁,效率更高。
  接着,根据高校信息系统输入模型复杂,逻辑可变性高这一特点,本文基于重写规则的程序转换技术和Spoofax框架,开发了I2J、U2I和S2U三套工具。
  最后,本文选择高校信息系统中的学生选课子系统,针对三层语言进行了三个实验。第一个实验表明IDSL编程比Java编程的效率要高;第二个实验表明UIDSL编程时间小于IDSL,开发效率更高;第三个实验表明示SIDSL的培训时间远小于UIDSL,开发时间略少于UIDSL,SIDSL更加面向最终用户,开发也效率更高。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号