소프트웨어
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
소프트웨어는 컴퓨터의 작동을 제어하고 특정 작업을 수행하도록 설계된 지시 사항 또는 프로그램의 집합이다. 에이다 러브레이스가 19세기에 알고리즘 개념을 제시하며 그 기원을 찾을 수 있으며, 앨런 튜링의 연구를 통해 컴퓨터 과학과 소프트웨어 공학이 발전하는 계기가 되었다. 소프트웨어는 플랫폼, 응용 프로그램, 사용자 작성 소프트웨어로 분류되며, 시스템 소프트웨어와 응용 소프트웨어로도 구분된다. 소프트웨어 개발은 프로그래밍 언어와 다양한 도구를 사용하여 이루어지며, 품질 보증과 보안은 중요한 요소이다. 소프트웨어는 저작권, 특허, 소프트웨어 라이선스 등 법적 보호를 받으며, 사회 전반에 걸쳐 긍정적, 부정적 영향을 미치며 광범위하게 사용되고 있다.
더 읽어볼만한 페이지
- 소프트웨어 - 컴퓨터 프로그램
컴퓨터 프로그램은 계산 기계를 작동시키기 위한 절차를 명확하고 구체적으로 작성한 결과물로서, 하드웨어 발전과 궤를 같이하며 자카드 직기, 해석 기관, 튜링 기계, ENIAC 등의 기계들과 프로그래밍 언어의 발전을 거쳐 현대적인 소프트웨어 개발 환경에 이르렀다. - 소프트웨어 - 소프트웨어 특허
소프트웨어 특허는 소프트웨어 관련 발명에 대한 배타적 권리를 부여하여 기술 혁신을 장려하는 데 목적이 있지만, 범위와 요건에 대한 논쟁이 있으며 국가별 인정 기준이 다르고 자유 소프트웨어 진영에서는 비판적인 입장을 취하고 있다. - 전산장비 - 데이터 센터
데이터센터는 컴퓨터 시스템 및 관련 장비와 지원 인프라를 수용하는 시설로, 기술 발전에 따라 규모와 중요성이 확대되었으며, 에너지 효율과 보안을 고려하여 설계 및 운영되고, TIA-942 표준에 따른 티어 분류와 친환경 기술 도입이 이루어지고 있다. - 전산장비 - 네트워크 결합 스토리지
네트워크 결합 스토리지(NAS)는 네트워크를 통해 파일 서비스를 제공하는 파일 서버로, 네트워크 파일 공유 프로토콜을 사용하여 파일 접근을 제공하며, 데이터 백업 및 중앙 집중식 데이터 관리 등 다양한 용도로 활용된다. - 소프트웨어 개발 - 컴퓨터 과학
컴퓨터 과학은 컴퓨터와 관련된 현상을 연구하는 학문으로, 계산 이론, 하드웨어 및 소프트웨어 설계, 문제 해결 등을 포괄하며, 수학, 공학 등 여러 분야와 융합하여 발전해 왔다. - 소프트웨어 개발 - 스파이웨어
스파이웨어는 사용자의 동의 없이 설치되어 개인 정보를 수집하거나 시스템을 감시하며, 다양한 형태로 존재하여 광고 표시, 정보 탈취, 시스템 성능 저하 등의 피해를 유발하는 악성 프로그램이다.
소프트웨어 | |
---|---|
지도 정보 | |
기본 정보 | |
종류 | 컴퓨터 프로그램 |
역할 | 컴퓨터의 작동을 제어 |
소프트웨어 산업 | 응용 프로그램 개발 시스템 소프트웨어 개발 웹 및 모바일 애플리케이션 개발 게임 개발 임베디드 소프트웨어 개발 데이터베이스 관리 시스템 개발 클라우드 컴퓨팅 서비스 개발 인공 지능 및 머신러닝 소프트웨어 개발 |
개발 및 구조 | |
개발 | 프로그래밍 언어 소프트웨어 개발 방법론 컴파일러 |
구조 | 소스 코드 목적 코드 실행 파일 라이브러리 |
분류 | |
시스템 소프트웨어 | 운영 체제 장치 드라이버 펌웨어 유틸리티 프로그램 |
응용 소프트웨어 | 워드 프로세서 스프레드시트 웹 브라우저 게임 데이터베이스 관리 시스템 멀티미디어 소프트웨어 |
기타 | |
라이선스 | 자유 소프트웨어 라이선스 오픈 소스 라이선스 상업용 라이선스 |
소프트웨어 공학 | 소프트웨어 개발 생명 주기 소프트웨어 테스트 소프트웨어 유지 보수 |
관련 분야 | 컴퓨터 과학 정보 기술 프로그래밍 소프트웨어 개발 |
2. 역사
소프트웨어 역사는 초기 개념부터 현대의 발전에 이르기까지 다양한 단계를 거쳐왔다.
하위 섹션에서 이미 자세히 다루고 있으므로, 여기서는 간략하게 요약한다.
- 초기 개념: 19세기 에이다 러브레이스가 해석기관을 위한 알고리즘 작성.
- 최초 이론: 앨런 튜링의 1935년 수필.
- 분야 탄생: 컴퓨터 과학과 소프트웨어 공학의 탄생.
- 1946년 이전: 저장식 프로그램 디지털 컴퓨터 부재.
- 최초의 프로그래밍 가능한 컴퓨터: 기계어로 프로그래밍 됨
- "소프트웨어": 존 윌더 튜키가 1958년에 처음 사용.
- 고급 프로그래밍 언어: 포트란, 리스프, 코볼 등이 개발됨.
2. 1. 초기 역사
소프트웨어의 최초 개념(알고리즘)은 19세기 에이다 러브레이스가 계획된 해석기관을 위해 작성하였다.[1] 그러나 해석기관이든 소프트웨어든 실제로 만들어진 것은 없었다.오늘날 우리가 인식하는 컴퓨터 발명 이전의 소프트웨어에 대한 최초의 이론은 앨런 튜링이 1935년 수필 《''Computable numbers with an application to the Entscheidungsproblem''》(결정 문제)에서 제안되었다.[1]
이는 컴퓨터 과학과 소프트웨어 공학의 양대 산맥이 탄생하는 계기가 되었으며, 둘 다 소프트웨어 및 소프트웨어 제작에 대해 연구한다.[1] 컴퓨터 과학은 더 이론적인 반면(튜링의 수필이 컴퓨터 과학의 한 예이다), 소프트웨어 공학은 더 실용적인 부분에 초점을 둔다.[1]
그러나 1946년 이전까지 우리가 알고 있는 소프트웨어, 즉 저장식 프로그램 디지털 컴퓨터의 메모리에 저장되는 프로그램들은 존재하지 않았다.[1] 최초의 전자식 컴퓨팅 장치들은 그 대신 이들을 다시 프로그램할 목적으로 재배치되었다.[1]

