728x90
[[소프트웨어공학] 개발 프로세스 - 폭포수모델
소프트웨어 개발 프로세스는 개발 활동들의 절차이며 프로세스 모델은 프로세스의 추상화된 표현이다.
📌 폭포수 모델
선형순차모델, 고전적 소프트웨어 프로세스 모델
1️⃣ 타당성 조사 : 문제점을 파악하고 해결방안을 제시하여 투입비용대비 이익 평가
- 조직 측면의 타당성: 조직의 전략적 목표를 충족하는가
- 경제적 타당성 : 비용 대비 수익 효과가 큰가
- 기술적 타당성 : 정해진 시간 안에 현재의 기술 수준으로 개발할 수 있는가
- 운영의 타당성 : 운영/사용 능력, 다른 시스템과의 연동 가능성 판단
👉🏻 제한된 시간내에 예측을 해야하기 때문에, 시간적 제약과 정신적 압박감이 존재
2️⃣요구분석과 명세 : 프로젝트의 성패를 좌우하는 중요한 단계 👉🏻 무엇을 개발할지 결정
요구사항이란?
- 문제의 해결을 위해 시스템이 갖추어야 하는 것
- 요구사항 명세서나 계약서에 명시되어야 함
요구사항 명세서(SRS)
- 의뢰자와 개발자 간 의사소통 수단으로 정확하고 일관성있으며 완전해야함.
3️⃣설계와 명세 : what을 how로 변환하는 작업
즉, 요구사항들을 구현 작업에 적합하게 명확하고 조직화된 구조로 바꾸는 단계
4️⃣코딩과 단위테스트
설계 결과를 실제 프로그램으로 작성
구현된 모듈이 명세서를 만족하는지 테스트하여 확인함
5️⃣통합과 시스템 테스트
- 통합테스트 : 각 모듈들은 통합하여 점증적으로 시스템을 구축
- 시스템 테스트 : 모든 모듈을 통합한 후 최종적으로 완성된 시스템이 요구사항을 만족하는지 확인
- 알파 테스트 : 완전히 개발된 시스템을 개발 현장에서 테스트하는 것, 주문형 제품의 경우 개발자와 고객 사이에 인수에 대한 동의가 이루어질 때까지 수행함
- 베타 테스트 : 고객의 실제 사용 환경에서 수행
6️⃣인도 : 실제 사용을 위해 고객에게 소프트웨어를 배포
7️⃣유지보수 : 소프트웨어 수정 및 보완 단계
Pros 장점
- 선형모델로 단순하고 이해가 쉬움
- 단계별로 정형화된 접근 방법과 체계적인 문서화 가능
- 프로젝트 진행상황을 명확하게 파악 가능
Cons 단점
- 초기에 요구사항을 완벽하게 작성해야하며 이후 변경을 수용하기 어려움
- 시스템의 동작을 프로젝트 후반에 가서 볼 수 있음
- 대형 프로젝트에서 적용하기 어려움
- 문서화를 위한 노력이 많이 필요함
- 위험분석 결여, 일정 지연 가능성이 큼
728x90
'👩💻TIL > Computer Science' 카테고리의 다른 글
[소프트웨어 공학] 애자일 방법론 (Agile) - SW개발 프로세스 모델 (0) | 2021.05.07 |
---|---|
[소프트웨어 공학] 소프트웨어 개발 프로세스란? (0) | 2021.04.01 |
[소프트웨어 공학] 개발 프로세스-반복진화형 모델/점증진화형 모델 (1) | 2021.03.27 |
[소프트웨어공학] 개발 프로세스 - V 모델과 나선형 모델 (0) | 2021.03.27 |
댓글