Uploaded by Shaxzodbek Raximov

Raximov Shaxzodbek 714 20

advertisement
Laboratoriya №4
Mobil ilova ishlash uchun talablarni o'rganish va texnik topshiriqni
shakllantirish, platformani tanlash.
Ishning maqsadi: Texnik vazifani shakllantirishni o‘rganish.
Laboratoriyaning nazariy qismi.
Ilova yaratishda aynan nima bor? Mijozlarimiz tomonidan eng ko‘p beriladigan
savol. Ular ulardan qancha pul va vaqt talab qilinishini, ish qanday qurilganligini,
qaerdan boshlashni va natijada qanday qilib pul ishlashni bilishni istaydi, uni
yo‘qotmaydi.
Qisqacha javob berib bo‘lmaydigan bu muhim savol bizni ushbu turkum
maqolalarni chop etishga undadi. Ularda "qanday qilib ariza berish kerak: uchta oson
qadam" turkumidagi noaniq maslahatlar bo‘lmaydi. Ammo mobil qurilmalarni
ishlab chiqish bozorida besh yildan ortiq vaqt davomida to‘plagan tajribamiz,
amaliyotdan misollar va harakatlar bo‘yicha qo‘llanma bo‘ladi.
1-bosqich. Analitika
Har bir dastur g‘oya bilan boshlanadi. Siz bizga kelajakdagi xizmat qanday
vazifalarni hal qilishi kerakligini aytasiz va biz tahlillarni yig‘ishni boshlaymiz.
Bozorning chuqur bo‘lagi, mavjud yechimlar tahlili, raqobatchilar va mijozlarning
xatti-harakatlari modellarini o‘rganish... Tahlilning har bir bosqichida biz oxirgi
foydalanuvchini yodda tutamiz va mijozning hayot aylanishini o‘ylab ko‘ramiz. Bu
odamlar yangi ilovadan qanday foydalanishini birgalikda tushunishga yordam
beradi va uni iloji boricha qulay, tushunarli va foydali qiladi. Ushbu xizmat sizning
biznesingizga ham foyda keltiradi.
2-bosqich. Texnik topshiriq
Biz kelajakdagi dasturning funksionalligi va dizaynining batafsil tavsifini
tuzmoqdamiz. Biz foydalanuvchi belgilarini aniqlaymiz, foydalanuvchi hikoyalarini
tavsiflaymiz (User Story), foydalanuvchi sayohat xaritasini tuzamiz (Customer
Journey Map) va xizmatga texnik talablarni shakllantiramiz. Ya'ni, biz ilova qanday
bo‘lishi kerakligini, nima qila olishini va qanday ishlashini tuzatamiz.
Bunday texnik topshiriq (TOR) tufayli bizning dizaynerlar va ishlab chiquvchilar
jamoasi mijoz qanday xizmatni olishni istayotganini aniq tushunadi va asta-sekin
dastlabki g‘oyani amalga oshiradi. Foydalanuvchi hikoyalari (User Story)
foydalanuvchining dasturda o‘zini qanday tutishi bosqichma-bosqich tavsiflanadi:
avtorizatsiyadan o‘tadi, katalogni ko‘rib chiqadi, buyurtma beradi, xarid qiladi.
Bunday hikoya foydalanuvchining vazifasini tasvirlaydi, u ham dastur yordamida
hal qiladi, ham uning yakuniy foydasi. Natijada, biz kelajakdagi dasturning
funksionalligini aniqlash va uni iloji boricha foydalanuvchilarga qulay qilish
imkonini beruvchi talablar ro‘yxatini olamiz.
Tekshirish ro‘yxati: TKda nima bo‘lishi kerak
Har bir rivojlanish studiyasi ushbu hujjatni tuzishda o‘ziga xos yondashuvga ega.
Loyihani muvaffaqiyatli amalga oshirish uchun u quyidagilarni aks ettirishi kerak,
deb hisoblaymiz.
1. Umumiy ma'lumot:

xizmat maqsadi;

platforma muvofiqligi: bu iOS, Android yoki boshqa platformalar uchun
dastur bo‘ladi;

miqyoslilik: dastur keskin o‘zgarishlarga va eng yuqori yuklanishlarga tezda
moslasha oladimi, masalan, foydalanuvchilar sonining ko‘payishi yoki
ma'lumotlarni uzatish hajmi;

nosozlikka chidamlilik: agar uning bir yoki bir nechta komponentlari ishlamay
qolsa, dastur o‘z ishini davom ettirishi kerakmi.
2. Ilovaga qo‘yiladigan funktsional talablar:

foydalanuvchi rollari: turli foydalanuvchilar kirishning qanday darajalariga ega
bo‘lishi kerak, masalan, mehmon va vakolatli foydalanuvchi;

ma'lumotlar formatlari: ilovada ma'lumotlar almashinuvi qanday amalga
oshiriladi;

integratsiya: ilova boshqa xizmatlar, masalan, to‘lov tizimlari va pochta
serverlari bilan birgalikda ishlashi kerak;

kirish interfeyslari: ilova tashqi xizmatlar bilan qanday ma'lumotlarni
almashadi;

qo‘shimcha funktsiyalar: ilova boshqa biror narsa qila oladimi, masalan,
fayllar yoki shifrlash kutubxonalari bilan ishlash;

konfiguratsiya va boshqaruv: administrator ilovani boshqarish uchun qanday
elementlardan foydalanadi;

