[ Waterfall model ( 폭포수 모델 ) ]

Plan-driven 프로세스의 한 종류이다.

 모든 프로세스 액티비티는 작업을 시작하기 전에 계획되어 진다.

 각 단계의 결과는 하나 또는 그 이상의 승인된 문서이다.

 

[ 소프트웨어 생명 주기 ]

요구 분석 및 정의

시스템 사용자와 합의한 후에 시스템의 지원 기능, 제약 조건, 목표 등을 설정하는 것이다. 이 때에 사용자와 개발자의 스탭이 잘 이해할 수 있는 방법으로 이들을 정의해야 한다.

시스템 및 소프트웨어 설계

시스템 설계는 요구 사항을 하드웨어 또는 소프트웨어 시스템으로 분배하는 것이다. 이때에, 모든 시스템의 구조를 결정하게 된다. 소프트웨어 설계는 한 개 이상 실행 가능한 프로그램으로 변환 할 수 있는 형태로 소프트웨어 시스템의 기능을 표현하는 것이다.

필수적인 시스템 개념과 관계를 정의한다.

구현 및 단위 시험

소프트웨어 설계는 프로그램들의 집합 또는 프로그램의 기본 단위로 실현되는 것이다. 단위 시험은 모든 단위가 자신의 명세서를 만족하는지를 시험하는 것이다. 기본 단위는 C언어에서 한 개의 함수일 수도 있고, 프로그램은 한 개의 실행 파일이다.

통합 및 시스템 시험

각각의 프로그램 단위 또는 프로그램들을 통합하여 소프트웨어 요구 조건(명세서)을 만족하지를 시험한다. 이 시험 후에, 소프트웨어 시스템은 사용자에게 출하한다.

운영 및 유지보수

시스템이 설치되어 실제 사용된다. 유지보수는 이전에 발견하지 못했던 에러들을 수정 하고, 새로운 요구 명세서 변경을 구현하여 시스템을 만드는 것이다.

시스템 유닛들을 향상시키고, 시스템 서비스를 강화시킨다.

 

[ 단점 ]

 다음 단계로 넘어가기 전에 한 단계를 완성해야 한다. 그래서 요구사항의 변동사항을 적용시키기 어렵다.

 미리 결정된 명세서는 사용자가 원하는 시스템이 아닐 수도 있다. 이것은 설계 문제를 구현의 기법으로 해결하기 때문에 비구조화 된 시스템을 만들 수 있다.

 폭포수 모델은 요구사항이 잘 이해되었고 변경되지 않을 때 적절하다.

 큰 시스템 개발에 사용된다. 특히 개발자가 서로 다른 지역에서 개발하는 경우

 명세서가 아주 정확하고 안전성과 보안성이 중요한 정치적 시스템 개발에 사용 된다.

 

댓글이나 공감 남겨주는 사람 착한사람

'학사 그리고 석사 > 소프트웨어공학' 카테고리의 다른 글

Reuse-oriented software engineering  (0) 2019.10.03
Incremental Development  (0) 2019.10.03
소프트웨어 프로세스 모델  (0) 2019.09.29
소프트웨어 공학 (2)  (0) 2019.09.27
소프트웨어 공학  (0) 2019.09.27

+ Recent posts