Proponents of object-oriented programming (OOP) maintain that software should be written according to a mental model of the actual or imagined objects it represents. OOP and the related disciplines of object-oriented design and object-oriented analysis focus on modeling real-world interactions and attempting to create "verbs" and "nouns" which can be used in intuitive] ways, ideally by end users as well as by programmers coding for those end users.
Based on the understanding that the real-world can be modeled intuitively and naturally by using object oriented approach, the methods to model the real-world as it is and express it as the class diagrams are widely used. The real-world modeling, that is a genuine real-world modeling, can be applied to the following cases without any problem : 1)to express the real-world as the class diagram without the intention of the software development, 2)to develope the simulation softwares. But when developing a software that automate the businesses of the real-world (process support software), it is necessary to apply the pseudo real-world modeling. It models the original real-world (real-world before the automation) and create the model of the information on the objects that are processed by the business processes. As stated above, there are two forms of real-world modeling named genuine real-world modeling and pseudo real-world modeling. And they should be used in proportion to the property of the problem. But this has not been clearly thought until now. Many of the literatures on the object-oriented methodologies and techniques have persuaded to model the real-world as it is without considering the classificaton of the problem. These literatures use the "naive real-world modeling", that can be said the mixture of genuine and pseudo modeling, when the pseudo modeling should be used. As the results, the designers who believe these literatures are causing the following problems when creating the class diagrams for the development of the process support softwares : 1)mix the actors of system and classes in the system, 2)include unnecessary classes in class diagrams, 3)give unnecessary operations to the classes.