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.