Why Did OO Arise?
Modeling in analysis and software design and languages for programming originally focused on process. But many metrics and results indicated the process approach was problematic and a limiting factor in what could be achieved, perhaps by several orders of magnitude, which led to the software crisis [Booch 87]. Software engineering then began striving to achieve an industrial strength process and degree of advancement and object-orientation provided the means. The inclusion of objects to better represent concepts and process offers a superior capability that can be viewed as an improvement over the older (structured) techniques, or as a totally reengineered breakthrough advance resulting from philisophical inquiry and methodological improvement, the latter in terms of both pedagogy and pragmatics.