Uch turdagi dasturiy ta'minot komponentlari tez-tez qayta foydalaniladi:
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.
Java Spring (Wheeler and White 2013) kabi komponentlar fraymvorki bilan integratsiya qilinadigan komponent yoki paket sifatida ishlab chiqilgan ob'ektlar to'plami.
Xizmat ko'rsatish standartlariga muvofiq ishlab chiqilgan va Internet orqali masofadan turib murojat qilishga mo’ljallangan veb-xizmatlar.
Komponentalardan qayta foydalanishga yo’naltirilgan integratsiya va konfiguratsiyaga asoslangan ishlab chiqishning umumiy jarayon modeli
Ushbu jarayonning bosqichlari:
Texnik talablar. 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.
Dasturiy ta'minotni aniqlash va baholash. 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.
Talablarni takomillashtirish. 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.
Ilova tizimining konfiguratsiyasi. Agar talablarga javob beradigan tayyor dastur tizimi mavjud bo'lsa, u yangi tizimni yaratishda foydalanish uchun sozlanishi mumkin.