Evolutsiya - bu dasturiy taminot hayot siklining shunday bosqichiki bunda u tezkor o’zgarishda bo’ladi va taklif qilingan yangi talablar bosqichma – bosqich shaklanadi, hamda sistemada amalga oshiriladi.
Servis xizmat ko’rsatish - bu bosqichda dasturiy maxsulot foydali bo’lib qoladi lekin faqatgina o’zgarishlar uning tezligini oshirish maqsadida qo’shiladi ya’ni dasturiy taminotda muhitida xatolarni to’grilash va o’zo’zgarishlarni tasvirlash amalga oshiriladi. Yangi funksiyalar esa qo’shilmaydi.
Bosqichdan chiqish - dasturiy taminot haligacha ishlatiladi lekin uni hosil qilish uchun yangi o’zgartirishlar kiritilmaydi.
Dasturiy maxsulot evolutsiyasi quyidagilarga bog’liq:
Saqlanib kelayotgan dasturiy maxsulotning turi;
Foydalanilayotgan qurilish jarayoni;
Loyihaga jalb qilingan ishchilarning tajribasi va qobilyati. O’zgarishlar uchun takliflar tizim evolutsiyasi uchun asosiy hisoblanadi.
Inedtifikatsiya va evolutsiyaning o’zgarishi tizimning butun hayot sikli mobanida davom etadi.
Evolutsiya va identifikatsiya o’zgarish jarayonlari
15.1-rasm. Evolutsiya va identifikatsiya o’zgarish jarayonlari40.
Shakllantirilgan amalga oshirilgan va test qilingan sistemani takrorlantiradigan yaratilish jarayonining qaytishi(takrorlanishi). Muhim farq shundaki amalga oshirish o’zgarishining birinchi bosqichi o’z ichiga dasturni tushunishni oladi. ayniqsa bu holathaqiqiy tizim tashkilotchilari amalga oshirishga javobgar bo’lmaganlaridasodir bo’ladi. Dastruni tushunish bosqichi davomida siz dasturning tuzilish strukturasini, dasturga yaxshi tasir qiladigan o’zgartirishlarni qanday taklif qilishni va uning funksiyonalligini qanday ta’minlab berishni tushunishingiz shart. Zarur o’zgarishlar dasturiy inginiring jarayonining barcha bosqichlarida ham amalga oshirish shart bo’lmasligi mumkin:
Jiddiy tizim xatosi normal amaliyot davom ettirishga imkon berishni tuzatish
40Романов А.А. Конструирование программного обеспечения: учебное пособие. – Ульяновск: УлГТУ, 2016.
kerak bo’lganda;
Agar sistema muhiti uchun kutilmagan tasirlar bo’lsa;
Agar tezda javob qaytarishni talab qiladigan talablar bo’lsa.
Dasturiy ta’minot evolyutsiyasi - bu o’zgaruvchan manfaatdor tomonlar va bozor talablariga javob beradigan dasturiy ta’minotning dastlabki chiqarilganidan keyin uzluksiz rivojlanishi. Dasturiy ta’minotning evolyutsiyasi muhim ahamiyatga ega, chunki tashkilotlar o’z dasturiy ta’minotiga katta miqdorda mablag’ sarflaydi va to’liq ushbu dasturiy ta’minotga bog’lanib qoladi. Dasturiy ta’minot evolyutsiyasi dasturiy ta’minotni o’zgaruvchan biznes talablariga moslashishga, nuqsonlarni tuzatishga va dasturiy ta’minot tizimlari muhitida boshqa o’zgaruvchan tizimlar bilan integratsiyalashuviga yordam beradi. Fred Bruks o’zining "Afsonaviy odam-oy" kitobida odatdagi tizim narxining 90% dan ortig’i xizmat ko’rsatish bosqichiga to’g’ri kelishini va har qanday muvaffaqiyatli dasturiy ta’minot muqarrar ravishda xizmat ko’rsatilishishini ta’kidlaydi. Aslida, Agile usullari veb- texnologiyalarda va uning atrofida texnik xizmat ko’rsatishga o’xshash faoliyatga asoslanadi, bu yerda imkoniyatlarning asosiy qismi ramkalar va standartlardan kelib chiqadi.
Dasturiy ta’minotga texnik xizmat ko’rsatish xatolarni tuzatish va kichik yaxshilanishlarga qaratilgan bo’lsa, dasturiy ta’minotni rivojlantirish moslashish va boshqa tizimga ko’chirishga qaratilgan. Dasturiy ta’minot texnologiyalari rivojlanishda davom etadi. Ushbu o’zgarishlar yangi qonunlar va nazariyalarni yaratish va asoslashni talab qiladi. Ba’zi modellar kelajakdagi dasturlarni ishlab chiqishda qo’shimcha mulohazalarni ham talab qiladi. Innovatsiyalar va yaxshilanishlar haqiqatan ham dasturiy ta’minotni ishlab chiqishning kutilmagan shaklini oshirmoqda. Kelajakdagi dasturiy ta’minot evolyutsiyasiga moslashish uchun texnik xizmat ko’rsatish muammolari ham o’zgarishi mumkin.
Dasturiy ta’minot jarayonlari o’z-o’zidan rivojlanib, o’qitish va takomillashtirishdan o’tib, ularning samaradorligi va natijaviyligini doimo oshiradi. Dasturiy ta’minot evolyutsiyasiga bo’lgan ehtiyoj hech kim foydalanuvchi talablari qanday rivojlanishini oldindan aytib bera olmasligidan kelib chiqadi. Boshqacha
qilib aytganda, mavjud tizimlar hech qachon tugallanmagan va rivojlanishda davom etadi. Tizimlar rivojlanib borar ekan, bu muammolarni hal qilish uchun yaxshiroq yechim topilmasa, tizimlarning murakkabligi oshadi. Dasturiy ta’minot evolyutsiyasining asosiy vazifalari tizimning funktsional dolzarbligi, ishonchliligi va moslashuvchanligini ta’minlashdan iborat. Dasturiy ta’minot evolyutsiyasi to’liq qo’lda (dasturiy ta’minot muhandislari tomonidan kiritilgan o’zgarishlar asosida), qisman avtomatlashtirilgan (masalan, refaktoring vositalaridan foydalangan holda) yoki to’liq avtomatlashtirilgan (avtonom sozlash yoki evolyutsiya bilan) bo’lishi mumkin. Dasturiy ta’minotning rivojlanishiga Internet katta ta’sir ko’rsatdi:
World Wide Web va Internet resurslarining tez o’sishi foydalanuvchilar va muhandislarga tegishli ma’lumotlarni topishni osonlashtiradi.
har kim manba kodlarini yuklab olishi va shuning uchun ularni o’zgartirishi mumkin bo’lgan ochiq kodli ishlab chiqish tez va parallel evolyutsiyani ta’minladi.