본문 바로가기

CS

소프트웨어 생명 주기

반응형

소프트웨어 생명 주기는 소프웨어 개발 방법론의 바탕이 되는 것으로 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 각 단계별로 나눈것이다.

일반적으로 사용되는 소프트웨어 생명 주기 모형에는 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형이 있다.

 

폭포수 모형(Waterfall Model)

폭포수 모형은 폭포에서 한번 떨어진 물은 거슬러 올라갈 수 없듯이 소프트웨어 개발도 이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭짓고 그결과를 철저하게 검토하여 승과정을 거친 후에 다음 단계를 진행하는 개발 방법론이다.

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

- 제품의 일부가 될 매뉴얼을 작성해야 한다.

- 두 개 이상의 과정이 병행하여 수행되지 않는다.

 

프로세스

타당성 검토 -> 계획 -> 요구분석 -> 설계 -> 구현 -> 시험 -> 유지보수

 

프로토 타입 모형(Prototyp Model, 원형 모형)

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

- 시제품은 사용자와 시스템 사이의 인터페이스에 중점을 두어 개발한다.

- 시스템의 일부 혹은 시스템의 모형을 만드는 과정으로서 요구된 소프트웨어를 구현하는데, 이는 추후 구현 단계에서 사용될 골격 코드가 된다.

- 소프트웨어의 개발이 완료된 시점에서 오류가 발견되는 폭포수 모형의 단점을 보완하기 위한 모형이다.

 

프로세스

요구 수집 -> 빠른 설계 -> 프로토 타입 구축 -> 고객 평가 -> 프로토 타입 조정 -> 구현

 

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

나선형 모형은 보헴이 제안한 것으로, 폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형이다.

- 나선을 따라 돌듯이 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 것으로, 점진적 모형이라고 한다.

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

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

 

프로세스

계획 수립 -> 위험 분석 -> 개발 및 검증 -> 고객 평가 -> 처음부터 반복

 

애자일 모형(Agile Model)

애자일은 민첩한, 기민한이라는 의미로 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발과정을 진행한다.

- 애자일 모형은 어느 특정 개발 방법론이 아니라 좋은 것을 빠르고 낭비 없게 만들기 위해 고객과의 소통에 초점을 맞춘 방법론을 통칭한다.

- 애자일 모형은 기업 활동 전반에 걸쳐 사용된다.

- 애자일 모형은 스프린트(Sprint) 또는 이터레이션(Iteration)이라고 불리는 짧은 개발 주기를 반복하며, 반복되는 주기마다 만들어지는 결과물에 대한 고객의 평가와 요구를 적극 수용한다.

- 각 개발주기에서는 고객이 요구사항에 우선순위를 부여하여 개발 작업을 진행한다.

- 급변하는 요구사항에 적합하다.

- 애자일 모형을 기반으로 하는 소프트웨어 개발 모형에는 Scrum, XP, 칸반, Lean, DSDM, DAD 등이 있다.

 

반응형

'CS' 카테고리의 다른 글

플라이웨이트(Flyweight) 패턴  (0) 2021.04.12
Process와 Thread의 차이  (0) 2021.03.29
Bit, Byte 2진수 16진수 관계 정리  (0) 2020.12.22
HTML <dl> 태그  (0) 2020.11.30
.inc 파일이란 무엇인가?  (0) 2020.11.30