zoukankan      html  css  js  c++  java
  • 模型驱动开发

    传统开发方法

      传统开发过程中存在多种角色:项目经理、业务人员、需求人员、技术架构师、可用性设计师、程序员、测试人员、主要客户等,这些角色会被严格的区分为两种类型:业务(business)和IT技术人员。业务部分主要负责客户、业务分析、需求工程,而IT部分主要包括开发人员。架构师、测试人员等。总的来说,就是

    • 业务对what负责
    • IT对how负责

      这种方式看起来好像没有问题,但是为什么这么多项目超过时间、超过预算、不能满足需求而失败呢?我们能够责怪大家吗?能够怪需求为什么总是变化的吗?能够怪技术人员为什么不能对复杂业务进行随需应变?答案是明显的:不能。

      原因很简单:

    • 我们不能预见所有的可能性和复杂性
    • 很难把抽象的业务需求很好的转换成精细的IT方案
    • 设计、文档和实现不同步

    软件工程到业务工程

    • 释放业务分析师的能力
      现在很多业务分析人员都习惯于使用Visio或者word之类的来编写文档和画流程,在实现过程中很难完整无误的把这些内容转换为实现所需要的东西,如果我们采用一种统一的可视化模型方式来进行业务分析,应用软件大部分功能由业务分析师完成,而剩下的复杂功能由技术人员来解决。
    • 减少上市时间
      通过可视化的模型,软件会自动化运行和测试
    • 提高灵活性
      如果我们能在模型级别上考虑可变性,那么更改需求将会更灵活简单
    • 防止过时的文档
      模型及文档,模型可以被用来运行,所以模型和最终应用程序是100%的同步
    • 不重型发明轮子
      构建块、模板等都会在应用开发过程中很好的进行累积,不会重头再次处理同样的事情

      Mendix 提供软件工具、方法和架构平台来快速建模、构造、测试、继承、部署、管理和优化Service-Oriented Business Applications (SOBA) 。它继承了模型驱动开发和敏捷方法,允许业务分析人员使用可视化模型参与到开发周期中。

    与以前开发方法比较

    Mendix Model-driven Platform Suite


    技术原则

    • 提高业务和IT的协作
      每个模型都是业务分析师和IT工程师进行沟通的共同语言,分析师可以找到模型是否匹配业务需求,技术人员检查模型是否满足特定技术细节
    • 每个DSL都是可以在运行期下直接运行的
      模型可以直接被运行,防止代码生成带来的一些维护和测试问题(注:我不清楚它是如何做到无代码的,我想是不是生成一些代码,只是模型部分没有生成代码,这个还有待考证)
    • 每个DSL都可以扩展为其它第三代编程语言
    • 尽量少使用第三代语言
    • 开放、可扩展的技术平台,提供可扩展的API访问框架低级别的核心功能
    • 开放标准
    • 自动化业务流程驱动,业务流程模型是模型的中心
    • 服务组件架构(Service Component Architecture)
    • 重用,提供可重用的模型、服务、组件等

    Mendix Business Modeller: a unified modelling space

    模型编辑器

      

    Mendix Business Server

    开发方法

  • 相关阅读:
    Sass--扩展继承
    Sass--混合宏的不足
    学习笔记47—PhotoShop技巧
    学习笔记46—如何使Word和EndNote关联
    学习笔记45—Linux压缩集
    学习笔记44—Linux下安装freesurfer
    学习笔记43—Linux安装集
    学习笔记42—Win7下安装Linux双系统
    学习笔记41—ttest误区
    学习笔记40—endnote点点滴滴
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1658478.html
Copyright © 2011-2022 走看看