Dasturiy ta'minot evolutsiyasi

thumb|TestingCup Polish Championship in Software Testing, Katowice, May 2016

Dasturiy taʼminot dasturiy ta'minot taxminlarni qondiradimi yoki yo'qligini tekshirish harakati.

Dastur sinov ob'ektiv mumkin, haqida mustaqil ma'lumot sifat dasturiy ta'minot va xavf bir o'z qobiliyatsiz foydalanuvchi yoki homiysi
Rus tili lug'ati — "obespechenie" so'zini tekshirish Gramota.ru (obespechenie deb ham talaffuz qilish mumkin)Reznikenko I. L. Rus tilining orfoepik lug'ati: Talaffuz. Urg'u: Taxminan 25 000 birlik / Reznikenko I.L. Moskva: «Astrel» nashriyoti, «AST» nashriyoti, 2003. — 284 sah.Ojeqovning 2007 yilgi orfografik lug'ati yagona variant sifatida obespechenieni keltiradi. // Rus tili orfografik lug'ati / S. I. Ojeqov tahriri ostida. Lokid-Press, 2007. 912 sah. ISBN 5-320-00396-X.Rozentalning 2006 va 2007 yilgi lug'ati ham yagona variant sifatida obespechenieni keltiradi. // D. E. Rozental. Rus tili. Qo'llanma. Oniks, Mir va ta'lim, 2007. ISBN 5-488-00712-1, 5-94666-332-1, 978-5-488-01360-5.) (DT) — dastur yoki kompyuterni boshqarishda foydalaniladigan dasturlar toʻplami (ISO/IEC 26514:2008)ISO/IEC 26514:2008 Tizimlar va dasturiy injiniring — Foydalanuvchi hujjatlarini yaratish talablari.

Shuningdek, xalqaro va Rossiya standartlarida boshqa taʼriflar ham mavjud:
 axborotni qayta ishlash tizimining das va dastur hujjatlari toʻplamiГОСТ 19.101-77 bo'yicha: Dasturiy taʼminot hujjatlari tarkibiga dasturlarni ishlab chiqish, tayyorlash, kuzatib borish va foydalanish uchun zarur boʻlgan maʼlumotlar kiradi. (ГОСТ 19781-90ГОСТ 19781-90 . Axborot tizimlarini dasturiy taʼminot bilan taʼminlash. Terminlar va taʼriflar);
 tizimning barcha yoki qisman das, protseduralari, qoidalari va tegishli hujjatlari (ISO/IEC 2382-1:1993)Axborotni qayta ishlash tizimi — bu bir yoki bir nechta kompyuter tizimlari va qurilmalaridan iborat boʻlib, ular orasida ofis va aloqa uskunalari, axborotni qayta ishlashni amalga oshiradi //ISO/IEC 2382-1 standarti ;
 kompyuter tizimi ishini taʼminlash uchun zarur boʻlgan dasturlar, protseduralar va tegishli hujjatlar hamda maʼlumotlar (IEEE Std 829—2008)IEEE Std 829—2008 IEEE Standarti: Dasturiy taʼminotni sinov hujjatlarini ishlab chiqish.

Dasturiy ta'minot — avtomatlashtirilgan tizimni taʼminlashning bir turi bo'lib, texnik (aparatura), matematik, axborot, lingvistik, tashkiliy, uslubiy va huquqiy taʼminot bilan bir qatorda keladiГОСТ 34.003-90 Axborot texnologiyasi. Avtomatlashtirilgan tizimlar. Terminlar va ta'riflar.

Dasturiy ta'minotni oʻrganish bilan shugʻullanadigan akademik yoʻnalishlar — bu informatika va dasturiy injiniring.

Kompyuter tilida "soft" atamasi ko‘pincha ishlatiladi, bu so‘z ingliz tilidagi "software" so‘zidan olingan. Bu atama Princeton Universiteti matematigi Jon Tukey tomonidan 1958 yilda American Mathematical Monthly jurnalidagi maqolasida birinchi marta qo‘llangan.

 = Iqtisodiyot =

