现在的位置: 首页 > 综合 > 正文

模型驱动开发:基本模型+插件模型的开发方法

2014年03月02日 ⁄ 综合 ⁄ 共 1013字 ⁄ 字号 评论关闭

任何一个复杂的系统都应该存在简单的规则,可以使用一些基本元素组合构建而成。这样的系统在数学上被认为是简洁和优美的。这一点在软件中最容易归纳出来。人们也一直试图找出一种简洁方便方法和系统来构建软件。

软件的一个特性是相似性。我们写过大量代码后会发现:很多代码都有相当程度的相似性。我们每个人每天只是重复写其他人写过的代码或者组合别人的代码。软件的相似性,让我们有可能找到组成软件的简单规则和基本元素。

首先每一个软件的基本架构所包含的要素都是相同的,如界面、实体、功能等等。将基本要素用结构化的数据描述组成一种模型,可以称其为基本模型。

其次软件的处理模式有相似性, 如果我们为这种模式命名,用属性描述模式的变化,最后抽象成另一种模型,我们称之为插件模型。这些模型依附于基本模型。

基本模型是软件系统的共性,插件模型是软件的特殊性。特殊性建立在共性基础之上。基本模型是固定的,插件模型是多样的。当遇到新的模式,只需增加新的插件或者新的属性。这样就能解决软件多样性的问题,做出丰富的软件功能。

构造插件模型的方法和人们归纳认识新事物相似:观察特性,归纳共性,创立新概念,建立新模型供人使用。使用插件让软件复用更加容易和有效。

如果将软件元数据比作骨架,将不容易修改代码比作肌肉,那么现在的软件全部用代码构成,就像软体动物一样,只有肌肉组织没有骨架,不能适应变化。“基本模型+插件模型”的方式将软件的基本架构用结构化的数据描述,将实现功能的代码以插件的形式附着在这些基本结构之上,这样的软件就像有骨有肉的脊柱动物,适应性更广阔的环境。

目前虽然有一些公司也提供模型驱动开发平台,但大部分都停留在使用基本模型描述软件系统这一阶段,没有提供通过插件或其他方式扩展基本模型的功能,这样开发人只能使用平台提供的大量内置功能,平台提供的无用功能无法去掉,而用户需要的特殊功能加不进去。很难扩展平台的本身,因此很难做出丰富多样的软件。

通过多年摸索和实践,西安赛斐软件公司开发出一套模型驱动的软件开发平台—iModel
Studio。它包括建模工具和模型运行引擎,使用“基本模型+插件模型”的方法描述和构建软件系统。它使用基本模型描述软件的各个部件和基本功能,用插件模型描述特殊的业务功能,用模型引擎加载并运行模型,在运行态修改模型、调整插件,同时iModel
Studio 实现了抽象模型、模型继承、模型接口等高级模型复用技术,进一步简化开发步骤,快速完成软件开发。

抱歉!评论已关闭.