论文部分内容阅读
表单是一种普通的用户界面元素,为数据输入和输出提供了一种简单而直观的表现方式。表单在当今的软件应用程序中随处可见,任何软件系统的开发都需要创建一个或多个表单来收集用户输入。而手工编写这些表单,是一件简单又繁琐的任务,大量的表单代码只是布局、位置或者形状有些不同而已,因此,如果能够自动生成这些表单界面,不仅可以大大减少软件开发的成本,而且也能降低表单设计的复杂程度。一个良好的表单界面系统能够引导用户很好的完成表单的相关操作,如输入、显示、修改和提交等。虽然表单界面应用的方面很多,但是比较有规律性,它主要包括表现层、数据层和业务逻辑层三层内容,而如何表示这三层内容将决定表单的可重用性、移植性和表达能力。本文定义了新的表单模型,把数据层和表现层分离,通过关系(relations)又将二者联系起来,大大增强了表单的可重用性,使表单的设计和操作灵活性大大加强。基于模型的界面开发技术已成为业界的研究热点,它是一种与平台无关的界面开发技术,通过模型驱动,界面在运行时自动生成。本文将模型驱动的思想应用于表单的自动生成,定义一种平台无关的表单模型,通过该模型驱动生成各种平台相关的表单,在不同的平台和设备上使用,从而增强了表单的可移植性。本文的主要贡献在于提出了结构化用例模型,用它来描述表单的业务功能。结构化用例模型在传统的用例模型上加入具体、准确的语义,使计算机系统能够解析该模型,同时定义了与事件相关的数据模型和约束模型,缩短了业务到用户界面之间的距离,从而使二者之间的转换成为可能。第二,本文对新一代表单语言XForms作了详细的分析和研究,并对XForms模型进行改进,补充了XForms的数据模型、事件模型和约束模型。1)定义了新的表单数据类型,使表单能够表达更复杂的数据,同时给出这些实例数据的生成方法;2)给出丰富的数据约束定义,表单不仅能够处理静态约束,也能够表示多个数据间的动态约束;3)定义了事件和数据之间的关系,使表单能够及时捕获用户操作,增强了表单的交互性。最后,本文结合模型驱动架构(MDA),给出表单界面自动生成的方法和流程,设计和实现了结构化用例模型到平台无关模型以及平台无关模型到平台相关模型转换的模型处理器。本文主要有三个创新点:1)把业务建模引入界面生成过程中,给出描述业务建模的结构化用例模型定义,大大降低了表单设计者对模型知识的要求;2)提出基于XForms的改进的表单模型,设计了逻辑型数据类型等新的数据模型和生成方法;给出更完善的约束模型和事件模型,通过约束表达式实现数据间动态约束;定义了事件和数据之间的六种关系,丰富了表单的事件系统。这些都弥补了XForms中数据模型表达能力不够,多个子表单混合以及数据动态约束较差等不足;3)提出模型驱动架构下的表单用户界面自动生成过程,给出相关算法和模型间映射规则,实现结构化用例模型、平台无关模型和平台相关模型间的转化。