"소프트웨어"라는 단어의 최초 사용은 1958년 수학자 존 윌더 튜키에게서 발견된다. 1940년대 후반에 등장한 최초의 프로그래밍 가능한 컴퓨터는 기계어로 프로그래밍되었다.[2] 기계어는 디버깅이 어렵고 서로 다른 컴퓨터 간에 이식성이 없었다. 초기에는 하드웨어 자원이 인적 자원보다 더 비쌌다. 프로그램이 복잡해짐에 따라 프로그래머 생산성이 병목 현상을 일으켰다.[3] 1958년 고급 프로그래밍 언어의 도입은 하드웨어의 세부 사항을 숨기고 기본 알고리즘을 코드로 표현했다. 초기 언어에는 포트란, 리스프, 코볼이 포함된다.
2. 2. 발전 과정
소프트웨어에 대한 최초의 이론은 앨런 튜링이 1935년 수필 ''Computable numbers with an application to the Entscheidungsproblem'' (결정 문제)에서 제안하였다.이는 컴퓨터 과학과 소프트웨어 공학의 양대 산맥이 탄생하는 계기가 되었으며, 이들은 모두 소프트웨어 및 소프트웨어 제작에 대해 연구한다. 컴퓨터 과학은 더 이론적인 반면(튜링의 수필이 컴퓨터 과학의 한 예이다), 소프트웨어 공학은 더 실용적인 부분에 초점을 둔다.
그러나 1946년 이전까지 우리가 알고 있는 소프트웨어, 즉 저장식 프로그램 디지털 컴퓨터의 메모리에 저장되는 프로그램들은 존재하지 않았다. 최초의 전자식 컴퓨팅 장치들은 그 대신 이들을 다시 프로그램할 목적으로 재배치되었다.
"소프트웨어"라는 단어는 1958년 수학자 존 윌더 튜키가 처음 사용한 것으로 알려져 있다.[1] 1940년대 후반에 등장한 최초의 프로그래밍 가능한 컴퓨터[2]는 기계어로 프로그래밍되었다. 기계어는 디버깅이 어렵고 서로 다른 컴퓨터 간에 이식성이 없었다.[3] 초기에는 하드웨어 자원이 인적 자원보다 더 비쌌다.[4] 프로그램이 복잡해짐에 따라 프로그래머 생산성이 병목 현상을 일으켰다. 1958년 고급 프로그래밍 언어의 도입은 하드웨어의 세부 사항을 숨기고 기본 알고리즘을 코드로 표현했다.[5][6] 초기 언어에는 포트란, 리스프, 코볼이 포함된다.[6]
2. 3. 한국 소프트웨어 산업의 역사
소프트웨어의 최초 개념(알고리즘)은 19세기 에이다 러브레이스가 해석기관을 위해 작성하였다. 그러나 해석기관과 소프트웨어는 실제로 만들어지지 않았다.오늘날 우리가 인식하는 컴퓨터 발명 이전의 소프트웨어에 대한 최초의 이론은 앨런 튜링이 1935년 수필 《''Computable numbers with an application to the Entscheidungsproblem''》에서 제안하였다.
이는 컴퓨터 과학과 소프트웨어 공학이라는 두 분야가 탄생하는 계기가 되었으며, 이들은 모두 소프트웨어와 그 제작에 대해 연구한다. 컴퓨터 과학은 더 이론적인 반면(튜링의 수필이 컴퓨터 과학의 예시), 소프트웨어 공학은 더 실용적인 부분에 집중한다.
그러나 1946년 이전까지 우리가 알고 있는 소프트웨어, 즉 저장식 프로그램 디지털 컴퓨터의 메모리에 저장되는 프로그램들은 존재하지 않았다. 최초의 전자식 컴퓨팅 장치들은 프로그램을 다시 만들기 위해 재배치되었다.
3. 종류
현대 컴퓨터 사용자들은 소프트웨어를 크게 플랫폼, 응용 프로그램, 사용자 소프트웨어의 세 가지 층으로 분류한다.
- 플랫폼 소프트웨어: 컴퓨터와 주변기기가 서로 소통할 수 있게 해주는 소프트웨어다. 장치 드라이버, 운영 체제, 펌웨어(주로 바이오스) 등이 이에 해당한다. 대개 컴퓨터에 꾸러미로 같이 제공되며, 사용자는 그 존재를 모르거나 다른 플랫폼 소프트웨어를 선택할 수 있는지 모르는 경우가 많다.
- 응용 소프트웨어: 사람들이 일반적으로 '소프트웨어'라고 생각하는 것이다. 오피스 제품군, 비디오 게임 등이 대표적이다. 보통 컴퓨터 하드웨어와 별도로 구매하지만, 컴퓨터에 꾸러미로 제공되는 경우도 있다. 응용 프로그램은 대부분 운영 체제와 독립적이지만, 특정 플랫폼만을 위해 제작되는 경우가 많다.
- 사용자 작성 소프트웨어: 사용자의 특정한 요구를 충족시키기 위해 만들어진다. 스프레드시트 템플릿, 워드 프로세서 매크로, 과학 시뮬레이션, 그래픽/애니메이션 스크립트, 전자 우편 필터 등이 있다. 사용자가 직접 만들지만 그 중요성을 간과하는 경우가 많다.
일반적으로 소프트웨어는 응용 소프트웨어와 시스템 소프트웨어의 두 가지로 분류된다.[8]

