Contents

[-]
1 소프트웨어 공학
2 고전적인 소프트웨어 개발 방법 '폭포수 모델'
3 프로토타입
4 나선형 모델
5 기타 모델

1 소프트웨어 공학 #

클라이언트의 요구사항을 만족시키는 결함이 없는 소프트웨어를 주어진 시간과 예산 범위내에서 생성하는 것을 목적으로 하는 학문 분야

2 고전적인 소프트웨어 개발 방법 '폭포수 모델' #

고전적인 소프트웨어 개발방법으로 '폭포수 모델'이다. 폭포수 모델은 마치 각각의 과정이 폭포수 처럼 흘러내리는 것에 비유하여 붙여진 이름이다. 고전적인 방법이라고 해서 나쁜 것은 아니다. 이보다 더 단순한 모델은 없으며, 중/소규모의 프로젝트에는 아직까지 매우 쓸만하다. 하지만 폭포수 모델은 매우 큰 단점이 존재한다. 전 단계들의 산출물에 현 단계가 너무 큰 영향받는 것이 그것이다. 특히, 요구사항 조사/분석과정에서 사용자의 요구사항을 조사/분석가가 제대로 얻어내지 못하면 프로젝트가 큰 어려움을 격게 된다.

waterfall_model.jpg

다음과 같은 장/단점이 존재한다.
  • 장점
    • 가장 오래 사용되어 폭넓게 사용되고 성공사례도 풍부하다.
    • 매우 단순하여 전체 과정의 이해가 쉽다.
    • 진행과정을 세분화하면 관리가 용이해 진다.
  • 단점
    • 초기 요구사항 조사/분석과정이 매우 어렵다.
    • 중요한 결함이 늦게 발견된다.
    • 전 단계가 마무리되어야 다음 단계로 진행된다. (직렬성)

폭포스 모델은 문서화 중심 모델이다. 클라이언트의 이해부족 또는 클라이언트가 이해한 것과 실제 문서와의 차이점을 최대한 없애는 것이 핵심이다.

3 프로토타입 #

이 모델은 폭포수 모델의 단점을 보완한 방식으로 프로토타입이라는 것은 사용자가 원하는 핵심기능을 실제 구현하여 고객에게 평가를 받는 과정을 반복하는 방식이다. 초기에 사용자로부터 요구사항을 확실이 얻어 낼 수 있는 방법이다. 하지만 일반적인 데이터베이스 설계에는 적합한 방식으로 보기는 조금 힘들다. 온라인 게임을 개발하는 방법으로는 적당하다. 왜냐하면 게임을 계속 개발할 것인가 접을 것인가에 대한 타당성을 검토해 볼 수 있기 때문이다. 즉, 요구사항을 잘 모르겠거나 프로젝트를 진행해도 좋을지 나쁠지 간을 보는 방식이다. 이 때 만들어진 프로토타입 자체는 사용자와의 의사소통의 도구가 된다.

prototype_model.jpg

다음과 같은 장/단점이 존재한다.
  • 장점
    • 요구사항 도출이 어려울 때 사용하면 효과가 있다.
    • 사용자가 구축될 정보시스템에 대한 이해를 할 수 있다. (부수적으로 품질도 성숙된다.)
    • 사용자와의 의사소통이 원활해진다.
  • 단점
    • 프로토타입의 결과를 최종 결과물로 오해 할 수도 있다.
    • 고객이 평가하여 프로젝트를 접을 경우는 비경제적이다.
    • 고객의 평가와 프로토타입의 정제 단계에서 자주 변경되므로 중간단계 산출물에 대한 문서화가 어렵다.

4 나선형 모델 #

나선형 모델은 폭포수 모델의 장점과 프로토타입 모델의 반복적인 특성을 결합시킨 모델[1]이다. 특이한 것은 폭포수 모델 및 프로토타입 모델의 장점에 위험 분석 단계가 추가되었다는 것이다. 그래서 대규모 시스템 및 리스크가 큰 시스템 개발에 적합하다고 알려져 있다.

spiral_model.jpg

다음은 장/단점이다.
  • 장점
    • 요구사항 파악이 용이하다.
    • 리스크를 관리하므로 위험 부담이 감소된다.
    • 소프트웨어의 품질을 높일 수 있다.
  • 단점
    • 많은 시간이 소모된다.
    • 프로젝트 일정이 길어지므로 프로젝트 관리의 어려움이 따른다.
    • 충분히 검증되지 않은 방법으로 성공사례가 적다.

5 기타 모델 #

기타 발전된 모델로는 다음과 같은 것들이 있다.
  • 반복 개발 모델
  • RAD(Rapid Application Development)
  • 4세대 모델
  • 컴포넌트 어셈블리 모델
Retrieved from http://w.databaser.net/moniwiki/wiki.php/소프트웨어개발프로세스
last modified 2018-04-13 23:12:52