폭포수 모형 (Waterfall Model)
폭포수 모형은 가장 오래되고 전통적인 소프트웨어 개발 모형으로, 초기 소프트웨어 개발에서 많이 사용된 고전적 생명 주기 모형입니다. 이 모형에서는 각 단계를 순차적으로 진행하며, 한 단계가 끝나야만 다음 단계로 넘어갈 수 있습니다. 단계별 정의와 산출물이 명확하게 제시되기 때문에, 계획 단계에서부터 유지보수 단계까지 체계적으로 진행할 수 있다는 장점이 있습니다.
- 특징: 선형적 순차적 모형으로, 단계별 정의 및 산출물이 명확합니다.
- 장점: 단계마다 명확한 문서화가 이루어지며, 프로젝트 관리가 수월합니다.
- 단점: 개발 중간에 요구사항을 변경하기 어렵기 때문에 유연성이 부족합니다.
- 진행 단계: 타당성 검토 → 계획 → 요구 분석 → 설계 → 구현(코딩) → 테스트 → 유지보수
프로토타입 모형 (Prototype Model, 원형 모형)
프로토타입 모형은 견본(시제품)을 먼저 만들어 사용자의 요구사항을 분석하고 최종 결과물을 예측하는 방법입니다. 특히 사용자 인터페이스에 중점을 두어 설계하기 때문에 사용자가 실제 사용할 모습과 유사한 형태를 초기에 확인할 수 있습니다. 이를 통해 사용자 피드백을 바탕으로 개발 방향을 잡고 중간에 요구사항을 쉽게 반영할 수 있어, 고객 만족도를 높이는 데 효과적입니다.
- 특징: 사용자 인터페이스를 중요하게 여기며, 개발 과정 중에 요구사항을 쉽게 반영할 수 있습니다.
- 장점: 사용자의 요구사항을 초기 단계에서 구체적으로 파악할 수 있으며, 피드백을 통해 최종 결과물의 품질을 높일 수 있습니다.
- 단점: 초기 견본을 만드는 데 시간이 걸릴 수 있으며, 프로젝트 비용이 증가할 가능성도 있습니다.
나선형 모형 (Spiral Model, 점진적 모형)
나선형 모형은 폭포수 모형과 프로토타입 모형의 장점을 결합하여 위험 요소 분석을 추가한 모형입니다. 소프트웨어 개발 과정 중 발생할 수 있는 위험 요소를 사전에 분석하여 해결할 수 있도록 돕습니다. 점진적 개발 과정이 반복되며, 이를 통해 요구사항이 추가되어도 유연하게 대처할 수 있습니다.
- 특징: 위험 요소 분석을 포함하며, 점진적 반복을 통해 개발 과정에서 요구사항을 점차 구체화합니다.
- 장점: 위험 분석을 통해 프로젝트 실패 위험을 줄일 수 있으며, 유지보수가 수월합니다.
- 단점: 상대적으로 복잡하고 시간이 오래 걸릴 수 있으며, 프로젝트 비용이 높아질 수 있습니다.
- 진행 단계: 계획 및 정의 → 위험 분석 → 공학적 개발 → 고객 평가
애자일 모형 (Agile Model)
애자일 모형은 폭포수 모형의 단점을 극복하고자 개발된 기법으로, 유연하고 민첩한 개발을 지향합니다. 일정한 주기(Iteration 또는 Sprint)를 반복하면서 요구사항을 반영하며, 절차와 도구보다 고객과의 소통을 우선시합니다. 이러한 접근법은 변화하는 환경에 빠르게 대응할 수 있는 장점을 제공합니다. 애자일 모형은 주로 XP(eXtreme Programming), 스크럼(Scrum), 칸반(Kanban), 크리스탈(Crystal), 린(LEAN) 등의 다양한 방식으로 구현됩니다.
- 특징: 소통을 중요시하며, 반복 주기를 통해 요구사항을 점진적으로 반영합니다.
- 장점: 고객 요구에 민첩하게 대응할 수 있으며, 피드백을 통해 품질을 개선할 수 있습니다.
- 단점: 개발 초기에는 전체적인 계획이 다소 부족할 수 있어, 장기 프로젝트에서는 복잡해질 수 있습니다.
- 예시: XP(eXtreme Programming), 스크럼(Scrum), 칸반(Kanban), 크리스탈(Crystal), 린(LEAN)
'정보처리기사 > SW설계' 카테고리의 다른 글
[정처기-SW 설계] 소프트웨어 아키텍처 (5) | 2024.11.01 |
---|---|
[정처기-SW 설계] UI 사용자 인터페이스 (12) | 2024.10.31 |
UML (Unified Modeling Language) 구성 요소 정리 (5) | 2024.10.30 |
[정처기-SW 설계] 개발 기술 환경 파악 (8) | 2024.10.29 |
[정처기-SW 설계] 애자일 개발 방법론 (스크럼, XP) (10) | 2024.10.28 |