Learning
토픽 1 / 192·소프트웨어공학 개요

소프트웨어공학 (Software Engineering)

소프트웨어공학 (Software Engineering)

소프트웨어의 개발, 운영, 유지보수를 위해 체계적이고 정량적이며 규율 있는 접근법을 적용하는 학문으로, 고품질 소프트웨어를 정해진 비용과 기간 내에 개발하기 위한 공학적 원리와 방법론

등장배경: 1968년 NATO 회의에서 '소프트웨어 위기' 해결을 위해 제안

특징: 체계적 방법론 적용, 품질·비용·일정의 균형, 재사용성 강조, 문서화 중시

구성요소: ① 프로세스(개발 절차) ② 방법(기법/기술) ③ 도구(자동화) ④ 사람(조직/역량)

핵심원리: 추상화, 모듈화, 정보은닉, 단계적 분해, 관심사 분리

적용사례: 공공 SI, 금융 시스템, 임베디드 소프트웨어, 웹/앱 서비스

비교: 공학적 접근(계획적/예측가능) vs 주먹구구식(임기응변/위험)

연관: SDLC, 개발방법론, 품질관리, 프로젝트관리