본문 바로가기
공부/정보처리기사

[Kor/Eng] 정보처리기사 필기/실기 개념 정리 1탄: 소프트웨어 공학 정리: 폭포수, 프로토타이핑, 나선형, V-모형, 애자일 차이 총정리

by Hamming 2025. 6. 23.
728x90
728x90

🔥 소프트웨어 공학 정리: 폭포수, 프로토타이핑, 나선형, V-모형, 애자일 차이 총정리

소프트웨어 개발 방법론은 정보처리기사나 SW 개발자 면접, 컴퓨터공학 수업에서 자주 등장하는 핵심 개념입니다. 이 글에서는 대표적인 소프트웨어 개발 생명주기(SDLC)와 함께 폭포수 모델, 프로토타이핑, 나선형 모델, V-모형, 애자일의 개념과 특징을 한눈에 정리해드립니다.

1. 소프트웨어 생명주기(SDLC)란?

  • System Development Life Cycle
  • 소프트웨어 개발의 전체 과정: 기획 → 설계 → 개발 → 테스트 → 운영 → 유지보수 → 폐기

2. 폭포수 모델 (Waterfall Model)

  • 가장 고전적인 모델 (1979년 Boehm)
  • 단계별로 순차적으로 개발
  • 장점: 산출물이 명확하고 체계적
  • 단점: 병행 불가, 이전 단계로 회귀 어려움

폭포수 개발 단계

  1. 계획
  2. 요구분석
  3. 설계
  4. 구현
  5. 시험
  6. 운영 및 유지보수

3. 프로토타이핑 모델

  • 시제품(프로토타입)을 빠르게 제작하여 사용자 요구를 미리 파악
  • 피드백 기반 반복 개선
  • 완성품이 아닌 임시 모델을 제작 후 정제

프로토타이핑 개발 순서

  1. 요구사항 분석
  2. 신속한 설계
  3. 프로토타입 작성
  4. 사용자 평가
  5. 정제
  6. 최종 제품화

4. 나선형 모델 (Spiral Model)

  • 폭포수 + 프로토타입 + 위험 분석
  • 대규모 시스템에 적합
  • 반복적으로 계획-분석-개발-평가를 수행

나선형 모델 4단계

  1. 계획 수립
  2. 위험 분석
  3. 공학적 개발
  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

  1. Planning
  2. Requirement Analysis
  3. Design
  4. Implementation
  5. Testing
  6. Operation & Maintenance

3. Prototyping Model

  • Build a quick prototype to clarify user needs early
  • Iterative feedback and refinement

Steps for Prototyping Model

  1. Requirement Analysis
  2. Quick Design
  3. Build Prototype
  4. User Evaluation
  5. Refinement
  6. 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

  1. Planning
  2. Risk Analysis
  3. Engineering
  4. 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