FAN: DАSTURIY TА’MINOT QURILMАSI VА EVOLYUTSIYASI 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ʼminotni konstruktsiyalashga kirish
Dasturiy taʼminot 3 guruhga boʻlinadi:
Sistema dasturlari (unga turli yordamchi vazifalarni bajaruvchi dasturlar kiradi : Task Manager (Windows OSda mavjud));
Amaliy (unga foydalanuvchiga aniq bir foydalanish sohasida maʼlumotlarga ishlov berish va qayta ishlashni amalga oshiruvchi dasturlar, masalan: Microsoft Office, Adobe CC);
Uskunaviy dasturlar (bular dasturlash uchun ishlatiladigan 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 loyihalash (Software Design) va dasturiy ta'minotni sinash (Software Testing) sohalari bilan mavjud. Buning sababi, dasturiy ta'minotni konstruktsiyalash jarayonining o'zi loyihalash va sinov faoliyatining muhim jihatlariga tegishlidir. Bundan tashqari, konstruktsiyalash loyihalash va sinov natijalariga asoslanadi. Konstruktsiyalash, loyihalash va sinov o'rtasidagi chegaralarni aniqlash juda qiyin, chunki ularning barchasi hayot tsikli jarayonlarining yagona kompleksiga bog'langan.
Konstruktsiyalash jarayoni bu quyi darajadagi loyihalash 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 loyihalash , 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 loyiha arxitekturasi asosida dasturni ishlab chiqishdir.
Ba'zi loyihalarda, agar maqsadga muvofiq bo'lsa, konstruktsiyalash bosqichi loyihalash 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 loyihalashdir. Sinflarni loyihalashda xatolar dasturni takomillashtirishga imkon bermaydi, 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 loyihani boshqarish faoliyatiga ham tegishlidir.
Dasturiy ta'minotni loyihalash 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 pasaytirish (Reduction in Complexity),
uslubdan og'ishning oldini olish (Anticipation of Diversity),
sinovlarni tuzilmalashtirish (Structuring for Validation),
tashqi standartlardan foydalanish (Use of External Standards).
Murakkablikni pasaytirish - bu konstruktsiyalashdagi murakkablikni minimallashtirish, kamaytirish 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 loyihaning 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.