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