A o'rganish tomonidan o'tkazilgan NIST ichida 2002 dasturiy xato U. s mol, deb xabar.iqtisodiyot $59.5 milliard har yili. Agar dasturiy ta'minotni yaxshiroq sinovdan o'tkazilsa, ushbu xarajatlarning uchdan biridan ko'prog'ini oldini olish mumkin edi.
Outsourcing xarajatlar tufayli dasturiy ta'minotni sinovdan o'tkazish juda keng tarqalgan, Xitoy, Filippin va Hindiston afzal yo'nalishlar.

 Tarix 

 Dastlabki davr. Dasturlashning paydo bo‘lishi 
Birinchi dasturni Ada Lavleys Charls Bebbijdaning farqlash mashinasi uchun yozgan edi, biroq bu mashina qurib bitkazilmaganligi sababli Lavleys xonimning ishlari nazariy qoldi.

Dasturiy ta'minot bo‘yicha ilk nazariyani ingliz matematigi Alan Tyuring 1936 yilda „On computable numbers with an application to the Entscheidungsproblem“ („Hisoblash mumkin bo‘lgan sonlar va hal qilish muammosi“ deb atalgan) maqolasida ilgari surdi . U Tyuring mashinasi deb nomlangan matematik modelni yaratdi, bu mashina ketma-ket bajariladigan birlamchi amallar orqali belgilangan holatdan boshqa holatga o‘tishni amalga oshira oladi. Asosiy g‘oya shundan iboratki, har qanday oldindan belgilangan holatni qat'iy ko‘rsatmalar (dastur) yordamida erishish mumkin.

1940-1950-yillarning dastlabki elektron hisoblash mashinalari tuman va kabellarni qayta ulash orqali dasturlangan va bu mashinalarning ichki tuzilishini chuqur bilishni talab qilgan. Bunday mashinalarga, xususan, ENIAC kiradi (keyinchalik bu mashina qisman perfokarta orqali dasturlanishi uchun modifikatsiya qilingan).

Zamonaviy kompyuterlarga yaqinlashishda muhim qadam Jon fon Neyman arxitekturasi tomon o‘tish bo‘lib, u ilk bor Buyuk Britaniyada, Mark I kompyuterida John R. Womersley rahbarligida va Alan Tyuring ishtirokida amalga oshirilgan. Kompyuter xotirasida saqlangan ilk dastur 1941 yil 21 iyunida ishga tushirilgan. Tyuring bu mashinani dasturlashni osonlashtirish uchun qisqartirilgan kodlash tizimini yaratdi, unda mashina kodini ifodalash uchun telettayp kodlari ketma-ketligidan foydalangan.

Tyuringning hamkasbi Jon Mouchli, keyinchalik Jon Presper Ekkert bilan birga Eckert–Mauchly Computer Corporation kompaniyasining asoschisi va rahbari sifatida BINAC va UNIVAC kabi EHMlarni yaratgan, o‘z xodimlariga algebraik formulalarni tarjima qiluvchi dastur yaratishni topshirdi. Garchi bu katta maqsad 1940-yillarda amalga oshirilmagan bo‘lsa-da, Mouchli rahbarligida «Qisqa kod» deb nomlanuvchi kod yaratildi, unda amallar va o‘zgaruvchilar ikki belgili kombinatsiyalar yordamida kodlangan. Qisqa kod interpretor yordamida amalga oshirildi. Greys Xopper, 1950-yillarning boshida UNIVAC I uchun matematik dasturlar to‘plamini ishlab chiqarishda, «» nomli komponovka dasturini yaratdi. Ushbu dastur berilgan identifikator yordamida kerakli subdasturni magnit lentada saqlanadigan kutubxonadan olib, uni operativ xotirada ajratilgan joyga yozib qo‘yishga imkon berdi.

1950-yillarda birinchi yuqori darajali dasturlash tillari paydo bo‘ldi: Jon Bekus FORTRAN tilini, Greys Xopper esa COBOL tilini ishlab chiqdi. Bu kabi yutuqlar dasturiy ta'minotni yozishni ancha osonlashtirdi va bu davrda hisoblash mashinasini sotib olgan har bir kompaniya o‘z dasturiy ta'minotini o‘zi yaratgan.

