Kodlash (Coding).
Ushbu qadam dasturlash bosqichi deb ham nomlanadi.
Dasturiy ta’minot loyihasini amalga oshirish dastur kodini mos dasturlash tilida
yozish va xatosiz bajariladigan dasturlarni samarali ishlab chiqishdan boshlanadi.
Testlash (Testing).
Hisob-kitoblarga ko‘ra, dasturiy ta’minotni ishlab chiqish
jarayonining 50% sinovdan o‘tkazilishi kerak. Xatolar dasturiy ta’minotga tanqidiy
darajadan tortib to olib tashlashgacha ta’ir qilishi mumkin. Dasturiy ta’minotni
sinovdan o‘tkazish ishlab chiquvchilar tomonidan kodlash paytida amalga oshiriladi
va sinchkovlik bilan testlash mutaxassislari tomonidan modul sinovlari, dasturlarni
sinovdan o‘tkazish, mahsulotni sinovdan o‘tkazish, ichki sinovlar va
foydalanuvchining oxirida mahsulotni sinash kabi kodning turli darajalarida
sinovdan o‘tkaziladi. Xatolarni yerta aniqlash va ularni bartaraf yetish ishonchli
dasturiy ta’minot kalitidir.
Integrasiya (Integration).
Aksariyat hollarda ishlab chiqilgan dasturni
kutubxonalar, ma’lumotlar bazalari va boshqa dastur (lar) bilan birlashtirish kerak
bo‘ladi. SDCLning ushbu bosqichi dasturiy ta’minotni boshqa modul yoki tashkil
etuvchilar bilan integrasiyalashuvi amalga oshiriladi.
Amalga oshirish (Implementation, deployment).
Bu bosqichda dastur
foydalanuvchi mashinalariga o‘rnatiladi. Ba’zida dasturiy ta’minot foydalanuvchi
tomonidan o‘rnatilgandan keyin konfigurasiyani talab qiladi. Bu bosqichda dasturiy
ta’minot portativligi va moslashuvchanligi sinovdan o‘tkaziladi va amalga oshirish
jarayonida integrasiya bilan bog‘liq muammolar hal qilinadi.
Dasturlarga xizmat ko‘rsatish (maintenance).
Ushbu bosqichda ko‘proq
samaradorlik va kam xatolar nuqtai nazaridan dasturlarga e’tibor beriladi. Agar
kerak bo‘lsa, foydalanuvchilarga dasturiy ta’minot qanday ishlashi bo‘yicha
hujjatlar beriladi. Dasturiy ta’minotning foydalanuvchi muhitida sodir bo‘layotgan
4
o‘zgarishlariga muvofiq kodni yangilash amalga oshiriladi. Ushbu bosqichda
dasturning yashirin xatolari va real vaqtda noma’lum muammolari ko‘rinadi.
Tugatish (disposition).
Vaqt o‘tgan sayin dasturiy ta’minotga bo‘lgan talab
pasayishi mumkin. U butunlay yeskirgan bo‘lishi mumkin yoki jadal yangilanishni
talab qilishi mumkin. Shunday qilib, tizimning katta qismini yo‘q qilish zarurati
tug‘iladi. Ushbu bosqich ma’lumotlarni va kerakli dasturiy qismlarni arxivlash,
tizimni yopish, tugatishni rejalashtirishni ichiga oladi.
Dasturiy vositalarni yaratish modellari (Software Development Paradigm).
Dasturiy ta’minotni yaratish modellari ishlab chiquvchiga dasturni ishlab chiqish
strategiyasini tanlashda yordam beradi. Dasturiy ta’minotni ishlab chiqish modellari
aniq ifodalangan va dasturiy ta’minotni ishlab chiqish hayotiy siklini belgilaydigan
o‘z vositalariga, usullariga va muolajalariga yega. Dasturiy ta’minotni ishlab
chiqishning bir nechta modellari yoki jarayon modellari mavjud:
Sharshara modeli (Waterfall model).
Sharshara modeli dasturiy ta’minotni
yaratish modellarining yeng oddiyi bo‘lib, unda ko‘ra SDLCning barcha bosqichlari
ketma-ket ravishda ishlaydi. Ya’ni, birinchi bosqich tugaganda, faqat ikkinchi
bosqich boshlanadi va hokazo (1.2-rasm).
1.2-rasm. Sharshara modeli
Ushbu model hamma narsa oldingi bosqichda rejalashtirilganidek mukammal
tarzda amalga oshirilgan deb hisoblaydi va keyingi bosqichda yuzaga kelishi
mumkin bo‘lgan oldingi muammolar haqida o‘ylanmaydi. Agar oldingi bosqichda
5
ba’zi muammolar qolib ketsa, ushbu model ishlashida muammolar kuzatiladi.
Modelning ketma-ketlik tabiati uni orqaga qaytishga va harakatlarni bekor qilishga
yoki qaytarishga imkon bermaydi.
Ushbu model dastlabki ishlab chiqaruvchilar tomonidan foydalanilgan bo‘lib,
u barcha sohalar aniq bo‘lganda va muammosiz bo‘lganda yeng mos keladi.
Iterativ model (Iterative Model).
Ushbu model dasturiy ta’minotni ishlab
chiqish jarayonini bir qancha iterasiyalarda olib boradi. U SDLC jarayonining har
bir siklidan keyin har bir qadamni takrorlaydigan sikl shaklida rivojlanish jarayonini
loyihalashtiradi (1.3-rasm).
1.3-rasm. Iterativ modeli
Dasturiy ta’minot dastlab juda kichik miqyosda ishlab chiqilgan va unda
barcha qadamlar hisobga olingan. Ushbu modelda esa har bir keyingi iterasiyada
ko‘proq funksiyalar va modullar ishlab chiqiladi, kodlanadi, tekshiriladi va dasturga
qo‘shiladi. Har bir sikl o‘zi to‘liq bo‘lgan va oldingisiga qaraganda ko‘proq
xususiyat va imkoniyatlarga yega bo‘lgan dasturiy ta’minotni ishlab chiqaradi.
Har bir iterasiyadan so‘ng, boshqaruv guruhi xavflarni boshqarish bo‘yicha
ish olib borishi va keyingi iterasiyaga tayyorlanadi. Sikl butun dasturiy jarayonning
kichik qismini o‘z ichiga olganligi sababli, ishlab chiqish jarayonini boshqarish
osonroq bo‘lsada,ko‘proq resurslar sarf qilinadi.
V modeli.
Sharshara modelining asosiy kamchiliklaridan biri, keyingi
bosqichga, undan oldingi bosqich tugaganidan keyingina o‘tilishi bo‘lib, keyingi
bosqichlarda biron bir narsa topilmasa, orqaga qaytish uchun imkoniyat mavjud
6
bo‘lmaydi. V modeli har bir bosqichda dasturiy ta’minotni teskari tartibda sinash
vositalari bilan ta’minlaydi (1.4-rasm).
1.4-rasm. V modeli
Dasturiy vositalarni ishlab chiqishda dasturlash tillarini ahamiyati katta bir
nechta tashkilotlar tomonidan ularga berilgan baxo 1.5-rasmda berilgan.
1.5-rasm. Dasturlash tillari
Dasturlash tillarida eng asosiy elementlar sifatida quyidagilarni keltirishimiz
mumkin:
funksiya
prosedura
class
(Web) Service
(Software) System
7
Dasturiy vositalarga qo‘yilgan xavfsizlik talablari ham oddiy talablar
(funksional va funksional bo‘lmagan) kabi ikki guruhga bo‘linadi:
-
funksional xavfsizlik talablari;
-
funksional bo‘lmagan xavfsizlik talablari.
Agar funksional xavfsizlikka aloqador bo‘lmagan talab: “Agar skanerlash
tugmasi bosilganda, lazer aktivlashishi va barkodni skanerlari kerak” kabi bo‘lsa,
bunga mos funksional xavfsizlik talabi: “kassa savdoni amalga oshirishga tayyor
bo‘lishidan oldin kassir magnit tasma kartasi va PIN kod bilan tizimga kirishi shart”
kabi bo‘lishi mumkin.
Funksional xavfsizlik talablari.
Funksional talablar tizimni nima qilishi
tavsiflagani kabi, funksional xavfsizlik talablari xavfsizlikni ta’minlaydigan
funksional harakatlarni tavsiflaydi. Funksional talablar bevosita tekshirishili va
kuzatilishi mumkin. Foydalanishni boshqarish, ma’lumotlarni yaxlitligi,
autentifikasiya va noto‘g‘ri kiritilgan parollar urinishini bloklash bilan bog‘liq
talablar funksional xavfsizlik talablariga mos keladi.
Funksional bo‘lmagan talablar tizimda nimalar bo‘lishini tavsiflaydi. Bu
talablar audit va tizimni buzilmasdan ishlash vaqtini tavsiflasa, xavfsizlik funksional
bo‘lmagan talablari “Audit jurnali kriminalistikani qo‘llab – quvvatlash uchun keng
qamrovli bo‘lishi kerak” kabi bo‘lishi mumkin.
Xususiy xavfsizlik talablari
–
Maxfiylik
o
Tizim ruxsat berilgan foydalanuvchilargagina .doc fayllarni
ko‘rsatishi kerak
o
Xavfsiz aloqa kanalidan foydalanish kerak
–
Ruxsatlarni nazoratlash
o
Tizim paroldan foydalanishni talab etishi kerak;
o
Rollarga asoslangan ruxsatlarni nazoratlash amalga oshirilishi
kerak.
–
Butunlik
o
Ochiq (public) turdagi foydalanuvchilar uchun faqat o‘qish,
8
maxfiy (private) turidagi foydalanuvchilar uchun ham o‘qish
ham yozish huquqi berilishi;
o
O‘chmaslik.
–
Foydalanuvchanlik
–
Boshqaruvchanlik
o
Kalit harakatlari auditi amalga oshirilishi shart;
o
Auditlash;
o
Qayd yozuvlilik.
Autentifikasiyalash
o Kuchli autentifikasiya.
Masalan, veb ilovalarda
–
Barcha qayd yozuvlarda parol bo‘lishi shart;
–
3 ta muvofaqqiyatsiz urinishdan so‘ng qayd yozuvi qulflanishi shart;
o
Buzg‘unchi DOS tahdidni amalga oshiradi
Har bir akkaunt uchun 3 marta urinadi;
Barcha akkauntlar qulflanadi.
o
Bu yerda mos keladigan talab:
Akkauntga 5 min davomida tahdid amalga oshirilmasa u
qulfdan yechilishi shart.
Do'stlaringiz bilan baham: |