Reja: Dasturlash nim


Download 8.92 Kb.
Sana05.05.2020
Hajmi8.92 Kb.
#103559
Bog'liq
652-18-A-Shamsuddinov-DIK-Amaliy-1


Mustaqil ish — 1

Bajardi : A.Shamsuddinov, 652-18 DI

Mavzu: Dasturiy injiniringga kirish fanining ahamiyati.
Reja:

1. Dasturlash nima.

2. Kelajak kasbi,

3. Dasturiy injiniringga kirish. Fanning ahamiyati.

Nazariy qism.

Dasturlash yoki kod yozish – bu kompyuterga ba’zi operatsiyalarni qanday bajarishni buyurishdir. Agar siz oldin hech kod yozmagan bo’lsangiz, ehtimol mavjud ilovalardagi narsalarni bosib kompyuter bilan muloqot qilgan bo’lsangiz kerak. Aslida, bu ilovalar komputerga ilovani qanday ko’rsatishni, ma’lumotlarni qayerda saqlash va olib chiqib berishni, hamda siz sichqonchani bosganinizda qanday javob qaytarishni aytadigan kodlardan tashkil topgan.

 Butun dasturlash biz yuqorida muhokama qilgan informatikaning tamoyillariga asoslanadi. Shunisi diqqatga sazovorki, mantiq, algoritmlar, ma’lumotlar, tizimli loyihalashtirish kabi bir xil tushunchalar to’plami – siz hozir bu maqolani o’qishda foydalanayotgan brovzerdan tortib samolyotdagi avtopilot dasturini tuzishgacha – hamma joyda qo’llanilishi mumkin.

Dasturlash o’z ichiga ko’plab matematik hisob-kitob va strukturani olsada, u yuqori darajada ijodiy ish hisoblanadi: bir qator kod bilan bir vaqtda mahsulotning tayyor holati haqida o’ylaysiz.Ba'zi odamlar muhandislik metaforasi tufayli Software Engineer atamasini yoqtirmaydilar. Agar sizga yoqmasa, uni dasturiy ta'minot muallifi, dasturiy ta'minot ustasi yoki dasturiy ta'minot muallifi bilan almashtirishingiz mumkin!

Dastur muhandisi tomonidan, men sifatli dasturiy ta'minotni yozishni o'z kasbi deb biladigan odamni nazarda tutyapman. Ilmiy va statistikani o'sha kasbga qo'llagan va unga shunchaki pul ishlaydigan ish sifatida qaramaydigan odam. Qanday qilib dasturlashni bilish sizni dastur muhandisi qilib qo'ymaydi. Har kim dasturlashni o'rganishi mumkin. Bu oson. Har kim o'z mashinalarida ular uchun ishlaydigan oddiy dasturlarni yaratishi mumkin, ammo bu o'sha dasturlar boshqalar uchun ishlashiga kafolat bermaydi.

