Traditional vs. Object-Oriented Approaches

Object-oriented approaches to software development are an important expansion of procedural approaches. Java explicitly supports both approaches, but you should focus on the object-oriented approach. This article compares the two approaches and explains the fundamentals of each.

4. Object-Oriented Approach

4.1. Object-Oriented Approach: Analysis

The aim of the analysis process is to analyze, specify, and define the system which is to be built. In this phase, we build models that will make it easier for us to understand the system. The models that are developed during analysis are oriented fully to the application and not the implementation environment; they are "essential" models that are independent of such things as operating system, programming language, DBMS, processor distribution, or hardware configuration.

Two different models are developed in analysis; the Requirements Model and the Analysis Model. These are based on requirement specifications and discussions with the prospective users. The first model, the Requirements Model, should make it possible to delimit the system and to define what functionality should take place within it. 

For this purpose we develop a conceptual picture of the system using problem domain objects and also specific interface descriptions of the system if it is meaningful for this system. We also describe the system as a number of use cases that are performed by a number of actors. The Analysis Model is an architectural model used for analysis of robustness. It gives a conceptual configuration of the system, consisting of various object classes: active controllers, domain entities, and interface objects. The purpose of this model is to find a robust and extensible structure for the system as a base for construction. Each of the object types has its own special purpose for this robustness, and together they will offer the total functionality that was specified in the Requirements Model. To manage the development, the Analysis Model may combine objects into Subsystems [2].