소프트웨어 개발 수명주기는 하드웨어와 소프트웨어 전반에 걸쳐 정보 시스템을 계획,생성,테스트 및 배포하는 프로세스 입니다.
SDLC는 각 단계에서 소프트웨어 개발을 분석할 수 있는 프로세스를 측정하고 개선할 때에 도움이 됩니다. 각 단계에 대해서는 5W1H를 기준으로 답을 정의하는 것을 권장합니다. (특히 What)
SDLC는 소프트웨어 애플리케이션을 제작하고 배포하는 데 필요한 작업을 간략하게 설명합니다. 이에 따라 시간 낭비를 줄이고 효율성을 높일 수 있습니다. SDLC에 포함된 모니터링으로 기업은 모든 작업이 시기적절하고 예산을 준수하며, 소프트웨어가 계속해서 실현 가능한 투자인지 확인할 수 있습니다.
SDLC는 다음의 6단계로 나눠볼 수 있습니다
1. 요구 사항 수집 (Requirements)
2. 디자인 솔루션 (Design Software Solution)
3. 개발 (Development)
4. 테스트 (Testing)
5. 배포 (Deployment)
6. 유지 및 보수 (Maintain software Solution)
위의 단계를 수행하기 위해 다양한 방법론이 사용되고 있습니다.
잘알려진 3개의 방법론이 있습니다.
우리가 익히 알고 있는 전통적 모델입니다.
선형의 프로세스라 할 수 있습니다. 특징은 이전 단계가 완료되어야 다음 단계를 진행할 수 있다는 것입니다. 초기부터 개발 일정+ 예산이 모두 계획되어 있다는 것도 특징입니다. 주로 formal한 승인 단계와 문서를 수반합니다.
예시
1.1 요구사항 수집
1.2 디자인
1.3 개발
1.4 테스트
QA(Quality Assurance)산출물과 소스코드에 대한 품질을 보증하는 담당자
BA(Business Architect)기술적 관점이 아닌 비즈니스 관점의 프로세스 설계자
1.5 배포
1.6 유지 및 보수
위와 같이 폭포수 모델은 각 단계에서 진행하는 업무가 굉장히 명확합니다.
장 점
> 일정, 예산, 자원에 대해 명확하게 예측하기 쉽습니다.
> 프로세스가 단순하여 초보자가 쉽게 적용 가능합니다.
> 작성한 문서는 퀄리티와 신뢰도, 유지 보수성을 보장합니다.
> 진척도를 쉽게 측정할 수 있습니다.
단 점
> 처음 단계를 지나치게 강조하면 코딩이나 테스트가 지연될 수 있습니다.
> 프로젝트 시작과 실제 결과 간 간극이 존재할 우려가 있습니다.
> 사용자 테스트에서 문제가 발견되기도 합니다.
> 문서가 최신 상태를 유지하지 못해 활용도가 떨어질 수 있습니다.
> 고객/사업팀과 개발팀 간 갭이 커질 수 있습니다.
IT 5분 잡학사전 TIL (3) (0) | 2023.08.29 |
---|---|
IT 5분 잡학사전 TIL (2) (0) | 2023.08.28 |
IT 5분 잡학사전 TIL (1) (0) | 2023.08.27 |
디버깅에 대해 (0) | 2023.01.13 |
웹앱 / 모바일 웹의 차이에 대해 (0) | 2023.01.10 |