2-Mustaqil ish Reja


Download 115.49 Kb.
Sana18.06.2023
Hajmi115.49 Kb.
#1563558
Bog'liq
2-mustaqil ish


2-Mustaqil ish
Reja:

  1. Dasturiy ta’minotni konstruksiyalashga tayyorlanish.

  2. Dasturiy ta’minotni konstruksiyalashni boshqarish.

  3. Dasturiy ta’minotni modellashtirish.

Dasturiy ta'minot konstruktsiyasi atamasi kodlash, tekshirish, birlik testi, integratsiya testi va disk raskadrovka kombinatsiyasi orqali ishlaydigan dasturiy ta'minotni batafsil yaratishni anglatadi. Dasturiy ta'minotni qurish bo'yicha bilim sohasi (KA) boshqa barcha KAlar bilan bog'langan, lekin u dasturiy ta'minotni loyihalash va dasturiy ta'minotni sinovdan o'tkazish bilan kuchli bog'langan, chunki dasturiy ta'minotni qurish jarayoni muhim dasturiy ta'minotni loyihalash va sinovdan o'tkazishni o'z ichiga oladi. Jarayon dizayn natijalaridan foydalanadi va testga kirishni ta'minlaydi ("dizayn" va "sinov" bu holda KA emas, balki faoliyatni nazarda tutadi). Dizayn, qurilish va sinov o'rtasidagi chegaralar (agar mavjud bo'lsa) loyihada ishlatiladigan dasturiy ta'minotning hayot aylanishi jarayonlariga qarab o'zgaradi. Qurilishdan oldin ba'zi batafsil loyihalash amalga oshirilishi mumkin bo'lsa-da, qurilish faoliyati davomida ko'p loyihalash ishlari amalga oshiriladi. Shunday qilib, dasturiy ta'minotni qurish KA dasturiy ta'minotni loyihalash KA bilan chambarchas bog'liq. Qurilish davomida dasturiy ta'minot muhandislari ham birlik sinovi, ham integratsiya o'z ishlarini sinab ko'rishadi. Shunday qilib, dasturiy ta'minot konstruktsiyasi KA dasturiy ta'minotni sinovdan o'tkazish KA bilan ham chambarchas bog'liq. Dasturiy ta'minot konstruktsiyasi odatda dasturiy ta'minot loyihasida boshqarilishi kerak bo'lgan eng ko'p konfiguratsiya elementlarini ishlab chiqaradi (manba fayllar, hujjatlar, test holatlari va boshqalar). Shunday qilib, dasturiy ta'minot konstruktsiyasi KA dasturiy ta'minot konfiguratsiyasini boshqarish KA bilan ham chambarchas bog'langan. Dasturiy ta'minot sifati barcha KAlarda muhim bo'lsa-da, kod dasturiy ta'minot loyihasining yakuniy ta'minotidir va shuning uchun dasturiy ta'minot sifati KA dasturiy ta'minotni qurish KA bilan chambarchas bog'liq. Dasturiy ta'minotni qurish algoritmlar va kodlash amaliyotlarini bilishni talab qilganligi sababli, u dasturiy mahsulotlarni loyihalash va qurishni qo'llab-quvvatlaydigan kompyuter fanlari asoslari bilan bog'liq bo'lgan Computing Foundations KA bilan chambarchas bog'liq. Bu, shuningdek, loyihani boshqarish bilan bog'liq, chunki qurilishni boshqarish katta qiyinchiliklarga duch kelishi mumkin.
1 Dasturiy ta'minotni qurish asoslari
Dasturiy ta'minotni qurish asoslari quyidagilarni o'z ichiga oladi:
murakkablikni minimallashtirish
o'zgarishni kutish
tekshirish uchun qurish
qayta ishlatmoq
qurilishda standartlar.
Birinchi to'rtta kontseptsiya dizaynga ham, qurilishga ham tegishli. Quyidagi bo'limlar ushbu tushunchalarni belgilaydi va ularning qurilishga qanday tatbiq etilishini tavsiflaydi.
1.1 Murakkablikni minimallashtirish
Aksariyat odamlar murakkab tuzilmalarni va ma'lumotlarni ish xotiralarida, ayniqsa uzoq vaqt davomida saqlash qobiliyatida cheklangan. Bu odamlarning kompyuterga niyatlarini qanday etkazishiga ta'sir qiluvchi asosiy omil bo'lib, dasturiy ta'minotni yaratishda eng kuchli disklardan biriga olib keladi: murakkablikni minimallashtirish. Murakkablikni kamaytirish zarurati dasturiy ta'minotni qurishning deyarli barcha jihatlariga taalluqlidir va dasturiy ta'minot konstruktsiyalarini sinovdan o'tkazish uchun juda muhimdir. Dasturiy ta'minotni yaratishda murakkablikni kamaytirishga aqlli emas, balki oddiy va o'qilishi mumkin bo'lgan kod yaratishga urg'u berish orqali erishiladi. Bu standartlardan (1.5-bo'lim, Qurilish standartlariga qarang), modulli dizayndan (3.1-bo'lim, Qurilish loyihasiga qarang) va boshqa ko'plab maxsus texnikalardan (3.3-bo'lim, Kodlash bo'limiga qarang) foydalanish orqali amalga oshiriladi. Shuningdek, u qurilishga yo'naltirilgan sifat texnikasi bilan ham qo'llab-quvvatlanadi (3.7 bo'limga qarang, Qurilish sifati).
1.2 O'zgarishlarni kutish
Ko'pgina dasturiy ta'minot vaqt o'tishi bilan o'zgaradi va o'zgarishlarni kutish dasturiy ta'minotni qurishning ko'p jihatlarini boshqaradi; dasturiy ta'minot ishlaydigan muhitdagi o'zgarishlar dasturiy ta'minotga turli yo'llar bilan ta'sir qiladi. O'zgarishlarni kutish dasturiy ta'minot muhandislariga kengaytiriladigan dasturiy ta'minotni yaratishga yordam beradi, ya'ni ular dasturiy mahsulotni asosiy tuzilmani buzmasdan yaxshilashlari mumkin. O'zgarishlarni oldindan ko'rish ko'plab o'ziga xos usullar bilan qo'llab-quvvatlanadi (3.3, Kodlash bo'limiga qarang).
1.3 Tekshirish uchun qurilish
Tasdiqlash uchun qurish deganda dasturiy ta'minotni shunday yaratish tushuniladiki, xatolar dasturiy ta'minotni yozuvchi muhandislar, shuningdek, mustaqil sinov va operatsion faoliyat davomida testerlar va foydalanuvchilar tomonidan topilishi mumkin. Tekshirish uchun qurilishni qo'llab-quvvatlaydigan o'ziga xos usullarga kodni ko'rib chiqish va birlik testini qo'llab-quvvatlash uchun quyidagi kodlash standartlari, avtomatlashtirilgan testlarni qo'llab-quvvatlash uchun kodni tashkil qilish va murakkab yoki tushunish qiyin til tuzilmalaridan foydalanishni cheklash va boshqalar kiradi.
1.4 Qayta foydalanish
Qayta foydalanish turli muammolarni hal qilishda mavjud aktivlardan foydalanishni anglatadi. Dasturiy ta'minotni qurishda qayta foydalaniladigan odatiy aktivlarga kutubxonalar, modullar, komponentlar, manba kodi va tijoratdan tashqari (COTS) aktivlari kiradi. Qayta foydalanish eng yaxshi tizimli ravishda, aniq belgilangan, takrorlanadigan jarayonga muvofiq amalga oshiriladi. Tizimli qayta foydalanish dasturiy ta'minot samaradorligini, sifatini va narxini sezilarli darajada oshirish imkonini beradi. Qayta foydalanish bir-biri bilan chambarchas bog'liq ikkita jihatga ega: "qayta foydalanish uchun qurilish" va "qayta foydalanish bilan qurilish". Birinchisi qayta foydalanish mumkin bo'lgan dasturiy ta'minot aktivlarini yaratishni anglatadi, ikkinchisi esa yangi yechimni qurishda dasturiy ta'minot aktivlarini qayta ishlatishni anglatadi. Qayta foydalanish ko'pincha loyihalar chegarasidan oshib ketadi, ya'ni qayta foydalanilgan aktivlar boshqa loyihalar yoki tashkilotlarda qurilishi mumkin.
1.5 Qurilishdagi standartlar
Qurilish jarayonida tashqi yoki ichki rivojlanish standartlarini qo'llash loyihaning samaradorlik, sifat va narx bo'yicha maqsadlariga erishishga yordam beradi. Xususan, ruxsat etilgan dasturlash tilining kichik to'plamlari va foydalanish standartlarini tanlash yuqori xavfsizlikka erishishda muhim yordamdir. Qurilish masalalariga bevosita ta'sir ko'rsatadigan standartlar kiradi
aloqa usullari (masalan, hujjat formatlari va mazmuni standartlari)
dasturlash tillari (masalan, Java va C++ kabi tillar uchun til standartlari)*kodlash standartlari (masalan, nomlash qoidalari, tartib va ​​chekinish uchun standartlar)
platformalar (masalan, operatsion tizim qo'ng'iroqlari uchun interfeys standartlari)
asboblar (masalan, UML (Unified Modeling Language) kabi yozuvlar uchun diagrammatik standartlar).
Tashqi standartlardan foydalanish. Qurilish qurilish tillari, qurilish asboblari, texnik interfeyslar va dasturiy ta'minotni qurish KA va boshqa KAlar o'rtasidagi o'zaro aloqalar uchun tashqi standartlardan foydalanishga bog'liq. Standartlar ko'plab manbalardan, jumladan apparat va dasturiy ta'minot interfeysi spetsifikatsiyalaridan (masalan, Object Management Group (OMG)) va xalqaro tashkilotlardan (IEEE yoki ISO kabi) keladi. Ichki standartlardan foydalanish. Standartlar korporativ darajada tashkiliy asosda yoki muayyan loyihalarda foydalanish uchun ham yaratilishi mumkin. Ushbu standartlar guruh faoliyatini muvofiqlashtirish, murakkablikni minimallashtirish, o'zgarishlarni kutish va tekshirish uchun qurishni qo'llab-quvvatlaydi.
2 Qurilishni boshqarish
2.1 Hayotiy tsikl modellarida qurilish
Dasturiy ta'minotni ishlab chiqish uchun ko'plab modellar yaratilgan; ba'zilari boshqalardan ko'ra ko'proq qurilishga urg'u beradi. Ba'zi modellar qurilish nuqtai nazaridan ko'proq chiziqli, masalan, palapartishlik va bosqichma-bosqich etkazib berish hayot tsikli modellari. Ushbu modellar qurilishni faqat muhim shartlar bajarilgandan keyingina amalga oshiriladigan faoliyat sifatida ko'rib chiqadi, jumladan, batafsil talablar, keng dizayn ishlari va batafsil rejalashtirish. Ko'proq chiziqli yondashuvlar qurilishdan oldingi faoliyatni (talablar va dizayn) ta'kidlaydi va faoliyatlar o'rtasida aniqroq farqlarni yaratadi. Ushbu modellarda qurilishning asosiy urg'u kodlash bo'lishi mumkin. Boshqa modellar ko'proq iterativdir - masalan, evolyutsion prototiplash va tezkor rivojlanish. Ushbu yondashuvlar qurilishni boshqa dasturiy ta'minotni ishlab chiqish faoliyati (shu jumladan talablar, dizayn va rejalashtirish) bilan bir vaqtda sodir bo'ladigan yoki ularni bir-biriga mos keladigan faoliyat sifatida ko'rib chiqadi. Ushbu yondashuvlar loyihalash, kodlash va sinov faoliyatini aralashtirishga moyil bo'lib, ular ko'pincha faoliyat kombinatsiyasini qurilish sifatida ko'rib chiqadilar (qarang: Dasturiy ta'minotni boshqarish va dasturiy ta'minot jarayoni KA). Binobarin, "qurilish" deb hisoblangan narsa ma'lum darajada ishlatiladigan hayot tsikli modeliga bog'liq. Umuman olganda, dasturiy ta'minotni qurish asosan kodlash va disk raskadrovkadan iborat, lekin u qurilishni rejalashtirish, batafsil loyihalash, birlik testi, integratsiya testi va boshqa tadbirlarni ham o'z ichiga oladi.
2.2 Qurilishni rejalashtirish
Qurilish usulini tanlash qurilish-rejalashtirish faoliyatining asosiy jihati hisoblanadi. Qurilish usulini tanlash qurilishning dastlabki shartlarini bajarish darajasiga, ularni bajarish tartibiga va qurilish ishlari boshlanishidan oldin bajarilishi kerak bo'lgan darajaga ta'sir qiladi. Qurilishga yondashuv loyiha jamoasining murakkablikni kamaytirish, o'zgarishlarni kutish va tekshirish uchun qurish qobiliyatiga ta'sir qiladi. Ushbu maqsadlarning har biri jarayon, talablar va dizayn darajasida ham hal qilinishi mumkin, ammo ular qurilish usulini tanlashga ta'sir qiladi. Qurilishni rejalashtirish, shuningdek, tarkibiy qismlarni yaratish va birlashtirish tartibini, integratsiya strategiyasini (masalan, bosqichma-bosqich yoki bosqichma-bosqich integratsiya), dasturiy ta'minot sifatini boshqarish jarayonlarini, aniq dasturiy ta'minot muhandislariga topshiriqlarni taqsimlashni va boshqa vazifalarni belgilaydi. tanlangan usul.
2.3 Qurilish o'lchovi
Ko'plab qurilish ishlari va artefaktlarni o'lchash mumkin, jumladan kod ishlab chiqilgan, kod o'zgartirilgan, kod qayta ishlatilgan, kod yo'q qilingan, kodning murakkabligi, kodni tekshirish statistikasi, xatolarni tuzatish va xatolarni topish stavkalari, harakatlar va rejalashtirish. Ushbu o'lchovlar qurilishni boshqarish, qurilish vaqtida sifatni ta'minlash va qurilish jarayonini yaxshilash, shu qatorda boshqa maqsadlar uchun foydali bo'lishi mumkin (dasturiy ta'minot muhandisligi jarayoniga qarang (o'lchov bo'yicha KA yoki ko'proq).
3 Amaliy mulohazalar
Qurilish - bu dasturiy ta'minot muhandisi ba'zan xaotik va o'zgaruvchan real dunyo cheklovlari bilan shug'ullanishi kerak bo'lgan faoliyatdir va u buni aniq bajarishi kerak. Haqiqiy dunyo cheklovlari ta'siridan kelib chiqqan holda, qurilish ba'zi boshqa KAlarga qaraganda ko'proq amaliy mulohazalar bilan bog'liq va dasturiy ta'minot muhandisligi, ehtimol, qurilish faoliyatida eng hunarmandchilikka o'xshaydi.
3.1 Qurilish loyihasi
Ba'zi loyihalar qurilishga katta dizayn faoliyatini ajratadi, boshqalari dizaynni aniq loyihalashga qaratilgan bosqichga ajratadi. Aniq taqsimlanishidan qat'i nazar, qurilish darajasida ba'zi batafsil loyihalash ishlari amalga oshiriladi va bu loyihalash ishi dasturiy ta'minot tomonidan hal qilinayotgan real dunyo muammosi tomonidan qo'yilgan cheklovlar bilan belgilanadi. Jismoniy tuzilmani qurayotgan qurilish ishchilari quruvchining rejalaridagi kutilmagan bo'shliqlarni hisobga olish uchun kichik miqyosdagi o'zgartirishlar kiritishi kerak bo'lganidek, dasturiy ta'minotni ishlab chiqaruvchi ishchilar ham qurilish vaqtida dasturiy ta'minot dizayni tafsilotlarini aniqlashtirish uchun kichikroq yoki kattaroq miqyosda o'zgartirishlar kiritishlari kerak. Qurilish darajasidagi loyihalash faoliyatining tafsilotlari asosan dasturiy ta'minotni loyihalash KA da tavsiflangani bilan bir xil, ammo ular kichikroq algoritmlar, ma'lumotlar tuzilmalari va interfeyslarda qo'llaniladi.
3.2 Qurilish tillari
Qurilish tillari aloqaning barcha shakllarini o'z ichiga oladi, ular yordamida inson muammoni hal qilishning bajarilishi mumkin bo'lgan echimini ko'rsatishi mumkin. Qurilish tillari va ularni amalga oshirish (masalan, kompilyatorlar) ishlash, ishonchlilik, portativlik va boshqalarning dasturiy ta'minot sifati atributlariga ta'sir qilishi mumkin. Ular xavfsizlik zaifliklariga jiddiy hissa qo'shishlari mumkin.
Qurilish tilining eng oddiy turi bu konfiguratsiya tili bo'lib, unda dasturiy ta'minot muhandislari yangi yoki maxsus dasturiy ta'minot o'rnatishlarini yaratish uchun oldindan belgilangan cheklangan variantlardan tanlaydilar. Windows va Unix operatsion tizimlarida qo'llaniladigan matnga asoslangan konfiguratsiya fayllari bunga misol bo'ladi va ba'zi dastur generatorlarining menyu uslubini tanlash ro'yxatlari konfiguratsiya tilining yana bir misolidir. Asboblar to'plami tillari asboblar to'plamidagi elementlardan ilovalar yaratish uchun ishlatiladi (ilovaga xos qayta foydalanish mumkin bo'lgan qismlarning birlashtirilgan to'plami); ular konfiguratsiya tillariga qaraganda ancha murakkab.
Asboblar to'plami tillari amaliy dasturlash tillari sifatida aniq belgilanishi mumkin yoki ilovalar shunchaki asboblar to'plamining interfeyslari to'plami bilan nazarda tutilishi mumkin.
Skript tillari amaliy dasturlash tillarining keng tarqalgan turlari hisoblanadi. Ba'zi skript tillarida skriptlar ommaviy ish fayllari yoki makroslar deb ataladi. Dasturlash tillari qurilish tillarining eng moslashuvchan turi hisoblanadi. Ular, shuningdek, muayyan qo'llash sohalari va ishlab chiqish jarayonlari haqida eng kam ma'lumotni o'z ichiga oladi, shuning uchun ulardan samarali foydalanish uchun eng ko'p tayyorgarlik va mahorat talab etiladi. Dasturlash tilini tanlash kodlash jarayonida zaifliklarning paydo bo'lish ehtimoliga katta ta'sir ko'rsatishi mumkin - masalan, C va C++ dan tanqidiy foydalanish xavfsizlik nuqtai nazaridan shubhali tanlovdir. Dasturlash tillari uchun uchta umumiy nota turi qo'llaniladi, xususan
lingvistik (masalan, C/C++, Java)
rasmiy (masalan, Voqea-B)
vizual (masalan, MatLab).
Lingvistik belgilar, xususan, murakkab dasturiy konstruktsiyalarni ifodalash uchun matn satrlaridan foydalanish bilan ajralib turadi. Matn satrlarining naqshlarga birikmasi jumlaga o'xshash sintaksisga ega bo'lishi mumkin. To'g'ri qo'llanilganda, har bir bunday qator kuchli semantik ma'noga ega bo'lishi kerak, bu dasturiy ta'minot konstruktsiyasi bajarilganda nima sodir bo'lishini darhol intuitiv tushunishni ta'minlaydi.
Rasmiy belgilar so'zlar va matn qatorlarining intuitiv, kundalik ma'nolariga kamroq tayanadi va aniq, bir ma'noli va rasmiy (yoki matematik) ta'riflar bilan ta'minlangan ta'riflarga ko'proq tayanadi. Rasmiy konstruktiv belgilar va rasmiy usullar tizimli dasturlash belgilarining aksariyat shakllarining semantik asosini tashkil etadi, bunda aniqlik, vaqt harakati va sinovdan o'tish qobiliyati tabiiy tilga xaritalash qulayligidan ko'ra muhimroqdir. Rasmiy konstruksiyalar, shuningdek, ko'pgina tabiiy til konstruktsiyalarining noaniqligini oldini oladigan belgilarni birlashtirishning aniq belgilangan usullaridan foydalanadi.
Vizual belgilar lingvistik va rasmiy qurilishning matn belgilariga kamroq tayanadi va buning o'rniga to'g'ridan-to'g'ri vizual talqin qilish va asosiy dasturiy ta'minotni ifodalovchi vizual ob'ektlarni joylashtirishga tayanadi. Vizual konstruktsiya faqat displeydagi piktogrammalarning joylashuvidan foydalangan holda "murakkab" bayonotlar qilish qiyinligi bilan cheklangan. Biroq, bu piktogrammalar asosiy dasturlash vazifasi shunchaki dasturning vizual interfeysini yaratish va "sozlash" bo'lgan hollarda kuchli vosita bo'lishi mumkin, uning batafsil harakati asosiy ta'rifdir.
3.3 Kodlash
Dasturiy ta'minotni yaratish kodlash faoliyatiga quyidagi fikrlar qo'llaniladi:
Tushunarli manba kodini yaratish texnikasi, jumladan nomlash qoidalari va manba kodining joylashuvi;
Sinflar, sanab o'tilgan turlar, o'zgaruvchilar, nomlangan konstantalar va boshqa shunga o'xshash ob'ektlardan foydalanish;
Boshqaruv tuzilmalaridan foydalanish;
Xato holatlari bilan ishlash - ham kutilgan, ham istisno (masalan, noto'g'ri ma'lumotlarni kiritish);
Kod darajasidagi xavfsizlik buzilishining oldini olish (masalan, buferning to'lib ketishi yoki massiv indekslari chegaralari);
Cheklash mexanizmlari va ketma-ket qayta foydalanish mumkin bo'lgan resurslarga (jumladan, iplar va ma'lumotlar bazasi blokirovkalari) kirishda tartib-intizomdan foydalanish orqali resurslardan foydalanish;
Manba kodini tashkil etish (bayonotlar, tartiblar, sinflar, paketlar yoki boshqa tuzilmalarga);
Kod hujjatlari;
Kodni sozlash,
3.4 Qurilish sinovlari
Qurilish sinovning ikkita shaklini o'z ichiga oladi, ular ko'pincha kodni yozgan dasturiy ta'minot muhandisi tomonidan amalga oshiriladi:
Birlik sinovi
Integratsiya testi.
Qurilish sinovining maqsadi kodga nosozliklar kiritilgan vaqt va bu nosozliklar aniqlangan vaqt o'rtasidagi bo'shliqni kamaytirish va shu bilan ularni tuzatish uchun sarflangan xarajatlarni kamaytirishdir. Ba'zi hollarda test holatlari kod yozilgandan keyin yoziladi. Boshqa hollarda, test holatlari kod yozilgunga qadar yaratilishi mumkin. Qurilish testlari odatda dasturiy ta'minotni sinovdan o'tkazish KA da tavsiflangan har xil turdagi testlarning bir qismini o'z ichiga oladi. Masalan, qurilish testlari odatda tizim sinovi, alfa testi, beta testi, stress testi, konfiguratsiya testi, qulaylik testi yoki boshqa maxsus test turlarini o'z ichiga olmaydi. Qurilish sinovlari mavzusida ikkita standart nashr etilgan: IEEE standarti 829-1998, dasturiy ta'minotni sinovdan o'tkazish hujjatlari uchun IEEE standarti va IEEE standarti 1008-1987, dasturiy ta'minot birligini sinovdan o'tkazish uchun IEEE standarti.
(Ko'proq maxsus ma'lumotnoma uchun dasturiy ta'minotni sinovdan o'tkazish KAning 2.1.1., Birlik sinovi va 2.1.2. Integratsiya testi bo'limlariga qarang.)
3.5 Qayta foydalanish uchun qurilish
Qayta foydalanish uchun qurish kelajakda mavjud loyiha yoki keng ko'lamli, ko'p tizimli istiqbolli boshqa loyihalar uchun qayta foydalanish potentsialiga ega bo'lgan dasturiy ta'minotni yaratadi. Qayta foydalanish uchun qurilish odatda o'zgaruvchanlikni tahlil qilish va dizaynga asoslanadi. Kod klonlari muammosini oldini olish uchun qayta foydalanish mumkin bo'lgan kod qismlarini yaxshi tuzilgan kutubxonalar yoki komponentlarga inkapsulyatsiya qilish kerak. Kodlash va sinovdan o'tkazishda qayta foydalanish uchun dasturiy ta'minotni qurish bilan bog'liq vazifalar quyidagilardan iborat:
Parametrlash, shartli kompilyatsiya, dizayn naqshlari va boshqalar kabi mexanizmlar bilan o'zgaruvchanlikni amalga oshirish.
Dasturiy ta'minot aktivlarini sozlash va sozlashni osonlashtirish uchun o'zgaruvchanlik inkapsulyatsiyasi.
Qayta foydalanish mumkin bo'lgan dasturiy ta'minot aktivlari tomonidan taqdim etilgan o'zgaruvchanlikni tekshirish.
Qayta foydalanish mumkin bo'lgan dasturiy ta'minot aktivlarining tavsifi va nashri.
3.6 Qayta foydalanish bilan qurilish
Qayta foydalanish bilan qurish mavjud dasturiy ta'minot aktivlarini qayta ishlatish bilan yangi dasturiy ta'minot yaratishni anglatadi. Qayta foydalanishning eng mashhur usuli bu til, platforma, foydalanilayotgan vositalar yoki tashkilot ombori tomonidan taqdim etilgan kutubxonalardagi kodni qayta ishlatishdir. Ulardan tashqari, bugungi kunda ishlab chiqilgan ilovalar ko'plab ochiq manbali kutubxonalardan keng foydalanadi. Qayta foydalaniladigan va tayyor dasturiy ta'minot ko'pincha yangi ishlab chiqilgan dasturiy ta'minot bilan bir xil yoki undan yuqori sifat talablariga ega (masalan, xavfsizlik darajasi). Kodlash va sinovdan o'tkazishda qayta foydalanish bilan dasturiy ta'minotni qurish bilan bog'liq vazifalar quyidagilardan iborat:
Qayta foydalanish mumkin bo'lgan birliklar, ma'lumotlar bazalari, test protseduralari yoki test ma'lumotlarini tanlash.
Kodni yoki testni qayta ishlatishni baholash.
Qayta foydalanish mumkin bo'lgan dasturiy ta'minot aktivlarining joriy dasturiy ta'minotga integratsiyasi.
Yangi kod, test protseduralari yoki test ma'lumotlari bo'yicha qayta foydalanish ma'lumotlari haqida hisobot.
3.7 Qurilish sifati
Talablar va dizayndan kelib chiqadigan nosozliklarga qo'shimcha ravishda, qurilish jarayonida yuzaga kelgan nosozliklar jiddiy sifat muammolariga, masalan, xavfsizlik zaifligiga olib kelishi mumkin. Bunga nafaqat xavfsizlik funksiyasidagi nosozliklar, balki ushbu funksiyani chetlab o‘tishga imkon beruvchi boshqa nosozliklar va xavfsizlikning boshqa zaif tomonlari yoki buzilishlari ham kiradi. Kodni yaratish jarayonida uning sifatini ta'minlash uchun ko'plab texnikalar mavjud. Qurilish sifati uchun ishlatiladigan asosiy texnikalar quyidagilarni o'z ichiga oladi
birlik sinovi va integratsiya sinovi (3.4 bo'limga qarang, Qurilish sinovlari)
sinovdan o'tgan birinchi ishlanma (Dasturiy ta'minotni sinovdan o'tkazish KAning 2.2-bo'limiga qarang)
da'volar va mudofaa dasturlaridan foydalanish
disk raskadrovka
tekshiruvlar
texnik sharhlar, shu jumladan xavfsizlikka yo'naltirilgan sharhlar (Dasturiy ta'minot sifati KAning 2.3.2 bo'limiga qarang)
statik tahlil (dasturiy ta'minot sifati KAning 2.3-bo'limiga qarang)
Tanlangan o'ziga xos texnika yoki texnikalar tuzilayotgan dasturiy ta'minotning tabiatiga, shuningdek, qurilish faoliyatini amalga oshiruvchi dasturiy ta'minot muhandislarining malakasiga bog'liq. Dasturchilar yaxshi amaliyotlar va umumiy zaifliklarni bilishlari kerak, masalan, umumiy zaifliklar haqidagi keng tarqalgan ro'yxatlardan. Xavfsizlik kamchiliklari uchun kodning avtomatlashtirilgan statik tahlili bir nechta umumiy dasturlash tillari uchun mavjud va xavfsizlik uchun muhim loyihalarda foydalanish mumkin.
Qurilish sifati bilan bog'liq tadbirlar boshqa sifatli faoliyatdan o'z yo'nalishi bilan ajralib turadi. Qurilish sifati bo'yicha tadbirlar kod bilan chambarchas bog'liq bo'lgan kod va artefaktlarga, masalan, batafsil dizaynga - talablar, yuqori darajadagi dizaynlar va rejalar kabi kod bilan kamroq bog'liq bo'lgan boshqa artefaktlarga qaratiladi.
3.8 Integratsiya
Qurilish jarayonida asosiy faoliyat alohida tuzilgan tartiblar, sinflar, komponentlar va quyi tizimlarni yagona tizimga birlashtirishdir. Bundan tashqari, ma'lum bir dasturiy ta'minot tizimini boshqa dasturiy ta'minot yoki apparat tizimlari bilan birlashtirish kerak bo'lishi mumkin. Qurilish integratsiyasi bilan bog'liq tashvishlar tarkibiy qismlarni birlashtirish ketma-ketligini rejalashtirish, qanday apparat zarurligini aniqlash, dasturiy ta'minotning oraliq versiyalarini qo'llab-quvvatlash uchun iskala yaratish, komponentlar integratsiyalashuvidan oldin sinovdan o'tkazish darajasini va bajarilgan ish sifatini aniqlashni o'z ichiga oladi. dasturiy ta'minotning oraliq versiyalari sinovdan o'tkaziladigan loyihadagi nuqtalar. Dasturlarni bosqichma-bosqich yoki bosqichma-bosqich yondashuv yordamida birlashtirish mumkin. Bosqichli integratsiya, shuningdek, "katta portlash" integratsiyasi deb ham ataladi, bu versiyada chiqarish uchun mo'ljallangan barcha qismlar tugaguniga qadar dasturiy ta'minotning tarkibiy qismlarini integratsiyalashuvini kechiktirishni o'z ichiga oladi. Incremental integratsiya an'anaviy bosqichli integratsiyaga nisbatan ko'p afzalliklarni taklif qiladi, masalan, xatolarning joylashishini osonlashtirish, rivojlanish monitoringini yaxshilash, mahsulotni erta etkazib berish va mijozlar bilan munosabatlarni yaxshilash. Incremental integratsiyada ishlab chiquvchilar dasturni kichik qismlarga yozadilar va sinab ko'radilar, so'ngra qismlarni birma-bir birlashtiradilar. Qo'shimcha integratsiyani yoqish uchun odatda qo'shimcha test infratuzilmasi, masalan, stublar, drayverlar va soxta ob'ektlar kerak bo'ladi. Bir vaqtning o'zida bitta blokni (masalan, sinf yoki komponentni) qurish va integratsiyalash orqali qurilish jarayoni ishlab chiquvchilar va mijozlarga erta fikr bildirishi mumkin. Incremental integratsiyaning boshqa afzalliklari orasida xatolarning joylashishini osonlashtirish, yaxshilangan jarayon monitoringi, to'liq sinovdan o'tgan birliklar va boshqalar kiradi.
Xulosa

Ko'proq moslashuvchanlikka erishish uchun dastur ko'pincha o'zgaruvchilarning kech ulanish vaqtini qo'llab-quvvatlash uchun tuziladi. Ish vaqti konfiguratsiyasi - bu dastur ishlayotgan vaqtda o'zgaruvchan qiymatlar va dastur sozlamalarini bog'laydigan texnikadir, odatda konfiguratsiya fayllarini o'z vaqtida yangilash va o'qish orqali. Xalqarolashtirish - bu bir nechta mahalliy tillarni qo'llab-quvvatlash uchun dasturni, odatda interaktiv dasturiy ta'minotni tayyorlashning texnik faoliyati. Tegishli faoliyat, mahalliylashtirish - bu ma'lum bir mahalliy tilni qo'llab-quvvatlash uchun dasturni o'zgartirish faoliyati. Interfaol dasturiy ta'minot o'nlab yoki yuzlab so'rovlar, holat displeylari, yordam xabarlari, xato xabarlari va hokazolarni o'z ichiga olishi mumkin. Dizayn va qurilish jarayonlari qatorlar va belgilar to'plami bilan bog'liq muammolarni, shu jumladan qaysi belgilar to'plamidan foydalanishni, qanday qatorlarni ishlatishni, kodni o'zgartirmasdan satrlarni qanday saqlashni va satrlarni turli tillarga minimal ta'sir bilan tarjima qilishni o'z ichiga olishi kerak. ishlov berish kodi va foydalanuvchi interfeysi.
unumdorlikni tahlil qilish vositalari odatda kodni sozlashni qo'llab-quvvatlash uchun ishlatiladi. Eng keng tarqalgan ish faoliyatini tahlil qilish vositalari profillash vositalaridir. Bajarish profilini yaratish vositasi ishlayotgan vaqtda kodni kuzatib boradi va har bir bayonot necha marta bajarilganligini yoki dastur har bir bayonot yoki bajarish yo'liga qancha vaqt sarflaganligini qayd qiladi. Ishlayotgan vaqtda kodni profillash dastur qanday ishlashi, faol nuqtalar va ishlab chiquvchilar kodni sozlash harakatlariga e'tibor qaratishlari kerakligi haqida tushuncha beradi. ko'rsatilgan o'zgaruvchilarning qiymatlariga qiziqish nuqtasida ta'sir qilishi mumkin, bu kesish mezoni deb ataladi. Dasturni kesish xatolar manbasini aniqlash, dasturni tushunish va optimallashtirish tahlili uchun ishlatilishi mumkin. Dasturlarni kesish vositalari statik yoki dinamik tahlil usullaridan foydalangan holda turli dasturlash tillari uchun dastur bo'laklarini hisoblab chiqadi.
Modellashtirish keng qo'llaniladigan atama bo'lib, xulq-atvor va tizimli modellardan simulyatsiyaga asoslangan metodologiyalargacha bo'lgan turli xil tushunchalarga nisbatan qo'llaniladi. Keng atamalar yoki keng tushunchalar bilan bog'liq qiyinchilik, albatta, ularning sizning arizangizga qachon, qaerda va qanday qo'llanilishini bilishdir.
O'rnatilgan tizim dizayni bilan bog'liq bo'lgan modellashtirishning tegishli ta'rifi nima ?
Modellashtirish, o'zining eng mavhum ma'nosida, tizimni amalga oshirish orqali osonlikcha, tabiiy ravishda yoki etarli darajada qo'lga kiritilmaydigan tizimning aspektini tavsiflash va / yoki muloqot qilish uchun qandaydir vakillik yaratilgan metodologiyadir. Biz "arxitektura modellashtirish" sifatida vaqt o'tishi bilan aktyorlar yoki funktsiyalar va ob'ektlarni, ularning holatini, kirishlarini, tuzilishini va ko'rinishini tavsiflashga qaratilgan modellashtirish sohasiga bemalol murojaat qilamiz. Biz har qanday tizim ob'ektining xatti-harakatlarini taqlid qilishga qaratilgan modellashtirish sohasini "simulyatsiya modellashtirish" deb nomlaymiz.
Quyidagi 3.1- rasmda 1980-yillarda Veyzman fan instituti xodimi Devid Xarel tomonidan ixtiro qilingan klassik davlat diagrammasi ko'rsatilgan. Harel holat diagrammalariga ierarxiya, parallellik va aloqani qo'shish orqali davlatning yanada ifodali shaklini yaratdi.diagramma. U diagrammani ixtiro qildi, u murakkab avionika tizimini loyihalashda yordam berdi , ehtimol bunday tizim uchun mavjud vositalar yo'qligini topdi. 1990-yillarda davlat diagrammasi Yagona modellashtirish tili (UML) spetsifikatsiyasi doirasida xatti-harakatlar diagrammasi sifatida qabul qilingan.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.1-rasm . Klassik holat diagrammasi xatti-harakatlar diagrammasini ifodalaydi.
Klassik holat diagrammasi ikkita asosiy konstruktsiyadan iborat: holatlar va o'tishlar. 3.1 - rasmda davlat diagrammasi mashinaning qanday ishlashini ko'rsatish uchun beshta holat va ettita o'tishga ega oddiy avtomatni tasvirlaydi. Mashina "bo'sh" holatda ishga tushadi va tangalar kiritilganda "tangalarni sanash" holatiga o'tadi. Holat diagrammasi mashina tanlashni kutayotganda, soda tarqatganda va o'zgarish berganda qo'shimcha holatlar va o'tishlarni ko'rsatadi.
Ierarxiya va parallellikdan tashqari, davlat diagrammalari 3.2 -rasmda ko'rsatilganidek, ularni murakkab o'rnatilgan tizimlar uchun qimmatli qiladigan xususiyatlarga ega . Davlat diagrammalarida tarix kontseptsiyasi mavjud bo'lib, u o'ta davlatga qaysi substata ilgari faol bo'lganini "eslab qolish" imkonini beradi. Misol uchun, moddani quyib, keyin uni isitadigan mashinani tasvirlaydigan super holatni ko'rib chiqing. To'xtash hodisasi to'kish paytida mashinaning ishlashini to'xtatib qo'yishi mumkin. Rezyume hodisasi sodir bo'lganda, mashina quyishni davom ettirishni eslaydi.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.2-rasm . “Tarix” tushunchasini ham taqdim etuvchi davlat diagrammasi.
Ushbu ikkala diagramma turi umumiy tizim xatti-harakatlarini ifodalaydi, shu bilan birga umumiy tizim ichidagi asosiy holatlar va xatti-harakatlarni vizual ravishda tavsiflaydi.
3.3-rasm , aksincha, tizim ichidagi FIFO elementi uchun simulyatsiya modelini ifodalaydi. FIFO - yoki birinchi kiruvchi, birinchi chiqadi - dasturiy ta'minot elementi - bu ma'lumotlaringizni qachon olish bo'yicha vaqtga nisbatan tartibga solish va manipulyatsiya qilish usuli. Yuqoridagi holatda, FIFO avtobus orqali ikkita apparat qurilmasi o'rtasidagi aloqani modellashtirish uchun ishlatilishi mumkin. FIFO ta'rifi asosiy o'qish va yozish operatsiyalari, FIFO soni va boshqalarni ta'minlaydigan FIFO tushunchasiga asosiy abstraktsiya va interfeyslarni beradi. Taxminlarga ko'ra, VHDL (VHSIC apparat tavsifi tili) haqiqiy tizimda yoki VHDL simulyatori orqali tizimni modellashtirish uchun qayta ishlatilishi mumkin. Dizaynerlar va amalga oshiruvchilar ushbu interfeys ta'rifi bo'yicha kelishib olishadi va keyin vaqt o'tishi bilan FIFO orqali kutilgan ma'lumotlar uzatishni taqlid qiluvchi ma'lumotlarni taqdim etish uchun ilovalarni taqdim etadilar.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.3-rasm . Oddiy FIFO simulyatsiya ob'ekti.
Shuni ta'kidlash kerakki, kod parchasi tizim haqida juda ko'p arxitektura ma'lumotlarini vizual ravishda etkazib bermasa ham, u element va uning interfeysining muhim abstraktsiyasini ifodalaydi, bu esa API chegarasida ikkala birlik sinovini o'tkazish imkonini beradi.va FIFO ning simulyatsiya qilinadigan namunasi va FIFO mexanikasi va cheklovlari bilan haqiqiy avtobus o'rtasida almashinadigan qurilish tizimlari.
Ideal holda, sizning modellashtirishingizning arxitektura va simulyatsiya jihatlari dizaynni yaxshiroq tushunish, dizayn, sinov va amalga oshirish artefaktlaridan ko'proq qayta foydalanish , sinov va disk raskadrovka bosqichlarining oldingi va qattiqroq integratsiyasi va dizayn va amalga oshirish o'rtasida tezroq iteratsiyani taqdim etishi kerak.
Eng muhimi shundaki, simulyatsiya modellashtirish rivojlanish bosqichlarini avvalroq va parallel ravishda bajarishga imkon beradi, bu an'anaviy metodologiyalardan, xususan, dizayn jihatidan juda ketma-ket bo'lgan sharshara yondashuvlaridan keskin farq qiladi.
Muhandislik va dizayn vazifalari uchun, ayniqsa o'rnatilgan tizimlar bilan bog'liq, siz odatda dastur dizaynini qo'pollashtirish yoki ramkalash uchun dastlabki yondashuv sifatida dasturiy ta'minotni modellashtirishning ba'zi shakllaridan foydalanasiz. Dasturiy ta'minot modellari formati, tafsilotlari darajasi va funksionalligi jihatidan juda farq qiladi - shunchalik ko'pki, ba'zi o'rnatilgan muhandislar hatto modellashtirishni ham anglamaydilar. Ba'zi dasturiy ta'minot modellari xatti-harakatlardir; ba'zilari shunchaki tushunish va arxitektura uchun ko'rgazmali qurollar bo'lsa, boshqalari ko'proq shunga o'xshash ilovalar o'rtasida izchillikni ta'minlash yoki jamoalar o'rtasidagi muloqotni osonlashtirish uchun asos sifatida ishlatiladi.muhandislar. Aslini olganda, dasturiy ta'minotni modellashtirish doskadagi funktsional elementlar va ularning o'zaro munosabatlarini ko'rsatadigan eskizlardan tortib, UML kabi ancha murakkab va qat'iy modellashtirish faoliyati va ramkalarigacha bo'lgan masofani o'z ichiga oladi ( 3.4-rasm ). Unified Modeling Language (UML) - dasturiy ta'minot muhandisligi bilan bog'liq ilovalarda ko'pincha ishlatiladigan ob'ektni modellashtirish va spetsifikatsiya qilish tili.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.4-rasm . Dasturiy ta'minotni modellashtirish doskadagi eskizlardan tortib ancha murakkab va qat'iy harakatlar, tillar va ramkalargacha.
O'rnatilgan tizim dizayneri uchun qiyinchilik ularning o'ziga xos holati va muammosi uchun modellashtirishning qaysi turi va darajasi eng mos kelishini bilishdir. Aslida, bu to'g'ri ish uchun to'g'ri vositani tanlashning qadimgi san'ati haqida. Katta, murakkab, ko'p jamoaviy harakatlar uchun UML orqali tizimlarning rasmiy spetsifikatsiyasi dizaynning to'g'riligini va jamoalar o'rtasidagi aloqa samaradorligini oshirishi mumkin. Boshqa tomondan, juda oddiy o'rnatilgan tizimda ishlaydigan bitta ishlab chiquvchi yoki kichik jamoa uchun u haddan tashqari og'ir bo'lishi va umuman jamoa samaradorligini susaytirishi mumkin. Xuddi shu kelishuvlar simulyatsiya modellashtirish uchun ham amal qiladi. Tizim simulyatsiyaga muhtojmi yoki yo'qligi ko'p jihatdan o'rnatilgan tizimning o'ziga va o'rnatilgan tizim o'zaro ta'sir qiladigan real dunyo elementlarining tabiatiga bog'liq.
Misol uchun, agar o'rnatilgan tizim o'rni yoki kalitning oddiy raqamli boshqaruviga ega bo'lgan keng tarqalgan va oddiy protsessorga asoslangan tizim bo'lsa, protsessor va o'rni uchun simulyatsiya modellarini ishlab chiqish protsessor va protsessorda to'g'ridan-to'g'ri amalga oshirishdan tashqari ko'p foyda keltirmaydi. raqamli boshqaruvni amalga oshirish uchun oddiy sinov jabduqlari. Boshqa tomondan, agar o'rnatilgan tizim maydonda dasturlashtiriladigan eshik massivini (FPGA) o'z ichiga olgan bo'lsa va qimmat va murakkab real dunyo qurilmasini boshqarayotgan bo'lsa, vaqtni talab qilmaslik uchun FPGA-da boshqaruv mantiqini simulyatsiya qilish mantiqiy bo'lishi mumkin. FPGA sintezi, shuningdek, uni shikastlamaslik yoki yo'q qilmaslik uchun qimmat real dunyo qurilmasini simulyatsiya qilish.
Modellashtirish tili nima?
Modellash tillari, xuddi dasturlash tillari kabi, tizimli va funktsional aktyorlarni va ularning vaqt o'tishi bilan asosiy munosabatlarini ifodalash uchun ishlatiladigan yaxshi belgilangan va standart til grammatikasidir. Vaqt o'tishi bilan va muayyan domenlar uchun modellashtirish tillarining turli shakllari rivojlandi. Modellashtirish tillarini baholashda yodda tutish kerak bo'lgan asosiy tushunchalardan biri bu til eng mos keladigan maxsus domendir. Berklidagi Kaliforniya universiteti domenga xos modellashtirish tillarining umumiy g'oyasini qamrab olish uchun "hisoblash modeli" atamasini aniqladi, bu modellashtirish tillari ma'lum bir mavzuga mos kelganda dizaynerga eng yuqori samaradorlikni ta'minlaydigan tanqidiy tushunchani belgilaydi. muammoli domen. Bu kuzatilgan amaliyotdan ham intuitiv, ham to'g'ri, lekin biz bilgan dizaynerlar va modelerlar, dasturchilar kabi,
Modellashtirish tillari ko'p shakllarga ega va ko'pincha grafik yoki matnli bo'ladi.
Grafik modellashtirish tillari cheklovlarni ifodalash uchun belgilarni bog'laydigan va munosabatlarni va boshqa turli xil grafik belgilarni ifodalovchi tushunchalar va chiziqlarni ifodalovchi nomlangan belgilar bilan diagramma texnikasidan foydalanadi.
Matnli modellashtirish tillari odatda standartlashtirilgan kalit so'zlardan kompyuter tomonidan talqin qilinadigan ifodalarni yaratish uchun parametrlar bilan birga foydalanadi.
Baholash uchun tillarni modellashtirishning bir necha asosiy jihatlari mavjud; grafik va matn; hujjatlar, simulyatsiya yoki bajarishga yo'naltirilgan va arxitektura darajasidagi tarkibga yoki amalga oshirish darajasidagi tarkibga qaratilgan. 3.5-rasmda ushbu o'lchamlar tasvirlangan va bir nechta standart modellashtirish texnikasi va yondashuvlari keltirilgan. UML va uning keyingi diagrammalari hujjatlashtirish va arxitekturaga yo'naltirilgan modellashtirish diagrammalarida ustunlik qiladi. C, C# va boshqa yuzlab dasturlash tillarining standart amalga oshirish tillari diagrammada ko'rsatilgan amalga oshirish va bajarishga yo'naltirilgan katakka mos keladi. Eng ko'zga ko'ringan gibrid yoki ikki maqsadli modellardan biri davlat diagrammalari va ularning chekli holat mashinalaridir .(FSMlar). Ushbu modellashtirish tillari yuqori darajadagi arxitektura ko'rinishini olishda foydalidir va yuqori aniqlikdagi va tabiiy xaritalash bilan simulyatsiyada ishlashga qodir - yoki tilni kompilyator/bajarish mexanizmiga osongina xaritalash qobiliyati. Vaqtga asoslangan simulyatsiya kabi modellar algoritmik simulyatsiyani belgilashi mumkin, lekin keyin C, VHDL yoki G kabi ijro etuvchi dominant dasturlash tillaridan biriga kod yaratish bosqichini talab qiladi. Kod yaratish sifati, tabiiyligiUlarning yordamida modelni bajarish uchun xaritalash mumkin va modelning ekspressivligi kengligi simulyatsiyaga asoslangan yondashuvning sifatini belgilaydi. Ma'lumotlar oqimini modellashtirish amalga oshirish simulyatsiyasi va bajarilishini amalga oshirishni o'z ichiga oladi. Ko'pgina ma'lumotlar oqimi tillari juda vizual (odatda grafik) va dizayningiz arxitekturasini ifodalashda juda yaxshi ish qiladi - bu, albatta, an'anaviy matnga asoslangan modellashtirish dasturiy paketlaridan ko'ra ko'proq.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.5-rasm . Baholash uchun tillarni modellashtirishning bir necha asosiy jihatlari mavjud; grafik va matn; hujjatlar, simulyatsiya yoki bajarishga yo'naltirilgan va arxitektura darajasidagi tarkibga yoki amalga oshirish darajasidagi tarkibga qaratilgan.
Odatiy o'rnatilgan boshqaruv ilovasiga qo'llaniladigan simulyatsiyaga yo'naltirilgan modellarni o'rganayotganda, muayyan amalga oshirishdagi asosiy teginish nuqtalarini ta'kidlash qiziq. Ushbu nuqtalar ko'pincha abstraktsiyalarni aniqlash uchun foydali joy bo'lib xizmat qiladi, shunday qilib tizimning istalgan bir qismini simulyatsiya qilingan tizim elementi va haqiqiy tizim elementi o'rtasida almashish mumkin. 3.6-rasmo'rnatilgan boshqaruv tizimining odatiy namunasini ko'rsatadi, unda haqiqiy yoki simulyatsiya qilingan, boshqaruvchi, haqiqiy yoki simulyatsiya qilingan, shuningdek, real yoki simulyatsiya bo'lishi mumkin bo'lgan nazorat boshqaruv tizimi haqida ba'zi tushunchalar mavjud. Ushbu asosiy tizim elementlarining har biri o'rtasida siz muhim aloqa yo'llarini (tarmoq va I/U) dizayndagi mavhumlik uchun asosiy nuqtalar sifatida aniqlashingiz mumkin. Buni yaxshi bajarish uchun intizom (hujjatlangan, izchil) dizayningizni takomillashtirishda haqiqiy va simulyatsiya qilingan komponentlar o'rtasida almashish imkonini beradi.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.6-rasm . Haqiqiy yoki simulyatsiya qilingan o'simlik, haqiqiy yoki simulyatsiya qilingan boshqaruvchi va real yoki simulyatsiya bo'lishi mumkin bo'lgan nazorat boshqaruv tizimi haqida ba'zi tushunchalar mavjud bo'lgan odatiy o'rnatilgan boshqaruv tizimi namunasi.
Ushbu bobning qolgan qismida biz o'rnatilgan tizimingizni aniq belgilangan tuzilishga, komponentlar o'rtasidagi munosabatlarni aniq vizuallashtirishga, aniq belgilangan abstraktsiyalarga ega bo'lgan dizaynni qanday qilib juda samarali va samarali o'rnatilgan dizaynlarga imkon berishini muhokama qilamiz.
Modellashtirish tillariga misollar
Modellashtirishning mavhum ko'rinishidan chiqib, biz bir nechta turli xil dasturiy yondashuvlar bilan amalda qanday ko'rinishini ko'rishimiz mumkin. Quyida biz PID boshqaruv algoritmidan foydalanamiz (umumiyProportsional-integral lotin yoki PID kontrollerga asoslangan umumiy teskari aloqa davriga asoslangan boshqaruv dasturlarida ishlatiladigan algoritm, shuningdek, turli xil vizual va amalga oshirish imkoniyatlarini ko'rishga yordam beradi ( 3.7 - rasm, 3.8 - rasm, 3.9 -rasm, rasm ) 3.10 , 3.11 - rasm, 3.12 -rasm ). Ushbu kod parchalarini skanerlaganingizda, ushbu abstraksiya chegaralarini yaratishdagi qiymat va farqlarga e'tibor bering - ba'zilari aniq, ba'zilari esa mavjud emas.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.7-rasm . PID boshqaruv algoritmining hujjatlari. Proportsional-integral lotin yoki PID kontrollerga asoslangan umumiy qayta aloqa davriga asoslangan boshqaruv dasturlarida ishlatiladigan umumiy algoritm - grafik dastur ko'rinishida taqdim etilgan.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.8-rasm . C kodi: matn, ijro, amalga oshirish tili.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.9-rasm . Vaqtga asoslangan simulyatsiya: grafik, amalga oshirish, simulyatsiya vositasi.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.10-rasm . Davlat diagrammasi: grafik, arxitektura va amalga oshirish vositasi.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.11-rasm . Ma'lumotlar oqimi: grafik, arxitektura va amalga oshirish uchun dasturiy ta'minot.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.12-rasm . 3.11 -rasmdagi bir xil ma'lumotlar oqimi diagrammasining kichraytirilgan ko'rinishi .
Barcha modellashtirish tillari bajarilmaydi va mavjud bo'lganlar uchun ulardan foydalanish dasturchilar endi talab qilinmaydi degani emas. Aksincha, bajariladigan modellashtirish tillari malakali mutaxassislarning samaradorligini oshirishga qaratilgan.dasturchilar, shuning uchun ular taqsimlangan tizimlar va parallel hisoblashlar kabi yanada murakkab muammolarni hal qilishlari mumkin.
Ba'zi modellashtirish tillari yuqori darajadagi arxitektura modelini ta'minlash xususiyatlarini, shuningdek, o'rtacha miqdordagi ifodalilikni birlashtiradi va shuningdek, osonlik bilan amalga oshirilishi mumkin.amalga oshirish xaritasi. Davlat diagrammalari, xususan, chekli holat mashinalari , bu xususiyatlarni yaxshi birlashtiradi. Ideal modellashtirish tili kodning me'moriy jihatlarini aniq ifodalaydi, to'liq ochiq dasturlash tillari kabi ifodali bo'ladi va oddiygina bajarish uchun xaritani yaratadi.
V diagrammasi va'da qiladi
Keling, o'rnatilgan maydonda umumiy vizualni ko'rib chiqaylik - o'rnatilgan boshqaruv "V diagrammasi" tasvirlangan 3.13 -rasm, ko'pincha o'rnatilgan modellashtirishni ishlab chiqish tsiklini tasvirlash uchun ishlatiladi. V dastlab turli xil dasturiy ilovalarni loyihalash jarayonini qamrab olish uchun ishlab chiqilgan. Ushbu diagrammaning bir nechta versiyalari mahsulot dizaynining turli davrlarini tavsiflash uchun topilishi mumkin. 3.13- rasmda avtomobil, aerokosmik va mudofaa dasturlari uchun umumiy bo'lgan o'rnatilgan boshqaruv dasturlarini loyihalash siklini ifodalovchi bunday diagrammaning bir misoli ko'rsatilgan.


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.13-rasm . "V" diagrammasi. Ko'pincha o'rnatilgan dasturiy ta'minotni ishlab chiqish jarayonini tasvirlash uchun ishlatiladi.
V diagrammada rivojlanish bosqichlarining vaqt bo'yicha umumiy rivojlanishi chapdan o'ngga ko'rsatilgan. Ammo shuni yodda tutingki, bu ko'pincha iterativ jarayondir va haqiqiy rivojlanish ushbu bosqichlar orqali chiziqli davom etmaydi. Tez rivojlanishning maqsadi dizayn uchun zarur bo'lgan iteratsiyalarni minimallashtirish orqali ushbu tsiklni iloji boricha samaraliroq qilishdir. Agar diagrammaning x o'qi vaqt deb hisoblansa, maqsad diagrammaning ikki oyog'ini yaqinroq chizish orqali "V" ni iloji boricha toraytirish va shu bilan rivojlanish vaqtini qisqartirishdir. Ushbu diagrammaning y o'qini tizim komponentlari ko'rib chiqiladigan daraja deb hisoblash mumkin.
Rivojlanishning dastlabki bosqichida umumiy tizim talablari hisobga olinishi kerak. Tizim quyi tizimlar va komponentlarga bo'linganligi sababli, biz apparat arxitekturasini amalga oshirishni xaritalash nuqtasiga qadar juda past darajadagi jarayonlarni topamiz.
Keyinchalik komponentlar birlashtiriladi va butun tizim yakuniy ishlab chiqarish sinoviga kirishi mumkin bo'lgunga qadar birgalikda sinovdan o'tkaziladi. Shuning uchun diagrammaning yuqori qismi yuqori darajadagi tizim ko'rinishini va diagrammaning pastki qismi juda past darajadagi amalga oshirish va xaritalash ko'rinishini ifodalaydi.
An'anaga ko'ra, jarayonning har bir bosqichida ishtirok etgan muhandislar spetsifikatsiya, dizayn, kodlash va sinov faoliyati o'rtasidagi qat'iy chegaralarni kuzatdilar.bosqichlarning har biri o'rtasidagi aloqani ta'minlash uchun dizayn hujjatlari, va V umumiy oqimi doirasida asboblar bevosita almashishni osonlashtirmadi, asbob-uskunalar va dizayn va sinovdan qayta foydalanish va umumiy jamoa hamkorligida katta uzilishlarga olib keldi.
Xo'sh, nima uchun siz o'rnatilgan tizimingizni modellashni xohlaysiz?
Ta'riflangan "V" diagramma jarayoni turli kamchiliklardan aziyat chekadi, jumladan, hujjatlarni yangilab turish qiyinligi, chunki, odatda, ko'pchilik tashkilotlarda hujjatlarni dizayn va amalga oshirish bilan sinxronlashtirish uchun intizom va/yoki asboblar yo'q, chunki ikkalasi ham takomillashtirilgan. Hujjatlarning "drift" ga o'xshab, ko'pincha dizayn niyati va amalda amalga oshirish o'rtasida siljish mavjud.
Yaxshi integratsiyalangan modellashtirish yondashuvi tizim hujjatlari, dizayn, testlar va amalda amalga oshirish o'rtasidagi o'zgarishlarni sezilarli darajada kamaytirishi mumkin.
Modellashtirish loyihalash, sinovdan o'tkazish va amalga oshirish guruhlarini qurilgunga qadar kutilayotgan yakuniy tizim modelini loyihalashtirishga "majburlash" orqali ushbu siljishni kamaytiradi. Ushbu asosiy shart barcha sohalardagi dizayn guruhlari tomonidan ko'pincha o'tkazib yuboriladigan asosiy farqlovchi intizomni majburlaydi, bu haqiqiy amalga oshirilmaydigan ishlaydigan model yoki simulyatsiya. Shunday qilib, model dizaynning dastlabki mulohazalarini tekshirish, tizim talablarini ishlab chiqish uchun ishlatiladi va yangi paydo bo'lgan modelga qarshi ishlaydigan testlarni erta ishlab chiqishga yordam beradi. Ushbu imtiyozlarning aksariyatini modellashtirish dasturiy yondashuvisiz ehtiyotkorlik bilan boshqariladigan tashkiliy intizom orqali olish mumkin edi, ammo amaliyot shuni ko'rsatdiki, juda kam sonli jamoalar modelga asoslangan ko'rinish va yoki uni osonlashtiradigan vositalardan foydalanish intizomiga ega.
Yuqorida sanab o'tilgan asosiy afzalliklarga qo'shimcha ravishda, o'rnatilgan tizim muammolarining ayrim sinflari uchun modellashtirish yondashuvlari bevosita qo'shimcha samaradorlik va aniqlik ortishiga olib keladi.
Samaradorlikni shu ma'noda samarali vaqt va/yoki xarajatlar nuqtai nazaridan samaradorlik sifatida aniqlash mumkin. "Buni noto'g'ri qilish narxi" jadvalida ko'rib turganingizdek, o'rnatilgan dizayn tsiklining boshida dizayn muammolarini topish shubhasiz ko'proq xarajat va vaqtni tejaydi. Modellashtirish, to'g'ri texnika va to'g'ri vositalardan foydalanish jamoalarga muammolarni erta aniqlashga yordam beradi. Modellashtirish ko'pincha yakuniy o'rnatilgan maqsadda kompilyatsiya va iteratsiyalar sonini kamaytirish orqali keyingi rivojlanish vaqtini tejaydi, chunki ko'proq vaqtni apparatga yakuniy joylashtirishga emas, balki V ning yuqori qismidagi muammolarni hal qilishga sarflash mumkin. Misol uchun, agar siz FPGA-ga asoslangan o'rnatilgan ilovani loyihalashtirayotgan bo'lsangiz, dizayningizning murakkabligiga qarab sintez va o'rnatish har bir iteratsiya uchun soat yoki kun vaqt olishi mumkin. Tizimni oldindan to'g'ri modellashtirish orqali,
Modellashtirish ko'pincha turli dizayn variantlarida takrorlash tezligini oshirish orqali aniqroq va aniqroq echimga olib keladi. Tweaking sikl vaqtini qisqartirish orqalialgoritmga ko'ra, jamoalar kirishlar, chiqishlar va algoritm kombinatsiyalarining ko'plab turli kombinatsiyalari bilan tajriba o'tkazish ehtimoli ko'proq. Tizim yanada aniqroq bo'lishining yana bir usuli - bu tashkilotingizdagi dizayn va sinov guruhlari o'rtasida o'rnatilgan umumiylikdir.
O'rnatilgan tizimingiz modelini loyihalash orqali siz o'rnatilgan dizaynerlar dizaynni optimallashtirish uchun foydalanishi mumkin bo'lgan umumiy vositani yaratdingiz, so'ngra sinov guruhi orqaga qaytib, sinov paytida dizaynni tasdiqlash uchun foydalanishi mumkin. Model ko'p qirrali va ikkala jamoa uchun ham qo'llaniladi - ko'pincha V diagrammaning markaziy g'oyasida ifodalangan dizayn va sinovning yaqinlashishiga imkon beradi.
O'rnatilgan tizimingizni qachon modellashtirishingiz kerak?
Modellashtirishning ko'plab umumiy afzalliklari mavjud bo'lsa-da, har doim ham har bir o'rnatilgan tizimni modellashtirish kerak emas. Albatta, oddiy tizimlar yoki prototiplar bu darajadagi rasmiyatchilikni talab qilmaydi. Biroq, modellashtirish, agar kerak bo'lmasa, quyidagi tizimlarda juda foydali:

missiya va xavfsizlik uchun muhim ilovalar

juda murakkab ilovalar va tizimlar

katta rivojlanish guruhlari

boshqa tanlov yo'q - prototiplash variant bo'lmaganda.
Missiya va xavfsizlik uchun muhim ilovalar
Dasturiy ta'minot umumiy tizimning ulushi sifatida barcha o'rnatilgan tizimlarda tez o'sib bormoqda, lekin ayniqsa muhim vazifa va xavfsizlik uchun muhim ilovalarda. "Muhim vazifa" ta'rifi siz kim bilan gaplashayotganingizga qarab farq qilishi mumkin, lekin umuman olganda, bu ishlamay qolishi katta miqdordagi pulga olib kelishi, shikastlanishga olib kelishi yoki kompaniya obro'siga jiddiy putur etkazishi mumkin bo'lgan har qanday dasturga tegishli. Missiya va xavfsizlik uchun muhim tizimlar uchun dasturiy ta'minotni modellashtirish, dasturiy ta'minot injiniringidagi eng yaxshi amaliyotlar va DO-254B kabi rasmiy sanoat standartlari xavfsiz va ishonchli o'rnatilgan tizimlarni osonlashtirish va kafolatlash uchun birlashadi.
O'rnatilgan tizimlarda ko'proq dasturiy ta'minot tarkibini ko'rib turibmiz, hukumatlar va sanoat umumiy dizayn jarayonida talab qilinadigan qoidalarni ishlab chiqmoqda. Odatda, ular hujjatlashtirilgan qog'oz izlari bilan rasmiy talablarni kuzatish, dizayn talablarining kodga aniq bog'liqligi va dizayn talablarining har birini tasdiqlovchi testlarning juda aniq korrelyatsiyasi bilan boshlanadi. Eng idealistik ma'noda, biz dizayn bo'yicha to'g'ri echimlarni yoki isbotlanishi mumkin bo'lgan to'g'ri tizimlarni yaratadigan dizayn vositasi va modellash tilini qidiramiz, ammo bu nazariy jihatdan erishish mumkin bo'lgan tizimlar mavjud bo'lmaganda, ko'pchilik "haqiqiy" o'rnatilgan tizimlar ayniqsa.xavfsizlik-tanqidiy dasturiy ta'minotni modellashtirish yondashuvlari bilan dasturiy ta'minot muhandisligining eng yaxshi amaliyotlari birlashmasidan katta foyda keltirishi mumkin.
Juda murakkab ilovalar va tizimlar
Har bir o'rnatilgan tizim hisoboti yoki o'rnatilgan hamjamiyat so'rovi bizning dizaynlarimizning keskin murakkabligi va qisqargan vaqt jadvallari haqida gapiradi.
O'rnatilgan dizayndagi murakkablik evolyutsiyasini ta'kidlash uchun misol sifatida, quyidagi ro'yxat turli apparat va dasturiy ta'minot tizimlarida turli xil apparat imkoniyatlari va dasturiy ta'minot tarkibi haqida bir nechta faktlarni ko'rsatadi:

Apollo Guidance Computer (AGC) <64 kilowords, 1,024 MHz

1960-yillarning reaktiv qiruvchi samolyoti ~ 50 ming qator

JSF ~ 50 million qator

F-22 Raptor 2,5 million liniyadan foydalanadi, F-35 esa 5,6 million liniyadan foydalanadi.

Zamonaviy avtomobilda 100 million satr kod ( 3.14-rasm ).


  1. Yuklab olish: To'liq o'lchamdagi rasmni yuklab oling

3.14-rasm . Zamonaviy o'rnatilgan tizimlar murakkablik darajasida o'sib bordi.
Avtomobil maydoni uchun o'rnatilgan boshqaruv tizimlari murakkab va tanqidiy dizayn sifatida ko'rib chiqish uchun yaxshi misoldir. Xususan, zamonaviy avtomobil quvvatlarini boshqarish tizimlari modellashtirish texnikasidan foyda ko‘radi, chunki ular talablarni qondirish uchun rivojlanishda davom etishi kerak, shu jumladan tobora qattiqroq standartlarga javob beradigan chiqindi chiqindilarini tartibga solish, korporativ o‘rtacha yoqilg‘i tejamkorligi (CAFE) qoidalariga muvofiq yaxshilangan yoqilg‘i tejamkorligini ta’minlash va mijozlar talablarini qondirish. ishlash va qulaylik uchun. Ushbu maqsadlar o'zaro bog'liq va ko'pinchaziddiyat. Misol uchun, yog'siz yonish texnologiyasi yoqilg'i sarfini sezilarli darajada kamaytirishi mumkin, ammo u uch tomonlama katalitik konversiya samaradorligini kamaytiradi, bu esa havoning qo'shimcha ifloslanishiga olib keladi. Ushbu murakkablik tufayli modellashtirish dizayningizni optimallashtirishning samarali usuli bo'lishi mumkin.
Avtomobil dizayni uchun dasturiy ta'minotni modellashtirishdan foydalanib , siz ko'plab parametrlarni o'zgartirish orqali umumiy dizaynning ta'sirini osonroq tushunishingiz mumkin. Birlashgan Qirollikdagi bir avtomobil dizayn uyi - Visteon - bu qiyinchilikka duch keldi. Ular murakkab avtomobil dvigatelini tasdiqlash uchun bir nechta o'zgaruvchilarni simulyatsiya qilish uchun dasturiy ta'minotni modellashtirish usullaridan foydalanganlar ( 3.15-rasm ).eng yaxshi yoqilg'i tejamkorligiga, dvigatelning ishlashiga va emissiya nazoratiga erishish uchun dizaynlar. Loyihalardan biri egizak mustaqil o'zgaruvchan eksantrik mili vaqtini belgilash dvigatelini loyihalash edi, bu erda ham kirish va chiqarish eksantrik milleri mustaqil ravishda sozlanadi. O'zgarish gaz kelebeği holatiga va dvigatel tezligiga bog'liq. Tizim dvigatelning ishlashini olish uchun juda ko'p erkinlik darajalarini taklif qilganligi sababli, ular real vaqt rejimida juda murakkab boshqaruvni tushunish va amalga oshirishda eng yaxshi yoqilg'i tejash, dvigatelning ishlashi va emissiya nazorati uchun klapan vaqt parametrlarini optimallashtirish usuliga muhtoj edi. Ushbu dizayndan kelib chiqadigan algoritm.
Download 115.49 Kb.

Do'stlaringiz bilan baham:




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