소프트웨어 생명 주기

ddindo·2022년 3월 19일
0

정보처리기사

목록 보기
1/8

정의

소프트웨어 생명 주기는 소프트웨어 개발 방법론의 바탕이 되는 것으로, 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 나눈 것이다.


종류

  • 폭포수 모형 (Waterfall model)
  • 프로토타입 모형 (Prototype model)
  • 나선형 모형 (Spiral model)
  • 애자일 모형 (Agile model)

폭포수 모형

폭포수가 위에서 아래로 진행 되는 것같이 한 쪽 방향으로 linear하게 진행 되는 모델

  • 소프트웨어 공학에서 가장 오래되고 폭 넓게 사용 되는 모델
  • 한 단계가 끝나야 다음 단계로 넘어 갈 수 있는 linear 모델


    타당성 검토 > 계획 > 요구분석 > 설계 > 구현 > 테스트 > 유지보수

프로토타입 모형

이해관계자의 요구사항을 정확하게 파악 하기 위해 prototype을 만들어 최종 결과물을 예측하는 모델

  • 프로토타입은 인터페이스를 중점으로 제작
  • 제작한 프로토타입은 후에 제품의 뼈대가 될 수 있다.
  • 소프트웨어 개발이 완료된 시점에서 문제를 발견하는 폭포수 모델의 단점을 보완


    요구수집 > 빠른 설계 > 프로토타입 구축 > 고객 평가 > 프로토타입 조정 > 구현

나선형 모형

폭포수 모형과 프로토타입 모형의 장점에 위험 분석을 추가한 모형

  • 나선을 따라 돌듯 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발
  • 소프트 웨어 개발 간 발생하는 위험을 관리하고 최소화하는 목적을 가짐
  • 점진적으로 개발 과정이 반복 돼 유동적으로 관리 할 수 있다.

계획 수립 > 위험 분석 > 개발 및 검증 > 고객 평가 > 계획 수립 > ... > 고객 평가


애자일 모형

고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발과정을 진행한다

  • 어느 특정 개발 방법론이 아니라 고객과의 소통에 초점을 맞춘 방법론을 통칭
  • 현대 기업에서 가장 많이 사용하는 모형
  • Sprint 또는 Iteration이라 불리는 짧은 개발 주기를 반복하여 주기 마다 만들어지는 결과물에 대한 고객의 의견을 수용함

ex ) Scrum, XP, Kanban, ...

애자일의 핵심 가치

  1. 프로세스와 도구보다는 개인과 상호작용
  2. 방대한 문서보다는 실행되는 SW
  3. 계약 협상보다는 고객과 협업
  4. 계획에 따르기 보다는 변화에 반응

폭포수와 애자일 비교

폭포수 모형애자일 모형
새로운 요구사항 반영어려움지속적으로 반영
고객과의 의사소통적음지속적임
테스트마지막에 몰아서반복되는 일정 주기가 끝날 때마다
개발 중심계획, 문서고객

0개의 댓글