Many Learning Management Systems (LMS) have been developed and made available, and thereby attracted a significant amount of users and efforts. Part of the users of LMS are experienced educators with a refined understanding and criticism about the effectiveness of a LMS. This refined experience also improves their expectations about general and specialized features and requirements that the LMS should support, specially if we consider the technological progress and possible improvements in such environments. Regarding the two main roles involved in the development or customization of LMS, it is observed a gap between the requirements specification level and the design decisions related to the technical development. Such gap may hinder the satisfaction of both authors and even students. On the other hand, it is observed that there is little work to provide facilities and appropriate software tools to guide the effective engagement of educators in the development process of these environments. Therefore, it is necessary to organize and represent appropriately the aforementioned understanding and knowledge concerning the state of the art about LMS, together with some possibilities to invest, for example, in designing a reference architecture for LMS in order to support the development process of these environments related to important design decisions, such as performance and scalability. For motivating this topic, some questions immediately may emerge: i) What would be the most appropriate representation in terms of expressiveness and readability of a conceptual model of LMS to support educators in developing an LMS? ii) What would be the most appropriate representation of a software architecture for LMS to support the software developer? iii) How to provide a mapping from the requirements defined by the educator and the design decisions related to software development? In order to fill the gap between the educator and the software developer, the proposed solution consists of three complementary parts, which aim to answer the three aforementioned questions: (i) a conceptual representation, which contains the functional requirements of a LMS, designed to support educators on choosing the desired services of an LMS that meets his/her needs; (ii) a reference architecture, designed for supporting important quality attributes at design time. Thus, the model can be seen as a knowledge base for (iii) a recommender intelligent assistant that recommends a proper software architecture, based on the system requirements provided by the educator's preferences. The recommended architecture follows a component-based style and is detailed in lower-level components derived by using the UML Components process. Therefore, the presented work can also be seen as a framework suitable to perform evaluations and comparisons between LMSs, and serves to guide and facilitate the development of new environments or customized solutions meeting the specific demands of educators. An assessment for the proposed approach was made through a case study that was used to explore the features of the three main components developed, obtaining a preliminary, but satisfactory result on the work presented here.