A disciplined object-oriented approach involves developing a program by designing its component classes and specifying the manner in which those classes will interact. This strategy differs from the standard structured approach. The traditional structured approach views a system in terms of the tasks it performs and thus strives to code the functions and procedures that implement those tasks. The building blocks of such programs are its functions, and the programmer develops them by focusing on the verbs of the problem statement [1]. An object-oriented designer focuses on the types of objects that need to interact to perform a function. In other words, there is a heavy emphasis on the nouns of the problem statement which the designer translates into the program’s classes. Objects created according to these classes perform their tasks using the methods packaged within them, If one considers that the physical world consists not of independent actions but rather of actors that perform actions, it becomes clear that developing programs from an object-oriented perspective more closely parallels real physical systems. Software classes, like physical entities, encapsulate both data (characteristics) and methods (behaviors).