728x90
소프트웨어 개발 방법론은 소프트웨어를 만드는 절차를 정의한다.
이런 방법론들은 소프트웨어를 만드는 방법과 팀을 이끄는 방법을 알려준다.
폭포수(Waterfall) 개발이란
폭포수 개발은 가장 전통적인 개발 방법론이다.
이름 그대로 한 단계가 끝나면 다음 단계로 한 번에 한 단계씩 넘어가는 방식이다. 폭포수 개발 방법론에는 소프트웨어 개발 생명주기(SDLC)가 포함되어 있다.
소프트웨어 개발 생명주기(Software Development Life Cycle)
SDLC는 다음의 과정을 포함한다.
- 요구사항 분석 : 개발할 소프트웨어에 필요한 요구사항을 모두 알아내는 단계이다. 무엇을 해야 하고, 어떤 기능이 있어야 하며, 어떻게 동작해야 하는지 등을 본격적으로 개발에 들어가기 전에 알아야 한다.
- 소프트웨어 디자인 : 요구사항 분석이 끝났다면 어떻게 만들지를 정해야 한다. 소프트웨어 디자인 단계에서는 시스템 아키텍처를 설계한다.
- 구현 : 개발 단계이다. 앞의 과정에서 한 설계가 코드로 바뀐다.
- 테스트 : 테스터가 테스트를 하고 버그를 찾아낸다. 다음 단계로 넘어가기 전에 최대한 많은 버그를 수정한다.
- 배포 : 이제 만들어진 소프트웨어가 실제로 작동하는지 확인한다. 그리곤 세상 사람들에게 알린다.
- 유지 보수 : 사람들에게 소프트웨어가 전달되었다면 더 많은 버그가 그 사람들에게 발견된다. 버그들을 고치고, 새로운 기능을 추가하고, 모든 것들이 정상적으로 움직이게 해야 한다.
폭포수 개발의 문제점
일련의 과정으로 이어지는 폭포수 개발에는 '요구사항 변화'라는 가장 큰 문제가 있다.
프로젝트가 끝나기 전까지 요구사항의 변화를 알 수 없기에 모든 과정이 끝난 후 요구사항이 변하거나 새로 생긴다면, 이미 완성된 것들을 모두 버리거나 새로운 요구사항을 포기해야 한다.
이러한 문제를 인식하고 보완하기 위해 생겨난 개발 방식이 '애자일'이다.
'기타' 카테고리의 다른 글
[소프트웨어 개발 방법론] 애자일 - 스크럼(Scrum) (0) | 2022.02.05 |
---|---|
[소프트웨어 개발 방법론] 애자일 - 개념 (0) | 2022.01.29 |
[OAuth 2.0] 4. API 호출과 Refresh Token (0) | 2022.01.23 |
[OAuth 2.0] 3. 액세스 토큰 발급 (0) | 2022.01.19 |
[OAuth 2.0] 2. Resource Owner와 Resource Server의 승인 (0) | 2022.01.19 |