Fermer xo‘jaliklarida mahsulot yetishtirish va savdoni boshqarish dastur ilovasini yaratish

2 	
 	
Kirish 
1.	Fermer xo‘jaliklarida mahsulot yetishtirish va savdo jarayonini tahlil qilish	 	
2.	Fermer xo‘jaliklari uchun dasturiy ta’minotga qo‘yiladigan talablar	 	
3.Mahsulot  yetishtirish  va  savdoni  boshqarish  dasturi  grafik  interfeysini 	
loyihalash 	
4.Ilovaning funksional imkoniyatlarini yaratish 
5.	Ilovaga ma’lumotlarni kiritish, natijalar olish va tizimni testlash	 	
Xulosa 	
 	
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 	
    3 	
 	
Kirish	 	
Bugungi  kunda  qishloq  xo‘jaligi  sohasi  har  qachongidan  ham 	
zamonaviylashtirishga  muhtoj  bo‘lib,  raqamli  texnologiyalar  orqali  uning 
samaradorligini  oshirish  dolzarb  vazifalardan  biri  bo‘lib  qolmoqda.  Xususan, 
fermer xo‘jaliklarida mahsulot yetishtir	ish, uni saqlash va sotish kabi jarayonlarni 	
tizimli boshqarish orqali resurslardan oqilona foydalanish va iqtisodiy foyda olish 
imkoniyati  yaratiladi.  Shu  sababli,  ushbu  yo‘nalishda  maxsus  dasturiy  ta’minot 
yaratish muhim ahamiyat kasb etadi. 	
Mazkur  kurs 	ishida  ishlab  chiqilgan  “Fermer  xo‘jaliklarida  mahsulot 	
yetishtirish  va  savdoni  boshqarish  dasturi”  aynan  shunday  ehtiyojlarga  javob 
beruvchi amaliy yechim hisoblanadi. Dastur fermer xo‘jaligi faoliyatining asosiy 
yo‘nalishlari —	 	ekin ekish, hosil yig‘ish,	 mahsulotni omborlash, savdoni yuritish 	
va  mijozlar  bilan  ishlash  jarayonlarini  boshqarishni  avtomatlashtiradi.  Bu  esa 
inson  omiliga  bog‘liq  xatoliklarni  kamaytiradi,  ishni  tezlashtiradi  va 
ma’lumotlarning aniq yuritilishini ta’minlaydi.	 	
Dastur  Visual  Studio  2015  muhitida  C++/CLI  va  Windows  Forms 	
texnologiyalaridan foydalangan holda yaratilgan bo‘lib, undan foydalanish oson, 
interfeysi esa oddiy va tushunarli tarzda ishlab chiqilgan. Foydalanuvchi ekinlar 
ro‘yxatini  yuritishi,  mavjud  mahsulotlar  hajmini  naz	orat  qilishi,  mijozlarga 	
sotilgan  mahsulotlar  ustidan  hisob  yuritishi  va  bu  ma’lumotlarga  asoslangan 
hisobotlar olishi mumkin. 	
Kelajakda  ushbu  dasturga  qo‘shimcha  funksiyalar  —	  avtomatik 	
bildirishnomalar,  tahliliy  grafikalar,  mobil  versiyalar  va  boshqa  fermerlar  bilan 
tarmoqda  ishlash  imkoniyatlarini  qo‘shish  rejalashtirilmoqda.  Shuningdek, 
qishloq  xo‘jaligi  sohasi  uchun  texnika  monitoringi,  suv  sarfi  boshqaruvi, 
o‘g‘itlash  rejalari  kabi  boshqa  dasturiy  mahsulotlarga  ham  ehtiyoj  ortib 
bormoqda. 	
Ushbu  kurs  i	shi  orqali  nafaqat  dasturlash  ko‘nikmalari  mustahkamlandi, 	
balki real hayotdagi amaliy muammoga yechim topildi. Dasturning qo‘llanilishi 
fermer  xo‘jaliklarining  ish  jarayonlarini  soddalashtiradi,  ma’lumotlar  bilan 
ishlashni tizimli va ishonchli qiladi hamda soha samaradorligini oshirishga xizmat 
qiladi. 	
 
 	
    4 	
 	
