Creative/dynamic complexity can be managed with a governance process. (The governance process must be enabling and not confining.)

Governance more and more becomes a matter of managing risk in an innovative world; of balancing innovation and risk.

Overview of model-driven systems development

Model-driven systems development is the progressive, iterative refinement of a set of models to drive development of your system.

The benefits of modeling

Why do we model? We model to manage complexity, to simplify and abstract essential aspects of a system. We model so that we can test inexpensively before we build, so that we can erase with a pencil before we have to demolish with a sledgehammer.6

The models are the architecture—they provide us with multiple views of the system and promote our understanding.

Model-driven systems development leverages the power of modeling to address a set of problems that have plagued systems development. We discuss some of these problems in the sections that follow. MDSD uses a set of transformations to iteratively refine our models and our understanding of the system to be built.

Central problems MDSD addresses

MDSD addresses a core set of system development problems:

￿Overwhelming complexity: Managing complexity by managing levels of abstraction and levels of detail

￿Not considering appropriate viewpoints: Multiple views to address multiple concerns

￿System does not meet functional, performance and other system concerns: Integration of form and function

￿Lack of scalability: Isomorphic composite recursive structures and method to address scalability

6This is an adaptation of a quote from Frank Lloyd Wright: An architect's most useful tools are an eraser at the drafting board, and a wrecking bar at the site

4Model Driven Systems Development with Rational Products

Page 20
Image 20
IBM SG24-7368-00 manual Overview of model-driven systems development, Benefits of modeling, Central problems Mdsd addresses