In our paper we discuss a system which takes advantage of the possibilities of object oriented software design and implementation on the one hand and it assists the users in using the same pieces of software several times on the other hand. This is the so called software reuse, which is applied not only to the code and executable parts of software, but to all results appearing during the life-cycle of a software product. A multiuser system is with persistent knowledge about all aspects of the software to be implemented during its life-cycle. The persistent knowledge of object repositories is used y possibly different users having a web of shared understanding to result in collaborative problem solving.