소프트웨어는 배포 방법에 따라 분류할 수도 있다. 기존 응용 프로그램은 특정 버전의 소프트웨어에 대한 영구적인 소프트웨어 라이선스를 구매하여 다운로드하고 구매자가 소유한 하드웨어에서 실행한다.[2] 인터넷과 클라우드 컴퓨팅의 발전으로 소프트웨어 서비스(SaaS)라는 새로운 모델이 등장했다.[3] 이 모델에서 제공업체는 소프트웨어를 호스팅하고 고객에게 소프트웨어 사용을 제공하며, 종종 구독료를 받는다.[2] 2023년까지 일반적으로 웹 애플리케이션을 통해 제공되는 SaaS 제품은 기업이 응용 프로그램을 제공하는 주요 방법이 되었다.[4]
3. 1. 시스템 소프트웨어
시스템 소프트웨어는 컴퓨터 하드웨어를 관리하고 제어하는 등 컴퓨터 자체의 작동에 필요한 소프트웨어이다.운영 체제(OS)는 시스템 소프트웨어의 대표적인 예시로, CPU와 메모리 할당을 관리하고, 저장 장치에 데이터 파일을 정확하게 읽고 쓰도록 하는 등 다양한 처리를 한다. 개인용 컴퓨터를 비롯한 가정용 컴퓨터에서는 운영 체제가 구입 시 컴퓨터 본체에 동봉되거나 미리 설치되어 있는 경우가 많다.
운영 체제 외에도 장치 드라이버, 펌웨어 등이 시스템 소프트웨어에 속한다. 이러한 플랫폼 소프트웨어는 컴퓨터와 주변기기가 서로 소통할 수 있게 해주며, 대개 컴퓨터에 꾸러미로 같이 제공된다. 대부분 사용자는 플랫폼 소프트웨어의 존재 여부나 다른 플랫폼 소프트웨어를 선택할 수 있는지 모르는 경우가 많다.
미들웨어는 운영 체제에서 제공하지 않는 기능 중 다양한 응용 소프트웨어에서 이용되는 일반적인 기능을 제공하는 시스템 소프트웨어이다.
3. 1. 1. 운영 체제 (OS)
운영 체제(OS)는 사용자와 응용 프로그램이 컴퓨터 자원을 활용할 수 있도록 관리하는 소프트웨어 계층이다.[1] 운영 체제는 다음과 같은 세 가지 주요 목적을 수행한다.[1]- 다른 응용 프로그램 간에 자원을 할당하고, 중앙 처리 장치(CPU) 시간 또는 메모리 공간을 언제 받을지 결정한다.[1]
- 하드웨어 세부 정보(예: 물리적 메모리)에 대한 접근 세부 정보를 추상화하는 인터페이스를 제공하여 프로그래머가 작업을 더 쉽게 수행할 수 있도록 한다.[1]
- 네트워크 및 디스크 장치에 접근하기 위한 인터페이스와 같은 공통 서비스를 제공하여 응용 프로그램을 다시 작성하지 않고도 다른 하드웨어에서 실행할 수 있도록 한다.[1]
운영 체제는 컴퓨터 자체의 작동에 필요한 시스템 소프트웨어의 대표적인 예시이다. CPU와 메모리 할당을 관리하고, 저장 장치에 데이터 파일을 정확하게 읽고 쓰도록 하는 등 다양한 처리를 한다. 또한, 키보드나 마우스와 같은 입력 장치로부터의 신호를 응용 소프트웨어에 알리거나, 응용 소프트웨어의 요청에 따라 화면에 도형이나 문자를 표시하는 것도 운영 체제의 기능이다.
개인용 컴퓨터를 비롯한 가정용 컴퓨터 기기에서는 이러한 운영 체제가 구입 시 컴퓨터 본체에 동봉되거나 미리 설치되어 있는 경우가 많다.
3. 1. 2. 장치 드라이버
소프트웨어의 한 종류인 장치 드라이버는 플랫폼 소프트웨어에 속하며, 컴퓨터와 주변기기가 서로 소통할 수 있게 만들어 준다. 바이오스(펌웨어) , 운영 체제, 그래픽 사용자 인터페이스 등을 포함한다. 플랫폼 소프트웨어는 대개 컴퓨터에 꾸러미로 같이 제공되며, 대부분의 사용자는 그 존재 여부나 다른 플랫폼 소프트웨어를 선택할 수 있는지 모르는 경우가 많다.3. 1. 3. 펌웨어
펌웨어는 종종 소프트웨어 대신 사용되는 용어로, 바이오스와 같이 컴퓨터와 주변기기가 서로 소통할 수 있게 만들어 주는 플랫폼 소프트웨어의 일종이다.[1] 펌웨어는 대개 컴퓨터에 꾸러미 형태로 함께 제공되며, 대부분의 사용자는 펌웨어가 실제로 존재하는지, 또는 선택 가능한 다른 펌웨어가 있는지 모르는 경우가 많다.[1]3. 2. 응용 소프트웨어
응용 소프트웨어는 사용자의 목적에 맞는 기능을 제공하는 소프트웨어이다.일반적인 사무 작업에 사용되는 워드 프로세서나 스프레드시트 소프트웨어를 비롯하여, 오락을 목적으로 하는 게임 소프트웨어, 공장 작업을 자동화하는 공장자동화, 사무 절차나 경영 관리를 위한 업무용 소프트웨어, 웹 브라우저, 교육이나 의료 등 모든 목적에 맞춰 소프트웨어가 개발되고 있다. 소프트웨어 개발 자체에 사용되는 프로그래밍 도구[9]도 응용 소프트웨어의 일종이다.
이러한 응용 소프트웨어는 기성품을 패키지 소프트웨어 등의 형태로 구매하거나, 사용자가 직접 목적을 달성하는 소프트웨어를 개발하기도 한다.
3. 2. 1. 일반 사용자용 소프트웨어
현대의 범용 컴퓨터를 사용하는 사람들은 보통 소프트웨어를 플랫폼, 응용 소프트웨어, 사용자 소프트웨어의 세 층으로 분류한다.- 응용 소프트웨어: 응용 프로그램은 사람들이 일반적으로 소프트웨어라고 생각하는 것이다. 오피스 제품군, 비디오 게임 등이 대표적인 예시이다. 응용 소프트웨어는 보통 컴퓨터 하드웨어와는 별도로 구매한다. 어떤 응용 프로그램은 컴퓨터에 꾸러미로 제공되지만, 독립적인 응용 프로그램으로 수행된다는 점에서 차이가 없다. 응용 프로그램은 거의 대개 운영 체제와는 독립적인 프로그램이지만, 보통 특정 플랫폼만을 위해 제작된다.
- 사용자 작성 소프트웨어: 사용자 소프트웨어는 사용자 특화된 요구를 충족시키기 위한 것이다. 사용자 소프트웨어에는 스프레드시트 템플릿, 워드 프로세서 매크로, 과학 시뮬레이션, 그래픽/애니메이션 스크립트 등이 있다. 심지어 전자 우편 필터 역시 사용자 소프트웨어의 하나로 볼 수 있다. 사용자들은 이 같은 소프트웨어를 직접 제작하고도 그 중요성을 흔히 간과하곤 한다.
3. 2. 2. 기업용 소프트웨어
응용 소프트웨어는 사용자의 목적에 맞는 기능을 제공하는 소프트웨어다. 기업 환경에서는 다양한 응용 소프트웨어가 활용된다.일반적인 사무 작업에 사용되는 워드 프로세서나 스프레드시트 외에도, 공장자동화, 사무 절차 및 경영 관리를 위한 업무용 소프트웨어, 웹 브라우저, 교육, 의료 등 모든 목적에 맞춰 개발되고 있다. 은행의 예금 및 적금 계좌를 관리하는 계정계 시스템이나 JR의 "미도리노마도구"에서 사용되는 마르스와 같은 온라인 시스템을 비롯하여 판매, 영업, 생산 등 각종 업무 관리 시스템 등의 개별 개발 소프트웨어도 기업에서 활용된다.
소프트웨어 서비스(SaaS)는 인터넷과 클라우드 컴퓨팅의 발전으로 등장한 새로운 모델이다.[8] 이 모델에서 제공업체는 소프트웨어를 호스팅하고, 고객에게 소프트웨어 사용을 제공하며, 종종 구독료를 받는다.[8] 2023년까지 일반적으로 웹 애플리케이션을 통해 제공되는 SaaS 제품은 기업이 응용 프로그램을 제공하는 주요 방법이 되었다.
3. 2. 3. 한국의 특수한 소프트웨어
한국은 다른 나라와 비교하여 특수한 소프트웨어 사용 환경을 가지고 있다. 이는 한국의 IT 환경, 문화, 역사적 배경 등 다양한 요인에 의해 형성되었다.과거에는 아래아 한글과 같은 한국산 워드프로세서가 널리 사용되었으나, 현재는 마이크로소프트 워드와 같은 외국산 소프트웨어가 더 많이 사용된다. 하지만 여전히 공공기관이나 특정 분야에서는 아래아 한글이 사용되기도 한다.
또한, 한국에서는 액티브X와 같은 특정 기술이 오랫동안 사용되어 왔으나, 웹 표준 기술의 발전과 보안 문제 등으로 인해 점차 사라지는 추세이다.
이 외에도 한국의 특수한 소프트웨어 사용 환경은 다양한 측면에서 나타나며, 이는 한국의 IT 산업과 사용자들의 소프트웨어 사용 방식에 영향을 미치고 있다.
4. 소프트웨어 개발
컴퓨터 소프트웨어는 컴퓨터의 저장장치(메모리 또는 램)에 "적재"되어야 한다. 소프트웨어가 적재되면 컴퓨터는 소프트웨어를 작동할 수 있게 된다. 컴퓨터는 컴퓨터 프로그램을 "실행"하여 작동시키는데, 여기에는 응용 소프트웨어에서 명령어를 보내는 과정이 포함된다. 이 명령어는 시스템 소프트웨어를 거쳐 궁극적으로 하드웨어에 기계어 명령으로 전달된다. 각각의 명령어는 하나의 작업(데이터를 옮기거나, 계산 결과를 저장하거나, 명령의 흐름을 변경하는 등)을 수행한다.
기능에 따른 소프트웨어의 종류는 다음과 같다.
소프트웨어는 프로그래밍 언어와 관련 유틸리티를 사용하여 제작된다. 소프트웨어 개발은 프로젝트를 구상하고, 실행 가능성을 평가하고, 비즈니스 요구 사항을 분석하고, 소프트웨어 설계를 만드는 것으로 시작한다.[2][3]
소프트웨어 프로젝트를 완료하려면 소프트웨어 프로그래머뿐만 아니라 테스트, 문서 작성, 프로젝트 관리, 그래픽 디자인, 사용자 경험, 사용자 지원, 마케팅, 자금 조달 등 다양한 전문 지식이 필요하다.[3]
소프트웨어 제작 및 개발을 주요 사업으로 하는 기업은 제품을 패키지 등의 형태로 사용자에게 라이선스 판매를 하기도 한다. 라이선스 판매 이외의 소프트웨어 사업으로는 다음과 같은 형태가 있다.
- 기술·역무 제공: IT 컨설팅이나 기술자 파견 등, 고객이 주체가 되는 소프트웨어 개발에 참여하여 소프트웨어 개발 기술과 노동력을 판매하는 사업.
- 소프트웨어 서비스 제공: 소프트웨어나 정보 시스템 등을 자체적으로 운영하고, 고객이 시스템을 이용함으로써 수익을 올리는 사업. SaaS나 클라우드 컴퓨팅처럼 시스템 이용자가 직접 사용료를 지불하는 방식 외에도, 온라인 쇼핑몰 등의 시스템을 판매자에게 이용하게 하고 수수료를 부과하는 방식이나, 소셜 네트워킹 서비스나 웹사이트 검색 엔진을 무상으로 제공하고 시스템의 일부에 표시되는 광고를 판매하는 등의 방식으로 수익을 올리는 형태도 있다.
- 소프트웨어가 탑재된 기기 및 제품 판매: 스마트폰이나 네트워크 장비 등, 고도의 소프트웨어가 탑재된 기기나 제품을 판매하는 사업.
또한, 인터넷상에서 무상으로 공개되는 오픈 소스 소프트웨어 개발에 협력하여 그 성과를 자사의 서비스 등에 통합하는 것이 널리 행해지고 있다.
4. 1. 개발 방법론

