소프트웨어 개발
소프트웨어 개발(Software development)은 소프트웨어의 기능과 동작을 기획·설계하고 이를 구현·검증하여 사용 가능한 프로그램이나 시스템으로 제공하는 활동이다. 소프트웨어 공학이 소프트웨어 시스템의 개발과 운영에 공학적인 원칙을 적용하는 분야라면, 소프트웨어 개발은 요구사항...
| 영문명 | Software development |
|---|---|
| 분류 | 소프트웨어 공학, 기술 활동 |
| 주요 활동 | 요구사항 분석, 설계, 구현, 검증, 배포, 유지보수 |
| 관련 개념 | 소프트웨어 생명주기, 프로그래밍, DevOps |
| 대상 | 시스템 소프트웨어, 응용 소프트웨어, 서비스 |
소프트웨어 개발(Software development)은 소프트웨어의 기능과 동작을 기획·설계하고 이를 구현·검증하여 사용 가능한 프로그램이나 시스템으로 제공하는 활동이다. 소프트웨어 공학이 소프트웨어 시스템의 개발과 운영에 공학적인 원칙을 적용하는 분야라면, 소프트웨어 개발은 요구사항에서 실제 구현과 전달에 이르는 기술적·실무적 과정을 가리키는 폭넓은 용어다.
개발 과정에는 프로그래밍, 인터페이스와 데이터 모델 설계, 코드 검토, 테스트, 빌드와 배포가 포함될 수 있다. 제품의 목적에 따라 운영체제나 컴파일러와 같은 시스템 소프트웨어를 개발하거나, 게임 엔진, 그래픽 편집기, 웹 애플리케이션과 같은 응용 소프트웨어를 개발한다.
소프트웨어 개발 활동은 소프트웨어 생명주기 안에서 반복되며, 폭포수 모델, 애자일 소프트웨어 개발, DevOps 등 다양한 개발·운영 접근과 결합된다. 개발에 사용되는 언어, 프레임워크, 라이브러리와 도구를 관련 문서로 연결하면 소프트웨어 제품과 기술 기반 사이의 관계를 추적할 수 있다.