상세 컨텐츠

본문 제목

[객체지향개발론] 소프트웨어 프로세스 모델

자료실/컴퓨터 공부

by 깔깔앵무 2020. 3. 25. 02:35

본문

반응형

이번 포스팅에서는 소프트웨어 프로세스 모델에 대해 정리하고자 한다.

 

 

 

소프트웨어 개발 프로세스 모델(Software Development Process Model)이란, 

 

고성능 소프트웨어, 시스템에서 요구되는 활동, 액션, 일, 

프로젝트 관리(milestones), 업무(work), product 의 뚜렷한 set을 정의하는 것이다.

 

 

-> 누가 무엇을 하고, 언제 하고, 어떻게 목표를 달성할지를 정의하는 것

 

 

 

이런 프로젝트 방법론에는 폭포수 모델(Waterfall model)과 애자일 모델(Interative model - Agile)이 있다.

 

 

 

1. 폭포수 모델(Waterfall model)

 

 

폭포수 모델 도식화 [ 출처 : http://slidehunter.com/ ]

 

 

위 그림과 같이 요구분석 -> 설계 -> 디자인 -> 코딩-> 개발 순으로 순차적으로 이어지는 흐름이 

 

마치 폭포수 같은 모델이다.

 

 

 

그래서 이름도 폭포수 모델이다.

 

 

 

장점으로는

 

 

1. 고전적인 방법이라 적용 예시가 많아 기술적인 위험도가 적고

 

2. 정해진 순서대로 각 파트의 업무가 분장되고 관리되기에 프로세스상 마일스톤(*프로젝트 관리)을 정하는 것이 비교적 쉽다.

 

 

 

단점으로는 

 

 

1. 각 단계의 구분이 명확해 앞선 파트가 완전히 끝난 후 다음 단계를 시작하는 것이 거의 불가능함.

 

2. 앱 또는 웹이 구현될 때까지 고객사는 자신의 요구사항의 실체를 알기 어려움

 

-> 완성되고 검토 후 다시 처음부터 수정해야하는 번거로움이 있다. (효율성이 떨어짐)

 

 

 

 

이런 단점때문에 애자일 모델이 등장하게 된다.

 

 

 

 

 

2. 애자일 모델 (Interative model - Agile)

 

 

 

애자일 모델 도식화 [출처 : http://slidehunter.com/]

 

 

애자일 방법론은 'Agile = 날쌘, 날렵한'이란 뜻처럼 좋은 것을 빠르게 취하고, 낭비없게 만드는 다양한 방법론의 총칭이다.

 

 

 

애자일 모델이 다른 방법론과 구별되는 가장 큰 차이점은 

 

Less Document-Oriented, 즉 문서를 통한 개발이 아니라 

 

Code-Oriented, 실질적인 코딩을 통한 방법론이라는 점이다.

 

 

애자일 방법론은 전체적인 플랜을 짜고, 문서를 통해 주도해 나가던 폭포수 방식과 다르게 앞을 예측하며 개발하지 않는다.

 

일정한 주기를 가지고 끊임없이 프로토 타입을 만들어 내며 요구사항을 더하고 수정해나가 개발하는 방식이다.

 

 

 

이런 점 덕분에 고객과 상호 소통 피드백을 하며 개발하게 되고, 이에 고객이 원하는 방향으로 개발 방향을 이끌어 갈 수 있는 장점이 있다.

 

 

거기에 계속 프로토 타입을 끊임없이 수정하기에 부족한 부분을 빠르게 검토할 수 있는 장점도 있다.

 

 

 

두 모델의 장단점을 비교하면 아래와 같다.

 

 

 

 

 

반응형

관련글 더보기