1.	 	Fermer xo‘jaliklarida mahsulot yetishtirish va savdo jarayonini 	
tahlil qilish 	
1.1 Fermer xo‘jaliklari haqida umumiy ma’lumot	 	
Fermer  xo‘jaliklari  mahsulot  yetishtirish,  uni  saqlash  va  sotish  bilan 	
shug‘ullanadigan  iqtisodiy  tashkilotlardir.  Ular  o‘z  faoliyatini  ko‘plab  turdagi 
qishloq xo‘jaligi mahsulotlarini ishlab chiqarish, ularni qayta ishlash va bozorga 
etkazib berish orqali amalga oshiradi. Fermerlar turli yo‘nalishlarda ishlaydi: ekin 
ekish, 	chorvachilik,  bog‘dorchilik  va  boshqa  ko‘plab  sohalarda.  Har  bir  fermer 	
xo‘jaligi o‘z mahsulotlarini maksimal foyda olish maqsadida samarali boshqarishi 
kerak. 	
Fermer xo‘jaliklari faoliyatining muhim jihatlaridan biri –	 	ma’lumotlar bilan 	
ishlashdir.  Ular  mahsulot  yetishtirish,  savdo  qilish,  xarajatlarni  hisoblash, 
resurslarni boshqarish va mijozlarga etkazib berish jarayonlarini doimiy ravishda 
kuzatib  borishlari  zarur.  Ma’lumotlarni  to‘plash,  tahlil  qilish  va  saqlash  orqali 
fermerlar  o‘z  faoliyatini  yanada	  samarali  rejalashtirishlari  va  boshqarishlari 	
mumkin. 	
Fermerlar  uchun  ma’lumotlar  tizimlari,  inventarizatsiya  va  savdo 	
hisobotlarini  boshqarish  muhimdir.  Shu  bilan  birga,  bu  jarayonlarni 
avtomatlashtirish orqali vaqtni tejash, xatoliklarni kamaytirish va samaradorlikni 
oshirish  mumkin.  Maxsus  dasturiy  ta’minotlar  ishlab  chiqish  fermerlarga  o‘z 
mahsulotlarini monitoring qilish, narxlarni nazorat qilish, omborni boshqarish va 
savdolarni yuritish imkoniyatini beradi. 	
Fermer xo‘jaliklari odatda quyidagi xizmat	larni taqdim etadi: 	
•	 Mahsulot yetishtirish va uni qayta ishlash	: Ekin ekish, hosil yig‘ish va 	
uni qayta ishlash jarayonlarini boshqarish. 	
•	  Resurslarni  boshqarish	:  Suv,  o‘g‘itlar,  yer  maydonlari  va  boshqa 	
resurslardan samarali foydalanishni 	ta’minlash.	 	
•	 Savdoni boshqarish	: Mahsulotlarni bozorga chiqarish, narxlarni belgilash 	
va mijozlarga etkazib berish jarayonini boshqarish. 	
•	  Mijozlar  bilan  ishlash  va  talablarni  bajarish	:  Mahsulotlar  uchun 	
mijozlar bilan aloqalarni o‘rnatish va ularning eh	tiyojlarini qondirish. 	
•	 Moliyaviy tahlil va hisobotlar	: Xarajatlarni hisoblash, foyda va zararlarni 	
tahlil qilish va soliq hisob-kitoblarini yuritish. 	
Fermerlar uchun samarali boshqaruv tizimlari va ma’lumotlarni boshqarish 	
dasturlari orqali barcha jarayonlarni soddalashtirish va ishonchli qilish mumkin. 
Ushbu  dasturlar  fermer  xo‘jaliklarining  ishlarini  avtomatlashtiradi,  resurslarni 
oqilona taqsimlashni ta’minlaydi va ishlab chiqarish samaradorligini oshiradi.	 	
1.2. Ma’lumot turlari va ularning 	ahamiyati  5 	
 	
Fermer xo‘jaliklari turli xil ma’lumotlar bilan ishlaydi, chunki ular mahsulot 	
yetishtirish, savdo qilish va resurslarni boshqarish jarayonlarini nazorat qilishadi. 
Quyidagi jadvalda asosiy ma’lumot turlari va ularning ahamiyati ko‘rsatilgan:	 	
Ma’	lumot turi  Tavsif 	
Mahsulot 	
ma’lumotlari	 	
Mahsulot turi, ishlab chiqarish sanasi, hosil miqdori 	
Savdo 	
ma’lumotlari	 	
Mahsulot  narxi,  sotilgan  miqdor,  mijozlar,  savdo 	
sanalari 	
Resurslar 	
ma’lumotlari	 	
Suv,  o‘g‘it,  mexanizmlar  va  boshqa 	resurslarning 	
miqdori 	
Mijozlar 	
ma’lumotlari	 	
Mijozning ismi, aloqa ma’lumotlari, buyurtma tarixi, 	
shartnoma 	
Moliyaviy 	
ma’lumotlar	 	
Xarajatlar, daromadlar, foyda, soliq hisob-kitoblari 	
Ma	’	lumotlar  turli  sohalarda  yig	‘	iladi  va  fermerlar  uchun  bu  ma	’	lumotlarni 	
boshqarish  juda  muhimdir.  Masalan,  mahsulotlar  haqida  to	‘	liq  ma	’	lumotga  ega 	
bo	‘	lish,  resurslardan  oqilona  foydalanish  va  savdolarni  samarali  boshqarish 	
fermerlarga o	‘	z biznesini muvaffaqiyatli olib borishga yordam beradi. 	
1.3. Ma	’	lumotlarni saqlash va boshqarish 	
Fermer  xo	‘	jaliklari  o	‘	z  ma	’	lumotlarini  samarali  boshqarish  uchun  maxsus 	
dasturlar  va  ma	’	lumotlar  bazasidan  foydalanadilar. 	Ma’lumotlarni  saqlash 	
quyidagi usullarda amalga oshiriladi: 	
•	 	Ma’lumotlar  bazasi	:  MySQL,  PostgreSQL  yoki  MS  Access  kabi 	
ma’lumotlar bazasi tizimlari.	 	
•	 Excel yoki Google Sheets	: Kichik fermer xo‘jaliklari uchun qulay variant, 	
ma’lumotlarni saqlash va hisob	-kitoblar olib borish uchun. 	
•	 	Maxsus dasturiy ta’minotlar	: Fermer xo‘jaliklari 	uchun ishlab chiqilgan 	
maxsus  dasturlar  yordamida  barcha  ma’lumotlar  bir  tizimda  saqlanadi  va 
boshqariladi. 	
Bunday  tizimlar  orqali  fermerlar  o‘z  mahsulotlari,  savdolar,  resurslar  va 	
moliyaviy ma’lumotlarni osonlik bilan boshqarishlari mumkin.	 	
1.4. 	Ma’lumotlar bilan ishlashdagi qiyinchiliklar	 	
Fermer xo‘jaliklari ko‘pincha quyidagi qiyinchiliklarga duch keladilar:	 	
•	 	Ma’lumotlar tarqoqligi	: Ma’lumotlar turli platformalarda yoki tizimlarda 	
saqlanadi va ularni yagona tizimda birlashtirish qiyin. 	
•	 	Ma’lum	otlarni yangilash muammosi	: Mahsulotlar va resurslar haqidagi 	
ma’lumotlar  tez	-	tez  o‘zgarib  turadi,  shuning  uchun  ularni  muntazam  ravishda 	
yangilash zarur.  6 	
 	
