模型驱动技术

来源:互联网 发布:永恒之塔淘宝双倍礼包 编辑:程序博客网 时间:2024/06/08 06:23
      模型驱动就是“为了实现系统的目标,将系统划分为若干层级,在每一个层级上对相关对象进行建模并建立各层模型之间的映射关系,采用人工或计算机软件按照映射规则完成信息从一个层级向另一个层级之间的变换,最终获得系统的目标结果。”
     模型驱动是一种新型的软件开发思想,它是继面向对象的软件开发思想之后,出现的一种新的面向模型的软件开发方式。
     信息系统开发经历了以处理为中心、数据为中心、对象为中心(数据与处理一体化)和正在发展的以模型为中心的四个阶段。以模型为中心的阶段出现,使信息系统开发成为一个由信息模型 (Information Model)驱动的过程,信息模型将贯穿于信息系统的分析、设计、实现、配置、维护和管理的各个阶段,从而需要一个基于信息模型的、辅助和管理信息系统开发与运行过程的信息系统,即元信息系统。
软件的开发经历了以处理为中心、数据为中心、以对象为中心(数据与处理一体化)和正在发展的以模型为中心的四个阶段。
      以处理为中心的阶段,数据与程序是一体的,没有独立的数据库,主要用于完成特定的任务,数据各自孤立,无法共享。系统由各种软件模块构成,每一个软件模块表达了一定的业务逻辑,数据结构与数据的操作分离。这个阶段出现了结构化设计方法和模块化技术。
      以数据为中心的阶段,数据与程序分离,数据由数据库管理系统(DBMS)管理,应用程序通过访问数据库,获取所需的数据并进行处理,各种应用程序共享数据库中的数据资源。这一阶段出现了实体关系模型(E-R图)和数据流分析等方法与技术,以及SQL结构化查询语言,主要解决数据的可重要问题。
      以对象为中心的阶段,它把信息系统中所有要素看作对象,对象由数据(属性)和处理(方法)构成,持久性对象的数据存贮在数据库中,数据库中的数据通过影射(Mapping)转换为软件对象对象能更好地与现实系统中的组成要素对应,从而实现了现实世界与信息世界的统一,使软件和信息系统的建模成为可能。这个阶段出现了许多面向对象的分析与设计方法,最后通过UML(Unified Modeling Language)统一建模语言一统江湖,为信息模型建立奠定了基础。组件(Component)和CBD(Component Based Development)组件开发技术、工作流技术(Workflow)、Internet技术得到迅速发展。本阶段强调软件的可重用。
     以模型为中心的阶段,基于信息模型开发软件产品。它将系统的各个部分都用模型进行描述,包括用户的界面模型、报表模型、数据发布模型、数据存储模型、工作流模型、系统模型、组织模型等,通过建立不同模型之间的映射关系,并在系统的运行过程中根据映射关系自动完成信息的加工处理。由于模型及模型之间的映射关系都是以元数据的形式描述的,因此当模型或模型之间的映射关系发生变化时,不需要修改程序代码,只需要修改元数据就行了。而元数据的修改是通过各种可视化建模工具完成的。其实,模型就是用户需求和系统需求的描述。模型驱动技术使得系统具有很大的灵活性和可扩展性。