UML/MDA技术研究

研究UML/MDA/软件工程技术,欢迎同道人互相交流。

袁峰ID:yuandafeng
106702次访问,排名814好友0人,关注者0
yuandafeng的文章
原创 56 篇
翻译 0 篇
转载 4 篇
评论 99 篇
袁峰的公告
如非声明,均属原创
转载请注明出处,谢谢!

  
   管理

与我联系

栏目

最近评论
qpzkzp:wow power leveling
qpzkzp:wow power leveling
papam:想拥有你自己的手机软件下载主页吗?风格,背景,幻灯片,广告位全部可定制化,独立子域名!

想制作自己个人DIY的手机写真集和手机电子书吗。

中国手机网姐妹站胖胖网
http://www.papam.cn
给您提供发布软件的最佳平台,优秀的软件还可能获得网站推广宣传哦!

欢迎前来交流!
yuandafeng:对啊,涵涛是这方面的专家,下次我买手机之前一定要好好咨询资讯你 :)
gehantao:欢迎尝试WindowsMobile!
欢迎光临我的博客http://blog.csdn.net/gehantao
文章分类
收藏
    相册
    网站
    JavaEye软工版
    MDACHINA
    OMG-MDA
    UMLCHINA
    相关英文blog
    Alan Cameron
    Andrej Koelewijn
    Cockburn
    Don Box
    Grady Booch
    H.S. Lahman
    Jean Bézivin
    Keith Short
    MartinFowler
    Stefan Tilkov
    Steve Cook
    Stuart Kent
    相关中文blog
    J2EE与ERP禅话
    MDA之路(RSS)
    矇矇的秘密基地
    阿飞外传
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 MDA和DSL:生来陌路?收藏

    新一篇: [转载] BPM武功密笈 | 旧一篇: UML:使用现状报告

    摘自hawkblog http://devhawk.net/MDA+And+Software+Factories++Separated+At+Birth.aspx

    我个人并不赞同他的观点,现存的困难和问题并不能掩盖未来的方向。

    为方便查看,原文拷贝如下:

     MDA And Software Factories - Separated At Birth?

    Tonight I went to the monthly meeting of the local chapter of IASA. I should have also blogged this before the meeting, but I forgot. Sorry about that if you live near the Microsoft campus and wanted to go. Next meeting is on 3/30, so mark your calendars.

    Anyway, tonight's topic was an MDA workshop featuring AndroMDA. AndroMDA is an open source tool for generating primarily J2EE code for *nix boxes using UML and MDA. (To be fair, the speaker - local chapter president Chris Sterling - demonstrated generating C# code as well. Of course, he ran it under Mono on a Linux box.) This provided a great launching point for a general modeling discussion that helped me get a few things straight in my head. Typically, the UML vs. DSL discussion turns religious pretty quickly. However, I believe that people - like those a the meeting tonight - who are achieving practical success with MDA in the real world are doing so by using a Software Factories style approach.

    First off, if you look at how most people use UML for MDA, the class diagram appears to be the most dominant model used. When I say "UML for MDA", what I mean is people using UML as a blueprint or as a programming language. While UML has 12 different model types, class diagrams make up the bulk of the modeling effort. (The bulk of AndroMDA code generation works off the UML class diagram, though the BPM4Struts cartridge uses Use Case & State models as well) The other 11 diagrams are primarily used for sketching purposes. That means you're only blueprinting the structural aspect of your system - which in turn means that all the system's behavior has to be implemented by hand. Now, this is not to say that factories suggests you should only model the structural aspect of your system. However, I think this indicates that most pragmatic users have realized MDA doesn't live up to the hype.

    Secondly, the class diagram that are used have to be heavily adorned with custom metadata - typically in the form of stereotypes - in order to be useful for code generation (i.e. blueprint) purposes. AndroMDA has a set of "cartridges" (essentially, target code generators) such as EJB, Hibernate and POJOs. Each of these cartridges has a supported set of stereotypes. While there is some overlap (for example, EJB and Hibernate cartridges both define the Entity stereotype). These stereotypes assign brand new semantics to the elements being modeled. In short, they turn the the generic class modeler into a domain specific modeler!

    It appears to me that the pragmatic MDA crowd is using the class diagram as a generic "ball and stick" editor. Model elements that aren't needed are ignored and elements that are needed are added via stereotypes. For example, you can use a class diagram to model a database. Certain elements of the model are ignored (Can a column have protected visibility? Can one table inherit from another?) while other elements specific to the domain being modeled are added (primary and foreign keys, indexes, etc). The problem with this approach is that all of the knowledge of how to build a valid model is in the user's head, rather than the tool. Typically, that means a lot of training as well as a lot of in depth understanding of the framework underlying the model in order to capture the right amount of information. Since all that domain specific information is trapped in the users head, they have to do a ton of menial drudge work. It's different drudge work from things like writing tons of data access code, but it's drudgery nonetheless.

    If you're going to need a tool specifically designed for your problem domain, why use a generic tool and a bunch of handwritten rules, when you can codify those rules into a domain specific language of your own? (I mean, other than the obvious "because the DSL Toolkit hasn't shipped yet")

    发表于 @ 2005年03月01日 21:43:00|评论(loading...)|编辑

    新一篇: [转载] BPM武功密笈 | 旧一篇: UML:使用现状报告

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 袁峰