소프트웨어 회사는 예산 내에서 제시간에 고품질의 제품을 제공하는 것을 목표로 하지만, 소프트웨어 개발 노력 추정은 종종 부정확하다는 어려움이 있다.[1] 소프트웨어 개발은 프로젝트 구상, 실행 가능성 평가, 비즈니스 요구 사항 분석, 소프트웨어 설계 작성으로 시작한다.[2][3] 대부분의 소프트웨어 프로젝트는 재사용, 상용 시판 소프트웨어(COTS), 오픈 소스 소프트웨어 형태의 기존 소프트웨어 통합을 통해 개발 속도를 높인다.[4][5]
소프트웨어 품질 보증은 일반적으로 다른 엔지니어의 수동 코드 검토[6]와 자동화된 소프트웨어 테스트의 조합으로 이루어진다. 시간 제약으로 인해 테스트가 소프트웨어의 의도된 기능 모든 측면을 다룰 수 없는 경우가 많으므로, 개발자는 가장 중요한 기능에 집중하는 경우가 많다.[7] 포멀 메소드는 일부 안전 중요 시스템에서 코드의 정확성을 증명하는 데 사용되며,[8] 사용자 수용 테스트는 제품이 고객의 기대에 부합하는지 확인하는 데 도움이 된다.[9]
다양한 소프트웨어 개발 방법론이 있으며, 모든 단계를 순서대로 완료하는 것부터 동시적이고 반복적인 모델까지 다양하다.[10] 소프트웨어 개발은 예상 사용자로부터 얻은 요구 사항에 의해 주도되는 반면, 유지 보수는 변경 요청과 같은 이벤트에 의해 주도된다.[11]
4. 2. 프로그래밍 언어
소프트웨어는 프로그래밍 언어와 관련 유틸리티를 사용하여 제작되며, 다음과 같은 몇 가지 형태가 있다.- 스크립트 인터프리터와 같은 단일 프로그램: 컴파일러, 링커
- 다른 도구를 포함한 패키지: 다양한 언어를 지원하며 편집기, 디버거와 다른 도구들을 포함한 대형 제품군(보통 통합 개발 환경[IDE]으로 불림).

