  One of the goals of software design is to model a system in such a way that
it is easily understandable. Nowadays the tendency for software development is
changing from manual coding to automatic code generation; it is becoming
model-based. This is a response to the software crisis, in which the cost of
hardware has decreased and conversely the cost of software development has
increased sharply. The methodologies that allowed this change are model-based,
thus relieving the human from detailed coding. Still there is a long way to
achieve this goal, but work is being done worldwide to achieve this objective.
This paper presents the drastic changes related to modeling and important
challenging issues and techniques that recur in MBSD.
