大型金融组织采用模型驱动开发的实践与经验
1. 引言
2005年初,以色列一家大型金融组织的QA部门向IT部门管理层提出愿景:通过及时交付高质量软件系统,使IT部门能够高效支持组织的业务目标。为实现这一愿景,QA部门提出三项行动:
1. 改变IT部门对质量保证的认知。
2. 在整个软件生命周期采用新的模型驱动开发方法。
3. 部署现代软件开发工具和生命周期支持工具。
期望通过这些行动实现以下好处:
1. 促进开发过程中不同利益相关者(如经理、用户、分析师、测试人员和开发人员)之间的信息共享和沟通。
2. 确保不同项目和生命周期不同阶段使用一致的术语。
3. 提高开发工作产品(不一定是代码)的复用率。
4. 自动生成各种工作产品,如文档、数据库模式、测试等。
5. 显著提高软件质量和软件开发过程。
6. 便于获取项目状态和质量的信息与指标。
7. 降低开发和维护成本。
8. 加快开发周期,以更快响应市场变化。
2. 方法与工具
经典的模型驱动方法侧重于从抽象规范在给定目标架构下生成具体实现,强调设计模型并自动转换为实现。而该组织采用的方法强调在软件生命周期早期阶段(尤其是初始和细化阶段)使用模型,同时注重测试。制定方法时遵循以下原则:
1. 采用标准 :
- 模型是开发过程的核心。
- 模型使用标准建模语言UML编写。
- 目标是基于组件的架构。
2. 适配标准和工具 :
- 通过定义领域特定语言(DSL),使UML