•	  Tahlil  qilish  murakkabligi	:  Fermerlar  uchun  katta  hajmdagi  statistik 	
ma’lumotlarni  tahlil  qilish  va	 	samaradorlikni  baholash  uchun  ko‘plab 	
ko‘rsatkichlarga ega bo‘lish kerak.	 	
1.5. Diagrammalar orqali ma’lumotlarni taqdim etish	 	
Fermer  xo‘jaligi  uchun  asosiy  jarayonlar  quyidagi  diagramma  orqali 	
ifodalash mumkin: 	
[Diagramma: Fermer xo‘jaligi ma’lumot oqimi]	 	
•Mahsulot  yetishtirish  jarayoni	:  Ekin  ekish,  o‘g‘itlash  va  sug‘orish  kabi 	
jarayonlar. 	
•Resurslar  boshqaruvi	:  Suv,  yer  va  boshqa  resurslardan  samarali 	
foydalanish. 	
•Savdo va tarqatish	: Mahsulotlar bozorga chiqariladi va mijozlarga etkazib 	
beriladi. 	
•Moliya	viy tahlil	: Daromadlar, xarajatlar va foydalarni tahlil qilish. 	
•Kelajakdagi rejalashtirish	: Mahsulotlar va resurslar bo‘yicha kelajakdagi 	
strategiyalarni ishlab chiqish. 	
1.6. Sohada ishlatiladigan atamalar va dastur ilovasiga tatbiq etish 
Fermer xo‘	jaliklarida quyidagi atamalar ishlatiladi: 	
•ROI (Return on Investment)	: Investitsiya samaradorligi, ya'ni mahsulotni 	
ishlab chiqarish va sotishdagi foyda. 	
•Yield  (Hosil)	:  Mahsulotning  hosil  miqdori,  bu  fermerning  mahsulot 	
yetishtirish jarayonida erishgan n	atijasini ko‘rsatadi.	 	
•Targeting  (Maqsadli  auditoriya)	:  Mahsulotni  kimga  sotishni  belgilash, 	
ya'ni qaysi mijozlar guruhiga yo‘naltirilgan bo‘lishi kerakligi.	 	
•Efficiency  (Samaradorlik)	:  Resurslardan  (yer,  suv,  o‘g‘it)  maksimal 	
darajada samarali foydalanish. 	
Ushbu  atamalar  dasturda  mahsulotlar  va  resurslar  ma’lumotlarini 	
boshqarish, savdolarni kuzatish va tahlil qilish uchun ishlatiladi. Masalan, ROI va 
hosil  miqdori  kabi  ma’lumotlarni  kuzatish  orqali  fermerlar  o‘z  bizneslarini 
samarali boshqarishi mumkin. 	
1.7. Dasturni ishlab chiqishda foydalanilgan texnologiyalar 
Fermer  xo‘jaliklari  uchun  ishlab  chiqilgan  dastur  quyidagi  texnologiyalar 	
asosida yaratilgan: 	
•Visual Studio 2015	: Dastur ishlab chiqish muhiti bo‘lib, C++, C# va .NET 	
texnologiyalari bilan ishlash imkoniyatlarini taqdim etadi. 	
•C++/CLI	: Windows Forms bilan ishlash imkonini beruvchi texnologiya, bu 	
fermaga maxsus dasturlarni ishlab chiqish imkonini beradi. 	
•Windows  Forms	:  Foydalanuvchi  interfeysi  yaratish  uchun  ishlatiladigan 	
.NET  Framework  tarkibiga  kiruvchi  texnologiya.  Bu  orqali  foydalanuvchilar  7 	
 	
