λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Computer Science

μ†Œν”„νŠΈμ›¨μ–΄ 개발 ν”„λ‘œμ„ΈμŠ€ λͺ¨λΈ - 폭포수 λͺ¨λΈ(Waterfall Model)

by Leica 2020. 4. 18.
λ°˜μ‘ν˜•

μ†Œν”„νŠΈμ›¨μ–΄ 개발 ν”„λ‘œμ„ΈμŠ€ λͺ¨λΈ - 폭포수 λͺ¨λΈ(Waterfall Model)

폭포수 λͺ¨λΈμ€ λŒ€λž΅ 7λ‹¨κ³„λ‘œ κ΅¬μ„±λœλ‹€.

  • μ„ ν˜• 순차 λͺ¨λΈ(linear, sequential model), 고전적 μ†Œν”„νŠΈμ›¨μ–΄ 생λͺ… μ£ΌκΈ°
  • 각 λ‹¨κ³„λŠ” 병행 μˆ˜ν–‰λ˜μ§€ μ•Šκ³  순차 μˆ˜ν–‰λ¨
  • κΈ°λ³Έμ μœΌλ‘œλŠ” μ•„λž˜ λ°©ν–₯으둜 μ§„ν–‰λ˜λ‚˜ μ‹€μ œλ‘œλŠ” μˆ˜μ • 및 μž¬μž‘μ—…μ„ μœ„ν•΄ 이전 λ‹¨κ³„λ‘œμ˜ ν”Όλ“œλ°±μ΄ λΆˆκ°€ν”Όν•¨
  • 폭포수 λͺ¨λΈμ˜ ν™•μž₯ ν˜•νƒœλ‘œ V λͺ¨λΈπŸ”—이 μžˆλ‹€.
  • μž₯점
    • λ‹¨μˆœν•œ μ„ ν˜• λͺ¨λΈ - 이해 쉬움
    • λ‹¨κ³„λ³„λ‘œ μ •ν˜•ν™”λœ μ ‘κ·Ό 방법 - 체계적 λ¬Έμ„œν™” κ°€λŠ₯
    • ν”„λ‘œμ νŠΈ 진행 상황 λͺ…ν™•νžˆ νŒŒμ•… κ°€λŠ₯
  • 단점
    • μš”κ΅¬μ‚¬ν•­μ„ μ™„λ²½ν•˜κ²Œ μž‘μ„±ν•΄μ•Ό 함
    • λ³€κ²½ 수용 어렀움
    • μ‹œμŠ€ν…œμ˜ λ™μž‘μ„ ν›„λ°˜μ— 확인 κ°€λŠ₯
    • λŒ€ν˜• ν”„λ‘œμ νŠΈμ— 적용 뢀적합
    • μ§€λ‚˜μΉœ λ¬Έμ„œν™”
    • μœ„ν—˜ 뢄석 κ²°μ—¬
    • 일정 지연 κ°€λŠ₯μ„± 큼

 

1. 폭포수 λͺ¨λΈ - 타당성 쑰사 단계

  • λ¬Έμ œμ μ„ νŒŒμ•…ν•˜κ³  ν•΄κ²° λ°©μ•ˆμ„ μ œμ‹œν•˜μ—¬ νˆ¬μž… λŒ€λΉ„ 이읡을 평가
  • 쑰직 츑면의 타당성: 쑰직의 μ „λž΅μ  λͺ©ν‘œλ₯Ό μΆ©μ‘±ν•˜λŠ”κ°€
  • 경제적 타당성 : λΉ„μš© λŒ€λΉ„ 수읡 νš¨κ³Όκ°€ 큰가
  • 기술적 타당성 : 정해진 μ‹œκ°„ μ•ˆμ— ν˜„μž¬μ˜ 기술 μˆ˜μ€€μœΌλ‘œ κ°œλ°œν•  수 μžˆλŠ”κ°€
  • 운영의 타당성 : 운영/μ‚¬μš© λŠ₯λ ₯, λ‹€λ₯Έ μ‹œμŠ€ν…œκ³Όμ˜ 연동 κ°€λŠ₯μ„± νŒλ‹¨
  • 짧은 κΈ°κ°„ 내에 뢄석과 미래 μ˜ˆμΈ‘μ„ ν•΄μ•Όν•˜κΈ° λ•Œλ¬Έμ— μ‹œκ°„μ  μ œμ•½κ³Ό 정신적 압박감이 μ‘΄μž¬ν•˜λŠ” 단계
  • 타당성 쑰사 λ³΄κ³ μ„œ: 문제 μ •μ˜, ν•΄κ²° λ°©μ•ˆ, κΈ°λŒ€ 효과, 타당성, λΉ„μš©, 인도 λ‚ μ§œ 등을 포함

 

