Integratsiya va konfiguratsiya
Ko'pgina dasturiy ta'minot loyihalarida dasturiy ta'minotdan qayta
foydalanish mavjud. Bu ko'pincha loyihada ishlaydigan insonlar o’zlarini ishlariga
o’xshash kodlarni bilishadi yoki ularni qidirib topishga xarakat qiladi, bu ish rasmiy
ravishda bo’lmaydi. Kod qismlarini qidirishadi, kerak bo'lganda
ularni
o'zgartirishadi hamda o'zlari ishlab chiqqan yangi kod bilan birlashtirishadi.
Ushbu norasmiy qayta foydalanish turli ishlab chiqish jarayonlarida amalga
oshiriladi. 2000 yildan boshlab, mavjud dasturiy ta'minotni
qayta foydalanishga
qaratilgan dasturiy ta'minotni ishlab chiqish jarayonlari keng qo'llanila boshlandi.
Qayta foydalanishga yo'naltirilgan yondashuvlar qayta foydalanish mumkin bo'lgan
dasturiy ta'minot komponentlari bazasiga va ushbu komponentlarning tarkibi
integratsiyalashgan
asosga
tayanadi.
Uch turdagi dasturiy ta'minot komponentlari tez-tez qayta foydalaniladi:
1. Muayyan muhitda foydalanish uchun tuzilgan mustaqil dastur tizimlari.
Ushbu tizimlar ko'plab xususiyatlarga ega bo'lgan umumiy maqsadga ega
bo’lgan
tizimlardir, ammo ular ma'lum bir dasturda foydalanish uchun
moslashtirilishi kerak.
2. Java Spring (Wheeler and White 2013) kabi komponentlar fraymvorki bilan
integratsiya qilinadigan komponent yoki paket sifatida ishlab chiqilgan
ob'ektlar to'plami.
3. Xizmat ko'rsatish standartlariga muvofiq ishlab chiqilgan
va Internet orqali
masofadan turib murojat qilishga mo’ljallangan veb-xizmatlar.
Texnik talablar (Requirements specification). Tizim uchun dastlabki talablar
taklif etiladi. Ular batafsil ishlab chiqilishi shart emas, lekin asosiy talablar va
kerakli tizim xususiyatlarining qisqacha tavsiflarini o’z ichiga olishi kerak.
1. Dasturiy ta’minotni aniqlash va baholash(Software discovery and evaluation).
Dasturiy ta'minotga bo'lgan talablarning konturini hisobga olgan holda, talab
qilinadigan funksionallikni ta'minlaydigan komponentlar va tizimlar uchun
qidiruv amalga oshiriladi. Nomzod komponentlar va tizimlar asosiy talablarga
javob beradimi yoki umuman tizimda foydalanish uchun mos yoki yoʻqligini
aniqlash uchun baholanadi.
2. Talablarni takomillashtirish(Requirements refinement). Ushbu bosqichda
talablar qayta foydalanish mumkin bo'lgan komponentlar va ilovalar haqidagi
ma'lumotlardan
foydalangan
holda
aniqlanadi.
Talablar
mavjud
komponentlarni aks ettirish uchun o'zgartiriladi
va tizim spetsifikatsiyasi
qayta aniqlanadi. O'zgartirishlar mumkin bo'lmagan hollarda, muqobil
echimlarni izlashda komponentlarni tahlil qilish
faoliyati qayta kiritilishi
mumkin.
3. Ilova tizimining konfiguratsiyasi (Application system configuration). Agar
talablarga javob beradigan tayyor dastur tizimi mavjud bo'lsa, u yangi tizimni
yaratishda foydalanish uchun sozlanishi mumkin.
4. Komponentlarning moslashuvchanligi va integratsiyasi (Component
adaptation and integration). Agar tayyor tizim bo'lmasa, alohida qayta
foydalanish mumkin bo'lgan komponentlar o'zgartirilishi va yangi
komponentlar ishlab chiqilishi mumkin. Keyin
ular tizimni yaratish uchun
birlashtiriladi.
Konfiguratsiya va integratsiyaga asoslangan qayta foydalanishga yo'naltirilgan
dasturiy injniring ishlab chiqilishi kerak bo'lgan dasturiy ta'minot qiymatini
kamaytirish, shuningdek xarajatlar va xavflarni kamaytirish afzalligiga ega. Bu,
odatda, dasturiy ta'minotni tezroq yetkazib berishga olib keladi. Biroq,
talablarning murosaga kelishi muqarrar va bu foydalanuvchilarning haqiqiy
ehtiyojlarini qondirmaydigan tizimga olib kelishi mumkin.
Bundan tashqari,
tizim evolyutsiyasi ustidan ba'zi nazorat yo'qoladi, chunki qayta foydalanish
mumkin bo'lgan komponentlarning yangi versiyalari ulardan foydalanadigan
tashkilotning
nazorati
ostida
bo’lmaydi.