[소프트웨어공학]소프트웨어 개발생명주기(SDLC) 모델 핵심 정리

1) 폭포수 모형(Waterfall Model)

 

특징

  • 1970년대 항공 소프트웨어 개발 경험으로 습득

  • 계획 -> 요구분석 -> 설계 -> 구현 -> 테스트 -> 인수 설치

  • 각 단계가 순차적으로 진행되며 다음 단계는 이전 단계가 완전히 끝난 후 진행되어야 함

 

장점

  • 프로세스가 단순하여 초보자도 쉽게 적용 가능

  • 중간 산출물이 명확하고 관리하기 쉬움

  • 코드 생성 전 충분한 연구/분석이 진행됨

 

단점

  • 각 단계의 전환에 많은 노력이 필요

  • 필요 없는 다종의 문서를 생산할 가능성이 높음

  • 오랜 계획과 분석으로 코딩 및 테스트가 지연될 가능성 존재

  • 프로토타입과 재사용성의 기회가 줄어듦

 

적용 분야

  • 이미 잘 알고 있는 문제나 연구

  • 변화가 적은 프로젝트에 적합

 

 

2) 프로토타이핑 모형(Prototyping Model)

 

특징

  • 사용자의 요구를 더 정확히 추출하기 위한 모형

  • 이해를 목적으로 만들고 버리는 '쓰고 버리는 프로토타이핑(Throwawy Prototyping)'과

  • 개발된 프로토타입을 수정, 보완하여 확장하는 '진화하는 프로토타이핑(Evolution Prototyping)'이 있음

 

장점

  • 사용자의 의견을 반영함

  • 개발자가 요구를 정확히 도출

 

단점

  • 중간 산출물의 정의가 난해하여 관리하기 어려움

  • 사용자의 오해 및 기대심리 유발

 

적용 분야

  • 사용자의 요구가 불투명한 프로젝트

  • 실현 가능성을 타진하는 용도

  • 혁신적인 기술을 사용하는 프로젝트에 적합

 

3) 점증적 모형(Incremental Model)

 

특징

  • 빠른 시간 내에 프로젝트를 완료하기 위하여 시스템을 나누어 릴리즈

  • 기능별로 릴리즈 하는 점증적 방법과 릴리즈 할 때마다 완성도를 높이는 반복적 점증으로 나뉨

 

장점

  • 기능이 부족하더라도 초기에 사용 가능

  • 시장 선점 가능

  • 예상하지 못한 문제에 대해 신속하고 꾸준하게 수정 가능

  • 릴리즈 할 때마다 다른 전문 영역에 포커싱 가능

 

단점

  • 사용자의 요구를 적절한 크기로 릴리스하기 어려움

 

 

 

4) 나선형 모형(Spiral Model)

 

특징

  • 시스템을 기능별로 나누어 점증적으로 개발하여 실패의 위험을 줄이고, 테스트를 용이하게 함

  • 계획 수립, 위험분석, 개발, 평가의 단계로 이루어짐

 

장점

  • 대규모 시스템 개발에 유용

  • 반복적인 개발 및 테스트로 강인성 향상

 

단점

  • 관리가 중요

  • 위험 분석이 중요

 

적용 분야

  • 재정적 또는 기술적으로 위험 부담이 큰 경우

  • 요구사항이나 아키텍처 이해가 어려운 경우

 

5) V 모형(V-Model)

 

특징

  • 요구분석 → 시스템 설계  → 상세 설계 → 코딩

    인수/설치 ← 시스템 테스트 ← 통합 테스트 ← 단위 테스트

  • 폭포수 모형의 변형으로 감추어진 반복과 재작업을 드러내고 결과의 검증에 초점을 맞춘 모델

 

 

장점

  • 오류를 줄임

 

단점

  • 반복이 없어 변경을 다루기 어려움

 

적용 분야

  • 신뢰성이 요구되는 분야

 

6) 일정 중심 설계 모형(Design-to-schedule Model)

 

특징

  • 사용자 요구에 대하여 우선순위를 정하고, 이를 기초로 각 사이클을 계획

  • 초기 단계에 중요한 기능들을 설계하고 구현하여 시스템의 골격을 만듦

 

장점

  • 상대적으로 덜 중요한 기능을 후순위에 두기 때문에 일정 조정이 가능

 

단점

  • 출시에 포함되지 않을 기능까지 분석, 설계하기 때문에 시간 낭비 가능성 존재

 

적용 분야

  • 소프트웨어 제품의 출시 날짜가 매우 중요한 경우

  • 목표 일정을 달성할 수 있을지 불확실할 때

 

 

7) 진화적 출시 모형(Evolutionary-delivery Model) 

 

특징

  • 고객의 요구를 여러 사이클에 걸쳐 개발하여 보여주면서 제품을 개선해 나가는 모형.

 

* 프로토타이핑 모형과 차이점

  • 고객의 요구를 프로토타이핑 모형처럼 전적으로 수용하지는 않음

  • 즉, 고객의 요구로 변경사항이 적은 부분이 시스템의 핵심

  • 프로토타이핑 모형은 시스템에서 눈에 띄는 부분을 먼저 강조하고 나중에 구멍을 메워 나가는 식

반응형
그리드형

댓글

❤️김세인트가 사랑으로 키웁니다❤️