Abstract
This paper presents a methodology for an efficient development of software for various platforms by using the concept of aspects, components and model driven architecture. In the proposed methodology the analysis of the whole software is performed so as to separate aspects and identify independent components. Then comes the designing phase where the modules identified in the previous phase are modeled without any correlation of the platform on which it has to be build using UML. Then comes the third phase in which different platform specific models and the code artifacts are generated from these independent models. This separates all the concerns from the business logic and provides a proper understanding of different modules that are to be developed well before the start of the coding phase thereby reducing the burden of artifact design from the developers.