티스토리 뷰

Software Engineering

소프트웨어와 프로그램의 차이 및 구분

꿈을 위해 잠을 잊은 그대에게 2020. 4. 1. 22:10

소프트웨어와 프로그램, 데이터의 구분

 

프로그램은 순차적으로 진행되는 소프트웨어를 말합니다.


많은 경우 소프트웨어와 프로그램을 같은 격으로 취급합니다. 그러나 둘은 명확한 차이가 있습니다. 프로그램(Program)은 소프트웨어의 한 종류로 계획된 내용에 따라서 순차적으로 진행되는 소프트웨어를 뜻합니다. 데이터(Data=자료)는 순차적인 진행과정이 필요 없는 단순한 내용 자체를 뜻합니다. 물론 데이터 역시 소프트웨어의 한 종류에 속합니다.

결혼식을 생각해봅시다. 결혼식은 정해진 순서에 따라서 한 단계씩 진행됩니다. 이때의 정해진 순서를 식순 또는 프로그램이라고 합니다. 시청자가 시청하는 방송 내용도 방송 프로그램이라고 말합니다. 정해진 시간에 맞추어서 순차적으로 진행되기 때문입니다.

그러나 종이에 아무렇게나 쓴 낙서나 그림을 프로그램이라고 말하지 않습니다. 결혼식 프로그램의 한 과정으로 주례가 하는 주례사의 인사말도 프로그램이라고 말하지 않습니다. 아무렇게나 쓴 낙서나 문학성이 뛰어난 시, 주례사 내용은 자료일 뿐입니다.

데이터는 스스로 동작하지 못하는 소프트웨어입니다.


컴퓨터에서 사용하는 소프트웨어 역시 프로그램과 데이터로 구분됩니다. 테트리스라는 게임을 한다고 생각해봅시다. 테트리스(Tetris)라는 게임을 모르시는 분이 있다면 그동안 본 적이 있는 아무 전자오락이나 떠올리면 됩니다. 하여간 전자오락이 있다고 합시다.

테트리스라는 게임 또는 전자오락은 일정한 규칙에 따라 순차적으로 진행됩니다. 따라서 게임은 프로그램이며, 게임이 저장된 파일은 프로그램 파일이 됩니다. 파일의 개념에 관해서는 뒤에서 자세하게 설명드리겠습니다.

이때 테트리스라는 게임에서 뒷배경으로 사용하는 그림이나 벽돌 모양은 그림에 불과합니다. 이런 그림이 자료입니다. 다시 말해 게임의 배경그림으로 사용하는 그림 자료입니다.

우리가 컴퓨터를 이용해 만든 문서 파일은 자료입니다. 우리가 타자 친 문장이 들어있는 자료에 불과하며 이 문서 파일이 어떤 일을 하지는 않습니다. 그러나 이 문서 파일을 읽어들이고 종이로 출력해주는 워드프로세서(Word Processer=글틀)라는 프로그램은 문서 파일을 불러오고 종이로 출력하기 위하여 정해진 규칙에 따라서 순차적으로 작업을 실행합니다. 그래서 아래아한글이나 MS워드, 훈민정음 같은 워드프로세서 프로그램을 프로그램이라고 하는 것입니다.

프로그램과 데이터는 소프트웨어의 두 축입니다.


따라서 소프트웨어의 범위 안에 프로그램이 있고, 데이터가 있습니다. 프로그램은 정해진 규칙에 따라서 어떤 일을 하는 소프트웨어이고, 데이터는 스스로는 아무런 동작도 하지 못하는 소프트웨어입니다. 데이터는 프로그램에 의해서 수정되고 출력될 뿐입니다. 데이터는 프로그램을 실행시킨 후에 프로그램에 의해 자동으로 또는 사용자에 의해 수동으로 불러오기 때문에 소프트웨어를 실행시킨다는 말은 곧 프로그램을 실행시킨다는 말과 같습니다. 이 때문에 프로그램을 소프트웨어와 같은 개념으로 혼용하는 것입니다. 그러나 소프트웨어와 프로그램, 데이터의 의미는 명확하게 다르다는 사실을 알아두시기 바랍니다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크