3-mavzu. Dasturiy ta’minotini xayotiy sikli. Dastlabki loyihalash.
Reja:
1.Dasturiy ta’minot ishlab chiqishning hayotiy sikli modellari.
2. Foydali dasturiy ta'minotni mijozga erta yetkazib berish va joylashtirish
Dasturiy
ta’minot
ishlab
chiqishning
hayotiy
sikli
modellari.
Dasturiy ta'minot jarayoniDasturiy ta'minot jarayoni - bu dasturiy ta'minot tizimini
ishlab chiqarishga qaratilgan harakatlar to'plami. Avvalgi mavzuda muhokama
qilganidek, dasturiy ta'minot tizimlarining ko'plab turlari mavjud va ularning
barchasiga tegishli bo'lgan universal dasturiy injiniring usuli mavjud emas. Bundan
kelib chiqadiki, universal qo'llaniladigan dasturiy ta'minot jarayoni ham mavjud
emas. Turli kompaniyalarda qo'llaniladigan jarayon ishlab chiqilayotgan dasturiy
ta'minot turiga, dasturiy ta'minot mijozining talablariga va dasturiy ta'minotni dastur
tuzuvchilarning ko'nikmalariga bog'liq.Har xil dasturiy ta'minot jarayonlari mavjud
bo'lsa-da, ularning barchasi qaysidir shaklda to'rtta asosiy dasturiy injiniring
faoliyatini
o'z
ichiga
olishi
kerak:
1. Dasturiy ta'minot spetsifikatsiyasi. Dasturiy ta'minotning funksionalligi va
uning ishlashidagi cheklovlar aniqlanishi kerak.
2. Dasturiy ta'minotni ishlab chiqish. Spetsifikatsiyaga javob beradigan dasturiy
ta'minot ishlab chiqarilishi kerak.
3. Dasturiy ta'minotni tekshirish. Dasturiy ta'minot mijoz talablarini bajarishini
ta'minlash uchun tekshirilishi kerak.
4. Dasturiy ta'minot evolyutsiyasi. Dasturiy ta'minot mijozlarning o'zgaruvchan
ehtiyojlarini qondirish uchun rivojlanishi kerak.
Ushbu jarayonlar murakkab jarayonlar bo'lib, ular talablarni tekshirish, arxitekturani
loyihalashtirish va modullarni sinovdan o'tkazish kabi kichik faoliyatlarni o'z ichiga
oladi. Jarayonlar, shuningdek, ishlab chiqarish faoliyatini qo'llab-quvvatlaydigan
dasturiy ta'minot konfiguratsiyasini boshqarish va loyihani rejalashtirish kabi
boshqa
jarayonlarni
ham
o'z
ichiga
oladi.
Jarayonlarni tavsiflash va muhokama qilishda odatda ma'lumotlar modelini
ko'rsatish va foydalanuvchi interfeysini loyihalash va bu harakatlarni tartibga solish
kabi harakatlar haqida gapiriladi. Ammo jarayonlarni tavsiflashda kim ishtirok
etayotganini, nima ishlab chiqarilishini va harakatlar ketma-ketligiga ta'sir qiluvchi
shartlarni
tavsiflash
ham
muhimdir:
1. Mahsulotlar yoki amaliy natijalar jarayon faoliyatining natijasidir. Masalan,
arxitekturani
loyihalash
faoliyatining
natijasi
dasturiy
ta'minot
arxitekturasining modeli bo'lishi mumkin.
2. Rollar jarayonda ishtirok etayotgan odamlarning mas'uliyatini aks ettiradi.
Rollarga misol sifatida loyiha menejeri, konfiguratsiya menejeri va dasturchi
kiradi.
3. Oldindan belgilangan va keyin shartlar - bu jarayon yoki mahsulot ishlab
chiqarilishidan oldin va keyin bajarilishi kerak bo'lgan shartlar. Misol uchun,
arxitektura loyihasi boshlanishidan oldin, iste'molchi barcha talablarni
tasdiqlagan shartlari bo'lishi mumkin; Ushbu faoliyat tugagandan so'ng,
arxitekturani tavsiflovchi UML modellari ko'rib chiqilish shartlari bo'lishi
mumkin.
Dasturiy ta'minot jarayonlari murakkab bo'lib, barcha intellektual va ijodiy
jarayonlar kabi, qarorlar va mulohazalar qabul qiladigan insonlarga tayanadi. Barcha
turdagi dasturiy ta'minot uchun to'g'ri keladigan universal jarayon yo'qligi sababli,
ko'pgina dasturiy ta'minot kompaniyalari o'zlarining ishlab chiqish jarayonlarini ishlab
chiqqanlar. Jarayonlar tashkilotdagi dasturiy ta'minotni ishlab chiquvchilarning
imkoniyatlari va ishlab chiqilayotgan tizimlarning xususiyatlaridan foydalanish uchun
modifikasiya qilib boriladi. Xavfsizlik nuqtai nazaridan tizimlar uchun muhim bo’lgan
batafsil yozuvlar saqlanadigan juda tuzilmaviy ishlab chiqish jarayoni talab qilinadi. Tez
o'zgaruvchan talablarga ega biznes tizimlari uchun yanada moslashuvchan, tezkor
jarayon
yaxshiroq
bo'lishi
mumkin.
1-mavzuda muhokama qilganimdek, professional dasturiy ta'minotni ishlab chiqish bu
boshqariladigan faoliyatdir, shuning uchun rejalashtirish barcha jarayonlarning ajralmas
qismidir. Rejaga asoslangan jarayonlar - bu jarayonning barcha harakatlari oldindan
rejalashtirilgan va taraqqiyot ushbu rejaga muvofiq o'lchanadigan jarayonlar. Men
mavzuda muhokama qiladigan tezkor jarayonlarda, dasturiy ta'minot ishlab
chiqilayotganda rejalashtirish bosqichma-bosqich va doimiydir. Shuning uchun mijoz
yoki mahsulotning o'zgaruvchan talablarini aks ettirish uchun jarayonni o'zgartirish
osonroq. Boehm va Turner (Boehm and Turner 2004) tushuntirganidek, har bir
yondashuv har xil turdagi dasturlarga mos keladi. Umuman olganda, katta tizimlar uchun
siz rejaga asoslangan va tezkor jarayonlar o'rtasidagi muvozanatni topishingiz kerak.
Universal dasturiy jarayoni mavjud bo'lmasa-da, ko'plab tashkilotlarda jarayonni
yaxshilash uchun imkoniyatlar mavjud. Jarayonlarni tashkil etishda eskirgan texnikasidan
foydalanishi yoki zamonaviy dasturiy injiniringining eng yaxshi amaliyotidan
foydalanmasligi mumkin. Darhaqiqat, ko'pgina tashkilotlar hali ham dasturiy ta'minotni
ishlab chiqishda dasturiy injiniring usullaridan foydalanmaydi. Ular UML
modellashtirish va testlash asosida ishlab chiqish kabi usullarni joriy etish orqali o'z
jarayonlarini
yaxshilashlari
mumkin.
2.1.Dasturiy ta'minot jarayonlari modellari dasturiy ta'minot jarayoni modeli (ba'zan
dasturiy ta'minotni ishlab chiqishning hayot sikli modeli deb ataladi) dasturiy ta'minot
jarayonining soddalashtirilgan tasviridir. Har bir jarayon modeli ma'lum bir nuqtai
nazardan jarayonni ifodalaydi va shuning uchun bu jarayon haqida faqat qisman ma'lumot
beradi. Masalan, jarayon faoliyati modeli faoliyat va ularning ketma-ketligini ko'rsatadi,
lekin bu faoliyatda ishtirok etuvchi insonlarning rolini ko'rsatmasligi mumkin. Ushbu
mavzuda bir qancha umumiy jarayon modellarini (ba'zan jarayon paradigmalari deb
ataladi) tanishtiriladi va ular arxitektura nuqtai nazaridan taqdim etiladi. Ya'ni,
jarayonning asosi ko'riladi, lekin jarayonning tafsilotlari to’liq ko’rib chiqilmaydi.
Ushbu umumiy modellar dasturiy ta'minotni ishlab chiqishga turli yondashuvlarni
tushuntirish uchun ishlatilishi mumkin bo'lgan dasturiy jarayonlarning yuqori darajadagi,
abstrakt tavsifidir. Bu mavzuda quyidagi umumiy jarayon modellari ko’riladi:
1. Sharshara modeli. Bu model spetsifikatsiya, ishlab chiqish, tasdiqlash va
evolyutsiyaning asosiy jarayonlarini o’z ichiga oladi va ular talablarni
spetsifikatsiya qilish, dasturiy ta'minotni loyihalash, amalga oshirish va
testdan o'tkazish kabi alohida jarayon bosqichlari sifatida taqdim etiladi.
2. Incremental
(bosqichma-bosqich)
rivojlanish.
Ushbu
yondashuv
spetsifikatsiya, ishlab chiqish va tasdiqlash faoliyatini birlashtiradi. Tizim bir
qancha versiyalar (qo'shimchalar) bilan ishlab chiqilgan bo'lib, har bir versiya
oldingi versiyadan ko’ra takomillashgan va qo’shimcha funksionallikka ega
bo’ladi.
3. Integratsiya va konfiguratsiya. Ushbu yondashuv qayta foydalanish mumkin
bo'lgan komponentlar yoki tizimlarning mavjudligiga tayanadi. Tizimni
ishlab chiqish jarayoni ushbu komponentlarni yangi sozlamalarda foydalanish
uchun sozlash va ularni tizimga integratsiyalashga qaratilgan.
Aytilganidek, dasturiy ta'minotni ishlab chiqishning barcha turlariga mos
keladigan universal jarayon modeli yo'q. To'g'ri jarayon mijozning talablariga
va normativ talablarga, dasturiy ta'minot foydalaniladigan muhitga va ishlab
chiqilayotgan dasturiy ta'minot turiga bog'liq. Masalan, xavfsizlik nuqtai
nazaridan dasturiy ta'minot odatda sharshara modeli yordamida ishlab
chiqiladi, chunki amalga oshirish bosqichidan oldin ko'pgina tahlil va hujjatlar
talab qilinadi. Xozirda dasturiy ta'minot mahsulotlari ishlab chiqishda
incremental modelidan ko’p foydalanilmoqda. Mavjud tizimlarni sozlash va
ularni zarur bo'lgan funksionallikka ega yangi tizim yaratish uchun
integratsiyalash orqali biznes tizimlari tobora rivojlanib kelmoqda.Amaliy
dasturiy ta'minot jarayonlarining aksariyati umumiy modelga asoslanadi,
lekin ko'pincha boshqa modellarning xususiyatlarini ham o'z ichiga olishi
mumkin. Bu, ayniqsa, katta tizim uchun to'g'ri keladi. Katta tizimlar uchun
barcha umumiy jarayonlarning eng yaxshi xususiyatlarini birlashtirish
mantiqan to'g'ri keladi. Ushbu talablarni bajarish uchun dasturiy ta'minot
arxitekturasini loyihalashda asosiy tizim talablari haqida ma'lumotga ega
bo'lish kerak. Buni bosqichma-bosqich rivojlantirib bo’lmaydi. Kattaroq
tizimdagi quyi tizimlar turli yondashuvlar yordamida ishlab chiqilishi
mumkin. Tizimning yaxshi tushunilgan qismlari sharsharaga asoslangan
jarayon yordamida aniqlanishi va ishlab chiqilishi yoki konfiguratsiya uchun
tayyor tizimlar sifatida sotib olinishi mumkin. Tizimning oldindan belgilash
qiyin bo'lgan boshqa qismlari har doim qo'shimcha yondashuv yordamida
ishlab chiqilishi kerak. Ikkala holatda ham dasturiy ta'minot komponentlari
qayta
ishlatilishi
mumkin.
Ushbu umumiy modellarning barchasini birlashtirib "universal" jarayon
modellarini ishlab chiqish uchun turli xil urinishlar bo’lgan. Ushbu universal
modellarning eng mashhurlaridan biri AQShning dasturiy ta'minot injiniring
kompaniyasi Rational tomonidan ishlab chiqilgan Rational Unified Process
(RUP) (Krutchen 2003) hisoblanadi. RUP moslashuvchan model bo'lib,
ushbu fan doirasida o’tiladigan har qanday umumiy jarayon modellariga
o'xshash jarayonlarni yaratish uchun turli yo'llar bilan yaratilishi mumkin.
RUP ba'zi yirik dasturiy ta'minot kompaniyalari (xususan, IBM) tomonidan
qabul
qilingan,
ammo
u
ommalashmagan.
2.1.1.Sharshara
modeli(kaskad
modeli)
Dasturiy ta'minotni ishlab chiqish jarayonining birinchi nashr etilgan modeli
yirik harbiy tizimda qo'llaniladigan muhandislik jarayonlari modellaridan
olingan (Royce 1970). U 2.1-rasmda ko'rsatilganidek, dasturiy ta'minotni
ishlab chiqish jarayonini bir necha bosqichlardan iborat. Bir bosqichdan
ikkinchisiga o'tgan kaskad tufayli ushbu model sharshara modeli yoki dasturiy
ta'minotning hayotiy sikli sifatida tanilgan. Sharshara modeli rejaga
asoslangan jarayonga misoldir. Printsipial jihatdan, dasturiy ta'minotni ishlab
chiqishni boshlashdan oldin barcha jarayonlar rejalashtirib chiqiladi.
Sharshara modelining bosqichlari dasturiy ta'minotni ishlab chiqishning
asosiy
faoliyatini
bevosita
aks
ettiradi:
1. Talablarni tahlil qilish va aniqlash. Tizim xizmatlari, cheklovlari va maqsadi
tizim foydalanuvchilari bilan maslahatlashgan holda belgilanadi. Keyin ular
batafsil tavsiflanadi va tizim spetsifikatsiyasi sifatida xizmat qiladi.
2. Tizim va dasturiy ta'minotni loyihalashtirish. Tizimlarni loyihalash jarayoni
apparat yoki dasturiy ta'minot tizimlariga talablarni taqsimlab beradi. U
umumiy tizim arxitekturasini aniqlaydi. Dasturiy ta'minot loyihalashtirish
jarayoni asosiy dasturiy ta'minot tizimining abstraktsiyalarini va ularning
munosabatlarini aniqlash va tavsiflash vazifalarini o'z ichiga oladi.
3. Amalga oshirish va modullarni testdan o'tkazish. Ushbu bosqichda dasturiy
ta'minot loyihasi dasturlar to'plami yoki dasturiy modullar sifatida ishlab
chiqiladi. Modularni testlash bosqichida har bir modul o'z spetsifikatsiyasiga
mos kelishini tekshirib chiqiladi.
4. Integratsiya va tizimni testlash. Alohida dastur modullari yoki dasturlari
dasturiy ta'minot talablari bajarilishini ta'minlash uchun to'liq tizim sifatida
birlashtiriladi va testdan o'tkaziladi. Sinovdan so'ng dasturiy ta'minot tizimi
mijozga etkazib beriladi.
5. Foydalanish va texnik xizmat ko'rsatish. Odatda, bu hayot tsiklining eng uzoq
bosqichidir. Tizim o'rnatiladi va amaliy foydalanishga topshiriladi. Texnik
xizmat ko'rsatish hayot tsiklining oldingi bosqichlarida aniqlanmagan
xatolarni tuzatishni, tizim modullarini ishlab chiqishni yaxshilashni va yangi
talablar aniqlanganda tizim xizmatlarini kengaytirishni o'z ichiga oladi.
Aslida, sharshara modelidagi har bir bosqichning natijasi tasdiqlangan
("imzolangan") bir yoki bir nechta hujjatdan iborat bo’ladi. Keyingi bosqich oldingi
bosqich tugamaguncha boshlanmasligi kerak. Yuqori ishlab chiqarish xarajatlarini
talab qiladigan apparat ta’minotini ishlab chiqishda bu mantiqan to'g'ri narsa. Biroq,
dasturiy ta'minotni ishlab chiqish uchun bu bosqichlar bir-biriga mos kelishi va
ma'lumotlarni bir-biriga etkazib berib turishi lozim. Loyihalash jarayonida talablar
bilan bog'liq muammolar aniqlanishi; kodlash paytida loyiha muammolari topilishi
mumkin va boshqalar. Dasturiy ta'minot jarayoni, amalda, hech qachon oddiy
chiziqli model bo’lmaydi, balki bir bosqichdan ikkinchisiga qayta aloqa qilish
xususiyatiga
ega
bo’lishi
kerak.
Jarayon davomida yangi ma'lumotlar paydo bo'lganligi sababli, oldingi bosqichlarda
ishlab chiqarilgan hujjatlar kerakli tarzda o'zgartirilib borishi kerak. Misol uchun,
agar talabni amalga oshirish juda qimmat ekanligi aniqlansa, ushbu talabni olib
tashlash uchun talablar hujjatini o'zgartirish kerak. Biroq, bu mijozning roziligini
talab
qiladi
va
umumiy
ishlab
chiqish
jarayonini
kechiktiradi.
Natijada, mijozlar ham, ishlab chiquvchilar ham dasturiy ta'minot spetsifikatsiyasini
muddatidan oldin muzlatib qo'yishi mumkin, shunda unga boshqa o'zgartirishlar
kiritilmaydi. Afsuski, bu muammolar keyinchalik hal qilish uchun qoldirilishi,
e'tiborga olinmaganligi anglatadi. Talablarni muddatidan oldin muzlatish tizim
foydalanuvchi xohlagan narsani qilmasligini anglatadi. Bu, shuningdek, noto'g'ri
tuzilgan tizimlarga olib kelishi mumkin, chunki loyiha muammolari amalga oshirish
uslublari
orqali
chetlab
o'tish
mumkin.
Hayot tsiklining yakuniy bosqichida (ishlash va texnik xizmat ko'rsatish) dasturiy
ta'minot foydalanishga topshiriladi. Dasturiy ta'minotning dastlabki talablarida xato
va kamchiliklar aniqlanadi. Dastur va loyihalash xatolari paydo bo'ladi va yangi
funksiyalarga bo'lgan ehtiyoj aniqlanadi. Shuning uchun tizim keyinchalik foydali
bo'lib qolishi uchun rivojlantirib borilishi kerak. Ushbu o'zgarishlarni amalga
oshirish uchun (dasturiy ta'minotga texnik xizmat ko'rsatish) avvalgi jarayon
bosqichlari
takroran
bosib
o’tiladi.
Aslida, dasturiy ta'minot moslashuvchan bo'lishi va ishlab chiqilayotgan vaqtda
o'zgarishlarga moslashuvchan bo’lishi lozim. Tizimni qayta ishlash zaruriyati
sharshara
modeli
tizimning
ayrim
turlariga
mos
kelishini
anglatadi:
1. Dasturiy ta'minot apparat tizimlari bilan o'zaro ta'sir qilishi kerak bo'lgan
o'rnatilgan tizimlar. Uskunaning moslashuvchan emasligi sababli, odatda
dasturiy ta'minotning funksionalligi bo'yicha qarorlarni u amalga oshirilgunga
qadar orqaga qoldirilmasligi lozim.
2. Dasturiy
ta'minot
spetsifikatsiyasi
va
loyihasini
xavfsizligi
va
himoyalanganligining keng qamrovli tahlili talab etiladigan jiddiy tizimlar.
Ushbu tizimlarni tahlil qilish uchun uning spetsifikatsiya va loyiha hujjatlari
to'liq bo'lishi kerak. Spetsifikatsiya va loyihaning xavfsizligi bilan bog'liq
muammolarni, odatda, amalga oshirish bosqichida tuzatish juda qimmatga
tushadi.
3. Bir nechta hamkor kompaniyalar tomonidan ishlab chiqilgan kengroq
injiniring tizimlarining bir qismi bo'lgan yirik dasturiy ta'minot tizimlari.
Tizimlardagi apparat shunga o'xshash model yordamida ishlab chiqilishi
mumkin va kompaniyalar apparat va dasturiy ta'minot uchun umumiy
modeldan foydalanishni osonlashadi. Bundan tashqari, bir nechta
kompaniyalar ishtirok etganda, turli quyi tizimlarning mustaqil rivojlanishi
uchun to'liq spetsifikatsiyalar talab qilinishi mumkin.
Sharshara modeli norasmiy jamoaviy muloqotda va dasturiy ta'minot talablari tez
o'zgarib turadigan vaziyatlarda to'g'ri kelmaydi. Ushbu tizimlar uchun iterativ
rivojlanish
va
tezkor
usullar
yaxshiroq
hisoblanadi.
Sharshara modelining muhim varianti tizimni rasmiy ishlab chiqish bo'lib, unda
tizim spetsifikatsiyasining matematik modeli yaratiladi. Keyinchalik, ushbu model
izchillikni saqlaydigan matematik ifodalar yordamida bajariladigan kodga
aylantiriladi. Rasmiy ishlab chiqish jarayonlari, masalan, B usuli (Abrial 2005,
2010) asosan kuchli himoyalanganlik, ishonchlilik yoki xavfsizlik talablariga ega
bo'lgan dasturiy ta'minot tizimlarini ishlab chiqishda qo'llaniladi. Rasmiy yondashuv
himoyalanganlik yoki xavfsizlik ishini ishlab chiqarishni soddalashtiradi. Bu
mijozlar yoki tartibga soluvchilarga tizim haqiqatan ham xavfsizlik yoki
himoyalanganlik
talablariga
javob
berishini
ko'rsatadi.
Biroq,
rasmiy
spetsifikatsiyani ishlab chiqishning yuqori xarajatlari tufayli, ushbu ishlab chiqish
modeli juda muhim tizim injiniringidan tashqari boshqa hollarda kamdan-kam
qo'llaniladi.
2.1.2
Incremental
ishlab
chiqish
Incremental ishlab chiqish - boshlang‘ich versiyasini ishlab chiqish,
foydalanuvchilar va boshqalarning fikr-mulohazalarini inobatga olish va kerakli
tizim ishlab chiqilgungacha bo’lgan davrda dasturiy ta’minotni bir necha versiyalar
orqali rivojlantirish g‘oyasiga asoslanadi (2.2-rasm). Spetsifikatsiya, ishlab chiqish
va tasdiqlash faoliyati alohida emas, balki bir-biriga bog'langan va tezkor teskari
aloqga
ega
bo’lgan
faoliyatlardan
iborat.
Amaliy tizimlar va dasturiy mahsulotlarni ishlab chiqishda eng keng tarqalgan
yondashuvlardan biri bu bosqichma-bosqich rivojlanish (Incremental ishlab chiqish)
hisoblanadi. Ushbu yondashuv rejaga asoslangan, tezkor yoki ushbu
yondashuvlarning aralashmasi bo'lishi mumkin. Rejaga asoslangan yondashuvda
tizim rivojlanish darajalari oldindan aniqlanadi; agar tezkor yondashuv qo'llanilsa,
dastlabki rivojlanishlar aniqlanadi, ammo keyingi bosqichlarning rivojlanishi
biznes-tizimlari
va
mijozlar
ustuvorligiga
bog'liq.
Dasturiy ta'minotning Incremental ishlab chiqish usullari moslashuvchan
usullarining asosiylaridan bo’lib, u sharshara usulidan ko’ra ishlab chiqish
jarayonida talablari o'zgaruvchan bo’lgan tizimlarni yaratishda qulay hisoblanadi.
Aksariyat biznes tizimlari bu usul yordamida ishlab chiqiladi. Masalani hal qilish
usuliga qarab Incremental ishlab chiqish amalga oshiriladi. Kamdan-kam hollarda
muammoning to'liq yechimini oldindan topiladi, xatoga yo'l qo'yilganini
topilganida, orqaga qaytib, ketma-ket qadamlar bilan yechimga o'tiladi. Dasturiy
ta'minotni bosqichma-bosqich ishlab chiqish orqali unga o'zgartirishlar kiritish
arzonroq
va
osonroq
bo'ladi.
Tizimning har bir qo'shimchasi yoki versiyasi mijozga kerak bo'lgan ba'zi
funksiyalarni o'z ichiga oladi. Umuman olganda, tizimning dastlabki bosqichlarida
eng muhim yoki eng tez talab qilinadigan funksiyalarni o'z ichiga oladi. Bu shuni
anglatadiki, mijoz yoki foydalanuvchi tizimni ishlab chiqishning nisbatan erta
bosqichida uning talab qilinadigan narsalarni yetkazib bera olishini baholashi
mumkin. Agar yo'q bo'lsa, unda faqat rivojlanish strategiyasini o'zgartirishi kerak va
keyingi
modifikasiyalar
uchun
yangi
funksiyalar
aniqlanadi.
Incremental rivojlanish sharshara modeliga nisbatan uchta asosiy afzalliklarga ega:
1. Talablardagi o'zgarishlarni amalga oshirishga ketadigan xarajatlari kamayadi.
Qayta ko'rib chiqilishi kerak bo'lgan tahlil va hujjatlar miqdori sharshara
modelida talab qilinadiganidan ko’ra kamroq bo’ladi.
2. Ishlab chiqilgan ishlari bo'yicha mijozlarning fikr-mulohazalarini olish
osonroq bo’ladi. Mijozlar dasturiy ta'minot haqida fikr bildirishlari va
oldingidan ko’ra amalga oshirilgan ishlarni ko'rishlari mumkin. Mijozlarga
dasturiy ta'minotni loyihalash hujjatlaridan uning rivojlanish bocqichlarini
baholashi qiyinroq bo’ladi.
3. Foydali dasturiy ta'minotni mijozga erta yetkazib berish va joylashtirish, hatto
barcha funksiyalar kiritilmagan bo'lsa ham mumkin. Mijozlar ertaroq dasturiy
ta'minotdan foydalanishlari hamda foyda olishlari mumkin.
Boshqaruv nuqtai nazaridan, incremental yondashuv ikkita muammoga ega:
1. Jarayon ko'rinmaydi. Menejerlar rivojlanish darajasini o'lchash uchun
muntazam natijalarni bilib turishlari lozim. Agar tizimlar tezda ishlab
chiqilsa, tizimning har bir versiyasini aks ettiruvchi hujjatlarni ishlab
chiqarish iqtisodiy jihatdan samarali emas.
2. Yangi qo'shimchalar qo'shilishi bilan tizim strukturasi yomonlashadi.
Muntazam o'zgartirish tartibsiz kodga olib keladi, chunki har qanday usulda
yangi funksiyalar qo'shiladi. Tizimga yangi xususiyatlarni qo'shish tobora
qiyin va qimmatga tushadi. Tuzilmaning buzilishini va kodning umumiy
chalkashligini kamaytirish uchun moslashuvchan usullar dasturiy ta'minotni
muntazam ravishda qayta ishlash (yaxshilash va qayta qurish) kerakligini
taklif qiladi.
Incremental rivojlanish muammolari, ayniqsa, turli jamoalar tizimning turli
qismlarini ishlab chiqadigan katta, murakkab, uzoq davom etadigan tizimlar
uchun og’irlik qiladi. Katta tizimlar qat’iy tuzilma yoki arxitekturaga muhtoj
va tizimning mustaqil qismlari bilan ishlaydigan turli guruhlarning mas'uliyati
ushbu arxitekturaga nisbatan aniq belgilanishi kerak. Bu bosqichma-bosqich
emas,
balki
oldindan
rejalashtirilishi
kerak.
Incremental ishlab chiqish tizim mijoziga har bir rivojlanish bosqichi yetkazib
berish kerak degani emas. Tizimni bosqichma-bosqich ishlab chiqish va uni
mijozlarga hamda boshqa manfaatdor tomonlarga o’z fikrlarini bildirishga
taqdim etish mumkin, uni etkazib berish va mijozning muhitida joylashtirish
shart emas. Qo'shimcha yetkazib berish dasturiy ta'minot real operatsion
jarayonlarda qo'llanilishini anglatadi, shuning uchun foydalanuvchining fikr-
mulohazalari haqiqatga yaqin bo'lishi kerak. Biroq, fikr-mulohazalarni taqdim
etish har doim ham mumkin emas, chunki yangi dasturiy ta'minot bilan tajriba
o'tkazish
oddiy
biznes
jarayonlarini
buzishi
mumkin.
Dostları ilə paylaş: |