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