In the highly competitive and demanding world of software development, the object-oriented technique stands out in its potential for software reuse and in its potential to turn the analysis, design and implementation of general software systems into a truly seamless process.