Най- ключова разлика между SDLC и Agile Methodology е това SDLC е процесът на разделяне на работата по разработка на софтуер на отделни фази за проектиране и разработване на висококачествен софтуер, докато Agile Methodology е SDLC модел. Agile Methodology е комбинация от итеративни и постепенни модели на процеси, които се фокусират върху адаптивността на процесите и удовлетвореността на клиентите чрез бърза доставка на работещ софтуерен продукт.
1. Преглед и ключова разлика
2. Какво е SDLC
3. Какво е Agile методология
4. Връзка между SDLC и Agile методология
5. Паралелно сравнение - SDLC срещу Agile методология в таблична форма
6. Резюме
SDLC означава Жизнен цикъл на разработката на софтуер. При изграждането на софтуер има определени фази, които трябва да се следват. Всяка организация за разработка на софтуер следва SDLC за софтуерния проект. В SDLC има различни фази. Основно разбиране на проблема е идентифицирано на етапа на планиране. Откриването на рисковете, свързани с проекта, техническите затруднения, ресурси, усилията за развитие също са идентифицирани на тази фаза.
Във фазата на изискване първата дейност е събиране и анализ на изискванията. Печелене на клиентски принос, среща с висшите мениджъри и получаване на подробности за продажбите и маркетинга се случва при събиране на изисквания. Събраните изисквания трябва да бъдат документирани правилно. Този документ е известен като Спецификация на софтуерното изискване (SRS). Той съдържа изискванията за продукта, които трябва да бъдат проектирани и разработени по време на жизнения цикъл на проекта.
Софтуерният дизайн се извлича от SRS. Предложено е и документирано повече от един дизайнерски подход за архитектурата на продукта Спецификация на проектния документ (DDS). В тази фаза са проектирани всички архитектурни модули, представяне на потока от данни с външните модули и т.н..
В процеса на изпълнение проектът се реализира с подходящ език за програмиране. За писане и тестване на програми могат да се използват различни инструменти за програмиране като компилатори, интерпретатори, редактори на кодове, IDE и отстраняване на грешки. Езикът на програмиране може да бъде избран според приложението. Тестът на модула за разработения модул се извършва в тази фаза.
Тестването е процес на проверка и валидиране, че дадена софтуерна програма работи както се очаква. Използва се, за да разберете дали крайният проект е достигнал очакваните изисквания. Тестването включва тестване на интеграцията, тестване на системата и др. Интеграционното тестване е да се извърши тестване между два модула. Тестването на системата е цялостното тестване на проекта.
Фигура 01: SDLC
Накрая продуктът се пуска на пазара. В зависимост от отзивите на клиентите, към продукта могат да се добавят нови функции. Поддръжката и необходимите услуги се предоставят на съществуващите клиенти. Това са основните фази на SDLC.
По време на процеса на разработване на софтуер трябва да се следва моделът на жизнения цикъл на разработката на софтуер. Тези модели са известни като Модел на процеса на разработване на софтуер. Всеки процес следва определен брой стъпки, уникални за неговия тип, за да завърши успешно софтуерния проект. Някои примери за SDLC модели са водопад модел, итеративен модел, спирален модел, v модел, прототип модел, бърза разработка на приложения и т.н..
Agile методологията също е SDLC модел. Това е комбинация от итеративни и инкрементални модели на процеси. Този модел помага да се адаптира към промените в изискванията. В този модел проектът е разбит на няколко модула. Да приемем, че проектът е разбит на три модула като A, B и C. Първият модул A преминава през планиране, събиране на изисквания и анализ, проектиране, изпълнение и тестване. Когато приключи, стартира модулът B. Той също преминава през същата фаза като модула А. Когато B завърши, модулът C започва. В края на итерацията на клиента може да се предостави работещ модул.
Има много предимства на Agile. В традиционния модел на водопад, след като изискванията са дефинирани, те не могат да бъдат променени. Но в Agile изискванията могат да бъдат променени. Има и по-голямо сътрудничество между разработчика и клиента. Подобрява работата в екип и прави проекта лесен за управление. Като цяло Agile е популярен SDLC модел поради своята гъвкавост и адаптация. Може да не е подходящ за сложен проект. Други недостатъци са, че клиентът може да променя изискванията винаги и е необходимо да има пъргав лидер, който да ръководи проекта.
SDLC срещу Agile методология | |
SDLC е процесът на разделяне на работата по разработка на софтуер на отделни фази за подобряване на дизайна, управлението на продуктите и управлението на проекти. | Agile Methodology - подход за разработка на софтуер, при който изискванията и решенията се развиват чрез съвместните усилия на самоорганизиращи се и екипи за многофункционална функционалност и техните крайни потребители. |
употреба | |
SDLC се използва за организиране на управление на работата по разработка на софтуер. | Agile се използва за подобряване на гъвкавостта и адаптиране към промените в изискванията на проекта. |
Тази статия обсъжда разликата между SDLC и Agile. Разликата между SDLC и Agile Methodology е, че SDLC е процесът на разделяне на работата по разработка на софтуер на отделна фаза за проектиране и разработване на висококачествен софтуер, докато Agile Methodology е SDLC модел.
1. „Процес на разработване на софтуер.“ Уикипедия, Фондация Уикимедия, 28 март 2018 г. Достъпно тук
2. "Agile модел на SDLC." Www.tutorialspoint.com, Tutorials Point, 8 януари 2018. Достъпно тук