  One of the goals of Software design is to model a system in such a way that
it is reused. Actively reusing designs or code allows taking advantage of the
investment made on reusable components. However development of domain specific
components and its impact on effort in terms of cost and time is still a
challenging issue. The component based technology has transformed over a period
of time from a simple component to the domain specific components. This paper
presents a state of art of the drastic change in component technology from
component engineering to domain engineering.
