Uploaded by Azis Taxirovich

Lecture 20 Software Evolution (1)

advertisement
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
Download