본문 바로가기
Software Engineering/소프트웨어 공학

소프트웨어 분류

by 부뚜기 2023. 2. 25.
반응형

소프트웨어 분류

소프트웨어는 다음과 같은 다양한 기준에 따라 분류할 수 있다.

 

- 목적: 소프트웨어는 시스템 소프트웨어(예: 운영 체제, 장치 드라이버) 또는 응용 소프트웨어(예: 워드 프로세서, 게임)로 분류될 수 있다.

 

- 플랫폼: 소프트웨어는 네이티브 소프트웨어(특정 운영 체제용으로 설계) 또는 크로스 플랫폼 소프트웨어(여러 운영 체제에서 실행되도록 설계)로 분류될 수 있다.

 

- 배포: 소프트웨어는 설치된 소프트웨어(사용자 장비에 설치) 또는 클라우드 기반 소프트웨어(원격 서버에 호스팅 되고 인터넷을 통해 액세스)로 분류할 수 있다.

 

- 라이센스: 소프트웨어는 독점 소프트웨어(단일 엔티티가 소유) 또는 오픈 소스 소프트웨어(일반인이 접근할 수 있는 소스 코드와 함께 무료로 사용 가능)로 분류될 수 있다.

 

- 개발 모델: 소프트웨어는 전통적인 소프트웨어(폭포수 모델을 사용하여 개발) 또는 애자일 소프트웨어(반복적이고 적응적인 접근법을 사용하여 개발)로 분류될 수 있다.

 

- 규모: 소프트웨어는 소규모 소프트웨어(단일 사용자 또는 소규모 그룹을 위해 설계) 또는 엔터프라이즈 소프트웨어(대규모 조직을 위해 설계)로 분류될 수 있다.

 

- 사용자 인터페이스: 소프트웨어는 그래픽 사용자 인터페이스(GUI) 소프트웨어 또는 명령어 인터페이스(CLI) 소프트웨어로 분류할 수 있다.

 

이러한 분류는 다양한 유형의 소프트웨어의 특성과 한계를 이해하고 특정 요구에 가장 적합한 소프트웨어를 선택하는 데 중요하다.

 

소프트웨어는 병원, 은행, 학교, 국방, 금융, 주식 시장 등을 포함한 여러 영역에서 광범위하게 사용된다. 다양한 유형으로 분류할 수 있다.

적용 기준

1. 시스템 소프트웨어 
시스템 소프트웨어는 컴퓨터 리소스를 관리하고 응용 프로그램 실행을 지원하는 데 필요하다. 운영 체제, 컴파일러, 편집기 및 드라이버 등과 같은 소프트웨어는 이 범주에 속한다. 컴퓨터는 이것들이 없으면 작동할 수 없다. 운영 체제는 프로그램의 기계 의존적 요구와 프로그램이 실행되는 기계의 기능을 연결하는 데 필요하다. 컴파일러는 프로그램을 고급 언어에서 기계 언어로 번역한다.

 

2. 애플리케이션 소프트웨어 
응용 소프트웨어는 사용자와 직접 상호 작용하여 사용자의 요구 사항을 충족하도록 설계되었다.

두 가지 주요 범주로 분류될 수 있다 - 일반적인 범주와 사용자 정의된 범주.

일반 소프트웨어는 모든 사용자에게 오픈되어 있고 모든 사용자에게 동일하게 작동하는 소프트웨어이다. 일반 소프트웨어의 기능은 제한적이며 사용자의 변화하는 요구사항에 따라 맞춤화되지 않는다. 반면에 사용자 정의 소프트웨어는 클라이언트의 요구 사항에 따라 설계된 소프트웨어이며 모든 사용자가 사용할 수 있는 것은 아니다.

 

3. 네트워킹 및 웹 애플리케이션 소프트웨어 
네트워킹 소프트웨어는 컴퓨터가 서로 상호 작용하고 데이터 저장 기능과 상호 작용하는 데 필요한 지원을 제공한다. 네트워킹 소프트웨어는 소프트웨어가 컴퓨터 네트워크(예: 월드 와이드 웹)에서 실행될 때도 사용된다. 모든 네트워크 관리 소프트웨어, 서버 소프트웨어, 보안 및 암호화 소프트웨어, HTML, XML 등과 같은 웹 기반 응용 프로그램을 개발하기 위한 소프트웨어를 포함한다.

 

4. 임베디드 소프트웨어 
임베디드 소프트웨어는 일반적으로 대형 시스템의 일부로 ROM(Read-Only Memory)에 하드웨어에 내장되어 있으며 제어 조건에서 특정 기능을 지원하는 데 사용된다. 예를 들어 세탁기, 냉장고 또는 위성, 마이크로파 등과 같은 계측 및 제어 애플리케이션에 사용되는 소프트웨어가 있다.

 