uchun  vizual  elementlar,  masalan,  tugmalar,  jadvallar  va  sanalar  tanlash 
imkoniyatlari yaratiladi. 	
•CSV  fayllari	:  Dastur  ma’lumotlarni  saqlash  va  yuklash  uchun  CSV 	
(Comma  Separated  Values)  formatidan  foydalanadi.  Bu  format  fermadagi 
mahsulotlar va savdo ma’lumotlarini saqlash va keyinchalik tahlil qilish imkonini 
beradi. 	
1.8. Dasturni tuzishda foydalanilgan komponentlar 
Fermer  xo‘jaligi  dasturida  ishlatilgan  Windows  Forms  komponentla	ri  va 	
ularning vazifalari: 	
•Label  (Yorliq)	:  Matn  shaklida  ma’lumotlarni  foydalanuvchiga  ko‘rsatish 	
uchun ishlatiladi. Misol uchun, mahsulot nomi yoki narxini ko‘rsatish.	 	
•Button  (Tugma)	:  Foydalanuvchi bosganda  ma’lum bir  amalni  bajaruvchi 	
element. Misol uc	hun, yangi mahsulot qo‘shish yoki ma’lumotlarni saqlash.	 	
•TextBox (Matn maydoni)	: Foydalanuvchiga matn kiritish imkonini beradi. 	
Misol  uchun,  mahsulot  nomi  yoki  hayvon   	ma’lumotlarini  kiritish  uchun 	
ishlatiladi. 	
•DataGridView  (Jadval)	:  Jadval 	shaklida  ma’lumotlarni  aks  ettirish  va 	
tahrirlash  imkonini  beradi.  Masalan,  mahsulotlar  ro‘yxatini  yoki 	hayvonlar 	
ro‘yhatini ko‘rsatish uchun ishlatiladi.	 	
•PictureBox  (Rasm  oynasi)	:  Rasm  yoki  grafik  elementlarni  aks  ettirish 	
uchun ishlatiladi. Masalan, mah	sulot rasmlarini yoki logotiplarni ko‘rsatish.	 	
•DateTimePicker  (Sana  tanlash)	:  Sana  va  vaqtni  tanlash  uchun  maxsus 	
interfeys  elementi.  U  mahsulot  yetishtirish  va  sotish  jarayonlaridagi  muhim 
sanalarni kiritish uchun ishlatiladi. 	
•MessageBox (Xabar oynasi)	: 	Foydalanuvchiga xabarlar ko‘rsatish uchun 	
ishlatiladi.  Misol  uchun,  "Ma’lumot  saqlandi!"  yoki  "Xatolik yuz  berdi!"  degan 
bildirishnomalarni chiqarish. 	
1.9. Dastur interfeysi va funksionalligi 
Ishlab  chiqilgan  dastur  sodda  va  intuitiv  foydalanuvchi  interfeysiga  ega 	
bo‘lib, quyidagi asosiy funksiyalarni o‘z ichiga oladi:	 	
•Mijozlarni qo‘shish va tahrirlash	 	–	 yangi hayvon 	ma’lumotlarini	 	
qo‘shish, mavjudlarini yangilash yoki o‘chirish.	 	
•	Oziq-ovqat bilan ishlash	 	–	 oziq-	ovqat haqida ma’lumot 	, narxlarini tahlil 	
qilish. 	
•Ma’lumotlarni  saqlash	 	–	 hayvonlar    va oziq-ovqat   	ma’lumotlarini  CSV 	
formatida saqlash va yuklash. 	
•Tahlil va hisobot tayyorlash	 	–	 narxlarni hisob-kitob qilish. 	
Kelajakda  ushbu  dasturga  quyidagi  qo‘shimcha  funksiyalarni  joriy  etish 	
rejalashtirilgan:  8 	
 	
•	Analitik hisobotlarni avtomatik yaratish, 	
•	Bildirishnomalarni avtomatlashtirish, 	
•	Bulut texnologiyalari bilan integratsiya qilish. 	
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 	
    9 	
 	
2.	Fermer xo‘jaliklari uchun dasturiy ta’minotga qo‘yiladigan talablar	 	
2.1. Dastur interfeysining umumiy tavsifi 
Dastur  Windows  Forms  texnologiyasida  ishlab  chiqilgan  bo‘lib, 	
foydalanuvchiga  qulay  va  tushunarli  interfeysga  ega.  Dastur  quyidagi  asosiy 
oynalardan tashkil topgan: 	
1.Bosh  menyu  oynasi  (MyForm)	 	–	  dasturga  kirish  va 	bo‘limlarni  tanlash 	
imkonini beradi. 	
2.Chorvachilik  oynasi  (MyForm1)	 	–	  hayvon	ni  qo‘shish,  tahrirlash  va 	
o‘chirish imkonini beradi.	 	
3.Oziq-ovqati  oynasi  (MyForm2)	 	–	 	mahsulotni  qo‘shish	,  saqlanish 	
muddati va tugash sanalarini belgilash va ularni saqlash uch	un mo‘ljallangan.	 	
2.2 Har bir oynaning vazifasi va dizayni 	
1. Bosh menyu oynasi (MyForm) 	
Bu oyna quyidagi elementlardan tashkil topgan: 
•	 	Label 	–	 dastur nomi va foydalanuvchini kutib olish xabari; 	
•	 	Button 	–	 Chorvachilik va Oziq-ovqati  	oynalariga o‘tish tugmalari;	 	
•	 	PictureBox 	–	 logotip yoki boshqa grafik elementlar uchun. 	
2. Chorvachilik  oynasi (MyForm1) 	
Ushbu  oyna 	fermer  xo‘jaligi    hayvonlarini   	boshqarishga  xizmat  qiladi. 	
Undagi komponentalar: 	
•	 	Label 	–	 chorva hayvonlari 	ro‘yxatining	 sarlavhasi; 	
•	 	DataGridView 	–	 hayvon 	ma’lumotlarini jadval shaklida aks ettirish	. 	
•	 	TextBox 	–	 hayvon turi, zoti , bolalari soni kiritish. 	
•	 	Button 	–	 yangi hayvon 	qo‘shish, ma’lumotlarni saqlash funksiyalari.	 	
•	 	DataTimePicker-	tug’ilgan sana, olib kelingan sanani kiritish.	 	
3. Oziq-ovqati oynasi (MyForm2) 	
Bu oyna oziq-	ovqatni qo‘shish 	 va hisob-kitob qilish  uchun ishlatiladi: 	
• 	Label 	–	 Oziq-ovqat sarlavhasi; 	
• 	DataGridView 	–	 oziq-ovqat	ning jadval shaklida ko‘	rsatilishi; 	
• 	TextBox 	–	 oziq-ovqat 	nomi va unga tegishli ma’lumotlarni kiritish;	 	
• 	DateTimePicker 	–	 saqlanish muddati  kiritish; 	
• 	Button 	–	 oziq-ovqat 	qo‘shish va saqlash tugmalari.	 	
•	 	CheckBox- oziq-ovqatni belgilash va narxini hisoblash. 	
•	 	ProgressBar - 	sotilgan mahsulot jarayonni ko‘rsatish.	 	
2.3. Grafik dizayn va ishlatilgan komponentalar 	
 Asosiy komponentalar: 	