2. 폭포수 λͺ¨λΈ - μš”κ΅¬ 뢄석과 λͺ…μ„Έ 단계

  • ν”„λ‘œμ νŠΈμ˜ μ„±νŒ¨λ₯Ό μ’Œμš°ν•˜λŠ” μ€‘μš”ν•œ 단계 - 무엇을 κ°œλ°œν•  것인지 κ²°μ •
  • μš”κ΅¬μ‚¬ν•­
    • 문제의 해결을 μœ„ν•΄ μ‹œμŠ€ν…œμ΄ κ°–μΆ”μ–΄μ•Ό ν•˜λŠ” 쑰건과 λŠ₯λ ₯
    • μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œ, κ³„μ•½μ„œμ— λͺ…μ‹œ
  • μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œ(SRS)
    • 발주자-개발자 κ°„μ˜ μ˜μ‚¬μ†Œν†΅ μˆ˜λ‹¨
    • μ •ν™•μ„±, 일관성, μ™„μ „μ„± ν•„μš”
  • μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œμ˜ ꡬ성
    • μ‹œμŠ€ν…œμ˜ λͺ©μ κ³Ό λ²”μœ„ - λ¬Έμ œμ μ„ ꡬ체적으둜 κΈ°μˆ ν•˜κ³  λŒ€μ•ˆμ„ μ œμ‹œ
    • κΈ°λŠ₯적 μš”κ΅¬μ‚¬ν•­, λΉ„κΈ°λŠ₯적 μš”κ΅¬μ‚¬ν•­, 기타 μ œμ•½ 쑰건 등을 포함

 

3. 폭포수 λͺ¨λΈ - 섀계와 λͺ…μ„Έ 단계

  • μš”κ΅¬μ‚¬ν•­μ„ 기반으둜 λͺ…ν™•ν•˜κ³  μ‘°μ§ν™”λœ ꡬ쑰둜 섀계
  • 섀계 단계: 아킀텍쳐 섀계 ➑️ μΈν„°νŽ˜μ΄μŠ€ 섀계 ➑️ ν”„λ‘œκ·Έλž¨ 섀계
  • 섀계 방법
    • 전톡적(ꡬ쑰적) 섀계 방법
    • 객체지ν–₯ 섀계 방법

 

4. 폭포수 λͺ¨λΈ - μ½”λ”©κ³Ό λ‹¨μœ„ ν…ŒμŠ€νŠΈ 단계

  • 섀계 κ²°κ³Όλ₯Ό ν”„λ‘œκ·Έλž¨μœΌλ‘œ μž‘μ„±
  • κ΅¬ν˜„λœ λͺ¨λ“ˆμ΄ λͺ…μ„Έμ„œλ₯Ό λ§Œμ‘±ν•˜λŠ”μ§€ ν…ŒμŠ€νŠΈν•˜μ—¬ 확인
  • κ³ λ € 사항
    • μ½”λ”© ν‘œμ€€ μ€€μˆ˜(μ½”λ”© μ»¨λ²€μ…˜)
    • ν…ŒμŠ€νŠΈ 절차 μ€€μˆ˜
    • μ½”λ“œ μΈμŠ€νŽ™μ…˜: μ½”λ“œμ˜ 정적 뢄석

 