5. 예약 소프트웨어 
예약 시스템은 주로 항공 여행, 렌터카, 호텔 또는 기타 활동과 관련된 정보를 저장 및 검색하고 거래를 수행하는 데 사용된다. 또 버스나 철도 예약이 항상 메인 시스템과 통합되어 있는 것은 아니지만 버스 및 철도 예약에 대한 액세스를 제공한다. 또한 호텔 업계의 사용자들을 위한 컴퓨터화된 정보를 전달하는 데 사용되며, 예약을 하고 호텔이 초과 예약되지 않도록 보장한다.

 

6. 비즈니스 소프트웨어 
비즈니스 소프트웨어는 비즈니스 응용 프로그램을 지원하는 데 사용되며 가장 널리 사용되는 범주의 소프트웨어이다. 예를 들어 재고 관리, 계정, 은행, 병원, 학교, 주식 시장 등을 위한 소프트웨어가 있다.

 

7. 엔터테인먼트 소프트웨어 
교육 및 엔터테인먼트 소프트웨어는 교육 기관, 특히 어린 아이들의 교육을 다루는 기관들에게 강력한 도구를 제공한다. 컴퓨터 게임, 교육용 게임, 번역 소프트웨어, 지도 제작 소프트웨어 등 다양한 엔터테인먼트 소프트웨어가 있다.

 

8. 인공지능 소프트웨어 
전문가 시스템, 의사결정 지원 시스템, 패턴 인식 소프트웨어, 인공 신경망 등과 같은 소프트웨어가 이 범주에 속한다. 그것들은 비숫자 알고리듬을 사용하는 복잡한 계산에 영향을 받지 않는 복잡한 문제를 포함한다.

 

9. 과학 소프트웨어 
과학 및 엔지니어링 소프트웨어는 기업별 작업을 수행하기 위한 과학 또는 엔지니어링 사용자의 요구를 충족한다. 이러한 소프트웨어는 해당 분야에 특화된 원칙, 기술 및 공식을 사용하여 특정 애플리케이션을 위해 작성되었다. 예를 들어 MATLAB, AUTOCAD, PSPICE, ORCAD 등의 소프트웨어가 있다.

 

10. 유틸리티 소프트웨어 
유틸리티 프로그램은 특정 작업을 수행하며 크기, 비용 및 복잡성 측면에서 다른 소프트웨어와 다르다. 예를 들어 안티바이러스 소프트웨어, 음성 인식 소프트웨어, 압축 프로그램 등이 있다.

 

11. 문서 관리 소프트웨어 
문서 관리 소프트웨어는 문서 작업을 줄이기 위해 문서를 추적, 관리 및 저장하는 데 사용된다. 다양한 사용자에 의해 생성되고 수정된 다양한 버전의 기록을 유지할 수 있다(이력 추적). 일반적으로 스토리지, 버전 관리, 메타데이터, 보안, 인덱싱 및 검색 기능을 제공한다.

 

저작권 기준

1. 상업용 
우리가 소프트웨어 회사, 상업용 컴퓨터 애플리케이션 마켓 등에서 구매하는 소프트웨어의 대부분을 나타낸다. 이 경우 사용자가 소프트웨어를 구입할 때 사용할 라이센스 키가 제공되어진다. 사용자는 소프트웨어의 복제본을 만들 수 없다. 그 프로그램의 저작권은 그 회사가 소유하고 있다.

 

2. 쉐어웨어 
쉐어웨어 소프트웨어도 저작권이 적용되지만 구매자는 소프트웨어를 테스트한 후 구매자가 활용을 위해 사용할 경우 비용을 지불해야 한다는 조건으로 복제본을 만들고 배포할 수 있다.

 

위의 두 가지 유형의 소프트웨어에서는 소프트웨어를 변경할 수 없다.

 

3. 프리웨어 
일반적으로 프리웨어 소프트웨어 라이센스에 따르면 소프트웨어의 복제본은 보관 및 배포 목적으로 만들어질 수 있지만 여기서 배포는 수익을 얻기 위한 것이 되어서는 안 된다. 소프트웨어에 대한 변경 및 수정이 허용되고 권장된다. 프로그램 코드의 디컴파일은 저작권자의 명시적인 허가 없이도 허용된다.

 

4. 퍼블릭 도메인 
퍼블릭 도메인 소프트웨어의 경우, 원래 저작권 소유자는 소프트웨어에 대한 모든 권리를 명시적으로 포기한다. 따라서 배포에 대한 제한 없이 보관 및 배포 목적으로 소프트웨어 복제본을 만들 수 있다. 소프트웨어 및 리버스 엔지니어링에 대한 수정도 허용된다.

반응형

'Software Engineering > 소프트웨어 공학' 카테고리의 다른 글

소프트웨어 공학 소개  (0) 2023.02.25

댓글