Mening eng yoqtirgan o'xshashligim shundaki, hamma qo'shiq kuylashi va dushda dam olishlari mumkin, lekin bayram vaqti bo'lganda siz o'zingizning qo'shiqlaringizni yozib olmaysiz. Taroziga borasiz.
Quyidagi savollarga sizning javobingiz ko`p narsani oydinlashtiradi:

Biz maktabda matematika va yozishni o'rgandik, ammo bu bizni matematik va yozuvchilarga aylantirmadi.

Ko'pchiligimiz ovqat pishirishni osongina o'rganishimiz mumkin, ammo ko'pchilikni ovqatlantiradigan vaqt bo'lganda biz oshpaz yollaymiz.

Baham ko'rishni istagan asosiy xabarim shundaki, oddiy dasturlar ishlab chiqilgan dasturlarga qaraganda ancha farq qiladi.

Dasturlash akti, eng sodda ta'rifi bilan, kompyuterlarga ba'zi bir natijalarni chiqarish uchun biron-bir kirish bilan biror narsa qilish bo'yicha ko'rsatma beradi.

Muhandislik dasturlarining harakati ko'plab foydalanuvchilar uchun muammolarni hal qilish maqsadida kompyuter dasturlarini loyihalashtirish, yozish, sinovdan o'tkazish va texnik xizmat ko'rsatishni o'z ichiga oladi. Bu vaqt sinoviga dosh bera oladigan va asl ravshan bo'lganlar atrofida ba'zi noma'lum muammolarni hal qilishga qodir bo'lgan ishonchli va xavfsiz echimlarni yaratish haqida.

Dasturiy ta'minot muhandislari ular hal qiladigan muammolar, taqdim etadigan echimlar, ushbu echimlarning cheklashlari, shaxsiy hayotga daxldorlik va xavfsizlikka tegishli bo'lgan narsalar to'g'risida hamma narsani tushunadilar.

Dasturiy ta'minot muhandislari o'zlarining kareralari haqida shunchaki dastur yozish deb o'ylamaydilar. Ular ehtiyojlarni qondirish va muammolarni hal qilish nuqtai nazaridan o'ylashadi. Bu juda muhim, chunki har bir muammo dasturga muhtoj emas. Ba'zi muammolar mavjud dasturlar yordamida yoki bir nechta dasturlarni birlashtirish orqali hal qilinishi mumkin. Erta harakat qilish bilan ba'zi muammolarni butunlay oldini olish mumkin. Yaxshi dasturlarni ishlab chiqish ko'pincha kelajakdagi muammolarni oldini olish uchun rejalashtirishni o'z ichiga oladi.



“Intellektual muammolarni hal qiladi, daholar ularga xalaqit beradi. " - Albert Eynshteyn

Murakkab muammolar odatda bir nechta dasturlarni yozishni talab qiladi. Ba'zi muammolar parallel ravishda ishlaydigan dasturlarga, boshqalari esa ketma-ket ishlashi kerak. Foydalanuvchilarga ta'lim berish orqali ba'zi muammolarni hal qilish mumkin.

Dastur yozishdan oldin, dastur muhandisi savollarni so'raydi:
Qanday muammolarni hal qilmoqchiman?
Ularni echishda kodni yozishdan tashqari yana nima qilish kerak?
Ushbu muammolarni kod bilan hal qilishni osonlashtirish uchun nima qilishim kerak?

Ajoyib dasturlar aniq va tushunarli, ularni osonlikcha uzaytirish mumkin, ular boshqa dasturlar bilan juda yaxshi ishlaydi va ularni qo'llab-quvvatlash kabus emas. Kodning sifati muzokara qilinadigan narsa emas, muddati yoki hissiyot tufayli ixcham yorliqlardan foydalanish hech qachon qabul qilinmaydi.

Muhandislik dasturining eng muhim jihatlaridan biri bu har qanday narsani erdan boshlab kengayishga tayyor bo'lishdir. Dasturni o'zgartirish - bu hayot haqiqati. Foydalanuvchilar ko'proq funktsiyalarni va dasturlardan foydalanishning oson usullarini talab qiladilar.

Dasturiy ta'minotning bir qismi odatda juda foydali emas. Foydali dasturiy ta'minot xususiyatlari, dasturiy ta'minotning bir nechta bo'lagi bir-biri bilan aloqa o'rnatgandan so'ng, ular bilan ma'lumot almashish va foydalanuvchilarga ma'lumotlar va interfeyslarni taqdim etishda hamkorlik qilishdan boshlanadi.

Dasturlar shuni inobatga olgan holda ishlab chiqilishi kerak. Ular qanday xabarlarni qabul qilishadi? Qanday voqealar kuzatiladi? Qanday xabarlar chiqariladi? Qanday qilib biz ma'lumotlarning haqiqiyligini tasdiqlaymiz va avtorizatsiya qilamiz?

Ajoyib dasturlarning yana bir muhim jihati - bu qancha test mavjudligi yoki testni qamrab olish to'g'risidagi hisobotdagi son emas, balki kodning ravshanligi. Bu oddiy savol, ushbu kodni boshqa birov o'qiy oladimi? Yoki yaxshiroq, bugungi kod yozuvchisi, men ushbu kodni bir necha haftadan keyin tushungan bo'lardimmi?



"Kompyuter fanida faqat ikkita qiyin narsa bor: keshni bekor qilish va narsalarni nomlash." - Fil Karlton

Kodni o'qish siz o'ylagandan ko'ra ko'proq ahamiyatga ega. Afsuski, kod aniqligi uchun yaxshi ko'rsatkichlar yo'q. Dasturiy ta'minotning yaxshi namunalarini va amaliyotini yodlash yordam berishi mumkin, ammo ko'pincha bu etarli emas. Yaxshi dastur muhandislari shunchaki tajriba va sezgi bilan kodlarning ravshanligini ko'zdan kechirishadi. Bu erda yozish metaforasi mukammaldir: shunchaki so'zlarning katta ro'yxatini bilish qisqa va aniq tarkibni yozishga yordam bermaydi.



"Meni qisqa xat yozishga vaqtim bo'lmadi, shuning uchun o'rniga uzun xat yozdim." - Mark Tven

Dasturlar bilan bog'liq muammolar bo'ladi. Ularni osonlikcha tuzatishga qodir bo'lish bu yaxshi dasturiy ta'minotning asosiy atributidir. Dasturlarda yuz berayotgan xatolar aniq xabarlarga ega bo'lishi va nazorat qilinishi kerak bo'lgan joyda markazlashtirilishi kerak. Yangi xato haqida xabar berilganida, uni tuzatishi kerak bo'lgan kishi bu xatoni tuzatishi kerak. Ular har qanday vaqtda istalgan vaqtda tizimga bog'lanishlari va ijro etilish konteksti haqidagi ma'lumotlarni o'qishlari kerak. Ular tizimning istalgan qismi haqida taxminlarni osongina tekshirish imkoniyatiga ega bo'lishi kerak.


Dastur muhandisi kimligini tanib oldik, endi asosiy savolga o`tsak. Dastur muhandisi o`z kasbini qay darajada muhim ekanligini aynan mana shu dasturiy injiring fanida ko`rib o`rganishimiz mumkin. Dastur yaratish bu shunchaki biror bir muammoni hal qilish emas. Bu o`sha muammo yechimi ortidan yana boshqa muammolar keltirib chiqarmasligi kerak, masalan: xavfsizlik bilan bog`liq, misol mijoz kompaniya uchun onlayn do`kon tayyorlab berib. Uning xavfsizligiga jiddiy qaramasdan, kompaniyani strategik rejalariga putur yetkazib qo`yishi. Mijoz kompaniya haridorlarini cho`chitib qo`yishi mumkin. Shuningdek uning e`tiborsizligi sababli boshqa jamoadoshlari sha`niga ham yomon so`z tegib qolishi mumkin. Dasturchilarning obro`sini to`kib qo`yishi mumkin. Mana shu sabablarga ko`ra dastur muhandisi e`tiborli bo`lishi kerak.

