در اغلب رشته های مهندسی، سیستم ها با استفاده از ترکیب مولفه های موجود در که سیستم های دیگر استفاده شده اند طراحی میشوند.
بیشتر تمرکز مهندسی نرم افزار بر توسعه ی اصل و جدید است اما امروزه مشخص شده که برای دست یافتن به یک برنامه ی بهتر با سرعت بیشتر و هزینه ی کمتر، نیازمند طراحی یک روند بر پایه ی اصول "استفاده ی مجدد" هستیم.
بنابر این، معمولا، مولفه ها(اجزا) نسبتا کوچک هستند اما بخش های اصلی از یک سیستم را تشکیل میدهند. اما به طور کل یک سیستم بزرگ را نیز میتوان یک مولفه دانست.
دانستن این مسئله مهم است، که مولفه ها نهادهای به وجود آورنده ی زمان اجرا هستند.
مولفه ها تا زمانی که سیستم در حال اجرا است وجود دارند. در حقیقت سیستم شامل مولفه هاست و خودش نیز یک مولفه محسوب میشود.
مولفه ها فقط نهادهایی مثل کلاس هایی که در شی گرایی وجود دارند را طراحی نمیکنند.
امروزه همانطور که انتظار میرود همه دیوانه وار به مولفه ها علاقه مندند.
چه انتظاری از مولفه میرود وچرا همه به آن علاقه مندند؟
مولفه ها بدون توجه به اینکه آن مولفه در کجا و یا با چه زبان برنامه نویسی به کار میرود کار خود را میکنند و خدماتی میدهند.
رابط مولفه منتشر شدن آن و همه ی کارهایی که از طریق رابط، منتشر شده است میباشد.
مولفه ها را میتوان به ترتیب اندازه از توابع ساده به سیستم نرم افزاری کل مرتب کرد.
منبع : مقاله ی Component Based Development از Debayan Bose
ترجمه و تحلیل : حسین فرج زاده