UP Software Development - Iterative and Evolutionary Process

dogbird·2024년 4월 19일
0

OOAD

목록 보기
4/12

iterative한 개발론에서는 UP개발 방법론이 제일 많이 사용됩니다. UP에 대해 알아봅시다.

UP 개발 방법론이란?

UP는 Unified Process의 준 말로 번역하면 통합 프로세스라고 한다. UP는 객체 지향 시스템 builing을 위한 저명한 software개발 과정이다. 옛날에는 the Rational Unified Process를 줄여서 RUP라고도 했다. UP는 객체 지향 소프트웨어 개발 방법론으로 시작되었으며, 비즈니스 모델링, 요구 사항 분석, 설계, 구현, 테스트 등의 단계를 반복하여 소프트웨어를 개발한다. UP는 큰 프로젝트에서 사용되는 반복적이고 점진적인 개발 프로세스로 다음 포스팅에서 다룰 Agile 개발 방법론에 속하진 않지만, 유사한 측면이 있어 일부 Agile원칙을 적용할 수 있다.

UP의 main Idea는 Iterative Development로 반복적인 개발 과정을 중요시한다. Iterative Development는 소프트웨어를 단일 큰 단계로 완성하는 대신, 여러번의 작은 단계를 나누어 개발하는 접근 방식을 말한다. 이 작은 단계를 iteration이라고 하며 프로젝트를 미니 프로젝트단위로 잘라 놓은 것 이라고 생각하면 된다. 보통 2-6주 정도 짧은 기간을 설정하고 고정된 기간동안 iteration을 진행한다. 각 iteration은 자체 요구사항 분석, 설계, 구현 및 테스트 활동이 포함되어 있고 전체 프로젝트 system은 iteration을 통해 반복하면서 시간이 지남에 따라 점진적으로 성장하게 된다. 이 접근 방식을 iterative 및 incremental development라고도 한다.

UP 각각의 결과물은 요구 사항이나 설계에 따라 적절한 테스트 케이스를 작성하여 검증할 test가 가능해야하고 양한 모듈 또는 컴포넌트가 하나의 시스템으로 통합되어야한다. 소프트웨어가 개발된 환경에서 실행되는 실행가능한 시스템이어야한다.

이를 정리하면 :
1. 테스트 가능해야한다.
2. 시스템 전체와 통합되야한다.
3. 실행가능 해야한다.

Iterative Development(반복 개발)

Development는 짧은 series, 고정된 길이, iterations라고 불리는 미니 프로젝트를 의미하며 각 iteration은 자체의 요구사항 분석과 디자인, 구현, Test활동을 포함한다.

UP, Iterative Development의 장점

  1. 기술, 요구사항, objectives, usability 측면에서 위험 부담을 빨리 처리가능하다.
  2. 진행사항을 빠르게 눈으로 확인할 수 있다.
  3. 실제 필요한 것들을 빨리 마주쳐서 stackeholder(이해관계자)에게 빨리 알려줄수 있어 초기 피드백이 가능하다.
  4. 분석만 엄청 오래 하는 등의 문제를 관리할 수 있어 복잡성을 관리하기 좋다.
  5. iteration내의 학습이 개발 프로세스 자체를 개선하기위해 체계적으로 사용될 수 있다.

-> 프로젝트를 작은 단위로 쪼개어 미니 프로젝트내에서 계속 설계, 개발, 구현 단계를 거치기 때문에 이런 장점들이 나타난다.

profile
개발세발 개발자. 멋쟁이가 될 때 까지

0개의 댓글