Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi 20-ma'ruza: Dasturiy ta'minot evolyutsiyasi ÿ Dasturiy ta'minot evolyutsiyasi asoslari ÿ Dasturiy ta’minot evolyutsiyasi qonunlari ÿ Talablarning o‘sishi ÿ Dasturiy ta’minotning qarishi ÿ O‘zgarishlarni boshqarish asoslari ÿ Bazalar, o‘zgartirish so‘rovlari va konfiguratsiyani boshqarish ÿ Dasturiy ta'minot oilalari - mahsulot liniyasi yondashuvi ÿ Talablar kuzatilishi ÿ Kuzatilishining ahamiyati ÿ Kuzatuv vositalari © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 1 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Dastur turlari ÿ S Manba: Lehman 1980 dan moslashtirilgan, pp1061-1063 tipidagi dasturlar ("Ma'lum") ÿ muammo rasmiy va to'liq ifodalanishi mumkin ÿ qabul: Dastur o'z spetsifikatsiyasiga muvofiq to'g'rimi? ÿ Ushbu dasturiy ta'minot rivojlanmaydi. ÿ Spetsifikatsiyani o'zgartirish yangi muammoni, demak, yangi dasturni belgilaydi ÿ P tipidagi dasturlar (“Muammolarni hal qilish”) ÿ real muammoning noaniq bayoni ÿ qabul qilish: dastur muammoning maqbul yechimimi? ÿ Ushbu dasturiy ta'minot doimiy ravishda rivojlanishi mumkin ÿ chunki yechim hech qachon mukammal bo'lmaydi va uni yaxshilash mumkin ÿ chunki real dunyo o'zgaradi va shuning uchun muammo o'zgaradi ÿ Elektron turdagi dasturlar (“O‘rnatilgan”) ÿ O'zi modellashtiradigan dunyoning bir qismiga aylanadigan tizim ÿ qabul qilish: butunlay fikr va mulohazalarga bog'liq ÿ Bu dasturiy ta'minot tabiatan evolyutsion xususiyatga ega ÿ dasturiy ta'minotdagi o'zgarishlar va dunyo bir-biriga ta'sir qiladi. © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 2 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Manba: Lehman 1980 dan moslashtirilgan, pp1061-1063 rasmiy bayonot ga tegishli muammoning bo'lishi mumkin ishlab P-turi chiqarishni nazorat qiladi o'zgartirish haqiqiy dunyo DASTUR haqiqiy dunyo dunyoning mavhum ko'rinishi qiziqtirishi mumkin yechim beradi S-turi solishtiring o'zgartirish talablar spetsifikatsiyasi E-turi haqiqiy dunyo yechim DASTUR o'zgartirish DASTUR dunyoning talablar mavhum ko'rinishi spetsifikatsiyasi model © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 3 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Dastur evolyutsiyasi qonunlari Manba: Lehman 1980 dan moslashtirilgan, pp1061-1063 ÿ Davomli o'zgarish ÿ Ba'zi bir tashqi voqelikni aks ettiruvchi har qanday dasturiy ta'minot doimiy o'zgarishlarga duchor bo'ladi yoki asta-sekin kamroq foydali bo'ladi ÿ o'zgartirish tizimni almashtirish uchun tejamkorroq deb topilmaguncha davo ÿ Murakkablikning ortishi ÿ Dasturiy ta’minotning rivojlanishi bilan uning murakkabligi oshadi… ÿ …agar uni boshqarish uchun choralar ko‘rilmasa. ÿ Dasturlar evolyutsiyasining asosiy qonuni ÿ Dasturiy ta’minot evolyutsiyasi o‘z-o‘zini tartibga soladi ÿ ...statistik jihatdan aniqlanishi mumkin bo‘lgan tendentsiyalar va invariantlar bilan ÿ Tashkilot barqarorligini saqlash ÿ Dasturiy ta'minot tizimining faol hayoti davomida ishlab chiqish loyihasining ish natijasi taxminan doimiy (resurslardan qat'iy nazar!) ÿ Tanishlikni saqlash ÿ Ketma-ket nashrlarda o'zgarish miqdori taxminan doimiy © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 4 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi O'sish talablari Manba: Davis 1988 dan moslashtirilgan, pp1453-1455 ÿDevis 's modeli: an'anaviy rivojlanish ÿFoydalanuvchi ehtiyojlari doimiy ravishda rivojlanib boradi ÿ Vaqt o‘tishi bilan ehtiyojlarning o‘sishini Foydalanuvchi ehtiyojlari ko‘rsatadigan grafikni tasavvur qiling ÿ Chiziqli yoki uzluksiz F unsional ty Nomaqbullik bo‘lmasligi mumkin (shuning uchun masshtab (soyali maydon) ko‘rsatilmagan) ÿAn’anaviy rivojlanish har doim ehtiyojlar o‘sishidan orqada qoladi ÿBirinchiKamchilik nashr faqat amalga oshiriladi. original talablarning bir qismi ÿfunktsional takomillashtirish yangi funksiyalarni Moslashuvchanlik Kechikish qo‘shadi ÿoxiroqibat, keyingi takomillashtirish juda qimmatga tushadi va almashtirish rejalashtirilgan ÿalmashtirish (chiziq qiyaligi) Uzoq umr ko'rish ham uning talablarining faqat bir qismini amalga oshiradi; ÿ va boshqalar... Vaqt bosqichi takomillashtirish birinchi reliz talablarni aniqlash muzlatish va almashtirish yetkazib yaxshilash bosqichi © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 5 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Dasturiy ta'minot eskirish Manba: Parnasdan moslashtirilgan, 1994 yil ÿ Dasturiy ta'minotning qarishi sabablari ÿ O'zgaruvchan ehtiyojlarni qondirish uchun dasturiy ta'minotni yangilamaslik ÿ Agar foyda kommutatsiya xarajatlaridan ko'p bo'lsa, mijozlar yangi mahsulotga o'tadilar ÿ Dasturiy ta'minotdagi o'zgarishlar uning muvofiqligini pasaytiradi. ÿ Dasturiy ta'minotni eskirish xarajatlari ÿ Eskirgan dasturiy ta’minot egalari bozorga moslashishda qiynaladilar ÿ Tuzilishining yomonlashuvi tufayli makon/vaqt unumdorligining yomonlashuvi ÿ Eskirgan dasturiy ta’minot ko‘proq xatoga yo‘l qo‘yadi ÿ Har bir “xato tuzatish” tuzatganidan ko‘ra ko‘proq xatoliklarni keltirib chiqaradi. ÿ Uzoq umr ko‘rish yo‘llari ÿ O‘zgartirish uchun dizayn ÿ Dasturiy ta’minotni diqqat bilan hujjatlashtiring ÿ Talablar va dizaynlar uning uchun mas’ul shaxslar tomonidan ko‘rib chiqilishi kerak. texnik xizmat ko'rsatish ÿ Dasturiy taÿminotni yangilash… © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 6 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Dasturiy ta'minot "xizmat ko'rsatish" Manba: Blumdan moslashtirilgan, 1992, p492-495 ÿ Xizmat falsafalari ÿ “devorga otish” – texnik xizmat ko‘rsatish uchun kimdir mas’uldir ÿ bilim va tajribaga sarmoya yo‘qoladi ÿ texnik xizmat ko‘rsatish teskari muhandislik muammosiga aylanadi ÿ "missiyaga yo'naltirilganlik" - ishlab chiqish guruhi dasturiy ta'minotni saqlash/ takomillashtirish bo'yicha uzoq muddatli majburiyatni oladi. ÿ Bazilining texnik xizmat ko'rsatish jarayoni modellari: ÿ Tez tuzatiladigan model ÿ kod darajasida amalga oshirilgan o'zgarishlar, iloji boricha oson ÿ dasturiy ta'minot strukturasini tezda buzadi ÿ Iterativ takomillashtirish modeli ÿ Mavjud tizim tahlili asosida kiritilgan o'zgarishlar ÿ urinishlar murakkablikni nazorat qilish va yaxshi dizaynni saqlash uchun ÿ To‘liq qayta foydalanish modeli ÿ Yangi tizimga qo‘yiladigan talablardan boshlanadi, iloji boricha qayta foydalanish ÿ Muvaffaqiyatli bo‘lishi uchun etuk qa © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 7 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Talablarni o'zgartirishni boshqarish ÿ Menejerlar talablarning o'zgarishiga javob berishlari kerak ÿ Ishlab chiqish jarayonida yangi talablarni qo'shish ÿ Lekin xususiyatlarning o'zgarishiga yo'l qo'ymaslik ÿ Rivojlanish jarayonida talablarni o'zgartirish ÿ Rivojlanish bu o'rganish jarayoni bo'lgani uchun ÿ Rivojlanish jarayonida talablarni olib tashlash ÿ Xarajat/jadvalning siljishini bartaraf etish uchun ÿ Asosiy metodlar ÿ O‘zgarishlarni boshqarish jarayoni ÿ Relizlarni rejalashtirish ÿ Talablar ustuvorligi (oldingi ma’ruza!) ÿ Talablarni kuzatish mumkinligi ÿ Arxitektura barqarorligi (keyingi haftadagi ma’ruza) © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 8 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi O'zgarishlarni boshqarish ÿ Konfiguratsiyani boshqarish ÿ Har bir alohida mahsulot konfiguratsiya elementi (CI) ÿ Har bir konfiguratsiya elementi versiya nazorati ostida joylashgan ÿ Har bir CI versiyasining qaysi tizim tuzilishiga tegishli ekanligini nazorat qilish ÿ Baselines ÿ Bazaviy chiziq hujjat yoki tizimning barqaror versiyasidir ÿ Jamoa o‘rtasida baham ko‘rish xavfsiz ÿ Keyingi o‘zgarishlarga kiritiladigan o‘zgarishlarni rasmiy tasdiqlash jarayoni asosiy chiziq ÿ O'zgarishlarni boshqarish jarayoni ÿ Barcha taklif qilingan o'zgarishlar rasmiy ravishda o'zgartirish so'rovi sifatida taqdim etiladi ÿ Tekshiruv kengashi ularni vaqti-vaqti bilan ko'rib chiqadi va qaysi birini qabul qilishga qaror qiladi ÿ Tekshiruv kengashi o'zgartirish so'rovlari o'rtasidagi o'zaro aloqani ham ko'rib chiq © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 9 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Dasturiy ta'minot oilalari tomon ÿ Qayta foydalanish mumkin bo‘lgan komponentlar kutubxonalari ÿ domenga xos kutubxonalar (masalan, matematika kutubxonalari) ÿ dastur ishlab chiqish kutubxonalari (masalan, Java AWT, C kutubxonalari) ÿ Domen muhandisligi ÿ Dasturiy ta’minotni ishlab chiqishni ikki qismga ajratadi: ÿ domen tahlili – muammoli domen uchun umumiy qayta foydalanish mumkin bo‘lgan komponentlarni aniqlaydi ÿ ilovalarni ishlab chiqish – muayyan ilovalar uchun domen kompone ÿ Dasturiy ta'minot oilalari ÿ Ko'pgina kompaniyalar tegishli dasturiy ta'minot tizimlarini taklif qilishadi ÿ Dasturiy ta’minot oilasi uchun barqaror arxitekturani tanlang ÿ oilaning turli a’zolari uchun o‘zgarishlarni aniqlang ÿ Qaysi dasturiy ta’minotni ishlab chiqish bo‘yicha biznesning strategik qarorini ifodalaydi ÿ Vertikal oilalar ÿ Masalan, tizimning “asosiy”, “lyuks” va “pro” versiyalari ÿ Gorizontal oilalar ÿ o'xshash tizimlar tegishli sohalarda qo'llaniladi © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 10 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Talablar kuzatilishi ÿ IEEE-STD-830 dan: ÿ Orqaga qarab kuzatuvchanlik ÿ ya’ni rivojlanishning oldingi bosqichlariga. ÿ har bir talabning kelib chiqishi aniq bo'lishi kerak ÿ Oldinga kuzatilishi ÿ ya'ni SRS tomonidan yaratilgan barcha hujjatlarga. ÿ Kelajakdagi hujjatlarda har bir talabga havola qilishni osonlashtirish ÿ har bir talabning o'ziga xos nomi yoki ma'lumot raqamiga ega bo'lishiga bog'liq. ÿ DOD-STD-2167A dan: ÿ Talablar spetsifikatsiyasini kuzatish mumkin, agar: (1) u avvalgi hujjatdagi barcha tegishli qoidalarni o‘z ichiga olgan yoki amalga oshirsa (2) berilgan atama, qisqartma yoki qisqartma barcha hujjatlarda bir xil ma’noni bildirsa (3) ma'lum bir narsa yoki tushuncha hujjatlarda bir xil nom bilan atalgan bo'lsa (4) merosxo'r hujjatdagi barcha materiallar oldingi hujjatda o'z asosiga ega, ya'ni kuzatib bo'lmaydigan (5) ikkita hujjat bir-biriga zid bo'lmasa © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 11 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Kuzatishning ahamiyati Manba: Palmerdan moslashtirilgan, 1996, p365 ÿ Tekshirish va tasdiqlash ÿ testlar to‘plamining muvofiqligini baholash ÿ talablarga muvofiqligini baholash ÿ to‘liqlik, izchillik, ta’sir tahlilini baholash ÿ ortiqcha va kam dizaynni ÿ Hujjatga kirish ÿ katta hajmdagi hujjatlarda ma'lumotlarni tez topish qobiliyati ÿ Jarayonning ko'rinishi ÿ dasturiy ta'minot qanday ishlab baholash ÿ yuqori darajadagi xattiharakatlarning batafsil spetsifikatsiyalarga ta’sirini tekshirish ÿ talablarni qabul qilish ziddiyatlarini aniqlash ÿ qarorlar izchilligini tekshirish hayot tsikli bo'ylab chiqilganligini ko'rish qobiliyati ÿ audit tekshiruvini ta ÿ Menejment ÿ o‘zgarishlarni boshqarish ÿ risklarni boshqarish ÿ rivojlanish jarayonini nazorat qilish ÿ Xizmat ko‘rsatish ÿ O‘zgartirish so‘rovlarini baholash ÿ Dizayn asoslarini kuzatish © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 12 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Kuzatilishdagi qiyinchiliklar Manba: Palmerdan moslashtirilgan, 1996, p365-6 ÿ Narxi ÿ juda kam avtomatlashtirilgan yordam ÿ to‘liq kuzatuv juda qimmat va ko‘p vaqt talab etadi ÿ Kechiktirilgan qoniqish ÿ kuzatuvchanlik havolalarini aniqlaydigan odamlar undan foyda ko'ruvchi odamlar emas ÿ rivojlanishga qarshi V&V ÿ foydaning katta qismi hayot tsiklida kech keladi ÿ sinov, integratsiya, texnik xizmat ko'rsatish ÿ Hajmi va xilma-xilligi ÿ Har xil turdagi hujjatlar, vositalar, qarorlar , mas'uliyatlar , ... © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 13 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Joriy amaliyot Manba: Palmerdan moslashtirilgan, 1996, p367-8 ÿ Qoplama: ÿ talablardan dizayn, kod, sinov holatlariga havolalar, ÿ dizayn, kod, test holatlaridan talablarga havolalar ÿ turli darajadagi talablar o'rtasidagi bog'lanishlar ÿ Kuzatish jarayoni ÿ Har bir jumla yoki paragrafga noyob identifikator raqamini belgilang ÿ Bog'lanishlarni qo'lda aniqlang ÿ Hujjatdagi bog'lanishlarni yozib olish uchun qo'lda jadvallardan foydalaning ÿ Loyihaning keng miqyosda kuzatilishi uchun kuzatuv vositasidan (ma'lumotlar bazasi) foydalaning ÿ Asbob ÿ havolalarni kuzatish imkoniyatini taqdim etadi ÿ topish etishmayotgan havolalar ÿ umumiy kuzatuvchanlikni o'lchash © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 14 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Joriy asboblarning cheklovlari Manba: Gotel & Finkelstein dan moslashtirilgan, 1993, p100 ÿ Axborot bilan bog'liq muammolar ÿ foydali Asboblar kuzatuv ma'lumotlarini kuzatib bo'lmaydi ÿ Masalan, "bu bo'lim uchun kim javobgar" kabi so'rovlarga javob bera olmaydi. ma `lumot?" ÿ oldindan talablarning kuzatilishining etarli emasligi ÿ “bu talab qayerdan kelib chiqqan?” ÿ Kuzatish kerak bo'lgan ma'lumotlarning miqdori va turi bo'yicha kelishuvning yo'qligi… ÿ … ÿ Norasmiy muloqot ÿ Odamlar shaxsiy aloqa va norasmiy muloqotga katta ahamiyat beradi ÿ Bular har doim kuzatuv ma'lumotlar bazasida qayd etilgan narsalarni to'ldiradi ÿ Ammo keyin kuzatuvchanlik ma'lumotlar bazasi hikoyaning faqat bir qismini aytib beradi! ÿ Shunday bo'lsa ham, munosib odamlarni topish muhim muammodir © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 15 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Muammoli savollar Manba: Gotel & Finkelstein dan moslashtirilgan, 1997, p100 ÿ Ishtirok etish ÿ Ushbu talabni ishlab chiqarishda kim va qanday ishtirok etgan? ÿ Mas'uliyat va o'tkazish ÿ Ushbu talab uchun kim javobgar? ÿ Qaysi guruh ushbu talab yuzasidan qaror qabul qilish huquqiga ega? ÿ O'zgartirish ÿ Ushbu talabga qanday o'zgarishlar tegishli? ÿ Manfaatdor tomonlarning o'zgartirilgan ishlari? rivojlanish jarayoni o'zgardi? ÿ Talab uchun javobgarlik qachon o'zgardi? ÿ Xabarnoma ÿ Kim bu taklifga kiritilgan har qanday o‘zgarishlarda ishtirok etishi yoki xabardor qilinishi kera talab? ÿ Bilimni yo'qotish ÿ Muayyan shaxs tark etsa, loyiha bilimining qanday yo'qolishi mumkin? © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 16 Machine Translated by Google Toronto universiteti Kompyuter fanlari kafedrasi Xulosa ÿ Dasturiy ta'minot evolyutsiyasi muqarrar ÿ Dasturiy ta'minot rivojlanishi yoki asta-sekin kamroq foydali bo'lishi kerak ÿ Dasturiy ta'minot rivojlanishi bilan murakkablashadi ÿ Dasturiy ta'minot evolyutsiyasi muntazam naqshlarga amal qiladi ÿ Evolyutsiya uchun yaxshi amaliyot rejalari ÿ Relizlarni boshqarish ÿ Nazorat qilinadigan talablarni o'zgartirish jarayoni ÿ Bilimni qayta tiklash uchun zarur bo'lgan kuzatuv ÿ Boshlovchi manfaatdor tomonlarga qaytish ÿ Dizayn va amalga oshirishga yo‘naltirish ÿ Hali ham ko‘p savollarga kuzatuv imkoniyati javob bermaydi © 2004-5 Stiv Easterbrook. Ushbu taqdimotdan notijorat maqsadlarda foydalanish uchun , Creative commons litsenziyasi ostida atribut bilan bepul foydalanish mumkin . 17