본문

S/W 개발 방법론

반응형

S/W 개발 방법론


폭포수 모형(Waterfall Model)

- 소프트웨어 개발 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하며
  이전 단계로 되돌아갈 수 없는 방식이다
.

- 소프트웨어 공학에서 가장 오래되고 가장 폭넓게 사용된 전통적인 소프트웨어 생명주기 모형이다.

- 소프트웨어 개발 과정의 앞 단계가 끝나야만 다음 단계로 넘어갈 수 있는 선형 순차적 모형이다.


장점)

- 모형적용 경험과 성공 사례가 많음

- 단계별 정의가 분명하고, 전체 공조의 이해가 용이함

- 단계별 산출물이 정확하여 개발 공정의 기준점을 잘 제시함


단점)

- 개발 과정중에 발생하는 새로운 요구나 경험을 반영하기 어려우므로 처음부터 사용자들이 모든 요구사항들을 명확하게 제시해야 함

- 단계별로 오류없이 다음 단계로 진행해야 하는데 오류없이 다음단계로 진행하기는 어려움

- 개발된 프로그램을 업무에 운용할 때 검출되지 않은 오류로 인하여 사용자들이 큰 인내심을 가져야함


# 프로토타입 모형(Prototype Model)

- 사용자의 요구사항을 정확히 파악하기 위해 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형

- 요구 분석 단계에서 사용하게 되며, 프로토타입의 평가가 끝나고 개발이 승인되면 다른 모형을 이용하여 본격적인 개발이 이루어진다.

- 소프트웨어 생명주기에서 유지보수 단계가 없어지고 개발 단계 안에서 유지보수가 이루어진다.


장점
)

- 요구사항을 충실히 반영하며, 요구사항의 변경이 용이함

- 최종 결과물이 만들어지기 전에 의뢰자가 최종 결과물의 일부 또는 모형을 볼 수 있음


단점
)

- 실제 소프트웨어와의 차이가 발생할 수 있어 사용자에게 혼란을 줄 수 있음

- 단기간에 제작해야 하기 때문에 비효울적인 언어나 알고리즘을 사용할 수 있음


# 나선형 모형(Spiral Model, 점진적 모형)

- 폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형이다.

- 나선을 따라 돌듯이 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로(프로토타입을 지속적으로 발전시켜)
  완벽한 최종 소프트웨어를 개발하는 것이다.

- 소프트웨어를 개발하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 한다.

장점)

- 가장 현실적인 모형으로, 대규모 시스템에 적합

- 점진적으로 개발 과정이 반복되므로 누락되거나 추가된 요구사항을 첨가할 수 있고, 정밀하며, 유지보수 과정이 필요없음.

단점)

- 위험성 평가에 크게 의존하기 때문에 이를 발견하지 않으면 반드시 문제가 발생함

- 비교적 최신기법이므로 폭포수 모형이나 프로토타입 모형보다 널리 사용되지 않음


애자일 모형(Agile Model)

- 사용자, 개발자, 테스터가 한 조를 이루어 개발, 코딩, 품질 테스트를 단기적으로 한정된 시간 안에 순환 반복
사용자의 요구사항, 결함 등을 적극적으로 반영해 프로그램을 완성한다.

- 일정 기간 단위로 작은 규모 크기의 릴리즈를 반복한다.


반응형

공유

댓글