Komponent  Tavsif  10 	
 	
Label 	Matnli ma’lumotlarni ko‘rsatish uchun	 	
Button 	
Amal  bajarish  uchun  foydalanuvchi 
tugmasi 	
TextBox  Matn kiritish maydoni 
DataGridView 	
Jadval  shaklida  ma’lumotlarni 
ko‘rsatish va tahrirlash	 	
PictureBox  Rasm yoki logotip aks ettirish uchun 
DateTimePicker  Sana va vaqt tanlash elementi 
MessageBox 	
Foydalanuvchiga  xabar  chiqarish 
oynasi 	
CheckBox  Belgilash elementi 
ProgressBar 	Jarayonni ko‘rsatish elementi	 	
 Interfeys dizayni tamoyillari: 
Interfeysni ishlab chiqishda quyidagi tamoyillarga amal qilindi: 
•Minimalizm	 	–	 ortiqcha elementlarsiz soddalashtirilgan tuzilma; 	
•Qulay navigatsiya	 	–	 har bir 	bo‘lim o‘z tugmasi orqali ochiladi;	 	
•Vizual uyg‘unlik	 	–	 rang va joylashuv jihatdan tushunarli dizayn. 	
2.4. Oynalar o‘rtasida ma’lumot almashinuvi	 	
Dastur oynalari orasida ma’lumotlar quyidagicha uzatiladi:	 	
1.Bosh  menyu  oynasidan  foydalanuvchi  chorvachilik    yoki  oziq-ovqati 	
oynasiga yo‘naltiriladi;	 	
2.Chorvachilik 	oynasida kiritilgan ma’lumotlar CSV faylga saqlanadi;	 	
3.Oziq-ovqati oynasi esa ushbu 	hayvonlardan olingan  iste’mol mahsulotlar 	
ro‘yhati mavjud.	 	
2.5. Interfeys rasmlari 
Dastur interfeysining har bir oynasi uchun 	screenshotlar	 joylashtiriladi: 	
•	 	
Bosh menyu	 (MyForm)   11 	
 	
 	
CustomerForm	 (Chorvachilik) 	
 	
ProductForm	 (Oziq-ovqati)  12 	
 	
 	
"Fermer xoʻjaliklarida mahsulot yetishtirish va savdoni boshqarish dasturi" 	
C++/CLI  dasturlash  tili,  Visual  Studio  2015  muhiti  va  Windows  Forms 
texnologiyasi asosida ishlab chiqildi. Dastur foydalanuvchilarga qulay interfeys, 
oddiy  va  tushunarli tuzilma  hamda  fermer  xo‘jaliklaridagi  mahsulot  yetishtirish 
jarayonini va savdo hisobotlarini samarali boshqarish imkonini beradi. Kelajakda 
dasturni analitik hisobotlar,  mahsulot holati bo‘yicha  avtomatik  ogohlantirishlar 
va bulutli tizimlar bilan integratsiya qilish rejalashtirilgan. 	
 	
    13 	
 	
3. Ilovaning funksional imkoniyatlarini shakllantirish 
3.1. Dastur kodiga umumiy sharh 
Ushbu dastur 	C++/CLI 	va 	Windows Forms	 texnologiyalari asosida ishlab 	
chiqilgan  bo‘lib,  fermer  xoʻjaliklarida  mahsulot  yetishtirish  va  savdo 
jarayonlarini  boshqarishni  soddalashtirishga  qaratilgan.  Dastur  funksional 
jihatdan qu	yidagi asosiy bo‘limlarga bo‘lingan:	 	
•	 	Ma’lumotlarni kiritish	 	–	 Foydalanuvchi yangi hayvon turi yoki mahsuloti 	
haqidagi ma’lumotlarni tizimga qo‘shishi mumkin.	 	
•	 	Ma’lumotlarni  saqlash	 	–	 	Kiritilgan  barcha  ma’lumotlar  CSV  fayllar 	
orqali saqlanadi, bu esa ularni keyinchalik qayta ishlash va eksport qilish imkonini 
beradi. 	
•	 	Ma’lumotlarni  tahrirlash  va  o‘chirish	 	–	  Mavjud  yozuvlar  ustida 	
o‘zgartirishlar kiritish yoki kerak bo‘lsa o‘chirish imkoniyati mavjud.	 	
•	 	Interfeys  orqali  natijalarni  ko‘rish	 	–	 	Barcha  ma’lumotlar  jadval 	
ko‘rinishida foydalanuvchiga qulay tarzda taqdim etiladi.	 	
MyForm.h 	–	 	Asosiy menyu oynasi	 	
MyForm.h  dastur  interfeysining  boshlang‘ich  oynasi  bo‘lib, 	
foydalanuvchiga  Chorvachilik  oynasi  (MyForm1)  va  Oziq-ovqati  oynasi 
(MyForm2)  ga  o	‘tish  imkonini  beradi.  Ushbu  forma  quyidagi  asosiy 	
komponentalardan tashkil topgan: 	
•	 Label	 	–	 	Dastur nomi (“Fermer xoʻjaligi mahsulotlari”) va foydalanuvchini 	
kutib olish matni aks ettiriladi. 	
•	  Button	  (Chorvachilik) 	–	  Foydalanuvchini  MyForm1  oynasiga 	
yo‘n	altiruvchi tugma. 	
•	 Button	 (Oziq-ovqati) 	–	 	Foydalanuvchini MyForm2 oynasiga o‘tkazuvchi 	
tugma. 	
•	  PictureBox	 	–	 	Dastur  interfeysiga  estetik  ko‘rinish  berish  maqsadida 	
fermerlikka oid rasm yoki logotip joylashtiriladi. 	
Formalararo o‘tish va ma’lumot uzatish	 	
MyForm.h	  dan 	MyForm1	  va	  MyForm2	 	ga  o‘tish  uchun  tugmalar 	
ishlatiladi.  Foydalanuvchi  tegishli  tugmani  bosganida,  u  boshqa  formaga  o‘tadi 
va  zaruratga  ko‘ra,  oldin  tanlangan  mahsulot  nomi,  miqdor, 	oziq-ovqati  yoki 	
boshqa parametrlar keyingi forma orqali uzatilishi mumkin. 	
Foydalanuvchi interfeysi haqida 
Dastur  interfeysi  qulay  va  foydalanuvchiga  tushunarli  tarzda  yaratilgan. 	
Barcha  tugmalar  va  boshqaruv  elementlari  mantiqan  to‘g‘ri  va  tizimli 
joylashtirilgan.  Bu  esa  foydalanuvchi  tajribasini  oshirib,  dasturning  amaliy 
samaradorligini ta’minlaydi.	  	
MyForm.h 	dan 	MyForm1 	va 	MyForm2	 	ga o‘tish kodi:	  14 	
 	
