Data mining systems are mainly built to assist users to automatically abstract useful information from large data sets. Thus, they often lack supports for other important practical considerations commonly used in software development (e.g., ease of software modification and maintenance, and portability of resulting models). This paper studies principles for the development of data mining systems from software engineering perspectives. In particular, we propose a framework architecture that provides four desirable characteristics: extensibility, modularity, flexibility and interoperabity. The architecture utilizes a design pattern called Pipes and Filters together with data replication to provide loosely coupled structures for the systems. It also facilitates interoperability and reusability of the resulting predictive models obtained from the mining process by means of appropriate interface mechanisms. The proposed architecture promises important advantages that can enhance the usability of data mining systems.