This article describes the construction of a Knowledge Management System (KMS) by applying fundamental concepts and principles of Software Engineering, such as process, models, methodology, technology and architectures, among others. They are applied to the field of Knowledge Management as a means of improving the process of developing applications in this domain, in an endeavor to increase its effectiveness. This paper's main contribution is a methodological approach progressing from knowledge processes to a set of appropriate systems. The use of modeling techniques and technologies that may prove helpful to the Software Engineer are suggested as part of this approach, while the technological, social and organizational aspects to be considered are highlighted. This proposal was evaluated through the development of a Knowledge Management System for a Venezuelan organization