The use of new technology must be combined with modern teaching practices to be effective. Collaborative learning is a general term employed for a variety of classroom practices designed to foster shared responsibility for a course. The teaching/learning process of software/database modeling subject areas can be greatly improved through the application of collaborative learning, but there are some difficulties for using this kind of practice in conventional classrooms. In this paper, we introduce a cooperation model based on distributed and written communication among collaborative partners through the use of a computersupported environment. The cooperation model provides a general framework for structuring collaborative learning activities in modeling courses in general, and for developing computerbased supporting environments. A prototype targeted at OO design courses illustrates a computer-supported learning environment based on the cooperation model.