private	:  System::	Void	  button1_Click(System::	Object	^   	sender	, 	
System::	EventArgs	^  	e	) { 	
MyForm1	^ form1 = 	gcnew	 	MyForm1	(); 	
form1->Show();  	
   	this	->Hide();   	
  } 
private	:  System::	Void	  button2_Click(System::	Object	^   	sender	, 	
System::	EventArgs	^  	e	) { 	
 	MyForm2	^ form2 = 	gcnew	 	MyForm2	(); 	
  form2->Show(); 
 	this	->Hide(); 	
} 
button1_Click->	Chorvachilik (MyForm1)	 ni ochadi. 	
button2_Click->	 Oziq-ovqati (MyForm2)	 ni ochadi. 	
3.2. Yangi hayvonni  qo‘shish funksiyasi	 	
Chorvachilik oynasida foydalanuvchi yangi hayvonlarni qo‘shishi mumkin. 	
Quyidagi kod	 button1_Click	 	hodisasiga bog‘langan va yangi 	hayvonni  	qo‘shish 	
jarayonini amalga oshiradi: 	
private	:  System::	Void	  button1_Click(System::	Object	^   	sender	, 	
System::	EventArgs	^  	e	) { 	
    dataGridView1->ColumnCount = 5; 
    dataGridView1->Columns[0]->Name = 	"Hayvon turi"	; 	
    dataGridView1->Columns[1]->Name = 	"Hayvon zoti"	; 	
    dataGridView1->Columns[2]->Name = 	"Tug'ilgan sana"	; 	
    dataGridView1->Columns[3]->Name = 	"Olib kelingan sana"	; 	
    dataGridView1->Columns[4]->Name = 	"Bolalari soni"	; 	
     dataGridView1->Rows->Add(textBox1->Text,  textBox2->Text, 	
dateTimePicker1->Value.ToShortDateString(),  dateTimePicker2-
>Value.ToShortDateString(), textBox3->Text); 	
    textBox1->Clear(); 
    textBox2->Clear(); 
    textBox3->Clear(); 
  } 
Bu kod yangi hayvon 	ma’lumotlarini 	DataGridView	 	jadvaliga qo‘shadi va 	
matn maydonlarini tozalaydi. 	
3.3 	Ma’lumotlarni CSV faylga saqlash	 	
Ma’lumotlar CSV formatida 	saqlanishi kerak. Quyidagi kod 	button2_Click	 	
hodisasi bo‘yicha hayvonlar ro‘yhati	ni CSV faylga yozadi:  15 	
 	
