在我以前blog中提到过Mendix,本篇介绍一下Mendix,还是相当有借鉴意义的,对企业级软件开发感兴趣的可以看看。
传统开发方法
传统开发过程中存在多种角色:项目经理、业务人员、需求人员、技术架构师、可用性设计师、程序员、测试人员、主要客户等,这些角色会被严格的区分为两种类型:业务(business)和IT技术人员。业务部分主要负责客户、业务分析、需求工程,而IT部分主要
原创
2010-01-19 20:22:00
2293阅读
前面介绍过模型驱动开发(MDD)、软件工厂(Software factory)、特定领域建模 DSM(Domain Specific)等都是高抽象的开发方法,这些方法使用的语言都是特定领域语言(DSL)。相比于通用目的语言(C#/C++/JAVA/Delphi等)而言,DSL是一种为了特定任务而设计的开发语言,例如SQL是一种专门处理数据库的语言,本篇将介绍一下DSL。
一种语言
我们熟知
原创
2010-09-26 18:21:00
1559阅读
itemis是一家独立的软件咨询厂商,从2003年开始就专注于模型驱动开发领域 ,他们也擅长于Eclipse建模、嵌入式系统和手机应用上的开发。Andreas Graf是一个懂中文的朋友,他是itemis的项目经理和业务开发经理,并致力于推广Eclipse和开源工具来支持模型驱动开发的使用,他前几天又给我推荐了MDD Day的一些资料,我把这些资料的一些内容汇集了一下。对于我来说,这些内
原创
2010-11-16 12:05:00
862阅读
模型驱动开发Model Driven Development (MDD) 是一种以模型作为主要工件的高级别抽象的开发方法,模型在工具的支持下,被作为核心资产被转换成代码或者可运行配置。现在软件业存在多种MDD开发方法,本篇将对MDD进行概要介绍。
定义
在过去多年,软件开发面临了多个挑战,新的需求和存在系统不断增长,系统也变得越来越复杂,以至于我们很难及时的构建它们。为了解
原创
2010-09-20 11:22:00
1184阅读
在代码生成(Code Generation)介绍中说到模型可以通过代码生成技术和模型解释两种方法在领域框架运行,本篇主要介绍一下这两种方法的利弊。
示例
对于UI界面,我们基于模型驱动开发可以采用代码生成和模型解释来生成运行程序。
代码生成:通过模型,直接生成窗体类,生成的窗体类与传统手工写的代码类似
模型解释:在OpenExpressA
原创
2010-10-12 10:24:00
988阅读
在实现模型驱动开发中,我们可以解释模型直接运行在领域框架之上,也可以把模型通过代码生成技术转换成代码之后编译运行在框架之上。这两种方式都有利弊,可以搭配使用,在OpenExpessApp中将采用这两种方法,类库通过代码生成,UI等元模型通过框架解释执行。由于代码生成是MDD中很重要的一项技术,所以本篇我将介绍一下代码生成相关的知识。
模型驱动中的代码生成
在EMF中,Metamodel为E
原创
2010-09-27 21:52:00
969阅读
工厂是一个使用标准部件、工具和生产流程来规模化生产产品设备的组织,它广泛用在工业中,然而在软件开发行业中却很少提起。现在我们写的很多应用共性大于差异,但是我们仍然需要从头开始构建任何一个项目,这是非常低效的。由于没有一种方法可以让我们像工业上一样进行规模化生产,我们就需要不停地重复着一些代码工作,规模化一直是我们需要解决的主要问题之一。
几年前看过两本介绍软件工厂方面的书籍S
原创
2010-09-25 13:36:00
1080阅读
在年度总结和计划:去年4个1,今年5个1中我说过今年下半年开始我要开发1个元模型引擎(OpenMetaEdit),现在方案已更改,我在OpenExpressApp make business engineers develop applications中说到我现在将先使用Eclipse的GMF来实现一个架构工具。
今年我花时间学习了一下企业架构框架-TOGAF.pdf,并在项目组中应用,已经
原创
2010-11-03 17:01:00
972阅读
模型驱动软件工厂的概念现在在软件行业越来越多了,OpenExpressApp的目标也是做一个类似的东东,本篇给大家介绍另一个模型驱动软件工厂的应用平台SoftFluent。
软件开发的挑战
常用方法
失败原因
技术缺乏
经
原创
2011-03-17 17:01:00
952阅读
OpenExpressApp是我前年开始写的一个框架,最近没有怎么更新,有些关心的朋友还问我进度以及是否停止了,在这里我想和大家说的是,OEA还一直在做着,我的目标并没有因为我的精力分布较多而改变,OEA仍旧是我主要的关注点。
去年我主要是在OpenExpressApp的建模方向上花了一个半月时间,也写了一些文章,在这里我把我对模型驱动软件工厂相关的一些内容,通过在线的方式与大家分享一下。如
原创
2011-03-17 23:12:00
943阅读
软件业对软件工程期望之高,涉及高度的复杂性,高效的生产效率和质量,以及便于有效地维护和改进。但是,当前的软件工程并不能满足这些目标,现在很多开发更像手工作坊的“一种一个”的解决方案,而不像一个成熟的工程,而模型驱动和产品线工程就是应对这些问题的方法。在模型驱动开发(MDD)介绍中介绍过现在存在多种模型驱动开发方法,而Generative Programming
原创
2010-09-28 23:37:00
550阅读
B/S应用在现在企业级管理软件应用开发已经越来越普遍了,OpenExpressApp也早就有打算来支持B/S应用。关注过OEA的朋友都应该知道,OEA的 目标是一个模型驱动开发平台,所以在进行B/S技术学校之前,我当然是先去看看是否已经有B/S相关的模型了。通过网络搜索,找到了WebML,这是一个 是适用于数据应用的Web开发的特定领域语言。我花了一
推荐
原创
2011-06-07 11:07:30
1660阅读
点赞
1评论
OpenExpressApp(开源信息系统开发平台之OpenExpressApp框架.pdf) 的建模,打算是基于GOPPRR模型来做的,为了支持更灵活的画图,所以采用了直接使用GEF。这是使用GEF做的一个示例截图,今天我把它上传到 sourceforge ,取名为 OpenGraphicEditor。本篇文章将对OpenGraphicEdit
推荐
原创
2012-01-04 18:10:48
1935阅读
点赞
1评论
在MDSF:架构工具简要功能说明中说到我要做一个支持TOGAF的架构工具,本篇介绍一下如何使用GMF来做一个简单的建模工具。
前提知识
如果你还不知道生成建模工具的基本过程以及基础知识,请先看GMF:示例Mindmap 练习一
领域元模型
由于TOGAF建模工具使用的架构语言是ArchiMate,所以领域模型可以参考Archimate语言。在企业架构语言ArchiMate.pdf中
原创
2010-11-22 09:36:00
1380阅读
在读书笔记:Visual Studio DSL工具特定领域开发指南中介绍了特定领域开发的一些相关技术有:模型驱动开发 MDA、面向语言编程 LOP 、语言工作平台 Language Workbenches 、特定领域建模 DSM 、产生式编程 Generative Rrogramming 、意图软件 Intentional Software
原创
2010-09-17 11:07:00
1763阅读
好几年前看了JetBrains的CEO Sergey Dmitive一篇文章Language Oriented Programming - The Next Programming Paradigm才开始知道LOP的,当时也试用了MPS,觉得眼前一亮。到现在隔了好几年了,对LOP的具体内容也有点忘记了,而近期在思考OpenExpressApp的模型驱动开发(MDD)方面的内容,所以
原创
2010-09-30 12:33:00
814阅读
在上一篇面向语言编程LOP(Language Oriented Programming)方法介绍中介绍了LOP以及一种LOP的实现方法MPS,本篇主要讲解一下使用MPS1.5的一个示例,以便大家能更好的理解是如何使用MPS实现LOP项目的。
需求
计算一个Java/PHP开发人员的收入,输入在Java和PHP项目投入的时间,计算器自动计算收入值,界面表示如下:
目标
通过写
原创
2010-10-13 11:11:00
1507阅读
MDSF:DSL(Domain Specific Language)介绍 前面介绍过模型驱动开发(MDD
原创
2023-04-18 08:40:55
373阅读
在MDSF:特定领域建模 DSM(Domain Specific)介绍中提到过Ecore是EMF的元元模型,要使用Eclipse来做DSL,则必须先大致了解一下Ecore,本篇将对Ecore进行概要的描述。
简单的Ecore元模型子集
Ecore本身是一个简单的小的UML子集
EClass:领域类,它有名称,一个或多个属性,一个或多个引用
EAttribute:领域
原创
2010-10-20 16:43:00
2606阅读