[기술사토픽] SDLC & 소프트웨어 개발 모델 완벽 정리 - 한장정리
소프트웨어 개발 생명주기(SDLC) 개념과 폭포수·나선형·프로토타입·RAD 모델의 특징·장단점을 비교 정리합니다. 정보관리기술사·컴퓨터시스템응용기술사 빈출 주제입니다.
Ⅰ. 소프트웨어 개발 체계화 기술, SDLC의 개요
개념: SDLC(Software Development Life Cycle)는 소프트웨어를 계획부터 폐기까지 체계적으로 개발·운영·유지보수하는 전 과정을 단계별로 정의한 프로세스 모델입니다.
특징: (1) 품질·비용·일정을 통합 관리하는 프레임워크 (2) 결함 발견이 늦을수록 수정 비용이 기하급수적으로 증가
|
① 계획
|
타당성 검토, 범위 정의, 자원 계획 |
| ↓ | |
|
② 요구분석
|
요구사항 수집·분석·명세화 → SRS |
| ↓ | |
|
③ 설계
|
시스템 구조·DB·UI 설계 |
| ↓ | |
|
④ 구현
|
코딩, 단위 테스트, 코드 리뷰 |
| ↓ | |
|
⑤ 테스트
|
통합·시스템·인수 테스트, 결함 수정 |
| ↓ | |
|
⑥ 유지보수
|
오류 수정, 기능 개선, 성능 최적화 |
유지보수 비용이 전체 SDLC 비용의 60~80%를 차지하며, 결함은 발견 시기가 늦을수록 수정 비용이 급증하므로 초기 단계에서의 품질 관리가 핵심입니다.
Ⅱ. SDLC 주요 개발 모델 및 구성요소
모델 선택: 순차형(폭포수) · 반복형(나선형) · 프로토타입형 · 신속형(RAD)으로 분류되며 프로젝트 특성에 따라 선택합니다.
Royce(1970) 제안. 각 단계를 순차 진행하며 이전 단계 완료 후 다음 단계 진입. 요구사항이 명확하고 변경이 적은 프로젝트에 유리. 단, 후반부 변경 시 비용 급증.
Boehm(1988) 제안. 위험 분석(Risk Analysis)을 핵심으로 계획 → 위험분석 → 개발 및 검증 → 고객평가 사이클 반복. 대형·고위험 프로젝트에 적합.
|
① 계획
|
목표·대안·제약 설정 |
| ↓ | |
|
② 위험분석
|
위험 식별·평가·해결 → 프로토타입 제작 |
| ↓ | |
|
③ 개발 및 검증
|
코딩·테스트·품질 검증 |
| ↓ | |
|
④ 고객평가
|
사용자 평가 → 다음 사이클 계획 |
| 모델 | 제안자 | 핵심 특징 |
|---|---|---|
| 폭포수 | Royce(1970) | 순차 진행, 단계별 완료, 문서화 우수 |
| 나선형 | Boehm(1988) | 위험 분석 반복, 4단계 사이클, 대형 프로젝트 |
| 프로토타입 | – | 시제품 기반, 사용자 피드백, 요구 불명확 시 |
| RAD | J.Martin | 60~90일 신속 개발, CASE 도구, 재사용 컴포넌트 |
Ⅲ. SDLC 모델 비교 및 선택 기준
| 구분 | 폭포수 | 나선형 | 프로토타입 | RAD |
|---|---|---|---|---|
| 반복 여부 | 없음 | 있음 (사이클) | 있음 (피드백) | 없음 |
| 장점 | 문서화 우수 이해 용이 |
위험 관리 강점 유연성 |
빠른 피드백 요구 구체화 |
빠른 납기 재사용 극대화 |
| 단점 | 변경 어려움 후반 오류 발견 |
관리 복잡 비용 높음 |
Scope Creep 문서화 부족 |
대규모 부적합 컴포넌트 의존 |
| 적합 상황 | 요구 명확 변경 적음 |
대형·고위험 | 요구 불명확 | 소규모·단기 |
| 개발 기간 | 장기 | 장기 | 중기 | 60~90일 |
요약: 요구 명확 → 폭포수 / 고위험·대형 → 나선형 / 요구 불명확 → 프로토타입 / 단기·소규모 → RAD 로 프로젝트 특성에 맞게 선택.
Ⅳ. 결론 및 전문가 의견
SDLC는 소프트웨어 개발의 품질·비용·일정을 체계적으로 관리하는 핵심 프레임워크입니다.
향후 애자일·DevOps와의 융합, AI 기반 자동화 개발(Low-Code/No-Code), 지속적 배포(CD) 파이프라인으로 발전하며 SDLC의 경계가 점차 유연해지고 있습니다.
"SDLC는 단순한 개발 절차가 아니라 소프트웨어 품질을 '설계하는 기술'이며, 올바른 모델 선택이 프로젝트 성패를 결정한다."
블로그: 기술사 학습노트 · imt-log.tistory.com
'소프트웨어공학' 카테고리의 다른 글
| DevOps CI/CD 형상관리 개념 정리 (0) | 2026.03.19 |
|---|---|
| 소프트웨어 테스팅 기법과 전략 총정리 (0) | 2026.03.19 |
| SOLID 원칙 객체지향 설계 패턴 정리 (0) | 2026.03.18 |
| 애자일 스크럼 개념과 실무 적용 정리 (0) | 2026.03.18 |
| 소프트웨어공학 완전정복 — 기술사 핵심 토픽 모음 (0) | 2026.03.18 |