본문 바로가기
👩‍💻TIL/Computer Science

[소프트웨어공학] 개발 프로세스 - 폭포수모델

by devuna 2021. 3. 27.
728x90

[[소프트웨어공학] 개발 프로세스 - 폭포수모델

소프트웨어 개발 프로세스는 개발 활동들의 절차이며 프로세스 모델은 프로세스의 추상화된 표현이다. 

 

📌 폭포수 모델

선형순차모델, 고전적 소프트웨어 프로세스 모델

기본적으로 각 단계는 병행수행되지 않으며, 한방향으로 진행된다.

 

1️⃣ 타당성 조사 : 문제점을 파악하고 해결방안을 제시하여 투입비용대비 이익 평가

  • 조직 측면의 타당성: 조직의 전략적 목표를 충족하는가
  • 경제적 타당성 : 비용 대비 수익 효과가 큰가
  • 기술적 타당성 : 정해진 시간 안에 현재의 기술 수준으로 개발할 수 있는가
  • 운영의 타당성 : 운영/사용 능력, 다른 시스템과의 연동 가능성 판단

👉🏻 제한된 시간내에 예측을 해야하기 때문에, 시간적 제약과 정신적 압박감이 존재

 

2️⃣요구분석과 명세 : 프로젝트의 성패를 좌우하는 중요한 단계 👉🏻 무엇을 개발할지 결정

요구사항이란?
- 문제의 해결을 위해 시스템이 갖추어야 하는 것
- 요구사항 명세서나 계약서에 명시되어야 함
요구사항 명세서(SRS)
- 의뢰자와 개발자 간 의사소통 수단으로 정확하고 일관성있으며 완전해야함.

3️⃣설계와 명세 : whathow로 변환하는 작업

즉, 요구사항들을 구현 작업에 적합하게 명확하고 조직화된 구조로 바꾸는 단계

 

4️⃣코딩과 단위테스트

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

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

 

5️⃣통합과 시스템 테스트

  • 통합테스트 : 각 모듈들은 통합하여 점증적으로 시스템을 구축
  • 시스템 테스트 : 모든 모듈을 통합한 후 최종적으로 완성된 시스템이 요구사항을 만족하는지 확인
  • 알파 테스트 : 완전히 개발된 시스템을 개발 현장에서 테스트하는 것, 주문형 제품의 경우 개발자와 고객 사이에 인수에 대한 동의가 이루어질 때까지 수행함
  • 베타 테스트 : 고객의 실제 사용 환경에서 수행

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

 

7️⃣유지보수 : 소프트웨어 수정 및 보완 단계

 

 

Pros 장점 

- 선형모델로 단순하고 이해가 쉬움

- 단계별로 정형화된 접근 방법과 체계적인 문서화 가능

- 프로젝트 진행상황을 명확하게 파악 가능

 

Cons 단점 

- 초기에 요구사항을 완벽하게 작성해야하며 이후 변경을 수용하기 어려움

- 시스템의 동작을 프로젝트 후반에 가서 볼 수 있음

- 대형 프로젝트에서 적용하기 어려움

- 문서화를 위한 노력이 많이 필요함

- 위험분석 결여, 일정 지연 가능성이 큼

 

 

 

 

728x90

댓글