什么是DSM

来源:百度知道 编辑:UC知道 时间:2024/06/02 23:54:16

DSM:Domain-Specific Modeling
板桥里人 http://www.jdon.com 2006/5/1(转载请保留)

当DSL(Domain-Specific Languages)诞生时,不少人比较激动,欢呼一个新的语言时代到临。其实,这不是计算机领域的新语言,而是一种新的建模语言。

DSL是一种专门供领域建模专家(也就是系统分析师)使用的语言,这些领域专家不同于程序高手,他们有一套自己认知世界和表达世界的思维和方式(如UML),因此,他们不感兴趣于软件设计细节,希望软件能够按照他们分析设计的结果去运行和执行就可以了。

其实,现如今在Java和.NET分治天下软件语言之时,不可能再有对和Java等同样层次的新语言的新需求, 因为大家都已经经历过优美动人的语言故事,新语言陷阱是每个人理性的认识。因此,聪明的专家发现,DSL特征不是发明新轮子,而是提供一种面向领域建模方便的工具语言,类似UML,但UML不能再胜任这样的工作(见UML和Java的阻抗),MDA有待进一步完善提高,建模专家需要的是DSM(Domain-Specific Modeling)。

提高开发生产效率

按照软件生产效率研究(Software Productivity Research), Java的平均生产率仅比BASIC高20%, C++不会好过Java,当今Java和.NET语言纷争带给程序员很多选择的痛苦,我们把更多注意力关注在对象、组件和框架(objects, components, and frameworks)等概念上,但是开发效率并没有比20年前有显著增长,从汇编语言到BASIC是400%的增长,在当前21世纪,我们应该怎样完成这样的跳跃式发展?

UML能否胜任?

象UML这样传统的建模语言并不能提高软件生产率,你需要在两处维护信息系统:语言代码和UML模型,为保持一致来回奔命,我们知道,java/C++/BASIC都将被编译器编译成