5. 폭포수 λͺ¨λΈ - 톡합과 μ‹œμŠ€ν…œ ν…ŒμŠ€νŠΈ 단계

  • λͺ¨λ“ˆ ➑️ μ„œλΈŒ μ‹œμŠ€ν…œ ➑️ 전체 μ‹œμŠ€ν…œμœΌλ‘œ 톡합
  • 톡합 ν…ŒμŠ€νŠΈ: λͺ¨λ“ˆλ“€μ„ ν†΅ν•©ν•˜μ—¬ 점증적으둜 μ‹œμŠ€ν…œ ꡬ좕
  • μ‹œμŠ€ν…œ ν…ŒμŠ€νŠΈ: μ΅œμ’…μ μœΌλ‘œ ν†΅ν•©λœ 전체 μ‹œμŠ€ν…œμ΄ μš”κ΅¬μ‚¬ν•­μ„ λ§Œμ‘±ν•˜λŠ”μ§€ 확인
  • μ•ŒνŒŒ ν…ŒμŠ€νŠΈ
    • μ†Œν”„νŠΈμ›¨μ–΄ 개발 ν˜„μž₯μ—μ„œ μˆ˜ν–‰
    • 일반 μ†Œν”„νŠΈμ›¨μ–΄: ν…ŒμŠ€νŠΈ νŒ€μ΄ μ•ŒνŒŒ ν…ŒμŠ€νŠΈ μˆ˜ν–‰(내뢀적 인수 ν…ŒμŠ€νŠΈ) ➑️ 베타 버전 릴리즈
    • μ£Όλ¬Έν˜• μ†Œν”„νŠΈμ›¨μ–΄: μ œν’ˆ 인수 λ™μ˜κ°€ μ΄λ£¨μ–΄μ§ˆλ•ŒκΉŒμ§€ μˆ˜ν–‰(인수 ν…ŒμŠ€νŠΈ)
  • 베타 ν…ŒμŠ€νŠΈ
    • 고객의 μ‹€μ œ μ‚¬μš© ν™˜κ²½μ—μ„œ μˆ˜ν–‰
    • μ œν’ˆ μΆœμ‹œ μ „ 릴리즈된 베타 λ²„μ „μœΌλ‘œ 가망 μ‚¬μš©μžλ‘œλΆ€ν„° 미리 μ œν’ˆ 평가

 

6. 폭포수 λͺ¨λΈ - 인도와 μœ μ§€λ³΄μˆ˜ 단계

  • 인도: μ‹€μ œ μ‚¬μš©μ„ μœ„ν•΄ κ³ κ°μ—κ²Œ μ†Œν”„νŠΈμ›¨μ–΄ 배포
  • μœ μ§€λ³΄μˆ˜(≒진화): μ†Œν”„νŠΈμ›¨μ–΄ μˆ˜μ • 및 보완 ν™œλ™
  • μœ μ§€λ³΄μˆ˜μ˜ μ’…λ₯˜
    • μˆ˜μ • μœ μ§€λ³΄μˆ˜(corrective maintenance): 였λ₯˜ μˆ˜μ •
    • 적응 μœ μ§€λ³΄μˆ˜(adaptive maintenance): ν™˜κ²½ λ³€ν™”(ν•˜λ“œμ›¨μ–΄, OS λ“±) λŒ€μ‘
    • μ™„μ „ μœ μ§€λ³΄μˆ˜(perfective maintenance): κΈ°λŠ₯ κ°œμ„ , μ„±λŠ₯ ν–₯상
    • 예방 μœ μ§€λ³΄μˆ˜(preventive maintenance): 미래 μœ μ§€λ³΄μˆ˜μ„±μ„ ν–₯μƒμ‹œν‚€κΈ° μœ„ν•œ ν™œλ™

 

References

ν•œκ΅­λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅ 컴퓨터과학과 μ†Œν”„νŠΈμ›¨μ–΄κ³΅ν•™(κΉ€ν¬μ²œ ꡐ수)

λ°˜μ‘ν˜•

λŒ“κΈ€