- 개발해야할 요구사항을 n개로 증분하여, 병렬적으로 구현해서 합치는 방식
- 병렬개발로 인해 속도는 빨라질 수 있지만, 증분이 많아지면 관리, 통합 등이 매우 어려워짐
2. Evolutional Model (진화적 모델)
- 빠른시간 안에 시장에 출시해야 이윤에 직결되는 시스템의 경우 적용할 수 있음
- 개발시간을 줄이기 위해서 나눠서 여러번으로 릴리즈함 (사이클 n번에 끝남)
- 자주 릴리즈 할때마다 유저에 의해서 테스트가 자동으로 진행되기 때문에 좋은 품질의 프로그램이 만들어짐
3. Spiral Model (나선형 모델) : ORDE (Objective Risk Develop Evaluate)
- Evolutional Model (진화적 모델)의 Special Case임.
- 진화적모델이 단순히 개발 → 릴리즈 → 개발 → 릴리즈였다면 그것을 4단계로 넓힘
- 목표설정 → 위험분석 →개발 및 테스트 → 릴리즈 순서로 계속 반복함
- 위험분석 (Risk Analysis) 과정을 거치기 때문에 실패의 위험을 줄일 수 있음
(1) 나선형 모델의 장점
- Risk Analysis가 존재해 대규모 시스템에 적합 (위험부담이 큰 경우)
- 반복적인 개발 및 테스트로 인해 품질이 좋아짐
- 한 사이클에 추가 못한 기능들은 다음 단계에 추가하면 됨
(2) 나선형 모델의 단점
- 관리하기가 굉장히 어려움 (프로세스 자체가 복잡함)
- 사람들이 익숙하지 않기 떄문에 적용하기 어려움
4. Reference
소프트웨어공학 개론
소프트웨어를 개발하고 유지보수하는 데 적용되는 체계적이며 원리적인 접근 방법을 소개한다. 소프트웨어를 개발하는 프로젝트를 계획하는 기법, 사용자의 요구를 분석하는 기법, 소프트웨어
www.kocw.net
'소프트웨어공학' 카테고리의 다른 글
프로세스 (7) - 애자일 프로세스 모델 (2) - 스크럼 (Scrum) (0) | 2020.05.13 |
---|---|
프로세스 (6) - 애자일 프로세스 모델 (1) - 선언문(Manifesto) (0) | 2020.05.13 |
프로세스 (5) - 점진적 프로세스 모델 (2) - UP / RUP (0) | 2020.05.13 |
프로세스 (3) - 선형적 프로세스 모델 - 폭포수 / V / 프로토타입 (0) | 2020.04.14 |
프로세스 (2) - 프로세스의 각 단계 (0) | 2020.04.14 |
프로세스 (1) - 프로세스란 무엇인가? (0) | 2020.04.14 |
소프트웨어 공학이란? (0) | 2020.04.14 |