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 및 자동화 도구 이용 소스코드 자동 생성 모델