模型驱动开发 - Mendix
2010-05-19 10:23
1006 查看
传统开发方法
传统开发过程中存在多种角色:项目经理、业务人员、需求人员、技术架构师、可用性设计师、程序员、测试人员、主要客户等,这些角色会被严格的区分为两种类型:业务(business)和IT技术人员。业务部分主要负责客户、业务分析、需求工程,而IT部分主要包括开发人员。架构师、测试人员等。总的来说,就是业务对what负责
IT对how负责
这种方式看起来好像没有问题,但是为什么这么多项目超过时间、超过预算、不能满足需求而失败呢?我们能够责怪大家吗?能够怪需求为什么总是变化的吗?能够怪技术人员为什么不能对复杂业务进行随需应变?答案是明显的:不能。
原因很简单:
我们不能预见所有的可能性和复杂性
很难把抽象的业务需求很好的转换成精细的IT方案
设计、文档和实现不同步
软件工程到业务工程
释放业务分析师的能力现在很多业务分析人员都习惯于使用Visio或者word之类的来编写文档和画流程,在实现过程中很难完整无误的把这些内容转换为实现所需要的东西,如果我们采用一种统一的可视化模型方式来进行业务分析,应用软件大部分功能由业务分析师完成,而剩下的复杂功能由技术人员来解决。
减少上市时间
通过可视化的模型,软件会自动化运行和测试
提高灵活性
如果我们能在模型级别上考虑可变性,那么更改需求将会更灵活简单
防止过时的文档
模型及文档,模型可以被用来运行,所以模型和最终应用程序是100%的同步
不重型发明轮子
构建块、模板等都会在应用开发过程中很好的进行累积,不会重头再次处理同样的事情
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/e075eb8f7b5be797800dfc036f444444.jpg)
Mendix 提供软件工具、方法和架构平台来快速建模、构造、测试、继承、部署、管理和优化Service-Oriented Business Applications (SOBA) 。它继承了模型驱动开发和敏捷方法,允许业务分析人员使用可视化模型参与到开发周期中。
与以前开发方法比较
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/34e10067d5675486be9c6272c402ba57.jpg)
Mendix Model-driven Platform Suite
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/8eee910958ac9e1e19cb8d9d55fe6e4e.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/ac24b6838331a6c7de777fc649b1d12d.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/5db1f81467497f69efee6c7a3bca5c54.jpg)
技术原则
提高业务和IT的协作每个模型都是业务分析师和IT工程师进行沟通的共同语言,分析师可以找到模型是否匹配业务需求,技术人员检查模型是否满足特定技术细节
每个DSL都是可以在运行期下直接运行的
模型可以直接被运行,防止代码生成带来的一些维护和测试问题(注:我不清楚它是如何做到无代码的,我想是不是生成一些代码,只是模型部分没有生成代码,这个还有待考证)
每个DSL都可以扩展为其它第三代编程语言
尽量少使用第三代语言
开放、可扩展的技术平台,提供可扩展的API访问框架低级别的核心功能
开放标准
自动化业务流程驱动,业务流程模型是模型的中心
服务组件架构(Service Component Architecture)
重用,提供可重用的模型、服务、组件等
Mendix Business Modeller: a unified modelling space
模型编辑器
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/378b114d51a3ab69c8e29a73e1c07884.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/8f996da9714382846098801b27f2799a.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/41a5c6dace29bb03d053483b7c8bebf2.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/2013ff103fcbb4768b909f3535858e28.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/ec54afc9188a003421caee5aab827d32.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/b5296877fdd4a94e10a6b5b8ef1a2f11.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/40e33f540018ce36ba72f63d11405a7c.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/f780d69aa73cb01f2a4409e8a6ece7d4.jpg)
Mendix Business Server
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/f4130ba76bddda0315a01124924724e8.jpg)
开发方法
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/731376899c51e01ee8ae34c5e2284882.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/1f2845cbe9ecfcc88849a49969e517c6.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/3ce7bc037939a299116fc040e43a1f96.jpg)
Mendix Essentials Introductiedag 30 10 09
相关文章推荐
- 模型驱动软件开发实战步骤
- 模型驱动开发能帮我们解决什么
- Windows的驱动开发模型
- Linux驱动程序开发 - 设备驱动模型初探
- Android驱动开发【NDK模型】———为什么使用NDK
- MDSF:模型驱动开发(MDD)介绍
- 模型驱动的开发,回忆一年多前的一次开发
- 模型驱动开发,传统编程方式的终结?
- Eclipse Modeling Framework 实现模型驱动开发
- Linux驱动程序开发 - 设备驱动模型初探(一)
- 模型驱动开发的误解和挑战
- Android驱动开发———两种模型简记
- 专家访谈: Chris Gerken 谈模型驱动的开发
- 模型驱动开发 —在RUP与Agile之间找到平衡点
- 使用模型驱动开发(MDD)的十五个理由
- 模型驱动开发,传统编程方式的终结?
- 模型驱动开发 - 产品线架构的演进
- linux驱动模型开发2——linux platfoem总线机制讲解与实例开发
- Linux驱动开发(七)——设备驱动模型
- linux驱动模型开发2——linux platfoem总线机制讲解与实例开发