difference between system design and object oriented design
Asked Answered
D

4

7

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?

Degression answered 19/11, 2017 at 9:16 Comment(0)
F
5

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

Fleck answered 25/7, 2018 at 22:35 Comment(0)
C
2

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.

Classy answered 5/1, 2021 at 14:53 Comment(0)
N
1

System in System Theory can be everything. (Facets of Systems Science, George Klir, 1991) System is on TOP of TREE, Superclass of other categories.
In overall, System Development included 2 major phases:

1- System Analysis: including Planning, requirements, analysis and etc. These items related to specific methodology in system theory.

2- System Design: including design, implementation, test, deploy, maintenance and etc.

As I said, System can be everything. For example:
Mechanical systems, Psychological systems, Social systems, Aircraft Systems and so on. Each category may have detailed and specific analysis and design steps based on mentioned 2 major phases.

In computer world, Software Systems is one of System categories. Each software Analysis and Design method is based on mentioned 2 major phases too.

Additionally, In Software Systems, we have some paradigms to analysis and design like:
Structural/Process Centered
Data Centered
Object Oriented
Service Oriented
and etc.

Each of them has it's own Analysis and Design Steps. These steps are based on 2 major phases as well. But in details, they have some differences.

To sum up, Systems Analysis and Design is a big picture to all other type of systems. Learning System Analysis and Design helps to understand all other systems analysis and design and specially helps to compare and evaluate them.

Nodical answered 24/11, 2017 at 21:39 Comment(0)
G
0

Objects are parts of a system. You can think Object Oriented Design is a part of System Design. You can design a system in high level (with overview) or in low level (with details). It will highlight

  1. Infrastructure
  2. Data flow management
  3. Services
  4. Cache management
  5. Request/response management etc

When doing object oriented design you can think that you have to use some objects and making relations among them. But before making object you need to design some classes. So actually OOD (object oriented design) is

  1. Designing class diagram (optional)
  2. Making some classes
  3. Making relations among classes
  4. Using classes for creating objects
  5. Implementing the purpose (basic functions and logics) etc
Giraffe answered 24/9, 2019 at 5:58 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.