폭포수 모델(Waterfall Model)

이재민·2023년 5월 25일
1

소프웨어공학

목록 보기
1/4

폭포수 모델이란?

폭포수 모델(Waterfall Model)이란 소프트웨어 개발 시 단계적으로 개발하는 방법론을 말한다. 분석→설계→개발(디자인→퍼블리싱→프로그래밍)→테스트→적용→안정화의 단계를 따른다. 폭포수가 거슬러 올라갈 수 없듯이, 소프트웨어 개발도 반드시 앞 단계가 먼저 완료되어야 다음 단계의 개발을 진행할 수 있다는 뜻이다. 소프트웨어 개발 방법론(SDM)의 일종이다. 반대말은 애자일 개발 방법론이다.

7단계 개발절차

1. 폭포수 모델 - 타당성 조사 단계

  • 문제점을 파악하고 해결 방안을 제시하여 투입 대비 이익을 평가
  • 조직 측면의 타당성: 조직의 전략적 목표를 충족하는가
  • 경제적 타당성 : 비용 대비 수익 효과가 큰가
  • 기술적 타당성 : 정해진 시간 안에 현재의 기술 수준으로 개발할 수 있는가
  • 운영의 타당성 : 운영/사용 능력, 다른 시스템과의 연동 가능성 판단
  • 짧은 기간 내에 분석과 미래 예측을 해야하기 때문에 시간적 제약과 정신적 압박감이 존재하는 단계
  • 타당성 조사 보고서: 문제 정의, 해결 방안, 기대 효과, 타당성, 비용, 인도 날짜 등을 포함

2. 폭포수 모델 - 요구 분석과 명세 단계

  • 프로젝트의 성패를 좌우하는 중요한 단계 - 무엇을 개발할 것인지 결정 요구사항
  • 문제의 해결을 위해 시스템이 갖추어야 하는 조건과 능력
  • 요구사항 명세서, 계약서에 명시
  • 요구사항 명세서(SRS)
  • 발주자-개발자 간의 의사소통 수단
  • 정확성, 일관성, 완전성 필요
  • 요구사항 명세서의 구성
  • 시스템의 목적과 범위 - 문제점을 구체적으로 기술하고 대안을 제시
  • 기능적 요구사항, 비기능적 요구사항, 기타 제약 조건 등을 포함

3. 폭포수 모델 - 설계와 명세 단계

  • 요구사항을 기반으로 명확하고 조직화된 구조로 설계

  • 설계 단계: 아키텍쳐 설계 ➡️ 인터페이스 설계 ➡️ 프로그램 설계

  • 설계 방법

    	전통적(구조적) 설계 방법
    	객체지향 설계 방법

4. 폭포수 모델 - 코딩과 단위 테스트 단계

  • 설계 결과를 프로그램으로 작성

  • 구현된 모듈이 명세서를 만족하는지 테스트하여 확인

  • 고려 사항

    	코딩 표준 준수(코딩 컨벤션)
    	테스트 절차 준수
    	코드 인스펙션: 코드의 정적 분석

5. 폭포수 모델 - 통합과 시스템 테스트 단계

  • 모듈 ➡️ 서브 시스템 ➡️ 전체 시스템으로 통합

  • 통합 테스트: 모듈들을 통합하여 점증적으로 시스템 구축

  • 시스템 테스트: 최종적으로 통합된 전체 시스템이 요구사항을 만족하는지 확인

  • 알파 테스트

    	소프트웨어 개발 현장에서 수행
    	일반 소프트웨어: 테스트 팀이 알파 테스트 수행(내부적 인수 테스트) ➡️ 베타 버전 릴리즈
    	주문형 소프트웨어: 제품 인수 동의가 이루어질때까지 수행(인수 테스트)
  • 베타 테스트

    	고객의 실제 사용 환경에서 수행
    	제품 출시 전 릴리즈된 베타 버전으로 가망 사용자로부터 미리 제품 평가

6. 폭포수 모델 - 인도와 유지보수 단계

  • 인도: 실제 사용을 위해 고객에게 소프트웨어 배포

  • 유지보수(≒진화): 소프트웨어 수정 및 보완 활동

  • 유지보수의 종류

    		수정 유지보수(corrective maintenance): 오류 수정
    		적응 유지보수(adaptive maintenance): 환경 변화(하드웨어, OS 등) 대응
    		완전 유지보수(perfective maintenance): 기능 개선, 성능 향상
    		예방 유지보수(preventive maintenance): 미래 유지보수성을 향상시키기 위한 활동

장점 & 단점

장점

단순한 선형 모델 - 이해 쉬움
단계별로 정형화된 접근 방법 - 체계적 문서화 가능
프로젝트 진행 상황 명확히 파악 가능

단점

요구사항을 완벽하게 작성해야 함
변경 수용 어려움
시스템의 동작을 후반에 확인 가능
대형 프로젝트에 적용 부적합
지나친 문서화
위험 분석 결여
일정 지연 가능성 큼

참고자료: https://atoz-develop.tistory.com/entry/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EB%AA%A8%EB%8D%B8-%ED%8F%AD%ED%8F%AC%EC%88%98-%EB%AA%A8%EB%8D%B8Waterfall-Model

profile
재민

0개의 댓글