cs
SDLC(Software Development Life Cycle)이란?
suminpark
2022. 11. 28. 23:42
SDLC(Software Development Life Cycle)의 정의
- 소프트웨어를 개발하는 전 과정을 단계별로 나눈 것으로 소프트웨어 개발 및 관리에 기본적인 틀을 제공하는 모델
- SDLC의 의미
- 관리적 측면 : 이정표, 기준선 제공 통한 SW개발과정 가시화
- 기술적 측면 : 방법론, 도구, 절차 적용의 기본적인 틀 제공
- SDLC의 구성
구성 | 설명 | 산출물 |
요구정의 | 요구사항 명세화, 기능/제약 조건 정의 | 요구사항 정의서 |
분석 | 문제영역, 사용자, Task를 이해하는 단계 | 개념/비즈니스 모델 |
설계 | 분석모델 세분화를 통한 구현 모델로 전환 | 설계모델 |
구현 | 실행코드 생성 | Source Code |
시험 | 숨어 있는 결함 발견 및 수정 | 알파/베타 테스트 |
유지보수 | 인수 후 일어나는 SW 생명연장 활동 | Update, Fixes 등 |
- SDLC의 유형
유형 | 내용 |
Waterfall Model | - 검토 / 승인 통해 순차적, 하향식 개발 진행 - 장점 : 이행 용이, 다음단계 진행 전 결과 검증하여 관리 용이 - 단점 : 초기 요구사항 도출이 어려움으로 설계 / 코딩의 지연, 회구 곤란 |
Prototyping Model | - 핵심기능 시제품화를 통한 평가 후 구현하는 검진적 모델 - 장점 : 요구사항 도출 / 시스템 이해 용이, 의사소통 항상 - 단점 : 사용자 오해(완제품), 폐기 프로토타입 존재 |
Spiral Model | - 폭포수와 프로토타입 모델 장점에 위험분석 추가 - 장점 : 점증적 개발로 실제 위험 감소, 피드백 / 테스트 용이 - 단점 : 관리 복잡, 신한 / 비용 / 노력 많이 소요 |
Iterative Model | - 시스템을 여러 번 나누어 릴리즈하는 모델 - Increamental : 기능 분해 후 릴리즈마다 기능 추가 개발 - Evolutionary : 반복을 통해 시스템 버전을 업그레이드하는 방법 |
Clean Room Model | - 클린룸의 결함 예방 개념을 적용하여 핵심 기능을 프로토타입화 함으로써 반복 / 증분시키는 모델 |
RAD Model | - Rapid Application Development Model - 고객의 참여, Case Tool의 활용을 통한 신속한 SW개발 모델 |
4세대 기법 | - CASE 및 자동화 도구 이용 소스코드 자동 생성 모델 |