소프트웨어 개발 프로세스 - 반복적 모델의 종류와 차이점

2021. 4. 21. 00:42 기타 정보/소프트웨어 공학

소프트웨어 개발 프로세스 - 반복적 모델의 종류와 차이점

소프트웨어 개발 프로세스 모델 중 반복적 모델은 증분형(Incremental) 모델과 진화형(Evolutional) 모델 두 가지로 구분할 수 있다.

 

1. 반복적 모델 - 진화형 모델(Iterative Evolutional Model)

  • 불안정한(미완성된) 요구사항으로부터 명세(설계) ➡️ 개발 ➡️ 검증 과정을 거쳐 초기버전 개발
  • 명세(설계) ➡️ 개발 ➡️ 검증 과정을 반복하여 중간 버전, 최종 버전 개발
  • 프로토타이핑을 통해 요구사항을 보완하며 점차적으로 명확한 요구사항 도출
  • 반복 진화형 모델의 확장 형태로 나선형 모델(spiral model)🔗이 있다.
  • 장점
    • 요구사항이 완성되지 못한 경우에도 초기 버전 개발 가능
  • 단점
    • 개발 비용 예상 어려움
    • 반복 작업에 의한 프로젝트 지연 가능성 큼
    • 잦은 수정 작업 - 소프트웨어 구조와 유지보수에 악영향

 

2. 반복 진화형 모델에서 사용하는 프로토타이핑(Prototyping) 방법이란?

프로토타이핑은 개발초기에 시스템의 모형(원형, prototype)을 간단히 만들어 사용자에게 보여 주고, 사용자가 정보시스템을 직접 사용해 보게 함으로써 기능의 추가, 변경 및 삭제 등을 요구하면 이를 즉각 반영하여 정보시스템 설계를 다시 하고 프로토타입을 재구축하는 과정을 사용자가 만족할 때까지 반복해 나가면서 시스템을 개선시켜 나가는 방식이다. - 위키백과
  • Throwaway Prototyping
    • 프로토타입을 의사소통 수단으로만 사용
    • 요구사항이 확인되면 프로토타입을 버리고 새로 개발
  • Evolutionary Prototyping
    • 요구사항이 명확한 부분부터 프로토타입을 개발하여 점진적으로 발전시켜 최종 버전을 개발
  • 장점
    • 프로젝트 실현 가능성, 소프트웨어 개발 가능성 판단 가능
    • 개발자-사용자 간 의사소통이 명확해짐
    • 기능적 요구사항 외에도 성능, 유용성 등의 품질 요구를 분명히 할 수 있음
    • 시스템을 미리 사용함으로써 사용자 교육 효과가 있음
    • 개발 단계에서 유지보수가 일어나는 효과가 있음
  • 단점
    • 문서화 어려움
    • 진행사항 제어가 어려움

 

3. 반복적 모델 - 점증적 모델(Iterative Incremental Model)

  • 여러 개의 시스템/모듈로 분해하고 각각을 점증적으로 개발, 릴리즈하는 방식
  • 선형 순차 모델을 여러 번 적용하고 그 결과를 조합함
  • 각 모듈을 증분(Increment)이라고 한다.
  • 핵심 증분을 우선적으로 개발
  • 장점
    • 핵심 증분을 먼저 개발하므로 사용자는 시스템을 비교적 일찍 사용 가능
    • 릴리즈 방식 - 요구사항 변화에 대응 용이
    • 여러 증분으로 쪼개지므로 각 증분의 관리가 용이
    • 먼저 개발되는 핵심 증분이 반복적으로 테스트되는 효과
  • 단점
    • 현실적으로 기능적 분해가 어려움
    • 증분들을 개발하기 전에 요구사항을 명확하게 정의해야 함

 

4. 반복적 모델 - 진화형 모델 VS 점증적 모델

  • 반복 진화형 모델
    • 요구사항이 불안정, 불명확할 때 사용
    • 개발이 진행되면서 요구사항의 변화를 수용
    • 새로운 기술을 적용해야 할때 적합
    • 한 번에 모든 기능을 포함한 버전을 인도해야 하는 경우에 사용
    • 요구사항을 나누지 않고 전체 요구사항에 대해 명세(설계) ➡️ 개발 ➡️ 검증 반복
  • 반복 점증적 모델
    • 요구사항의 중요도에 따라 요구사항을 나누고 작업 순서를 정함
    • 중요한 요구사항을 먼저 개발
    • 개발 과정에서 여러 번의 릴리즈가 발생

 

References

한국방송통신대학교 컴퓨터과학과 소프트웨어공학(김희천 교수)

 

 

출처 : atoz-develop.tistory.com/entry/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EB%B0%98%EB%B3%B5%EC%A0%81-%EB%AA%A8%EB%8D%B8%EC%9D%98-%EC%A2%85%EB%A5%98%EC%99%80-%EC%B0%A8%EC%9D%B4%EC%A0%90?category=814648