소프트웨어 제작 때는 다음과 같은 컴퓨터 언어가 쓰인다.
프로그래밍 언어는 소프트웨어가 작성되는 형식이다. 1950년대 이후 수천 가지의 프로그래밍 언어가 개발되었으며, 일부는 수십 년 동안 사용되고 있지만 다른 일부는 더 이상 사용되지 않는다.[9] 어떤 정의에서는 하드웨어가 직접 실행하는 정확한 명령어인 기계어와 기계어의 보다 사람이 읽기 쉬운 대안으로, 명령어를 기계어로 일대일 변환할 수 있는 어셈블리어를 프로그래밍 언어로 분류한다.[10] 소프트웨어를 만드는 데 사용되는 고급 프로그래밍 언어로 작성된 프로그램은 몇 가지 주요 특징을 공유한다. 기계어에 대한 지식이 없어도 작성할 수 있으며, 다른 컴퓨터 시스템으로 이식할 수 있으며, 기계어보다 간결하고 사람이 읽기 쉽다.[11] 프로그래밍 언어는 사람이 읽을 수 있으면서도 컴퓨터 하드웨어에 대한 명확한 명령어로 변환될 수 있어야 한다.[12]
고급 프로그래밍 언어의 발명은 이를 자동으로 기계어로 번역하는 데 필요한 컴파일러의 발명과 동시에 이루어졌다.[13] 대부분의 프로그램은 실행하는 데 필요한 모든 자원을 포함하고 있지 않으며, 외부 라이브러리에 의존한다. 컴파일러의 기능 중 일부는 프로그램이 하드웨어에 의해 실행될 수 있도록 이러한 파일들을 연결하는 것이다. 컴파일된 프로그램은 오브젝트 파일로 저장될 수 있으며, 로더(운영 체제의 일부)는 이 저장된 파일을 가져와 컴퓨터 하드웨어에서 실행할 수 있다. 일부 프로그래밍 언어는 컴파일러 대신 인터프리터를 사용한다. 인터프리터는 프로그램을 실행 시간에 기계어로 변환하므로, 컴파일된 프로그래밍 언어보다 10배에서 100배 느리다.
삼성 스마트폰의 터치 위즈를 구성하는 소프트웨어는 파이썬(Python)으로 제작되었다.
소프트웨어 제작할 때 쓰이는 프로그램은 다음과 같다.
4. 3. 개발 도구
소프트웨어는 프로그래밍 언어와 관련 유틸리티를 사용하여 제작되는데, 몇 가지 형태가 있다.- 스크립트 인터프리터와 같은 단일 프로그램: 컴파일러, 링커
- 다른 도구를 포함한 패키지: 다양한 언어를 지원하며 편집기, 디버거와 다른 도구들을 포함한 대형 제품군 (보통 IDE으로 불림)[9]
소프트웨어 제작에 쓰이는 컴퓨터 언어는 다음과 같다.
소프트웨어 제작에 쓰이는 프로그램은 다음과 같다.
4. 4. 품질 보증
소프트웨어 품질은 명시된 요구 사항과 고객의 기대치를 충족하는 것으로 정의된다.[1] 품질은 코드의 정확하고 효율적인 동작, 재사용성 및 이식성, 수정 용이성 등을 포함하는 포괄적인 용어이다.[2] 일반적으로 개발 프로세스 후반에 품질을 추가하는 것보다 처음부터 제품에 품질을 구축하는 것이 더 비용 효율적이다.[3] 더 높은 품질의 코드는 더 안정적이고 유지보수가 용이하기 때문에 공급업체와 고객 모두의 평생 비용을 절감한다.[4] 안전 중요 시스템의 소프트웨어 오류는 사망을 포함하여 매우 심각한 결과를 초래할 수 있다.[5] 어떤 추정에 따르면 품질이 낮은 소프트웨어의 비용은 매출의 20~40%에 달할 수 있다.[6] 개발자는 의도한 대로 완벽하게 작동하는 제품을 제공하는 것을 목표로 하지만, 사실상 모든 소프트웨어에는 버그가 존재한다.[7]소프트웨어 회사는 예산 내에서 제시간에 고품질의 제품을 제공하는 것을 목표로 하지만, 소프트웨어 개발 노력 추정이 종종 부정확하다는 어려움이 있다.[8] 소프트웨어 개발은 프로젝트 구상, 실행 가능성 평가, 비즈니스 요구 사항 분석, 소프트웨어 설계 작성으로 시작한다.[9] 대부분의 소프트웨어 프로젝트는 재사용, 상용 시판 소프트웨어(COTS), 오픈 소스 소프트웨어 형태의 기존 소프트웨어 통합을 통해 개발 속도를 높인다.[10] 소프트웨어 품질 보증은 일반적으로 다른 엔지니어의 수동 코드 검토[11]와 자동화된 소프트웨어 테스트를 결합하여 이루어진다. 시간 제약으로 인해 테스트가 소프트웨어의 의도된 기능 모든 측면을 다루지 못하는 경우가 많으므로, 개발자는 가장 중요한 기능에 집중한다.[12] 포멀 메소드는 일부 안전 중요 시스템에서 코드의 정확성을 증명하는 데 사용되며,[13] 사용자 수용 테스트는 제품이 고객의 기대에 부합하는지 확인하는 데 도움이 된다. 다양한 소프트웨어 개발 방법론이 있으며, 모든 단계를 순서대로 완료하는 것부터 동시적이고 반복적인 모델까지 다양하다.
소프트웨어는 개발팀이 시간이나 자금이 부족할 때 종종 불완전한 상태로 배포된다. 소프트웨어 테스트 및 소프트웨어 품질 보증에도 불구하고 거의 모든 소프트웨어에는 시스템이 의도한 대로 작동하지 않는 버그가 포함되어 있다.
5. 소프트웨어와 법
소프트웨어는 종종 미완성이거나 버그가 포함된 상태로 출시된다. 구매자는 이러한 상태를 알고 제품을 구매하며, 이로 인해 다른 제품과 비교하여 소프트웨어 제품 책임이 상당히 제한되는 법적 체계가 생겨났다.
일본에서 회계 처리상 (세법상) 소프트웨어는 무형 유형자산으로 취급되며, 감가상각 기간은 5년간 정액 상각이다.
의약품의료기기등의 품질, 유효성 및 안전성의 확보 등에 관한 법률(약칭: 의약품의료기기등법, 약기법)에 따라, 질병 진단, 치료, 예방용 프로그램 및 그것들을 기록한 기록 매체도 부작용 또는 기능 장애 발생 시 사람의 생명 및 건강에 영향을 미칠 우려가 있으면 의료기기로서 제한을 받는다. 이는 의료기기의 IT화에 따라 의료적 효과를 내세우는 소프트웨어에 대해서도 다른 의료기기와 마찬가지로 규제가 필요하게 되었기 때문이다.
5. 1. 저작권
소스 코드는 저작권법에 의해 보호되며, 이에 따라 소유자는 코드를 복사할 배타적 권리를 갖는다. 기본적인 아이디어나 알고리즘은 저작권법으로 보호받지 않지만, 종종 영업 비밀로 간주되어 기밀 유지 계약서와 같은 방법으로 은폐된다.[1] 소프트웨어 저작권은 1970년대 중반부터 인정되어 왔으며, 소프트웨어를 만든 회사에 귀속되며, 소프트웨어를 작성한 직원이나 미국의 독립 계약업체에는 귀속되지 않는다.[2]대부분의 소프트웨어 사용은 저작권 소유자와 사용자 간의 계약(소프트웨어 라이선스)에 따라 규율된다. 프로프라이어터리 소프트웨어는 일반적으로 복사 및 재사용을 제한하는 제한적인 라이선스하에 판매되며 (종종 디지털 저작권 관리(DRM)과 같은 도구를 통해 시행된다).[3] 반면, 오픈소스 라이선스는 소수의 조건하에 소프트웨어의 자유로운 사용과 재배포를 허용한다.[4] 소프트웨어에 사용되는 대부분의 오픈소스 라이선스는 수정 사항을 동일한 라이선스하에 공개해야 하므로, 오픈소스 소프트웨어가 독점 프로젝트에 재사용될 때 복잡한 문제가 발생할 수 있다.[5]
소프트웨어는 법적으로 지적 재산으로 간주되며 저작권법과 특허법으로 보호받는다. 일반적으로 저작권자가 소프트웨어의 이용 범위를 명시한 이용 허락 계약서를 준비하며, 소프트웨어 이용자는 이에 동의하지 않으면 이용할 수 없다. 이 계약 사항 또는 합의 사항을 소프트웨어 라이선스라고 한다. 저작권자가 이용 허락 계약서를 준비하지 않은 경우에는 저작권법의 범위 내에서 이용이 가능하다.
또한, 컴퓨터를 이용하는 발명에 대해 특허권이 인정되는 경우가 있다.
5. 2. 특허
소프트웨어 특허에 대해서는 찬반 의견이 엇갈린다. 특허는 발명자의 아이디어를 보호하지만, 많은 사람들은 이것이 소프트웨어 개발을 방해한다고 믿는다.특허는 발명가에게 새로운 제품이나 공정에 대한 독점적이고 기간이 제한된 라이선스를 부여한다.[2] 소프트웨어가 달성할 수 있는 아이디어는 법적으로 보호받지 못하며, 구체적인 구현은 저작권법에 의해 보호된다. 일부 국가에서는 청구된 발명이 물리적 세계에 영향을 미쳐야 한다는 요구 사항을 소프트웨어 특허 유효성 요건에 포함하기도 한다. 소프트웨어 특허는 역사적으로 논란이 많았다. 1998년 ''State Street Bank & Trust Co. v. Signature Financial Group, Inc.'' 사건 이전에는 미국에서 소프트웨어 특허가 일반적으로 인정되지 않았다. 이 사건에서 대법원은 사업 프로세스가 특허될 수 있다고 판결했다. 특허 출원은 복잡하고 비용이 많이 들며, 특허 관련 소송은 제품 비용을 증가시킬 수 있다. 저작권과 달리 특허는 일반적으로 특허가 발급된 관할 구역에만 적용된다.
컴퓨터를 이용하는 발명에 대해 특허권이 인정되는 경우가 있다.
5. 3. 소프트웨어 라이선스
소프트웨어에는 여러 종류의 라이선스 형태가 있다. 크게 다음과 같이 나뉜다.- 프리웨어(freeware): 제작자가 라이선스만 지키면 마음껏 사용해도 된다.
- 셰어웨어(shareware): 보통 30일 동안 소프트웨어를 정식 버전과 같은 기능을 사용할 수 있다. 60일이나 90일 동안 사용할 수 있는 셰어웨어도 있다. 데모버전이라고도 한다.
- 상용 소프트웨어(Commercial Software): 돈을 지불하고 사용권을 구매해서 사용해야 하는 소프트웨어 라이선스의 한 분류이다. 기업에서 제작하는 대부분의 소프트웨어가 상용 소프트웨어에 속한다. 예로는 Microsoft의 Office, Oracle의 Oracle DB 등이 있다. 상용 소프트웨어는 다시 Node locked license, floating license, per user license, per machine license와 같이 나뉠 수 있다.

