상세 컨텐츠

본문 제목

SLDC(소프트웨어 개발 수명주기)란?

CS지식

by 호치민 개발자 2023. 1. 11. 20:12

본문

소프트웨어 개발 수명주기는 하드웨어와 소프트웨어 전반에 걸쳐 정보 시스템을 계획,생성,테스트 및 배포하는 프로세스 입니다.
SDLC는 각 단계에서 소프트웨어 개발을 분석할 수 있는 프로세스를 측정하고 개선할 때에 도움이 됩니다. 각 단계에 대해서는 5W1H를 기준으로 답을 정의하는 것을 권장합니다. (특히 What)

 

SLDC 작동 방식

SDLC는 소프트웨어 애플리케이션을 제작하고 배포하는 데 필요한 작업을 간략하게 설명합니다. 이에 따라 시간 낭비를 줄이고 효율성을 높일 수 있습니다. SDLC에 포함된 모니터링으로 기업은 모든 작업이 시기적절하고 예산을 준수하며, 소프트웨어가 계속해서 실현 가능한 투자인지 확인할 수 있습니다.

 

SDLC는 다음의 6단계로 나눠볼 수 있습니다
1. 요구 사항 수집 (Requirements)
2. 디자인 솔루션 (Design Software Solution)
3. 개발 (Development)
4. 테스트 (Testing)
5. 배포 (Deployment)
6. 유지 및 보수 (Maintain software Solution)

위의 단계를 수행하기 위해 다양한 방법론이 사용되고 있습니다.
잘알려진 3개의 방법론이 있습니다.

 

1. 폭포수 모델


우리가 익히 알고 있는 전통적 모델입니다.

 

선형의 프로세스라 할 수 있습니다. 특징은 이전 단계가 완료되어야 다음 단계를 진행할 수 있다는 것입니다. 초기부터 개발 일정+ 예산이 모두 계획되어 있다는 것도 특징입니다. 주로 formal한 승인 단계와 문서를 수반합니다.

 

예시
1.1 요구사항 수집

  • 사업적 분석 필요
  • 요구사항 도출 및 문서화

1.2 디자인

  • [1.1]의 요구사항을 만족하는 디자인
  • 시스템뿐만 아니라 하드웨어적 요구사항도 결정

1.3 개발

  • [1.2]의 분절을 각각 개발
  • [1.2]의 분절을 각각 유닛 테스트

1.4 테스트

  • 각 분절을 시스템 차원에서 테스트(QA또는 BA)
  • [1.2]의 분절을 각각 유닛 테스트

QA(Quality Assurance)산출물과 소스코드에 대한 품질을 보증하는 담당자
BA(Business Architect)기술적 관점이 아닌 비즈니스 관점의 프로세스 설계자

 

1.5 배포

  • 프로덕션 환경에 배포
  • 마켓에 배포

1.6 유지 및 보수

  • 버그 수정 및 패치
  • 새로운 요구사항 발생 시 업데이트

위와 같이 폭포수 모델은 각 단계에서 진행하는 업무가 굉장히 명확합니다.

 

장 점
> 일정, 예산, 자원에 대해 명확하게 예측하기 쉽습니다.
> 프로세스가 단순하여 초보자가 쉽게 적용 가능합니다.
> 작성한 문서는 퀄리티와 신뢰도, 유지 보수성을 보장합니다.
> 진척도를 쉽게 측정할 수 있습니다.

단 점
> 처음 단계를 지나치게 강조하면 코딩이나 테스트가 지연될 수 있습니다.
> 프로젝트 시작과 실제 결과 간 간극이 존재할 우려가 있습니다.
> 사용자 테스트에서 문제가 발견되기도 합니다.
> 문서가 최신 상태를 유지하지 못해 활용도가 떨어질 수 있습니다.
> 고객/사업팀과 개발팀 간 갭이 커질 수 있습니다.

'CS지식' 카테고리의 다른 글

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

관련글 더보기