Component-Based Development (CBD) and Domain Engineering (DE) are important approaches for software reuse. In a DE process, components are specified in a high abstraction level, within a component architecture specification. When components are reused during an Application Engineering (AE), they are composed with each other and third-party components. However, conflicts usually occur and they must be considered as early as possible, otherwise they may jeopardize the defined architecture. This work proposes a set of functionalities for development with components, with focus on the support for the adaptation and composition functionalities. These were included in Odyssey, an environment that supports DE and AE processes. A preliminary study on the use of these functionalities is also reported.