소스 코드는 저작권법에 의해 보호되며, 이에 따라 소유자는 코드를 복사할 배타적 권리를 갖는다. 기본적인 아이디어나 알고리즘은 저작권법으로 보호받지 않지만, 종종 영업 비밀로 간주되어 기밀 유지 계약서와 같은 방법으로 은폐된다. 소프트웨어 저작권은 1970년대 중반부터 인정되어 왔으며, 소프트웨어를 만든 회사에 귀속되며, 소프트웨어를 작성한 직원이나 미국의 독립 계약업체에는 귀속되지 않는다. 대부분의 소프트웨어 사용은 저작권 소유자와 사용자 간의 계약(소프트웨어 라이선스)에 따라 규율된다. 프로프라이어터리 소프트웨어는 일반적으로 복사 및 재사용을 제한하는 제한적인 라이선스하에 판매되며 (종종 디지털 저작권 관리(DRM)과 같은 도구를 통해 시행된다). 반면, 오픈소스 라이선스는 소수의 조건하에 소프트웨어의 자유로운 사용과 재배포를 허용한다. 소프트웨어에 사용되는 대부분의 오픈소스 라이선스는 수정 사항을 동일한 라이선스하에 공개해야 하므로, 오픈소스 소프트웨어가 독점 프로젝트에 재사용될 때 복잡한 문제가 발생할 수 있다.
소프트웨어는 법적으로 지적 재산으로 간주되며 저작권법과 특허법으로 보호받는다. 일반적으로 저작권자가 소프트웨어의 이용 범위를 명시한 이용 허락 계약서를 준비하며, 소프트웨어 이용자는 이에 동의하지 않으면 이용할 수 없다. 이 계약 사항 또는 합의 사항을 소프트웨어 라이선스라고 한다. 저작권자가 이용 허락 계약서를 준비하지 않은 경우에는 저작권법의 범위 내에서 이용이 가능하다.
또한, 컴퓨터를 이용하는 발명에 대해 특허권이 인정되는 경우가 있다.
5. 4. 한국의 소프트웨어 관련 법률
소프트웨어산업 진흥법은 대한민국의 소프트웨어에 대한 정의를 내리고 있다.[1] 소프트웨어는 법적으로 지적 재산으로 간주되며 저작권법과 특허법으로 보호받는다. 일반적으로 소프트웨어 이용자는 저작권자가 명시한 이용 허락 계약서에 동의해야 하며, 이 계약 사항을 소프트웨어 라이선스라고 한다. 컴퓨터를 이용하는 발명에 대해 특허권이 인정되는 경우도 있다.5. 4. 1. 소프트웨어산업 진흥법
대한민국의 소프트웨어산업 진흥법에서는 소프트웨어를 "컴퓨터·통신·자동화 등의 장비와 그 주변장치에 대하여 명령·제어·입력·처리·저장·출력·상호 작용이 가능하도록 만드는 지시·명령(음성이나 영상정보를 포함한다)의 집합과 이를 작성하기 위하여 사용된 기술서 기타 관련 자료를 말한다."라고 정의한다.(법 제2조 1호)[1]소프트웨어는 법적으로 지적 재산으로 간주되며 저작권법과 특허법으로 보호받는다. 일반적으로 저작권자가 소프트웨어의 이용 범위를 명시한 이용 허락 계약서를 준비하며, 소프트웨어 이용자는 이에 동의하지 않으면 이용할 수 없다. 이 계약 사항 또는 합의 사항을 소프트웨어 라이선스라고 한다. 저작권자가 이용 허락 계약서를 준비하지 않은 경우에는 저작권법의 범위 내에서 이용이 가능하다.
또한, 컴퓨터를 이용하는 발명에 대해 특허권이 인정되는 경우가 있다.
5. 4. 2. 저작권법
소프트웨어는 법적으로 지적 재산으로 간주되며 저작권법과 특허법으로 보호받는다. 일반적으로 저작권자가 소프트웨어의 이용 범위를 명시한 이용 허락 계약서를 준비하며, 소프트웨어 이용자는 이에 동의하지 않으면 이용할 수 없다. 이 계약 사항 또는 합의 사항을 소프트웨어 라이선스라고 한다. 저작권자가 이용 허락 계약서를 준비하지 않은 경우에는 저작권법의 범위 내에서 이용이 가능하다.[1]또한, 컴퓨터를 이용하는 발명에 대해 특허권이 인정되는 경우가 있다.[2]
5. 4. 3. 정보통신망 이용촉진 및 정보보호 등에 관한 법률
소프트웨어는 법적으로 지적 재산으로 간주되며 저작권법과 특허법으로 보호받는다. 일반적으로 저작권자가 소프트웨어의 이용 범위를 명시한 이용 허락 계약서를 준비하며, 소프트웨어 이용자는 이에 동의하지 않으면 이용할 수 없다. 이 계약 사항 또는 합의 사항을 소프트웨어 라이선스라고 한다. 저작권자가 이용 허락 계약서를 준비하지 않은 경우에는 저작권법의 범위 내에서 이용이 가능하다.또한, 컴퓨터를 이용하는 발명에 대해 특허권이 인정되는 경우가 있다.[1]
6. 소프트웨어 산업
2011년 기업별 소프트웨어 매출액 순위는 다음과 같다.[10]
순위 | 기업명 (국가) | 소프트웨어 매출액 (백만 달러) | 총 매출액 (백만 달러) | 총 매출액 중 소프트웨어 비율(%) | 직원 수 (천 명) |
---|---|---|---|---|---|
1 | IBM (미) | 84,808 | 106,916 | 79.3 | 433 |
2 | 마이크로소프트 (미) | 60,399 | 69,943 | 86.4 | 90 |
3 | 휴렛 패커드 (미) | 39,171 | 130,687 | 30.0 | 350 |
4 | 오라클 (미) | 28,678 | 35,622 | 80.5 | 108 |
5 | 액센츄어 (미) | 25,507 | 27,353 | 93.3 | 236 |
6 | EMC코퍼레이션 (미) | 20,008 | 20,008 | 100.0 | 54 |
7 | SAP (독) | 18,464 | 18,464 | 100.0 | 56 |
8 | CSC (미) | 16,042 | 16,042 | 100.0 | 91 |
9 | 캡제미니 (프) | 15,546 | 15,546 | 100.0 | 120 |
10 | 히타치 (일) | 14,916 | 21,526 | 69.3 | 324 |
6. 1. 세계 소프트웨어 시장
2011년 기업별 소프트웨어 매출액은 다음과 같다.[10]순위 | 기업명 (국가) | 소프트웨어 매출액 (Million영어 달러) | 총 매출액 (Million영어 달러) | 총 매출액 중 소프트웨어 비율(%) | 직원 수 (천 명) |
---|---|---|---|---|---|
1 | IBM (미) | 84808USD | 106916USD | 79.3 | 433 |
2 | 마이크로소프트 (미) | 60399USD | 69943USD | 86.4 | 90 |
3 | 휴렛 패커드 (미) | 39171USD | 130687USD | 30.0 | 350 |
4 | 오라클 (미) | 28678USD | 35622USD | 80.5 | 108 |
5 | 액센츄어 (미) | 25507USD | 27353USD | 93.3 | 236 |
6 | EMC코퍼레이션 (미) | 20008USD | 20008USD | 100.0 | 54 |
7 | SAP (독) | 18464USD | 18464USD | 100.0 | 56 |
8 | CSC (미) | 16042USD | 16042USD | 100.0 | 91 |
9 | 캡제미니 (프) | 15546USD | 15546USD | 100.0 | 120 |
10 | 히타치 (일) | 14916USD | 21526USD | 69.3 | 324 |
6. 2. 한국 소프트웨어 시장
2011년 기업별 소프트웨어 매출액은 다음과 같다.[10]순위 | 기업명 (국가) | 소프트웨어 매출액 () | 총 매출액 () | 총 매출액 중 소프트웨어 비율(%) | 직원 수 (천 명) |
---|---|---|---|---|---|
1 | IBM (미) | 84808USD | 106916USD | 79.3 | 433 |
2 | 마이크로소프트 (미) | 60399USD | 69943USD | 86.4 | 90 |
3 | 휴렛 패커드 (미) | 39171USD | 130687USD | 30.0 | 350 |
4 | 오라클 (미) | 28678USD | 35622USD | 80.5 | 108 |
5 | 액센츄어(미) | 25507USD | 27353USD | 93.3 | 236 |
6 | EMC코퍼레이션 (미) | 20008USD | 20008USD | 100.0 | 54 |
7 | SAP (독) | 18464USD | 18464USD | 100.0 | 56 |
8 | CSC (미) | 16042USD | 16042USD | 100.0 | 91 |
9 | 캡제미니 (프) | 15546USD | 15546USD | 100.0 | 120 |
10 | 히타치 (일) | 14916USD | 21526USD | 69.3 | 324 |
7. 사회적 영향
엔지니어 케이퍼스 존스는 컴퓨터와 소프트웨어가 교육, 직업, 전쟁, 오락, 의학, 법률 등 인간 삶의 모든 측면에 엄청난 변화를 가져오고 있다고 기술했다.[1] 소프트웨어는 선진국의 일상생활에 널리 퍼져있다.[2] 가정용 가전제품, 엘리베이터와 같은 기존 기술의 기능을 향상시킬 뿐만 아니라,[3] 인터넷, 비디오 게임, 휴대폰, GPS와 같은 완전히 새로운 기술을 탄생시켰다.[4] 이메일, 인터넷 포럼, 블로그, 마이크로블로그, 위키, 소셜 미디어 등 새로운 통신 방법들이 인터넷을 통해 가능해졌다.[5] 이제 웹 검색을 통해 종이 기반 도서관보다 훨씬 많은 양의 지식을 빠르게 얻을 수 있다.[6] 대부분의 창작 전문가들은 컴퓨터 지원 설계, 3D 모델링, 디지털 이미지 편집, 컴퓨터 애니메이션과 같은 소프트웨어 기반 도구를 사용한다.[7] 거의 모든 복잡한 장치는 소프트웨어로 제어된다.[8]
7. 1. 긍정적 영향
케이퍼스 존스는 컴퓨터와 소프트웨어가 교육, 직업, 전쟁, 오락, 의학, 법률 등 인간 삶의 모든 측면에 엄청난 변화를 가져오고 있다고 말했다.[1] 소프트웨어는 선진국의 일상생활에 널리 퍼져있다.[2] 가정용 가전제품, 엘리베이터와 같은 기존 기술의 기능을 향상시킬 뿐만 아니라,[3] 인터넷, 비디오 게임, 휴대폰, GPS와 같은 완전히 새로운 기술을 탄생시켰다.[4] 이메일, 인터넷 포럼, 블로그, 마이크로블로그, 위키, 소셜 미디어 등 새로운 통신 방법들이 인터넷을 통해 가능해졌다.[5] 이제 웹 검색을 통해 종이 기반 도서관보다 훨씬 많은 양의 지식을 빠르게 얻을 수 있다.[6] 대부분의 창작 전문가들은 컴퓨터 지원 설계, 3D 모델링, 디지털 이미지 편집, 컴퓨터 애니메이션과 같은 소프트웨어 기반 도구를 사용한다.[7] 거의 모든 복잡한 장치는 소프트웨어로 제어된다.[8]7. 2. 부정적 영향
엔지니어 케이퍼스 존스는 "컴퓨터와 소프트웨어는 교육, 직업, 전쟁, 오락, 의학, 법률 등 인간 삶의 모든 측면에 엄청난 변화를 가져오고 있다"고 기술했다.[1] 소프트웨어는 선진국의 일상생활에서 어디에나 존재하게 되었다.[2] 소프트웨어는 가정용 가전제품, 엘리베이터와 같은 기존 기술의 기능을 향상시키고, 인터넷, 비디오 게임, 휴대폰, GPS와 같은 완전히 새로운 기술을 탄생시켰다.[3][4] 이메일, 인터넷 포럼, 블로그, 마이크로블로그, 위키, 소셜 미디어를 포함한 새로운 통신 방법들이 인터넷을 통해 가능해졌다.[5] 종이 기반 도서관보다 훨씬 많은 방대한 양의 지식이 이제 빠른 웹 검색을 통해 이용 가능하다.[6] 대부분의 창작 전문가들은 컴퓨터 지원 설계, 3D 모델링, 디지털 이미지 편집, 컴퓨터 애니메이션과 같은 소프트웨어 기반 도구로 전환했다.[7] 거의 모든 복잡한 장치는 소프트웨어에 의해 제어된다.[8]
참조
[1]
서적
Principles of Information Systems, Sixth Edition
Thomson
[2]
논문
The Text in the Machine: American Copyright Law and the Many Natures of Software, 1974–1978
2016-10
[3]
웹사이트
ソフトウェア(大辞林、ブリタニカ国際大百科事典)
https://kotobank.jp/[...]
[4]
웹사이트
ソフトウエア・通信業界とは - 就活準備 - マイナビ2025
https://job.mynavi.j[...]
2024-02-09
[5]
웹사이트
software
http://dictionary.re[...]
2007-04-13
[6]
서적
Electronic brains/Stories from the dawn of the computer age
British Broadcasting Corporation and Granta Books
[7]
간행물
情報通信白書 令和元年版
https://www.soumu.go[...]
総務省
2019
[8]
서적
メディアリテラシ
サイエンス社
2013-08-10
[9]
서적
基本情報技術者テキスト No.1 コンピュータシステム
[10]
서적
地理 統計要覧
[11]
웹인용
What is Software Development
https://www.ibm.com/[...]
IBM
2021-10-04
[12]
웹인용
What is Software
https://www.business[...]
Business Insider
2021-10-04
[13]
웹인용
Compiler construction
http://www.cs.uu.nl/[...]
관련 사건 타임라인
( 최근 20개의 뉴스만 표기 됩니다. )
한림대, 전국 첫 학부생 대상 ‘정보통신 표준화 강좌’ 개설
[MK시그널] 오라클 매도신호 포착, 수익률 50% 달성
픽셀소프트, 파크골프 AI 운영 플랫폼 ‘보이스파크’ 10월 출시 – 바이라인네트워크
컴퓨터융합학부, 사회복지상담학부 신설
‘소프트웨어·AI계열’로 개편해 신입생 선발
전북, 1조원 ‘피지컬 AI 사업’ 예타 면제 확정
삼육대, ‘2025 SW 산학협력 네트워크 데이’ 개최
뷰런테크놀로지, IPO 주관사 미래에셋증권 선정
엠로, 상반기 매출 426억8000만원…전년 대비 26.2% 증가 – 바이라인네트워크
디노티시아, 스코인포와 ‘지역 AI 시장’ 진출 – 바이라인네트워크
가비아, 그룹웨어 ‘하이웍스’에 업무관리 기능 출시 – 바이라인네트워크
티맥스소프트-CMC글로벌, 한·베트남 디지털 혁신 사업 협력 – 바이라인네트워크
이스트소프트, 2분기 잠정 실적 공시⋯매출 312억원·영업이익 81억원 – 바이라인네트워크
운전자도 없는데 질주…'좀비 차' 막는 해킹 방지법 시행
서울시립대, 대학혁신지원사업 성과평가‘최우수등급(S)’획득
메인비즈협회, 소프트웨어 우수인재 기업탐방 진행
"불리한 말 나오면 25% 외치며 자리 박차…피 말랐다"
텍스트만 입력하면 손쉽게 3D 콘텐츠로
두산로보틱스, 美지능형 로봇기업 인수
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com