소프트웨어 생명주기
잡동사니
소프트웨어 생명주기는 여러 가지 형태로 정의되지만 대체로 정의, 분석, 설계, 구현, 검증의 다섯 단계가 많이 이야기 됩니다. 여기서는 뒤의 다섯 단계에 설치와 운영을 추가하여 각 단계에 대해 간략히 설명합니다. 자세한 내용은 각 문서를 참고하시기 바랍니다.
목차 |
구현
학교 과제로 나온 프로그램을 작성할 때 과제 내용이 간단한 경우 보통 편집기를 열어 바로 코딩을 합니다. 이 단계가 바로 구현으로 이렇게 작성해야지 하던 내용을 실제 코드로 작성하는 단계입니다. 구현을 할 수록 가상으로 존재하던 프로그램이 실체를 가지게 되므로 많은 프로그래머들이 구현 단계에서 재미를 느낍니다.
설계
위에서 말한 과제와 같은 간단한 프로그램이라면 생각한 대로 바로 코드를 짜더라도 큰 문제가 없습니다. 그러나 좀 더 규모가 있는 상용 제품이나 오픈소스 프로젝트에서는 바로 코딩에 들어가기 전에 어떻게 짤 것인가를 미리 결정하고 검토해야 막연한 생각에 오류 등을 찾아낼 수 있습니다. 즉, 구현에 앞서 설계를 해야 합니다.
요구사항
앞의 설계를 좀 더 살펴보면 학교 과제건 고객에게 납품할 제품이건 무엇을 만들 것인지 정하고 설계에 들어가야 합니다. 따라서 이 목표를 정하는 것을 요구사항 정의라고 합니다. 그리고 정의가 끝나면 그것이 과연 타당한 것인지, 여러 요구 사항 중 서로 충돌하는 건 없는 지 요구사항을 분석합니다.
보통 같이 언급되는 정의/분석 단계는 유사하거나 겹치는 부분이 많아 칼로 베듯 구분하기 힘듭니다. 따라서 이 둘을 합쳐 소프트웨어 요구사항이라고 부릅니다.
검증
고객의 요구을 정의/분석하고 설계를 한 다음 구현까지 마치면 완성된 프로그램이 과연 요구를 만족하는 지 확인해야 합니다. 이 단계가 검증 단계입니다.
유지보수
검증까지 마치면 고객에게 전달하여 PC나 서버에 설치를 합니다. 설치까지 마치면 고객은 프로그램을 운영(사용)하게 됩니다.