1950-yillarning boshida dasturiy ta'minot tushunchasi hali mavjud emas edi. Masalan, 1952 yil yanvar oyida Fortune jurnalida chop etilgan "Office Robots" maqolasida UNIVAC kompyuterlari tasvirlangan edi, biroq maqolada kompyuter universal qurilma sifatida taqdim etilgan bo‘lsa-da, dasturlash jarayoni «tugmalarni qayta yoqish» tarzida tavsiflangan edi. Biroq 1950-yillarning o‘rtalariga kelib buyurtma asosidagi dasturiy ta'minot ishlab chiqarish shakllandi, garchi o‘sha paytda «dasturiy ta'minot» termini ishlatilmagan, balki «buyurtma asosidagi dasturlash» yoki «dasturlash xizmatlari» deb atalgan edi. Birinchi dasturiy kompaniya 1956 yilda AQSh hukumatiga qarashli RAND Corporation kompaniyasi asosida tashkil etilgan System Development Corporation boʻldi. Ushbu bosqichda dasturiy ta'minot buyurtmachilari (noyob va ko‘paytirilmaydigan dasturiy mahsulotlar uchun) yirik korporatsiyalar va davlat idoralari edi, va bir million dollar qiymatdagi dasturlar odatiy hol edi.

Birinchi xodimlaridan biri, Jon Moxli, keyinchalik (birga Jon Preper Ekert bilan) Eckert–Mauchly Computer Corporation kompaniyasining rahbari va asoschisi bo‘lib, BINAC va UNIVAC kabi EHМlarni ishlab chiqargan, o‘z xodimlariga algebraik formulalar uchun tarjimon yaratishni topshirdi. Garchi bu ambitsiyali maqsad 1940-yillarda amalga oshirilmagan bo‘lsa ham, Moxli rahbarligida «Qisqa kod» deb nomlangan tizim ishlab chiqildi, unda amallar va o‘zgaruvchilar ikki belgili kombinatsiyalar bilan kodlangan. Qisqa kod interpretator yordamida amalga oshirilgan. Greys Xopper, 1950-yillarning boshlarida UNIVAC I uchun matematik subdasturlar to‘plami ustida ishlashda, «» nomli kompilyator dasturini ixtiro qildi, bu dastur berilgan identifikatorga asosan kerakli subdasturni kutubxonadan, magnit lentaga saqlangan holda tanlab olib, uni operativ xotiraga yozib qo‘yardi.

1950-yillarda birinchi yuqori darajadagi dasturlash tillari paydo bo‘ldi: Jon Bekus FORTRAN dasturlash tilini yaratdi, Greys Xopper esa COBOL dasturini ishlab chiqdi. Bunday ishlab chiqishlar dasturiy ta'minot yaratishni ancha soddalashtirdi, chunki o‘sha davrda har bir kompyuter sotib olgan firma o‘z dasturiy ta'minotini yozardi.

1950-yillarning boshlarida dasturiy ta'minot tushunchasi hali shakllanmagan edi. Masalan, 1952-yil yanvarida Fortune jurnalida chop etilgan «Office Robots» maqolasida UNIVAC kompyuterlari tasvirlangan. Garchi maqolada kompyuterlar umumiy maqsadga mo‘ljallangan qurilmalar sifatida ko‘rsatilgan bo‘lsa ham, dasturlash jarayoni anaxronik tarzda «tumblerlarni almashtirish» deb ta'riflangan. Ammo 1950-yillarning o‘rtalariga kelib, dasturiy ta'minot ishlab chiqish (maxsus buyurtmalar uchun) ancha rivojlangan edi, ammo «dasturiy ta'minot» atamasi hali ishlatilmagan, shuning uchun «buyurtma asosida dasturlash» yoki «dasturchilarni xizmatga chaqirish» kabi iboralar ishlatilgan. Birinchi dasturiy ta'minot kompaniyasi 1956-yilda RAND Corporation asosida tashkil etilgan System Development Corporation kompaniyasi bo‘ldi. Bu bosqichda dasturiy ta'minot (noyob va ko‘paytirilmaydigan) sotib oluvchi mijozlar katta korporatsiyalar va davlat tuzilmalari bo‘lib, dastur uchun bir million dollar to‘lash odatiy hol bo‘lgan.

 Shaxsiy kompyuterlar va ommaviy iste'molchilar uchun dasturiy ta'minot 
1970-yillarda birinchi shaxsiy kompyuterlar (masalan, Altair 8800) paydo bo‘lishi, dasturiy ta'minotning ommaviy bozorini shakllantirish uchun sharoit yaratdi. Dastlab, shaxsiy kompyuterlar uchun dasturlar «quti» shaklida, savdo markazlari orqali yoki pochta orqali tarqatilib, 100-500 AQSh dollariga sotilgan.

