مهندسی نرم افزار راهی برای غلبه بر پیچیدگی طراحی نرم افزار است. متدولوژیهای گوناگونی در این حیطه از علم مهندسی کامپیوتر ارائه شده است که هر کدام معایب و مزایاوکاربردهای خاص خود را دارد.یکی از متدلوژیهای جدید که برای تدوین نرم افزاربرای سیستمهای مهندسی پیچیده و توزیع شده که چندعامله هم می باشندو سیستمهای باز شبکه ای مانند اینترنت ایجاد شده است، مهندسی نرم افزار عامل گرا می باشدکه با توجه به خصوصیات این محیطها ازجمله سرعت متغیر، غیر قابل پیش بینی یا بازبودن که احتمال شکست اعمال درآنجا وجود داردبرا ...