private	:  System::	Void	  button2_Click(System::	Object	^   	sender	, 	
System::	EventArgs	^  	e	) { 	
 	String	^ filePath = 	"Chorvachilik.csv"	; 	
  System::IO::	StreamWriter	^  fayl  = 	gcnew	 	
System::IO::	StreamWriter	(filePath); 	
  fayl->WriteLine(	"Hayvon turi;Hayvon zoti;Tug'ilgan sanasi;Olib kelingan 	
sana;Bolalari soni"	); 	
 	for	 (	int	 i = 0; i < dataGridView1->Rows->Count - 1; i++) { 	
    fayl->WriteLine( 
      dataGridView1->Rows[i]->Cells[0]->Value 	+	 	";"	 	+	 	
      dataGridView1->Rows[i]->Cells[1]->Value 	+	 	";"	 	+	 	
      dataGridView1->Rows[i]->Cells[2]->Value 	+	 	";"	 	+	 	
      dataGridView1->Rows[i]->Cells[3]->Value 	+	 	";"	 	+	 	
      dataGridView1->Rows[i]->Cells[4]->Value 
     ); 
  } 
  fayl->Close(); 
 	MessageBox	::Show(	"CSV fayl nuqta-vergul bilan saqlandi!"	, 	"Tayyor"	); 	
 	this	->Hide(); 	
} 
}; 
} 
Bu  kod 	chorva  hayvonlar 	ro‘yxatini  CSV  faylga	  saqlaydi  va 	
foydalanuvchiga xabar beradi. 	
3.4 Oziq-	ovqat qo‘shish funksiyasi	 	
Oziq-ovqat    oynasida  foydalanuvchi  yangi  mahsulot   	ma’lumotlarini 	
qo‘shishi mumkin. 	Quyidagi kod 	button1_Click 	hodisasiga bog‘langan va yangi 	
mahsulotni 	qo‘shish jarayonini amalga oshiradi:	 	
private	:  System::	Void	  button1_Click(System::	Object	^   	sender	, 	
System::	EventArgs	^  	e	) { 	
  dataGridView1->ColumnCount = 5; 
  dataGridView1->Columns[0]->Name = 	"Mahsulot turi"	; 	
  dataGridView1->Columns[1]->Name = 	"Narxi"	; 	
  dataGridView1->Columns[2]->Name = 	"Saqlanish muddati"	; 	
  dataGridView1->Columns[3]->Name = 	"Miqdori"	; 	
  dataGridView1->Columns[4]->Name = 	"Chegirma"	; 	
  dataGridView1->Rows->Add(textBox1->Text,  textBox2->Text, 	
dateTimePicker1->Value.ToShortDateString(),  textBox3->Text,  textBox4-
>Text);  16 	
 	
  textBox1->Clear(); 
  textBox2->Clear(); 
  textBox3->Clear(); 
  textBox4->Clear(); 
} 
Bu  kod  foydalanuvchidan  oziq-ovqat  turi,  miqdori  ,narxi  va  boshqa 	
narsalarni  qabul qilib, 	DataGridView	 	jadvaliga qo‘shadi. 	Matn maydoni tozalab 	
qo‘yiladi.	 	
3.5 Oziq-ovqat 	ma’lumotlarini CSV faylga saqlash	 	
Foydalanuvchi  qo‘shgan  oziq	-ovqat  CSV  faylga  yozilishi  kerak.  Quyidagi 	
kod 	button2_Click 	hodisasi bo‘yicha 	oziq-ovqat 	ro‘yxatini CSV faylga saqlaydi:	 	
private	:  System::	Void	  button2_Click(System::	Object	^   	sender	, 	
System::	EventArgs	^  	e	) { 	
 	String	^ filePath = 	"Oziq-ovqati.csv"	; 	
  System::IO::	StreamWriter	^  fayl  = 	gcnew	 	
System::IO::	StreamWriter	(filePath); 	
  fayl->WriteLine(	"Mahsulot  turi;Narxi;Saqlanish 	
muddati;Miqdori;Chegirma"	); 	
 	for	 (	int	 i = 0; i < dataGridView1->Rows->Count - 1; i++) { 	
    fayl->WriteLine( 
      dataGridView1->Rows[i]->Cells[0]->Value 	+	 	";"	 	+	 	
      dataGridView1->Rows[i]->Cells[1]->Value 	+	 	";"	 	+	 	
      dataGridView1->Rows[i]->Cells[2]->Value 	+	 	";"	 	+	 	
      dataGridView1->Rows[i]->Cells[3]->Value 	+	 	";"	 	+	 	
      dataGridView1->Rows[i]->Cells[4]->Value  
    ); 
  } 
  fayl->Close(); 
 	MessageBox	::Show(	"CSV fayl nuqta-vergul bilan saqlandi!"	, 	"Tayyor"	); 	
 	this	->Hide(); 	
} 
Bu  kod   	oziq-ovqat 	ro‘yxatini  CSV  faylga	  saqlaydi  va  foydalanuvchiga 	
xabar beradi. 	
3.6 Sotilgan mahsulotlarni foizini hisoblash funksiyasi 	 	
Kunlik daromadni bilish uchun sotilgan mahsulotning foizini bilishimiz 	
kerak. 	
Quyidagi kod 	button3_Click	 	hodisasi bo‘yicha 	 sotilgan mahsulotlar foizini  	
hisoblashga yordam beradi :  17 	
 	
private	:  System::	Void	  button3_Click(System::	Object	^   	sender	, 	
System::	EventArgs	^  	e	) { 	
   	int	 a, b,d; 	
   a = 	Convert	::ToInt32(textBox5->Text);   	
   b= 	Convert	::ToInt32(textBox6->Text);  	
      d = b * 100 /a; 
   	if	 (d < 100) { 	
    label10->Text = 	"Sotilgan mahsulot - "	 	+	 d.ToString() 	+	 	"%"	; 	
    progressBar1->Value = d; 
    } 
} 
3.7 Chegirmadagi mahsulotlarni narxini hisoblash funksiyasi	 	
Chegirmadagi  mahsulotlar  narxini    mijoz  xoxishiga  ko‘ra  tezroq 	
hisoblash kerak. 	
Quyidagi kod 	button4_Click	 	hodisasi bo‘yicha 	chegirmadagi mahsulotlarni  	
narxini tezroq hisoblashga yordam beradi : 	
private	:  System::	Void	  button4_Click(System::	Object	^   	sender	, 	
System::	EventArgs	^  	e	) { 	
 	double	 a,b,c,d,m,n,k,l,S= 0; 	
   m = 1200; 
   n = 7000; 
   k = 8000; 
   l = 20000; 
 
 	if	 (checkBox1->Checked) 	
  { 
     a = 	Convert	::ToInt32(textBox7->Text); 	
    S += m * a; 
  } 
 	if	 (checkBox2->Checked) 	
  { 
     b = 	Convert	::ToInt32(textBox8->Text); 	
    S += n * b; 
  } 
 	if	 (checkBox3->Checked) 	
  { 
     c = 	Convert	::ToInt32(textBox9->Text); 	
    S += k * c; 
  }  18 	
 	
 	if	 (checkBox4->Checked) 	
  { 
    d = 	Convert	::ToInt32(textBox10->Text); 	
    S += l * d; 
  } 
 
  label17->Text = 	"To'lanadigan narx - "	 	+	 S 	+	 	" so'm"	; 	
} 
  }; 
} 
 
 
4. Ilovaga ma’lumotlarni kiritish, natijalar olish va testlash	 	
4.1. Dasturni ishga tushirish	 	
Foydalanuvchi dasturni ochganda, asosiy menyu oynasi ko‘rinadi.	 	
Chorvachilik  	tugmasi bosilganda 	MyForm1.h	 ochiladi. 	
 Oziq-ovqati	 tugmasi bosilganda 	MyForm2.h	 ochiladi. 	
 	
