MDA & CASE: Not Bad News

In his Feb 2004 article in Software Development Magazine on Whatss New in UML 2, Scott Ambler is not very optimistic about MDA-Model Driven Architectures and the legacy of CASE tools. Scott notes: Having seen Integrated computer assisted software engineering (I-CASE) tools crash and burn in the 1980s and considering the shallow pool of expert modelers, I hold little hope for MDA. If Scott is talking about systems that must run first-time, with little or no modification – then I agree with Scott. – MDA is heading for the 60 year Wreckage Site known as Over Hyped Soft Wares. (See Grady Boochs article in the August issue of Software Development Magazine for a counter viewpoint – 7 Reasons Why MDA Mskes Sense.)

On the other hand if one targets substantial code generation with user customization as being the target – with reduced development time, slashed coding error by use of tested/trusted components and generation frameworks, plus reduced non-standard style and/or functionality – then I would beg to differ. There is a rich set of components, patterns, and code generation tools that do deliver all three of these benefits to development projects. And some of these tools and methods are being tied into a top down, MDA approach towards designing and changing systems.

As long as the expectations of what can be produced are not oversold (or for that matter over-priced), there are some substantial improvements in productivity to be obtained from CASE and/or MDA tools. However do not look for them to be labeled as such. For example, Visual Studios Designers (with the proviso of a security caveat if you get generated ActiveScripting or ActiveX dependent code), NetBeans/Jbuilder/JDeveloper interface components with Code Completion are examples from the .NET and Java worlds of substantial code generation capabilities that are not identified as CASE tools. In the world of Web Development, there are numerous vendors who have taken templates of highly customizable (but also tested and trustworthy code) and deliver a broad range of n-tier web applications. Take a look at Yes Softwares CodeCharge Studio, Altio Designer or Interakts Impakt for just a quick sampling of what is available.