본문 바로가기
Software Engineering/개발 모델 및 아키텍쳐

RAD(Rapid application development model)

by 부뚜기 2023. 3. 1.
반응형

RAD(Rapid application development model)

RAD는 1980년대에 IBM에 의해 처음 제안되었다.

이 모델의 중요한 특징은 강력한 개발 도구와 기술을 사용한다는 것이다. 소프트웨어 프로젝트에서 프로젝트를 소규모 모듈로 세분화하여 각 모듈을 별도의 팀에 독립적으로 할당할 수 있는 경우 이 모델을 사용하여 구현할 수 있다. 각 모듈들을 최종적으로 통합하여 완성된 시스템을 구현할 수 있다. 각 모듈의 개발은 폭포수 모델에서와 같은 다양한 기본 단계, 즉 그림과 같이 분석, 설계, 코딩 및 테스트 등을 포함한다. 이 모델의 또 다른 두드러진 특징은 짧은 시간이라는 것입니다. 예를 들어, 배포 기간(타임박스)은 일반적으로 60-90일이다.

JAVA, C++, .NET, XML 등과 같은 강력한 개발 도구를 사용하는 것도 프로젝트의 필수적인 부분이다.

이 모델은 4개의 기본 단계로 구성된다:

 

1. 요구사항 계획(Requirements Planning)

브레인스토밍, 업무 분석, 양식 분석, 사용자 시나리오, FAST(Facilitated Application Development Technique) 등 요구사항 파악을 위한 다양한 기법을 사용하여 시행된다. 이는 중요한 데이터를 설명하고 얻는 방법, 이를 처리하여 최종적으로 정제된 모델을 형성하는 구조화된 전체 계획으로 구성된다.

 

2. 사용자 설명(User Description)

이 단계는 사용자 피드백을 수집하고 개발 도구를 사용하여 프로토타입을 만드는 것으로 구성된다. 다시 말해, 첫 번째 단계에서 수집된 데이터를 재검토하고 검증하는 작업을 포함한다. 또한 데이터 집합의 속성을 식별하고 명세화하는 작업도 이 단계에서 이루어진다.

 

3. 구축(Construction)

이 단계에서는 프로토타입의 수정과 배포가 이루어진다. 이 단계에서는 강력한 자동화 도구를 사용하여 프로세스 및 데이터 모델을 최종 작동 하는 제품으로 변환하는 것을 포함한다. 필요한 모든 수정과 개선 사항도 이 단계에서 처리된다.

 

4. 컷오버(Cutover)

각각 독립적으로 개발된 모듈들 간의 인터페이스가 정상적으로 작동하는지 테스트하는 소프트웨어 개발 단계다. 강력한 자동화 도구와 하위 모듈을 사용하면 테스트가 용이해진다. 이에 이어 사용자에 의한 인수 테스트가 이루어진다.

 

이 프로세스에는 신속한 시제품 제작, 고객에게 배포 및 피드백을 받아 작업을 진행한다. 고객의 검증을 거친 후 SRS 문서가 작성되고 설계가 완료된다.

 

RAD 모델은 언제 사용할까?

고객이 잘 알려진 요구사항을 가지고 있는 경우, 사용자는 라이프사이클 전체에 걸쳐 참여할 수 있으며, 프로젝트를 타임박스 화할 수 있고, 기능을 점진적으로 제공할 수 있으며, 고성능이 필요하지 않으며, 낮은 기술적 위험이 수반되며, 시스템을 모듈화 할 수 있는 경우에 RAD 모델을 사용할 수 있다.

 

장점

- 재사용 가능한 컴포넌트를 사용하면 프로젝트의 수행 시간을 줄일 수 있다.

- 고객의 피드백을 초기 단계에서부터 받을 수 있다.

- 적은 수의 개발자가 필요해 비용이 절감된다.

- 강력한 개발 도구를 사용여 비교적 짧은 시간에 더 나은 품질의 제품을 얻을 수 있다.

- 프로젝트의 진행 및 개발을 다양한 단계를 통해 측정할 수 있다.

- 짧은 반복 주기 때문에 요구사항이 변경되더라도 적응하기가 더 쉽다.

 

단점

- 강력하고 효율적인 도구를 사용하기 위해 고도로 숙련된 전문가가 필하다.

- 재사용 가능한 컴포넌트가 없으면 프로젝트가 실패할 수 있다.

- 팀 리더는 프로젝트를 제 시간에 완료하기 위해 개발자와 고객과 긴밀히 협력해야 한다.

- 모듈화하기에 적합하지 않은 시스템은 이 모델을 사용할 수 없다.

- 고객 참여가 전체 개발 생명 주기 동안 필요하다.

- 자동화된 도구와 기술을 사용하는 비용이 프로젝트 전체 예산을 초과할 수 있으므로 소규모 프로젝트에는 적합하지 않다.

용도

- 이 모델은 알려진 요구사항을 가지고 있고 짧은 개발 시간이 필요한 시스템에 사용해야 한다.

- 요구사항을 모듈화 하고 개발에 재사용 가능한 컨포넌트를 사용 가능한 프로젝트에도 적합하다.

- 이미 존재하는 시스템 구성 요소를 최소한으로 변경해 새 시스템을 개발할 수 있는 경우에 사용할 수 있다.

- 해당 분야 전문가로 팀을 구성해 사용할 수 있다. 이는 관련 지식과 기술을 사용하는 능력이 필수적이기 때문이다.

- 필요한 자동화 도구와 기술을 사용할 수 있는 예산이 있는 경우 이 모델을 선택해야 한다.

반응형

댓글