Ommaviy dasturiy ta'minot bozorining boshlanishiga ijobiy ta'sir ko‘rsatgan mahsulotlar qatoriga elektron jadval VisiCalc, uning g‘oyasi Daniyel Briklinga tegishli, chunki u MIT bitiruvchisi bo‘lib, Digital Equipment Corporation kompaniyasida dasturchi-ingenyer sifatida ishlashda, Garvard biznes maktabida o‘qiyotganida o‘zining mashaqqatli moliyaviy hisob-kitoblarini osonlashtirishni xohlagan, va matnni ishlov berish dasturi , uning ishlab chiqilishi Seymour Rubinshteyn tomonidan amalga oshirilgan bo‘lib, bozor ehtiyojlarini chuqur o‘rganish natijasida yaratilgan. VisiCalc dasturi birinchi marta killer application sifatida ta'riflangan, ya'ni bu dastur o‘zining mavjudligi bilan platformaning foydaliligini (ko‘pincha esa uni sotib olish zarurligini) isbotlaydigan kompyuter ilovasi sifatida ko‘rsatilgan. VisiCalc va WordStar uchun bunday platforma shaxsiy kompyuterlar bo‘lib, ularning yordamida kompyuterlar giklar uchun qimmatbaho o‘yinchakka aylanishdan ish quroliga aylandi. Shundan keyin mikrokompyuterlar inqilobi boshlangan bo‘lib, bu dasturlarga raqobatchilar paydo bo‘ldi: elektron jadval SuperCalc, Lotus 1-2-3, ma'lumotlar bazasini boshqarish tizimi dBase II, matnni ishlov berish dasturi WordPerfect va boshqalar. Matnni ishlov berish das, elektron jadval das, ma'lumotlar bazasini boshqarish tizimlari va grafik tahrirlash das tez orada shaxsiy kompyuterlar uchun dasturiy ta'minot bozorining asosiy mahsulotlariga aylandi.

Ommaviy ishlab chiqarish 1990-yillarning o‘rtalariga kelib, shaxsiy kompyuterlar uchun dasturiy ta'minotning narxini 100-500 dollarga tushirishga imkon berdi, va dasturiy ta'minot ishlab chiqaruvchilari biznesi konditserlik kompaniyalari biznesiga o‘xshash tus oldi.

 Dasturiy ta'minotni tasniflash 
Dasturiy ta'minotni tasniflash yondashuvlari xalqaro standart ISO/IEC 12182da aniq tasniflangan. Xususan, standartning birinchi versiyasi dasturiy vositalarni tasniflash uchun 16 ta mezonni o‘z ichiga olgan:
 ish rejimi bo‘yicha;
 o‘lchami bo‘yicha;
 barqarorlik bo‘yicha;
 funktsiyasi bo‘yicha;
 xavfsizlik talablari bo‘yicha;
 ishonchlilik talablari bo‘yicha;
 ishga oid talablar bo‘yicha;
 dasturlash tili bo‘yicha;
 qo‘llaniladigan soha bo‘yicha;
 hisoblash tizimi va muhiti bo‘yicha;
 foydalanuvchi sinfi bo‘yicha;
 hisoblash resurslariga bo‘lgan talablar bo‘yicha;
 muhimlik bo‘yicha;
 tayyorlik bo‘yicha;
 ma'lumotlar taqdimoti bo‘yicha;
 dasturiy ma'lumotlarni ishlatish bo‘yicha.

Shaxsiy kompyuter dasturiy ta'minotining funksiyasiga qarab quyidagi sinflar misollarini keltirish mumkin:
 ishbilarmonlik xabarlarini qayta ishlash;
 kompyuterlash;
 ilmiy hisob-kitoblar;
 matnni qayta ishlash;
 tibbiy tizimlar;
 boshqaruv tizimlari.

Qo‘llaniladigan sohaning sinflari quyidagilardir:
 fan;
 maishiy qurilmalar;
 uskunalar;
 jarayonlarni boshqarish apparatlari;
 tadbirkorlik;
 tarmoqni tashkil etish tizimi.

Dasturiy ta'minotning o‘lchamiga qarab sinflari quyidagicha:
 kichik;
 o‘rta;
 katta.

