۳-۳-۲ مقایسه پوشش مفهوم ۵۷
۳-۳-۳ مقایسه زبان مدلسازی. ۵۸
۳-۳-۴ مقایسه عملگرایی. ۵۹
۳-۳-۵ مقایسه ابزار مدلسازی. ۶۰
۳-۳-۶ مقایسه ابزار پیادهسازی. ۶۱
۳-۳-۷ مقایسه عرضه در بازار ۶۲
۳-۳-۸ مقایسه جنبه های حمایتی ۶۳
۳-۴ نتیجه گیری. ۶۴
با گسترش تکنولوژی اطلاعات و تغییر سریع سیستمهای اطلاعاتی و همچنین افزایش استفاده از سیستمهای غیر متمرکز همانند تلفنهای همراه و سیستمهای بر پایه وب ، استفاده از روشی موثر برای توسعه این سیستمها لازم به نظر میرسد. دلایل زیادی برای علاقه به عاملها وجود دارد که مهمترینشان این مفهوم است که انها میتوانند با یکدیگر برای براورده نمودن اهدافشان همکاری نمایند و راه معمولی انتقال سیستم های قدیمی به سیستم های توزیعی امروزی مجهز کردن انها به
عاملهاست، یعنی اینکه در طرف هرکدام عاملهایی گذاشته شود که توانایی ارتباط با یکدیگر را داشته باشند. به دلیل خصوصیات عاملها و تفاوتهای آنها با اشیاء ، روشهای شیءگرایی مورد استفاده جوابگو نیستند. به همین جهت استفاده از روشهای مهندسی مبتنی بر عامل ضروری به نظر میرسد. برای استفاده از مهندسی نرمافزار مبتنی برعامل بایستی متدولوژی را که بیانگر راهنماییهایی در این راستا باشد معرفی نمود.
در این سمینار هدف بررسی روشهای توسعه موثر مبتنی برعامل است، تا در نهایت بتوان متدولوژی مناسب برای حوزه کاربردی مد نظر انتخاب نمود. بر همین اساس چهارچوب سمینار در سه فصل ارائه میگردد. در فصل اول به بررسی مفاهیم برنامهنویسی شیءگرا و عامل میپردازیم. سپس عاملها به طور کامل تشریح میگردند. در فصل دوم مهندسی نرمافزار مبتنی بر عامل و متدولوژیهای موجود معرفی میگردند. در فصل آخر متدولوژیها در یک چهارچوب خاص ارزیابی میگردند.
در ابتدا بایستی به ماهیت و چرایی ارائه مفاهیم جدیدی همچون عامل که در این سمینار مورد توجه است بپردازم. بر این اساس در ادامه مطالب این بخش به تاریخچهای از پیدایش و تکمیل روش های برنامهنویسی جدید و تعاریف آنها، و مقایسه عامل[۱] و شیء به عنوان دو مفهوم مطرح در این زمینه میپردازم. در ادامه مباحث تکمیلی در معرفی عامل و مفاهیم مرتبط با آن ارائه خواهد شد.
زبانهای برنامهنویسی از دهه ۵۰ میلادی با کامپیوترهای اولیه پا به عرصه وجود نهادند و در دهه ۷۰ میلادی با معرفی سیمولا ،الگوهای برنامه نویسی شیءگرا موجبمطلب دیگر :
پیشرفت در مهندسی نرمافزار گردیدند .برنامه نویسی شیءگرا به این گونه است که نرم افزار باید با توجه به مدلهای موضوعهای حقیقی و فرضی که ارائه میکنند نوشته شود. برای یک شیء تعاریف متفاوتی ذکر شده است که بعضی از آنها را در زیر مشاهده مینمایید:
نویسنده | تعریف |
بوش | یک انتزاع از چیزی در حوزه مساله که قابلیتهایی از سیستم را که اطلاعات ان را نگه میدارد نشان میدهد که دارای رفتار ،هویت و حالت است. |
کود و یاردان | شیء یک چیز مشهود وملموس در شکلی پایدار است ، که میتواند به شکلی عقلایی بیان شود، چیزی که فکر میشود یا عملی که هدایت شود نیز میتواند باشد. به شکل یک واحد از یک ساختار و رفتار که شامل خصوصیاتی است میتوتند بیان گردد. |
کولبرت | شیء یک شخص ، مکان یا چیزیست که میتواند ذهنی و یا فیزیکی باشد. ایده اینست که شیء میتواند یک نهاد یا نشان باشد که یک هویت اختصاصی دارد. شیء میتواند از اشیاء دیگر ساخته شده باشد. |
ساختار اصلی تعریفهای بالا شیء است . هر شیء متشکل از یکسری صفات است که به آنها خصلت[۲] گفته میشود که توصیف کننده ساختار شیئ میباشند همچنین دارای یکسری تابع است که به آنها متد گفته میشود که در واقع توصیف کننده رفتار آن شیئ می باشند . در این ساختار دیگر مشکل پیچیدگی گذرها را نداریم . همچنین به راحتی می توانیم اشیاء را استفاده مجدد کنیم و با انتقال یک شیئ به یک سیستم دیگر تمامی ساختار و رفتارهای آن نیز انتقال یابد .با توجه به توضیحات فوق یک شیء میتواند خصوصیات زیر را داشته باشد: