Dasturiy ta'minot foydalanuvchilar turiga mos bo'lishi kerak. Ya’ni foydalanuvchilar uchun tushunarli, qulay va boshqa tizimlar bilan mos bo'lishi kerak degan ma'noni anglatadi.
Ishonchlilik va xavfsizlik
Dasturiy ta'minot ishonchliligi o’z ichiga ishonchlilik, xavfsizlik va himoyalanganlik kabi bir qator xususiyatlari kiradi. Ishonchli dasturiy ta'minot tizim ishlamay qolganda jismoniy yoki iqtisodiy zarar keltirmasligi kerak. Zararli foydalanuvchilar tizimga kira olmasligi yoki unga zarar yetkaza olmasligi uchun dasturiy ta'minot himoyalangan bo'lishi kerak
Samaradorlik
Dasturiy ta'minot tizim resurslaridan behuda foydalanmasligi kerak, masalan xotira va protsessor. Shunday qilib samaradorlik bu so’rovlarga javob berish tezligi, qayta ishlash vaqti, resurslardan foydalanish va boshqalarni o'z ichiga oladi.
Saqlash imkoniyati (Maintainability)
Dasturiy ta'minot mijozlarning o'zgaruvchan talablarini bajarish uchun rivojlana oladigan tarzda yozilishi kerak. Bu juda muhim xususiyatdir, chunki dasturiy ta'minotni o'zgartirish o'zgaruvchan biznes muhitining muqarrar talabidir.
Dasturiy injiniring
Dasturiy injiniring bu muhandislik sohasi bo’lib, u dasturiy ta'minotni ishlab chiqarishning dastlabki bosqichlaridan boshlab tizimni foydalanishga topshirgandan keyin uni saqlab qolishgacha bo'lgan barcha jihatlariga bog'liq. Ushbu ta'rifda ikkita asosiy soha mavjud:
Muhandislik sohasi. Muhandislar narsalarni ishlashga majbur qiladilar. Ular biror ishga mos keladigan nazariyalar, usullar va vositalarni topib qo'llaydilar. Biroq, ular mavjud bo’lganlaridan tanlab foydalanadilar va agarda qo'llaniladigan nazariyalar va usullar mavjud bo'lmasa-da, muammolarni hal qilish yo'llarini topishga harakat qilishadi. Shuningdek, muhandislar tashkiliy va moliyaviy chegaralarni ham hisobga olib ishlashlari kerakligi bilishadi va ushbu chegaralar doirasida echimlarni izlashlari kerak bo’ladi.
Dasturiy ta'minot ishlab chiqarishning barcha sohalari. Dasturiy injiniring nafaqat dasturiy ta'minotni ishlab chiqishning texnik jarayonlari bilan bog'liq. Shuningdek, u dasturiy ta'minot loyihasini boshqarish va dasturiy ta'minotni ishlab chiqishni qo'llab-quvvatlash uchun vositalar, usullar va nazariyalarni ishlab chiqish kabi faoliyatni o'z ichiga oladi.
Injiniring - bu reja va byudjet doirasida kerakli sifat natijalarini olish hisoblanadi. O'zlari uchun dastur yozayotgan dasturchilar dasturni ishlab chiqishga xohlagancha vaqt sarflashlari mumkin.
Umuman olganda, dasturiy ta'minot muhandislari o'z ishlariga tizimli va tashkiliy yondashuvni qo'llaydi, chunki bu ko'pincha yuqori sifatli dasturiy ta'minotni ishlab chiqarishning eng samarali usuli hisoblanadi. Biroq, muhandislik barcha holatlar uchun eng mos usulni tanlash bilan bog'liq, shuning uchun ishlab chiqishga yanada ijodiy, rasmiy yondashuv dasturiy ta'minotning ayrim turlari uchun to'g'ri bo'lishi mumkin. Tez o'zgarishlarga mos keladigan yanada moslashuvchan dasturiy ta'minot jarayoni, ayniqsa, dasturiy ta'minot va grafik dizayn ko'nikmalarini birlashtirishni talab qiladigan interaktiv veb-ilovalarga asoslangan tizimlar va mobil ilovalarni ishlab chiqish uchun mos keladi.
Dasturiy injiniring ikki sababga ko'ra muhim hisoblanadi:
Borgan sari ko'p insonlar va jamiyat ilg'or dasturiy ta'minot tizimlariga tayanib ish ko’rmoqdalar. Biz ishonchli va ishonchli tizimlarni iqtisodiy va tez ishlab chiqarishga qodir bo'lishimiz kerak.
Shaxsiy dasturlash loyihasi sifatida dasturlarni yozishdan ko'ra, professional dasturiy ta'minot tizimlari uchun dasturiy injiniring usullari va uslublaridan foydalanish odatda arzonroqdir. Dasturiy injiniring usulidan foydalanmaslik testlash, sifatni ta’minlash va uzoq muddatli texnik xizmat ko'rsatish uchun ko’p xarajatlarga olib keladi.
Dasturiy injiniringida qo'llaniladigan tizimli yondashuv ba'zan dasturiy ta'minot jarayoni deb ataladi. Dasturiy ta'minot jarayoni - bu dasturiy mahsulotni ishlab chiqarishning harakatlar ketma-ketligi hisoblanadi. To'rtta asosiy bosqichlar barcha dasturiy ta’minoy jarayonlari uchun umumiydir.
Dasturiy ta'minot spetsifikatsiyasi. Bu erda mijozlar va muhandislar ishlab chiqarilishi kerak bo'lgan dasturiy ta'minotni va uning ishlashidagi cheklovlarni belgilaydilar.
Dasturiy ta'minotni ishlab chiqish. Bu degani dasturiy ta'minot loyihalashtirish va dasturini yozishdan iborat.
Dasturiy ta'minotni validasiyasi. Bu erda dasturiy ta'minot mijozning talabiga mos kelishiga ishonch hosil qilish uchun tekshiriladi.
Dasturiy ta'minot evolyutsiyasi. Bu erda o'zgarib borayotgan bozor va mijozlarning talablariga mos ravishda dasturiy ta'minot takomillashtirib boriladi.
Har xil turdagi tizimlar turli xil ishlab chiqish jarayonlarini talab qiladi. Masalan, samolyotda real vaqtda ishlaydigan dasturiy ta'minot ishlab chiqish boshlanishidan oldin to'liq aniqlanishi kerak. Elektron tijorat tizimlarida spetsifikatsiya va dastur odatda birgalikda ishlab chiqiladi. Binobarin, ushbu umumiy jarayonlar ishlab chiqilayotgan dasturiy ta'minot turiga qarab har xil yo'llar bilan tashkil etilishi va turli darajadagi tafsilotlarda tavsiflanishi mumkin.
Dasturiy injiniring ham informatika(computer science), ham tizim muhandisligi (systems engineering) fanlari bilan bog'liq.
Informatika fani kompyuterlar va dasturiy ta'minot tizimlarining asosini tashkil etuvchi nazariyalar va usullar bilan, dasturiy injiniring esa dasturiy ta'minot ishlab chiqarishning amaliy muammolari bilan shug'ullanadi. Elektr muhandislari uchun fizika bo'yicha ba'zi bilimlar zarur bo'lgani kabi, Informatika fani bo'yicha ba'zi bilimlar dasturiy injiniring uchun juda muhimdir. Informatika fani nazariyasi nisbatan kichik dasturlarga qo'llaniladi. Informatika fanining nazariyalari kamdan-kam hollarda murakkabdasturiy ta’minotlarni yaratishda qo’llaniladi.
Tizim muhandisligi murakkab tizimlarning ishlab chiqilish va evolyutsiyasining barcha jihatlari bilan bog'liq bo’lgan dasturiy ta'minot katta ahamiyatga ega. Shunday qilib, tizim muhandisligi apparat ta'minotini ishlab chiqish, jarayonlarni loyihalash, tizimni joylashtirish, shuningdek, dasturiy ta'minot ishlab chiqish bilan bog'liq. Tizim muhandislari tizimni aniqlashda, uning umumiy arxitekturasini aniqlashda va keyin tayyor tizimni yaratish uchun turli qismlarni birlashtirishda ishtirok etadilar.
Foydalanish mumkin bo'lgan universal dasturiy injiniring usullari yoki uslublari mavjud emas. Biroq, har xil turdagi dasturiy ta'minotlarga tegishli bo’lgan to'rtta bog'liq masala mavjud:
Turli tumanlik. Borgan sari tizimlar turli xil kompyuter va mobil qurilmalarni o'z ichiga olgan tarmoqlar bo'ylab taqsimlangan tizimlar sifatida ishlashi talab etilmoqda. Odatiy kompyuterlarda ishlash bilan bir qatorda, dasturiy ta'minotlar mobil telefonlar va planshetlarda ham ishlay olish qobiliyatiga ega bo’lishi kerak. Odatda yangi dasturiy ta'minotni turli dasturlash tillarida yozilgan eski tizimlar bilan integratsiya qilishga to’g’ri keladi. Bu erda muammo shundaki, bu xilma-xillikni engish uchun etarlicha moslashuvchan bo'lgan ishonchli dasturiy ta'minotni yaratish usullarini ishlab chiqishdir.
Biznes va ijtimoiy o'zgarishlar. Xozirgi iqtisodiyot davrida yangi texnologiyalar paydo bo'lishi bilan biznes va jamiyat sohasi nihoyatda tez o'zgarmoqda. Bunday davrda mavjud dasturiy ta'minotini o'zgartira olish va yangi dasturiy ta'minotni tezda ishlab chiqish kerak. Ko'pgina an'anaviy dasturiy injiniring texnologiyalari uzoq vaqt talab etadi va yangi tizimlarni etkazib berish ko'pincha rejalashtirilganidan ko'proq vaqtni oladi. Dasturiy ta'minot samarali bo’lishi hamda zaruriy vaqtni qisqartirishi uchun uni rivojlantirish kerak.
Xavfsizlik va ishonchlilik. Dasturiy ta'minot hayotimizning barcha jabhalari bilan chambarchas bog'liq ekan, ushbu dasturiy ta'minot ishonchli bo’lishi kerak. Bu, ayniqsa, veb-sahifa yoki veb-xizmat interfeysi orqali kirish mumkin bo'lgan masofaviy dasturiy ta'minot tizimlari uchun dolzarb hisoblanadi. Ya’ni g’arazniyatli foydalanuvchilar dasturiy ta'minotga hujum qila olmasligiga va axborot xavfsizligi ta'minlanishiga ishonch hosil qilish kerak.
Masshtab. Dasturiy ta'minot ko'chma yoki saqlovchi qurilmalardagi juda kichik o'rnatilgan tizimlardan tortib global hamjamiyatga xizmat qiluvchi Internet miqyosida, bulutga asoslangan tizimlargacha bo'lgan juda keng miqyosda ishlab chiqilishi kerak.
Ushbu muammolarni hal qilish uchun yangi vositalar va usullar, shuningdek, mavjud dasturiy injiniringi usullarini birlashtirish va ishlatishning innovatsion usullari kerak bo'ladi.
1.1.2. Dasturiy injiniringgining xilma-xilligi
Dasturiy injiniring - bu amaliy xarajatlar, rejalashtirish va ishonchlilik masalalarini, shuningdek, dasturiy ta'minot mijozlari va ishlab chiqaruvchilarining ehtiyojlarini hisobga oladigan dasturiy ta'minotni ishlab chiqarishning tizimli yondashuv hisoblanadi. Amaldagi maxsus usullar, vositalar va texnikalar dasturiy ta'minotni ishlab chiquvchi tashkilotga, dasturiy ta'minot turiga va ishlab chiqish jarayonida ishtirok etadigan odamlarga bog'liq. Barcha tizimlar va barcha kompaniyalar uchun mos bo'lgan universal dasturiy injiniring usullari mavjud emas. So'nggi 50 yil ichida dasturiy injiniring usullari va vositalarining turli xil to'plami rivojlandi.
Dasturiy injiniring usullari va uslublaridan qay biri eng muhimini aniqlashning eng yaxshi omili ishlab chiqilayotgan dastur turiga bog’liq. Turli xil turdagi ilovalar mavjud, bulardan:
Mustaqil ilovalar. Bu shaxsiy kompyuterda ishlaydigan dastur tizimlari yoki mobil qurilmada ishlaydigan ilovalar. Ular barcha kerakli funksiyalarni o'z ichiga oladi va tarmoqqa ulanishni talab qilinmasligi mumkin. Bunday ilovalarga misol sifatida shaxsiy kompyuterdagi ofis ilovalari, SAPR dasturlari, fotosuratlar bilan ishlash dasturlari va boshqalar kiradi.
Tranzaksiyaga asoslangan interaktiv ilovalar. Bular masofaviy kompyuterda ishlaydigan va foydalanuvchilar o'z kompyuterlari, telefonlari yoki planshetlari orqali kirishlari mumkin bo'lgan ilovalardir. Shubhasiz, ular tovarlar va xizmatlarni sotib olish uchun masofaviy tizim bilan o'zaro aloqada bo'lgan elektron tijorat ilovalari kabi veb-ilovalarni o'z ichiga oladi. Ilovaning ushbu turi shuningdek, biznes tizimlariga veb-brauzer yoki maxsus maqsadli mijoz dasturi yoki pochta va fotosurat almashish kabi bulutga asoslangan xizmatlar orqali kirishni ta'minlaydigan biznes tizimlarini o'z ichiga oladi. Interaktiv ilovalar ko'pincha har bir tranzaksiyada foydalaniladigan va yangilanadigan katta ma'lumotlar omborini o'z ichiga oladi.
O'rnatilgan boshqaruv tizimlari. Bu apparat qurilmalarini boshqaradigan va tekshiradigan dasturiy ta'minotni boshqarish tizimlari. O'rnatilgan tizimlarga misol sifatida mobil (uyali) telefondagi dasturiy ta'minot, avtomobilda blokirovkaga qarshi tormozlashni boshqaruvchi dasturiy ta'minot va pishirish jarayonini boshqarish uchun mikroto'lqinli pechdagi dasturiy ta'minotni olsa bo’ladi.
Paketlarni qayta ishlash tizimlari (Batch processing systems). Bu katta partiyalardagi ma'lumotlarni qayta ishlash uchun mo'ljallangan biznes tizimlari. Ular mos keladigan natijalarni yaratish uchun ko'p sonli individual kirishlarni qayta ishlaydi. Paketlarni qayta ishlash tizimlariga misol sifatida telefon billing tizimlari va ish haqini to'lash tizimlari kiradi.
Ko'ngilochar tizimlar. Bular shaxsiy foydalanish uchun tizimlar bo'lib, foydalanuvchini qiziqtirishga mo'ljallangan. Ushbu tizimlarning aksariyati u yoki bu turdagi o'yinlar bo'lib, ular maxsus maqsadli konsol uskunasida ishlashi mumkin. Foydalanuvchining o'zaro aloqasi sifati taklif qilingan ko'ngilochar tizimlarning eng muhim farqlovchi xususiyatidir.
Modellashtirish va simulyatsiya qilish tizimlari. Bu olimlar va muhandislar tomonidan jismoniy jarayonlar yoki vaziyatlarni modellashtirish uchun ishlab chiqilgan tizimlar bo'lib, ular ko'plab alohida bo’lgan, o'zaro ta'sir qiluvchi ob'ektlarni o'z ichiga oladi. Ular ko'pincha hisoblashni talab qiladi va bajarish uchun yuqori samarali parallel tizimlarni talab qiladi.
Ma'lumotlarni yig'ish va tahlil qilish tizimlari. Ma'lumotlarni yig'ish tizimlari - o'z muhitidan ma'lumotlarni yig'adigan va ushbu ma'lumotlarni qayta ishlash uchun boshqa tizimlarga yuboradigan tizimlar. Dasturiy ta'minot sensorlar orqali ma’lumot olishi yoki yig’ishi kerak bo'lishi mumkin va ko'pincha biror bir uskuna ichida yoki uzoqroq joyda dushman muhitda o'rnatiladi. "Katta ma'lumotlar" tahlili statistik tahlilni amalga oshiradigan va to'plangan ma'lumotlardagi munosabatlarni qidiradigan bulutga asoslangan tizimlarni o'z ichiga olishi mumkin.
Tizimlar sistemasi. Bular korxonalar va boshqa yirik tashkilotlarda qo'llaniladigan, bir qator boshqa dasturiy ta'minot tizimlaridan tashkil topgan tizimlardir. Ulardan ba'zilari ERP (korxona manbalari rejasi) tizimi kabi umumiy dasturiy mahsulotlar bo'lishi mumkin. To’plamdagi boshqa tizimlar ushbu muhit uchun maxsus yozilgan bo'lishi mumkin.
Albatta, bu tizim turlari orasidagi chegaralar juda yaqin. Agar siz telefon uchun o'yin ishlab chiqsangiz, telefon dasturiy ta'minotini ishlab chiquvchilar bilan bir xil cheklovlarni (kuch, apparat o'zaro ta'siri) hisobga olishingiz kerak. Ommaviy ishlov berish tizimlari ko'pincha vebga asoslangan tranzaksiya tizimlari bilan birgalikda qo'llaniladi. Misol uchun, kompaniyada sayohat xarajatlari bo'yicha so’rovlar veb-ilova orqali topshirilishi mumkin, ammo oylik to'lov uchun ommaviy arizada ko'rib chiqilishi mumkin.
Tizimning har bir turi maxsus dasturiy injiniring texnikasini talab qiladi, chunki dasturiy ta'minot har xil xususiyatlarga ega. Misol uchun, avtomobildagi o'rnatilgan boshqaruv tizimi xavfsizlik nuqtai nazaridan juda muhim va transport vositasiga o'rnatilganda ROMga (faqat o'qish uchun xotira) yoziladi. Shuning uchun uni o'zgartirish juda qimmatga tushadi. Bunday tizim keng qamrovli verifikasiya va validasiyani talab qiladi, shuning uchun dasturiy ta'minot bilan bog'liq muammolarni hal qilish uchun sotilgandan keyin mashinalarni qaytarib olish imkoniyati minimallashtiriladi. Foydalanuvchining o'zaro ta'siri minimal (yoki umuman yo'q), shuning uchun foydalanuvchi interfeysi prototipiga tayanadigan ishlab chiqish jarayonidan foydalanishga hojat yo'q.
Agar tizim qayta foydalanish mumkin bo'lgan komponentlardan iborat bo’lsa, interfaol veb-tizim yoki ilova uchun iterativ ishlab chiqish va yetkazib berish eng yaxshi yondashuv hisoblanadi. Biroq, har bir tizim alohida ishlab chiqilishi uchun tizim o'zaro ta'sirining batafsil spetsifikatsiyalari oldindan belgilanishi kerak bo'lgan tizimlar sistemasi uchun bunday yondashuv amaliy jihatdan mos bo'lmasligi mumkin.
Shunga qaramay, barcha turdagi dasturiy ta'minot tizimlariga taalluqli bo’lgan dasturiy injiniring asoslari mavjud:
Ular boshqariladigan va tushunarli rivojlanish jarayonidan foydalangan holda ishlab chiqilishi kerak. Dasturiy ta'minotni ishlab chiqaruvchi tashkilot ishlab chiqish jarayonini rejalashtirishi va nima ishlab chiqishi kerakligi va qachon tugallanishi haqida aniq tasavvurga ega bo'lishi kerak. Albatta, foydalanish kerak bo'lgan aniq jarayon ishlab chiqayotgan dasturiy ta'minot turiga bog'liq.
Ishonchlilik va unumdorlik barcha turdagi tizimlar uchun muhim ko’rsatkich hisoblanadi. Dasturiy ta'minot kutilganidek, nosozliklarsiz ishlashi kerak va kerak bo'lganda foydalanish imkoni mavjud bo'lishi kerak. U ishlash jarayonida xavfsiz bo'lishi kerak va iloji boricha tashqi hujumdan himoyalangan bo'lishi lozim. Tizim samarali ishlashi va resurslarni isrof qilmasligi kerak.
Dasturiy ta'minot spetsifikatsiyasini hamda talablarini tushunish va boshqarish (dasturiy ta'minot nima qilishi kerak) muhim ahamiyatga ega. Tizimning turli mijozlari va foydalanuvchilari tizimdan nimani kutayotganliklarini bilish kerak va foydali tizim byudjet doirasida va rejaga muvofiq yetkazib berilishi uchun ularning extiyojlarini boshqara olish zarur.
Mavjud resurslardan samarali foydalanish lozim. Bu shuni anglatadiki, agar kerak bo'lsa, yangi dasturiy ta'minotni yozishdan ko'ra, allaqachon ishlab chiqilgan dasturiy ta'minotni qayta foydalanish kerak.
Turli usullar ularni turli yo'llar bilan aks ettiradi, ammo ular barcha professional dasturiy ta'minotni ishlab chiqishning asosini tashkil qiladi. Ushbu asoslar dasturiy ta'minotni ishlab chiqish uchun foydalaniladigan dasturlash tilidan mustaqildir.
1.1.3. Internet uchun dasturiy injiniring (Internet software engineering)
Internet va World Wide Web ning rivojlanishi hayotimizning barcha sohalariga katta ta'sir ko'rsatdi. Dastlab, Internet asosan hamma uchun ochiq bo'lgan ma'lumotlar ombori bo'lib, dasturiy ta'minot tizimlariga unchalik ta'sir qilmadi. Ushbu tizimlar mahalliy kompyuterlarda ishlaydigan va faqat tashkilot ichidan foydalanish imkoniyati mavjud edi. Taxminan 2000-yillarda Internet rivojlana boshladi va brauzerlarga ko'proq funksiyalar qo'shila boshlandi. Bu maxsus maqsadli foydalanuvchi interfeysi o'rniga ushbu tizimlarga veb-brauzer yordamida kirish mumkin bo'lgan vebga asoslangan tizimlar ishlab chiqilishi mumkinligini anglatardi. Bu Internet orqali kirish mumkin bo'lgan innovatsion xizmatlarni taqdim etadigan yangi tizim mahsulotlarining keng doirasini ishlab chiqishga olib keldi. Ular ko'pincha foydalanuvchi ekranida ko'rsatiladigan va foydalanuvchilardan to'g'ridan-to'g'ri to'lovni o'z ichiga olmaydigan reklamalar tomonidan moliyalashtiriladi.
Ushbu tizim mahsulotlari bilan bir qatorda kichik dasturlarni ishga tushiradigan va mahalliy ishlov berishni amalga oshiradigan veb-brauzerlarning rivojlanishi biznes va tashkiliy dasturiy ta'minotning evolyutsiyasiga olib keldi. Dasturiy ta'minotni yozish va uni foydalanuvchilarning shaxsiy kompyuterlariga joylashtirish o'rniga, dasturiy ta'minot veb-serverga o'rnatildi. Bu dasturiy ta'minotni o'zgartirish va yangilashni ancha arzonlashtirdi, chunki dasturiy ta'minotni har bir shaxsiy kompyuterga o'rnatishga hojat yo'q edi. Bu, shuningdek, xarajatlarni kamaytiradi, chunki foydalanuvchi interfeysini ishlab chiqish qimmatroq hisoblanadi. Qaerda buni amalga oshirish mumkin bo'lsa, korxonalar kompaniya dasturiy ta'minot tizimlari bilan vebga asoslangan o'zaro aloqaga o'tdilar.
Dasturiy ta'minot tushunchasi xizmat sifatida 21-asrning boshlarida taklif qilingan. Bu endi Google Apps, Microsoft Office 365 va Adobe Creative Suite kabi veb-tizim mahsulotlarini yetkazib berishda standart yondashuvga aylandi. Borgan sari ko'proq dasturiy ta'minot mahalliy serverlar o'rniga masofaviy "bulutlar" da ishlay boshlashdi va ulardan Internet orqali foydalanilmoqda. Hisoblash buluti - bu ko'plab foydalanuvchilar tomonidan ishlatiladigan juda ko'p bog'langan kompyuter tizimlari. Foydalanuvchilar dasturiy ta'minotni sotib olmaydilar, lekin dastur qancha ishlatilganiga qarab to'laydilar yoki ularning ekranida ko'rsatilgan reklamalarni tomosha qilish evaziga bepul kirish huquqiga egadirlar. Agar vebga asoslangan pochta, xotira yoki video kabi xizmatlardan foydalanilsa, bulutga asoslangan tizimdan foydalangan bo’ladi.
Internetning paydo bo'lishi biznes dasturiy ta'minotini tashkil qilish uslubini keskin o'zgartirib yubordi. Internetdan oldin biznes ilovalari asosan monolit, yakka kompyuterlar yoki kompyuter klasterlarida ishlaydigan yagona dasturlar ko’rinishida edi. Aloqa mahalliy, tashkilot ichida bo’lgan. Hozirda dasturiy ta'minot juda keng tarqalgan, xattoki butun dunyo bo'ylab ham tarqalishi mumkin. Biznes ilovalari noldan dasturlashtirilmaydi, komponentlar va dasturlardan keng ko'lamli qayta foydalanishni o'z ichiga oladi.
Dasturiy ta'minotni tashkil etishdagi ushbu o'zgarish vebga asoslangan tizimlar uchun dasturiy injiniringiga katta ta'sir ko'rsatdi. Misol uchun:
Dasturiy ta'minotni qayta foydalanish vebga asoslangan tizimlarni yaratishda asosiy yondashuvga aylandi. Ushbu tizimlarni qurishda ularni ko'pincha infrastrukturaga birlashtirilgan oldindan mavjud bo'lgan dasturiy ta'minot komponentlari va tizimlaridan qanday yig'ish mumkinligi haqida bosh qotiriladi.
Hozirgi vaqtda bunday tizimlarga qo'yiladigan barcha talablarni oldindan belgilash maqsadga muvofiq emasligi e'tirof etilmoqda. Veb-tizimlar doimo ishlab chiqiladi va bosqichma-bosqich etkazib beriladi.
Dasturiy ta'minot xizmatga yo'naltirilgan dasturiy injiniring yordamida amalga oshirish mumkin, bunda dasturiy ta'minot komponentlari mustaqil veb-xizmatlardir.
Veb-brauzerda boy interfeyslarni yaratishni qo'llab-quvvatlaydigan AJAX (Holdener 2008) va HTML5 (Freeman 2011) kabi interfeyslarni ishlab chiqish texnologiyasi paydo bo'ldi.
Yuqorida muhokama qilingan dasturiy injiniringining asosiy g'oyalari boshqa turdagi dasturiy ta'minot uchun ham tegishli bo'lgani kabi, vebga asoslangan dasturiy ta'minotga ham tegishli. Veb-tizimlar tobora kattalashib bormoqda, shuning uchun mashtab va murakkablik bilan shug'ullanadigan dasturiy injinirig texnikasi ushbu tizimlar uchun dolzarbdir.