MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI FARG‘ONA FILIALI
“DASTURIY INJINERING VA RAQAMLI IQTISODIYOT” FAKULTETI
“DASTURIY INJINIRING” KAFEDRASI
653_20- GURUH TALABASI ABDULAZIZOV OMADILLONING
DASTURIY TA’MINOT QURILMASI VA EVOLUTSIYASI FANIDAN TAYYORLAGAN
MUSTAQIL ISHI
Bajardi: ABDULAZIZOV O
Qabul qildi: SOLIYEV B
Farg‘ona – 2023 y
Mavzu : Dasturiy ta’minotni konstruksiyalashga kirish. "Dasturiy ta’minotni konstruksiyalash" tushunchasi.
Reja:
KIRISH
ASOSIY QISM
Dasturiy ta’minotni konstruksiyalash tushunchasi
Dasturlash konstruktorlik ishi sifatida
Dasturiy ta’minotni konstruktsiyalash bosqichlari
XULOSA
FOYDALANILGAN ADABIYOTLAR
KIRISH
Dasturiy taʼminotni konstruktsiyalash atamasi kodlashtirish, tekshirish, modulli sinov, integratsiya tekshiruvi va nosozliklarni tuzatish kabi jarayonlardan iborat dasturiy tizimni batafsil ishlab chiqishni tavsiflaydi. Ushbu bilim sohasi boshqa sohalar bilan bog’liq. Eng kuchli bog’liqlik dasturiy ta’minotni konstruksiyalash (Software Design) va dasturiy ta’minotni sinash (Software Testing)sohalari bilan mavjud. Buning sababi, dasturiy ta’minotni konstruktsiyalash jarayonining o’zi konstruksiyalash va sinov faoliyatining muhim jihatlariga tegishlidir. Bundan tashqari, konstruktsiyalash konstruksiyalash va sinov natijalariga asoslanadi. Loyihalash jarayoni bu quyi darajadagi konstruksiyalash va kodlashni o’z ichiga olgan dasturiy ta’minotni ishlab chiqish jarayonidir. Quyi darajadagi konstruktsiyalash - bu dasturiy ta’minot arxitekturasini yanada batafsil ishlab chiqishdir. Dasturiy ta’minotni loyihalash va konstruksiyalash – dasturiy mahsulotni yaratishning eng ma’suliyatli bosqichlaridan biri. Bu bosqichda ishlab chiqilayotgan dasturiy ta’minotga asosiy talablar bayon etiladi. Funksiyalar va foydalanishning talablari qanchalik to’liq aniqlanishidan konstruksiyalash jarayonini aniqlovchi asosiy qarorlar qanchalik to’g’ri qabul qilinishida ishlanma bahosi va uning sifatiga bog’liq bo’ladi. Mamlakatimizda dasturiy ta’minot sanoatini shakllantirish va rivojlantirish uchun zarur shart-sharoitlar, sohaga daxldor mustahkam qonunchilik bazasini yaratishga e’tibor qaratilmoqda. Hozirgacha 10 dan ziyod qonun, Prezident va Vazirlar Mahkamasining qator farmon hamda qarorlari qabul qilindi. Bevosita texnik vositalar bilan, masalan, drayverlar bilan o’zaro ta’sirda bo’lgan nisbatan oddiy dasturlarni yozishda foydalaniladi, chunki bu holda mos qurilmani qat’iy sozlashga to’g’ri keladi, yuqori darajali dasturiy tillar afzalliklari unchalik sezilmaydi. Yuqori darajali tillardagi dasturlarga qo’yishlar ko’rinishida masalan, ko’p sonli takrorlanishlarga ega sikllarda ma’lumotlarni almashtirishni tezlashtirish uchun. Dashturlash muhiti deb, dasturlarni yozish va saqlash jarayonini soddalashtiradigan kompilyatorga ichki qurilgan maxsus matn muharriri, komponovshik sozlovchi, ma’lumotlar sistemasi va boshqa dasturlarni o’z ichiga olgan dasturiy kompleksga aytiladi. Vizual dasturlash muhitlarida dasturchi komponentlar maxsus kutubxonalaridan ba’zi kodlar dasturiga vizual ulanish imkoniyatiga ega bo’ladi, bu esa obyektli yo’naltirilgan dasturlash rivoji tufayli sodir bo’ldi. Eng ko’p foydalanadigan dasturlash muhitlariga Borland (Inprise Corporation) firmasini Delphi, C++ Builder, Microsoft firmasini Visual C++, Visual Basic, IBM firmasini Visual Ada vizual muhitlari kiradi. Bu firmalarni asosiy vizual muhitlari Delphi, C++ Builder va Visual C++ lar orasida muhim farqlar mavjud: Microsoft firmasi vizual muhitlari «Windows osti» dasturini pastroq saviyasini ta’minlaydi. Bu ularning ham kamchiligi va afzalligidir. Afzalligi – nostandart vaziyat paydo bo’lish ehtimoli pasayadi, ya’ni kompyuterlar kutubxonalari ishlab chiqaruvchilari ko’zda tutmagan vaziyat, kamchiligi – bu dasturchiga ko’p ish yuklaydi, bundan Delphi yoki C++Builder bilan ishlovchi dasturchi esa ozod. Loyihalash ixtiyoriy texnologiyaning real qo’llash loyiha barcha qatnashchilari rioya qilish lozim.
ASOSIY QISM
Dasturiy ta’minotni konstruksiyalash tushunchasi
“Dasturiy ta’minot qurilmasi va evolyusiyasi” fanini o’qitishdan maqsad – talabalarga dasturiy ta’minotni konstruksiyalash bo’yicha bilimlarning nazariy asoslarini, dasturiy ta’minotni konstruksiyalashning tushunchalarini, dasturiy ta’minotni konstruksiyalash usullarini, dasturiy ta’minotni konstruksiyalash va rivojlantirish tamoyillarini o’rgatish hamda ularni amaliyotda tadbiq etish ko’nikmasini hosil qilishdan iborat. “Dasturiy ta’minot qurilmasi va evolyusiyasi” fanining vazifasi – nazariy bilimlar, amaliy ko’nikmalar, dasturiy ta’minotni konstruksiyalash va rivojlantirish jarayonlariga uslubiy yondoshuv hamda ilmiy dunyoqarashni shakllantirish, dasturiy ta’minotni konstruksiyalashdagi metodlar va ularning mazmun-mohiyatini, dasturiy ta’minotni konstruksiyalashning o’rni va ahamiyatini ochib berish. Dasturiy taʼminot (rus. Программное обеспачение, ingl. Software) — bu Kompyuterda maʼlum bir turdagi vazifani bajarish uchun ishlab chiqilgan vositadir. Aynan shu dasturiy taʼminotgina kompyuter — „quruq temir“ degan atamani yoʻqqa chiqargan. Dasturiy vositalar kompyuter tomonidan qoʻllaniladigan barcha dasturlar toʻplamidir. Dasturiy taʼminot 3 guruhga boʻlinadi: 1. Tizimli dasturiy ta’minot (unga turli yordamchi vazifalarni bajaruvchi dasturlar kiradi); 2. Amaliy (unga foydalanuvchiga aniq bir foydalanish sohasida maʼlumotlarga ishlov berish va qayta ishlashni amalga oshiruvchi dasturlar kiradi); 3. Uskunaviy dasturlar. Dasturiy taʼminotni konstruktsiyalash atamasi kodlashtirish, tekshirish, modulli sinov, integratsiya tekshiruvi va nosozliklarni tuzatish kabi jarayonlardan iborat dasturiy tizimni batafsil ishlab chiqishni tavsiflaydi. Ushbu bilim sohasi boshqa sohalar bilan bog’liq. Eng kuchli bog’liqlik dasturiy ta’minotni konstruksiyalash (Software Design) va dasturiy ta’minotni sinash (Software Testing) sohalari bilan mavjud. Buning sababi, dasturiy ta’minotni konstruktsiyalash 6 jarayonining o’zi konstruksiyalash va sinov faoliyatining muhim jihatlariga tegishlidir. Bundan tashqari, konstruktsiyalash konstruksiyalash va sinov natijalariga asoslanadi. Loyihalash, konstruksiyalash va sinov o’rtasidagi chegaralarni aniqlash juda qiyin, chunki ularning barchasi hayot tsikli jarayonlarining yagona kompleksiga bog’langan. Loyihalash jarayoni bu quyi darajadagi konstruksiyalash va kodlashni o’z ichiga olgan dasturiy ta’minotni ishlab chiqish jarayonidir. Quyi darajadagi konstruktsiyalash - bu dasturiy ta’minot arxitekturasini yanada batafsil ishlab chiqish: ob’ektga yo’naltirilgan dasturlashda sinflarni konstruksiyalash, ma’lumotlar bazasini boshqarish tizimida ma’lumotlar bazasi tuzilishini yaratish (ma’lumotlar bazasini boshqarish tizimi), Web dasturlari va tarkibiy qismlarini tashkil qilish va boshqalar. Kodlash - bu dastur kodini yozish tartibi. Bu yuqori va quyi darajadagi konstruksiya arxitekturasi asosida dasturni ishlab chiqishdir. Ba’zi konstruksiyalarda, agar maqsadga muvofiq bo’lsa, konstruktsiyalash bosqichi konstruksiyalash jarayoni bilan birlashtiriladi. Konstruktsiyalash jarayoni va ishlab chiqish jarayonlari ishlab chiqilayotgan dasturlarning turli toifalari uchun farq qiladi, eng keng tarqalganlari orasida quyidagi ishlab chiqish turlari mavjud. Ma’lumotlar bazasini yaratish. Ma’lumotlar bazalari dasturlarning alohida toifasi hisoblanadi. Ma’lumotlar bazasini ishlab chiqish ko’p hollarda ma’lumotlar bazasida saqlanadigan ma’lumotni boshqaradigan dastur turlaridan birini ishlab chiqish bilan bevosita bog’liqdir. Ma’lumotlar bazasini dasturlash bilan ko’pincha alohida dasturchilar guruhi shug’ullanadilar. Strukturali dasturlash asosida dasturlarni ishlab chiqish. Strukturali dasturlash ma’lum bir dastur sinfi uchun bir qator dasturlash tillarida qo’llaniladi: qurilma drayverlari, operatsion tizimlar va boshqalar. Ob’ektga yo’naltirilgan dasturlashga asoslangan dasturlarni ishlab chiqish. Ob’ektga yo’naltirilgan tillar ko’p sonli dasturlarda qo’llaniladi. Ushbu dasturlarni ishlab chiqishda asosiy vazifalardan biri bu sinf ierarxiyasini konstruksiyalashdir. Sinflarni konstruksiyalashda xatolar dasturni takomillashtirishga imkon bermaydi, 7 bu ishlab chiqish vaqtining kechikishiga, narxning oshishiga va boshqa salbiy oqibatlarga olib kelishi mumkin. Web-ilovalarni ishlab chiqish. Web-ilovalar o’zlarining rivojlanish xususiyatlariga ega bo’lgan dasturiy mahsulotlarning yana bir katta toifasiga tegishli, masalan, web-brauzerlar (appletlar) uchun dasturlarni ishlab chiqish ushbu toifadagi dasturlar orasida juda keng tarqalgan. Tegishli dasturiy fanlardan ushbu bilim sohasining eng yaqin va tabiiy aloqasi informatika fani bilan bog’liq. Odatda, ularda algoritmlarni qurish va ulardan foydalanish masalalari ko’rib chiqiladi. Va nihoyat, konstruktsiyalash konstruksiyani boshqarish faoliyatiga ham tegishlidir. Dasturiy ta’minotni konstruksiyalash vositalariga dasturlash va konstruktsiyalash tillari, shuningdek dasturlash usullari va instrumental tizimlar (kompilyatorlar, MBBT, hisobot generatorlari, versiyalarni boshqarish tizimlari, konfiguratsiya, test va boshqalar) kiradi. Dasturiy ta’minotni konstruktsiyalash (“Software Construction”) bilim sohasi quyidagi bo’limlarni o’z ichiga oladi: − murakkablikni kamaytirish (Reduction in Complexity), − uslubdan og’ishning oldini olish (Anticipation of Diversity), − sinovlarni tuzilmalashtirish (Structuring for Validation), − tashqi standartlardan foydalanish (Use of External Standards). Murakkablikni kamaytirish - bu konstruktsiyalashdagi murakkablikni minimallashtirish va alohida qismlarga bo’lish. Murakkablikni minimallashtirish, ijrochilarning murakkab tuzilmalarni va uzoq vaqt davomida katta hajmdagi ma’lumotlarni qayta ishlash qobiliyatining cheklanganligi bilan belgilanadi. Murakkablikni minimallashtirishga, xususan, konstruktsiyalash jarayonida modullar va boshqa sodda elementlardan foydalanish, shuningdek, standartlarning tavsiyalari yordamida erishiladi. Dasturiy ta’minot konstruktsiyalashning murakkabligini kamaytirish uchun oddiy va oson o’qiladigan kodni yaratish orqali erishiladi.
Bunda kodning samaradorligini oshirish, kodning sinov qulayligini ta’minlash, kodning ishlashi va belgilangan mezonlarga javob berishiga e’tibor beriladi. Bu konstruksiyaning funktsionalligi, xususiyatlari va cheklovlariga ta’sir qiladi. Murakkablikni kamaytirish zarurati konstruktsiyalashning barcha jihatlariga ta’sir qiladi va ayniqsa dasturiy komponentlarning konstruktsiyalash natijalarini tekshirish va sinovdan o’tkazish uchun juda muhimdir. Murakkablikni lokalizatsiya qilish - bu ob’ektga yo’naltirilgan yondashuvdan foydalangan holda konstruktsiyalashning usuli bo’lib, bu ob’ektlarning interfeysini cheklaydi, ularning o’zaro ta’sirini soddalashtiradi, shuningdek ob’ektlarning to’g’riligini va ular o’rtasidagi munosabatlarni tekshirishni soddalashtiradi. Lokallashtirish kodda aniqlangan xatolarga o’zgartirishlarni osonlashtiradi.
Dasturlash konstruktorlik ishi sifatida
Bugungi kunda axborot-kommunikatsiya sohasini rivojlantirishning asosi hisoblangan dasturiy mahsulotlarni ishlab chiqarish milliy iqtisodiyot rivojlanishining muhim sharti sifatida alohida ahamiyat kasb etmoqda. Hayotimizning har jabhasida faol qo‘llanilayotgan axborot almashinuv texnologiyalaridan samarali foydalanish ulardagi dasturiy ta’minotlarning o‘ziga xosligi, ommabopligi va innovatsion yangiligiga bog‘liq. Dasturlash bu kompyuterga buyruqlar berishdir. Masalan, biror web-sayt tayyorlanmoqda va bu holatda uni tayyorlash uchun kompyuterga buyruqlarni yozish kerak. Faqat kompyuter o’zbek tilini yoki boshqa bir horijiy tilni tushunmaydi. Shuning uchun unga o’zi tushunadigan tilda ya’ni dasturlash tilida yozish kerak. Mana shu holat esa dasturlash deyiladi. Dasturchi bunday kodlarni yozib har-xil qurilamalar uchun ilovalar, web-saytlar, tizimlar va boshqa dasturlar tayyorlashi mumkin. Dasturchi ishlab chiqarayotgan mahsulotlardan sezish mumkinki, dasturchilarga hozirgi kunda ehtiyoj juda yuqori. Chunki dasturchilar tomonidan tayyorlanadigan mahsulotlar hozirgi kunning asosiy talablaridan biridir. Dasturiy ta’minotni loyihalash va konstruksiyalash – dasturiy mahsulotni yaratishning eng ma’suliyatli bosqichlaridan biri. Bu bosqichda ishlab chiqilayotgan dasturiy ta’minotga asosiy talablar bayon etiladi. Funksiyalar va foydalanishning talablari qanchalik to’liq aniqlanishidan konstruksiyalash jarayonini aniqlovchi 10 asosiy qarorlar qanchalik to’g’ri qabul qilinishida ishlanma bahosi va uning sifatiga bog’liq bo’ladi. Funksional belgiga ko’ra dasturiy mahsulotlarni sinflash. Har bir dasturiy mahsulot ma’lum funksiyalarni bajarish uchun mo’ljallangan vazifasiga ko’ra barcha dasturiy mahsulotlarni uchta guruhga ajratish mumkin: tizimli, amaliy va gibrid. Dasturlash — kompyuterlar va boshqa mikroprotsessorli kompyuterlar uchun dasturlar tuzish, sinash va oʻzgartirish jarayonidan iborat. Odatda dasturlash yuqori saviyali dasturlash tillari (Delphi, Java, C++, Python) vositasida amalga oshiriladi. Bu dasturlash tillarining semantikasi odam tiliga yaqinligi tufayli dastur tuzish jarayoni ancha oson kechadi. Dasturlash – bu:
1) kompyuterlarda masalalarni yechish hamda ularda har xil aqliy mehnat turlarini bajarish nazariyasi va usullarini ishlab chiqish bilan shugʻullanadigan fan; 2) algoritmlar nazariyasining amaliy boʻlimi;
3) insonning kompyuter bilan aloqa qilish vositasi.
Asosiy vazifalaridan biri kompyuterlar uchun programma (dastur) tuzish usullari, ularni tekshirish va takomillashtirishdan iborat. Yechilishi lozim boʻlgan masala algoritmi dasturlashda „kompyuter tili“ga oʻtkaziladi. Dasturlash bevosita dasturlash va avtomatik dasturlashga boʻlinadi. Bevosita Dasturlashda programmaning umumiy sxemasini ishlab chiqishdan kodlash va mashi-naga kiritishgacha boʻlgan barcha ishni programmachi bajaradi. Avtomatik dasturlashda esa programmachi faqat programma sxemasini tuzib, uni qisqartirilgan simvolik kurinishda yozadi, profamma tuzish va uni kodlash kabi texnikaviy ishlarni esa kompyuterning oʻzi maxsus dasturlash programmasi yordamida bajaradi. Dasturlash jarayoni, odatda, quyidagi bosqichlarga boʻlinadi: masalaning qoʻyilishi; masalaning algoritmik tavsifini tuzish; masalani yuqori darajadagi programma tilida dasturlash; masalani kompyuter tilida dasturlash. Dasturlash tili programmalar tuzishning asosiy vositasidir. Bu tillar konkret kompyuter komandalari tizimsiga boglits boʻlmasligi va iboralar struktu-rasi jihatidan umumiy xususiyatga ega boʻlishi bilan boshqa tabiiy tillarga oʻxshab ketadi. Iboralar ikki turga — operatorlar hamda tavsiflarga boʻlinadi, ularning bir- 11 biri bilan bogʻliqligi qavslar bilan, alohidaligi nukali vergul bilan ajratiladi. Operator tilning amal birligi boʻlib, oʻz navbatida, oʻzgaruvchan kattalikka qiymat beruvchi operatorlar, shartga muvofiq tegishli hisoblash tarmogʻini tanlovchi (shartli) operator va takroriy hisobni amalga oshiruvchi sikl ope-ratorlariga boʻlinadi. Tavsifda oʻzgaruvchan kattalik va boshqa belgilar xususiyatlari yoziladi. Biror xususiy masalani yechish uchun tuzilgan programmani simvolik ravishda funksional belgilash mumkin. Bunday belgilash va tavsif birgalikda kichik programma deb yuritiladi. Yangi programmalar tuzishda kichik programmalardan tayyor holda foydalanish mumkin. Juda koʻp dasturlash tillari (algol-60, q. Algol), muhandislik va ilmiy masalalarni yechish uchun fortran, iqtisodiy hisoblashlar uchun kobol, matematik modellar uchun si mula, tako-millashgan algol-68, PL/I yaratildi. Ularning har biri uchun shu tillarda ifodalangan masalalarga qarab kompyuter programmasini avtomatik tarzda qaytatuzuvchi translyatorlar mavjud. Taxminiy kompyuter tili ikkilik tizimdan koʻra yanada qulayroq simvollarda ifodalangan kompyuter komandalari terminlaridagi programmalar boʻlib, bunda koʻpincha, yuqori darajadagi til sifatida blok sxemalardan foydalaniladi. Dasturlashning programma tuzilgandan keyingi yana bir asosiy bosqichi “tekshirish” (otladka) boʻlib, bunda yoʻl qoʻyilgan xatolar topiladi va tuzatiladi. Programmalar kodlanadi va kompyuterga maxsus qurilma yordamida kiritiladi. Amaliyotda Dasturlashning yangi va tezkor usullari bor (2004); 2) matematik dasturlash — amaliy matematikaning bir boʻlimi; umumiy maʼnoda — biron-bir funksiya fo(x) ning ekstremumini topish masalasi tushuniladi.
Dasturiy ta’minotni konstruktsiyalash bosqichlari
Boshlang’ich bosqichlarda bu jarayonni ko’p jihatdan hamda ishlanma sifati va mehnat sarfini aniqlovchi prinsipial yechimlar qabul qilinishi mumkin:
➢ dasturiy ta’minot arxitekturasini tanlash;
➢ foydalanish interfeysi tipi va hujjatalr bilan ishlash texnologiyasini tanlash; ➢ ishlanmaga yondashuvni (tuzilmani yoki obyektni) tanlash;
➢ dasturlash tili va muhitini tanlash
Bu yechimlar nima loyihalashini qanday xarakteristikalarga ega, qanday vositalar bilan bajarilishini aniqlaydi. Dasturiy ta’minot arxitekturasini tanlash. Dasturiy ta’minot arxitekturasi deb uni tuzishning bazaviy konsepsiyalari jamlanmasiga aytiladi. Dasturiy ta’minot arxitekturasi yechilayotgan masalalar murakkabligi, ishlanayotgan dasturiy ta’minot universallik darajasi va uning birorta nusxasi bilan bir vaqtda ishlanayotgan foydalanuvchilar soni bilan aniqlanadi. − bir foydalanuvchili arxitektura dasturiy ta’minot personal kompyuterda ishlayotgan bitta foydalanuvchiga mo’ljallangan; − ko’p foydalanuvchili arxitektura lokal yoki global tarmoqda ishlashga mo’ljallangan. Bundan tashqari bir foydalanuvchi arxitektura doirasida: − dasturlar; − dastur paketlari; − dasturiy komplekslar; − dasturiy sistemalar. Ko’p foydalanuvchili arxitektura «mijoz-server» prinsipi bo’yicha tuzilgan sistemalarni amalga oshiradi. Dastur deb kompyuterga jo’natilgan konkret masalani yechish uchun bajarish zarur bo’lgan amallar ketma-ketligini aniq tavsiflovchi ko’rsatmalar majmuasiga aytiladi. Tuzilishli yondashuvda qo’yilgan masalani yechish jarayonida bir-birini chaqiruvchi ichki dasturlar iyerarxiyasidan obyektli yondashuvda – bajarish uchun maxsus sinflar ishlab chiqilgan bir-biri bilan xabar almashinuvchi obyektlar jamlanmasi. Dastur bu holda qism dasturlar standart kutubxonalari foydalanadigan alohida kompilisiyalanuvchi dasturiy birlikdan iborat bo’lib, odatda o’zining kutubxonalarini tashkil etmaydi. Bu arxitekturaning unchalik katta bo’lmagan masalalarni yechishda foydalaniladigan eng sodda turi. Dasturlar paketlari biror amaliy soha masalalarni yechadigan dasturlar jamlanmasi. Masalan, grafik dasturlar paketi, matematik dasturlar paketi. Bunday 13 paket dasturlar o’zaro ma’lum amaliy sohaga tegishliligi bilan bog’langan. Dasturlar paketlari har biri o’zi zarur ma’lumotlar va natijalarni chiqaradigan alohida dasturlar jamlanmasini amalga oshiradi. Ular – dasturlar kutubxonasi. Dasturiy komplekslar bitta amaliy soha murakkab masalalarni biror sinfini yechishni birgalikda ta’minlovchi dasturlar jamlanmasidan iborat. Bunday masalalarni yechish uchun kompleksning dasturlarini chaqirib bir nechta qismmasalalarni yechish zarurati paydo bo’ladi. Dasturlar va dasturiy kompleksni tanlash maxsus dastur – murakkab bo’lmagan interfeysini ta’minlovchi va biror ma’lumotli axborotni berishi mumkin bo’lgan dispetcher bajaradi. Dasturlar paketidan dasturiy komplekslar bilan farq qiladigan bir nechta dastur ketma-ket yoki siklik ravishda bitta masalani yechish uchun chaqirilishi mumkin, demak, bitta foydalanuvchi loyihasi doirasida berilgan ma’lumotlar va chaqiruvlar natijalarini saqlash maqsadga muvofiq. Bu holda dasturlar alohida yoki birgalikda kompilinerlanuvchi dasturiy birliklar kabi amalga oshiriladi, berilgan ma’lumotlar esa operativ xotirada yoki fayllarda saqlanadi. Dasturiy komplekslardan farqli dasturiy sistemaga kiruvchi dasturlar umumiy ma’lumotlar orqali o’zaro ta’sirda bo’ladi. Dasturiy sistemalar odatda rivojlangan va ichki interfeyslarga ega, bu esa ularni puxta loyihalashni talab etadi. Ko’p foydalanuvchili dasturiy sistemalar odatdagi dasturiy sistemalardan farqli dasturiy ta’minot alohida komponentlar o’zaro ta’sirini tashkil etishi lozim, bu esa uni ishlab chiqishni yanada qiyinlashtiradi. Bunday dasturiy ta’minotni ishlab chiqish uchun maxsus texnologiyalar yoki platformalar, masalan, CORBA, COM, Java va h.k. texnologiyalar ishlatiladi. Foydalanuvchi interfeys tipini tanlash. To’rtta foydalanish interfeyslar tiplari farqlanadi:
− primitiv
– ishning yagona ssenariysini, masalan, ma’lumotlarni kiritish
– qayta ishlash
– natijalarni chiqarishni amalga oshiradi;
− menyu
– amallari iyerarxik tuzilmalarga shakllangan ishning ssenariylari to’plamini, masalan, «qo’yish», «faylni qo’yish», «simvolni qo’yish» va h.k.larni bajaradi;
− erkin novigasiyali
– iyerarxiya darajalariga bog’lanmagan va ishning konkret qadamida mumkin bo’lgan amallar to’plamini aniqlashni ko’zda tutadigan ssenariylar to’plamini amalga oshiradi, bu shaklning interfeyslari asosan Windows ilovalardan foydalanadi;
− to’g’ridan-to’g’ri manipulasiyalash
– obyektlar ustidagi amallarda taqdim etilgan ssenariylar to’plamini bajaradi, asosiy amallar sichqoncha bilan obyektlar piktogrammalarini siljitish bilan amalga oshiriladi, bu shaklli erkin novigasiyali interfeysga muqobil bo’lib Windows operasion tizimi o’zining interfeysida amalga oshirilgan.
Foydalanuvchi interfeys tipi ishlanmaning murakkabligi va mehnat sarfini belgilaydi. Dasturiy ta’minotni ishlab chiqishning obyektli – yo’naltirilgan vizual muhitlari dasturlashga hodisaviy yondashuvdan foydalanadi va erkin novigasiyali interfeyslarni yaratishga mo’ljallangan bo’lib, bunday interfeyslarni ishlab chiqish mehnat sarfini jiddiy kamaytirdi va to’g’ridan-to’g’ri monipulyasiyalash interfeyslarni amalga oshirishni soddalashtirdi. Interfeys tipini tanlash hujjatlar bilan ishlash texnologiyalarini tanlashni o’z ichiga oladi. Ikkita texnologiya mavjud: − bir hujjatli, u bir hujjat interfeys (SDI – Single Document Interface) ni ko’zda tutadi; − ko’p hujjatli, u ko’p hujjat interfeys (MDI – Multiple Document Interface) ni ko’zda tutadi. Ko’p hujjatli texnologiya dasturiy ta’minot bir nechta hujjatlar bilan bir vaqtda ishlaganda, masalan, bir nechta matn yoki bir nechta tasvirlar bilan ishlaganda foydalaniladi. Bir hujjatli – agar bir nechta hujjatlar bilan bir vaqtda ishlash zarurati bo’lmasa, hozirgi kutubxonalardan foydalanib ko’p hujjatli interfeyslarni ishlatish mehnat sarfi birinchisiga qaraganda 3...5% yuqori. Ishlanmaga yondashuvni tanlash. Agar erkin novigasiyali yoki to’g’ridanto’g’ri manipulyasiyali interfeys tanlangan bo’lsa, u holda hodisaviy dasturlash va obyektli yondashuvdan foydalaniladi, chunki zamonaviy vizual dasturlash muhitlari Visual C++, Delphi, Builder C++ va ularga o’xshashlar kutubxona sinflari 15 obyektlari ko’rinishida interfeys komponentlarni taqdim etadi. Bunda predmet soha murakkabligiga bog’liq holda dasturiy ta’minot obyektlardan foydalanish orqali yoki sof prosedurali ravishda amalga oshirilishi mumkin, faqat bundan boshqa prinsipda tuzilgan Perl kabi internet-ilovalarni ishlab chiqishni maxsus tillardan foydalanish hollari mustasno. Primitiv interfeys va menyu tipidagi interfeys tuzilmali obyektli yondashuvlar bilan muvofiqlashadi. Shuning uchun yondashuvni tanlash qo’shimcha axborotdan foydalanish bilan amalga oshadi. Obyektli yondashuv juda katta dasturiy sistemalar (universal dasturlash tilida 100000 dan ko’p bo’lgan operatorlar mavjud) ini va predmet soha obyekt tuzilishi aniq ifodalangan hollarda samarali. Shuningdek u dasturiy ta’minot samaradorligiga qattiq cheklashlarda ham foydalaniladi.
XULOSA
Dasturiy ta’minotni loyihalash va konstruksiyalash – dasturiy mahsulotni yaratishning eng ma’suliyatli bosqichlaridan biri. Bu bosqichda ishlab chiqilayotgan dasturiy ta’minotga asosiy talablar bayon etiladi. Funksiyalar va foydalanishning talablari qanchalik to’liq aniqlanishidan konstruksiyalash jarayonini aniqlovchi asosiy qarorlar qanchalik to’g’ri qabul qilinishida ishlanma bahosi va uning sifatiga bog’liq bo’ladi. Mamlakatimizda dasturiy ta’minot sanoatini shakllantirish va rivojlantirish uchun zarur shart-sharoitlar, sohaga daxldor mustahkam qonunchilik bazasini yaratishga e’tibor qaratilmoqda. Hozirgacha 10 dan ziyod qonun, Prezident va Vazirlar Mahkamasining qator farmon hamda qarorlari qabul qilindi. Foydalanuvchining maxsuslashgan tillari odatda foydalanuvchi kasbiy muhitlari qismi hisoblanadi, tor yo’nalishga egaligi bilan xarakterlanadi va dasturiy ta’minot ishlab chiqaruvchilari tomonidan ishlatilmaydi. Past darajali tillar mashina buyruqlari darajasida dasturlarni amalga oshirishga imkon beradi. Bunda vaqt nuqtai nazaridan, dasturning zarur xotira hajmi 17 nuqtai nazaridan ham eng optimallari olinadi. Lekin bu tillar katta dasturlar dasturiy tizimlar yaratish uchun umuman yaroqsiz. Asosiy sabab – ishlab chiqaruvchi amal qiladigan abstraksiyalar past saviyasidir, bundan ishlanmaga katta vaqt sarflashga yo’l qo’yilmaydi. Bu tillar tuzilmali dasturlash prinsiplarini qo’llamaydi, bu esa ishlab chiqilayotgan dasturlash texnologiyasini yomonlashtiradi. Dashturlash muhiti deb, dasturlarni yozish va saqlash jarayonini soddalashtiradigan kompilyatorga ichki qurilgan maxsus matn muharriri, komponovshik sozlovchi, ma’lumotlar sistemasi va boshqa dasturlarni o’z ichiga olgan dasturiy kompleksga aytiladi. Vizual dasturlash muhitlarida dasturchi komponentlar maxsus kutubxonalaridan ba’zi kodlar dasturiga vizual ulanish imkoniyatiga ega bo’ladi, bu esa obyektli yo’naltirilgan dasturlash rivoji tufayli sodir bo’ldi. Eng ko’p foydalanadigan dasturlash muhitlariga Borland (Inprise Corporation) firmasini Delphi, C++ Builder, Microsoft firmasini Visual C++, Visual Basic, IBM firmasini Visual Ada vizual muhitlari kiradi.
FOYDALANILGAN ADABIYOTLAR
https://www.opslevel.com/resources/standards-in-software-development-and-9-best-practices#benefits-of-software-development-standards
https://azkurs.org/3-amaliy-ish-dastur-kodini-yozishda-standartlashtirish-asoslar.html
https://muhaz.org/mavzu-sifatni-taminlash-standartlari-turlari-asosiy-standart-m.html
https://uz.wikipedia.org/wiki/Interfeys
|