Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

difference between system design and object oriented design

can someone please explain the difference between system design and object oriented design?

Object oriented design involves object modeling and uses object oriented concepts such as Abstraction, Encapsulation, Decomposition and Generalization. Both of the design involves Architectural design and conceptual design.

Is one of the design paradigm subset of other?

like image 489
Prashant Bhanarkar Avatar asked Nov 19 '17 09:11

Prashant Bhanarkar


People also ask

What is system design in object-oriented?

Here, the emphasis is on the objects comprising the system rather than the processes in the system. Object Design. In this phase, a design model is developed based on both the models developed in the system analysis phase and the architecture designed in the system design phase. All the classes required are identified.

What is difference between OOA and OOD?

Object-oriented analysis (OOA) applies object-modeling techniques to analyze the functional requirements for a system. Object-oriented design (OOD) elaborates the analysis models to produce implementation specifications. OOA focuses on what the system does, OOD on how the system does it.

What is system design in UML?

System DesignThe static context of the system is designed using a simple block diagram of the whole system which is expanded into a hierarchy of subsystems. The subsystem model is represented by UML packages. The dynamic context describes how the system interacts with its environment.

Is object-oriented design same as low level design?

LLD talks about the class diagrams with the methods and relations between classes, program specs and other low level details for a given system. It is also known as Object Oriented Design (OOD).


2 Answers

System design is the designing the software/application as a whole [high level] that may include analysis, modelling, architecture, Components, Infrastructure etc. whereas the objected-oriented design is the set of defined rules/concepts to implement the functionalities within a software.

Take an analogy, a football game.

So the System design involves the design of football ground, goal poles, grass on the ground, location of the ground, length/breadth of the ground, putting line marks on the ground, scoreboard, defining the playing teams, number of players to play etc.

Now, take object-oriented design: how the games need to be played is defined by a set of rules that need to be followed. Thus the players need to play the game within the defined rules. So the more the player knows those rules the better they can play the game without making fouls. Similarly, the rules for the object-oriented concepts are inheritance, composition, abstraction, encapsulation. Thus the better we know these concepts the better design we can make.

@Prashant, hope it explains a bit

like image 184
Ajeet Kumar Avatar answered Oct 03 '22 18:10

Ajeet Kumar


Let's say you want to design an online shopping web Application (like amazon.com). So before making that web application you have to think of :

  1. load balancing to handle the user requests,
  2. database whether to use SQL or NOSQL,
  3. whether to use cache like Redis or not,
  4. making microservices for the different tasks ( like notification service, order processing service etc.)
  5. monitoring your web application (like memory, cpu etc.),
  6. logging (say in sumoLogic).
  7. CI/CD

So all these will fall under system design as they are required for any system to work.

Now once you finalized all these things and went to implement (writing code) any part of the system then you can follow the Object-oriented design to make classes, interfaces etc.

For example, you started implementing the notification microservice ( say in Java), so now you have to design classes, interfaces etc., and for this, you can use the object-oriented design principles like SOLID.

So we can say that object-oriented design is a part of system design which comes into picture when we start working on the actual implementation for any part of the system.

like image 31
Kirti Kunal Avatar answered Oct 03 '22 19:10

Kirti Kunal