Agile vs V Metodologies (Модель)
Бүгүнкү күндө программалык камсыздоо тармагында программалык камсыздоону иштеп чыгуунун бир катар ар кандай методологиялары колдонулат. V Metodologies (V-Модель) Шаркыратманы иштеп чыгуу ыкмасынын кеңейтилиши (бул эң алгачкы ыкмалардын бири). V-Modelдин негизги багыты коддоого жана тестирлөөгө бирдей маани берүү. Agile модели - учурдагы моделдердеги кемчиликтерди жоюу үчүн киргизилген акыркы программалык камсыздоону иштеп чыгуу модели. Agile компаниясынын негизги багыты тестирлөөнү мүмкүн болушунча эртерээк киргизүү жана системаны өтө кичинекей жана башкарылуучу бөлүкчөлөргө бөлүп, продуктунун жумушчу версиясын эртерээк чыгаруу болуп саналат.
V Metodologies (Модель) деген эмне?
V Metodologies (V-Model) программалык камсыздоону иштеп чыгуу модели. Бул типтүү Waterfall программалык камсыздоону иштеп чыгуу моделинин узартылышы катары каралат. V-Модель Шаркыратма моделинде аныкталган фазалардын ортосундагы бирдей мамилелерди колдонот. Бирок сызыктуу түшүүнүн ордуна (шаркыратма модели сыяктуу) V-модел диагональ боюнча ылдыйлап, андан кийин кайра өйдө жылып (коддоо фазасынан кийин) V тамгасынын формасын түзөт. Бул V формасы ар бир фазанын ортосундагы байланышты көрсөтүү үчүн түзүлгөн. иштеп чыгуу/долбоорлоо жана тиешелүү тестирлөө баскычы. Абстракциянын убактысы жана деңгээли тиешелүүлүгүнө жараша горизонталдык жана вертикалдык огу менен көрсөтүлөт.
Тестирлөө (өсүү жолу, Vнын оң тарабы) текшерүү үчүн жүргүзүлөт, ал эми тиешелүү дизайн фазалары (төмөндөө жолу, Vнын сол тарабы) валидация үчүн колдонулат. V-моделинде коддоо жана тестирлөөгө бирдей салмак берилет. V-Model долбоордук документтер/код менен бирге тестирлөө документин түзүүнү сунуштайт. Мисалы, интеграциялык тестирлөө документтери жогорку деңгээлдеги долбоор документтештирилип жатканда жазылышы керек жана деталдуу дизайн планы түзүлүп жатканда бирдик сыноолору документтештирилиши керек. Бул ар бир тесттин ишке ашыруу планын иштеп чыгуунун аягына чейин күтпөстөн, аны тестирлөө тобуна өткөрүп берүү үчүн алдын ала түзүш керек дегенди билдирет.
Agile деген эмне?
Agile – бул agile манифестине негизделген акыркы программалык камсыздоону иштеп чыгуу методологиясы. Бул салттуу V-Model жана Waterfall программалык камсыздоону иштеп чыгуу методологияларындагы кээ бир кемчиликтерди чечүү үчүн иштелип чыккан. Agile ыкмалары кардарлардын өнүгүү циклинин башталышында катышуусуна артыкчылык берүүгө негизделген. Бул кардар тарабынан тестирлөөнү мүмкүн болушунча эрте жана тез-тез киргизүүнү сунуштайт. Туруктуу версия жеткиликтүү болгондо, сыноо ар бир учурда жүргүзүлөт. Agile негизи тестирлөө долбоордун башынан баштап бүткүл долбоордун аягына чейин улантууга негизделген. Agile'дин негизги баалуулуктары - бул "сапат - бул команданын жоопкерчилиги", анда программалык камсыздоонун сапаты бүт команданын (текшерүү тобунун эле эмес) жоопкерчилиги экенин баса белгилейт. Agileдин дагы бир маанилүү аспектиси - бул программалык камсыздоону башкарууга мүмкүн болгон кичинекей бөлүктөргө бөлүп, аларды кардарга тез жеткирүү. Иштеп жаткан продуктуну жеткирүү абдан маанилүү. Андан кийин команда программалык камсыздоону өркүндөтүүнү жана ар бир негизги кадамда үзгүлтүксүз жеткирүүнү улантат. Бул спринт деп аталган өтө кыска чыгаруу циклдарына ээ болуу жана ар бир циклдин аягында жакшыртуу үчүн пикир алуу аркылуу жетишилет. Мурунку ыкмалардагы иштеп чыгуучулар жана сыноочулар сыяктуу топтун көп өз ара аракети жок салым кошуучулар эми Agile моделинин алкагында чогуу иштешет.
Agile жана V Metodologies (Модель) ортосунда кандай айырма бар?
Agile модели V-Modelге салыштырмалуу буюмдун жумушчу версиясын абдан эрте жеткирет. Көбүрөөк функциялар кадам сайын жеткирилгендиктен, кардар кээ бир артыкчылыктарды эрте түшүнө алат. Agile тестирлөө циклинин убактысы V-Modelге салыштырмалуу кыска, анткени тестирлөө иштеп чыгууга параллелдүү жүргүзүлөт. Agile бир кыйла реактивдүү V-моделине салыштырмалуу проактивдүү модель (өтө кыска циклдарынан улам). V-Model абдан катуу жана Agile моделине караганда салыштырмалуу аз ийкемдүү. Бардык ушул артыкчылыктардан улам учурда V-моделине караганда Agile артыкчылыкка ээ.