tizim tarkibi: mobil ilova nimadan iborat, ya'ni ekranlar, pushbildirishnomalar, autentifikatsiya tizimi va boshqalar.
3. Ilova uchun funktsional bo‘lmagan talablar:

xavfsizlik: dastur xavfsizligi talablari;

ro‘yxatga olish: tizim dasturning ishlashi paytida yuzaga kelgan xato
hisobotlarini yaratishi va saqlashi kerakmi va buni qanday hodisalar uchun
qilish kerak;

ishlash: dasturning ishlashiga qo‘yiladigan talablar, masalan, ma'lumotlar
bazasi tezligi;

server uskunasiga qo‘yiladigan talablar: texnik xususiyatlar ro‘yxati.
4. Ilova funksionalligini amalga oshirish:

yuklash ekrani;

ro‘yxatga olish va ruxsat berish;

asosiy ekran;

menyu;

Qidirmoq;

…

bildirishnomalar.
Laboratoriyaning amaliy qismi.
Massivni ishga tushirish
Har doim standart qiymatlarga ega bo‘lish shart emas. massivni e'lon
qilinganda o‘zingizning qiymatlaringiz bilan ishga tushirishingiz va elementlar
sonini aniqlashingiz mumkin. Massiv o‘zgaruvchilari deklaratsiyasidan so‘ng, teng
belgisini qo‘shing va undan keyin jingalak qavslar ichiga olingan elementlar
qiymatlari ro‘yxatini qo‘shing. Bunday holda, yangi kalit so‘z ishlatilmaydi:
int[] mushuklar = {2, 5, 7, 8, 3, 0}; // 6 ta elementdan iborat massiv
Siz ikkita usulni aralashtirishingiz mumkin. Misol uchun, agar siz faqat
massivning ba'zi elementlari uchun qiymatlarni aniq belgilashni istasangiz,
qolganlari esa standart qiymatlarga ega bo‘lishi kerak.
int[] mushuklar = new int[6]; // har bir element uchun boshlang‘ich qiymati 0
bo‘lgan oltita elementdan iborat massiv
mushuklar[3] = 5; // to‘rtinchi element 5 ga o‘rnatiladi
mushuklar[5] = 7; // oltinchi element 7 ga o‘rnatiladi
Massivlar ko‘pincha tsikllarda ishlatiladi. Aytaylik, 5 ta mushuk sizga tutilgan
sichqonlar soni haqida xabar berdi. O‘rtacha arifmetikni qanday topish mumkin:
int[] sichqonlar = {4, 8, 10, 12, 16};
int natijasi = 0;
for(int i = 0; i < 5; i++){
natija = natija + sichqonlar[i];
}
natija = natija / 5;
mInfoTextView.append("O‘rtacha arifmetik: " + natija);
Massivda o‘qilishi mumkin bo‘lgan (lekin o‘zgartirilmagan) maxsus uzunlik
maydoni mavjud. Bu massivdagi elementlar sonini olish imkonini beradi. Bu
xususiyat qulay, chunki siz massivning o‘lchamida xato qila olmaysiz. Massivning
oxirgi elementi har doim sichqonlardir[mice.length - 1]. Oldingi misolni
quyidagicha qayta yozish mumkin:
int[] sichqonlar = { 4, 8, 10, 12, 16 };
int natijasi = 0;
uchun (int i = 0; i < mice.length; i++) {
natija = natija + sichqonlar[i];
}
natija = natija/mice.length; // jami natija massivdagi elementlar soniga bo‘linadi
mInfoTextView.append("O‘rtacha arifmetik: " + natija);
Endi massiv uzunligi avtomatik ravishda hisoblab chiqiladi va agar siz oltita
mushukdan iborat yangi massiv yaratsangiz, tsikldagi biror narsani o‘zgartirishingiz
shart emas.
Agar siz uzunlikni o‘zgartirishingiz kerak bo‘lsa, u holda massiv o‘rniga
ArrayList ro‘yxatidan foydalanish kerak. Massivlarning o‘zi o‘zgarmasdir.
Massivlarni nusxalashda ehtiyot bo‘ling. Massiv bu raqam emas, balki
xotirada maxsus tarzda saqlanadigan maxsus ob'ektdir. Sizni aqlli so‘zlar bilan
chalkashtirib yubormaslik uchun sizga misol bilan ko‘rsatganim ma'qul.
Aytaylik, bizda bitta o‘zgaruvchi bor, keyin ikkinchi o‘zgaruvchini yaratamiz
va unga birinchi o‘zgaruvchining qiymatini beramiz. Va keyin biz ularni
tekshiramiz.
Laboratoriya ishlarini bajarish uchun topshiriqlar
1. Mobil qurilmada y=ln(x) funksiyani hisoblash jarayonini tuzing
1.
Maktab o‘quvchilari uchun nazorat dasturini tuzing
2.
Sinf ierarxiyasiga ixtiyoriy funksiya uchun aylanish shaklini qo‘shing.
Hajmni aniq integral yordamida taxminan hisoblash mumkin.
3.
Rus (yoki ingliz) alifbosi harflarining chastotali lug‘atini tuzing. Til
korpusini tanlash va tahlil qilish muammosini chetlab o‘tamiz, buning uchun qisqa
matnni olish kifoya qiladi).
Raximov Shaxzodbek 714 20
Download