Difference between Function Oriented Design and Object Oriented Design
Last Updated :
03 Jan, 2025
Function-oriented design focuses on defining and organizing functions to perform specific tasks, starting with a high-level description and refining it step-by-step. It uses a top-down approach and often relies on structured analysis and data flow diagrams. On the other hand, object-oriented design emphasizes the data to be manipulated, organizing the software around objects that combine data and behavior. This approach uses a bottom-up strategy, beginning with identifying objects and classes, and often employs UML for design.
What is Function Oriented Design?
Function-oriented design is the result of focusing attention on the function of the program. This is based on the stepwise refinement. Stepwise refinement is based on the iterative procedural decomposition. Stepwise refinement is a top-down strategy where a program is refined as a hierarchy of increasing levels of detail.
We start with a high-level description of what the program does. Then, in each step, we take one part of our high-level description and refine it. Refinement is actually a process of elaboration. The process should proceed from a highly conceptual model to lower-level details. The refinement of each module is done until we reach the statement level of our programming language.
What is Object Oriented Design?
Object-oriented design is the result of focusing attention not on the function performed by the program, but instead on the data that are to be manipulated by the program. Thus, it is orthogonal to function-oriented design. The object-oriented design begins with an examination of real-world "things". These things have individual characteristics in terms of their attributes and behaviors.
Objects are independent entities that may readily be changed because all state and representation information is held within the object itself. Objects may be distributed and may execute sequentially or in parallel. Object-oriented technology contains the following three keywords -
- Objects: Software packages are designed and developed to correspond with real-world entities that contain all the data and services to function as their associated entity messages.
- Communication: Communication mechanisms are established that provide how objects work together.
- Methods: Methods are services that objects perform to satisfy the functional requirements of the problem domain. Objects request services of the other objects through messages.
Difference Between Function Oriented Design and Object Oriented Design
COMPARISON FACTORS | FUNCTION ORIENTED DESIGN | OBJECT ORIENTED DESIGN |
---|
Abstraction | The basic abstractions, which are given to the user, are real world functions. | The basic abstractions are not the real world functions but are the data abstraction where the real world entities are represented. |
Function | Functions are grouped together by which a higher level function is obtained. | Function are grouped together on the basis of the data they operate since the classes are associated with their methods. |
execute | carried out using structured analysis and structured design i.e, data flow diagram | Carried out using UML |
State information | In this approach the state information is often represented in a centralized shared memory. | In this approach the state information is not represented in a centralized memory but is implemented or distributed among the objects of the system. |
Approach | It is a top down approach. | It is a bottom up approach. |
Begins basis | Begins by considering the use case diagrams and the scenarios. | Begins by identifying objects and classes. |
Decompose | In function oriented design we decompose in function/procedure level. | We decompose in class level. |
Use | This approach is mainly used for computation sensitive application. | This approach is mainly used for evolving system which mimics a business or business case. |
Similar Reads
Characteristics of Good Object Oriented Design Object-Oriented Design (OOD) is a way of designing software that focuses on objectsâthings in the real world that your software will interact with. Instead of writing code that deals with each step of the process separately, you group related parts together into objects. Each object has data (inform
6 min read
Top 10 Object-Oriented Programming Languages In the present world, almost all sectors make use of software applications or computer programs that require to be coded. Programming Language is a set of instructions used in specific notations to write computer programs. It, basically tells the computer what to do. All Programming languages are no
9 min read
8 Tips For Object-Oriented Programming in Python OOP or Object-Oriented Programming is a programming paradigm that organizes software design around data or objects and relies on the concept of classes and objects, rather than functions and logic. Object-oriented programming ensures code reusability and prevents Redundancy, and hence has become ver
6 min read
A Step-by-Step Approach to Learn Object Oriented Programming Object-Oriented Programming or OOP's refers to the language that uses objects in programming. It is primarily concerned with the implementation of real-world entities such as inheritance, polymorphism, etc. in programming. For instance - in the class of Living Things; Humans, Animals, Plants, Microo
5 min read
Difference between Functional Programming and Object Oriented Programming What is Functional Programming?In functional programming, we have to build programs using functions. An example of functional programming is Haskell language.What is Object Oriented Programming?Object-oriented programming is built by using classes and objects. In this, we have concepts of encapsulat
3 min read
Difference between OOP and POP Object-Oriented Programming (OOP)OOP treats data as a critical element in the program development and does not allow it to flow freely around the system.In OOP, the major emphasis is on data rather than procedure (function).It ties data more closely to the function that operate on it, and protects i
5 min read