Dasturiy ta’minot haqida
Mundarija 1. Umumiy ma’lumotlar 1.1. Dasturiy ta'minotning muhim ta'riflari quyidagilarni o'z ichiga oladi………………………………………………………..2 1.2. Dasturiy ta’minotni ishlab chiqish………………………………7 1.3. IEEE standarti………………………………………………..…..15 2. Loyihalash jarayoni 2.1. Munosabatlar jadvalini hosil qilish jarayoni …………….....….16 3. Ilovalar……………………………………………………………18 4. Xulosa……………………………………………………………..22 1
I. Umumiy ma’lumotlar Dasturiy ta'minotning muhim ta'riflari quyidagilarni o'z ichiga oladi: "dasturiy ta'minotni loyihalash, tatbiq etish, sinovdan o'tkazish va hujjatlarni rasmiylashtirishda ilmiy va texnologik bilimlarni, usullarni va tajribani muntazam ravishda qo'llash" - Mehnat statistikasi byurosi - IEEE tizimlari va dasturiy ta'minot muhandisligi - Lug'at [18] " Dasturiy ta'minotni ishlab chiqish, ishlatish va unga xizmat ko'rsatishda tizimli, intizomli, miqdoriy yondashuvni qo'llash " - IEEE dasturiy ta'minot muhandisligi terminologiyasining standart lug'ati [19] "dasturiy ta'minot ishlab chiqarishning barcha jihatlari bilan bog'liq bo'lgan muhandislik intizomi" - Yan Sommervil [20] "ishonchli va haqiqiy mashinalarda samarali ishlaydigan dasturiy ta'minotni iqtisodiy jihatdan olish uchun ovozli muhandislik tamoyillarini o'rnatish va ulardan foydalanish" - Fritz Bauer [21] "murakkab kompyuter dasturlarini loyihalash, amalga oshirish va ularga xizmat ko'rsatish bilan shug'ullanadigan informatika bo'limi " - Merriam-Vebster [22] "" dasturiy ta'minot muhandisligi "nafaqat kod yozish aktini, balki tashkilot ushbu kodni yaratish va saqlash uchun vaqt davomida ishlatadigan barcha vositalar va jarayonlarni o'z ichiga oladi. [...] Dasturiy ta'minotni" vaqt o'tishi bilan birlashtirilgan dasturlash "deb hisoblash mumkin. . '"- Google'da dasturiy ta'minot muhandisligi [23] Ushbu atama rasmiy ravishda kamroq ishlatilgan: ilgari kompyuter dasturlash va tizimlarni tahlil qilish deb nomlangan keng ko'lamli faoliyat uchun norasmiy zamonaviy atama sifatida ; [24] rasmiy ravishda informatika fanining sub-intizomi sifatida o'rganilayotgan kompyuter dasturlash nazariyasidan farqli o'laroq, kompyuter dasturlash amaliyotining barcha jihatlari uchun keng atama sifatida ; [25] kompyuter dasturlash uchun o'ziga xos yondashuvni himoya qilishni o'z ichiga olgan atama sifatida, unga san'at yoki hunarmandchilik emas, balki muhandislik intizomi sifatida qarashni talab qiladi va tavsiya etilgan amaliyotlarni kodifikatsiyalashni yoqlaydi . [26] Dastur talablari [ tahrirlash ] Asosiy maqola: Dasturiy ta'minotga talablar Talablar muhandislik bo'yicha yuzaga chiqarish, tahlil qilish, xususiyatlari, va tekshirish haqida talablari uchun dasturiy ta'minot . Dasturiy ta'minot dizayni [ tahrirlash ] Asosiy maqola: Dasturiy ta'minot dizayni Dasturiy ta'minot dizayni - bu tizim yoki komponentning arxitekturasini, tarkibiy qismlarini, interfeyslarini va boshqa xususiyatlarini aniqlash jarayoni. Bunga dasturiy ta'minot arxitekturasi ham deyiladi . Dasturiy ta'minotni ishlab chiqish [ tahrirlash ] Asosiy maqola: Dasturiy ta'minotni ishlab chiqish Dasturiy ta'minot ishlanmasi , asosiy faoliyat dasturi qurish , [1] [27] uyg'unligi hisoblanadi dasturlash , tekshirish, dastur sinov va nosozliklarni tuzatish . A dasturiy ta'minot ishlab chiqish jarayoni [1] [27] dasturiy ta'minot hayot aylanishi jarayoni o'zi belgilash, amalga oshirish, baholash, o'lchash, boshqarish, o'zgarish va takomillashtirish hisoblanadi. Bu dasturiy 2
ta'minotni konfiguratsiya boshqaruvidan juda ko'p foydalanadi [1] [27] bu konfiguratsiyadagi o'zgarishlarni muntazam ravishda nazorat qilish va tizimning butun tsikli davomida konfiguratsiya va kodning yaxlitligi va izlenebilirliğini saqlash haqida. Zamonaviy jarayonlarda dasturiy ta'minot versiyasi qo'llaniladi . Dasturiy ta'minotni sinash [ tahrirlash ] Asosiy maqola: Dasturiy ta'minotni sinovdan o'tkazish Dasturiy ta'minotni sinovdan o'tkazish [1] [27] - bu manfaatdor tomonlarga sinovdan o'tkazilayotgan mahsulot yoki xizmat sifati to'g'risida ma'lumot berish uchun o'tkazilgan empirik, texnik tekshiruv, birlik sinovi va integratsiyalashgan test kabi turli xil yondashuvlar . Bu dasturiy ta'minot sifatining bir jihati . Dasturlarga xizmat ko'rsatish [ tahrirlash ] Asosiy maqola: Dasturlarga xizmat ko'rsatish Dasturiy ta'minotga xizmat ko'rsatish [1] [27] dasturiy mahsulotni jo'natgandan keyin iqtisodiy jihatdan qo'llab-quvvatlashni ta'minlash uchun zarur bo'lgan faoliyatni anglatadi. Dasturiy ta'minotni loyihalashtirish - bu vositachining ibtidoiy komponentlar to'plamidan foydalangan holda va cheklovlarga bo'ysungan holda maqsadlarni bajarish uchun mo'ljallangan dasturiy ta'minot artefaktining spetsifikatsiyasini yaratish jarayoni . [1] Dasturiy ta'minot dizayni "murakkab tizimlarni kontseptualizatsiya qilish, shakllantirish, amalga oshirish, ishga tushirish va oxir-oqibat o'zgartirish bilan bog'liq barcha faoliyatni" yoki " talablarga muvofiq va dasturlashdan oldingi faoliyatni , [...] uslubidagi dasturiy ta'minotni nazarda tutishi mumkin. muhandislik jarayoni. " [2] Dasturiy ta'minotni loyihalash odatda muammolarni hal qilishni va dasturiy echimni rejalashtirishni o'z ichiga oladi . Bunga quyi darajadagi komponent va algoritm dizayni hamda yuqori darajadagi arxitektura dizayni kiradi. Umumiy holda Dasturiy ta ' minotni loyihalashtirish - bu bir yoki bir nechta muammolarning dasturiy echimlarini tasavvur qilish va aniqlash jarayoni . Dasturiy ta'minotni loyihalashning asosiy tarkibiy qismlaridan biri bu dasturiy ta'minotga talablarni tahlil qilish (SRA). KSA bir qismidir dasturiy ta'minot ishlab chiqish jarayoni ro'yxati bu xususiyatlari ishlatiladigan dasturiy ta'minot muhandislik . Agar dasturiy ta'minot "yarim avtomatlashtirilgan" yoki foydalanuvchi markazida bo'lsa , dasturiy ta'minot dizayni ushbu xususiyatlarni aniqlashga yordam beradigan stsenariyni yaratadigan foydalanuvchi tajribasini loyihalashni o'z ichiga olishi mumkin . Agar dastur to'liq avtomatlashtirilgan bo'lsa ( foydalanuvchi yoki foydalanuvchi interfeysi yo'qligini anglatadi)), dasturiy ta'minot dizayni rejalashtirilgan voqealar ketma- ketligini tavsiflovchi oqim sxemasi yoki matn kabi oddiy bo'lishi mumkin . Unified Modeling Language va Fundamental modellashtirish tushunchalari kabi yarim standart usullar mavjud . Ikkala holatda ham, rejaning ba'zi hujjatlari odatda dizayn mahsulotidir. Bundan tashqari, dasturiy ta'minot dizayni dizayni uchun ishlatiladigan texnologiyaning mavjudligiga qarab platformadan mustaqil yoki platformaga xos bo'lishi mumkin . Dasturiy ta'minotni tahlil qilish va loyihalashtirishdan asosiy farqi shundaki, dasturiy ta'minot tahlilining natijasi echilishi kerak bo'lgan kichik muammolardan iborat. Bundan tashqari, tahlil guruhning turli a'zolari yoki guruhlari bo'yicha juda boshqacha tarzda tuzilmasligi kerak. Aksincha, dizayn qobiliyatlarga e'tiborni qaratadi va shu bilan bir xil muammo uchun bir nechta dizayn mavjud bo'lishi mumkin va mavjud bo'ladi. Atrof-muhitga qarab, dizayn tez-tez o'zgarib turadi, u ishonchli ramkalardan yaratilganmi yoki mos dizayn naqshlari bilan amalga 3
oshirilganmi . Dizayn misollari orasida operatsion tizimlar, veb-sahifalar, mobil qurilmalar yoki hatto yangi bulutli hisoblash paradigmasi mavjud. Dasturiy ta'minot dizayni ham jarayon, ham modeldir. Loyihalash jarayoni - bu dizaynerga qurilish uchun dasturiy ta'minotning barcha jihatlarini tavsiflashga imkon beradigan bosqichlar ketma-ketligi. Ijodiy mahorat, o'tmishdagi tajriba, "yaxshi" dasturiy ta'minot nimani anglatishini anglash va sifatga bo'lgan umumiy sadoqat vakolatli dizayn uchun muvaffaqiyatning muhim omillariga misoldir. Shuni ta'kidlash kerakki, dizayn jarayoni har doim ham oddiy protsedura emas; dizayn modelini me'morning uy qurish rejalari bilan taqqoslash mumkin. U qurilishi kerak bo'lgan narsaning umumiyligini ifodalash bilan boshlanadi (masalan, uyning uch o'lchovli ko'rinishi); asta-sekin, har bir detalni qurish uchun ko'rsatma berish uchun narsalar yaxshilanadi (masalan, sanitariya-tesisat yotqizilgan). Xuddi shunday, dasturiy ta'minot uchun yaratilgan dizayn modeli kompyuter dasturining har xil ko'rinishini ta'minlaydi. Dizaynning asosiy printsiplari dasturiy ta'minot muhandisiga dizayn jarayonida harakat qilish imkoniyatini beradi. Devis [3] quyidagi ro'yxatda moslashtirilgan va kengaytirilgan dasturiy ta'minotni loyihalashtirish uchun bir qator printsiplarni taklif qiladi: Loyihalash jarayoni "tunnel ko'rish" dan aziyat chekmasligi kerak. Yaxshi dizayner muqobil yondashuvlarni ko'rib chiqishi kerak, ularning har biri muammoning talablariga, ishni bajarish uchun mavjud bo'lgan resurslarga qarab baholanadi. Dizayn tahlil modeliga qarab kuzatilishi kerak. Dizayn modelining bitta elementi ko'pincha bir nechta talablardan kelib chiqishi mumkinligi sababli, dizayn modeli tomonidan talablarning qanday qondirilganligini kuzatadigan vosita bo'lishi kerak. Dizayn g'ildirakni qayta kashf etmasligi kerak. Tizimlar dizayni naqshlari to'plami yordamida quriladi, ularning aksariyati ilgari duch kelgan bo'lishi mumkin. Ushbu naqshlar har doim ixtiroga alternativa sifatida tanlanishi kerak. Vaqt qisqa va resurslar cheklangan; dizayn vaqtini (mavjud bo'lganda) mavjud bo'lgan naqshlarni birlashtirish orqali (haqiqatan ham yangi) g'oyalarni namoyish etishga sarflash kerak. Dizayn dasturiy ta'minot bilan muammo o'rtasidagi "intellektual masofani minimallashtirishi" kerak, chunki u haqiqiy dunyoda mavjud. Ya'ni, dasturiy ta'minot dizayni tuzilishi, iloji boricha, muammo domeni tuzilishini taqlid qilishi kerak. Dizayn bir xillik va birlashishni namoyish etishi kerak. Dizayn, agar u to'liq izchil bo'lsa, bir xil bo'ladi. Ushbu natijaga erishish uchun dizayn ishlari boshlanishidan oldin dizaynerlar guruhi uchun uslub va format qoidalari aniqlanishi kerak. Dizayn tarkibiy qismlari orasidagi interfeyslarni aniqlashga e'tibor berilsa, dizayn birlashtiriladi. Dizayn o'zgarishni hisobga olgan holda tuzilishi kerak. Keyingi bobda muhokama qilingan dizayn tushunchalari dizaynga ushbu printsipga erishish imkonini beradi. Noto'g'ri ma'lumotlar, hodisalar yoki ish sharoitlariga duch kelganda ham dizayn yumshoq tarzda pasayishi uchun tuzilgan bo'lishi kerak. Yaxshi ishlab chiqilgan dastur hech qachon "bomba" tashlamasligi kerak; u g'ayrioddiy holatlarni qondirish uchun ishlab chiqilgan bo'lishi kerak va agar u ishlov berishni tugatishi kerak bo'lsa, uni oqlangan tarzda bajarishi kerak. Dizayn kodlash emas, kodlash dizayn emas. Dastur tarkibiy qismlari uchun batafsil protsessual dizaynlar yaratilgan taqdirda ham, dizayn modelining abstraktsiya darajasi manba kodidan yuqori. Kodlash darajasida qabul qilingan yagona dizayn qarorlari protsessual dizaynni kodlashni ta'minlaydigan kichik dastur tafsilotlarini hal qilishi kerak. Dizayn haqiqatan keyin emas, balki yaratilganligi sababli sifatiga qarab baholanishi kerak. Dizaynerga rivojlanish jarayonida sifatni baholashda yordam beradigan turli xil dizayn tushunchalari va dizayn tadbirlari mavjud. Kontseptual (semantik) xatolarni minimallashtirish uchun dizayn qayta ko'rib chiqilishi kerak. Ba'zan dizayni ko'rib chiqilganda, daraxtlar uchun o'rmonni sog'inib, minutiyalarga e'tibor qaratish istagi paydo bo'ladi. Loyihalash jamoasi dizayn modelining 4
sintaksisidan xavotirga tushishdan oldin dizaynning asosiy kontseptual elementlarini (kamchiliklar, noaniqlik, nomuvofiqlik) ko'rib chiqilishini ta'minlashi kerak. Dizayn tushunchalari Dizayn tushunchalari dasturiy ta ' minot dizayneriga yanada murakkab usullarni qo ' llash mumkin bo ' lgan asos yaratadi . Asosiy dizayn tushunchalari to'plami rivojlandi. Ular quyidagichadir: 1. Abstraktsiya - mavhumlik - bu faqat ma'lum bir maqsad uchun tegishli bo'lgan ma'lumotlarni saqlab qolish uchun kontseptsiyaning yoki kuzatiladigan hodisaning axborot tarkibini qisqartirish orqali umumlashtirish jarayoni yoki natijasidir. Bu asosiy tafsilotlarni yoki tushuntirishlarni o'z ichiga olmagan holda muhim xususiyatlarni namoyish etish harakati. 2. Noziklash - bu ishlab chiqish jarayoni. Ierarxiya funktsiyalarning makroskopik bayonotini dasturlash tili bayonotlariga erishilmaguncha bosqichma-bosqich parchalash orqali ishlab chiqiladi. Har bir qadamda berilgan dasturning bir yoki bir nechta ko'rsatmalari batafsil ko'rsatmalarga ajraladi. Abstraktlik va aniqlik bir-birini to'ldiruvchi tushunchalardir. 3. Modullik - dasturiy ta'minot arxitekturasi modul deb nomlangan tarkibiy qismlarga bo'linadi. 4. Dastur arxitekturasi - bu dasturiy ta'minotning umumiy tuzilishini va ushbu tizim tizim uchun kontseptual yaxlitlikni ta'minlash usullarini anglatadi. Yaxshi dasturiy ta'minot arxitekturasi loyihaning kerakli natijalariga, masalan, ishlash, sifat, jadval va narx bo'yicha investitsiyalar uchun yaxshi daromad keltiradi. 5. Boshqarish iyerarxiyasi - dastur tarkibiy qismini tashkil qilishni ifodalovchi va boshqaruv iyerarxiyasini nazarda tutadigan dastur tuzilishi. 6. Strukturaviy qismlarga ajratish - dastur tuzilishini gorizontal va vertikalga bo'lish mumkin. Gorizontal bo'limlar dasturning har bir asosiy vazifasi uchun modulli ierarxiyaning alohida tarmoqlarini belgilaydi. Vertikal qismlarga bo'linish shuni ko'rsatadiki, boshqaruv va ish dastur tuzilmasida yuqoridan pastga taqsimlanishi kerak. 7. Ma'lumotlar tarkibi - bu ma'lumotlarning alohida elementlari orasidagi mantiqiy munosabatlarni aks ettirishdir. 8. Dasturiy ta'minot protsedurasi - bu har bir modulni alohida ishlashga qaratilgan. 9. Axborotni yashirish - modullar modul tarkibidagi ma'lumotlar bunday ma'lumotlarga ehtiyoj sezmaydigan boshqa modullar uchun kirish imkoni bo'lmasligi uchun aniqlanishi va tuzilishi kerak. Ob'ekt modelida Grady Booch dasturiy ta'minotni loyihalashtirishning asosiy printsiplari sifatida Abstraktsiya, Enkapsulatsiya, Modularizatsiya va Ierarxiyani eslatib o'tadi. [4] PHAME qisqartmasi (Ierarxiya, mavhumlashtirish, modullashtirish va inkapsulatsiya tamoyillari) ba'zida ushbu to'rt asosiy printsipga murojaat qilish uchun ishlatiladi. [5] Dizayn masalalari Dasturiy ta ' minotni loyihalashda ko ' p jihatlarni hisobga olish kerak . Har bir ko'rib chiqishning ahamiyati dasturiy ta'minotni yaratish uchun yaratilgan maqsadlar va kutishlarni aks ettirishi kerak. Ushbu jihatlarning ba'zilari: Muvofiqlik - dasturiy ta'minot boshqa mahsulot bilan o'zaro ishlashga mo'ljallangan boshqa mahsulotlar bilan ishlashga qodir. Masalan, dasturiy ta'minotning o'zi eski versiyasi bilan orqaga qarab mos kelishi mumkin. 5