1-mavzu. Dasturiy ta'minot tizimlarini loyihalash faniga kirish



Yüklə 81,49 Kb.
səhifə8/10
tarix20.12.2023
ölçüsü81,49 Kb.
#187313
1   2   3   4   5   6   7   8   9   10
1-mavzu

Tuzilmaviy loyihalash
Tuzilmaviyli yondashuv ko'pincha ierarxiyada joylashtirilgan modullarni aniqlash orqali loyiha ishlab chiqiladi. Bu yuqorida muhokama qilingan yuqoridan pastga loyihalashtirish yondashuvi bilan ko'p o'xshashliklarga ega. Tuzilgan loyiha jarayonga, ma'lumotlarga yoki ikkalasiga ham qaratilishi mumkin.


Gibrid loyihalash yondashuvlari
Ko'pincha, Dasturiy ta’minot yaratish jarayonidagi loyihalashtirish bosqichi yuqoridagi yondashuvlardan biriga qat'iy rioya qilmaydi. Masalan, loyihalashtirish bosqichi bir necha bosqichlarni tavsiflashi mumkin, bu erda ba'zi bosqichlar yuqori darajadagi loyiha tuzilmalarini yaratish uchun loyihachidan butun tizimni ko’rib chiqishiga majbur qiladi. Ushbu qadamlar loyihachini yuqoridan pastga yondashuvidan foydalanishiga to’g’ri keladi. Loyihalashtirishning boshqa boshqichlarida loyihachidan tizimning aniq tafsilotlari haqida o'ylashni talab qilishi mumkin. Ushbu bosqichlar loyihachini pastdan yuqoriga qarab harakat qilishga majbur qiladi. Yuqoridan pastga va pastdan yuqoriga yondashuvlardan foydalanish dasturiy ta'minot loyihasini ishlab chiqishning tabiiy usuli hisoblanadi. Bu sizga butun tizim haqida o'ylash imkonini beradi, shu bilan birga dasturiy ta'minot tizimining muvaffaqiyati uchun muhim bo'lishi mumkin bo'lgan tafsilotlarga ega bo’lish mumkin.
Gibrid loyihalashtirishda yuqorida sanab o’tilgan yondashuvlarni turlicha foydalanish mumkin. Kerakli joyda kerakli va qulay bo’lgan yondashuvdan foydalanish mumkin.



    1. Abstraksiya nima?

Abstraksiyaning dasturiy taʼminot loyihalash fani doirasidagi ta’rifi quyidagiga toʻliq mos keladi: “Alohida obʼyektlar oʻrtasidagi umumiylikni solishtirish va bu oʻxshashliklardan foydalangan holda tartibga solish harakati; xususiyatlarni umumlashtirish akti; ushbu umumlashtirishning mahsuli – abstraksiya deyiladi"