4.2. Testlash jarayoni	 	
Ilova testlash jarayoni quyidagi bosqichlardan iborat: 
1.	 	Chorva  hayvonlarini  	
qo‘shish testi	 	
1.	 	Hayvon turi, zoti va 	boshqa ma’lumotlari 	kiritiladi.  19 	
 	
1.	 	"Yangi hayvonni q	o‘shish" tugmasi bosiladi.	 	
Ma’lumot	 	DataGridView	 da 	ko‘rinadi.	 	
 	
Chorva  hayvonlarni saqlash testi	 	
1.	 	"Saqlash" tugmasi bosiladi. 	
1.	 	CSV 	faylga ma’lumotlar yozilganligi	 tekshiriladi. 	
 	
Oziq-ovqatni  	qo‘shish testi	 	
Mahsulot  nomi, narxi va boshqalari kiritiladi. 
" Mahsulot q	o‘shish" tugmasi bosiladi.	 	
Ma’lumot 	DataGridView	 	da ko‘rinadi.	  20 	
 	
 	
Oziq-ovqatni  saqlash testi	 	
"Saqlash" tugmasi bosiladi. 
CSV faylga yozilganligi tekshiriladi. 
1.	 	 	
Sotilgan mahsulotlarni foizini hisoblash testi 	 	
" Nechchi foiz mahsulot sotildi? " tugmasi bosiladi. 
Sotilgan mahsulot foizi ekranga chiqadi   21 	
 	
 	
Chegirmadagi mahsulotlarni narxini hisoblash  testi	 	
"Jami narxi" tugmasi bosiladi. 
Tanlangan  mahsulotning    olingan  miqdoriga  chegirmadagi  narxi  ekranga 	
chiqadi. 
Formalar o‘rtasida o‘tish testi	 	
MyForm	 orqali 	MyForm1	 va 	MyForm2	 	ga o‘tish tekshirildi.	 	
Oynalar to‘g‘ri ochilishi va ishlashi sinovdan o‘tkazildi.	  22 	
 	
                                              
 	
Xulosa 	
Ushbu  kurs  ishida  “	Fermer  xo‘jaliklarida 	mahsulot  yetishtirish  va 	
savdoni boshqarish dastur ilovasi	” ishlab chiqildi. 	Dastur 	C++/CLI	 dasturlash 	
tili  va 	Windows  Forms	  texnologiyasi  asosida 	Visual  Studio  2015	  muhitida 	
yaratildi.  Ilova  fermer  xo‘jaliklarining 	chorvadorlik  bilan 	shug’ullanish	,  ular 	
haqida  ma’lumot,  chorvadorlikdan  olingan  mahsulotlarni	 	sotish  bilan  bog‘liq 	
jarayonlarini elektron tarzda yuritishga yordam beradi. 	
Dastur quyidagi asosiy funksional oynalardan tashkil topgan. 
Bosh  menyu  (MainForm)	 	–	  ilovaning  barcha  as	osiy  bo‘limlariga  o‘tish 	
imkonini beradi. 	
Chorvachilik oynasi (ProductForm)	 	–	 Fermaga olib kelingan hayvonlarni  	
kiritish, tahrirlash va o‘chirish imkonini beradi;	 	
Oziq-ovqati (SalesForm)	 	–	 Chorvadorlkdan olingan mahsulotlarni  sotilishi 	
va narxlar bo‘yich	a hisob-kitoblarni yuritadi; 	
Dasturda quyidagi komponentalardan foydalanildi: 
DataGridView	 	–	 	mahsulotlar  va  savdo  ma’lumotlarini  jadval  ko‘rinishida 	
aks ettirish uchun; 	
TextBox	, 	CheckBox,	 	DateTimePicker	, 	Button	 	–	  foydalanuvchi 	
kiritmalarini qabul qilish va ishlash uchun; 	
CSV fayllar	 	–	 	ma’lumotlarni saqlash va yuklashda soddalik yaratadi.	 	
Dastur sinovdan o‘tkazildi va asosiy funksiyalar to‘g‘ri ishlashi ta’minlandi. 	
Ilova  oddiy  interfeysga  ega  bo‘lib,  fermer  xo‘jaliklarida  raqamli  boshqaruvni 
amalga oshirishda qulaylik yaratadi. 	
Kelajakda  dasturni 	ma’lumotlar  bazasi  bilan  integratsiya  qilish	, 	mobil 	
versiyasini  yaratish	  va 	onlayn  savdo  imkoniyatlarini  qo‘shish	  orqali  yanada 	
rivojlantirish rejalashtirilmoqda. 	
 
 
 
                 	
    23 	
 	
Foydalanilgan adabiyotlar: 
1. ERALI ESHONQULOV VISUAL STUDIO 2013: WINDOWS FORMS 	
ILOVALARI.