Currently, one of the most important challenges in the Software Engineering (SE) community is the development of quality systems. Quality is a software property that is composed of different characteristics. From all these characteristics, this PhD thesis focuses on usability. SE focused historically on problems related to functionality and persistence, pushing into the background interaction issues and more specifically, usability. This gap has been fixed by the Human-Computer Interaction (HCI), which has proposed a set of recommendations to improve usability in systems. Some of these recommendations must be considered from the very early software development steps in order to prevent changes in the system architecture once this architecture has been designed. This type of recommendations is called Functional Usability Features (FUF). The incorporation of FUFs from the early steps of the software development process increases the complexity of systems construction because the analyst has to deal with more issues. This PhD thesis presents a solution based on model transformations. The goal of this thesis is to define a method (called MIMAT) to include FUFs in a Model-Driven Development (MDD) software development process. For this aim, the document studies in depth the changes that the MDD designer must apply to the MDD method in order to enrich the software development process with FUFs. Once FUFs has been included, the analyst that works with the MDD method can use those new usability features to develop future systems. The main advantage of this proposal is that the analyst can include usability features by means of conceptual models, relegating the code generation to model-code transformations. MIMAT has been applied to a specific MDD method, called the OO-Method, in order to demonstrate its feasibility. Moreover, the effort of the MDD designer in order to include FUFs has been justified by means of an empirical experiment. This experiment concludes that the user’s satisfaction improves after including FUFs in the software development process.