Managing Complexity with MDSD

Managing Complexity with MDSD

Jorn Bettin (SoftMetaWare, USA)
Copyright: © 2006 |Pages: 31
DOI: 10.4018/978-1-59140-604-4.ch008


This chapter addresses the question of how to successfully create durable and scalable software architectures that enable the underlying design intent of a system to survive over a period of many years, such that no accidental dependencies are introduced as part of further software development and maintenance. The answer involves looking beyond object-orientation and traditional iterative software development. In order to prevent long-term design degradation, and in order to efficiently execute software development in the large, the introduction of dependencies between components needs to be actively managed, relying on a set of guiding principles for component encapsulation and abstraction. The guiding principles required turn out to be a natural extension to the principles of design by contract, they have a direct impact on the modular structure of software source code, and they form a foundation for model-driven approaches to software development.

Complete Chapter List

Search this Book: