AM2D Software Systems Consulting

Go to content

Main menu:


Why do we need Model Driven Development ... ?

System software projects fail to deliver on project goals ... why?

  1. No system software architecture
  2. System software architecture based upon inconsistent, incoherent documents 

The problem with the first point above is self evident: there is no guiding path or map for the project development. Design and development will lack organisation and synchronization, 
the project will progress in an ad-hoc manner at best; at worst it will be a chaotic debacle resulting in project failure.
Fortunately the complete lack of architectural input is not often found in most serious projects these days, and it is more likely to be point two above that will be encountered in problem projects ...

> System software architecture based upon inconsistent, incoherent documents :

Document based architectures emphasize controlling documents: which must be valid, complete, consistant, and must ensure that the implemention complies with all relevant document requirements e.g.

> operations document:     defines how the system will satisfy the project objectives
> functional analysis:         will decompose functions and allocate to components, processes, etc.
> diagrams/views:             
> requirements specification documents:   
> traceability documents:    maps requirements to architecture/design decisions

The document based approach to architecture provides a potentially rigourous method, but is difficult to maintain and enforce. It may well prove to be inconsistant and un-synchronized as it is dispersed across several (and more likely numerous) documents. Isolating and understanding a particular aspect of an architecture, a modification impact, or a traceability analysis can be laborious and error prone. This often results in inadequate (or no) synchronization between project components; resulting in the various stakeholder groups not being serviced with the information they need, and hence validation and verification of the system design becomes ineffective.

 ... how do we solve the problem? ...  Model Driven Development
Back to content | Back to main menu