728x90
728x90
🔥 소프트웨어 공학 정리: 폭포수, 프로토타이핑, 나선형, V-모형, 애자일 차이 총정리
소프트웨어 개발 방법론은 정보처리기사나 SW 개발자 면접, 컴퓨터공학 수업에서 자주 등장하는 핵심 개념입니다. 이 글에서는 대표적인 소프트웨어 개발 생명주기(SDLC)와 함께 폭포수 모델, 프로토타이핑, 나선형 모델, V-모형, 애자일의 개념과 특징을 한눈에 정리해드립니다.
1. 소프트웨어 생명주기(SDLC)란?
- System Development Life Cycle
- 소프트웨어 개발의 전체 과정: 기획 → 설계 → 개발 → 테스트 → 운영 → 유지보수 → 폐기
2. 폭포수 모델 (Waterfall Model)
- 가장 고전적인 모델 (1979년 Boehm)
- 단계별로 순차적으로 개발
- 장점: 산출물이 명확하고 체계적
- 단점: 병행 불가, 이전 단계로 회귀 어려움
폭포수 개발 단계
- 계획
- 요구분석
- 설계
- 구현
- 시험
- 운영 및 유지보수
3. 프로토타이핑 모델
- 시제품(프로토타입)을 빠르게 제작하여 사용자 요구를 미리 파악
- 피드백 기반 반복 개선
- 완성품이 아닌 임시 모델을 제작 후 정제
프로토타이핑 개발 순서
- 요구사항 분석
- 신속한 설계
- 프로토타입 작성
- 사용자 평가
- 정제
- 최종 제품화
4. 나선형 모델 (Spiral Model)
- 폭포수 + 프로토타입 + 위험 분석
- 대규모 시스템에 적합
- 반복적으로 계획-분석-개발-평가를 수행
나선형 모델 4단계
- 계획 수립
- 위험 분석
- 공학적 개발
- 사용자 평가
5. V-모형
- 폭포수 모델과 유사하지만 테스트 강조
- 요구분석 ↔ 시스템 테스트, 시스템 설계 ↔ 통합 테스트 등으로 연결
6. 애자일(Agile) 방법론
- 소규모 반복 개발 → 빠른 피드백
- 유연하고 반응적인 방식
대표적인 애자일 방법론
- XP (익스트림 프로그래밍): 2주 단위 반복, 테스트 중심
- 스크럼: 30일 단위 스프린트 중심
- 크리스탈 패밀리
- FDD (Feature-Driven Development)
- ASD (Adaptive Software Development)
XP 5대 핵심 가치
- 존중
- 단순성
- 의사소통
- 피드백
- 용기
7. 프로젝트 개발비용 산정 기법
- 하향식: 전문가 감정, 델파이식
- 상향식: LOC (Line of Code)
- 수학적 모델: COCOMO, FP(Function Point) 등
🔥 Software Engineering Summary: Waterfall, Prototype, Spiral, V-Model, Agile Explained
This post summarizes the most common Software Development Life Cycle (SDLC) models including Waterfall, Prototyping, Spiral, V-Model, and Agile. These concepts frequently appear in IT certifications, technical interviews, and CS classes.
1. What is SDLC (Software Development Life Cycle)?
- The full process of software development from planning to retirement
- Steps: Planning → Design → Development → Testing → Operation → Maintenance → Disposal
2. Waterfall Model
- The most traditional model (by Boehm in 1979)
- Sequential development with clear outputs at each stage
- Pros: Structured, easy to manage
- Cons: No overlap, hard to go back
Phases
- Planning
- Requirement Analysis
- Design
- Implementation
- Testing
- Operation & Maintenance
3. Prototyping Model
- Build a quick prototype to clarify user needs early
- Iterative feedback and refinement
Steps for Prototyping Model
- Requirement Analysis
- Quick Design
- Build Prototype
- User Evaluation
- Refinement
- Final Engineering
4. Spiral Model
- Combines Waterfall + Prototyping + Risk Analysis
- Best for large-scale systems
- Repeats planning, analysis, development, evaluation
4 Stages for Spiral Model
- Planning
- Risk Analysis
- Engineering
- Customer Evaluation
5. V-Model
- Emphasizes testing in a Waterfall structure
- Requirement ↔ System Test, Design ↔ Integration Test
6. Agile Methodologies
- Fast, iterative development cycles
- Highly adaptive and feedback-driven
Popular Agile Frameworks
- XP (Extreme Programming): Biweekly cycles, test-driven
- Scrum: Sprint-based (30 days)
- Crystal Family
- Feature-Driven Development (FDD)
- Adaptive Software Development (ASD)
XP 5 Core Values
- Respect
- Simplicity
- Communication
- Feedback
- Courage
7. Project Cost Estimation Methods
- Top-Down: Expert Judgment, Delphi Technique
- Bottom-Up: LOC (Line of Code)
- Mathematical: COCOMO, Function Point (FP)

728x90