- 소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문
- 소프트웨어를 효율적이고 품질 좋게 만들기 위해 공학적인 방법론과 원리를 적용하는 학문
필요성
- 현대 소프트웨어는 크고 복잡하며 여러 사람이 협업하면서 문제 발생
- 프로젝트 일정 지연
- 개발 비용 초과
- 품질 저하, 오류 증가
- 유지보수 어려움
- 이런 문제를 해결하기 위해 공학적인 관리와 절차가 필요한 것이 소프트웨어 공학임
기본 원칙
- 현대적인 프로그래밍 기술을 계속적으로 적용
- 개발된 소프트웨어의 품질이 유지되도록 지속적으로 검증
- 소프트웨어 개발 관련 사항 및 결과에 대한 명확한 기록을 유지
주요 목표
- 생산성 향상 : 개발 속도를 높이고 효율적으로 일하기
- 품질 향상 : 오류를 줄이고 신뢰성 높은 소프트웨어 제공
- 유지보수 용이성 확보 : 수정과 확장이 쉬운 구조 설계
- 비용 절감 : 불필요한 재작업 줄이기
- 고객 만족도 향상 : 요구사항을 정확히 반영한 결과 제공
정리
- 소프트웨어를 체계적이고 효율적으로 개발하기 위한 공학적 접근
- 목적은 품질 향상과 생산성 향상임