Kritiklik darajasiga qarab dasturiy ta'minotning sinflari quyidagicha bo‘ladi:
 milliy xavfsizlik;
 inson hayoti;
 ijtimoiy tartibsizlik yoki vahima;
 tashkilot xavfsizligi;
 xususiy mulk;
 maxfiylik.

Foydalanuvchi darajasi bo‘yicha dasturiy ta'minot sinflari quyidagicha bo‘ladi:
 yangi boshlovchi;
 o‘rta;
 mutaxassis (ekspert);
 oddiy;
 tasodifiy;
 boshqa dasturiy ta'minot tizimi;
 texnik vositalar.

Barqarorlik darajasi bo‘yicha dasturlar quyidagi sinflarga ajratiladi:
 doimiy o‘zgarishlar kiritilishi;
 diskret o‘zgarishlar kiritilishi;
 kam o‘zgarishlar kiritilishi.

Portativlik darajasiga qarab dasturlar quyidagicha bo‘ladi:
 platformaga bog‘liq;
 kross-platforma.

Tarqatish va foydalanish usuliga qarab dasturlar quyidagicha bo‘ladi:
 maxsus;
 ochiq;
 erkin.

Maqsadiga qarab dasturlar quyidagicha tasniflanadi:
 tizimli;
 ilovalar.

 bo‘yicha dasturlar quyidagicha tasniflanadiGOST 19.101-77:
 komponent — dastur, yakuniy funksiya bajaradigan va mustaqil yoki kompleksning bir qismi sifatida ishlatiladigan yagona tuzilma;
 kompleks — ikkita yoki undan ortiq komponentlardan va (yoki) komplekslardan iborat dastur, bir-biri bilan bog‘langan funksiyalarni bajaradi va mustaqil yoki boshqa kompleks tarkibida ishlatiladi.

 Dasturiy ta'minotni sanoat sektori bo‘yicha tasniflash 
Dasturiy ta'minotni sanoat sektori bo‘yicha tasniflash bir nechta yondashuvlarni o‘z ichiga oladi. Umuman olganda, dasturiy ta'minot buyurtma bo‘yicha bo‘ladi, ya'ni aniq bir mijoz uchun yaratilgan, va mahsulot bo‘ladi, ya'ni bozorga sotish uchun yaratilgan. Bundan tashqari, dasturiy ta'minotning Biznesdan Biznesga (B2B) — korxonalar va tashkilotlar uchun mo‘ljallangan va Biznesdan iste'molchiga (B2C) — shaxslar uchun mo‘ljallangan bo‘lishi mumkinWerder, Karl, Wang, Hua-Ying. Towards a Software Product Industry Classification // New Trends in Software Methodologies, Tools and Techniques. H. Fujita, G. A. Papadopoulos, IOS Press, 2016. ISBN 978-1-61499-674-3. DOI: 10.3233/978-1-61499-674-3-27.

Sanoat sektori bo‘yicha tasniflashning bir variantlari korporativ buyurtmalar uchun dasturiy ta'minot , ommaviy iste'molchilar uchun dasturiy ta'minot va IT xizmatlariga bo‘lishni o‘z ichiga oladiCampbell-Kelly M., Garcia-Swartz, D. From Products to Services: The Software Industry in the Internet Era // The Business History Review, Vol. 81, No. 4 (Winter, 2007), pp. 735—764. DOI: 10.2307/25097422.

Boshqa bir yondashuvda dasturiy ta'minot sanoatini uchta sektorga bo‘lish taklif qilinadi: umumiy maqsadli biznes mahsulotlari , maxsus biznes mahsulotlari va shaxsiy hayot uchun mahsulotlar . Umumiy maqsadli biznes mahsulotlari korxonalar va tashkilotlarning faoliyatini qo‘llab-quvvatlash uchun mo‘ljallangan bo‘lib, ular orasida buxgalteriya tizimlari, moliyaviy tizimlar, kadrlar hisobini yuritish tizimlari va boshqalar mavjud. Maxsus biznes mahsulotlari ma'lum turdagi biznes muammolarini hal qilish uchun mo‘ljallangan: geoinformatsion tizimlar, tibbiy tizimlar, logistika tizimlari va boshqalar. Shaxsiy hayot uchun mahsulotlar esa antivirus das, axborot xavfsizligi tizimlari, turli foydali yordamchi dasturlar, ta'lim das, multimediya das va boshqa shu kabi dasturlarni o‘z ichiga oladi

 Tizimli dasturiy ta'minot 