Abstraksiya tushunchasi misollar
Abstraksiya misolini yuqorida keltirilgan SDPning qisqacha tushuntirishlarida topish mumkin. Men sizga bajarilishi kerak bo'lgan barcha batafsil qadamlar haqida gapirib, SDPni tasvirlab bera. Masalan, boshqa dasturiy ta'minot ishlab chiqaruvchisi bilan gaplashganda, men "Men hozirda foydalanuvchilarning ehtiyojlarini tushunish uchun intervyu o'tkazyapman" yoki "Hozirda biz avtomatlashtirishni rejalashtirgan qo'lda qadamlarni modellashtiryapmiz " deb ayta olaman. Ushbu bayonotlarni eshitgan dasturiy ta'minot ishlab chiqaruvchisi aniq tafsilotlarni eslamasligi mumkin, ammo ular mening tahlil qilayotganimni bilishlari mumkin. Shu bilan bir qatorda, bajarilishi kerak bo'lgan bosqichlar haqida gapirib, sizga SDPni tasvirlab bera olaman. Boshqa dasturiy ta'minot ishlab chiqaruvchisi bilan gaplashganda, men "hozirda tahlil qilyapman" deb ayta olaman. Buni eshitgan dasturiy ta'minot ishlab chiqaruvchisi men hozirda dasturiy ta'minot nima qilish kerakligini o'rganayotganimni tushunadi. Bu mutaxassis biz amalga oshirayotgan tahlil bosqichlarining turlari haqida savollar berishi mumkin (agar ular tafsilotlarni bilishni xohlasa).
Dasturiy ta'minotni loyihalashda abstraktsiya muayyan talablardan kengroq mavzularni aniqlashdan iborat. Misol uchun, agar talablar beysbol, softbol va kikbolga bo'lgan ehtiyojni ko'rsatsa, biz ularni shar shaklidagi to'pga bo'lgan ehtiyojga umumlashtirish imkoniyatini ko'rishimiz kerak.
Yuqorida aytib o'tilganidek, dastur holati atamasi dasturiy ta'minot dasturining bajarilish holatini tavsiflash uchun ishlatiladi. Dastur holati o'zgaruvchilar to'plami va ularning ma'lum bir vaqtning o'zida tegishli qiymatlari bilan ifodalanadi. Masalan, dastur holatini o'zgartirish uchun tayinlash bayonoti (masalan, varName = ifoda) ishlatiladi. Dasturiy ta'minot loyihalari ishlab chiqilayotgan dastur yoki tizim ichidagi holatdagi sezilarli o'zgarishlarni ko'rsatishi kerak. Misol uchun, inson resurslari va nafaqa tizimi xodim nafaqaga chiqqanda holatidagi o'zgarishlarni saqlashi kerak. Bu, ehtimol, davlatning muhim o'zgarishi bo'lishi mumkin, chunki xodim uchun mavjud bo'lgan imtiyozlar nafaqaxo'r uchun mavjud bo'lgan imtiyozlardan farq qilishi mumkin. Abstraktsiyaning bu shakli ma'lum tafsilotlarni e'tiborsiz qoldiradi, chunki tafsilot ahamiyatsiz deb hisoblanadi yoki u tasvirlangan loyiha elementi bilan bog'liq emas.
Abstraksiyaning yana bir misoli dasturlash tillarini tavsiflashdir. Barcha dasturlash tillari insonga hisoblash qurilmasida bajarilishi mumkin bo'lgan hisoblash modelini ishlab chiqish imkonini beradi. Dasturlash tili uchun abstraksiya darajasi dasturlash tilining qurilmaning apparat imkoniyatlariga qanchalik yaqin ekanligiga asoslanadi.
1.1-rasmda mashina tili abstraksiyaning past darajasida; bu til hisoblash texnikasiga eng yaqin tildir. Ya'ni, mashina tilida topilgan ko'rsatmalar apparatning imkoniyatlari bilan bevosita bog'liqdir. Bundan farqli o'laroq, Python abstraksiyaning yuqori darajasida; bu til rasmda ko'rsatilgan boshqa tillarga qaraganda apparatdan ko'proq uzoq tushunchalar bilan yoziladi. Python bayonotlari oxir-oqibat apparatda bajarilsa-da, bu vazifa interpretator va Python bayonotlarining apparat tomonidan tushuniladigan bajariladigan shaklga tarjimasini ta'minlaydigan boshqa dasturiy komponentlar yordamida amalga oshiriladi.





Python dasturlash tilining sintaksisini tushunish C yoki Java ga qaraganda ancha oson. Python-ning dinamik turini tekshirish kodni yozishda ma'lumotlar turlarini e'lon qilish uchun dasturchidan yukni olib tashlaydi. Dinamik tipni tekshirish apparat (va Java, C, assembly va mashina tillari uchun) uchun begona tushuncha bo'lganligi sababli, Python abstraksiya darajasi bo'yicha Java tilidan yuqori.
Java dasturlash tilining sintaksisi va semantikasi ham assembler tiliga qaraganda ancha oson tushuniladi. Bundan tashqari, C, assembly va mashina tillari imperativ uslubdagi dasturlashni qo'llab-quvvatlasa, Java ob'ektga yo'naltirilgan dasturlashni qo'llab-quvvatlaydi. Sinflar va ob'ektlar apparatga (va C, assembly va mashina tillariga) begona tushunchalar bo'lganligi sababli, Java abstraktsiya nuqtai nazaridan C tilidan yuqoriroq daraja.
C dasturlash tilining sintaksisi va semantikasi assembler tiliga qaraganda ancha oson tushuniladi. C da kod yozishda siz assembly tilida kod yozishdan ko'ra apparatdan uzoqlashasiz. Shunday qilib, C tili abstraksiya darajalari bo'yicha assembly tilidan ustun turadi.
Bu mashina tili bilan 1 ga 1 yozishmalarga ega; har bir yig'ish yo'riqnomasi bitta (va faqat bitta) mashina ko'rsatmasiga mos keladi. Biroq, assembler tilining sintaksisi insonlar uchun mashina tili sintaksisiga qaraganda ancha oson tushuniladi. Assambleya abstraktsiya darajalari bo'yicha mashina tilidan yuqori.
Bu protsessorni ishlab chiqqan bir xil mutaxassislar guruhi tomonidan ishlab chiqilgan. Bu CPU (markaziy ishlov berish bloki) tomonidan tushuniladigan yagona dasturlash tilidir. Shunday qilib, mashina tili apparatga (CPU) eng yaqin va eng past abstraksiya darajasida.

1.1-rasm Abstraksiya darajalari-dasturlash tillari




    1. Yüklə 81,49 Kb.

      Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   10




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin