소프트웨어 생명 주기
소프트웨어 생명 주기는 소프트웨어 개발 방법론[^1]의 바탕이 되는 것으로, 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 각 단계별로 나눈 것이다. - 소프트웨어 생명 주기는 소프트 웨어 개발 단계와 각 단계별 주요 활동, 그리고 활동의 결과에 대한 산출물로 표현한다. 소프트웨어 수명 주기라고도 한다. - 일반적으로 사용되는 소프트웨어 생명 주기 모형에는 폭포수 모형, 프로토 타입 모형, 나선형 모형, 애자일 모형 등이 있다.
소프트웨어 공학의 개념
- 소프트웨어 공학(SE: Software Engineering)은 소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문이며 여러 가지 방법론과 도구, 관리 기법들을 통하여 소프트웨어의 품질과 생산성을 향상시킬 목적으로 합니다.
- 소프트웨어 공학은 다음과 같이 여러 형태로 정의 할 수 있습니다. -IEEE의 소프트웨어 공학 표준 용어사전 : 소프트웨어의 개발, 운용, 유지보수, 폐기 처분에 대한 체계적인 접근 방안 -Fairley : 지정된 비용과 기간 내에 소프트웨어를 체계적으로 생산하고 유지보수하는 데 관련된 기술적으고 관리적인 원리 -Boehm : 과학적인 지식을 소프트웨어 설계와 제작에 응용하는 것이며 이를 개발, 운용, 유지보수하는 데 필요한 문서 작성 과정
소프트웨어 공학의 기본 원칙
- 현대적인 프로그래밍 기술을 계속적으로 적용해야 합니다.
- 개발된 소프트웨어의 품질이 유지되도록 지속적으로 검증해야 합니다.
- 소프트웨어 개발 관련 사항 및 결과에 대한 명확한 기록을 유지해야 합니다.
[^1]: 소프트웨어 개발 방법론은 소프트웨어 개발과 유지보수 등에 필요한 여러 가지 작업들의 수행 방법과 이러한 작업들을 좀 더 효율적으로 수행하기 위해 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것입니다.