Tizimli dasturiy ta'minot — bu kompyuter tizimining komponentlarini boshqarishga mo‘ljallangan dasturlar to‘plami bo‘lib, ular orasida protsessor, operativ xotira, kiritish-chiqarish qurilmalari, tarmoq uskunalari mavjud. U dasturlarni qo‘llab-quvvatlash uchun "oraliq interfeys" vazifasini bajaradi, bir tomondan apparat, boshqa tomondan esa foydalanuvchi das bilan bog‘lanadi. Tizimli dasturiy ta'minot aniq amaliy vazifalarni hal qilmaydi, balki boshqa dasturlarni ishlashini ta'minlaydi, ularga servis funksiyalarini taqdim etadi, apparat va mikrokodning detallarini yashiradi hamda kompyuter tizimi resurslarini boshqaradi. Tizimli dasturiy ta'minotga odatda operatsion tizimlar, utilitalar, ma'lumotlar bazasini boshqarish tizimlari va keng tarqalgan bog‘lovchi dasturiy ta'minotlar kiradi.

 Ilmiy dasturiy ta'minot 

Ilmiy dasturiy ta'minot — bu foydalanuvchi tomonidan bajariladigan ma'lum vazifalarni hal qilish uchun mo‘ljallangan dastur bo‘lib, u to‘g‘ridan-to‘g‘ri foydalanuvchi bilan o‘zaro aloqada bo‘ladi.

 Litsenziya 

Foydalanuvchi dasturiy ta'minotni litsenziya bilan birga oladi, bu esa unga dasturiy mahsulotdan foydalanish huquqini beradi, litsenziya shartlariga amal qilish sharti bilan. Odatda, bu shartlar foydalanuvchining dasturiy mahsulotni boshqa foydalanuvchilarga o'tkazishi, kodni o'zgartirishi imkoniyatlarini cheklaydi.

Ba'zi dasturiy ta'minotlar erkin litsenziya bilan tarqatiladi. Bunday litsenziyalar dasturiy ta'minotni tarqatish va uni modifikatsiya qilishni ruxsat beradi.

Ba'zi dasturiy ta'minotlar bepul taqdim etiladi. Shuningdek, shartli bepul dasturiy ta'minot ham mavjud. Bu holatda foydalanuvchi odatda dasturiy mahsulotning chegirmali versiyasini ma'lum vaqt davomida bepul olish imkoniyatiga ega bo‘ladi, va sinov muddati tugagach, mahsulotni sotib olish yoki uni o‘chirib tashlash talab qilinadi.

 Shuningdek qarang 

 Dasturiy-texnik kompleks
 Patentlar va dasturiy ta'minot
 Litsenziya 
 Maxsus dasturiy ta'minot
 Erkin dasturiy ta'minot
 Ochiq dasturiy ta'minot
 Kompyuter tili
 Dasturlash tili
 Qollanilish sohasi bo‘yicha
 Bog‘lovchi dasturiy ta'minot
 Dasturiy injiniring
 Dasturiy ta'minotning hayotiy tsikli
 To‘liq dasturiy ta'minot
 Dasturiy aktivlarni boshqarish

 

 ГОСТ Р ИСО/МЭК 12207-2010 Axborot texnologiyalari. Tizimli va dasturiy injiniring. Dasturiy vositalarning hayotiy tsikli jarayonlari.
 
 
 DeMarko T. Deadline. Loyihalarni boshqarish haqidagi roman. — M.: Mann, Ivanov va Ferber. — 2013. — 352 s. ISBN 978-5-91657-284-1
 DeMarko T., Lister T. Inson omili. Muvaffaqiyatli loyihalar va jamoalar. — M.: Simvol-Plus. — 2014. — 288 s. ISBN 978-5-93286-217-9
 Yordan E. Kamikadze yo‘li. Dasturiy ta'minot ishlab chiquvchisi umidsiz loyihada qanday omon qoladi. — M.: Lori, 2012. — 290 s. ISBN 978-5-85582-227-3
 Somerville I. Dasturiy ta'minot injiniringi. — Vilyams nashriyoti, 2002. — 624 s. ISBN 5-8459-0330-0