Методология на водопада срещу RUP
Има редица различни методологии за разработка на софтуер, използвани в софтуерната индустрия днес. Методът на разработка на водопад е един от най-ранните методи за разработка на софтуер. Методологията за разработка на софтуер Waterfall е последователен модел, в който всяка фаза е завършена изцяло и следвана във фиксиран ред. RUP (Rational Unified Process) е адаптивна рамка на процеса на итеративни методологии за разработка на софтуер. RUP адресира няколко критики към развитието на Waterfall, като твърдост.
Какво представлява методологията на водопада?
Методологията на водопада е един от най-ранните модели за разработка на софтуер. Както подсказва името, това е последователен процес, в който прогресът преминава през няколко фази отгоре надолу, аналогично на водопад. Фазите на модела Waterfall са анализ на изискванията, проектиране, разработка, тестване и внедряване. Бизнес анализаторите (или самите програмисти, ако е малка организация) провеждат фазата на анализ, като получават системните и бизнес изисквания от клиента на проекта. След това софтуерните архитекти (или старши софтуерни разработчици) измислят проектни документи, изобразяващи структурата и компонентите на предложената система. След това младши разработчици правят кодирането, използвайки проектните документи. След приключване на разработката, продуктът се предава на екипа за тестване за процеси на тестване и проверка. Накрая продуктът се внедрява (или интегрира) на сайта на клиента и проектът се подписва. Важно е да се отбележи, че всяка фаза е напълно завършена, преди да преминете към следващата фаза. Този модел беше пряк резултат от простото адаптиране на хардуерно-ориентирания метод за разработка (намиращ се в производствената и строителната индустрия), в даден момент не съществуваше официален модел за разработка на софтуер.
Какво е RUP?
RUP принадлежи към семейството на итеративни методологии за разработка на софтуер. Той е разработен от Rational Software Corporation (на IBM) през 2003 г. Това всъщност е адаптивна рамка на процеса (а не един конкретен процес), която може да бъде персонализирана от организацията за разработка според техните нужди. Малко подобен на водопада, той има фиксирани фази като начало, разработване, изграждане и преход. Но за разлика от водопада, RUP е итеративен процес. Трите стратегии, обхванати от RUP, са адаптивен процес, който ръководи развитието, автоматизирани инструменти за ускоряване на процеса и услуги, които помагат за по-бързото приемане на процеса и инструментите. Тези стажанти на стратегии улавят шестте най-добри практики на софтуерното инженерство (итеративна разработка, управление на изискванията, базирана на компоненти архитектура, визуални софтуерни модели, непрекъсната проверка и управление на промените).
Каква е разликата между методологията на водопада и RUP?
Въпреки че методологията на Waterfall и RUP имат дефинирани фиксирани фази, има ключови разлики между тези два модела. Основното уважение е, че докато методологията на водопада е очевидно последователен процес с предписани стъпки, в които текущата фаза е завършена преди преминаване към следващата фаза, RUP е итеративен процес. За разлика от водопадната методология, RUP разработва продукта на няколко етапа въз основа на обратна връзка от акционерите. Тъй като всяка итерация на RUP създава изпълнимо издание, клиентите получават ползите много по-рано от Waterfall. И накрая, методологията на водопада е предписан конкретен процес, докато RUP е адаптивна рамка на софтуерни процеси.