Difference between Function-Oriented and Object-Oriented Design

  • Unlike function-oriented design methods, in OOD, the basic abstraction are not real world functions such as sort, display, track,etc.. , but real-world entities such as employee, picture, machine, radar system, etc.
  • For example in OOD, an employee pay-roll software is not developed by designing functions such as update-employee record, get-employee-address, etc. but by designing objects such as employees, departments, etc
  • In object-oriented design, software is not developed by designing functions such as update-employee- record, get-employee-address,etc.. , but by designing objects such as employee, department, etc.
  • In OOD, state information is not represented in a centralized shared memory but is distributed among the objects of the system
  • For example, while developing an employee pay-roll system, the employee data such as the names of the employees, their code numbers, basic salaries, are usually implemented as global data in a traditional programming system; whereas in an object-oriented system these data are distributed among different employee objects of the system.
  • Objects communicate by passing messages. Therefore, one object may discover the state information of another object by interrogating it. Of course, somewhere or the other the real-world functions must be implemented.
  • Function-oriented techniques such as SA/SD group functions together if, as a group, they constitute a higher-level function. On the other hand, object-oriented techniques group functions together on the basis of the data they operate on

Leave a Reply