ko'pincha mijozlar ehtiyojlarini o'rganish, reklama va boshqa marketing tadbirlari
xarajatlari kiradi.
• Agar dastur foydalanuvchilarga o'z ishining real sharoitlarida pul to'lashga
tayyor bo'ladigan imkoniyatlarni taqdim etsagina
katta daromad olish mumkin
(ta'kidlaymizki, bu boshqa foydali ilovalarni osongina topishi mumkin). Buning
uchun ko'p jihatlarni hisobga olish kerak. Agar ko'pchilik foydalanuvchilar
kompyuterlari juda sekin protsessorlarga ega bo'lganligi yoki RAM etarli emasligi
yoki ma'lumotlar ko'pincha tizimga buzilib qolganligi va uni qayta ishlay
olmaganligi sababli dasturdan foydalana olmasalar,
sotishdan tushgan daromad
sezilarli darajada kamayadi. grafik interfeys bilan ishlash va tizim buyruq satridan
kiritishni talab qiladi va hokazo.
Shuni ta'kidlash kerakki,
amaliy jihatdan foydali bo'lgan
murakkab dasturiy
ta'minot tizimi
"to'g'ri" bo'lishi shart emas
.
Ko'pgina tajribali ishlab chiquvchilar va tadqiqotchilar amaliy ahamiyatga ega
bo'lgan dasturiy ta'minot tizimlarida har doim xatolar mavjud deb hisoblashadi.
"Kichik" dasturlardan "katta" dasturlarga o'tishda "to'g'ri" dastur tushunchasi amalda
ma'nosiz bo'lib qoladi. Dasturiy ta'minot tizimi haqida, p sonini hisoblash uchun
yuqoridagi dasturdan farqli o'laroq, uni "to'g'ri"
deb aytish mumkin emas, ya'ni. har
doim o'ziga yuklangan barcha vazifalarni to'g'ri hal qiladi. Bu haqiqat buni to'liq
isbotlash yoki tekshirishning amaliy imkonsizligi bilan ham, dasturiy ta'minot
tizimining mavjudligining ma'nosi ko'plab turli manfaatdor tomonlarning ehtiyojlari
va so'rovlarini qondirishdan iboratligi bilan bog'liq. Va bu ehtiyojlar nafaqat noaniq
belgilangan, turli foydalanuvchilar guruhlari uchun farqlanadi va ba'zan qarama-
qarshidir, balki vaqt o'tishi bilan sezilarli darajada o'zgaradi.
Shu munosabat bilan,
"to'g'ri"
va
"noto'g'ri"
dasturiy ta'minot tizimlarini ko'rib
chiqish o'rniga, birinchisining amalda yo'qligi sababli, ular
"etarli sifat"
va
"etarli
sifatsiz" deb hisoblashadi
.
Shu sababli, murakkab dasturiy ta'minot tizimlarini ishlab chiqishning asosiy
muammolari ishlab chiqish xarajatlari va uning natijasi sifati o'rtasida oqilona
kelishuvni topish bilan bog'liq. Xarajatlar barcha turdagi resurslarni o'z ichiga oladi,
ulardan eng muhimi sarflangan vaqt, loyiha byudjeti va foydalanilgan xodimlardir.
Foydalanuvchilarning dastur bilan ishlashdan qoniqishi (demak,
uni sotishdan va
qo'shimcha xizmatlar ko'rsatishdan olingan daromad) va ishlab chiquvchilarning uni
yaratishdan qoniqishi dasturning sifati bilan belgilanadi, u quyidagi jihatlarni o'z
ichiga oladi: taqdim etilgan xususiyatlar, ishonchlilik, qulaylik, moslashuvchanlik,
qulaylik. o'zgartirishlar kiritish va xatolarni tuzatish. Sifatli dasturiy ta’minot
tushunchasi keyingi ma’ruzalardan birida batafsilroq muhokama qilinadi.
Ko'pincha dasturiy ta'minotni (SW) ajralmas qism sifatida kiritilgan apparat va
dasturiy ta'minot tizimidan alohida ko'rib chiqish mumkin emas. Dasturiy ta'minot
va apparat tizimlarini ishlab chiqish va ishlatish bilan bog'liq masalalarni o'rganish
tizim muhandisligi bilan shug'ullanadi
. U tizimlarning apparat ta'minoti va dasturiy
ta'minot va apparat komponentlarini zarur darajadagi integratsiyalashuvini
ta'minlash bilan bog'liq juda ko'p muammolarni qamrab oladi. Biz faqat vaqti-vaqti
bilan umuman tizim muhandisligi bilan bog'liq masalalarga to'xtalib o'tamiz, asosan
o'zimizni bevosita dasturiy ta'minot bilan bog'liq jihatlar bilan cheklaymiz.
Murakkab dasturlarni yaratishda "resurslar-sifat" dilemmasining ikkala
komponenti bilan bog'liq rivojlanish muammolarini
hal qilishning turli
yondashuvlarini ko'rib chiqing. Ushbu yondashuvlarni taqdim etish uchun dasturiy
ta'minot tizimlari va ularni yaratish jarayonlari bilan bog'liq bo'lgan va bunday
tizimlarni samarali ishlab chiqish, ularning xususiyatlarini baholash va rejalashtirish
imkonini beradigan tushunchalar tizimi kiritiladi. Bularga
dasturiy ta'minotning
hayot aylanishi
, dasturiy ta'minot
sifati
, dasturiy ta'minotni ishlab chiqish jarayoni
,
dasturiy ta'minot talablari, dasturiy ta'minot
arxitekturasi
,
dizayn
naqshlari
va
boshqalar kabi tushunchalar kiradi.
Bundan tashqari, kompleks dasturiy ta'minotni ishlab chiqish yondashuvlaridan
biriga alohida e'tibor qaratiladi,
komponentlarni ishlab chiqish
, bunday tizimlarni
alohida elementlardan - komponentlardan ketma-ket qurishni taklif qiladi, ularning
har biri, o'z navbatida, alohida dasturiy ta'minot tizimi sifatida qaralishi mumkin. .
Kurs J2EE va .NET platformalari asosida dasturiy taʼminot tizimlarini ishlab chiqish
uchun zamonaviy komponent texnologiyalari bilan tanishishni oʻz ichiga oladi.
Rivojlanish resurslarini boshqarish bilan bog'liq muammolar,
shu jumladan
individual harakatlarni o'z vaqtida rejalashtirish, samarali rivojlanish guruhlarini
yaratish
loyihalarni boshqarish bilan bog'liq
bo'lib, bu kursning oxirgi ma'ruzasi
mavzusi bo'ladi.
Katta tizimlarni loyihalash tajribasiga asoslanib, ularni yaratish va ishlatishning
turli tomonlarini etarlicha batafsil tavsiflovchi
texnologik jarayonlar ishlab
chiqilgan.
Ushbu tavsiflar ishlab chiqish qanday amalga oshirilishi kerakligi, unda
qaysi shaxslar ishtirok etishi va qaysi bosqichlarda ishtirok etishi, qanday faoliyat
turlari va qanday ketma-ketlikda
bajarilishi kerakligi, qaysi hujjatlar ularning kirish
ma'lumotlari va qaysi hujjatlar, modellar va boshqalar kabi savollarga javob beradi.
dastur tizimlarining qismlari har bir alohida ish natijasida tayyorlanishi kerak. Kurs
davomida bunday texnikaning elementlariga havola qilinadi. Murakkab dasturiy
ta'minot tizimlarini yaratish bo'yicha ko'plab real loyihalar asosida ishlab chiqilgan
yondashuvlar tavsifini o'z ichiga olgan sanoat standartlari ham ko'rib chiqiladi.
Katta tizimlarning amaliy rivojlanishida shuni esda tutish kerakki, barcha umumiy
uslubiy tavsiyalar qo'llanilishi chegaralariga ega va ular ishlab chiquvchilarning
harakatlarini
qanchalik batafsil aniqlasa, mualliflar tomonidan ko'rsatilganidek,
biror narsa noto'g'ri bo'lishi ehtimoli shunchalik yuqori bo'ladi. usullaridan. Bundan
tashqari, ko'pincha bunday usullar bilan bajarilishi talab qilinadigan juda ko'p sonli
qo'llab-quvvatlovchi hujjatlar ba'zan loyihaning asosiy maqsadlarini, uning
davomida qabul qilingan qarorlarni va sodir bo'layotgan voqealarning mohiyatini
tushunishni qiyinlashtiradi. bu. Bu, shuningdek, kerakli natijalarga erishish uchun
haqiqiy taraqqiyot yo'qligida mashaqqatli mehnatga taqlid qilishga olib kelishi
mumkin.
Dasturchilar hamjamiyatining dasturiy ta'minotni
ishlab chiqishning bunday
byurokratizatsiyasiga va nazariy tavsiyalardan mexanik ravishda foydalanishga
urinishlariga qarshi noroziligi Agile dasturiy
ta'minotni ishlab chiqish
(Agile
Software Development) ning hozirgi mashhur harakati
bilan yakunlandi. Jonli
rivojlanish jarayoniga misollardan biri Ekstremal
dasturlash (XP) deb nomlanuvchi
texnikalar to'plamidir .