Software Process Model
소프트웨어 프로세스 모델
- S/W Process를 추상화하여 표현한 것으로, S/W Process Activity들의 진행 방법에 대한 여러 모델들을 의미한다.
- 대표적인 소프트웨어 프로세스 모델들은 아래와 같다.
- Waterfall Model (폭포수 모델) (URL)
- Incremental Development Model (점진적 개발 모델) (URL)
- Integration and Configuration Model (통합 및 구성 모델) (URL)
- Incremental Delivery Model (부분적 출시 모델) (URL)
- RUP (래셔널 통합 프로세스) (URL)
- Extreme Programming (XP) (익스트림 프로그래밍) (URL)
- Spiral Model
- Rapid Application Development (RAP)
- DevOps Methodology
- V-Shaped Model
- Lean Model
- Formal Method
* Process Iteration (소프트웨어 프로세스 반복)
- 요구사항이 변화함에 따라 소프트웨어 프로세스는 반복될 수 있다.
- 특히 대규모 소프트웨어의 경우, 시장상황의 변화나 새로운 기술들이 개발되거나 주요 플랫폼이 변화함에 따라
요구사항이 변하기 쉬으므로 Process Iteration은 불가피하다.
- Iterative하게 Process를 진행해나가는 기법에는 Incremental Delivery와 RUP가 있다.
- 소프트웨어 프로세스 모델을 선정하는데 필요한 요소들은 아래와 같다.
- Requirement Flexibility (요구사항의 변동성)
- Scale (규모)
- Complexity (복잡도)
- End-User (서비스 구매자)
- Customer Involvement (개발과정에서 고객의 참여여부)
- Project Resources (프로젝트 리소스)
- Team Location (개발 인원들이 같은 공간에서 작업하는지의 여부)
* End-User는 완제품에 돈을 지불하고 구입한 고객을 의미하며,
Customer는 제품을 구매할 가능성이 있는 고객을 의미한다.
Reference: Software Engineering 10th Edition
(Ian Sommerville 저, Pearson, 2016)