软件的自适应技术研究

时间:2022-10-26 08:51:24

软件的自适应技术研究

摘要:制造企业的信息复杂多变,致使软件存储态与运行态方面的差异明显,这就要求软件要具有自适应性,该文给出了软件自适应实现策略,并用类图描述了该策略的静态数据特征模型,用顺序图描述了该策略的动态行为特性模型,相应的基础件也用J2EE技术进行了开发,并且嵌入到相应的MIS系统中使用,效果良好。

关键词:自适应软件;类图;顺序图

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)26-6025-03

传统的信息管理软件存在着软件状态(存储态)和运行状态(运行态)的差异,存储态是基于软件需求分析而开发的各程序块的集合,此时没有企业数据。运行态是存储态在某一特定的运行环境下的一个实例,是动态实体的集合。企业的信息复杂多变,软件需求也随之变化,它要求软件在运行过程中,能根据需求的变化,在无编程情况下,能进行自身调整满足需求变化。

1 软件自适应策略

软件自适应策略如图1所示:软件的存储态模块是由数据对象在规则库的约束下通过生成器自动生成。当企业需求发生变化而要求软件的运行状态发生改变时,用户可以对规则库和数据词典进行相应变更,软件系统将根据变更的内容完成软件相应的存储态和和运行态的改变,从而满足用户的要求。例如:当企业管理的数据对象的属性信息需要改变时,用户可以增加、删除或修改数据表的属性字段(表的属性字段存放于数据词典中),然后在生成器中对相应界面的属性信息按需求进行编辑,软件系统中将根据属性字段的变化自动重构用户的操作界面,并同步完成数据库的操作变化。

这种自适应既面向程序设计人员、又面向系统的最终用户。下面利用统一建模语言(UML)中的类图来描述对象的数据结构和它们之间的静态关系—自适应软件信息模型。用顺序图来描述对象间的动态关系。

2 自适应软件信息模型

自适应软件信息模型可用图2所示的类图表示:根据其实现功能将类图分为四个部分:信息编码器、数据词典、规则库和界面生成器。

1)编码器

编码器是对复杂多样的企业信息对象依照一定的规则进行编码的工具,编码时要遵循可识别性和唯一性原则,可识别性指编码值中部分代码能表示其代表对象的特征,唯一性指的是不同的对象具有不同的码值。基于这个规则可以把编码的构成分为三个部分:特征码、占位码和顺序码,特征码可以利用成组技术的思想对相似对象用相同码值表示。站位码是为了编码易读而在编码中间设定的特殊分隔符号,顺序码是为了保证编码的唯一性而设置的顺序代号,这三种编码的组合方式就构成了编码规则。

在图2中, 特征码分别以具有层次的树型结构和没有层次的表型结构存放在编码词典CodeDictionary类中, 每一种特征码对应一个方案。编码规则对应CodeRule类,编码器中另外两个辅助对象为:记录系统各种编码方案的CodeScheme类和记录各个对象所使用编码方案的CodeUse类。

2)数据词典

数据词典是用来记录数据库中数据结构信息,它和数据库的表结构信息同步,用户通过它操作底层数据结构。它包含两个对象:记录数据库的表构信息的DataTable类和记录表字段信息的DataDictionary类。

3)规则库

在规则库中定义界面动态生成的各种规则方案和相应的规则条款,并与使用该条款的数据表中相应属性字段关联。它包含三个对象:记录系统界面动态生成中的各种约束规则的方案的RuleScheme类,描述约束规则条款RuleDictionary类,描述各属性字段所使用的规则条款的RuleUse类。

4)界面生成器

在本研究中,界面生成器对应一个数据库的表对象,它以数据词典为基础,受规则库的规则约束,通过程序生成用户操作表对象的增、删、改、查界面。它包括两个对象:生成用户使用界面的程序块Generator类和记录动态生成界面的DynamicUI类。

构成各个类的属性和方法如表1所示:

3 软件自适应功能实现

软件自适应功能实现可以用顺序图来描述,顺序图描述功能实现时,以类对象为基础,描述类对象随时间的变化彼此间信息交互情况及其交互结果。软件自适应功能实现顺序图如图3所示。

从图中可以看到当程用户或序员需要编辑动态界面时,通过Generator类对象的生成界面(generateUI())方法,从DataDictionary类对象选择界面所用的字段,并利用CodeUse类对象的关联方案(relateSheme())方法关联上相应的编码使用方案号,再利用RuleUser类对象的规则使用(ruleUse())方法确定相应的约束规则,然后在Generator类对象中用集成(Integrate())方法将信息进行集成并送到DynamicUI对象中供用户或程序员使用。当企业的需求发生变化时,用户可以对动态界面的信息进行可视化修改。用户使用动态界面时,首先调用DynamicUI类对象的界面编辑(UIedit())方法获取界面的各种属性信息,然后将这些信息传递给Generator类对象,并由它生成用户可以操作使用的界面,该界面对象包含相应的数据库操作方法。

界面生成器的用户操作界面如图4所示,界面编号和数据词典中的表编号对应,界面的表描述了构成该界面的属性字段信息,通过上移、下移可以改变属性字段在显示界面上的位置,约束规则和编码方案可以选择。生成的界面如图5所示。

4 小结

本文所描述的软件自适应模型,已经利用J2EE技术进行了开发,开发出来的基础件已经用在“面向新产品开发决策支持系统”、“面向设备生命周期的设备管理系统”等软件中,这些软件已经被多家家企业使用,就其使用的效果看,当用户需求有所变化时,用户完全可以通过无编程可视化操作,使软件自适应用户的需求。

参考文献:

[1] 周晓桦. 基于UML的企业组织建模方法[J]. 中国机械工程, 2004, 15( 12): 95-97.

[2] 和力等.一种用UML开发组件式Web应用系统的过程[J]. 计算机工程, 2005, 31 (1) :1091-1094.

[3] 尚文利.基于IDEF与UML的系统建模方法[J].计算机集成制造系统~CIMs, 2004, 10 (3) : 253-258.

上一篇:网络环境下的虚拟电容成像系统的研究 下一篇:轮式机器人图形化编程系统的研究与设计