Why do we need Model Driven Development ... ?
System software projects fail to deliver on project goals ... why?
- No system software architecture
- System software architecture based upon inconsistent, incoherent documentsThe 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 decisionsThe 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.