성공과 실패를 결정하는 1%의 객체 지향 원리(Akira Hirasawa 저, 이길섭, 신동완 역, 성안당)를 바탕으로 기억해두고 싶은 내용 정리한 것임.


폭포수형 개발 프로세스(waterfall development process)

1. 폭포수형?

작업의 순환을 회피하고, 물의 흐름처럼 유유하게 진행하는 것을 목표로 하는 방법.

기본적으로 '소프트웨어의 변경에는 많은 비용이 든다.'라는 것과 '소프트웨어보다도 문서를 만드는 비용이 훨씬 적게 든다.'라는 것을 전제로 함

2. 한계

2-1. 요구의 문제

요구 사양을 정하는 사람이 업무 전체를 정확히 이해하고 있다고 할 수 없으며, 의견이 다른 경우와 편견이 원인이 되어 모순된 사양을 결정하는 경우가 있다. 

더욱이 외부 요인에 의해 시스템의 전제 조건과 목표가 바뀌는 경우도 있어, 처음 단계에서 아무리 심사 숙고해서 정의했다 하더라도 나중에 여기저기서 변경 요소가 발생하는 것이 일반적이다.

2-2. 기술의 문제

신기술과 신제품의 적절한 이용 방법과 성능 면의 문제는 실제 프로그램을 작성해서 움직이는 단계에서 알되게는데 폭포수형 개발 프로세스의 경우 이러한 문제는 늦게 인식하게 된다. 그리고 그 단계에서 커다란 문제가 발생하면 프로젝트의 계획 전체가 막대한 영향을 받게 된다.

사진 출처 (링크)


반복형 개발 프로세스(iteration develop process)


1. 반복형?

요구 정의, 설계 프로그래밍, 테스트의 일련 작업을 '반복'을 여러 번 실시하는 것을 기본으로 한다.


2. 요구와 기술의 2가지 문제에 대처

2-1. 요구의 문제

처음에 모든 요구 사양을 확정하는 것이 아니라 단계적으로 소프트웨어를 만들어 가면서 몇 번이고 중간 버전을 만들어, 그대마다 사용자로부터 피드백(요구)을 구함.

2-2. 기술의 문제

문제를 초기에 확인하기 위해서 프로젝트의 초기 단계에서 실제 어플리케이션의 일부를 만들어 가동시켜 확인하므로, 커다란 문제라 할지라도 초기에 발견하면 시간의 여유가 있대 때문에 적절한 대책을 수립하기 쉽다.


사진 출처(링크)


3. 대표적인 반복형 개발 프로세스

RUP(Rational Unigied Process), XP(eXtreme Programming)

3-1. 객체 지향 개발 방법론 : RUP(Rational Unified Process)

3-2. 객체 지향 개발 방법론 : XP(eXtreme Programming)



+ Recent posts