Фази и модели на жизнения цикъл на разработка на софтуер (SDLC).
Какво е SDLC?
SDLC е систематичен процес за изграждане на софтуер, който гарантира качеството и коректността на изградения софтуер. SDLC процесът има за цел да произвежда висококачествен софтуер, който отговаря на очакванията на клиентите. Разработването на системата трябва да бъде завършено в предварително определената времева рамка и цена. SDLC се състои от подробен план, който обяснява как да планирате, изграждате и поддържате специфичен софтуер. Всяка фаза от жизнения цикъл на SDLC има свой собствен процес и резултати, които се подават в следващата фаза. SDLC означава Жизнен цикъл на разработката на софтуер и се нарича още жизнен цикъл на разработка на приложения.
Защо SDLC?
Ето основните причини, поради които SDLC е важен за разработването на софтуерна система.
- Той предлага основа за планиране на проекти, планиране и оценка
- Осигурява рамка за стандартен набор от дейности и резултати
- Това е механизъм за проследяване и контрол на проекта
- Повишава видимостта на планирането на проекта за всички заинтересовани страни в процеса на разработка
- Повишена и подобрена скорост на развитие
- Подобрени отношения с клиентите
- Помага ви да намалите риска по проекта и режийните разходи на плана за управление на проекта
SDLC фази
Целият SDLC процес е разделен на следните SDLC стъпки:
- Фаза 1: Събиране и анализ на изискванията
- Фаза 2: Предпроектно проучване
- Фаза 3: Проектиране
- Фаза 4: Кодиране
- Фаза 5: Тестване
- Фаза 6: Инсталиране/внедряване
- Фаза 7: Поддръжка
В този урок обясних всички тези фази на жизнения цикъл на разработката на софтуер
Фаза 1: Събиране и анализ на изискванията
Изискването е първият етап в процеса на SDLC. Провежда се от старши членове на екипа с принос от всички заинтересовани страни и експерти в областта в индустрията. Планиране за гарантиране на качеството изискванията и признаването на включените рискове също се извършва на този етап.
Този етап дава по-ясна картина на обхвата на целия проект и очакваните проблеми, възможности и директиви, които са задействали проекта.
Етапът на събиране на изисквания се нуждае от екипи, за да получи подробни и точни изисквания. Това помага на компаниите да финализират необходимия график за завършване на работата на тази система.
Фаза 2: Предпроектно проучване
След като приключи фазата на анализ на изискванията, следващата стъпка на sdlc е да се дефинират и документират нуждите от софтуер. Този процес се провежда с помощта на документа „Спецификация на софтуерните изисквания“, известен също като документ „SRS“. Той включва всичко, което трябва да бъде проектирано и разработено по време на жизнения цикъл на проекта.
Има основно пет вида проверки на осъществимостта:
- Икономически: Можем ли да завършим проекта в рамките на бюджета или не?
- Правна информация: Можем ли да се справим с този проект като киберзакон и друга регулаторна рамка/съответствия.
- Operaционна осъществимост: Можем ли да създадем операции, които се очакват от клиента?
- Технически: Трябва да проверите дали текущата компютърна система може да поддържа софтуера
- График: Решете дали проектът може да бъде завършен в рамките на дадения график или не.
Фаза 3: Проектиране
В тази трета фаза документите за проектиране на системата и софтуера се изготвят съгласно документа със спецификацията на изискванията. Това помага да се определи цялостната системна архитектура.
Тази фаза на проектиране служи като вход за следващата фаза на модела.
Има два вида проектни документи, разработени в тази фаза:
Дизайн на високо ниво (HLD)
- Кратко описание и име на всеки модул
- Описание на функционалността на всеки модул
- Интерфейсна връзка и зависимости между модулите
- Таблици на база данни, идентифицирани заедно с техните ключови елементи
- Пълни архитектурни диаграми заедно с подробности за технологията
Дизайн на ниско ниво (LLD)
- Функционална логика на модулите
- Таблици на база данни, които включват тип и размер
- Пълен детайл на интерфейса
- Адресира всички видове проблеми със зависимостите
- Списък на съобщения за грешка
- Пълен вход и изход за всеки модул
Фаза 4: Кодиране
След като фазата на проектиране на системата приключи, следващата фаза е кодирането. В тази фаза разработчиците започват да изграждат цялата система, като пишат код, използвайки избрания език за програмиране. Във фазата на кодиране задачите се разделят на единици или модули и се възлагат на различните разработчици. Това е най-дългата фаза от процеса на жизнения цикъл на разработката на софтуер.
В тази фаза програмистът трябва да следва определени предварително дефинирани указания за кодиране. Те също трябва да използват инструменти за програмиране като компилатор, интерпретатори, дебъгер за генериране и внедряване на кода.
Фаза 5: Тестване
След като софтуерът е завършен и той се внедрява в тестовата среда. Тестващият екип започва да тества функционалността на цялата система. Това се прави, за да се провери дали цялото приложение работи според изискванията на клиента.
По време на тази фаза QA и екипът за тестване може да открият някои грешки/дефекти, които съобщават на разработчиците. Екипът за разработка поправя грешката и изпраща обратно на QA за повторен тест. Този процес продължава, докато софтуерът е без грешки, стабилен и работи според бизнес нуждите на тази система.
Фаза 6: Инсталиране/внедряване
След като фазата на тестване на софтуера приключи и в системата не останат бъгове или грешки, започва окончателният процес на внедряване. Въз основа на обратната връзка, дадена от ръководителя на проекта, окончателният софтуер се пуска и се проверява за проблеми с внедряването, ако има такива.
Фаза 7: Поддръжка
След като системата бъде внедрена и клиентите започнат да използват разработената система, се извършват следните 3 дейности
- Коригиране на грешки – докладват се грешки поради някои сценарии, които изобщо не са тествани
- Upgrade – Надграждане на приложението до по-новите версии на Софтуера
- Подобряване – Добавяне на някои нови функции към съществуващия софтуер
Основният фокус на тази фаза на SDLC е да се гарантира, че нуждите продължават да бъдат удовлетворявани и че системата продължава да работи според спецификацията, спомената в първата фаза.
Популярни SDLC модели
Ето някои от най-важните модели на жизнения цикъл на разработка на софтуер (SDLC):
Модел на водопад в SDLC
Водопадът е широко разпространен SDLC модел. При този подход целият процес на разработка на софтуер е разделен на различни фази на SDLC. В този SDLC модел резултатът от една фаза действа като вход за следващата фаза.
Този SDLC модел изисква много документация, като по-ранните фази документират какво трябва да се изпълни в следващите фази.
Инкрементален модел в SDLC
Инкременталният модел не е отделен модел. По същество това е поредица от водопадни цикли. Изискванията са разделени на групи в началото на проекта. За всяка група се следва моделът SDLC за разработване на софтуер. Процесът на жизнения цикъл на SDLC се повтаря, като всяко издание добавя повече функционалност, докато не бъдат изпълнени всички изисквания. При този метод всеки цикъл действа като фаза на поддръжка за предишната версия на софтуера. Модификацията на инкременталния модел позволява циклите на разработка да се припокриват. След това следващият цикъл може да започне, преди да е завършил предишният цикъл.
V-модел в SDLC
При този тип тестване и разработка на SDLC модел фазата се планира паралелно. И така, има фази на проверка на SDLC отстрани и фаза на валидиране от другата страна. V-моделът се присъединява чрез фаза на кодиране.
Гъвкав модел в SDLC
Agile методологията е практика, която насърчава непрекъснатото взаимодействие на разработката и тестването по време на SDLC процеса на всеки проект. В метода Agile целият проект е разделен на малки постепенни компилации. Всички тези компилации се предоставят на повторения и всяка итерация продължава от една до три седмици.
Спирален модел
Спираловидният модел е модел на процес, управляван от риска. Този модел за тестване на SDLC помага на екипа да приеме елементи от един или повече модели на процеси като водопад, инкрементален, водопад и т.н.
Този модел приема най-добрите характеристики на модела за прототипиране и модела на водопада. Спираловидната методология е комбинация от бързо създаване на прототипи и едновременност в дейностите по проектиране и разработка.
Модел Big bang
Моделът на Големия взрив се фокусира върху всички видове ресурси в разработката на софтуер и кодирането, без или с много малко планиране. Изискванията се разбират и изпълняват, когато дойдат.
Този модел работи най-добре за малки проекти с по-малък екип за разработка, който работи заедно. Също така е полезно за проекти за академична разработка на софтуер. Това е идеален модел, когато изискванията са или неизвестни, или окончателната дата на пускане не е дадена.
Oбобщение
- Жизненият цикъл на разработка на софтуер (SDLC) е систематичен процес за изграждане на софтуер, който гарантира качеството и коректността на създадения софтуер
- Пълната форма SDLC е жизнен цикъл на разработка на софтуер или жизнен цикъл на разработка на системи.
- SDLC в софтуерното инженерство осигурява рамка за стандартен набор от дейности и резултати
- Седем различни етапа на SDLC са 1) Събиране на изисквания и анализ 2) Проучване на осъществимостта: 3) Дизайн 4) Кодиране 5) Тестване: 6) Инсталиране/внедряване и 7) Поддръжка
- Старшите членове на екипа провеждат анализ на изискванията фаза
- Етапът на предпроектно проучване включва всичко, което трябва да бъде проектирано и разработено по време на жизнения цикъл на проекта
- Във фазата на проектиране документите за проектиране на системата и софтуера се изготвят съгласно документа със спецификацията на изискванията
- Във фазата на кодиране разработчиците започват да изграждат цялата система, като пишат код, използвайки избрания език за програмиране
- Тестването е следващата фаза, която се провежда, за да се провери дали цялото приложение работи според изискванията на клиента.
- Лицето за инсталиране и внедряване започва, когато тестване на софтуер фазата е приключила и в системата не са останали бъгове или грешки
- Коригиране на грешки, надграждане и действия за ангажиране, включени в лицето за поддръжка
- Waterfall, Incremental, Agile, V model, Spiral, Big Bang са някои от популярните SDLC модели в софтуерното инженерство
- SDLC в софтуерното тестване се състои от подробен план, който обяснява как да планирате, изграждате и поддържате специфичен софтуер