DEV Community


What is a system?

ben profile image Ben Halpern ・1 min read

I never feel 100% certain what people mean when they use the word “system”. It’s not that I don’t know what they are trying to communicate, but I’m often unsure what people specifically mean when they use that word in our industry.

Can someone unpack this for me?

Discussion (13)

Editor guide
renascent479 profile image

I use the term to define a grouping of items that share a common purpose or goal.

stealthmusic profile image
Jan Wedel

That’s actually a pretty good one ☝️
I would probably add „at a higher abstraction level“ because a group of lines of code also serve a common purpose...

bladefidz profile image
Hafidz Jazuli Luthfi

Hi, I am agree with you. Gilbert Strang give great insight about how we look 'system' in the context of mathematical abstraction:

Any linear system such that Ax+B=C can be looked as Matrix. By using Matrix, we can solve linear system using least square method. This how Matlab work.


khophi profile image

I think the word "System" on its own will be hard to unpack without context.

The context in which the word System is used, is where and how the understanding will be made.

Solar System - Solar is the context

Operating System

Angular Module System


but I’m often unsure what people specifically mean when they use that word in our industry.

I think what they specifically mean will be obvious in the preceding conversation that's been happening.

bladefidz profile image
Hafidz Jazuli Luthfi • Edited

Hi, I am totally agree with you. In the context of engineering, or especially in computer engineering:

System can be looked as higher level of implementation complexity such that any abstract concept that follow architecture design can be applied.

I love used information theory as an example. At 1948, Claude Shannon surprise communication engineering world by offering 'system solution' to achieve minimum communication error. Yet, his great idea let many universities to open new study in 'information system' where many young people 'hopefully' capable to implement mathematical concept in order to improve capability of any standard information architectures in the industry or invent their own information innovations.

I think 'machine learning' can be looked as innovation of information, since it open new field called as 'feature engineering' which reduce need of expert in the practice of information system.

mnivoliez profile image

Really depends.
For exemple you could be speaking of the ECS paradigme in wich a System is a logic center processing data element (component).
For non computer guys (or ladies) the term system may be refering the OS, or the workflow. And I may miss a lot of possibility. In you position, I'll take a guess based on the cultural environment and the profession of the person you are speaking to.

taitung profile image
Guo-Guang • Edited

I heard sale or business people using "Systems" as well but definitely not the systems IT people would think of like operating system, database system an etc. To them, what I can perceive is probably a set of rules interdepending with each other and eventually yielding the expected result. So, very hard to unpack the "system" here unless we were packed from the same source :). Interesting question though!

dmelidonis profile image
Dimitrios Melidonis • Edited

A system is literally a group of "things" that are "set up" together in a specific way.

In our industry that also implies that they were set up in order to achieve a purpose through their interactions.

It's a very broad term and can include anything really.

jrohatiner profile image

I try to keep it simple. I don't do any "unpacking" unless I'm installing a package in a project. I don't need to think about "environments" because a system is probably its own environment. I don't need to worry about resolving anything either. That's why I'm building the system -- to resolve the issue the system will address. Simple: (no googling involved)
Problem exists
Break down problem into smaller problems
map a solution
points on the "map" that is the solution are smaller solutions
Combine smaller solutions to maximize end result

problem + break down into smaller issues + solution map +combine and refine = SYSTEM

And this applies to any system of any kind.

cathodion profile image
Dustin King

I'd define it as a thing with one* or more interacting parts, considered together. But each one of those parts could be considered a system either by itself or consisting of smaller parts, or you could consider a different grouping. So it's a grouping for human understanding, not necessarily a perfect description of reality.

(* Would it make sense to call something with only one part a system? I would say yes, as long as it has some kind of behavior (such as input/output). But then this is just a human grouping, meant to allow the same kind of language we use to talk about multi-part systems to apply to single-part ones.)

phlash909 profile image
Phil Ashby

I'm with @kasperfred here, and interestingly have just been re-writing what /used/ to be our Software Development Life Cycle (SDLC) document to encompass the wider array of things we build (like products!), so it's now a System Development Life Cycle document. I'm wondering how many of my reviewers will notice?

kspeakman profile image
Kasey Speakman

I commonly use the word "system". What I mean by it is multiple applications working together to meet a business goal. We have many applications and services that contribute to the training process, for example.

k4ml profile image
Kamal Mustafa

Definitely the word can't stand on it's own and need a context. For example "system programming", which copying from wikipedia:-

System programming (or systems programming) is the activity of programming computer system software. The primary distinguishing characteristic of systems programming when compared to application programming is that application programming aims to produce software which provides services to the user directly (e.g. word processor), whereas systems programming aims to produce software and software platforms which provide services to other software, are performance constrained, or both (e.g. operating systems, computational science applications, game engines and AAA video games, industrial automation, and software as a service applications).