Component based software engineering (CBSE) represents an exciting and promising paradigm for software development, attracting much interest and effort from industrial practice and scientific research. Software components are one of the key issues in CBSE. While practical, the current component models are limited in providing support for CBSE. In this paper, we introduce a framework aimed at comprehensive interface modelling for software components in the context of CBSE. This framework deals with interface signature, interface constraints, interface packaging and configurations, and non-functional properties of software components.