Why Object-Oriented Development Methods?
The Semantic Distance Problem
“Real” world semantics versus programming language semantics.
“Our ability to reason is constrained by the language in which we
The purpose of a program or software system is to execute some
process or set of operations defined in the “real” world.
Selling a customer a book
Assigning a student to a class
Moving the arm of a robot.
System operation is defined as a sequence of real world actions.
Software systems written in procedural languages express
processes and operations in terms of operations on integers,
Control flow is defined in terms of whiles, for loops, etc.