SDLC
System Development Life Cycle
SDLC의 개요
SDLC의 정의
소프트웨어 개발 환경에서 분석, 설계, 실행을 기반으로 구축한 개발 방법론 프로세스
SDLC의 필요성
- 시스템의 가변성: 변화하는 사용자의 요구사항 수용이 요구됨
- Project의 진행관리: 시스템 개발 과정을 일련의 단계로 나누고 매 단계마다 Task를 부여하여 이에 대한 최종 산출물을 명시
SDLC 단계 및 장단점
SDLC 단계
단계 | 상세 설명 | 산출물 |
---|---|---|
타당성 조사 | 조직적/경제적/기술적/운영적/동기적 타당성 | |
시스템 분석 | 조직분석/현재 시스템 분석/시스템 요구사항 분석 | |
시스템 설계 | 인터페이스 설계/데이터 설계/프로그램 설계 | |
시스템 구축 | 하드웨어, 소프트웨어 획득/테스팅/시스템 전환 | |
시스템 운영 | 시스템 유지/보수/개선 |
SDLC 장단점
장점
- 소프트웨어 개발과정에 대한 확실한 통제 가능
- 대규모 시스템 개발에 적합
- 문서화 용이
단점
- 사용자 요구사항의 변경에 적절히 대응하기 어려움 (시스템 개발의 경직성)
- SDLC의 후반부에는 사용자의 요구사항을 반영하기 어려움
SDLC 대표 모형
- 폭포수 모형: 검토/승인을 거쳐 순차적·하향식으로 개발이 진행되는 생명주기 모델
- 프로토타입 모형: 핵심적인 기능을 먼저 만들어 평가한 후 구현하는 점진적 개발 방법
- 나선형 모형: 폭포수와 프로토타입 모델 장점에 위험분석을 추가한 모델 (B. Boehm)
- 반복 점증적 모형: 시스템을 여러 번 나누어 릴리스 하는 방법