Dastur muhandislari dasturlarni yozganda, ularning dasturlari har xil muhitda, turli xil manbalarda va turli xil vaqt zonalarida ishlashiga ishonch hosil qilishadi. Dastur turli xil ekran o'lchamlari va yo'nalishlarida ishlashi kerak. Shuningdek, u cheklangan xotira yoki ishlov berish quvvatidan foydalanishga majbur bo'lganda ishlashi kerak.

Masalan, veb-brauzer uchun dastur yaratishda, u har xil yirik brauzerlarda ishlashi kerak. Ish stoli dasturini yaratishda u ko'p hollarda Mac va Windows foydalanuvchilari uchun ishlashi kerak. Ma'lumotlarga bog'liq bo'lgan dasturlarni yaratishda, ushbu ma'lumotlarni olish uchun ulanish bir muncha vaqt sekin yoki to'liq o'chirilgan bo'lsa, dastur ishlashi kerak.

Dastur bo'lagini yozish uchun dasturiy ta'minot muhandislari tasavvur qilishlari mumkin bo'lgan har qanday stsenariy haqida o'ylashga harakat qilishadi va ushbu stsenariylarni sinab ko'rishni rejalashtirishadi. Bu ular baxtli yo'l deb ataydigan narsadan boshlanadi, unda kutilmagan narsa bo'lmaydi, lekin bundan ham muhimi, ular sodir bo'lishi mumkin bo'lgan har qanday masalani hujjatlashtiradilar va buning uchun sinovni rejalashtiradilar. Ba'zi dasturiy ta'minot muhandislari ushbu stsenariylarni taqlid qiluvchi kodlarni yozishni boshlashadi. Keyin ular ushbu barcha sinov holatlarini o'tadigan kerakli kodni yozadilar.

Dasturiy ta'minot muhandislari odatda noaniq va to'liq bo'lmagan dastur talablarini tushunadilar. Iqtidorli dasturiy ta'minot muhandisining noyob mahorati yechimni qanday yozish kerakligi haqida emas, balki echimda nimani aniqlash kerakligi haqida.


Xarajat va samaradorlik

Dasturiy ta'minot muhandislari ko'p hollarda muammolarni tezda hal qilishlari mumkin. Agar siz tajribali dasturchilarni yollash katta xarajatlarni anglatadi deb o'ylasangiz, yana bir bor o'ylab ko'ring. Siz yollagan dasturchi qanchalik tajribali bo'lsa, ular tez, aniq, ishonchli va barqaror echimlarni taqdim etadilar. Bu uzoq muddatda xarajatlarning kamayishini anglatadi.



Shuningdek, dasturni ishga tushirish xarajatlarini ham hisobga olishingiz kerak. Har bir dastur kompyuter resurslaridan foydalanadi va ular bepul bo'lmaydi. Dastur muhandislari kompyuter resurslaridan keraksiz foydalanmaydigan samarali dasturlarni yozadilar. Masalan, tez-tez ishlatiladigan ma'lumotlarni keshlash - bu erda qo'llaniladigan bitta strategiya, ammo bu dasturni tezroq va samaraliroq qilishga imkon beradigan minglab vositalar va o'zgarishlarning faqat bittasidir.

Yangi boshlanuvchi dasturchi sizga arzon echimni berishi mumkin, ammo agar sizda tajribali dasturchi birinchi navbatda samarali echimni yaratgan bo'lsa, bu echim sizga va mijozlaringizga ko'proq xarajat qilishi mumkin.

Download 8.92 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling